You are on page 1of 12

Universidad piloto de Colombia

3er laboratorio control digital


Planta masa-resorte-amortiguador
Discretizacion de un PID
Controlador con software Labview
Fidel David Tejeiro Rojas

Introduccin
Este trabajo se realizara con el fin de
hacer la comunicacin de una planta
en fsico con un sistema de embebido
y que sea mostrado con un
controlador
en
labview.
Por
consiguiente se realizaran clculos
del modelo matemtico , del PID en
discreto y respectivos clculos para la
planta en fsico.
Introduccin al problema
El problema para realizar este
laboratorio para la planta sobre
amortiguado en fsico , ser sacar los
respectivos clculos para la planta,la
comunicacin del sistema embebido
con la planta y el software de labview
mostrando su respectiva grafica del
PID.

Primero que todo se realiza el Modelo


matemtico del
sistema masaresorte-amortiguador.
El modelo matemtico se realiza por
medio del diagrama de cuerpo libre.
Modelo del sistema:
m x +b x +k =f ( t )
Con una condicin inicial en cero
Se obtiene la funcin de transferencia
con la transformada de Laplace
x ( s) =

1
m s + bs+ k
2

1
m
x ( s) =
c
k
s2 + s +
m m

Procedimiento
Para la planta en la funcin de
transferencia inicial se supone una
masa m=0.25 kg, un amortiguador
c=1.25 Ns/m y un resorte k= 1 N/m
Condicin inicial de cero.
f (t)=0

1
m
x ( s) =
c
k
s2 + s +
m m

((

f ( s )=s 3+ s 2

Se factoriza y se obtiene
x ( s) =

kpkd s +kps +kpki


f ( s )=1+

4
s +5 s+ 4

1
m
c
k
s2 + s +
m m

( mc + m1 ( kpkd ))+ s( mk + m1 ( kp) )+ m1 ( kpki )

La ecuacin general de b(s)

Discretizando la planta de x(s), se


obtiene la Grafica 1 aplicando un step

B ( s ) =s 3 + ( 12zitawn ) s 2+ ( 20zit a2 w n2 +w n2 ) s+10zita


Por medio de despejes en la
ecuacin de B(s) y la ecuacin de
f(s), se logra obtener las ecuaciones
de kp, ki, kd, en donde luego van
hacer utilizadas en un programa de
Matlab para que los valores sean
muchos ms exactos.
Las ecuaciones de kp, ki, kd son:

kp=

Grafica 1

Por consiguiente el siguiente paso a


realizar es el controlador del PID con
los tres mtodos mencionados.

ki=

ki=

( ( w n2+ 20zit a 2w n 2) 15 )
1
0.3

( 10zitaw n3 )

( 2zitawn8 )
1
kp
0.3

1
kp
0.3

)
)

Para los clculos del PID se obtiene:


Para poder hallar correctamente el
zita de nuestra ecuacin obtenemos:

log
zita=

( 100
ps )

q 2=kp

( tdt )

(( ( )) ( ( ))))

( pipi ) + log

100
100
log
ps
ps

Euler Adelanto:
Con estas ecuaciones obtenemos los
valores de kp, ki, kd para seguir con
el anlisis.

qo=kp 1+

El siguiente paso es hallar las


constantes para discretizar el PID,
con las ecuaciones de Euler adelanto,
Euler atraso y Tustin

q 1=kp 1+2

Sabemos que
1
ti=
ki

q 2=kp

( )

td
t

)
( tdt + tit ))

( tdt )
Tustin:

td=kd

qo=kp 1+

ts
t=
60
Sabiendo que ts es igual al tiempo de
estabilizacin de la planta sin aplicar
el PID

t td
+
2 ti t

q 1=kp

( 2tti 12 tdt )

q 2=kp

( tdt )

Euler atraso:
t td
qo=kp(1+ + )
ti t

q 1=kp 1+2

( tdt ))

Despus
de
obtener
estas
ecuaciones son transcritas a Matlab
para que la discretizacion se pueda
realizar por medio de bloques en
Simulink.

Discretizando la planta con el


retenedor de orden cero, se aplica el
mtodo de fracciones parciales
Por medio de tablas
transformada z se obtiene:

de

la

Se toma primero que toda la planta


inicial o la funcin de transferencia:
x ( s) =

4
s +5 s+ 4

La funcin queda de la manera


2
+
( ( s+24) (1.333
s+1) s )

x (s)=

Aplicando la transformada Z por


tablas

