Vous êtes sur la page 1sur 6

Congreso Anual 2010 de la Asociacin de Mxico de Control Automtico. Puerto Vallarta, Jalisco, Mxico.

Diseo e Implementacin de Controladores Digitales Basados en


Procesadores Digitales De Seales
Barrera Cardiel Edmundo, Soria Luz Rosala
Universidad Michoacana de San Nicols de Hidalgo
Facultad de Ingeniera Elctrica
Morelia, Michoacn, Mxico.
rose_bass@yahoo.com, ebcardiel@gmail.com
Telfono: (443)3279728

ResumenActualmente, los procesadores digitales de seales


(DSPs), adems de su capacidad para procesar seales a alta
velocidad,
incluyen
algunas
caractersticas
de los
microcontroladores de propsito general, de tal manera que se
puede lograr un alto desempeo al aplicarlos en sistemas de
control. Este artculo presenta una metodologa para el diseo e
implementacin de controladores digitales en base a DSPs. Se
estudian los problemas de implementacin de los controladores
digitales que se presentan debido a la cuantizacin de las
seales y al efecto windup. Se ilustra la metodologa mediante
un caso particular: el diseo de un controlador de velocidad de
un motor de CD, utilizando el mtodo de colocacin de polos
mediante retroalimentacin de variables de estado, el cual es
implementado en base al DSP TMS320F2812 de Texas
Instruments.
Palabras clave: Controlador Digital, DSP, Antiwind up.

I. INTRODUCCIN
Los avances tecnolgicos han conducido a la creacin de
circuitos integrados que pueden reducir el tamao y
aumentar la eficiencia de los sistemas de control
especializados. Las aplicaciones de sistemas de control
basados en procesadores digitales de seales (DSPs) en
diseos de electrnica de potencia son un ejemplo excelente.
La principal ventaja con este tipo de dispositivo es que
puede reemplazarse hardware por software sin incrementar
el costo, adems de permitir la programacin en lenguajes de
alto nivel. Otras caractersticas importantes son: unidades de
bajo costo, reduccin en el tamao del equipo, incremento
en la flexibilidad de las aplicaciones, reduccin en el
consumo de energa y gran velocidad de procesamiento.
En este artculo se presenta la metodologa para el diseo
e implementacin de controladores digitales mediante DSPs.
Los principales problemas que surgen en la implementacin
y que sern abordados en este artculo son:
Problemas debidos a la cuantizacin de variables.
Problemas debidos a la cuantizacin de la seal de
salida en controladores basados en modulacin por
ancho de pulso (PWM).
Problemas debidos a la saturacin de los actuadores y
el uso de accin integral, produciendo efecto windup.

Las soluciones a estos problemas se ejemplifican con el


diseo e implementacin del controlador de velocidad para
un motor de CD de imanes permanentes. Aunque la
dinmica del motor no requiere una alta velocidad de
procesamiento, la identificacin de parmetros del sistema
requiere una alta velocidad en el muestreo de seales.
II. METODOLOGA
En esta seccin se abordan los diferentes aspectos a
considerar en el proceso de diseo de un sistema de control.
En la Figura 1 se presenta un diagrama de flujo de las
diferentes etapas involucradas en el proceso de diseo de los
sistemas de control de lazo cerrado. En la mayora de los
casos se requiere que un sistema de control responda de una
manera controlada a entradas aplicadas y a condiciones
iniciales. Una vez planteado el diseo conceptual y el
modelo matemtico de la planta a controlar, es necesario
utilizar herramientas que nos permitan identificar los
parmetros de la misma. Enseguida se procede al diseo de
los controladores y finalmente a su implementacin.
Especificacin
del comportamiento
deseado
Diseo Matemtico
del Controlador

Diseo
Conceptual

Simulacin y
Anlisis

Modelado
Matemtico
NO

Identificacin
de Parmetros

Cumple con las


especificaciones?

SI

Diseo de
Hardware y
Software

Pruebas en Lazo
abierto

Implementacin
NO

Representa bien
al sistema?

SI

