You are on page 1of 17

TUTORIAL CONTROL DE VELOCIDAD MOTORES DC

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.

Este documento esta organizado de la siguiente manera: en la sección 1 se discuten métodos


no paramétricos de identificación de la planta del sistema, en la sección 2 se especifican
algunos métodos para la selección del periodo de muestreo, en la sección 3 presenta los
modos de control y sus ecuaciones en diferencias, en la sección 4 se establecen varios
métodos para el ajuste de controladores y finalmente en la sección 5 se realiza un ejemplo de
diseño.

1. Métodos de Identificación de Sistemas no Paramétricos

La identificación no paramétrica de sistemas tiene por objeto obtener el modelo de un sistema


dinámico (planta) a partir de datos experimentales. La figura 1 es una representación
conceptual de un sistema dinámico modelado a partir de datos experimentales. El sistema es
comandado por variables de entrada u(t) y perturbaciones v(t). El usuario puede controlar las
variables de entrada u(t), pero no las perturbaciones v(t). La señal de y(t) es aquella que
suministran la información útil sobre la respuesta del sistema.

v(t)

u(t) SISTEMA y(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.

1.1. Planta de Primer Orden con Retardo

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

Figura 2. Forma de aplicar el escalón para obtener la curva de reacción

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

Figura 3. Escalón y Curva de Reacción

2. Selección del Periodo de Muestreo


El periodo de muestreo determina cada cuanto debe sensarse la variable controlada y cada
cuanto se ejecuta la rutina de control. El periodo de muestreo T es un parámetro de diseño
importante que debe seleccionarse en función de un compromiso entre el deterioro de la
calidad del control que puede producir un valor alto de T y la cantidad de cálculos necesaria
para ejecutar el algoritmo de control con valores pequeños de T.

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

Teorema del Muestreo de Shannon establece que la frecuencia de muestreo w s , definida


como 2π / T , en donde T es el período de muestreo, debe ser mayor que 2w c , es decir, si:

w s > 2w c

En donde w c , es la componente de más alta frecuencia presente en la señal de tiempo


continuo x(t). Si este postulado se cumple, entonces, la señal x(t) se puede reconstruir
completamente a partir de la señal muestreada x*(t). Se asume que la señal x(t) no contiene
componentes de frecuencia superiores a w 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.

Si t s es el tiempo de establecimiento y ξ el coeficiente de amortiguamiento deseado para la


respuesta del sistema en lazo cerrado, con constante de tiempo equivalente τ eq , el periodo de
muestreo T, se puede evaluar utilizando las siguientes ecuaciones:

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

Si w c es el ancho de banda del sistema en lazo cerrado, entonces:


8w c ≤ w s ≤ 12w c 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

El período de muestreo también se puede evaluar a partir de la constante de tiempo


equivalente del sistema en lazo cerrado tomando como base el siguiente criterio:

0.2(τ eq + θ ') ≤ T ≤ 0.6(τ eq + θ ')

En donde θ' es el retardo o tiempo muerto del sistema.

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

3. Modos de Control Digital

A continuación se presenta la aproximación discreta de los modos de control P, PI y PID


Convencionales.

3.1. Control Proporcional (P)

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:

m(k ) = kc e(k ) − kc e(k − 1) + m(k − 1) (4)

Donde:

m(k) Salida del controlador,


e(k) Señal de error entrante y
kc Ganancia del controlador.

3.2. Control Proporcional más Integral (PI)

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:

m(k ) = q0e(k ) + q1e(k − 1) + m(k − 1) (5)

 T 
q0 = kc 1 +  (6)
 2Ti 
 T 
q1 = −kc 1 −  (7)
 2Ti 

Donde:

m(k) Salida de control.


e(k) Señal de error entrante.
kc Ganancia del controlador.
Ti Tiempo integral.
T Periodo de muestreo.

3.3. Control Proporcional más Integral más Derivativo (PID)

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:

m(k ) = q0e(k ) + q1e(k − 1) + q2e(k − 2) + m(k − 1) (8)

 (9)
T Td 
q0 = kc 1 + + 
 2Ti T 

 2T T  (10)
q1 = −kc 1 + d −
 T 2Ti 

k cTd (11)
q2 =
T

Donde:

m(k) Salida del controlador.


e(k) Señal del error entrante.
kc Ganancia del controlador.
Ti Tiempo integral.
Td Tiempo integral.
T Periodo de muestreo.

4. Métodos de Ajustes de Controladores

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.

4.1. Método de Tanteo

Este método requiere que el controlador y el proceso este instalados completamente y


trabajando en su forma normal. El procedimiento general se basa en poner en marcha el
proceso con bandas anchas en todas las acciones, e irlas estrechando poco a poco
individualmente hasta obtener la estabilidad deseada.
4.2. Método de Ganancia Límite

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

Tabla 1 Fórmulas para el ajuste de controladores por el método de ganancia limite

4.3. Método de la Curva de Reacción

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.

Entonces, dada la función de transferencia en lazo abierto:


ke −θ 'S
Gp (S ) =
τS + 1
En donde k es la ganancia, τ la constante de tiempo y θ ' es el retardo o tiempo muerto de la
planta. Los parámetros de ajuste del controlador se estiman a partir de la tabla 6.2, haciendo
en ella θ = θ '+T / 2 , en donde T/2 es una aproximación correspondiente al retardo introducido
por el muestreador y el retenedor y T es el período de muestreo.

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 - -

0.9τ
PI 3.33θ -

1.2τ
PID 2θ 0.5θ

Tabla 2 Fórmulas para el ajuste de controladores por el método de curva de reacción

5. Ejemplo de Diseño – Control Velocidad Motor DC

Se desea implementar un controlador PI digital para controlar la velocidad de un motor DC de


12V. Para esto se utiliza un microcontrolador MC68HC908GP32 de freescale semiconductor. El
sensado de la velocidad es óptico y la potencia del motor se aplica por medio de una señal de
PWM. El Set-Point indicando la velocidad deseada se ingresa por medio de un potenciómetro
conectado a uno de los canales de ADC. El diagrama de bloques del sistema es el siguiente:

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

5.1. Driver PWM


Un motor DC, como su nombre lo indica, trabaja con voltaje DC para efectuar su movimiento. Si
el voltaje DC aplicado al motor cambia, también lo hace la velocidad a la que gira dicho motor.
Según esto es posible controlar la velocidad de giro de un motor DC solo con cambiar el voltaje
aplicado a este. La forma más fácil de efectuar dichos cambios en el voltaje es a través de una
señal de PWM.

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:

• Ancho de pulso de 10%. El voltaje DC será de 0.1*12V = 1.2V

0.1t

VDC

• Ancho de pulso de 50%. El voltaje DC será de 0.5*12V = 6V.

0.5t
VDC

• Ancho de pulso de 75%. El voltaje DC será de 0.75*12V = 9V.

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.

El circuito sugerido es el siguiente:

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.

5.2. Driver de Sensado Óptico

Implementar un control de velocidad implica inevitablemente el sensado de la misma. En este


caso el sensado es óptico lo cual hace necesaria la construcción del hardware y software
necesarios para la adecuación e interpretación de la señal obtenida del sensor.

5.2.1 Hardware de Sensado

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

Figura 8. Diagrama de sensado óptico de velocidad

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.

Figura 9. Forma de onda generada por sensor IR

La siguiente figura muestra el circuito sugerido:


La resistencia R1 depende de la corriente que puede pasar por el diodo emisor, teniendo en
cuenta el voltaje que cae en el diodo a esta corriente. Generalmente es de 1.5V con corriente
entre 10 y 15mA.

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.

La resistencia Rc depende de la corriente de base necesaria para saturar el transistor y


además, que sea una corriente que no supere la corriente máxima del fototransistor o
fotodiodo. Inicialmente usted podría tomar una corriente que no supere la máxima del receptor,
hallar con esto Rc, luego multiplicar por un Beta de saturación para hallar la corriente de
colector del transistor. La otra sería, determinar una corriente de colector que permita activar la
compuerta 7414, con esto hallar Rc2, luego dividir por un Beta de saturación para hallar la
corriente de base del transistor y así determinar el valor de Rc. Note que en ambos casos, la
resistencia Rb debe ser alta para no interferir (despreciar) en el cálculo de Rc. Tenga en cuenta
que la impedancia de una compuerta es bastante alta, por el orden de los megas, así que la
corriente de activación es también muy baja. Un 1mA podría ser más que suficiente.

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.

5.2.2 Software de Sensado

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.

5.3. Ejemplo Diseño Control PI Digital

SetPoint + e(k) m(k)


PI digital Power PWM MOTOR
PWM
-
Velocidad Medida
Sensado

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.

5.3.1 Identificación de la planta

Como se estableció en la sección 1, los métodos de identificación no paramétricos nos


permiten modelar un sistema sin tener que manejar los modelos mecánicos, eléctricos, etc. del
mismo. Solo se utiliza la respuesta al escalón. Utilizaremos este mismo método para modelar
nuestra planta, en este caso el motor, como un sistema de primer orden con retardo. Para esto
requerimos el hardware capaz de suministrar potencia al motor (driver PWM), el hardware
necesario para sensar la velocidad del motor (driver de sensado óptico) y por ultimo
necesitamos una forma de capturar los datos generados. Los dos primeros fueron explicados
con cierto detenimiento en las secciones 5.1 y 5.2, el tercero consiste básicamente en enviar la
velocidad sensada y el pwm aplicado al motor vía serial a un PC donde se almacenaran los
datos. La figura 10 muestra el diagrama de bloques del sistema de identificación.

Disco Perforado

TIM
Driver PWM MOTOR DC 12V
PWM

MCU
SCI
Emisor-Receptor IR
(CONTROL PI)
TIM
IN-CAP Driver Sensado

Figura 10. Sistema de Identificación de Planta

En el PC debe existir un programa de captura y almacenamiento de los datos, el cual puede


ser el mismo Hyper-Terminal y su utilidad de “Capturar texto…” en el menú “transferir”. Esta
captura de datos también pueden realizarse en otro software creado por usted en matlab,
LabView, Visual, etc. La solución más rápida es utilizar Hyper-Terminal.

El programa en el microcontrolador deberá realizar lo siguiente:

• 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.

Figura 11. Curva de reacción motor DC

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

U1 corresponde al 10% de PWM y U2 al 99%

Y1 = 173
Y2 = 5120
∆Y = Y2 − Y1 = 4947

Y1 es la velocidad mínima y Y2 es la velocidad es máxima, se toman en puntos donde la


velocidad es estable.

Y28.3% = ∆Y * 0.283 + Y 1 = 1573


Y63.2% = ∆Y * 0.632 + Y1 = 3300

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

El sistema de ecuaciones queda de la siguiente forma:

θ '+τ / 3 = 0.167
θ '+τ = 0.425

Resolviendo el sistema se obtiene θ '= 0.038seg y τ = 0.387seg

Figura 13. Puntos de Referencia en Curva de Reacción

Finalmente se obtiene la ganancia del sistema.

∆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:

0.2(τ eq + θ ') ≤ T ≤ 0.6(τ eq + θ ')

Sea Mc(s) el sistema en lazo cerrado sin considerar el retardo:


5.5584
Mc (s ) = 0.387s + 1
5.5584
1+
0.387s + 1

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:

0.2(0.059seg + 0.038seg ) ≤ T ≤ 0.6(0.059seg + 0.038seg )


0.0194seg ≤ T ≤ 0.0582seg

Seleccionamos como periodo de muestreo T = 0.02seg

5.3.3 Selección del Modo de Control

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.

5.3.4. Ajuste de Control Digital PI

En la sección 4 se mencionaron algunos métodos de ajuste de controladores, estos métodos


establecen criterios prácticos para diseñar los parámetros del controlador como lo son kc y Ti.
En este ejemplo utilizaremos el método de la curva de reacción de Ziegler y Nichols puesto que
ya obtuvimos el modelo de primer orden con retardo para el motor. Reemplazando las
ecuaciones de la Tabla 2 para el controlador proporcional integral obtenemos
0.9τ
Kc =
k (θ '+0.5T )
0.9 * 0.387
Kc =
5.5584 * (0.038 + 0.01)
Kc = 1.3055

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

m(k ) = 1.3872e(k ) − 1.2238e(k − 1) + m(k − 1)


Donde:

e(k) es el error entrante (Velocidad Deseada o SetPoint – Velocidad medida) en RPMs


e(k-1) es el error entrante del periodo anterior
m(k) es en este caso el nuevo valor de comparación del timer asociado al pwm
m(k-1) es el valor de comparación del timer asociado al pwm en el periodo anterior

5.3.5. Algoritmo de control

El algoritmo de control es la rutina que se encarga de resolver la ecuación en diferencias


asociada al controlador. Tenga en cuenta que esta rutina de control debe ejecutarse
periódicamente según lo establece el Periodo de muestreo, en este caso cada 20
milisegundos. Antes de ejecutar el algoritmo de control se debe sensar la velocidad actual y el
Set-Point. Recuerde también inicializar e(k-1) y m(k-1) a cero.

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í:

256(1.3872e(k ) − 1.2238e(k − 1) + m(k − 1))


m(k ) =
256
355e(k ) − 313e(k − 1) + 256m(k − 1)
m (k ) =
256
Aunque el procedimiento anterior puede realizarse con cualquier constante, se recomiendan
potencias de 2 ya que las multiplicaciones y divisiones por estas pueden realizarse de forma
más eficiente.

Otra práctica recomendable en la rutina de control es implementar una especie de saturación


sobre el valor m(k). Para el caso que hemos desarrollado en este ejemplo m(k) es el valor
comparación que utiliza el TIM para generar el PWM, para ustedes podría ser simplemente el
porcentaje de dureza de la señal de PWM. Valores de m(k) superiores a 1000 en el caso de
valor de comparación o a 100 en el caso de porcentaje de dureza no tienen sentido, como
tampoco tienen sentido valores negativos, por lo tanto el algoritmo de control debe garantizar
que la salida m(k) nunca toma estos valores.

You might also like