Descripción: Se desarrolla la metodologia y herramientas utilizadas para realizar un control de velocidad de posicion a ...
CONTROL DE VELOCIDAD Y POSICIÓN PARA UN MOTOR DC
1
CONTROL DE VELOCIDAD Y POSICIÓN PARA UN MOTOR DC L. Arenas, A. Castilla, M. Lancheros y D. Rojas.
Abstract— This paper presents the development and implementation of a speed controller and a DC motor position. They present the type of sensor used, the signal processing performed, obtaining and discretization of the plant, controller design and final assembly of the system with graphical interface. Resumen—Este documento presenta el desarrollo e implementación de un controlador de velocidad y posición para un motor DC. Se presentara el tipo de sensor utilizado, el procesamiento realizado a la señal, la obtención y discretizacion de la planta, el diseño del controlador y el montaje final del sistema con interfaz grafica.
Palabras Claves— Motor DC, Encoder, Interfaz Grafica, Controlador PI. Index Terms— DC Motor, Encoder, Graphic Interface, PI
Controller.
I. INTRODUCCIÓN n la actualidad los sistemas de control son de vital importancia de los procesos industriales modernos y la manufactura, debido a que dan un desempeño óptimo de los sistemas dinámicos mejorando la producción, disminuyendo la repetitividad y las operaciones rutinarias y eliminando las probabilidades de error. Pero para que un sistema de control sea óptimo es necesario dar mucha importancia a la etapa de diseño e implementación del sistema teniendo en cuenta el tipo de controlador y sensor a utilizar. Uno de los elementos comúnmente utilizados en la industria son los motores, lo cuales son ampliamente implementados en muchos procesos industriales en especial en procesos de transporte, carga y tratamiento de materiales como pieza central para el funcionamiento de las maquinas. Por esta razón para el desarrollo de muchos procesos se hace necesario controlar la velocidad, torque y posición de esté, de manera rápida y precisa.
E
Manuscrito creado para la asignatura de Control Moderno, Sensores y Actuadores en manos de los docentes Ing. Carlos Díaz MSc. e Ing. Francisco, MSc., para el día 13 de Junio de 2012. L. Arenas, estudiante de Ingeniería Mecatrónica Universidad Autónoma del Caribe. (email:
[email protected]) A. Castilla, estudiante de Ingeniería Mecatrónica Universidad Autónoma del Caribe. (email:
[email protected]) M. Lancheros, estudiante de Ingeniería Mecatrónica Universidad Autónoma del Caribe. (email:
[email protected]) D. Rojas, estudiante de Ingeniería Mecatrónica Universidad Autónoma del Caribe. (email:
[email protected])
A nivel industrial es muy importante el tratamiento de señales ya que son estas las que nos permiten en ultimas realizar un monitoreo y control de los diferentes procesos que se puedan llevar a cabo dentro de una fabrica. Para ello se utilizan los sensores que son elementos que nos permiten captar cualquier señal que se desee, como por ejemplo, la velocidad o el desplazamiento de un motor los cuales pueden ser censados mediante un encoder. II. CONTROL DE VELOCIDAD Y POSICIÓN A. Fundamentación y Características: Un controlador de velocidad y posición es un sistema de control que se encarga a partir de una señal de referencia (Set point) variar la velocidad o posición de un motor hasta la deseada, teniendo como referencia los valores actuales de estas captadas mediante un sensor. Dicho controlador debe estar diseñado de tal manera que la posición o velocidad deseada sean alcanzadas con exactitud, en el menor tiempo posibles y optimizando el consumo de energía. B.
Partes y Funcionamiento Del Sistema: El sistema estará compuesto por un computador, un microcontrolador ATMEL 328, un driver de motor L293d, un motor DC y un encoder. Inicialmente el usuario podrá escoger mediante la interfaz grafica en el computador si desea controlar posición o velocidad. Independientemente de cuál sea la opción escogida, el computador estará enviando constantemente la señal de consigna deseada por el usuario. Esta señal será enviada al microcontrolador mediante comunicación USB, una vez llegue la señal a esté, se comparara con la señal actual de velocidad o posición del motor DC con lo que se generara la señal de error, luego esa señal de error será proceda por el microcontrolador y se generara la acción de control la cual será llevada a cabo por el PWM de esté, con el objetivo de obtener la velocidad o posición deseados. Esta acción de control llegara al Driver de Motor el cual permitirá aumentar o disminuir la velocidad, mover o detener el motor según sea necesario. La señal de velocidad será captada mediante un encoder el cual enviara un tren de pulsos que variara su frecuencia dependiendo de la velocidad actual del motor, este tren de pulsos será captado por el microcontrolador el cual procesara la señal y la convertirá según sea necesario en velocidad o posición. Dichas variables se darán en rpm y grados respectivamente.
CONTROL DE VELOCIDAD Y POSICIÓN PARA UN MOTOR DC
Figura 1. Diagrama De Bloques del Sistema.
III. SENSOR Para realizar el censado de las diferentes variables de nuestro sistema se utilizara un encoder. A. Encoder Un encoder o codificadores rotatorios son mecanismos electromecánicos que convierten la posición angular de un eje directamente en un código digital, generalmente utilizados para entregar la posición, velocidad y aceleración del rotor de un motor. Y son usualmente utilizados en aplicaciones robóticas, lentess de fotografía, procesos industriales que requieren medición angular y en la industria militar. [1]
2
con un desplazamiento de ¼ de ranura el uno del otro, generando dos señales de pulsos digitales desfasados en 90º. Se decidió utilizar este sensor sen porque nos provee de un tren de pulsos que varía en frecuencia dependiendo de la velocidad del motor lo que nos permite conocer de una manera rápida cual es la velocidad actual de este. El cálculo de la frecuencia se realiza contando la cantidad de pulsos generados por el encoder en un tiempo determinado. Además al ser de cuadratura nos provee dos trenes de pulsos desfasados 90º lo que nos permite conocer de manera precisa el sentido de giro del motor. motor El encoder viene integrado con el motor y presenta las siguientes características: [5] 5]
B. Tipos de encoder Los tipos más comunes de encoder son: a.
Figura 4. Imagen Del Encoder a Utilizar. [6n] [
Encoder Absoluto Son un tipo de configuración de encoder en el que la posición queda determinada mediante med la lectura la lectura del código de salida, el cual es único para cada una de las posiciones dentro de la vuelta. [2]
Cantidad de pulsos por revolución del eje motor: 32 p/v. Equivalencias de rpm: 5514 rpm r enc = 200rpmmot. Desfase entre las dos señales: 90º. 90º Voltaje de alimentación del encoder: 3.5 – 20 V. El encoder consta de 4 cables: El Azul (Vcc del encoder), el Verde (Tierra del encoder), el Amarillo (Señal de salida A) y el Blanco (Señal de Salida B).
Figura 2. Encoder Absoluto.. [3]
b.
IV. PROCESAMIENTO DE LA SSEÑAL
Encoder Incremental Son un tipo de configuración en el que la posición queda determina por la cantidad de pulsos emitidos el interruptor óptico. Los pulsos son generados cada vez que el patrón del disco interrumpe el haz de luz del interruptor. [n]
Para convertir la señal enviada por el encoder en una variable que pueda ser utilizada para generar la acción de control se debe realizar lo siguiente: A. Señales Para Controlador de Velocidad a.
Figura 3. Encoder Incremental. [4]
C. Encoder A Utilizar El encoder que se utilizara es un encoder incremental de cuadratura, el cual utiliza dos sensores ópticos posicionados
Se captura la cantidad de pulsos enviados por el encoder durante un tiempo determinado con lo que se obtiene la frecuencia del encoder. # 1
Donde es la frecuencia del encoder, # el número de pulsos captados y el tiempo utilizado para captar los pulsos en segundos.
CONTROL DE VELOCIDAD Y POSICIÓN PARA UN MOTOR DC b.
c.
d.
Como la frecuencia del encoder hace referencia a la cantidad de pulsos por segundo, ahora calculamos la cantidad de pulsos en un minuto. 60 ∗ (2) 1 Donde es la cantidad de pulsos por minuto. Una vez conocido los pulsos por minuto del encoder calculamos la cantidad de vueltas que da este en un minuto sabiendo que nuestro encoder genera 32 pulsos por vuelta, con lo que obtendríamos las rpm de nuestro encoder. 1 = ∗ (3) 32 Donde son las rpm del encoder. Finalmente para calcular las rmp de nuestro motor se tiene que 5514 rpm del encoder equivales a 200 rpm del motor. =
∗
200 5514
(4)
B. Señales Para Controlador de Posición a.
Partiendo de los datos mostrados en el Señales Para Controlador de Velocidad se determino que el encoder nos provee de 800 pulsos por cada vuelta del eje del motor y teniendo que una vuelta equivale a 360º se obtiene la siguiente relación. ! "#$ = Donde
∗
360° 800
(5)
medidas cada 0.05s y dos veces por cada entrada de PWM, luego se promediaron cada una de las medidas (Ver Tabla Nº1). Al observar los datos se puede inferir que nuestro sistema se comporta como un sistema lineal de primer orden. Para lo cual la función de transferencia de muestro sistema tendría la siguiente forma. !(') =
( )' + 1
Para obtenerla función de transferencia de nuestro sistema a partir de la curva de respuesta se utilizo el ToolBox de Matlab llamado Ident, el cual se encarga de caracterizar el sistema a partir de la señal de entrada y la señal de salida de la planta. [9] Esta caracterización se realizo para cada uno de las rpm obtenidas ante las entradas respectivas de PWM. Al final se promediaron todas la funciones obtenidas con el objetivo de obtener una función equivalente que representara nuestro sistema. Los resultados obtenidos fueron: a.
Función de transferencia equivalente !(') =
b.
0.80706 (1 + 0.1556')
Respuesta del sistema ante una entrada escalón
Para la realizar la caracterización de la planta (Motor DC de 12V) (Ver Figura 2) se realizo mediante la obtención de la curva de respuesta:
Figura 5. Imagen Del Motor DC. [7]
La curva de respuesta de un sistema se realiza introduciendo un escalón a la planta y observando su grafica de salida. Para realizar este procedimiento se introdujeron escalones de PWM al sistema y se realizaron mediciones periódicas de las rpm alcanzadas ante cada una de las entradas. Se tomaron las
(6)
Donde ( es la ganancia y ) es la constante de tiempo del sistema, la cual es una medida de la rapidez con la que un sistema determinado responde en presencia de alguna perturbación [8].
son los pulsos del encoder.
V. CARACTERIZACIÓN DE LA PLANTA
3
Figura 6. Respuesta del sistema ante una entrada escalón.
(7)
CONTROL DE VELOCIDAD Y POSICIÓN PARA UN MOTOR DC
4
Tabla Nº1. Datos de las RPM en el tiempo.
Tiempo (S) 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 1.3
DATOS ESCALONES 120 140 PWM PWM
20 PWM
40 PWM
60 PWM
80 PWM
100 PWM
RPM
RPM
RPM
RPM
RPM
RPM
0 4 6 7 9 9 10 10 11 11 11 11 12 11 12 12 12 11 12 12 12 12 12 12 12 12 12
0 6 13 19 24 28 31 32 34 34 34 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35
0 10 22 31 37 42 45 47 48 49 49 49 49 49 49 49 49 49 49 49 50 49 50 49 49 49 49
0 9 27 39 49 55 58 60 61 62 63 63 63 63 63 63 63 63 63 63 63 63 64 64 64 64 63
0 10 32 48 59 66 70 73 75 76 77 77 78 78 78 79 79 78 78 79 79 78 78 78 78 78 78
0 18 44 61 72 80 85 88 92 92 93 93 94 94 94 94 94 94 94 94 94 94 94 95 95 95 95
c.
Discretizacion del sistema Para discretizar el sistema se utilizo el comando sysd = c2d(sys, Ts, 'method')de matlab el cual discretiza un sistema o función, en base a un tiempo de muestreo y una método. En nuestro caso se utilizo un tiempo de muestreo de 0.05 s y el método Retenedor de Orden Cero. De lo cual se obtuvo la siguiente función: !(-) = d.
0.2218 (- − 0.7252)
(8)
Respuesta del sistema discretizado ante una entrada escalón
Figura 7. Respuesta del sistema discretizado ante una entrada escalón.
160 PWM
180 PWM
200 PWM
230 PWM
250 PWM
RPM
RPM
RPM
RPM
RPM
RPM
0 15 44 67 82 92 98 102 106 107 109 110 110 111 112 112 112 112 112 112 112 112 112 113 112 113 112
0 24 56 81 97 108 115 119 123 125 127 128 129 130 130 130 131 131 131 131 131 131 132 131 132 132 131
0 18 56 86 106 120 128 135 140 143 146 147 148 150 150 151 151 151 151 152 152 152 152 152 153 152 153
0 17 61 95 117 132 143 150 155 159 162 163 165 166 167 168 169 169 170 169 169 170 170 170 170 170 170
0 21 71 109 137 154 165 172 177 181 183 185 187 188 188 189 190 190 190 190 190 190 191 191 191 191 191
0 28 68 125 152 169 180 187 191 195 198 200 200 201 202 203 203 203 203 204 204 204 204 204 204 204 204
VI. ESTRATEGIA DE CONTROL A continuación se expondrá cual va a ser el procedimiento utilizado para poder controlar cada una de las variables de nuestro sistema: A. Velocidad: Para el control de la velocidad se tomara la señal (tren de pulsos) enviada por el encoder y se procesara con el objetivo de convertirla en rpm, esto se hará en el microcontrolador, una vez convertida esa señal se comparara con la señal de consigna para determinar si el sistema está o no a la velocidad deseada, si esta, la acción de control es cero, sino esta diferencia pasara al controlador el cual determinara cuanto hay que modificar el PWM para alcanzar la velocidad deseada. Si el valor actual de la velocidad del motor es menor que el de la consigna, el PWM deberá aumentar en caso contrario disminuirá. La señal de PWM emitida por el microcontrolador llegara al Driver de Motor ya que a través de este es que finalmente se variara la velocidad. B. Posición: Para el control de la posición se tomara la señal (tren de pulsos) enviada por el encoder y se procesara con el objetivo de convertirla en grados, esto se hará en el microcontrolador, una vez convertida esa señal se compara con la señal de consigna para determinar si el sistema está o no en la posición deseada, si esta, la acción de control es cero, sino esta diferencia pasara al controlador el cual determinara cuanto ha de seguir moviéndose el motor para alcanzar la posición deseada, manteniendo activo o no el
CONTROL DE VELOCIDAD Y POSICIÓN PARA UN MOTOR DC PWM. En este caso la velocidad del motor se mantendrá constante. Si el valor actual de la posición es positivo el motor se moverá en sentido horario en caso contrario anti horario, esto se conseguirá emitiendo el PWM por otro pin del microcontrolador. VII. DISEÑO DEL CONTROLADOR A. Elección del controlador: Debido a los diferentes tipos de controlador y a las características que cada uno de ellos puede presentan se ha decidido utilizar un controlador tipo PI debido a que un este controlador nos ayuda a eliminar el error en estado estacionario que se pueda presentar en nuestro sistema haciendo que la señal de salida del proceso sea igual en magnitud a la de referencia, de igual manera nos permite modificar la ganancia de este con el objetivo de poder incrementar o disminuir el MP el cual se ve reflejado en la cantidad de energía que nuestro sistema debe tomar para alcanzar la estabilidad [10].
(2 '
C. Implementación del controlador: Para poder implementar el controlador en el microcontrolador se hizo necesario valerse de una serie de ecuaciones llamadas Ecuaciones en Diferencias las cuales nos permitieron ingresar nuestro controlador a base de sumas, restas y divisiones teniendo en cuenta los errores anteriores y el actual para poder generar la acción de control [12]. Teniendo como referencia que la acción de control viene dada por: 67 = 6789 + :;