Control Digital Con Matlab2
Control Digital Con Matlab2
Control Digital Con Matlab2
FIEE-2011B
CONTROL DIGITAL
2 FUNCIN DE TRANSFERENCIA
x*(t) = x(kT) (t-kT) = x(0) (T) + x(T) (t-T) + x(2T) (t-2T) +
k=0
28
X*(s) = x(kT) e kTs
k=0
29
h(t) = x(0)u(t) + [x(T)-x(0)] u(t-T) + [x(2T)-x(T)] u(t-2T) +
h(t) = x(kT) [u(t-kT) u(t-(k+1)T)], aplicando transf_Laplace,
k=0
t - kT
h(kT+t) = x(kT) +------- [ x(k+1)T- x(kT)] , para kT t (k+1)T
T
X( z ) Y(z)
30
Demostracin :
31
(b) CON DOS MUESTREADORES SINCRONIZADOS
EJEMPLO 2-1
32
Por tanto su transformada inversa de Laplace es igual a :
33
Se comprueba que G(z)H(z) GH(z)
E(s) : es el error
34
, por tanto su funcin de transferencia es :
E(s) = R(s) H(s)C(s) , como , C(s) =V*(s) y V(s) = G(s) E*(s), entonces,
C(s) = G*(s)E*(s)
35
, por tanto su funcin de transferencia es :
EJEMPLO 2-2
36
2.2.4 SISTEMA DE CONTROL DIGITAL
e(t) es la seal de error que se muestrea, e(kT) es la seal discreta del error,
m(kT) es la salida del controlador digital que se obtiene al resolver la
ecuacin en diferencias de la funcin de transferencia del controlador, y u(t)
es la seal de control que se debe aplicar a la planta.
F lazo-abierto(z) = Gc(z)G(z),
37
entonces, cuando la realimentacin es igual a 1 :
(1)
m(t) m(kT),
e(t) e(kT),
(2)
38
Reemplazando en (2) :
o sea que :
39
EJEMPLO 2-3
G(z) =( 1-z 1 ) z
40
La funcin de transferencia de la planta discretizada G(z) es :
41
(b) Funcin de transferencia en lazo cerrado :
PROGRAMA EN MATLAB
T = 1;
Gz =c2d(Gps, T,'zoh')
Gz = tf (Gz)
Flazo_abierto = GPID*Gz
Flazo_cerrado =feedback(Flazo_abierto,1)
42
3. SIMULINK
3.1 INTRODUCCIN
Los elementos bsicos son lneas y bloques. Los bloques estn agrupados
en: Sources, Links, Discrete, Continuos, Math, etc., tal como aparecen en la
ventana anterior. Cada bloque tiene entradas y salida para realizar su
interconexin. Por ejemplo, haga clic en Discrete y luego clic en Discrete
Transfer Fcn y arrastre el bloque a la ventana en blanco. Si quiere modificar
la funcin de transferencia del bloque haga doble clic en l y digite los
43
coeficientes del numerador y denominador en la nueva ventana que aparece.
Para la funcin 1/(z2 +2z +4) con tiempo de muestreo de 1 seg, quedara:
44
Por ltimo se debe simular el sistema. Para ello se configura la seal de
entrada, en este caso la funcin paso. Dar doble clic y asignar los siguientes
parmetros: Step time=0, Inicial value=0, Final value=1, Sample time=0.
Para simular el sistema de control se escoge del men Simulation Start o el
icono .y luego se hace doble clic en Scope para ver su respuesta o salida
del sistema. Para observar adems la entrada se puede colocar otro Scope a
la salida de Step y se puede probar para varios pasos variando su amplitud,
tiempo de inicio y tiempo de iniciacin del paso. Para observar mejor la
45
3.4.1 ECUACIONES DINMICAS
46
3.5 EXTRAER MODELO LINEAL
Como segundo paso se debe obtener el modelo lineal de Matlab del motor.
Para esto, borre el bloque Scope y cmbielo por Out obtenido de la librera
de Signals&Systems. Haga lo mismo para Step cambindolo por In de esta
misma librera. Los bloques In y Out definen la entrada y salida del sistema
que le gustara extraer. Salve este modelo. El sistema quedar as:
47
Como tercero y ltimo paso, despus de desarrollado el modelo y salvarlo
por ejemplo con el nombre MotorDcVel.mdl se ejecutan los siguientes
comandos:
48
3.6.1 IMPLEMENTAR SISTEMA EN LAZO ABIERTO
% CONTROL DE UN MOTOR DC
[num, den]=linmod('ControlMotor')
Glazo_abierto = tf(num, den)
Respuesta:
% CONTROL DE UN MOTOR DC
[num, den]=linmod('ControlMotor')
Glazo_cerrado= tf(num, den)
Respuesta:
49
3.7 SISTEMA DISCRETO
Respuesta:
50