Pruebas en el
Sistema Real

NO

Cumple con las


especificaciones?

SI

FIN

Figura 1. Metodologa de diseo e implementacin de


controladores

Congreso Anual 2010 de la Asociacin de Mxico de Control Automtico. Puerto Vallarta, Jalisco, Mxico.

III. MTODO

DE COLOCACIN DE POLOS.

En esta seccin se presenta el mtodo de diseo llamado


colocacin de polos mediante retroalimentacin de estados.
La colocacin de polos se refiere al hecho de que el diseo
se realiza con el fin de obtener sistemas de lazo cerrado con
polos especficos. Se asume que el proceso a controlar puede
ser descrito por el modelo dado en (1).

En donde L se calcula mediante (5) y Lc se incluye para


hacer que y=uc en estado estable y se calcula aplicando el
teorema del valor final al sistema de lazo cerrado, para una
entrada tipo escaln, resultando la siguiente expresin:
1

C I L Lc 1

(7)

dx

Ax(t ) Bu (t )
dt
y Cx (t )

(1)

En donde x(t) Rn es el vector de estado ndimensional,


u(t) Rp es el vector de las variables de control p
dimensional, y y(t) Rq es el vector de salida q
dimensional, A, B, C son matrices con elementos constantes.
En el sistema de control digital, las seales de control se
consideran constantes entre instantes sucesivos de muestreo.
Muestreando el sistema continuo (1) mediante un circuito
retenedor de orden cero, y un periodo de muestreo T, se
obtiene el sistema discreto dado en (2).

x (k 1) x ( k ) u ( k )
y ( k ) Cx ( k )

(2)

As

e ds B

(3)

Si el sistema tiene solamente una seal de entrada, u(k) es


un escalar. Si el sistema de orden n es alcanzable, entonces
existe un vector de retroalimentacin lineal de las variables
de estado que proporciona un sistema de lazo cerrado con el
polinomio caracterstico P(z) deseado. La seal de
retroalimentacin est dada por (4).

u (k ) Lx (k )

(4)

en donde

L 0

0 ... 1Wc1 P

(5)

y Wc [ ] es la matriz de Controlabilidad.
n 1

La ec. (5) es conocida como la Frmula de Ackermann


(Astrom y Wittenmark, 1997).
La Figura 2 representa el diagrama a bloques para el
problema de regulacin en un sistema de control. El
diagrama a bloques para un servosistema se muestra en la
Figura 3, en donde uc es la seal comando. La accin de
control para un sistema tipo servo tiene la forma dada en (6).

u (k ) Lx(k ) Lc uc (k )

Figura 3. Diagrama a bloques de un controlador servo.


A. Accin Integral
Es comn que se tenga una perturbacin desconocida
constante a la entrada del proceso. La solucin a este
problema es agregar una accin integral al controlador.

En donde las matrices y estn dadas por:


AT

Figura 2. Diagrama a bloques de un regulador.

(6)

Esto se puede hacer definiendo una nueva variable de


estado como sigue:

Int k 1 Int k u c k y k

(8)

As, el sistema aumentado tiene la forma:

xa k 1 a xa k a u k c uc k

(9)

donde

0

0
a
,

a
c

0
1
C 1

(10)

Para esta estructura, el problema de la colocacin de polos


se resuelve aplicando (5) con a y a.
B. Eleccin de polos de lazo cerrado
Si se considera un sistema con polos dominantes de
segundo orden, los polos discretos dominantes de lazo
cerrado se pueden obtener al muestrear un sistema continuo
de segundo orden con el polinomio caracterstico

s 2 2n s n 2 cuyos polos estn dados por (Ogata,


1997):

p1 n jn 1 2
p2 n jn 1 2

(11)

Congreso Anual 2010 de la Asociacin de Mxico de Control Automtico. Puerto Vallarta, Jalisco, Mxico.

Donde es el factor de amortiguamiento y n es la


frecuencia natural, los cuales se determinan de las
especificaciones en el dominio del tiempo.
La discretizacin de cada polo continuo se lleva a cabo
mediante la siguiente expresin (Astrom y Wittenmark,
1997):

