Implementación de un Control de Velocidad a Lazo Cerrado de un

Anuncio
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
[email protected]
2
[email protected]
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

 2n ,
 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
(2n  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.
Descargar