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.

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

( )
1
'
+
=

S
Ke
S G
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.

Controlador Actuador Planta
+
-
R(S)
Y(S)
U(S)
Controlador Actuador Planta
+
-
R(S)
Y(S)
U(S)


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:

1 3 / ' t = +τ θ (2)
2 ' t = +τ θ (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
u y ∆ ∆ /

28.3%
63.2%
y(t)
t1 t2
u(t)
u ∆
y ∆
28.3%
63.2%
y(t)
t1 t2
u(t)
u ∆
y ∆


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
s
w , definida
como T / 2π , en donde T es el período de muestreo, debe ser mayor que
c
w 2 , es decir, si:

c s
w w 2 >

En donde
c
w , 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
c
w .

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
s
t 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:

eq s
t τ 4 =

n
s
w
t
ξ
4
=
ξ
s
n
t
w
4
=
2
1 ξ − =
n d
w w

d s c
w w w 12 8 ≤ ≤
s
w
T
π 2
=

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

c s c
w w w 12 8 ≤ ≤
s
w
T
π 2
=

En este punto es preciso notar que en algunas ocasiones, para estimar el periodo de muestreo
adecuado, es necesario considerar que
s
w puede ser hasta
c
w 20

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:

( ) ( ) ' 6 . 0 ' 2 . 0 θ τ θ τ + ≤ ≤ +
eq eq
T

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

Otro criterio sugiere que el período de muestreo esté dentro del rango:

u u
T T T 125 . 0 0625 . 0 ≤ ≤

En donde
u
T es el período último de oscilación (Ver sección 4.2). Como valor típico se puede
tomar
u
T T 1 . 0 =


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:

( ) ( ) ( ) ( ) 1 1 − + − − = k m k e k k e k k m
c c

(4)

Donde:

m(k) Salida del controlador,
e(k) Señal de error entrante y
c
k 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:

( ) ( ) ( ) ( ) 1 1
1 0
− + − + = k m k e q k e q k m
(5)

|
|
¹
|

\
|
+ =
i
c
T
T
k q
2
1
0
(6)

|
|
¹
|

\
|
− − =
i
c
T
T
k q
2
1
1
(7)


Donde:

m(k) Salida de control.
e(k) Señal de error entrante.
c
k Ganancia del controlador.
i
T 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:

( ) ( ) ( ) ( ) ( ) 1 2 1
2 1 0
− + − + − + = k m k e q k e q k e q k m
(8)

+ + =
T
T
T
T
k q
d
i
c
2
1
0

(9)

− + − =
i
d
c
T
T
T
T
k q
2
2
1
1

(10)


T
T k
q
d c
=
2

(11)

Donde:

m(k) Salida del controlador.
e(k) Señal del error entrante.
c
k Ganancia del controlador.
i
T Tiempo integral.
d
T 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).

Tu
c(t)
Tu
c(t)


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:

( )
1
'
+
=

S
ke
S G
S
p
τ
θ


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 2 / ' T + =θ θ , 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
θ
τ
k
- -
PI
θ
τ
k
9 . 0
θ 33 . 3 -
PID
θ
τ
k
2 . 1
θ 2 θ 5 . 0

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:

MCU
(CONTROL PI)
Circuito
Acondiciona.
Sensor
Sensor Óptico
5V
SET-POINT
ADC
TIM
IN-CAP
MOTOR DC 12V
D
R
V
E
R

P
W
M
TIM
PWM
+
-
MCU
(CONTROL PI)
Circuito
Acondiciona.
Sensor
Sensor Óptico
5V
SET-POINT
5V 5V
SET-POINT
ADC
TIM
IN-CAP
MOTOR DC 12V
D
R
V
E
R

P
W
M
D
R
V
E
R

P
W
M
TIM
PWM
+
-


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
t
0.1t
V
DC
t
0.1t
V
DC


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


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



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:
VDC 12Vdc
Rd
Rc
Rb
TIP122
0
4N25
D1
+
uC
-

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.

