Movimientos Precursores de La Independencia en Venezuela
Control pid
1. Practica N. 5:
Control de Velocidad de un Motor de CD mediante un Controlador
PID Digital
C. Lara-Martínez, M. R. Vásquez-Cabrera
Diseño de Sistemas Mecatrónicos I j Departamento de Mecatrónica
Resumen
En este documento se presenta la implementación de un Control PID aplicado a un motor de corriente
directa para asi poder controlar la velocidad de giro.Se utilizará una tarjeta de adquisición de datos Arduino
Mega para generar una señal PWM con la cual se controlara la velocidad del motor atrves de una etapa de
potencia.
1.
Introducción
En la actualidad se requiere que los controles sean mas e…cientes al momento de trabajar, razón por la cuál
los controladores PID Digitales o analógicos son muy utilizados en aplicaciones cientí…cas e incluso industriales, implementados desde los Controladores Lógicos Programables (PLC). El control Proporcional - Integral
-Derivativo (PID) es una combinación de los efectos de un controlador proporcional junto con el efecto de un
control integral y derivativo. Para el control PID digital, se expresa la función de transferencia pulso como:
KI
+ KD (1 Z 1 )]
1 Z 1
En este caso el control PID funcionara como controlador de velocidad para el motor de CD
M (z) = [Kp +
2.
(1)
Objetivo
Obtener la función de transferencia experimentalmente de un motor de corriente directa mediante la forma de
comportamiento de los sistemas sobremortiguados e Implementar un Control Proporcional - Integral - Derivativo
(PID) Digital, mediante el metodo del lugar geometrico de las raices, ademas, hacer una comparación entre
los resultados de simulación en Matlab y los resultados obtenidos experimentalmente utilizando la tarjeta de
adquisición de datos Arduino Mega 2560.
3.
Desarrollo y análisis de resultados
Experimentalmente obtuvimos la siguiente grá…ca para determinar el comportamiento del sistema y a su
vez encontrar una función de transferencia equivalente que describa dicho comportamiento.
1
2. R e sp u e st a e x p e ri m e n t a l d e l M o t o r d e C D o b t e n i d a c o n A rd u i n o
4
X : 16.15
Y : 3.749
3 .5
X : 16.07
3
Y : 3.377
Voltaje [v]
2 .5
2
1 .5
1
0 .5
X : 16
Y : 0.3733
0
X 16
1 5 .9 1 5 :.9 5 1 6
1 6 .0 5 1 6 .1 1 6 .1 5 1 6 .2 1 6 .2 5 1 6 .3 1 6 .3 5 1 6 .4 1 6 .4 5 1 6 .5
Y : 0.0322
T i e m p o [ s]
…g. 1. Respuesta experimental del motor de CD
Puede observarse en la Fig. 1, que se trata de un sistema sobremortiguado, por lo cuál aplicaremos el método
para encontrar la función de transferencia equivalente para este tipo de sistemas. Para lo cuál necesitamos los
siguientes datos obtenidos experimentalmente:
Tiempo de levantamiento del 10 al 90 %
tr = 0;07seg
Tiempo de asentamiento
ts = 0;15seg
Con estos datos podemos utilizar las siguientes fórmulas 2, 3, de…nidas para encontrar la función de transferencia para el caso de sistemas sobreamortiguados.
Tiempo de levantamiento del 10 al 90 %
tr =
2;16 + 0;6
!n
(2)
4
!n
(3)
Criterio del 2 %
ts =
En este caso contamos con un sistema de dos ecuaciones con dos incógnitas, al resolver dicho sistema
encontramos los siguientes valores para y para ! n .
= 0;8012
! n = 33;28rad=s
Con estos valores podemos obtener una función de transferencia del motor de CD, bajo el siguiente formato:
2
3. !2
n
s2 + 2 ! n s + ! 2
n
Gp (s) =
(4)
Sustituyendo valores obtenemos la siguiente función de transferencia:
Gp (s) =
1107
s2 + 53;25s + 1107
(5)
Obtencion de la funcion de tranferencia pulso de la siguiente manera:
G(s) =
1
e
s
Ts
Gp (s)
(6)
Quedando de la siguiente forma:
G(z) = 1
z
1
Z
s (s2
1107
+ 53;25s + 1107)
realizando la expancion por fracciones parciales obtenemos lo siguiente:
"
#
s + 26;62
19;95
1
26;63
1
G(z) = 1 z
Z
s (s + 26;62)2 + 19;952
19;95 (s + 26;62)2 + 19;952
(7)
(8)
Aplicando transformada Z y evaluando el tiempo de muestreo T=0.01seg., se obtiene la funcion de transferencia pulso de la trayectoria directa:
G(z) =
0;0473 (z + 0;8393)
z 2 1;5z + 0;587
(9)
Del polinomio caracteristico obtenemos los siguientes polos:
Z1;2 = 0;75
j0;1565
(10)
Se propone un polo dominante con las siguientes caracteristicas:
ts = 0;2seg
= 0;4seg
Con estos encontramos los valores siguientes:
4
= 50rad=s
(0;2) (0;4)
p
!d = 50 1 0;4 = 45;82rad=s
!n =
!s =
2
= 626;31rad=s
T
por lo tanto la magnitud del polo es:
jZj = exp
2 (0;4) (45;82)
p
0;84 (628;31)
El valor de angulo es:
=2
!d
= 26;25
!s
Por lo tanto el polo dominante es:
3
= 0;8444
4. Z = 0;7573 + j0;3734
Se ubico en el plano Z el polo dominante, los polos y ceros del sistema y se obtuvo la sig de…ciencia de angulo
@ = 13;16 + 180
88;07
89;21
123;02 =
107;14
Para el PID ubicamos un polo en z=1 y un doble cero para compensar la de…ciencia de angulo, por lo cual
ubicaremos los dos cero del controlador en el mismo punto.
tan 53;57 =
0;3734
x
x = 0;2756
Por lo tanto el doble cero del controlador se ubicara en:
Z = 0;4817
Sabemos que la estructura del controlador PID es la siguiente:
Gd (z) = Kp +
KI
1 z
1
KD 1
z
1
=
(Kp + KI + KD ) z 2
z
z2
0;4817) (z 0;4817)
=
z 1
Por lo tanto las ganancias de nuestro controlador PID son:
Gd (z) =
(z
(Kp + 2KI ) z + KD
1
0;9634z + 0;2320
z 1
Kp = 0;5
KI = 0;268
KD = 0;2320
A continuación se muestran los resultados obtenidos en simulacion. Primeramente veremos la respuesta del
sistema con la función de transferencia pulso en lazo abierto.
Respuesta escalón unitario en lazo abierto
1.4
1.2
Voltaje [v]
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
Tiempo [s]
0.6
0.7
0.8
Fig. 2. Respuesta escalón unitario del sistema en lazo abierto
4
0.9
1
5. Tambien se presenta el lugar geométrico de las raíces del sistema el cual se muestra a continuación en la Fig.
3.:
Root Loc us Editor for Open Loop 1(OL1)
2
1.5
1
Imag Axis
0.5
0
-0.5
-1
-1.5
-2
-3
-2.5
-2
-1.5
-1
Real A xis
-0.5
0
0.5
1
Fig. 3. LGR del sistema sin Compensar
Ahora veremos la respuesta del sistema cuando le agregamos el Controlador PID, primeramente observaremos
el LGR del sistema compensado.
5
6. Root Locus Editor for Open Loop 1(OL1)
1
157
188
0.8
126
0.1
220
94.2
0.2
0.3
0.6
251
0.5
0.6
0.7
0.4
283
Imag Axis
31.4
0.8
0.2
0
62.8
0.4
0.9
314
314
-0.2
283
31.4
-0.4
-0.6
251
62.8
220
-0.8
94.2
188
-1
-1
126
157
-0.8
-0.6
-0.4
-0.2
0
Real Axis
0.2
0.4
0.6
0.8
1
Fig. 4. LGR del Sistema Compensado
Como se observa en la Fig. 4., el LGR ahora pasa por el polo dominante propuesto Z=0.7573+j0.3734, por
lo cuál nuestro compensador que en este caso se trata de un PID, está realizando el trabajo correctamente.
Ahora veremos la respuesta del sistema compensado, ante perturbaciones.
6
7. R e sp u e st a e n l a z o c e rra d o d e l si ste m a c o n tro l a d o
4 .5
4
3 .5
Voltaje [v]
3
2 .5
2
1 .5
1
0 .5
0
0
0 .5
1
1 .5
2
2 .5
3
3 .5
4
4 .5
5
T i e m p o [ s]
Fig. 5. Respuesta del sistema ante una perturbación de -1V
Tal y como se observa en la Fig. 5, el controlador está rechazando los efectos de la perturbación, manteniendo
el sistema sobre la referencia. A continuación se presenta la señal del esfuerzo de control.
E sfu e rz o d e C o n tro l
5
4 .5
4
3 .5
Voltaje [v]
3
2 .5
2
1 .5
1
0 .5
0
0
1
2
3
4
5
6
T i e m p o [s]
7
Fig. 6. Esfuerzo de control en simulación
7
8
9
10
8. Ahora bien, se hicieron las conexiones adecuadas para realizar pruebas con el sistema físico, que en este
caso es un motor de CD. Utilizando la tarjeta de adquisición de datos Arduino Mega, se envió una señal PWM
regulada con nuestro controlador PID, el cual hace variar el ancho del pulso de dicha señal dependiendo del
error que haya entre la referencia deseada y la salida del sistema. Posteriormente hay una etapa de potencia la
cual sirve como drive del motor.
A continuación se muestra la grá…ca experimental de la Salida del sistema con respecto a la referencia dada.
Salida del sistema respecto a la referencia dada
4.5
4
Salida
R eferencia
3.5
Voltaje [v]
3
2.5
2
1.5
1
0.5
0
0
5
10
15
20
25
Tiempo [s]
30
35
40
45
50
Fig. 7. Salida del sistema controlado
Como se observa en la Fig. 7 el control PID está realizando correctamente su trabajo ya que en todo tiempo
se sigue la trayectoria de la referencia deseada. Tambien cabe destacar que se perturbó al sistema …sicamente
intentanto frenar el eje del motor, perturbaciones que fueron atenuadas claramente por el controlador, ya que
siempre trató de mantener al sistema sobre la referencia.
Ahora se mostrará la señal del error (Fig. 8) y el esfuerzo de control demandado por nuestro controlador
PID (Fig. 9).
8
9. S e ñ a l d e l e rro r
1
0 .5
Voltaje [v]
0
-0 .5
-1
-1 .5
-2
-2 .5
0
5
10
15
20
25
30
T i e m p o [s]
35
40
45
50
Fig. 8. Señal del error obtenida experimentalmente
E sf u e rz o d e C o n tro l
4
3 .5
3
Voltaje [v]
2 .5
2
1 .5
1
0 .5
0
0
5
10
15
20
25
30
T i e m p o [ s]
Fig. 9. Esfuerzo de control
9
35
40
45
50
10. 4.
Conclusiones generales
Los controladores PID son realmente e…caces al momento de trabajar, pude observar como trabajan de una
muy buena manera atenuando el error y rechazando las posibles perturbaciones que pudieran afectar la dinámica
de nuestro sistema. Con la tarjeta de adquisición de datos Arduino Mega 2560 se pueden hacer in…nidad de
aplicaciones, en este caso utilizamos una salida de PWM para controlar la velocidad de un motor de CD. [1]
Esta práctica me pareció buena ya que pudimos hacer una aplicación real de un controlador PID. En este
caso controlamos la velocidad de un motor de CD, de lo cual se obtuvieron resultados favorables. [2]
Referencias
[1] C. Lara-Martínez. Estudiante Ing. Mecatrónica.
[2] M. R. Vásquez Cabrera. Estudiante Ing. Mecatrónica.
10