Pnd e PncT

(12)

Donde Pnd es el n-simo polo discreto, Pnc es el n-simo


polo continuo y T es el periodo de muestreo.
En (Astrom y Wittenmark, 1997) se sugiere que el perodo
de muestreo se seleccione de acuerdo a la expresin dada en
(13), la cual cumple ampliamente con el teorema de
muestreo de Shannon.
nT 0.1 0.6
(13)

IV. IMPLEMENTACIN DE CONTROLADORES DIGITALES.


En esta seccin se discute el problema de implementacin
de un sistema de control discreto mediante DSPs con
aritmtica de punto fijo. Una vez que se tiene un algoritmo
de control para el sistema discreto, otros factores deben
tomarse en cuenta; entre ellos se encuentra la precisin
numrica requerida, y las interfases con sensores y
actuadores.
El formato IQ es una tcnica para posicionar el punto
radix en los operandos y resultados de operaciones
aritmticas. El formato es equivalente a un punto flotante
virtual (Texas Inst., 2005). La estructura para una longitud
de palabra de 32 bits se muestra en la Figura 4.

Errores aritmticos en la implementacin del


algoritmo (truncamiento).
Cuantizacin poco precisa de los coeficientes de los
filtros utilizados.
Para superar estas limitaciones se proponen las siguientes
recomendaciones:
La simulacin del sistema para conocer los rangos de
operacin de las variables del sistema.
Escalamiento de las variables a utilizar.
Eleccin cuidadosa del valor o valores de Q.
Monitoreo constante de las banderas de sobreflujo.
V. REQUERIMIENTOS GENERALES DE UN CONTROLADOR
DIGITAL CON ACTUADOR BASADO EN PWM.
La organizacin tpica para un controlador digital PWM,
que incluye medicin de corriente se ilustra en la Figura 5
(Buso y Mattavelli, 2006). El convertidor de potencia se
representa de una manera compacta mediante interruptores
ideales. Se asume que el control se llevar a cabo mediante
un DSP. Estos dispositivos cuentan con los perifricos
necesarios para la entrada y salida de datos, unidades A/D y
unidades para la generacin de seales PWM, tal como se
muestra en la Figura 5.
El primer aspecto a cuidar en la adquisicin de datos, es
la etapa de acondicionamiento de seal. sta debe garantizar
lo siguiente:
Que la seal del sensor se acondicione con el fin de
explotar por completo el rango de voltaje de entrada del
convertidor de analgico a digital (ADC).
Que la seal se filtre correctamente para evitar efectos
de aliasing.
Los errores de cuantizacin debidos a la conversin
analgico-digital se consideran como un ruido aditivo en la
entrada del sistema de control. Existen otros errores que son
de vital importancia, debidos a la cuantizacin aritmtica
que resulta del truncamiento y redondeo de variables.

Figura 4. Representacin numrica en formato IQ.


Los valores mximo y mnimo, as como la resolucin de
los nmeros que pueden representarse con un valor
especfico de Q se obtienen de la siguiente manera:
Valor Mnimo: -2(32-Q)
Valor Mximo: 2(32-Q)- 2-Q
Resolucin:
2-Q
Las principales limitaciones de la aritmtica de punto fijo
son:
Saturacin y sobreflujo en los registros.
Error debido a una precisin finita en la
representacin
de
cantidades
numricas
(truncamiento y redondeo).

Figura 5. Diagrama general de un controlador digital con


medicin de corriente.
En este caso, la resolucin de la seal de salida (accin
de control) queda limitada por el nmero finito de bits del

Congreso Anual 2010 de la Asociacin de Mxico de Control Automtico. Puerto Vallarta, Jalisco, Mxico.

registro en el que se define el ciclo de trabajo de la seal


PWM, por lo tanto, el error generado es inevitable. El efecto
ms severo de este error, es la presencia de un tipo peculiar
de inestabilidad llamada oscilacin de ciclo lmite LCO.
Para ilustrar este efecto se presenta la Figura 6.
En esta figura se ilustra cuando el punto deseado para el
valor de la variable de control de salida u, no es uno de los
valores posibles de representar.