Emisor-Receptor IR
MOTOR DC 12V
Disco Perforado
Emisor-Receptor IR
MOTOR DC 12V
Disco Perforado



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

PI digital Power PWM MOTOR
+
-
SetPoint
e(k)
Sensado
m(k)
Velocidad Medida
PWM
PI digital Power PWM MOTOR
+
-
SetPoint
e(k)
Sensado
m(k)
Velocidad Medida
PWM


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.

Emisor-Receptor IR
MOTOR DC 12V
Disco Perforado
MCU
(CONTROL PI)
SCI
TIM
IN-CAP
TIM
PWM
Driver PWM
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.

890
990
100
1 2
2
1
= − = ∆
=
=
U U U
U
U


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

4947
5120
173
1 2
2
1
= − = ∆
=
=
Y Y Y
Y
Y


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

3300 632 . 0 *
1573 1 283 . 0 *
1 % 2 . 63
% 3 . 28
= + ∆ =
= + ∆ =
Y Y Y
Y Y Y


Los puntos Y
28.3%
y Y
63.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.

seg t
seg t
seg t
883 . 1
625 . 1
458 . 1
2 . 63
3 . 28
00
=
=
=


t
00
corresponde al instante de tiempo donde se aplica el escalón, por su parte t
28.3%
y t
63.2%

corresponden a los tiempos asociados a Y
28.3%
y Y
63.2%
. De esta forma se tiene que:

seg t t t
seg t t t
425 . 0 2
167 . 0
00 % 2 . 63
00 % 3 . 28 1
= − =
= − =


El sistema de ecuaciones queda de la siguiente forma:

167 . 0 3 / ' = +τ θ
425 . 0 ' = +τ θ

Resolviendo el sistema se obtiene seg 038 . 0 ' = θ y seg 387 . 0 = τ


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

Finalmente se obtiene la ganancia del sistema.

5584 . 5
890
4947
= =


=
U
Y
K

Se obtiene entonces el modelo de primer orden del motor DC el cual es el siguiente:

( )
1 387 . 0
5584 . 5
038 . 0
+
=

s
e
s M
s


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:

( ) ( ) ' 6 . 0 ' 2 . 0 θ τ θ τ + ≤ ≤ +
eq eq
T

Sea Mc(s) el sistema en lazo cerrado sin considerar el retardo:
( )
( )
( )
1 059 . 0
8475 . 0
1 387 . 0
5584 . 5 1 387 . 0
1 387 . 0
5584 . 5
1 387 . 0
5584 . 5
1
1 387 . 0
5584 . 5
+
=
+
+ +
+
=
+
+
+
=
s
s Mc
s
s
s
s Mc
s
s
s Mc


Aplicando el criterio obtenemos lo siguiente:

( ) ( )
seg T seg
seg seg T seg seg
0582 . 0 0194 . 0
038 . 0 059 . 0 6 . 0 038 . 0 059 . 0 2 . 0
≤ ≤
+ ≤ ≤ +


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

( )
( )
3055 . 1
01 . 0 038 . 0 * 5584 . 5
387 . 0 * 9 . 0
5 . 0 '
9 . 0
=
+
=
+
=
Kc
Kc
T k
Kc
θ
τ


( )
( )
15984 . 0
01 . 0 038 . 0 33 . 3
5 . 0 ' 33 . 3
=
+ =
+ =
Ti
Ti
T Ti θ


Reemplazando Kc y Ti en las ecuaciones 5, 6 y 7 obtenemos:

3872 . 1
0
= q

2238 . 1
1
− = q

