RPIC2011 Estudiantil Implementación de un Control de Velocidad a Lazo Cerrado de un Motor de CC con dsPIC30F4011 G.N. GONZÁLEZ1 J.E. BOSSO2 Supervisor: F.M. SERRA3 12 Estudiante de la carrera de Ingeniería Electrónica. 1 guillegonzalez_ie@hotmail.com 2 jonboss_@hotmail.com 123 Laboratorio de Control Automático. Facultad de Ingeniería y Ciencias Económico Sociales, Universidad Nacional de San Luis. Villa Mercedes, San Luis, Argentina. Resumen En este trabajo se presenta la implementación de un control de velocidad a lazo cerrado de un motor de corriente continua usando un dsPIC30F4011 de Microchip. Se modela el motor y se diseña un controlador PI en base a especificaciones establecidas. Además, se implementa el hardware necesario para el funcionamiento del control de velocidad propuesto. Finalmente se exponen resultados de simulación y experimentales. Palabras Claves Motor de CC, Control de velocidad, Electrónica de potencia, dsPIC30F4011. 1. INTRODUCCIÓN Debido a las ventajas de costo y mantenimiento de los motores de inducción, el campo de aplicación de los motores de Corriente Continua (CC) se ha reducido notablemente en los últimos años, sin embargo, en aplicaciones de baja potencia como maquinas herramientas, electrodomésticos y robótica estos han ganado protagonismo ya que los métodos de control de velocidad y posición son más simples y menos costosos que los utilizados para motores de Corriente Alterna (CA). En muchas de estas aplicaciones es necesario controlar la velocidad del motor de manera precisa, para lo cual se debe diseñar una estrategia de control que permita cumplir con este objetivo. La facilidad de modelado del motor de CC permite diseñar controles de velocidad a lazo cerrado utilizando técnicas clásicas basadas en funciones de transferencia [1]. Además, el modelo del motor puede ser simplificado con el objetivo de sintonizar fácilmente las ganancias del controlador en función de la respuesta deseada [2]. La velocidad de un motor de CC puede ser controlada regulando la tensión de armadura, por lo tanto se debe utilizar un convertidor de potencia que permita realizar dicha regulación de una manera eficiente. El convertidor que más se adecúa a los requerimientos de un motor de CC es el convertidor CC-CC puente completo el cual permite regular la velocidad en ambos sentidos de giro [3]. El control del sistema es realizado mediante un controlador digital de señales (Digital Signal Controller, DSC) dsPIC30F4011, el cual adquiere la velocidad del motor en cada instante y genera las señales de conmutación que accionan al convertidor de potencia según la estrategia propuesta [4]. El desempeño del sistema es validado mediante simulaciones que luego son comparadas con ensayos de laboratorio realizados sobre un prototipo construido en el Laboratorio de Control Automático (LCA) de la Facultad de Ingeniería y Ciencias Económico Sociales de la Universidad Nacional de San Luis. El trabajo está organizado de la siguiente manera: la introducción presentada, en la Sección 2 se describe el sistema, se realiza el modelado del motor y el diseño del controlador, en la Sección 3 se describe la implementación del hardware, en la Sección 4 se describe la implementación del software, en las Secciones 5 y 6 se presentan resultados de simulación y experimentales respectivamente y, finalmente, en la Sección 7 se exponen las conclusiones y trabajos futuros. 2. DESCRIPCION DEL SISTEMA En esta sección se describe el sistema completo, luego se modela el motor de CC, y por último, se diseña el controlador. En la Fig. 1 se muestra el diagrama en bloques del sistema. FUENTE de CC CONVERTIDOR CC-CC MOTOR de CC Señales de Conmutación Velocidad del Motor CONTROL Figura 1: Sistema Completo. El convertidor de potencia CC-CC es el encargado de acondicionar la energía proveniente de la fuente de CC con el objetivo de regular la tensión de armadura del motor. La etapa de control se encarga de adquirir la RPIC2011 Estudiantil velocidad del motor en cada instante y generar las señales de conmutación que accionan al convertidor de potencia. El motor a controlar es un motor de CC con imanes permanentes de 30V y 2A de tensión y corriente nominal, el mismo posee un sensor de velocidad (encoder en cuadratura) acoplado en su eje con una resolución de 400 pulsos por revolución. El convertidor de potencia consiste en un convertidor puente completo que permite operar el motor en los cuatro cuadrantes. La alimentación del convertidor es proporcionada por una fuente de CC de 30V. La etapa de control está constituida por un controlador digital y una placa de adaptación de señales. El controlador consiste en un DSC (dsPIC30F4011) de Microchip, el cual pertenece a la familia de controladores orientados al control de motores y convertidores de potencia en general. La placa de adaptación de señales está formada por dos etapas, la primera proporciona aislación galvánica a las señales de salida del controlador, y la segunda se encarga de acondicionar las señales de conmutación de las llaves semiconductoras de potencia. A continuación se realiza el modelado del motor de CC y el diseño del controlador en base a especificaciones concretas. 2.1. Modelado del Motor de CC. El circuito equivalente de armadura de un motor de CC puede representarse por una resistencia en serie con una inductancia y una fuente de tensión inducida [5], este circuito equivalente se muestra en la Fig. 2. Donde kb es la constante de fuerza contraelectromotriz y ω es la velocidad angular en radianes por segundo. El torque electromagnético desarrollado en el eje del motor es proporcional a la corriente de armadura. Te kt ia . (3) Donde Te es el torque electromagnético y kt es la constante de torque. La ecuación dinámica de la velocidad angular está dada por, Te J m d Dm. dt (4) Donde Jm es el momento de inercia de la armadura sumado al de la carga reflejada en la armadura y Dm es el coeficiente de fricción viscosa. Aplicando la transformada de Laplace a las ecuaciones presentadas anteriormente y reemplazando ia y e por las equivalencias expresadas en (2) y (3) se tiene, V (s) kb (s) ( Ra La s) Te ( s) , kt (5) y, usando (4) se obtiene, V (s) kb (s) ( Ra La s)( J m s Dm ) (s). (6) kt Debido a que la inductancia de armadura es pequeña comparada con la resistencia de armadura, esta se puede despreciar, y si además despreciamos el coeficiente de fricción viscosa, la función de transferencia del motor queda representada por, ( s) V ( s) 1/ (kb ) . Ra J m s 1 kb kt (7) A partir de (7), se diseña el control de velocidad a lazo cerrado para el motor de CC. Figura 2: Circuito de armadura. La ecuación dinámica de la corriente de armadura está dada por, v e ia Ra La dia . dt (1) Donde v e ia son la tensión y corriente de armadura respectivamente, Ra y La, la resistencia e inductancia de armadura y e, la tensión inducida de armadura. La tensión inducida en la armadura es proporcional a la velocidad angular del motor, e kb. 2.2. Diseño del Controlador El objetivo de control es mantener la velocidad del motor igual a la referencia establecida por el usuario en cualquier situación de carga, permitiendo además mejorar la respuesta transitoria. El controlador PI es el que mejor se adecua a la aplicación presente. Su función de transferencia está dada por, k V ( s) k p i . E ( s) s (8) Donde kp y ki son las ganancias proporcional e integral respectivamente. El modelo del motor a controlar representado en la ecuación (7) puede escribirse como, k (s) m . V (s) 1 s (2) Donde, (9) RPIC2011 Estudiantil 1 , kb km y Ra J m , kb kt son la constante del motor y constante de tiempo respectivamente. El diagrama en bloques del sistema de control a lazo cerrado se muestra en la Fig. 3. ω_ref(S) + E(S) CONTROLADOR ω(S) V(S) MOTOR de CC PI - Figura 3: Sistema de Control a Lazo Cerrado. Una vez definida la función de transferencia del motor y del controlador, la función de transferencia de lazo cerrado está dada por, GLC k p km k s i kp . (1 k p km ) ki k m 2 s s (10) El resultado es un sistema de segundo orden que permite seleccionar las ganancias en función del comportamiento deseado [2]. La ecuación característica del sistema es la siguiente, s2 (1 k p km ) s ki k m . (11) Donde los coeficientes de la misma se relacionan con la frecuencia natural no amortiguada ωn y el factor de amortiguamiento relativo ζ de la siguiente manera, (1 k p km ) ki km 2n , n 2 . (12) ln(%OS /100) ln (%OS /100) 2 2 (14) La frecuencia natural no amortiguada ωn puede calcularse en función del tiempo de asentamiento Ts y el factor de amortiguamiento relativo ζ como, n 4 , Ts (15) dando como resultado, ζ = 0,779703267. ωn = 51,30156775. En base a las relaciones presentadas en las ecuaciones (12) y (13) y los valores de ζ y ωn calculados anteriormente, las ganancias ki y kp pueden calcularse como, n 2 , k m (2n 1) ki kp km (16) , (17) obteniéndose como resultado, kp = 0,09218969. ki = 6,065737826. 3. IMPLEMENTACION DEL HARDWARE 3.1. Convertidor CC-CC Para poder controlar la velocidad del motor en ambos sentidos de giro se implementó un convertidor CC-CC puente completo [3]. En la Fig. 4 se muestra la topología de este convertidor. cc Q1 Q2 Vo (13) Mediante una serie de ensayos presentados en [5], se obtuvieron las constantes del motor y la constante de tiempo, dando como resultado, km = 10,8472 (Rad/Seg)/Volt. τ = 0.025 Segundos. A partir de las constantes obtenidas y de las relaciones presentadas en las ecuaciones (12) y (13) se diseña el controlador en base a las siguientes especificaciones, %OS = 2%. Ts = 100 ms. Donde %OS es el porcentaje de sobrepaso (overshot percentage) y Ts es el tiempo de asentamiento. El sobrepaso en porcentaje está relacionado con el factor de amortiguamiento relativo ζ según la siguiente expresión. . Q3 Q4 Figura 4: Convertidor Puente Completo. En la construcción del convertidor se utilizaron cuatro transistores MOSFET de potencia IRF540 de canal n con una tensión máxima de operación de 100V y una corriente máxima de 30A [6]. El circuito impreso se realizó en doble capa para optimizar el espacio entre componentes y poder crear un efecto capacitivo en el bus de CC. Se colocaron snubbers capacitivos en paralelo con cada una de las piernas del convertidor para contrarrestar el efecto de las inductancias parasitas propias del montaje. En la Fig. 5 se muestra una fotografía del convertidor implementado. RPIC2011 Estudiantil Figura 5: Convertidor CC-CC Puente Completo. 3.2. Controlador El controlador es el encargado de mantener la velocidad del motor en un valor igual a la referencia establecida por el usuario, permitiendo además, mejorar la respuesta transitoria. En este trabajo se utilizó un dsPIC30F4011 de Microchip para realizar el control diseñado en la Sección 2.2, el mismo permite implementaciones eficientes a un bajo costo y con un mínimo de hardware [4]. El controlador fue montado en un circuito impreso con el objetivo de tener acceso a los pines de entrada y salida del mismo. Además, se agregó una interfaz RS-232, la cual permite cambiar referencias y adquirir curvas de velocidad a través del puerto serie de la PC. En la Fig. 6 se puede ver el diagrama en bloques del circuito implementado, en él pueden observarse las conexiones que proporcionan acceso a las entradas analógicas, a la interfaz para encoder, a las salidas de señales PWM y a la programación del dispositivo a través del modulo ICSP (In-Circuit Serial Programmer). También puede verse la interfaz RS-232 mencionada anteriormente la cual se comunica con el puerto serie a través de un conector DB-9. PWM2L AN7 PWM2H E/S Digitales Encoder AN8 INDX QEA QEB dsPIC30F4011 AN6 Tx Rx PGD PGC Buffer PWM1L PWM1H AISLACIÓN Optoacopladores CONMUTACIÓN Drivers Q3 Driver 2 Q4 PWM2L PWM2H Q1 Driver 1 Q2 Figura 8: Circuito de Adaptación de Señales. El circuito está constituido por dos etapas, la primera proporciona aislación galvánica a las señales PWM del controlador a través de un buffer digital 74LS245 combinado con dos optoacopladores duales HCPL2531[7]. En la segunda etapa se generan las señales de conmutación mediante dos drivers IR2110 para transistores MOSFET, los mismos cuentan tecnología bootstrap que proporciona las masas aisladas necesarias para el funcionamiento del sistema [8]. En la Fig. 9 se muestra una fotografía del circuito impreso terminado. SALIDAS PWM Tx Rx Conector DB-9 PWM1L PWM1H MAX232 AN1 AN2 IC SP AN0 3.3. Adaptación de Señales Para poder conmutar las llaves semiconductoras del convertidor de potencia es necesario adaptar las señales provenientes del controlador, debido a esto se realizó un circuito que permite aislar galvánicamente las señales PWM del dsPIC30F4011 y genera las señales de conmutación a través de dos drivers (IR2110) para transistores MOSFET de potencia. En la Fig. 8 se muestra el diagrama en bloques del circuito de adaptación de señales. Figura 9: Circuito Impreso de Adaptación de Señales. Figura 6: Circuito Controlador. En la Fig. 7 se muestra una fotografía del circuito impreso, el mismo fue realizado en doble capa para optimizar espacio y facilitar el ruteo. Figura 7: Controlador. 4. DISEÑO DEL SOFTWARE Con el objetivo de implementar el control diseñado en la Sección 2.2, se programó el DSC (dsPIC30F4011) en lenguaje C utilizando el compilador MPLAB C30 de Microchip [9]. En la Fig. 10 se muestra el diagrama de flujo del software desarrollado. Como se puede ver en el diagrama, en primer lugar se configuran e inicializan los periféricos. Se configura la interfaz de encoder en cuadratura (Quadrature Encoder Interface, QEI) para lectura con resolución de 2x con filtro digital. Se configura el modulo para el control de motores por PWM (Motor Control PWM Module, MCPM) para una frecuencia de conmutación de 10khz con señales en modo complementario y se fijan tiempos muertos. El temporizador TIMER1 se configura para generar interrupciones en períodos de 1ms. Se RPIC2011 Estudiantil INICIO Detención - 120 a 0 Rad/Seg 140 120 Velocidad(Rad/Seg) configura el módulo de recepción y transmisión asincrónica universal (Universal Asynchronous Receiver Transmitter, UART) para recepción y transmisión a 19200 baudios. Este último se utiliza para la comunicación serial RS-232 con la PC. Se habilitan las interrupciones y se asignan prioridades. 100 80 60 40 20 0 INICIALIZACION TIMER1, QEI, PWM, INTERRUPCIONES, ETC... ADQUISICION DE VELOCIDAD Y CALCULO DEL ERROR e(kT)=r(kT)v(kT) ESTABLECIMIENTO DE GANANCIAS DEL CONTROLADOR PI Y REFERENCIA CALCULO DEL TERMINO PROPORCIONAL E INTEGRAL Y SALIDA DEL CONTROLADOR 0.1 0.15 Tiempo(Seg) 0.2 0.25 En la Fig. 13 se muestra la velocidad del motor para un ensayo de inversión de marcha. La velocidad inicial en el momento de la inversión es de 120Rad/Seg y la velocidad final es de 100Rad/Seg en el sentido de giro contrario. NO MODULACION DEL CICLO DE TRABAJO DE LAS SEÑALES PWM Inversión - 120 a -100 Rad/Seg 150 100 Figura 10: Diagrama de Flujo. Una vez configurados los periféricos se establecen las ganancias kp y ki y la referencia de velocidad. Cada vez que el TIMER1 genera una interrupción el DSC adquiere la velocidad a través del encoder y calcula el error respecto a la referencia. Se calculan los términos proporcional e integral y se efectúa la suma de estos. Finalmente se modula el ancho de pulso de las señales PWM. 5. RESULTADOS DE SIMULACION Con el fin de evaluar el desempeño del control de velocidad, se realizaron simulaciones usando el paquete SIMULINK de MATLAB. Se evaluó la respuesta del motor en el arranque, en la detención y en situaciones de inversión de marcha y cambios de velocidad. En la Fig. 11 se observa la respuesta dinámica del motor durante el arranque. Como se puede ver, el tiempo de asentamiento y el sobrepaso se encuentran dentro de los valores esperados, además, el error en estado estable permanece igual a cero. Velocidad(Rad/Seg) SI 0.05 Figura 12: Detención del Motor. 50 0 -50 -100 -150 -200 0 0.05 0.1 0.15 Tiempo(Seg) 0.2 0.25 Figura 13: Inversión de Marcha. Finalmente, se evalúa la respuesta del motor ante una secuencia de cambios de velocidad. El primer cambio se realiza desde una velocidad inicial de 120Rad/Seg a una velocidad de 230Rad/Seg. Transcurridos 150ms del primer cambio de velocidad se modifica la referencia a 80Rad/Seg. La variación de la velocidad del motor se muestra en la Fig. 14. Cambio de Velocidad - 120 a 230 Rad/Seg - 230 a 80 Rad/Seg 250 Velocidad(Rad/Seg) INTERRUPCION POR TMR1 -20 0 200 150 100 Arranque - 120 Rad/Seg 140 50 0 Velocidad(Rad/Seg) 120 0.05 0.1 0.15 0.2 0.25 0.3 Tiempo(Seg) 0.35 0.4 0.45 Figura 14: Cambios de Velocidad. 100 80 60 40 20 0 0 0.05 0.1 0.15 Tiempo(Seg) 0.2 0.25 Figura 11: Arranque del Motor. En la Fig. 12 se puede ver la velocidad durante la detención del motor. Puede observarse que la velocidad inicial es de 120Rad/Seg y la detención total del motor se efectúa en el tiempo establecido. 6. RESULTADOS EXPERIMENTALES Para validar el comportamiento del motor utilizando el control de velocidad implementado, se realizaron ensayos donde se evaluó la respuesta dinámica de la velocidad en situaciones similares a las evaluadas en simulación. Se realizó un programa en MATLAB con el objetivo de cambiar las referencias y adquirir curvas de velocidad a través del puerto serie de la PC. En la Fig. 15 se puede ver la respuesta del motor en el arranque con una velocidad de referencia de 120Rad/Seg. Puede observarse que el tiempo de asen- RPIC2011 Estudiantil Arranque - 120Rad/Seg 140 Velocidad(Rad/Seg) 120 80 150 100 50 0 0.05 0.1 0.15 Tiempo(Seg) 0.2 0.25 Figura 15: Arranque del Motor. En la Fig. 16 se muestra el comportamiento del sistema cuando se requiere la detención del motor. Se puede observar, que tanto el tiempo de asentamiento como el sobrepaso se encuentran dentro de los límites establecidos. Además, el error en estado estable es igual a cero. Detención - 120 a 0 Rad/Seg 140 120 100 80 60 40 20 0 0.05 0.1 0.15 0.2 0.25 Tiempo(Seg) Figura 16: Detención del Motor. Se evaluó la respuesta dinámica de la velocidad del motor en la inversión de marcha. Como se puede ver en la Fig. 17 la velocidad inicial es de 120Rad/Seg. Transcurridos 100ms desde el inicio del ensayo se cambia la referencia de velocidad a un valor de 100Rad/Seg en el sentido de giro contrario. Como se puede observar, el tiempo de asentamiento se mantiene dentro de los parámetros de diseño. Inversión - 120 a -100 Rad/Seg 150 100 50 0 -50 -100 -150 -200 0 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Figura 18: Cambios de Velocidad. 40 -20 0 0.05 Tiempo(Seg) 60 0 0 Velocidad(Rad/Seg) 200 100 20 Velocidad(Rad/Seg) Cambio de Velocidad - 120 a 230 Rad/seg - 230 a 80 Rad/Seg 250 Velocidad(Rad/Seg) tamiento es de aproximadamente 80ms y el mismo se encuentra dentro del tiempo especificado en el diseño. Se observa también un sobrepaso, el cual se mantiene dentro de los valores esperados. 0.05 0.1 0.15 0.2 0.25 Tiempo(Seg) Figura 17: Inversión de Marcha. Finalmente, se evalúa la respuesta del motor ante una secuencia de cambios de velocidad similar a la utilizada en simulación. En la Fig. 18 se puede ver la variación de la velocidad del motor ante la secuencia mencionada, se observan resultados satisfactorios tanto en tiempos de asentamiento como en sobrepaso. 7. CONCLUSIONES Y TRABAJOS FUTUROS En este trabajo se presentó la implementación de un control de velocidad a lazo cerrado de un motor de CC usando un DSC (dsPIC30F4011). Los ensayos realizados demuestran el correcto desempeño del control implementado en diferentes situaciones, como el arranque, la detención, la inversión de marcha y cambios de velocidad. Tanto el sobrepaso como el tiempo de asentamiento se encuentran dentro de los valores esperados. Debido a que el controlador se diseñó utilizando técnicas clásicas basadas en funciones de transferencia, esta aplicación en particular es de interés didáctico para el estudio de sistemas de control lineales por la facilidad de sintonización de las ganancias en función de la respuesta deseada. Como trabajo futuro, se pretende realizar un control de posición a lazo cerrado utilizando el mismo hardware implementado para la aplicación presente. También se está estudiando la posibilidad de hacer una interfaz gráfica con MATLAB para poder monitorear las variables del sistema y a la vez cambiar referencias de velocidad y posición. REFERENCIAS [1] M.I. Giménez de Guzmán, V.M. Guzmán, M. Torres. A close loop dc motor speed control simulation system using space, (1995). [2] Zhu Haishui, Wang Dahu, Zhang Tong, Huang Keming. Design on a dc motor speed control, International Conference on Intelligent Computation Technology and Automation, (2010). [3] N. Mohan, T. Undeland, W. Robbins. Power Electronics, Converters, Applications, and Design, Wiley, (2002). [4] Data Sheet dsPIC30F4011/4012, Microchip, Inc. 2005. [5] R. Krishnan. Electric Motor Drives: Modeling, Analysis, and Control. Prentice Hall, New Jersey, (2001). [6] Data Sheet IRF540, ST Microelectronics, Inc. 2001. [7] Data Sheet HCPL-2531, Fairchild, Inc. 2004. [8] Data Sheet IR2110, International Rectifier, Inc. 2005. [9] MPLAB C30 USER’S GUIDE, Microchip, Inc. 2005.