El algoritmo consiste en el clculo del lmite para la accin


integral:

LI k mMAX K P I k

(16)

En donde mMAX representa la mxima accin de control.


En otro tipo de controlador, la magnitud KPI(k) puede
sustituirse por la del resto de las acciones de control que no
son la integral. El valor mximo de la integral es este lmite.

u
punto deseado

Figura 6. Ocurrencia de oscilacin de ciclo lmite.


En consecuencia el sistema oscila con periodo TLCO, entre
las dos salidas posibles. En este caso se asume que el
sistema cuenta con algn tipo de accin integral. El
resultado de lo anterior es que se estar aplicando una accin
de control mayor o menor de la necesaria, produciendo
oscilaciones por encima y por debajo del valor de estado
estable. Aunque no siempre es posible, existen dos
condiciones que pueden ayudar a eliminar estas oscilaciones
(Buso y Mattavelli, 2006):
1. Asegurarse de que la variacin de un nivel del
DPWM, es decir, 1 LSB de la representacin digital
del ciclo de trabajo, denotada como qDPWM, no
produzca una variacin significativa en la variable
controlada de salida x(t). Es decir:
(14)
qDPWM Gdc q ADC
En donde Gdc en la ganancia de CD de la planta.
2. En presencia de una accin integral en el controlador,
cuidar que se cumpla la condicin:
(15)
K I Gdc 1
En donde KI es el coeficiente correspondiente a la
accin integral.
VI. CONTROLADORES CON ACCIN INTEGRAL Y ANTIWINDUP
Otro problema de implementacin de controladores
digitales es el efecto conocido como windup. Si el error en la
salida permanece por un tiempo considerable, causar
saturacin en los actuadores. El valor del controlador
correspondiente a la parte integral ir acumulando la integral
del error durante todo este tiempo. Cuando se reduce el
error, la parte integral puede tener un valor indeseable y
generar un transitorio en la variable del controlador, el cual
tpicamente tiene la forma de un sobreimpulso.
La solucin a este problema se basa en la limitacin
dinmica de la accin integral durante los transitorios; stos
pueden detectarse monitoreando la parte proporcional del
controlador. Un ejemplo de accin antiwindup se muestra en
la Figura 7.

Figura 7. Ejemplo de antiwindup.


VII. DISEO E IMPLEMENTACIN DEL CONTROL DE
VELOCIDAD DEL MOTOR DE CD.
Aplicando la metodologa descrita, se disea e
implementa un controlador digital de velocidad para el
motor de CD PITTMAN GM9234S033 usando el DSP
TMS320F2812 de Texas Instruments.
Para ejemplificar el diseo, se plantearon como objetivo
los siguientes parmetros en el dominio del tiempo:
Tiempo de establecimiento ts 25ms
Error de estado estable ess 0.01
Mximo sobreimpulso Mp 0.025
A. Identificacin de Parmetros de la Planta
En el caso del sistema de control propuesto en este
trabajo, la planta que se identifica consiste no solamente del
motor a controlar. Se realiz la identificacin en forma
global del sistema mostrado en la Figura 8, el cual incluye:
el motor de CD, el convertidor de CD-CD, la carga inercial,
los transductores, los circuitos de acondicionamiento, y la
Unidad PWM. En esta figura, la seal u representa la accin
de control digital calculada en el DSP.

Figura 8. Diagrama a bloques del sistema identificado.


Mediante un algoritmo de adquisicin de datos programado
mediante la plataforma Code Composer Studio v3.1 de
Texas Instruments, se obtuvo un conjunto de datos para la
identificacin de parmetros. El experimento se realiz con
las siguientes caractersticas:
Tiempo de estudio: 128ms.
Periodo de muestreo: 62.5s.

Congreso Anual 2010 de la Asociacin de Mxico de Control Automtico. Puerto Vallarta, Jalisco, Mxico.

Nmero de datos por variable: 2048