( ) ( ) ( ) ( ) 1 1 2238 . 1 3872 . 1 − + − − = k m k e k e k m
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 ( 256 ) 1 ( 313 ) ( 355
) (
256
1 1 2238 . 1 3872 . 1 256
− + − −
=
− + − −
=
k m k e k e
k m
k m k e k e
k m


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.

3% t1 t2 Figura 3. un cambio en escalón de magnitud apropiada.2% ∆y 28. Con los datos obtenidos se plantean las siguientes ecuaciones: θ '+τ / 3 = t1 θ '+τ = t 2 (2) (3) t1 y t2 se leen directamente de las cartas que dan las gráficas. Luego se promedian los valores obteniendo así una información confiable. se eligen dos puntos representativos. 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). La ganancia de la planta k es ∆y / ∆u u(t) ∆u y(t) 63. Resolviendo simultáneamente las ecuaciones 5. estos puntos son aquellos para los cuales la respuesta alcanza el 28. Esta operación se debe realizar varias veces. Selección del Periodo de Muestreo .2 y 5.3 se encuentran los valores de θ ' y τ . Forma de aplicar el escalón para obtener la curva de reacción En las curvas obtenidas como respuestas. Escalón y Curva de Reacción 2. Por lo general. Se almacena en un medio digital las respuestas del sistema en función del tiempo. cubriendo toda la zona lineal del proceso.3% y el 63.2% de su valor final.• • • • • Se determina el punto de operación del proceso. U(S) R(S) + - Controlador Actuador Planta Y(S) Figura 2. Se aplica al sistema en lazo abierto (ver figura 2).

entonces: . Si este postulado se cumple. se especifica en el Teorema del Muestreo Teorema del Muestreo de Shannon establece que la frecuencia de muestreo como 2π / T . existe una frecuencia mínima que la operación de muestreo debe satisfacer. si la frecuencia de muestreo es suficientemente alta. 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. es la componente de más alta frecuencia presente en la señal de tiempo continuo x(t). En la práctica. con constante de tiempo equivalente muestreo T. el tiempo de muestreo se puede estimar tomando como base el ancho de banda del sistema en lazo cerrado. 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. Si t s es el tiempo de establecimiento y ξ el coeficiente de amortiguamiento deseado para la respuesta del sistema en lazo cerrado. la frecuencia de muestreo puede estar entre 8 y 12 veces el ancho de la banda del sistema en lazo cerrado. 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 sobreamortiguado. definida 2w c . o el tiempo de crecimiento o de establecimiento requerido en la respuesta transitoria. Como regla general. el periodo de t s = 4τ eq ts = 4 ξw n wn = 4 t sξ T= wd = wn 1 − ξ 2 2π ws 8w c ≤ w s ≤ 12w d Si w c es el ancho de banda del sistema en lazo cerrado. se puede evaluar utilizando las siguientes ecuaciones: τ eq . si: w s > 2w c En donde w c . entonces. depende de las características de la señal. Se asume que la señal x(t) no contiene componentes de frecuencia superiores a w c .El periodo de muestreo determina cada cuanto debe sensarse la variable controlada y cada cuanto se ejecuta la rutina de control. También. la señal x(t) se puede reconstruir completamente a partir de la señal muestreada x*(t). a partir de una señal muestreada. es decir. puede aplicarse el Teorema de Shannon. 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. según el cual. Esta elección. Si desea muestrear y reconstruir una señal x(t). Para reconstruir la señal original. en donde T es el período de muestreo. Esta elección del período de muestreo en el campo del procesamiento digital de señales. debe ser mayor que w s . Esta frecuencia mínima.