( z1 )
2z
1.333 z 2 z
=

+
2t
z
ze
zet z1

( (s+A4) + (s B+1) + Cs )

x (s)=

s +2 ( s+ 1 )=A ( s +1 ) s+ B ( s +2 ) s +C ( s2 +5 s +4 )

A s 2+ As+ B s2 +2 Bs+C s 2+ 3Cs+ 2C

2 ( z1 ) 4 ( z1 ) 2 z

+
ze2 t zet z 1

2 ( z 2 ) ( zet ) + (4 z +4 ) ( ze2t ) +( z 2z ( e2 t +et ) + e5 t)

s 2 ( A+ B+C ) + s ( A +5 B+ 4 C ) +2C

z 2 (24+2 ) + z ( 2et 2+4 e2 t + 42 ( e2 t + et ) ) +(2 et


Calculando
B2+ 2 B+5 C=0

Reemplazando t en 0.05

B=26
B=4

z 2 +0.004604 z +0.004236
z 21.77 z +0.7788

2C=4

A=4 /3

A=1.333

Ya obteniendo las ecuaciones del


controlador se coloca en Matlab y
hallamos el tiempo de estabilizacin
de la planta, y con este tiempo se
coloca un tiempo estimado y menor
para que se estabilice en menor
tiempo

Grafica 3

Cdigo discretizacion planta


utilizando mtodo Tustin

clc;
clear all;
close all;
m=0.25;
k=1;
b=1.25;
num=[1/m]
den=[1 b/m k/m]

Grafica 2
En la grfica 2 se puede observar la
planta con su tiempo de estabilizacin
que es 4.2 segundos.
Es decir que con los valores que se
dan inicialmente de la masa del
amortiguador y el resorte se obtiene
una oscilacin en donde llega a su
punto de estabilizacin den 4.6s
El siguiente paso que se realiza es el
controlador con el PID tomando un
tiempo de 3s, es decir que se quiere
que la planta se estabilice en menor
tiempo.
Para eso se coloca en diagrama de
bloques y queda un grafica de este
estilo.

sys=tf(num,den);
sysd=c2d(sys,0.31,'tustin')
step(sys);
hold on
step(sysd);
hold off

Cdigo utilizado discretizacion


PID

m=0.25;
c=1.25;
k=1;
num=[1/m];
den=[1 c/m k/m];
sys=tf(num,den)
step(sys)
ps=0.2;
te=3;
zita=(log(100/ps))/(sqrt((pi*pi)+
((log(100/ps))*(log(100/ps)))))
omega=4.6/te;
w=((-omega*pi)/(log(ps)));
wn=sqrt( (omega^2)+(w^2) );
zita=omega/wn;
kp=((wn^2+20*zita^2*wn^2)-15)/
(1/0.3)
ki=(10*zita*wn^3)/((1/0.3)*kp)
kd=(12*zita*wn-8)/(kp*(1/0.3))

t=te/60;
td=kd
ti=1/ki

% adelanto
q0d=kp*(1+(td/t))
q1d=kp*(-1-(2*(td/t))+(t/ti))
q2d=kp*(td/t)
% atras
q0a=kp*(1+(t/ti)+(td/t))
q1a=kp*(-1-(2*(td/t)))
q2a=kp*(td/t)
%tustin
q0=kp*(1+(t/(2*ti))+(td/t))
q1=kp*((t/(2*ti))-1-((2*td)/t))
q2=kp*(td/tm)

q1 = -136.4989
q2 = 12.4800
Transfer function:
0.004604 z + 0.004236
--------------------z^2 - 1.77 z + 0.7788

pdz=c2d(sys,t,'zoh')
planta=c2d(sys,t,'tustin')

Sampling time: 0.05

solucion de la ecuacion
4
------------s^2 + 5 s + 4

zita = 0.8924
kp = 12.9995
ki = 4.0019
kd =

0.2400

td =0.2400
ti =0.2499
q0d =75.3995
q1d =-135.1983
q2d =62.4000
q0a = 78.0006
q1a = -137.7995
q2a =62.4000
q0 =76.7001

Diagrama de bloques
utilizado en Simulink

total

Diagrama
de
individual(blanco)

bloques

(amarillo)

En este modelo aplicamos la funcin


discreta con los resultados de qo, q1,
q2 obtenido en el cdigo de matlab

En este diagrama vemos solo en


controlador del PID
con sus
respectivas ganancias

(azul)

En los bloques azules se aplica con


los resultados de q0a. q0b, q0c

(rojo)
Despus de sacar la funcin de
transferencia sacamos el controlador
en PID en discreto con la siguiente
ecuacin de:

PIDz=

kd
( z1 )2
z
1
(1z )

kp ( z1 ) +kiz+

El paso siguiente es hallar las


constantes de kp, ki , kd y pepito.
En los rojos se obtienen
resultados de Euler adelanto

los

(amarillo 1)

Pepito es una ecuacin para poder


hallar en la ecuacin con el retenedor
de orden cero.

Alias pepito=

1
1
(1Sz )

Z
( Z S
)

Alias pepito=

El siguiente paso es hacer la


multiplicacin de las tres ecuaciones
para que den como resultado 4
ecuaciones y 4 incgnitas
En los amarillos 1 se utiliza los
resultados de Tustin y tambin se
coloca los resultados de la funcin de
transferencia
discretizada con Z,
obtenida en Matlab
Funcin de transferencia (Matlab):
0.004604 z + 0.004236
--------------------z^2 - 1.77 z + 0.7788

Se multiplican las ecuaciones de la


funcin de transferencia en Z, el PIDz
y la ecuacin de pepito.

PIDzpepito=

kd
( z1 )2
z
1
(1z )

kp ( z1 )+ kiz+

)(

Z
ZS

kp z 2kpz+ ki z 2 +kd z2 2 kdz+ kd


(z 3 + z 2 + z 2 szs)

La multiplicacin de PIDz*pepito*Pz

PIDzpepitoPz=

kp z 2kpz+ ki z 2 +kd z 22 kdz+ kd


( z3 + z 2 + z 2 szs )

Imagen 8
0.004604 z+ 0.004236
z 21.77 z+ 0.7788 )