Seal de entrada: palabra de control constante (seal
escaln) equivalente al 90% del ciclo de trabajo de la
seal PWM.
Utilizando el modelo de variables de estado para describir
al sistema, se identifican sus parmetros aplicando un
mtodo basado en Series Ortogonales, utilizando como
kernel la serie de Bloques de Pulsos con 2048 elementos
(Hanamoto, 1992). Las matrices obtenidas para el sistema
son:
A

278.3310
50469.0046

Con C 0

0.0973
47.9813

, B

0.3302
132.8640

(17)

el sistema aumentado definido por (9) y (10), con los valores


dados en (20):
L a = l1 l 2 l3 121.8147 0.8127 -0.0609 (22)
El valor de Lc se obtiene aplicando el teorema del valor
final a la funcin de transferencia del sistema de lazo
cerrado no aumentado; es decir, sin la accin integral, y
considerando una entrada escaln. As, se obtiene:
1

C I L Lc 1

(23)

Esta consideracin se aplica considerando que el sistema


contiene una accin integral que ser limitada mediante
antiwindup. La tercera componente del vector La se elimina
para obtener Lc en (23).
Resolviendo (23) se obtiene:

B. Diseo del Controlador


Los polos del sistema de lazo cerrado se obtienen de las
especificaciones de comportamiento en el dominio del
tiempo obtenindose (Ogata, 1997):

0.99 y n 121.21
p1c n jn 1 2 120 j17.0991

Lc 1.1598

(24)

Se puede observar que la condicin (15), para ayudar a


eliminar oscilaciones, se cumple, ya que

K I l3 0.0609
(18)

Gdc GP ( s) s 0 C ( sI A) 1 B s 0 2.938

(25)

p2 c n jn 1 120 j17.0991
Con lo cual:
Incluyendo una accin integral, se obtiene una nueva
variable de estado, por lo tanto se define un tercer polo
dentro del sistema. El tercer polo se coloc en el eje real,
duplicando la magnitud de la parte real de los polos
complejos conjugados, para que stos ltimos sean los
dominantes. Por lo tanto se propone:
p3 c 240
(19)
Para discretizar los polos continuos se elige ahora el
periodo de muestreo considerando la regla dada en (13) . Se
eligi un periodo de muestreo de T=1ms.
Utilizando este periodo de muestreo, se discretizan el
modelo de la planta, obtenido en la identificacin, y los
polos de lazo cerrado deseados, obtenindose:

l3Gdc (0.0609)(2.938) 0.178 1

Antes de su implementacin, la respuesta del controlador


se simul mediante Matlab para conocer los rangos de las
variables involucradas y programar los valores a utilizar para
Q, del formato IQ, en cada seccin del algoritmo de
medicin y control.
VIII. IMPLEMENTACIN DEL CONTROLADOR.
El controlador diseado se implement en base al DSP
TMS320F2812 de Texas Instruments. La Figura 9 muestra el
diagrama de bloques del sistema de control implementado.

Fuente de
CD

0.7550

0.0001

42.9311

0.9510

0.0003
;
0.1371

Puente H

Motor CD

Transductor
de Corriente

Filtrado y
Acondic.

Encoder

Filtrado y
Acondic.

Filtro D

Unidad
de Captura

Filtro D

Convertidor
A/D

Circuito
de
Acondic.

(20)

DSP

p1d = 0.8868 + 0.0152j, p 2d = 0.8868 - 0.0152j,

Unidad
PWM

p3 d 0.7866

Algoritmo de
Control

La ley de control para este sistema est dada por (6);


pero considerando el sistema aumentado, esto es:

u (k ) La xa (k ) Lc uc (k )

(26)

Referencia

(21)

PC

Figura 9. Diagrama de bloques del sistema de control.


El vector de retroalimentacin de variables de estado, La,
se obtiene utilizando la frmula de Ackermann, ec. (5), para

El

algoritmo

de

control

se

programa

mediante

Congreso Anual 2010 de la Asociacin de Mxico de Control Automtico. Puerto Vallarta, Jalisco, Mxico.