3.1 u T 3.8w c ≤ w s ≤ 12w c T= 2π ws En este punto es preciso notar que en algunas ocasiones. para estimar el periodo de muestreo adecuado. Control Proporcional más Integral (PI) En este tipo de controlador. e(k) Señal de error entrante y kc Ganancia del controlador.2).6(τ eq + θ ') En donde θ' es el retardo o tiempo muerto del sistema.2(τ eq + θ ') ≤ T ≤ 0. Como valor típico se puede tomar T = 0. 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. PI y PID Convencionales. 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.0625Tu ≤ T ≤ 0.1.125Tu En donde Tu es el período último de oscilación (Ver sección 4. Modos de Control Digital A continuación se presenta la aproximación discreta de los modos de control P. 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) Donde: (4) m(k) Salida del controlador.2. 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)  T  q 0 = k c 1 +  2T    i  (5) (6) . 3. 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. Otro criterio sugiere que el período de muestreo esté dentro del rango: 0. Control Proporcional (P) Este tipo de controlador genera una salida que es proporcional al error actuante.

Ti T Tiempo integral. e(k) Señal del error entrante. Control Proporcional más Integral más Derivativo (PID) Con frecuencia se añade otro modo de control al controlador PI. Periodo de muestreo.1.3. kc Ganancia del controlador. Tiempo integral. 3. kc Ganancia del controlador. Métodos de Ajustes de Controladores En el diseño de controladores digitales P. etc. este nuevo modo de control es la acción derivativa y tiene como finalidad “anticipar hacia donde va el proceso”. Ti Td T Tiempo integral. PI y PID se pueden utilizar las mismas técnicas que se aplican en el diseño de los controladores análogos. . Periodo de muestreo. 4. el método de Ziegler-Nichols. 4. e(k) Señal de error entrante. es decir el método de ganancia límite. mediante la observación de la rapidez en el cambio del error. e irlas estrechando poco a poco individualmente hasta obtener la estabilidad deseada. T q1 = −kc 1 −  2T  i Donde:     (7) m(k) Salida de control. Método de Tanteo Este método requiere que el controlador y el proceso este instalados completamente y trabajando en su forma normal. La ecuación de un controlador PID continuo es: m(k ) = q0e(k ) + q1e(k − 1) + q2e(k − 2) + m(k − 1)  T Td  q0 = kc 1 + +   2Ti T   2T T  q1 = −kc 1 + d − T 2Ti    q2 = Donde: (8) (9) (10) k cTd T (11) m(k) Salida del controlador. El procedimiento general se basa en poner en marcha el proceso con bandas anchas en todas las acciones.

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. se utilizan las fórmulas de la tabla 6.5 Tu Td 0. dada la función de transferencia en lazo abierto: .2.5.6 ku Ti 0. por el método de ganancia límite. incrementar la ganancia hasta que el sistema empiece a oscilar con amplitud constante.16 según el caso.4. Una vez calculados kc. 6. Método de la Curva de Reacción Además de las formulas para ajuste de controladores en línea.83 Tu 0. Esta ganancia se denomina ganancia última.45 ku 0. es decir trabajar con el controlador como proporcional únicamente. c(t) • Tu Figura 1. Ti y Td se pueden obtener los parámetros del controlador digital requerido utilizando las ecuaciones 6. es decir. 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. Controlador P PI PID Kc 0.3. obtenido a partir de la respuesta del sistema ante una entrada en escalón. En la gráfica que se obtiene de la variable en el registrador se mide el período de oscilación. Con el controlador en automático. Se anota el valor de la ganancia Ku con la cual se produce la oscilación.1 para calcular los parámetros de ajuste del controlador con los cuales se produce razón de asentamiento de un cuarto [6.5 ku 0. Entonces. 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. este es el periodo último (ver figura 1).125 Tu Tabla 1 Fórmulas para el ajuste de controladores por el método de ganancia limite 4. 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.2].10 o 6.

Los parámetros de ajuste del controlador se estiman a partir de la tabla 6. haciendo en ella θ = θ '+T / 2 .5θ Tabla 2 Fórmulas para el ajuste de controladores por el método de curva de reacción 5. el dirver de sensado y se hace un ejemplo de diseño de un controlador PI digital 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.33θ 2θ 0.2. Una vez calculados kc.9τ kθ 1.Gp (S ) = ke −θ 'S τS + 1 En donde k es la ganancia. τ la constante de tiempo y θ ' es el retardo o tiempo muerto de la planta. Sensor TIM PWM MCU (CONTROL PI) TIM IN-CAP 5V ADC SET-POINT A continuación se dan algunas recomendaciones para el diseño del dirver del PWM. Controlador P PI PID Kc Ti Td - τ kθ 0. El Set-Point indicando la velocidad deseada se ingresa por medio de un potenciómetro conectado a uno de los canales de ADC. 5 u 8 según el caso. 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. Para esto se utiliza un microcontrolador MC68HC908GP32 de freescale semiconductor.2τ kθ 3.1. El sensado de la velocidad es óptico y la potencia del motor se aplica por medio de una señal de PWM. Ti y Td se puede obtener el algoritmo de control requerido utilizando las ecuaciones 4. El diagrama de bloques del sistema es el siguiente: MOTOR DC 12V DRVER PWM + Sensor Óptico Circuito Acondiciona. Driver PWM .

0. en especial a altas frecuencias. también lo hace la velocidad a la que gira dicho motor. lo que resulta incómodo sobre todo con frecuencias muy bajas. En el manejo de PWM aplicado a motores DC. 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. El voltaje DC será de 0. . Además. Vmín = 0V y: • Ancho de pulso de 10%. Elija una frecuencia de operación que se pueda soportar (después de 13KHz el sonido es casi imperceptible).75t t Se observa como obtener diferentes valores DC desde 0V hasta 12V con solo variar el ancho de pulso de la señal cuadrada.5*12V = 6V. Frecuencias mas bajas de lo recomendado. como su nombre lo indica.1*12V = 1. Ver manual referencia del módulo TIM. La Modulación de Ancho de Pulso ó PWM (por sus siglas en ingles). VDC 0. Ahora. 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. La forma más fácil de efectuar dichos cambios en el voltaje es a través de una señal de PWM. La frecuencia elegida por usted tiende a modificar algunos parámetros del circuito de amplificación. a menos que se implemente un filtro pasabajos de muy baja frecuencia de corte.75*12V = 9V. Vmáx = 12V. También se debe tener en cuenta que el rango de frecuencia entre 1khz y 20khz es audible.2V 0. Si el voltaje DC aplicado al motor cambia. donde los dispositivos dejan de responder adecuadamente. 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. Según esto es posible controlar la velocidad de giro de un motor DC solo con cambiar el voltaje aplicado a este. si tengo una señal cuadrada de frecuencia constante. harán que el motor no gire suavemente.Un motor DC. El voltaje DC será de 0. 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. la frecuencia de operación suele estar entre 1khz y 20khz.5t VDC t • Ancho de pulso de 75%. trabaja con voltaje DC para efectuar su movimiento. El voltaje DC será de 0.1t VDC t • Ancho de pulso de 50%. 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. 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.

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. para un porcentaje de PWM de 40% en el Motor. lo que hará que este se vaya a región de saturación y por lo tanto el motor se active. Driver de Sensado Óptico Implementar un control de velocidad implica inevitablemente el sensado de la misma. 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 diodo emisor del 4n25 no conducirá haciendo que el transistor receptor del mismo se coloque en corte. deberá colocar un transistor en corte y saturación para manejar la corriente del diodo.4V en la base del Darlington. ya que podría llevar a la destrucción del 4n25. son desarrollados para manejar voltajes y corrientes muy bajas. La corriente a través de esta resistencia no debería ser muy alta. Tenga en cuenta este dato mirando el Datasheet del 4n25.2V como un transistor normal. la salida del uC deberá ser una señal PWM de ancho de pulso de 60% que la invertirse será del 40%. el diodo emisor del 4n25 conducirá haciendo que el transistor receptor del mismo se coloque en saturación. aparecerán aproximadamente 0V en la base del Darlington. Algunos son pensados para manejar corrientes de más de 5A con voltajes de hasta 180V DC. 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. es decir. Cuando hay 0V en la salida del uC. En este . Rb por lo general está entre 50k y 100k. Al estar en saturación. 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. De lo anterior se puede deducir que el circuito trabaja con lógica negativa. llevándolo a región de corte y por lo tanto apagando el motor. Rc se calcula para garantizar una corriente de base que sature el Darlington cuando el transistor del 4n25 está en corte.la corriente que puede necesitar el motor DC en determinado momento. Otros más simples. El valor depende de la frecuencia de operación que se esté usando. deberá haber un voltaje de 1. 5. Al estar en corte.2. 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. El circuito sugerido es el siguiente: Rd 4N25 Rc + uC Rb TIP122 D1 12Vdc VDC 0 El funcionamiento del anterior circuito es la siguiente: Cuando hay 5V en la salida del uC. Muchos circuitos pueden sugerirse en esta etapa de diseño. lo que lleva a implementar el PWM en el uC de forma inversa. 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.

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. de tal forma que la señal IR se vea interrumpida por las zonas no perforadas del disco. Forma de onda generada por sensor IR La siguiente figura muestra el circuito sugerido: . Figura 9. El diodo emisor estará siempre activo. la forma de onda del voltaje en el colector del transistor se muestra en la figura 9. El sistema emisor-receptor podrá implementarse con diodos IR para el emisor y fotodiodos o fototransistores IR para el receptor..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.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. el cual detectara el paso de cada uno de los agujeros cuando el motor este girando. Ahora. 5. pero. el receptor solo recibirá luz cuando existe un agujero entre él y el emisor. Disco Perforado MOTOR DC 12V Emisor-Receptor IR Figura 8.2. 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. Diagrama de sensado óptico de velocidad En línea con dicho disco deberá ser instalado un emisor-receptor IR.

la resistencia Rb debe ser alta para no interferir (despreciar) en el cálculo de Rc. determinar una corriente de colector que permita activar la compuerta 7414.5V con corriente entre 10 y 15mA. el cual permite medir el tiempo transcurrido entre dos eventos los cuales están señalizados por flancos (subida. simplemente midiendo el tiempo entre flancos de la señal generada. para que no interfiera con la corriente de base y pueda calcularse Rc fácilmente. a mayor número de agujeros. Tenga en cuenta que la impedancia de una compuerta es bastante alta. por el orden de los megas. Se debe desarrollar entonces un proceso encargado de realizar esta tarea. se puede . invierte la señal de salida del transistor. con esto hallar Rc2. Matemáticamente se deberá encontrar una expresión que relacione el tiempo transcurrido entre dos agujeros. Un 1mA podría ser más que suficiente. Es de notar que. Para esto el módulo TIM cuenta con el modo de operación Input Capture. teniendo en cuenta el voltaje que cae en el diodo a esta corriente.2. luego multiplicar por un Beta de saturación para hallar la corriente de colector del transistor. Inicialmente usted podría tomar una corriente que no supere la máxima del receptor. Su valor está condicionado a la frecuencia de operación. hallar con esto Rc. La resistencia Rb se usa para garantizar que. La frecuencia de dicha señal puede calcularse por medio del TIM en su modalidad de Input Capture. el inverso de este tiempo permitirá calcular la frecuencia. para que la salida sea 5V cuando el emisor y el receptor se vean directamente. Ésta resistencia deberá ser de un valor alto. luego dividir por un Beta de saturación para hallar la corriente de base del transistor y así determinar el valor de Rc. Frecuencias altas hacen que el valor de capacitancia deba reducirse.022uF y 0. caída o ambos) en una señal digital. 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. así que la corriente de activación es también muy baja. Para esta aplicación. Note que en ambos casos. 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). 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.22uF podría estar bien. 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. más o menos de 100k a 1M. 5.La resistencia R1 depende de la corriente que puede pasar por el diodo emisor. valores entre 0. La otra sería. Generalmente es de 1. La resistencia Rc depende de la corriente de base necesaria para saturar el transistor y además. cuando el fototransistor esté abierto.2 Software de Sensado En lo que respecta al software. que sea una corriente que no supere la corriente máxima del fototransistor o fotodiodo. Además. haya un voltaje de 0V que apague completamente el transistor.

Se esperan otros 20 segundos a que la velocidad se estabilice y el PWM regresa a su valor inicial.3. del mismo. etc. Sistema de Identificación de Planta En el PC debe existir un programa de captura y almacenamiento de los datos. el ajuste del control PI hasta la rutina de control para el microcontrolador. como un sistema de primer orden con retardo. Los dos primeros fueron explicados con cierto detenimiento en las secciones 5. Utilizaremos este mismo método para modelar nuestra planta. Para esto requerimos el hardware capaz de suministrar potencia al motor (driver PWM). 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. Solo se utiliza la respuesta al escalón. 5. El proceso se repite una y otra vez permitiendo obtener varias curvas de reacción. • . Visual. La figura 10 muestra el diagrama de bloques del sistema de identificación.tener un cálculo más exacto de la velocidad. A continuación se realiza un ejemplo práctico que va desde la identificación de la planta. en especial para velocidades bajas.1 Identificación de la planta Como se estableció en la sección 1.1 y 5. 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%. Esta captura de datos también pueden realizarse en otro software creado por usted en matlab. lo que lleva también a implementar alguna especie de filtro para mejorar la precisión. el cual puede ser el mismo Hyper-Terminal y su utilidad de “Capturar texto…” en el menú “transferir”. etc. Ejemplo Diseño Control PI Digital SetPoint + - e(k) PI digital m(k) Power PWM PWM MOTOR Velocidad Medida Sensado Las cuatro primeras secciones de este tutorial introdujeron varios conceptos prácticos del diseño de controladores. si los agujeros no son distribuidos simétricamente y no tienen el mismo diámetro.2. pasando por la selección del tiempo de muestreo. eléctricos. Disco Perforado TIM PWM Driver PWM MOTOR DC 12V MCU SCI (CONTROL PI) TIM IN-CAP Emisor-Receptor IR Driver Sensado Figura 10. en especial controladores digitales. la velocidad calculada será inestable o poco precisa. el hardware necesario para sensar la velocidad del motor (driver de sensado óptico) y por ultimo necesitamos una forma de capturar los datos generados.3. Paralelamente el microcontrolador deberá medir en todo momento la velocidad a la que gira el motor. los métodos de identificación no paramétricos nos permiten modelar un sistema sin tener que manejar los modelos mecánicos. LabView. 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. También es de saber. promediar varias medidas puede ser una solución. La solución más rápida es utilizar Hyper-Terminal. 5. en este caso el motor.

Figura 11. La figura 11 Muestra una gráfica obtenida con un procedimiento similar. En la grafica pueden observarse unas oscilaciones en la velocidad. Para minimizar los datos enviados por cada medida. su controlador PI le entregara el porcentaje de PWM a aplicar al motor. 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. el cual puede variar entre 0 y 1000. Entre más datos mucho mejor. Los datos enviados serán los mismos con los que trabajara directamente el control PI. estos se pueden enviar en binario. En esta gráfica el valor de PWM esta dado no en porcentaje sino en el valor de comparación del timer. al controlador deberá ingresar el error entrante (diferencia entre el Set-Point y la velocidad medida) en RPMs. . si usted envía un valor entre 0 y 100 indicando el porcentaje de PWM. si usted envía la velocidad en RPMs a la que gira el motor. es decir. Por su parte las unidades de la velocidad están en RPMs. Dicho periodo deberá ser tan pequeño como sea posible. 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. las cuales se deben a asimetrías e imperfecciones en el disco perforado. Se recomienda trabajar en las unidades que impliquen la menor cantidad de cálculos.• El MCU enviara periódicamente al PC el PWM aplicado y la velocidad medida. 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.

Figura 12. para obtener el modelo de primer orden con retardo para el motor DC.1. Y28.632 + Y1 = 3300 Los puntos Y28.2% = ∆Y * 0. Los puntos claves se muestran en la Figura 13.3% y Y63.3% = ∆Y * 0.1.283 + Y 1 = 1573 Y63. De la grafica 12 podemos obtener toda la información necesaria. se toman en puntos donde la velocidad es estable.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. Curva de Reacción motor DC modificada Seguimos el procedimiento descrito en la sección 1. . 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.

t 00 = 1.3% − t 00 = 0.458seg t 28.625seg t 63.5584 ∆U 890 Se obtiene entonces el modelo de primer orden del motor DC el cual es el siguiente: .167 θ '+τ = 0.167seg t 2 = t 63.2%.3% y t63.038seg y τ = 0.2% corresponden a los tiempos asociados a Y28.3% y Y63.425 Resolviendo el sistema se obtiene θ '= 0.387seg Figura 13. De esta forma se tiene que: t1 = t 28. Puntos de Referencia en Curva de Reacción Finalmente se obtiene la ganancia del sistema. por su parte t28. K= ∆Y 4947 = = 5.3 = 1.2 = 1.2% − t 00 = 0.425seg El sistema de ecuaciones queda de la siguiente forma: θ '+τ / 3 = 0.883seg t00 corresponde al instante de tiempo donde se aplica el escalón.

387s + 1 Mc (s ) = 0.038seg ) ≤ T ≤ 0.2 Selección del periodo de muestreo 5.387s + 1 5. Reemplazando las ecuaciones de la Tabla 2 para el controlador proporcional integral obtenemos .059s + 1 Aplicando el criterio obtenemos lo siguiente: 0. Sin embargo el problema establece el diseño de un control PI por lo que no haremos dicho análisis.2(0.5584e −0.387s + 1 5. Ajuste de Control Digital PI En la sección 4 se mencionaron algunos métodos de ajuste de controladores. 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.059seg + 0. 5.0194seg ≤ T ≤ 0.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.5584 1+ 0.6(τ eq + θ ') Sea Mc(s) el sistema en lazo cerrado sin considerar el retardo: 5.038seg ) 0.6(0.387s + 1 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. 6 y 7.8475 0.2(τ eq + θ ') ≤ T ≤ 0.059seg + 0.5584 0.3.5584 Mc (s ) = 0.M (s ) = 5.0582seg Seleccionamos como periodo de muestreo T = 0. estos métodos establecen criterios prácticos para diseñar los parámetros del controlador como lo son kc y Ti.4.02seg 5.3.5584 0.038s 0.3.387s + 1 + 5. El modo de control Proporcional Integral esta regido por las ecuaciones 5.387s + 1 Mc (s ) = 0.

Algoritmo de control El algoritmo de control es la rutina que se encarga de resolver la ecuación en diferencias asociada al controlador.33(0.01) Ti = 0.5584 * (0. Tenga en cuenta que esta rutina de control debe ejecutarse periódicamente según lo establece el Periodo de muestreo. se recomiendan potencias de 2 ya que las multiplicaciones y divisiones por estas pueden realizarse de forma más eficiente.5T ) Ti = 3. 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.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. como tampoco tienen sentido valores negativos.3. .038 + 0. en este caso cada 20 milisegundos. para ustedes podría ser simplemente el porcentaje de dureza de la señal de PWM. Antes de ejecutar el algoritmo de control se debe sensar la velocidad actual y el Set-Point.9 * 0.0. 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.3872e(k ) − 1. por lo tanto el algoritmo de control debe garantizar que la salida m(k) nunca toma estos valores. Para el caso que hemos desarrollado en este ejemplo m(k) es el valor comparación que utiliza el TIM para generar el PWM.387 Kc = 5.2238e(k − 1) + m(k − 1)) 256 355e(k ) − 313e(k − 1) + 256m(k − 1) m (k ) = 256 m(k ) = Aunque el procedimiento anterior puede realizarse con cualquier constante.33(θ '+0.5.5T ) 0.3872e(k ) − 1.01) Kc = 1.3055 Kc = Ti = 3.038 + 0. Otra práctica recomendable en la rutina de control es implementar una especie de saturación sobre el valor m(k). 6 y 7 obtenemos: q 0 = 1.15984 Reemplazando Kc y Ti en las ecuaciones 5.2238 m(k ) = 1. Recuerde también inicializar e(k-1) y m(k-1) a cero.3872 q1 = −1.9τ k (θ '+0.

Sign up to vote on this title
UsefulNot useful