((

Solucionando podemos hallar las


constantes del PID en discreto que
son kp,ki,kd y pepito.
El siguiente paso a seguir es hacer el
procedimiento y los clculos tericos
de la planta.

Utilizando
amplificadores
de
referencia LM324 y con resistencias
de valores 15k,10mf,6.8k.
Segn Proteus las seales del
circuito realizado como se muestra en
la imagen 9, clara mente se pueden
ver las dos seales, una seal es de
la planta y la otra seal es el escaln
aplicado al circuito.

Haciendo
la
analoga
de
amplificadores operacionales como el
de la planta utilizada de la masa
resorte amortiguador.
Primero que todo se hizo el plano de
los amplificadores en el software de
Proteus, el segundo paso es hacer
los clculos de las resistencias segn
los amplificadores utilizados.
El montaje queda como se ve en la
imagen 8

Imagen 9
Ms sin embargo se puede ver que
en la seal de la imagen 9, que la
planta de color azul y el escaln de
color amarillo es estable.

UART1_Init(9600);
sa[0]=0; sa[1]=0; e[0]=0; e[1]=0;
for(i=2; i<=20; i++)
sa[i]=1;
for(i=2; i<=20; i++)
Imagen 10
En la imagen numero 10 hacemos el
respectivo montaje de la planta donde
ya despus de haberla revisado en
proteus.
El siguiente paso a realizar fue la
embebida del sistema a la planta,
primero se empez a programar con
la tarjeta
Texas para hacer la
conexin , pero por razones de
programacin se decidi ltimamente
utilizar la comunicacin con el
pic16f877a donde se programo con la
ayuda de c++ por medio de bluetooth
para enlazar la comunicacin con
labview .

e[i]=0.00043*e[i-1]+0.03713*e[i2]+1.311*sa[i-1]-0.3985*sa[i-2];
delay_ms(1000);
PWM1_Init(300);
PWM1_Start();
while(1)
{
for(i=0; i<20; i++)
{
ciclo=sa[i]*200;
PWM1_Set_Duty(ciclo);
delay_ms(184);
}

Cdigo para la comunicacin del PIC

float sa[20];
float e[20];
int ciclo;
int i;
void main( void )
{

}
Que se estaba solucionando con la
tarjeta Texas.

Pero a lo ultimo no me conectaba al


puerto .

Seal del generador de seales de la


planta en fisico

Montaje labview en bloques para


sacar lo con motores

Montaje labview en la seal


controlada para sacar lo con motores

Conclusiones:

donde lo con ayuda de una pagina de


internet lo estaba sacando
Montaje planta con la comunicacin
del pic

Los controladores PID


permiten mejorar la respuesta
de un sistema, aunque esta
respuesta no siempre sea
ptima.

You might also like