interrupciones tanto para la medicin de velocidad como


para la corriente de armadura. El periodo de muestreo del
controlador corresponde con el del convertidor analgico
digital. Para lograr una frecuencia de muestreo alta, lo cual
es necesario en el proceso de identificacin, la medicin de
velocidad se realiza detectando cada flanco positivo y
negativo de un canal del encoder del motor. El algoritmo de
medicin consiste en medir el tiempo transcurrido entre
pulsos del encoder y no el nmero de pulsos transcurridos en
una unidad de tiempo.
La medicin de corriente de armadura se realiza mediante
el transductor de efecto Hall IHA-25. El actuador es el
circuito puente LMD18200 operando en modo antifase. El
ciclo de trabajo del PWM vara slo en unidades enteras
establecidas mediante el registro T1CMPR del DSP.
Se puede observar tambin que la condicin (14), para
ayudar a eliminar oscilaciones, se cumple, ya que, con el
algoritmo de medicin de velocidad implementado, la
resolucin de velocidad en la flecha del motor es de 8.58
rev/min y tomando en cuenta que el registro PWM del DSP
vara solamente en unidades enteras, se tiene:
qenc 8.58 rev / min
qDPWM 1,

Gdc 2.938

La figura 11 muestra la respuesta del controlador con el


algoritmo de antiwindup incluido en el controlador, para la
misma referencia. Se puede observar claramente la mejora
en la respuesta del sistema de control al incluir este
algoritmo, as como el cumplimiento de las especificaciones
en el dominio del tiempo planteadas.
rpm

ms

Figura 11. Respuesta del controlador con antiwindup.


Referencia=12rev/min.

qDPWM Gdc qenc

El algoritmo de medicin de velocidad implica valores de


2x65535, el resto de las variables de todo el sistema se
encuentran en un rango de 0.0128 a 5000. Se eligi un valor
Q=16 para las operaciones globales y un Q=14 para las
operaciones de medicin de velocidad. El algoritmo de
control se programa incluyendo adems el antiwindup
descrito en la seccin VI.
IX. RESULTADOS
La Figura 10 muestra la respuesta del controlador sin
antiwindup, para una referencia de 12 rev/min a la salida del
reductor de velocidad, lo cual equivale a 2620 rev/min en la
flecha del motor.
rpm

X. CONCLUSIONES
Este artculo present la metodologa detallada para llevar a
cabo el proceso de diseo e implementacin de
controladores digitales en base a procesadores digitales de
seales (DSPs). Se analizaron los problemas de
implementacin que se presentan debido a la cuantizacin de
las seales y al efecto windup. Se puede ver que los DSPs
son una herramienta poderosa en el diseo e implementacin
de controladores digitales. El punto fijo variable y el tamao
de palabra de 32 bits hacen posible la reduccin de errores
por cuantizacin de las variables. El mtodo de medicin de
velocidad utilizado permite una resolucin muy fina, por lo
tanto se obtienen datos ms precisos que permiten una buena
estimacin de los parmetros del sistema. Los resultados
presentados del controlador diseado muestran la eficiencia
de las consideraciones planteadas en la metodologa.

REFERENCIAS
Astrom Karl J. y Wittenmark Bjorn (1997). Computer-Controlled Systems,
Theory and Design. Prentice Hall.
Buso S. y Mattavelli P (2006). Digital Control in Power Electronics,
Lectures in Power Electronics #2. Morgan & Claypool Publishers.
Hanamoto T., Tanaka Y., Karube I., Mochizuki T. y Xu Z (1992). A
Parameter Estimation Method Using Block Pulse Functions for DC
Servo Motor Systems. Proceedings of the IEEE, 3, 9, 1288-1293.
Ogata Katsuhiko (1997). Modern Control Engineering. Prentice Hall.
ms

Figura 10. Respuesta del controlador sin antiwindup.


Referencia=12rev/min.

Texas Instruments (2005). C28x DSP Design Workshop. Student Guide.

Vous aimerez peut-être aussi