Académique Documents
Professionnel Documents
Culture Documents
Introducción
En el presente proyecto se implemento un algoritmo PID digital para controlar la velocidad de un motor, el objetivo
del control es mantener una velocidad igual a la referencia aun en presencia de perturbaciones. El sistema se
implemento utilizando un motor de DC el cual es controlado por una señal PWM aplicada a un Puente H, como
sensor de retroalimentación de velocidad se ocupa un resolver y el control se lleva a cabo en un microcontrolador
PIC18F4550 que además de tener módulos ADC y PWM permite la comunicación USB con la computadora en
donde se visualizan los datos y se manda la referencia de velocidad.
El microcontrolador adquiere una señal de referencia de velocidad y una señal salida de velocidad, la primera se
obtiene de la computadora vía USB, y la segunda del ADC integrado, estas señales pasan por el algoritmo PID en el
microcontrolador para generar una señal de control por medio del PWM
El sistema para medir la velocidad del motor costa de un resolver acoplado, el cual nos dará una señal senoidal
cuya frecuencia depende de la velocidad a la que gire, también costa de un comparador para obtener una señal
cuadrada y libre de ruido y finalmente de un convertidor de frecuencia a voltaje el cual nos dará un voltaje de DC
proporcional a la frecuencia de entrada y por lo tanto también proporcional a la velocidad del motor.
A continuación se muestra con más detalle cada uno de los elementos del sistema descrito anteriormente.
Motor
Salida 9.2W
Voltaje 24V
Corriente 0.65A
Torque mN-m
Peso 300gr
Comparador
La señal senoidal se debe acondicionar para obtener una señal cuadrada mediante un comparador, en este caso se
eligió el comparador LM311 el cual nos entrega a su salida señal lógica de 5V.
Convertidor de Frecuencia a Voltaje
La conversión de frecuencia a voltaje está a cargo del KA331, con valores calculados para obtener 5mV por Hz
mediante la siguiente relación:
0.005
60 1000
0.00512
Donde: RPM son las revoluciones por minuto, es el voltaje de salida del convertidor f-V, el 0.005 es la constante
que relaciona la frecuencia del motor con el voltaje, el 12 es el numero de pulsos/rev, el 60 son los segundos que
tiene un minuto.
La siguiente imagen muestra la señal salida del resolver y con la salida del comparador:
A continuación se muestra la salida de DC del convertidor de frecuencia a voltaje junto con la del comparador. Para
712Hz nos entrega un voltaje de 3.58 que es aproximadamente lo que se esperaba ya que el convertidor entrega
5mV/Hz (712)X(0.005)=3.56
La salida del convertidor de frecuencia a voltaje pasara al ADC donde la velocidad del motor se convertirá en un
dato digital.
Puente H
Para recibir la señal PWM y darle fuerza al motor se utiliza el puente H L293D el cual se muestra a continuación:
Microcontrolador
Se ocupo el PIC18F4550 por que tiene soporte USB además de módulos PWM y ADC lo que lo hace ideal para el
proyecto.
Función de Transferencia del Sistema
La función de transferencia del sistema se obtuvo experimentalmente midiendo la respuesta en el tiempo del
sistema lo cual arrojo los siguientes resultados:
El sistema alcanza un máximo en 4.04V lo que corresponde a 808Hz que a su vez a 67 vueltas/segundo lo que da
4040 rev/min. Y el tiempo de estabilización es de 125ms.
Los datos anteriores se pueden verificar a en las siguientes figuras que muestran los cursores de tensión y tiempo:
El motor tiene una función de transferencia de la forma =
".#"
4.04 y 24 así 0.16833
$"
Ahora 0.64 2.5856 el tiempo que le tomo al sistema en llegar a ese valor fue de aproximadamente
17.5ms por lo tanto 17.5()
Así * 57.14 y *$ * 9.61
#.-.//
Con esto la función de transferencia del motor es: #.#012
La sintonización de los parámetros PID se puede hacer a partir de la función de transferencia, o a partir de la
respuesta al escalón por el método de Ziegler y Nichols.}
5 6
Así tenemos que: 34 1.2 6 78 29 0.01 7: 0.0025
6 $
Para elegir el periodo de muestreo se ocupa el criterio de 1/10 la constante de tiempo del sistema. Así tenemos
que: ; 1.75().
#
Algoritmo PID
(Calculo de Coeficientes )
bi := K*h/Ti;
ad := Td/(Td + N*h);
bd := K*Td*N/(Td + N*h);
(Actualización de Estados)
ui := ui + bi*(e);
yold := y;
Diagrama Esquemático