Professional Documents
Culture Documents
INTRODUCCIÓN
En los últimos años los sistemas de control automático analógicos se han venido reemplazando
por sistemas de control Digital. Esto gracias a los avances de la computación y de las nuevas
tecnologías que están a nuestro alcance como son los microcontroladores, FPGAs, DSPs, etc.
Además los sistemas digitales dan una mayor flexibilidad pues permiten cambiar la estrategia
de control con solo cambiar algunas instrucciones en el programa de control, controlar varios
procesos en forma simultánea, etc.
Este tutorial pretende ser una guía para la implementación de un controlador digital en
dispositivos electrónicos, como los microcontroladores o las FPGAs. La teoría de control digital
no es el objeto principal de este documento por lo tanto los conceptos apenas son presentados.
v(t)
Los métodos de identificación no paramétricos se caracterizan porque los modelos son curvas
o funciones. Entre estos métodos están: análisis transitorio, análisis de frecuencia, análisis de
correlación y análisis espectral. Aquí solo discutiremos el análisis transitorio y se utiliza como
modelo el correspondiente a la respuesta del sistema ante una entrada en escalón.
La función de transferencia correspondiente a una planta de primer orden con retardo está
dada por:
Ke −θ 'S
G (S ) = (1)
τS + 1
En donde K = ganancia de la planta, τ = constante de tiempo y θ ' =retardo o tiempo muerto. El
procedimiento experimental para estimar el modelo consiste en abrir el lazo de control antes
del elemento final de control y crear un pequeño y rápido cambio de escalón en el proceso. La
respuesta del sistema se gráfica y sobre la curva obtenida se hace el análisis para estimar los
valores de la ganancia (K) de la constante de tiempo ( τ ) y del retardo ( θ ' ) del proceso. Para
lograr lo anterior se procede así:
• Se determina el punto de operación del proceso.
• Se aplica al sistema en lazo abierto (ver figura 2), un cambio en escalón de magnitud
apropiada.
• Se almacena en un medio digital las respuestas del sistema en función del tiempo.
• Esta operación se debe realizar varias veces, cubriendo toda la zona lineal del proceso.
• Luego se promedian los valores obteniendo así una información confiable.
U(S)
R(S) + Y(S)
Controlador Actuador Planta
En las curvas obtenidas como respuestas, se eligen dos puntos representativos. Por lo general,
estos puntos son aquellos para los cuales la respuesta alcanza el 28.3% y el 63.2% de su valor
final; estos puntos se presentan cuando los tiempos transcurridos a partir del momento de la
aplicación del escalón son respectivamente θ '+τ / 3 y θ '+τ (ver figura 3). Con los datos
obtenidos se plantean las siguientes ecuaciones:
θ '+τ / 3 = t1 (2)
θ '+τ = t 2 (3)
t1 y t2 se leen directamente de las cartas que dan las gráficas. Resolviendo simultáneamente
las ecuaciones 5.2 y 5.3 se encuentran los valores de θ ' y τ . La ganancia de la planta k es
∆y / ∆u
u(t)
∆u
y(t)
63.2%
∆y
28.3%
t1 t2
Existe un buen número de estudios sobre la elección del período de muestreo en el campo del
procesamiento digital de señales. Esta elección del período de muestreo en el campo del
procesamiento digital de señales. Esta elección, depende de las características de la señal. Si
desea muestrear y reconstruir una señal x(t), puede aplicarse el Teorema de Shannon, según
el cual, si la frecuencia de muestreo es suficientemente alta, comparada con la componente de
más alta frecuencia que se incluye en la señal de tiempo continuo se pueden preservar en la
evolvente de la señal muestreada. Para reconstruir la señal original, a partir de una señal
muestreada, existe una frecuencia mínima que la operación de muestreo debe satisfacer. Esta
frecuencia mínima, se especifica en el Teorema del Muestreo
w s > 2w c
En la práctica, el tiempo de muestreo se puede estimar tomando como base el ancho de banda
del sistema en lazo cerrado, o el tiempo de crecimiento o de establecimiento requerido en la
respuesta transitoria.
Como regla general, el sistema debe ser muestreado entre 8 y 12 veces durante un ciclo de la
frecuencia amortiguada de la respuesta transitoria si el sistema es sub-amortiguado o entre 8 y
12 veces durante el tiempo de establecimiento de la respuesta si el sistema es sobre-
amortiguado. También, la frecuencia de muestreo puede estar entre 8 y 12 veces el ancho de
la banda del sistema en lazo cerrado.
t s = 4τ eq
4 4 wd = wn 1 − ξ 2
ts = wn =
ξw n t sξ
8w c ≤ w s ≤ 12w d 2π
T=
ws
En este punto es preciso notar que en algunas ocasiones, para estimar el periodo de muestreo
adecuado, es necesario considerar que w s puede ser hasta 20w c
Otro criterio sugiere que el período de muestreo esté dentro del rango:
0.0625Tu ≤ T ≤ 0.125Tu
En donde Tu es el período último de oscilación (Ver sección 4.2). Como valor típico se puede
tomar T = 0.1Tu
Este tipo de controlador genera una salida que es proporcional al error actuante. En el control
proporcional existe una relación lineal entre el valor de la variable controlada y la posición del
elemento final de control. La siguiente ecuación representa el algoritmo de control digital para
un controlador proporcional:
Donde:
En este tipo de controlador, la señal de salida experimenta un salto inicial proporcional al error
actuante y a continuación presenta una variación gradual a una velocidad proporcional al error.
El algoritmo de control digital para el controlador PI esta dado por la siguiente ecuación:
T
q0 = kc 1 + (6)
2Ti
T
q1 = −kc 1 − (7)
2Ti
Donde:
Con frecuencia se añade otro modo de control al controlador PI, este nuevo modo de control es
la acción derivativa y tiene como finalidad “anticipar hacia donde va el proceso”, mediante la
observación de la rapidez en el cambio del error. La ecuación de un controlador PID continuo
es:
(9)
T Td
q0 = kc 1 + +
2Ti T
2T T (10)
q1 = −kc 1 + d −
T 2Ti
k cTd (11)
q2 =
T
Donde:
En el diseño de controladores digitales P, PI y PID se pueden utilizar las mismas técnicas que
se aplican en el diseño de los controladores análogos, es decir el método de ganancia límite, el
método de Ziegler-Nichols, etc.
Para determinar los parámetros de ajuste del controlador utilizando este método se procede
experimentalmente así:
• Eliminar las acciones integral y derivativa del controlador, es decir trabajar con el
controlador como proporcional únicamente.
• Con el controlador en automático, incrementar la ganancia hasta que el sistema
empiece a oscilar con amplitud constante. Se anota el valor de la ganancia Ku con la
cual se produce la oscilación. Esta ganancia se denomina ganancia última. Los
incrementos de la ganancia deben ser cada vez menores a medida que esta se
aproxima a la ganancia última y deben ir acompañados de pequeños cambios en el
set-point a uno y otro lado del punto de operación normal del proceso.
• En la gráfica que se obtiene de la variable en el registrador se mide el período de
oscilación, este es el periodo último (ver figura 1).
c(t)
Tu
Figura 1. Respuesta del sistema cuando la ganancia del controlador es igual a la ganancia
última Ku y el período último es Tu
Una vez estimados la ganancia última y el periodo último, se utilizan las fórmulas de la tabla 6.1
para calcular los parámetros de ajuste del controlador con los cuales se produce razón de
asentamiento de un cuarto [6.2].
Una vez calculados kc, Ti y Td se pueden obtener los parámetros del controlador digital
requerido utilizando las ecuaciones 6.5, 6.10 o 6.16 según el caso.
Controlador Kc Ti Td
P 0.5 ku - -
PI 0.45 ku 0.83 Tu -
PID 0.6 ku 0.5 Tu 0.125 Tu
Además de las formulas para ajuste de controladores en línea, es decir, por el método de
ganancia límite, Ziegler y Nichols propusieron otro método de ajuste de controladores
asumiendo que la función de transferencia de lazo abierto de la planta se puede aproximar a un
modelo de primer orden con retardo, obtenido a partir de la respuesta del sistema ante una
entrada en escalón.
Una vez calculados kc, Ti y Td se puede obtener el algoritmo de control requerido utilizando las
ecuaciones 4, 5 u 8 según el caso.
Controlador Kc Ti Td
τ
P - -
kθ
0.9τ
PI 3.33θ -
kθ
1.2τ
PID 2θ 0.5θ
kθ
MOTOR DC 12V
+ -
DRVER PWM
Sensor Óptico
Circuito
Acondiciona.
Sensor
TIM
IN-CAP
TIM MCU
PWM
(CONTROL PI) 5V
ADC SET-POINT
A continuación se dan algunas recomendaciones para el diseño del dirver del PWM, el dirver
de sensado y se hace un ejemplo de diseño de un controlador PI digital
La Modulación de Ancho de Pulso ó PWM (por sus siglas en ingles), es uno de los métodos
más utilizados para aplicar potencia a los motores DC y de esta forma controlar la velocidad de
giro. Consiste básicamente en cambiar el ciclo de dureza de una señal cuadrada para de esta
forma cambiar el voltaje promedio de la señal.
Por ejemplo, si tengo una señal cuadrada de frecuencia constante, Vmáx = 12V, Vmín = 0V y:
0.1t
VDC
0.5t
VDC
VDC
0.75t
Se observa como obtener diferentes valores DC desde 0V hasta 12V con solo variar el ancho
de pulso de la señal cuadrada. El PWM se convierte en la señal que actúa sobre el motor y el
control PI digital se determina el valor de PWM para hacer el error cero o cercano a cero.
Ahora, entre la salida del uC y la entrada al Motor DC deberá existir una circuitería que se
encargue de aislar y amplificar la señal de corriente que entrega el uC y a la vez pueda
manejar correctamente el motor DC.
En el manejo de PWM aplicado a motores DC, la frecuencia de operación suele estar entre
1khz y 20khz. Frecuencias mas bajas de lo recomendado, harán que el motor no gire
suavemente, a menos que se implemente un filtro pasabajos de muy baja frecuencia de corte.
También se debe tener en cuenta que el rango de frecuencia entre 1khz y 20khz es audible, lo
que resulta incómodo sobre todo con frecuencias muy bajas. Elija una frecuencia de operación
que se pueda soportar (después de 13KHz el sonido es casi imperceptible). La frecuencia
elegida por usted tiende a modificar algunos parámetros del circuito de amplificación, en
especial a altas frecuencias, donde los dispositivos dejan de responder adecuadamente.
La implementación del PWM se deberá realizar con el módulo TIM del uC usando uno de los
canales de éste en modo PWM. Ver manual referencia del módulo TIM.
El motor DC podrá operar con voltajes entre 0V y 12V lo que imposibilita el manejo directo
desde la señal PWM que entrega el microcontrolador en uno de los canales del TIM. Además,
la corriente que puede necesitar el motor DC en determinado momento, puede superar los
20mA (si se coloca algo de carga puede llegar a más de 100mA) la cual no puede ser
entregada por el uC.
Para esto se realiza la implementación de una circuitería que tome la señal de PWM del uC y la
transforme en una señal de mayor amplitud y a la vez con más corriente.
Muchos circuitos pueden sugerirse en esta etapa de diseño. Algunos son pensados para
manejar corrientes de más de 5A con voltajes de hasta 180V DC. Otros más simples, son
desarrollados para manejar voltajes y corrientes muy bajas.
Rd 4N25
D1
Rc
+ 12Vdc VDC
uC
Rb
-
TIP122
El funcionamiento del anterior circuito es la siguiente: Cuando hay 5V en la salida del uC, el
diodo emisor del 4n25 conducirá haciendo que el transistor receptor del mismo se coloque en
saturación. Al estar en saturación, aparecerán aproximadamente 0V en la base del Darlington,
llevándolo a región de corte y por lo tanto apagando el motor. Cuando hay 0V en la salida del
uC, el diodo emisor del 4n25 no conducirá haciendo que el transistor receptor del mismo se
coloque en corte. Al estar en corte, deberá haber un voltaje de 1.4V en la base del Darlington,
lo que hará que este se vaya a región de saturación y por lo tanto el motor se active.
De lo anterior se puede deducir que el circuito trabaja con lógica negativa, lo que lleva a
implementar el PWM en el uC de forma inversa, es decir, para un porcentaje de PWM de 40%
en el Motor, la salida del uC deberá ser una señal PWM de ancho de pulso de 60% que la
invertirse será del 40%. También es posible mantener la notación original de % de PWM y solo
modificar la forma como se genera la onda en el registro de estado y control del canal del TIM
(bits ELSxB y ELSxA).
El valor de Rd se calcula para permitir una corriente de diodo de más o menos 10mA. Si
necesita trabajar con más corriente, deberá colocar un transistor en corte y saturación para
manejar la corriente del diodo.
Rb por lo general está entre 50k y 100k. El valor depende de la frecuencia de operación que se
esté usando.
Rc se calcula para garantizar una corriente de base que sature el Darlington cuando el
transistor del 4n25 está en corte. La corriente a través de esta resistencia no debería ser muy
alta, ya que podría llevar a la destrucción del 4n25. Tenga en cuenta este dato mirando el
Datasheet del 4n25.
El diodo D1 se llama diodo rueda libre y sirve para que la bobina del motor se descargue en si
misma una vez se retire el voltaje y no dañe el transistor.
El voltaje máximo aproximado que puede caer en el motor es de 11V debido a que el
Darlington en saturación tiene un voltaje de casi 1V entre colector y emisor y no de 0.2V como
un transistor normal.
El sensado de la velocidad en forma óptica implica la instalación en el eje del motor de un disco
con n perforaciones las cuales deben estar distribuidas simétricamente en la periferia del disco
como se muestra en la figura 8., de tal forma que la señal IR se vea interrumpida por las zonas
no perforadas del disco. Usted deberá implementar un hardware que le permita tener señales
con flancos que puedan ser detectadas por uno de los canales del TIM configurado como Input
Capture.
Disco Perforado
MOTOR DC 12V
Emisor-Receptor IR
En línea con dicho disco deberá ser instalado un emisor-receptor IR, el cual detectara el paso
de cada uno de los agujeros cuando el motor este girando. El sistema emisor-receptor podrá
implementarse con diodos IR para el emisor y fotodiodos o fototransistores IR para el receptor.
El diodo emisor estará siempre activo, pero, el receptor solo recibirá luz cuando existe un
agujero entre él y el emisor. Ahora, la función del fotodiodo o fototransistor será la de trabajar
como interruptor de alguna corriente que va a algún transistor operando en corte y saturación,
la forma de onda del voltaje en el colector del transistor se muestra en la figura 9.
La resistencia Rb se usa para garantizar que, cuando el fototransistor esté abierto, haya un
voltaje de 0V que apague completamente el transistor. Ésta resistencia deberá ser de un valor
alto, más o menos de 100k a 1M, para que no interfiera con la corriente de base y pueda
calcularse Rc fácilmente.
Rc2 depende de la corriente de colector que se haya elegido para el transistor según los casos
planteados anteriormente.
Se puede pensar en colocar un capacitor entre la entrada de la compuerta 7414 y tierra para
mejorar la señal. Su valor está condicionado a la frecuencia de operación. Para esta aplicación,
valores entre 0.022uF y 0.22uF podría estar bien. Frecuencias altas hacen que el valor de
capacitancia deba reducirse.
La compuerta Smith Trigger hace que la señal de salida contenga menos ruido que la señal de
entrada debido al bucle de histéresis que ella presenta. Además, invierte la señal de salida del
transistor, para que la salida sea 5V cuando el emisor y el receptor se vean directamente.
En lo que respecta al software, la velocidad puede ser sensada en todo momento o cada cierto
tiempo según lo indique el periodo de muestreo del control PI digital implementado. Se debe
desarrollar entonces un proceso encargado de realizar esta tarea. Para esto el módulo TIM
cuenta con el modo de operación Input Capture, el cual permite medir el tiempo transcurrido
entre dos eventos los cuales están señalizados por flancos (subida, caída o ambos) en una
señal digital.
Como vimos en la sección anterior el hardware de sensado óptico genera una señal cuadrada
cuya frecuencia es proporcional a la velocidad del motor (ver figura 9). La frecuencia de dicha
señal puede calcularse por medio del TIM en su modalidad de Input Capture, simplemente
midiendo el tiempo entre flancos de la señal generada. Matemáticamente se deberá encontrar
una expresión que relacione el tiempo transcurrido entre dos agujeros, el inverso de este
tiempo permitirá calcular la frecuencia. Es de notar que, a mayor número de agujeros, se puede
tener un cálculo más exacto de la velocidad, en especial para velocidades bajas. También es
de saber, si los agujeros no son distribuidos simétricamente y no tienen el mismo diámetro, la
velocidad calculada será inestable o poco precisa, lo que lleva también a implementar alguna
especie de filtro para mejorar la precisión, promediar varias medidas puede ser una solución.
Las cuatro primeras secciones de este tutorial introdujeron varios conceptos prácticos del
diseño de controladores, en especial controladores digitales. A continuación se realiza un
ejemplo práctico que va desde la identificación de la planta, pasando por la selección del
tiempo de muestreo, el ajuste del control PI hasta la rutina de control para el microcontrolador.
Disco Perforado
TIM
Driver PWM MOTOR DC 12V
PWM
MCU
SCI
Emisor-Receptor IR
(CONTROL PI)
TIM
IN-CAP Driver Sensado
• Establecer un PWM a un valor tal que el motor se mueva a las más baja velocidad posible,
después de unos 20 segundos el PWM cambia de su valor inicial a un valor que puede
estar entre el 90% y el 100%. Se esperan otros 20 segundos a que la velocidad se
estabilice y el PWM regresa a su valor inicial. El proceso se repite una y otra vez
permitiendo obtener varias curvas de reacción.
• Paralelamente el microcontrolador deberá medir en todo momento la velocidad a la que
gira el motor.
• El MCU enviara periódicamente al PC el PWM aplicado y la velocidad medida. Dicho
periodo deberá ser tan pequeño como sea posible. Entre más datos mucho mejor. Para
minimizar los datos enviados por cada medida, estos se pueden enviar en binario.
Los datos enviados serán los mismos con los que trabajara directamente el control PI, es decir,
si usted envía un valor entre 0 y 100 indicando el porcentaje de PWM, su controlador PI le
entregara el porcentaje de PWM a aplicar al motor; si usted envía la velocidad en RPMs a la
que gira el motor, al controlador deberá ingresar el error entrante (diferencia entre el Set-Point
y la velocidad medida) en RPMs. Usted puede cambiar las unidades con las que trabaja su
controlador pero deberá tenerlo en cuenta en el programa de la implementación final haciendo
los respectivos ajustes. Se recomienda trabajar en las unidades que impliquen la menor
cantidad de cálculos. Por ejemplo en lugar de trabajar con el porcentaje de PWM aplicado
trabajar con el valor de comparación que se establece en el registro de comparación TIM.
La figura 11 Muestra una gráfica obtenida con un procedimiento similar. En esta gráfica el valor
de PWM esta dado no en porcentaje sino en el valor de comparación del timer, el cual puede
variar entre 0 y 1000. Por su parte las unidades de la velocidad están en RPMs. En la grafica
pueden observarse unas oscilaciones en la velocidad, las cuales se deben a asimetrías e
imperfecciones en el disco perforado.
Filtrando un poco la señal para eliminar un poco del ruido presente en la señal sensada (Ver
Figura 11) y seleccionando solo uno de los escalones se obtiene la gráfica de la figura 12.
Figura 12. Curva de Reacción motor DC modificada
Seguimos el procedimiento descrito en la sección 1.1. para obtener el modelo de primer orden
con retardo para el motor DC. De la grafica 12 podemos obtener toda la información necesaria.
Los puntos claves se muestran en la Figura 13.
U1 = 100
U 2 = 990
∆U = U 2 − U1 = 890
Y1 = 173
Y2 = 5120
∆Y = Y2 − Y1 = 4947
Los puntos Y28.3% y Y63.2% se utilizan para obtener los tiempos t1 y t2 requeridos para resolver el
sistema de ecuaciones conformado por (2) y (3) en la sección 1.1.
t 00 = 1.458seg
t 28.3 = 1.625seg
t 63.2 = 1.883seg
t00 corresponde al instante de tiempo donde se aplica el escalón, por su parte t28.3% y t63.2%
corresponden a los tiempos asociados a Y28.3% y Y63.2%. De esta forma se tiene que:
t1 = t 28.3% − t 00 = 0.167seg
t 2 = t 63.2% − t 00 = 0.425seg
θ '+τ / 3 = 0.167
θ '+τ = 0.425
∆Y 4947
K= = = 5.5584
∆U 890
Se obtiene entonces el modelo de primer orden del motor DC el cual es el siguiente:
5.5584e −0.038s
M (s ) =
0.387s + 1
5.3.2 Selección del periodo de muestreo
Para seleccionar el tiempo de muestreo utilizamos el criterio que establece que el período de
muestreo se puede evaluar a partir de la constante de tiempo equivalente del sistema en lazo
cerrado de la siguiente forma:
5.5584
Mc (s ) = 0.387s + 1
0.387s + 1 + 5.5584
0.387s + 1
0.8475
Mc (s ) =
0.059s + 1
Aplicando el criterio obtenemos lo siguiente:
En este punto es necesario evaluar las ventajas y desventajas de cada tipo de controlador y
que tanto se acomodan al tipo de planta que se esta controlando. Sin embargo el problema
establece el diseño de un control PI por lo que no haremos dicho análisis. El modo de control
Proporcional Integral esta regido por las ecuaciones 5, 6 y 7.
Ti = 3.33(θ '+0.5T )
Ti = 3.33(0.038 + 0.01)
Ti = 0.15984
Reemplazando Kc y Ti en las ecuaciones 5, 6 y 7 obtenemos:
q 0 = 1.3872
q1 = −1.2238
Para evitar trabajar con decimales es recomendable multiplicar y dividir la parte derecha de la
ecuación en diferencias por una potencia de dos así: