control digital de velocidad de un motor cd

50

Click here to load reader

Upload: eduardo-interiano

Post on 24-Jul-2016

270 views

Category:

Documents


6 download

DESCRIPTION

Destinado a proporcionar a los estudiantes del curso EL-5409 Laboratorio de Control Automático un ejemplo de diseño e implementación del control digital de velocidad de un motor de CD.

TRANSCRIPT

Page 1: Control digital de velocidad de un motor CD

INSTITUTO TECNOLÓGICO DE COSTA RICA

ESCUELA DE INGENIERÍA ELECTRÓNICA

LABORATORIO DE CONTROL AUTOMÁTICO

“Control digital de velocidad de un motor CD”

Eduardo Interiano

Cartago, febrero 2015

)(zPI

)(ˆ zGO

)(zmotorCD)(zR

2.1

)(z

Page 2: Control digital de velocidad de un motor CD
Page 3: Control digital de velocidad de un motor CD

i

Índice

Capítulo 1: Introducción .............................................................................................................. 1

1.1 Descripción de la planta ................................................................................................... 1

1.2 Descripción del problema................................................................................................. 1

1.3 Objetivos del diseño ......................................................................................................... 2

Capítulo 2: Encontrando un modelo para el motor CD ............................................................... 3

2.1 El modelo analítico........................................................................................................... 3

2.1.1 Las ecuaciones diferenciales del modelo .................................................................. 3

2.1.2 La función de transferencia del modelo .................................................................... 4

2.1.3 Análisis el modelo obtenido...................................................................................... 5

2.2 El modelo empírico .......................................................................................................... 5

2.2.1 Diseño y realización del experimento ....................................................................... 5

2.2.2 Procesamiento de los datos obtenidos....................................................................... 7

2.2.3 Validación del modelo empírico ............................................................................. 11

2.2.4 Selección del mejor modelo empírico..................................................................... 12

2.2.5 ¿Cuál modelo seleccionar? ..................................................................................... 13

Capítulo 3: Diseño del control ................................................................................................... 14

3.1 Selección de la estructura de control y la arquitectura del controlador ......................... 14

3.2 Diseño en el lugar de las raíces ...................................................................................... 15

3.2.1 Definición de las restricciones de diseño ................................................................ 15

3.2.2 Aplicación de las restricciones de diseño al plano s ............................................... 15

3.2.3 Selección del método de cálculo del compensador ................................................. 16

3.2.4 Cálculo del compensador de forma analítica [6] .................................................... 16

3.2.5 Cálculo del compensador utilizando Diseño Asistido por Computador ................. 17

3.3 Verificación de los diseños obtenidos ............................................................................ 18

Capítulo 4: Implementación del controlador ............................................................................. 21

4.1 Selección de la forma de implementación...................................................................... 21

4.2 Implementación digital con microprocesador ................................................................ 21

4.2.1 Condiciones y restricciones del diseño ................................................................... 21

4.2.2 Selección del microprocesador para el control ....................................................... 22

4.2.3 Diseño del circuito de control ................................................................................. 22

4.2.3.1 Definición de entradas y salidas ...................................................................... 23

Page 4: Control digital de velocidad de un motor CD

ii

4.2.3.2 Acondicionamiento de señales ........................................................................ 23

4.2.3.3 Cálculo del filtro acondicionador de señal ...................................................... 23

4.2.4 Diseño del programa de control .............................................................................. 26

4.2.4.1 Selección del tiempo de muestreo y discretización del controlador ................ 26

4.2.4.2 Selección del tipo de variables ........................................................................ 27

4.2.4.3 Escalado de las variables ................................................................................. 27

4.2.4.4 Programación del control digital ..................................................................... 27

4.2.5 Implementación del controlador ............................................................................. 30

4.2.5.1 El circuito electrónico del controlador ............................................................ 30

4.2.5.2 Diseño del circuito impreso ............................................................................. 31

4.2.5.3 Pruebas de funcionamiento .............................................................................. 32

Capítulo 5: Análisis de resultados ............................................................................................. 34

5.1 Verificando el cumplimiento de objetivos ..................................................................... 34

5.1.1 Respuesta ante cambios en la entrada de referencia ............................................... 34

5.1.2 Respuesta ante cambios en la entrada de perturbación ........................................... 35

5.2 Verificando la implementación digital ........................................................................... 35

5.2.1 Periodicidad y tiempo de ejecución del algoritmo de control................................. 35

5.2.2 Revisión de la acción de control ............................................................................. 36

Capítulo 6: Conclusiones ........................................................................................................... 37

Capítulo 7: Recomendaciones ................................................................................................... 38

Capítulo 8: Referencias .............................................................................................................. 39

Apéndice I: Programa completo del regulador PI en C ................................................................ 40

Apéndice II: Circuito electrónico e impreso del regulador PI ...................................................... 43

Page 5: Control digital de velocidad de un motor CD

iii

Índice de figuras

Figura 1.1: Fotografía de la planta hps5130 ................................................................................... 1

Figura 2.1: Esquema del modelo del motor CD controlador por armadura .................................... 3

Figura 2.2: Excitación y respuesta de velocidad de la planta hps5130 ........................................... 7

Figura 2.3: Importación de los datos capturados como vectores en Matlab ................................... 8

Figura 2.4: Importación de los datos al proceso ident .................................................................... 9

Figura 2.5: Preprocesamiento de los datos para identificación y validación en el proceso ident . 10

Figura 2.6: Selección de rangos para identificación y validación en el proceso ident ................. 10

Figura 2.7: Resultados de la identificación de varios modelos de proceso en ident ..................... 11

Figura 2.8: Comparación de los resultados de la identificación ................................................... 12

Figura 2.9: Verificación de la respuesta del modelo seleccionado ............................................... 13

Figura 3.1: Estructura del lazo de control con los atenuadores .................................................... 14

Figura 3.2: Estructura del lazo de control mostrando el modelo que se ve desde el regulador .... 14

Figura 3.3: Lugar de las raíces para la planta, mostrando las restricciones de diseño .................. 16

Figura 3.4: Lugar de las raíces del sistema con el regulador PI aplicado ..................................... 18

Figura 3.5: Simulación de la respuesta de velocidad y la acción de control del sistema con el

regulador PI diseñado manualmente ante una entrada de escalón unitario (1krpm) .................... 19

Figura 3.6: Simulación de la respuesta de velocidad y la acción de control del sistema con el

regulador PI diseñado en sisotool ante una entrada de escalón unitario (1krpm) ......................... 19

Figura 4.1: Asignación de las entradas y salidas al microprocesador escogido ........................... 23

Figura 4.2: Diagrama electrónico del filtro antisolapamiento para la entrada de velocidad ........ 25

Figura 4.3: Diagrama de la fuente de alimentación del regulador PI ........................................... 30

Figura 4.4: Filtro antisolapamiento del regulador PI .................................................................... 30

Figura 4.5: Conexiones al microprocesador del regulador PI ....................................................... 31

Figura 4.6: Imagen del diseño del circuito impreso del regulador PI ........................................... 31

Figura 4.7: Fotografía del circuito impreso del regulador PI con los componentes montados .... 32

Figura 5.1: Respuesta de velocidad ante una entrada escalón de 4krpm y comportamiento ante

perturbaciones ............................................................................................................................... 34

Figura 5.2a: Periodo de muestreo ................................................................................................. 36

Figura 5.2b: Duración del algoritmo de control ...................................................................... 36

Figura 5.3: Ciclo de trabajo del la señal de PWM ........................................................................ 36

Page 6: Control digital de velocidad de un motor CD

iv

Prólogo

Este trabajo es el primero de una serie de ejemplos de diseño, o Diseños de Referencia,

destinados a proporcionar a los estudiantes del curso EL-5409 Laboratorio de Control

Automático ejemplos reales de diseño e implementación de diferentes tipos de controles

electrónicos automáticos.

Estos trabajos ejemplifican todas las facetas del desarrollo e implementación de un proyecto de

control; mostrando así a los estudiantes, cómo se espera que ellos a su vez desarrollen el

proyecto final en dicho curso, haciendo hincapié en la metodología y buenas prácticas de diseño

y construcción.

Con este aporte se espera que los estudiantes realicen mejor sus proyectos y en mucho menos

tiempo; aplicando adecuadamente la teoría, integrando los conocimientos previos y los

particulares del control automático y evitando los errores comunes que se han detectado durante

los años de impartir este curso.

El regulador PI documentado este ejemplo y la planta hps5130 han sido utilizados con éxito

durante varios semestres en el Laboratorio de Control Automático para la realización de los

llamados proyectos cortos: “Identificación del sistema motor hps5130” [3] y “Control de

velocidad del sistema motor hps5130” [2]. En estos proyectos cortos, los estudiantes deben

realizar el experimento con el interruptor (4) hacia la derecha, ver la Figura 1.1, lo cual produce

un sistema con un resultado completamente diferente al mostrado en este documento y por lo

tanto no se está dando aquí la solución a ninguno estos experimentos.

Page 7: Control digital de velocidad de un motor CD

1

Capítulo 1: Introducción

1.1 Descripción de la planta

La planta hps5130 dispone de los elementos necesarios para realizar un control de velocidad o un

control de torque de un motor de CD de imán permanente. Los controles se pueden realizar de

forma independiente o como controles anidados.

Los elementos principales de la planta son un motor de CD (2) de 12V y un generador de CD (8)

también de 12V que se encuentran directamente acoplados. Adicionalmente la planta posee un

amplificador de potencia (1) para accionar el motor con señales de ±5V o ±10V; un

tacogenerador y su amplificador con ganancia de 2V/1000min-1

como sensor de velocidad

angular (6); un sensor de corriente (7) con su respectivo amplificador con ganancia de 10V/A ;

un codificador en cuadratura (9) acoplado también al eje del motor-generador e interruptores

para crear electrónicamente una perturbación de carga al generador (5) y para simular un cambio

en el momento de inercia (4).

Figura 1.1: Fotografía de la planta hps5130

1.2 Descripción del problema

El problema consiste en crear un control electrónico que debe ser capaz de mantener la velocidad

constante establecida para sistema; aun ante perturbaciones en la carga del motor; perturbaciones

tales como: cargar, (con una bombilla incandescente), el generador acoplado; o también las

producidas al oponer un torque por fricción al eje de salida del motor.

Este documento se enfoca en el análisis, diseño e implementación de un control digital para la

velocidad angular del motor de CD.

Page 8: Control digital de velocidad de un motor CD

2

1.3 Objetivos del diseño

Entre los objetivos de control para el diseño se tienen: un sobreimpulso menor al 3%, un tiempo

de estabilización del 2% menor a 150ms y un error de estado estacionario de 0%. El punto de

operación del motor deberá ser de 4krpm y deberá soportar las perturbaciones producidas al

accionar la carga eléctrica acoplada al generador.

Además, el control debe ser implementado de forma digital para que sirva como ejemplo de

realización para este tipo de sistemas.

Page 9: Control digital de velocidad de un motor CD

3

Capítulo 2: Encontrando un modelo para el motor CD

Esta parte trata sobre los métodos matemáticos analíticos y experimentales que sirven para

obtener un modelo numérico sobre el cual basar el diseño del sistema de control.

2.1 El modelo analítico

El modelo analítico se obtiene a través de la representación de las relaciones entre las diferentes

variables físicas del sistema utilizando ecuaciones diferenciales ordinarias de coeficientes

constantes. Esto significa que el resultado a obtener es un modelo lineal e invariante en el

tiempo.

2.1.1 Las ecuaciones diferenciales del modelo

Como se trata de un motor CD de imán permanente, Para obtener una visión general del motor

utilizaremos el esquema mostrado en la figura y escribiremos las ecuaciones de malla para el

circuito de armadura, la ecuación de la flecha de salida del motor y las relaciones conocidas entre

el torque del motor y la corriente de armadura; y la que existe entre la tensión inducida y la

velocidad angular del motor. Para más detalles consultar [5].

Figura 2.1: Esquema del modelo del motor CD controlador por armadura

Donde:

ua es la tensión de armadura

Page 10: Control digital de velocidad de un motor CD

4

La es la inductancia de armadura

Ra es la resistencia de armadura

ia es la corriente de armadura

ui es la tensión inducida

J es la inercia de la flecha

B es la fricción del eje del motor

T es el torque del motor

es la velocidad angular del motor

K1 y K2 son constantes del motor

Se sustituyen la tensión inducida en la ecuación de la malla y en torque en la ecuación de la

flecha. Además se reescriben las ecuaciones resultantes de forma tal que a la derecha se

encuentren las derivadas de la velocidad angular y de la corriente de armadura.

Luego se escriben las ecuaciones en forma matricial para obtener un modelo en variables de

estado físicas, con la velocidad angular y la corriente como variables de estado. La salida del

sistema es la velocidad angular.

[

]

[

]

[ ] [

]

[ ] [ ]

2.1.2 La función de transferencia del modelo

Se encuentra finalmente la función de transferencia para el modelo del motor de CD controlado

por armadura.

[ ]

(

[

]

[

]

)

[

]

Page 11: Control digital de velocidad de un motor CD

5

(

) (

)

2.1.3 Análisis el modelo obtenido

Del resultado obtenido para la función de transferencia del motor se infiere, ya que el polinomio

característico es de orden 2 y todos los elementos existen y son del mismo signo, que la planta

tiene dos polos en el semiplano izquierdo y por lo tanto es estable.

Depende de los valores particulares para las constantes físicas del motor si los polos son

complejos conjugados o si son reales. En el caso de polos reales, uno de ellos puede ser el polo

dominante y el otro no; lo que significa que este último podría simplificarse quedando el modelo

del motor de primer orden.

2.2 El modelo empírico

Los valores de las constantes del motor pueden ser obtenidos de la hoja de datos proporcionada

por el fabricante y algunas constantes pueden medirse en el laboratorio; pero, a veces no es

posible determinar todos los valores y es en este caso que se recurre a uno o varios experimentos

para obtener un modelo empírico.

2.2.1 Diseño y realización del experimento

Para obtener el modelo empírico del motor de CD vamos a realizar cambios en la entrada, la

tensión de armadura, mientras registramos simultáneamente, con ayuda de un osciloscopio, la

respuesta de velocidad obtenida y la entrada aplicada.

El tipo de entrada recomendable para excitar el sistema motor adecuadamente es una señal no

determinística; por lo que produciremos una señal de pulsos de amplitud constante con duración

en alto y bajo variables, simulando así una entrada no determinística. En este caso se aplicará la

señal a la entrada de +/- 5V, por lo que utilizaremos la ganancia máxima del amplificador,

12V/5V = 2.4.

Para el experimento usaremos: un computador con Matlab y la biblioteca de identificación de

sistemas, ident instalados; un osciloscopio Agilent InfiniiVision 2000X y una fuente de

alimentación de CD ajustable, aunque puede usarse también una fuente fija de 5V.

Usando como referencia la figura 1 se siguieron estos pasos:

Paso 1) Se ajustaron las propiedades del osciloscopio como se muestra en la tabla 1.

Paso 2) Se colocó el interruptor que controla la inercia, (4), hacia la izquierda, en posición de

desconectado, o sea inercia mínima.

Paso 3) Se colocó el interruptor que controla la carga, (5), en la posición de apagado (0).

Paso 4) Se conectó un cable entre el punto (1), salida +/- 12V del amplificador; y el punto (2)

(+12V), armadura del motor CD.

Page 12: Control digital de velocidad de un motor CD

6

Paso 5) Se conectó el canal 1 del osciloscopio, el cual se usó para medir la tensión de armadura

del motor, al punto (1), la salida del amplificador.

Paso 6) Se conectó el canal 2 del osciloscopio, con el que se medió la respuesta de velocidad del

motor, a la salida del tacómetro, punto (6), La ganancia de esta salida es de 2V/1000 rpm

(aunque las rpm no son unidades adecuadas se siguen usando; es mucho mejor trabajar en rad/s).

Paso 7) Se conectaron las tierras del generador de señales, del osciloscopio y de la fuente de

alimentación a un punto de tierra del hps5130 (las tierras no se muestran en la figura 1).

Paso 8) La salida de la fuente, ajustada aproximadamente en 3.65V, se conectó a la entrada del

amplificador, punto (3) a través de un interruptor.

Paso 9) Se armó el osciloscopio en modo de un solo barrido y se simuló la señal de excitación

seudoaleatoria, abriendo y cerrando el interruptor varias veces para producir una señal con

amplitud constante y duraciones en alto y en bajo variables; tal como se muestra en la figura 3.

Paso 10) Los datos capturados con el osciloscopio se guardaron, en formato CSV, en una

memoria flash USB.

Tabla 2.1: Ajustes al osciloscopio para el experimento

Función Propiedades Comentario

Ajustes

del canal

1

2 voltios por división.

Punta de prueba 10:1

La señal de entrada (punto 3) puede

variar entre +/- 5 voltios y la salida del

amplificador (punto 1) entre +/- 12V.

Ajustes

del canal

2

2 voltios por división.

Punta de prueba 10:1

La señal de salida tiene una ganancia de

2V/1000 rpm y podría llegar a +/- 10V.

Barrido

horizontal 1 segundo por división

Para una duración máxima de unos 10

segundos de experimento

Retardo

del

disparo

4 segundos Para lograr que el disparo se produzca al

inicio de la pantalla

Disparo Modo único, canal 1, flanco

de subida.

La excitación del motor es un evento

único

En la figura 3 se observa que el comportamiento de la respuesta de velocidad del motor CD

controlado por armadura en la planta hps5130 tiene un comportamiento amortiguado, similar a la

respuesta de un sistema de primer orden.

Page 13: Control digital de velocidad de un motor CD

7

Figura 2.2: Excitación y respuesta de velocidad de la planta hps5130

2.2.2 Procesamiento de los datos obtenidos

El procesamiento de los datos inicia con la limpieza del encabezado de las columnas del archivo

.CSV grabado con el osciloscopio. Primero abra el archivo de datos y elimine la segunda fila, la

que contiene las unidades; luego asigne un nombre adecuado a cada columna, tal como se

muestra en la figura. La primera columna es el vector de tiempo, la segunda y tercera columna

contienen los datos del canal 1 y 2 respectivamente. Guarde el archivo siempre en formato .CSV.

Tabla 2.2: Ejemplo de los datos capturados y listos para ser procesados en Matlab

Page 14: Control digital de velocidad de un motor CD

8

El siguiente paso es importar los datos en Matlab. Seleccione el menú File\Import Data…,

busque el archivo que contiene los datos del experimento; ábralo presione Next y luego

seleccione la opción de crear vectores para cada columna. Presione Finish para completar la

acción.

Figura 2.3: Importación de los datos capturados como vectores en Matlab

Ejecute la orden ident en la ventana de Matlab para invocar la interfaz gráfica del identificador

de sistemas de Matlab. En el menú desplegable para importar datos en ident, seleccione la

opción de importar datos en el dominio del tiempo. Coloque los nombres de las variables, defina

un nombre para el conjunto de datos, coloque cero para el tiempo inicial del experimento y

declare el tiempo de muestreo; luego presione Import.

Page 15: Control digital de velocidad de un motor CD

9

Figura 2.4: Importación de los datos al proceso ident

El siguiente paso es seleccionar rangos para la identificación y para la verificación del modelo.

Del menú de operaciones seleccione Select range… Con el ratón encuadre la sección deseada

del experimento. Cada rango seleccionado da lugar a un nuevo objeto al presionar Insert. Uno

de los objetos seleccionados debe ser arrastrado a la sección de identificación y otro a la de

validación. Es conveniente que la selección de rangos sirva además para seleccionar aquellas

porciones del experimento que tengan menos problemas de ruido.

Page 16: Control digital de velocidad de un motor CD

10

Figura 2.5: Preprocesamiento de los datos para identificación y validación en el proceso ident

Figura 2.6: Selección de rangos para identificación y validación en el proceso ident

Ahora se procede a la identificación del modelo. Del menú de estimación seleccione uno de los

métodos disponibles. Es preferible iniciar con los métodos más simples de identificación, tal

como el de Modelos de Proceso, que permite encontrar modelos de hasta orden 3 en tiempo

continuo. Para estudiar los fundamentos matemáticos de la identificación de sistemas consulte

[4].

Page 17: Control digital de velocidad de un motor CD

11

Figura 2.7: Resultados de la identificación de varios modelos de proceso en ident

En este caso por la simplicidad del modelo; que se infiere del análisis los resultados teóricos y

experimentales; se estimaron tres modelos: uno de primer orden simple, uno de primer orden con

retardo y el último de segundo orden con polos reales.

Ya que la señal de prueba aplicada al sistema motor consta de varios escalones y del análisis

preliminar se presume que el modelo puede ser de primer orden, se podría aplicar también el

método basado en la respuesta ante escalón, descrito en [1], para la identificación de sistemas de

primer orden con retardo.

2.2.3 Validación del modelo empírico

Se inicia la validación de los modelos seleccionando en la ventana de ident la opción Model

output. En la ventana que se despliega pueden compararse los resultados de cada modelo

obtenido contra los datos experimentales.

Page 18: Control digital de velocidad de un motor CD

12

Figura 2.8: Comparación de los resultados de la identificación

De la comparación de resultados se tiene que ningún modelo destaca especialmente. Todos son

similares.

2.2.4 Selección del mejor modelo empírico

Las aproximaciones obtenidas en este caso son todas aceptables, sobrepasando el 98% de

aproximación; esto no siempre es así, en este caso la simplicidad del modelo y el poco ruido

ayudaron mucho al resultado. La selección del modelo a utilizar será tomada por la aproximación

y la simplicidad, prefiriéndose altas aproximaciones y alta simplicidad; por lo que el modelo de

orden 1 sin retardo es el escogido.

El modelo P1 se exporta al espacio de trabajo de Matlab arrastrándolo al ícono llamado To

workspace. Luego se pueden extraer los modelos con la orden zpk:

modelos = zpk(P1);

Generalmente se obtienen dos modelos, el primero es el que nos interesa y corresponde a la

función de transferencia de la salida a la entrada. El segundo modelo es la influencia del ruido de

proceso en la salida. Se separa el modelo del motor.

motorCD = modelos(1);

Con lo que se obtiene el modelo siguiente:

Se simula el modelo obtenido con los datos experimentales de entrada usando la orden lsim.

y = lsim(motorCD,Entrada,Tiempo)

Al graficar los resultados experimentales junto a la simulación del modelo se puede verificar la

consistencia del modelo con los datos.

Page 19: Control digital de velocidad de un motor CD

13

plot(Tiempo,Entrada,Tiempo,Velocidad,Tiempo,y)

Se puede observar la coincidencia casi completa entre la curva experimental, (en verde), y la

respuesta del modelo en simulación, (en rojo), ante la misma entrada.

Figura 2.9: Verificación de la respuesta del modelo seleccionado

2.2.5 ¿Cuál modelo seleccionar?

Muy raras veces se dispone de suficiente información para tener un modelo teórico completo,

con todas sus constantes bien conocidas, generalmente hay parámetros que no se conocen

completamente y a veces éstos deben ser simplificados y despreciados. En esos casos un modelo

empírico con una estructura, tipo y orden similar al modelo teórico, que posea una aproximación

suficientemente buena, es el modelo más recomendado.

El análisis teórico había mostrado la posibilidad de que el modelo del motor tuviese orden dos,

con polos reales. El resultado experimental confirma que solamente existe un polo real

dominante y que el modelo del motor en este caso no posee un retardo o tiempo muerto

apreciable. Es por ello que el modelo escogido es el modelo experimental de orden 1.

0 0.2 0.4 0.6 0.8 1

0

1

2

3

4

5

6

7

Tiempo [s]

Ten

sió

n d

e a

rma

dura

; V

elo

cid

ad

Verificación de la respuesta del modelo

Entrada

Velocidad

Modelo

Page 20: Control digital de velocidad de un motor CD

14

Capítulo 3: Diseño del control

3.1 Selección de la estructura de control y la arquitectura del controlador

En este caso, se selecciona una estructura de control tradicional de un solo lazo, con un solo

grado de libertad, con el controlador en el camino directo.

De acuerdo al modelo de primer orden y tipo cero, obtenido, que no posee sobreimpulso; y a la

condición de diseño dada de obtener un error cero para el estado estacionario; se escoge como

estructura de control la de un regulador PI; donde la parte integral hará que el sistema se

transforme a tipo 1, lo cual garantizará el error cero en estado estacionario para entradas escalón;

lo mismo lo hará que el sistema sea resistente a perturbaciones, tanto en la salida como en la

entrada de la planta.

Se muestra en el recuadro de color naranja, la planta con el amplificador de ganancia 2.4 a la

entrada del motor. Como la salida de velocidad del motor tiene una ganancia de 2V/1krpm y las

tensiones de salida serían demasiado altas para un sistema microprocesador funcionando a 5V, se

usará atenuador para acondicionar la salida de velocidad a la entrada al sistema de control. Para

efectos de mantener la consistencia de las variables, se incluirá también un atenuador igual en la

entrada de referencia, de tal forma que el cálculo del error se realice con la misma escala.

Figura 3.1: Estructura del lazo de control con los atenuadores

Al simplificar el diagrama de control inicial obtenemos:

Figura 3.2: Estructura del lazo de control mostrando el modelo que se ve desde el regulador

2.4

R(s) Ω(s)5.0

+

-

)(sPI

5.0

)(smotorCD

)(sGO

1.2R(s) Ω(s)+

-

)(sPI

)(ˆ sGO

)(smotorCD

Page 21: Control digital de velocidad de un motor CD

15

Con ello el modelo de la planta completa incluyendo al motor puede ser escrito como:

3.2 Diseño en el lugar de las raíces

El diseño en el lugar de las raíces inicia con el trazado del lugar de las raíces del modelo de la

planta y el trazado gráfico de las restricciones de diseño sobre el mismo lugar de las raíces.

3.2.1 Definición de las restricciones de diseño

Se consignan la tabla las condiciones dadas para el control en la sección 1.3.

Tabla 3.1: Condiciones establecidas para el control

Condición Tiempo de

estabilización Sobreimpulso

Error de estado

estacionario

Valor 150ms 3% 0%

Las condiciones de diseño dadas serán traducidas a parámetros en el plano s. Del tiempo de

estabilización pedido de 0.15s se obtiene:

De donde

De la condición de sobreimpulso inferior al 3% obtenemos el coeficiente de amortiguamiento

relativo deseado.

√( )

( )

√(

)

(

)

3.2.2 Aplicación de las restricciones de diseño al plano s

La condición de tiempo de estabilización se incorpora al lugar de las raíces como una línea

perpendicular al eje real negativo en -26.67 unidades.

El coeficiente de amortiguamiento relativo se convierte a un ángulo que se incorpora al plano

como dos radiales con un ángulo de ± acos(0.7448) = 41.86°.

Los polos de lazo cerrado del sistema deben ubicarse dentro del área blanca para satisfacer las

condiciones.

Page 22: Control digital de velocidad de un motor CD

16

Figura 3.3: Lugar de las raíces para la planta, mostrando las restricciones de diseño

3.2.3 Selección del método de cálculo del compensador

En este caso podemos escoger varios métodos para calcular el regulador PI a implementar. Por

un lado podemos realizar el diseño en tiempo continuo y luego proceder a discretizar e

implementar el diseño de forma digital, en lo que se conoce como emulación analógica. Por otro

lado también se puede discretizar la planta y realizar el diseño del regulador directamente en

tiempo discreto, aplicando diseño digital directo. Este último método no se presenta en este

documento, ya que es el método que se sugiere aplicar en el Proyecto Corto 2: Control de

velocidad del sistema motor hps5130 [2], que se realiza regularmente en el curso de Laboratorio

de Control Automático y no se desea dar aquí la solución a ese tema.

Como el regulador PI existe en ambos dominios del tiempo y es relativamente simple la

transformación entre dominios, se escoge el diseño analógico para luego realizar la

implementación digital. Este método evita escoger desde ya un tiempo de muestreo para el

controlador digital y deja esto para la implementación final.

Una vez escogido el dominio, falta escoger el método de cálculo. Se tiene también para esto

varias opciones. Cómo la planta es simple y el regulador PI(s) tiene solamente dos constantes, se

puede realizar un cálculo analítico basado en la ubicación del polo de lazo cerrado. También se

puede realizar un cálculo iterativo asistido por computador, en el plano complejo, con la

herramienta sisotool de Matlab; este último método tiene la ventaja de que se pueden observar

directamente en simulación los resultados al realizar los ajustes del controlador.

3.2.4 Cálculo del compensador de forma analítica [6]

Para el cálculo del regulador de forma analítica se parte de la definición de un regulador PI en

tiempo continuo

Page 23: Control digital de velocidad de un motor CD

17

(

)

Después de arreglar la ecuación de definición del PI(s) se encuentra que es similar a un

compensador de atraso con un cero en s = –KI/KP. Si se ubica el cero del regulador de tal manera

que cancele el polo de la planta, en s = -24.6, solamente se tendría que calcular el valor de KP

para ubicar el polo de lazo cerrado, en una ubicación adecuada, en el eje real negativo dentro de

la zona blanca. El valor seleccionado para el polo de lazo cerrado es s = -27.4, ligeramente

dentro de la zona blanca.

Se sustituye el control previamente descrito y se evalúa la condición de ganancia del lugar de las

raíces para obtener la ganancia proporcional KP.

|

||

La ganancia integral se calcula a partir de la ubicación escogida para el cero del compensador

Por lo que el compensador PI(s) será:

3.2.5 Cálculo del compensador utilizando Diseño Asistido por Computador

Se invoca al entorno gráfico de Matlab para el diseño de sistemas SISO en el lugar de las raíces:

sisotool('rlocus',plantaCD)

En la viñeta del editor del compensador del sisotool se agrega un integrador y un cero real, un

poco a la derecha del polo de lazo abierto de la planta, en s = -24. Luego se ajusta la ganancia

hasta obtener un tiempo de estabilización ligeramente inferior a 150ms; lo que se logra con el

ajuste de la ganancia en 0.75.

El regulador PI(s) obtenido por el método asistido por computador es:

Page 24: Control digital de velocidad de un motor CD

18

Figura 3.4: Lugar de las raíces del sistema con el regulador PI aplicado

3.3 Verificación de los diseños obtenidos

Para la validación de los diseños realizados, se procede a una simulación de la respuesta del

sistema en lazo cerrado ante una entrada en forma de escalón unitario, la unidad en este caso

significa 1krpm.

La primera simulación corresponde al regulador PI(s) desarrollado de forma analítica. Se grafica

tanto la respuesta de velocidad, como la acción de control. En la curva de respuesta de velocidad

se busca el cumplimiento de los objetivos de diseño y se verifica que el tiempo de estabilización

es inferior a 150ms; que no existe sobreimpulso apreciable y que además se alcanza el valor final

con error cero en estado estacionario.

Page 25: Control digital de velocidad de un motor CD

19

Figura 3.5: Simulación de la respuesta de velocidad y la acción de control del sistema con el

regulador PI diseñado manualmente ante una entrada de escalón unitario (1krpm)

En la curva correspondiente a la acción de control de la Figura 3.5 se comprueba que la tensión

máxima de entrada a la planta, necesaria para obtener 1krpm, es bastante inferior a 1V (0.74V);

también, en régimen estable el valor de la acción de control es de aproximadamente 0.67V por lo

que con una tensión de salida máxima de 5V será posible obtener una velocidad de 4krpm como

punto de operación, con una acción de control en régimen estable de 4*0.67 = 2.68V y al

conectarse la perturbación de carga el sistema tendrá suficiente margen extra, (5V-2.68V =

2.32V), para corregir las perturbaciones.

Figura 3.6: Simulación de la respuesta de velocidad y la acción de control del sistema con el

regulador PI diseñado en sisotool ante una entrada de escalón unitario (1krpm)

Verificación de la acción de control ante un escalón de entrada

Tiempo [s] (seconds)

Velo

cid

ad

; A

cció

n d

e c

on

tro

l

0 0.05 0.1 0.15 0.2 0.250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

System: Velocidad

Settling Time (seconds): 0.143

Velocidad

Acción de control

Page 26: Control digital de velocidad de un motor CD

20

La segunda simulación, mostrada en la Figura 3.6 y que corresponde al regulador PI(s)

desarrollado en sisotool, muestra un resultado similar al anterior. Realmente los dos reguladores

son tan parecidos, que no se podría esperar resultados muy diferentes entre sí. En esta gráfica se

puede observar que ante un escalón unitario, el tiempo de subida es de 0.081s y la acción de

control alcanza el valor final de 0.664V.

Page 27: Control digital de velocidad de un motor CD

21

Capítulo 4: Implementación del controlador

4.1 Selección de la forma de implementación

Ya que en los objetivos de control se encuentra definido que el control debe ser implementado de

forma digital, el aspecto a definir es el tipo de sistema digital a utilizar, de entre las posibilidades

de placas de evaluación de microprocesadores y FPGA o un diseño desde cero.

Para seleccionar una plataforma es conveniente considerar las condiciones generales del control:

a) Complejidad física, esto es la cantidad de entradas y salidas y de lazos de control; b) Potencia

de cálculo requerida; determinada por el orden de los lazos control a implementar, el tipo de

aritmética a utilizar y el periodo de muestreo definido por la dinámica del sistema.

4.2 Implementación digital con microprocesador

4.2.1 Condiciones y restricciones del diseño

Se utilizará la entrada de 5V al amplificador de la planta y el atenuador reducirá la salida de

velocidad a la mitad, de tal forma, que los requisitos de entrada y salida para el sistema

microprocesador son de 0 a 5V. Además para el ajuste de las constantes del PI se utilizarán dos

potenciómetros en ese mismo rango de tensiones. En la tabla se resumen los requisitos de

entrada-salida para el sistema microprocesador.

Tabla 4.1: Definición de las entradas y salidas requeridas para el microprocesador

Señal Descripción Tipo y rango de operación

Entrada Medición de velocidad angular Analógica de 0 a 5V

Entrada Ajuste de constante proporcional Analógica de 0 a 5V

Entrada Ajuste de constante integral Analógica de 0 a 5V

Salida Señal de PWM para el motor Digital, 1kHz de 0 a 5V

Entrada Entrada para el pulsador del escalón Digital, con “pull-up”, activa en alto

Salida Escalón para sincronización/Pruebas Digital, activa en alto

Para simplificar la interfaz de usuario, para producir el escalón de velocidad de 4krpm que se

aplicará como señal de referencia al control, se usará un pulsador normalmente cerrado

conectado a una entrada digital; otra salida digital será utilizada para sincronizar el disparo del

osciloscopio. Esta salida digital, también será usada durante algunas pruebas para medir el

periodo de muestreo y el tiempo de ejecución del algoritmo de control.

NOTA: Podría haberse utilizado directamente la señal producida por el pulsador para disparar el

osciloscopio; pero, los interruptores mecánicos presentan rebote por lo que la señal de disparo

generada será una copia limpia, con la polaridad correcta y sin rebote de la producida por el

pulsador.

Page 28: Control digital de velocidad de un motor CD

22

4.2.2 Selección del microprocesador para el control

Para este caso, por ser un sistema muy simple, SISO, de un solo lazo de control, con regulador

PI; se hará un diseño desde cero utilizando un microcontrolador de bajo costo de 8 bits, al cual se

tratará de extraer el máximo rendimiento posible.

Existen varias familias de microcontroladores comunes 8 bits de bajo costo: los AVR, los PIC y

los HC908, entre otros. La escogencia del microcontrolador tiene que ver primero con la

satisfacción de los requisitos de potencia, ancho de palabra, cantidad y tipo de entradas y salidas

y otros recursos necesarios para el control digital; tales como la disponibilidad de temporizadores

para el PWM y para las interrupciones periódicas del control. En segundo lugar se encuentra la

disponibilidad de herramientas de desarrollo. A igualdad de condiciones, se impone finalmente la

experiencia del diseñador.

Tabla 4.2: Comparación de microprocesadores de 8 bits para implementar el regulador PI digital

Microprocesador ADC

(8/10 bits) PWM Temporizadores

E/S

digitales Reloj

Total pines

(DIP)

ATMEGA328P 6 (10b) 6 3 23 20MHz 28

ATtiny45 4 (10b) 2 2 6 10MHz 8

PIC12F1612 4 (10b) 2 2 6 16MHz 8

MC68HC908QT4A 6 (10b) 2 2 5 + 1 8MHz 8

MC68HC908QT4 4 (8b) 2 2 5 + 1 8MHz 8

Para todos estos microprocesadores, los fabricantes ofrecen herramientas de desarrollo gratuitas

que permiten la programación en lenguajes de alto nivel y es posible obtener placas para

desarrollo a muy bajo costo.

El ATMEGA328P es superior en todo en esta comparación; pero, es demasiado grande para los

propósitos de esta demostración del potencial de los microcontroladores de 8 bits de bajo costo.

Se incluyó en la comparación por su bajo costo y amplia disponibilidad en placas tipo Arduino y

eventualmente serviría para realizar un control digital de mayor envergadura.

Todos los otros procesadores listados podrían potencialmente cumplir con las expectativas del

diseño; pero, se dispone en el laboratorio de un sistema de desarrollo para la familia de los

HC908 y de suficiente experiencia como para que el diseño sea rápido con esta familia. El

procesador seleccionado finalmente es el MC68HC908QT4A; pero, por disponibilidad inmediata

usaremos el MC68HC908QT4, cuyos ADC son solamente de 8 bits, lo que reducirá un poco la

resolución de las entradas analógicas pero, sin mayores consecuencias en este caso. Con 8 bits en

el ADC, el error de cuantificación, que es equivalente a ±1/2 LSB, será de ±10rpm, lo cual a la

velocidad de operación de 4krpm representará únicamente un error de ±0.25%.

4.2.3 Diseño del circuito de control

Todos estos dispositivos de 8 patillas poseen múltiples funciones por cada una de ellas, al asignar

una función a una de ellas, las otras funciones ya no están disponibles. La disponibilidad de las

funciones no es totalmente ortogonal; esto es, hay algunas patillas que tienen funciones

preferidas y a la hora de asignar las funciones hay que comenzar por las que tienen más

restricciones, en este caso las patillas para PWM de las cuales solamente 2 tienen esta función.

Page 29: Control digital de velocidad de un motor CD

23

4.2.3.1 Definición de entradas y salidas

Las patillas 6 y 7 del microprocesador pueden ser asignadas a funciones de PWM; por lo que se

asignará la patilla 7 como la salida PWM para el motor de CD. Este procesador tiene una

restricción con la patilla 5 que solamente funciona como entrada; por lo que se asignará a la

función del pulsador. La patilla 4 es una entrada-salida de propósito general que se usará durante

las pruebas, como un testigo de la duración del algoritmo de control; y en la versión final, se

utilizará como salida para la señal de disparo; versión limpia del escalón producido por el

pulsador. El resto de patillas son entradas para el convertidor analógico-digital y en realidad son

totalmente intercambiables para las tres entradas analógicas a utilizar. El criterio a usar en este

caso para la asignación es facilitar el diseño del circuito impreso; por lo que las dos entradas para

los potenciómetros de ajuste serán las patillas 2 y 3 y la entrada para la velocidad será la patilla

6.

Figura 4.1: Asignación de las entradas y salidas al microprocesador escogido

4.2.3.2 Acondicionamiento de señales

La señal del pulsador simplemente requiere de una resistencia de “pull-up” para garantizar el

nivel en alto cuando el pulsador se encuentra abierto. A la patilla 5 se le puede configurar una

resistencia de “pull-up” interna de aproximadamente 30kΩ, por lo que no será necesario colocar

una resistencia externa.

Las entradas para los potenciómetros no requieren de ningún acondicionamiento especial. Los

potenciómetros se ajustan una vez para definir las constantes KP y KI.

La entrada de realimentación para medir la velocidad si requiere de acondicionamiento: Por un

lado se requiere atenuar la señal de al 50%, para tener una relación de 1V/krpm y no sobrepasar

los 5V de entrada al ADC y por otro, se requiere filtrar en pasabajas para limitar el ancho de

banda (filtro antisolapamiento); especialmente debido al ruido del tacogenerador; el cual produce

un pequeño rizado en la señal debida a la conmutación de las escobillas.

4.2.3.3 Cálculo del filtro acondicionador de señal

Para seleccionar la frecuencia del filtro pasabajas adecuado para acondicionar la señal se deben

tomar en cuenta dos condiciones:

a) Por un lado, la frecuencia de corte debe ser al menos una década mayor que el ancho

de banda del control para que el filtro no atenúe las frecuencias de interés y tampoco

introduzca una pérdida de fase apreciable; ya que si ésta llega a ser considerable, habría

VCC GND

KP

KI

TEST

PWM

SPEED

STEP

Page 30: Control digital de velocidad de un motor CD

24

que incorporarla al modelo del sistema y además debería ser compensada en el regulador

con un adelanto de fase correspondiente.

b) Por otro lado, la frecuencia de corte debe ser inferior a frecuencia del ruido a filtrar,

(4000rpm, fr = 67Hz); para que efectivamente atenúe las frecuencias indeseables.

Un criterio adicional para seleccionar la frecuencia de corte del filtro es que ésta sea menor que

la mitad de la frecuencia de muestreo, según el criterio de Nyquist.

El ancho de banda se puede estimar de varias formas, según el orden del sistema.

Caso 1) Para sistemas de segundo orden, la estimación del ancho de banda puede

realizarse con una fórmula utilizada en Control Automático [6] para la predicción

aproximada del tiempo de subida:

Donde:

tr = Tiempo de subida del 10% al 90% en segundos

BW = Ancho de banda de la señal en rad/s

Despejando el ancho de banda y convirtiendo las unidades del ancho de banda de rad/s a

Hz tenemos:

[Hz]

Caso 2) Para sistemas de primer orden, como el sistema en cuestión, el cual tiene una

respuesta con un tiempo de subida de aproximadamente 81ms, como puede observarse

en la simulación de la Figura 3.6, se estimará el ancho de banda con la fórmula dada en

[7]:

[Hz]

Donde:

tr = Tiempo de subida del 10% al 90% en segundos

BW = Ancho de banda de la señal en Hz

Page 31: Control digital de velocidad de un motor CD

25

La frecuencia de corte debe ser al menos una década mayor al ancho de banda del control; por lo

tanto:

La constante de tiempo para la frecuencia de corte calculada según el ancho de banda del control

es:

Se calcula la constante de tiempo τ para la frecuencia del ruido fr:

(

)

Por lo tanto, la constante de tiempo debe encontrase entre los límites encontrados; aunque, para

que tenga efecto apreciable sobre la señal de ruido, la constante de tiempo del filtro no debe estar

muy cerca del límite inferior de 2.4ms.

Utilizando componentes estándar para un filtro de primer orden, como se muestra en la Figura

4.2, se obtiene una constante de tiempo de 3.4ms, que produce un filtro con una frecuencia de

corte de 46.8Hz y que cumple con todos los criterios enunciados. Para este filtro es conveniente

utilizar un condensador con una tolerancia de ±10% o menos; si esto no fuese posible y la

tolerancia del condensador fuese del ±20%, siempre es posible disminuir el valor de la

resistencia, componente que es fácil de obtener con tolerancias del ±1%.

Figura 4.2: Diagrama electrónico del filtro antisolapamiento para la entrada de velocidad

La salida de PWM a 1KHz para la acción de control no requiere de ningún tipo de

acondicionamiento; ya tiene la amplitud de 0 a 5V máxima y el motor funcionará como filtro

paso bajo; recuperando la componente de valor medio de tensión, la cual corresponde a:

GND

SALIDA

6.8k

R2

6.8k

R1

C1

1u

ENTRADA

GND

Page 32: Control digital de velocidad de un motor CD

26

Donde:

τ = Ancho del pulso, proporcional al valor entre 0 y 0xFF asignado, para un PWM de 0% a 100%

TPWM = Periodo de la señal a 1KHz es de 1ms.

Umáx. = Valor máximo de la señal de PWM, 5V en este caso.

4.2.4 Diseño del programa de control

4.2.4.1 Selección del tiempo de muestreo y discretización del controlador

De la condición de tiempo de estabilización del 2% menor a 150ms se extrae el periodo de

muestreo. La recomendación es utilizar un valor de periodo de muestreo que proporcione entre

25 y 75 muestras durante el tiempo de estabilización del 2%; siendo 40 muestras el valor típico

escogido generalmente, lo que produce 10 muestras en una constante de tiempo.

Aunque un periodo de muestreo más pequeño hace que el sistema discreto se parezca mucho más

al sistema en tiempo continuo; debido a la restricción de producir la acción de control en menos

de una décima parte del periodo de muestreo, un periodo de muestreo muy corto impone

exigencias de cálculo mucho mayores al sistema digital, conduciendo a sistemas de mayor costo.

En este caso se escoge, como un compromiso entre velocidad y costo, un tiempo de muestreo de

5ms, lo que implica que la acción de control debe estar aplicada en 500s o menos.

El controlador en tiempo discreto a implementar es en realidad una aproximación al controlador

en tiempo continuo. Como tal, aun para este caso tan simple, existen varios métodos de

aproximación y se empleará la aproximación “backward” Euler a la integral, simplemente

sustituyendo el integrador en Laplace por su equivalente discreto:

; donde T es el

periodo de muestreo.

La implementación del regulador será en paralelo, como se ha mantenido en las ecuaciones

anteriores. Cada término se procesa por separado.

Page 33: Control digital de velocidad de un motor CD

27

Transformando al dominio del tiempo discreto se obtiene:

4.2.4.2 Selección del tipo de variables

Con la restricción de producir la acción de control en menos de 500s, no se intentará siquiera

utilizar aritmética de punto flotante, sería demasiado lento. Por ello los cálculos se realizarán en

aritmética de punto fijo con los siguientes tipos de variables:

Tabla 4.3: Definición de los tipos de variables a utilizar en la programación el regulador PI digital

Variable

Representación de

valores de los

ADC

Error e Integral Resultado

Tipo Octeto sin signo Entero con signo Doble entero con

signo

Representación

numérica 0 a 255 -32768 a 32767 -2

31 a (2

31-1)

4.2.4.3 Escalado de las variables

Con los potenciómetros se introducirán al sistema las constantes KP y KI. Loa valores máximos

que se van a representar con el potenciómetro totalmente girado en el sentido de las manecillas

del reloj son: KP = 1 y KI = 40; por lo que 255 cuentas del ADC será equivalentes a 1 para KP y a

40 para KI, por lo que tenemos un factor de escala de 255 para las constantes. Por otro lado, el

valor de la velocidad tiene una relación de 51 cuentas por krpm en el ADC y de 1/51 cuentas en

el PWM de salida (255 cuentas equivalen a 5V); por lo que se cancelan ambos factores. Para

escalar la salida simplemente habría que dividir entre el factor de escala de las constantes; esto se

hará en el programa final, utilizando una función de PWM que realiza esta conversión de manera

automática y que requiere que el ancho del pulso se escriba de manera proporcional como un

valor entre 0 y 0xFFFF para un ancho de pulso entre 0% y 100%.

4.2.4.4 Programación del control digital

Para la simulación y programación del control digital se utilizó el programa gratuito

“CodeWarrior Development Studio for Microcontrollers v6.3.1” con “Processor Expert v3.09”;

que se puede descargar desde la página de www.freescale.com, fabricante del microprocesador

utilizado. Una limitación de este programa gratuito es que funciona en Windows XP; por lo que

se debe instalar en una máquina virtual sobre Windows 7. Los programas completos se

encuentran en el apéndice I.

Page 34: Control digital de velocidad de un motor CD

28

El programa principal tiene dos partes:

a) Una rutina de inicio que prepara el procesador y sus periféricos y un ajuste del

oscilador local para garantizar un reloj interno con una exactitud del 0.2%.

b) un lazo infinito, que en este caso no se utiliza para nada; pero, en otros casos podría ser

usado para establecer comunicación con el usuario a través de teclado y pantalla u otro

medio de comunicación.

La rutina de interrupciones, encargada de realizar el algoritmo de control tiene varias partes y se

ha optimizado para una duración mínima:

a) Se elimina el rebote del pulsador pasando la señal por un filtro pasa bajas con una constante de

tiempo de 5ms. Se realiza la operación AND sobre dos muestras consecutivas separadas por un

periodo de muestreo; por lo tanto, solamente señales con una duración en alto de 5ms o más

atraviesan el filtro, eliminando así los rebotes del pulsador.

/* Corrimiento en memoria y lectura de la entrada */

step_2 = step_1;

step_1 = Step_GetVal();

/* La salida en alto solo si estuvo en alto τ > T */

step = (step_1 & step_2);

b) Lectura de la realimentación de velocidad y cálculo del error.

/* Lee la vel. actual en krpm */

err = AD1_MeasureChan(TRUE,VELOCITY);

err = AD1_GetChanValue8(VELOCITY,&speed);

/* Determina el error e inicia el cálculo del regulador */

if (step == TRUE) ek = REFERENCE - speed; else ek = 0 - speed;

c) Procesamiento del algoritmo PI en paralelo, junto con escalado temporal de las variables para

minimizar el tiempo de ejecución.

/* Escala el error a la mitad */

ek >>= 1;

/* Calcula la parte integral */

ik += KI*ek;

/* Calcula la acción total de control */

mk = ek * KP + ik;

/*Escala el resultado al doble */

mk <<= 1;

Page 35: Control digital de velocidad de un motor CD

29

d) Verificación de límites para la acción de control y envío por el PWM.

/* No puede haber valores negativos y el máximo es 0xFFFF */

if (mk < 0) mk = 0;

else if (mk > 65535) mk = 65535;

/* Con esta función 0xFFFF equivale al 100% del PWM */

err = PWM1_SetRatio16( (word) mk );

e) Rutina “anti-windup” por saturación del término integral para el próximo ciclo.

/* Satura el término integral */

if (ik > MAXINTEGRAL) ik = MAXINTEGRAL;

else if (ik < -MAXINTEGRAL) ik = -MAXINTEGRAL;

f) Lectura de los valores de ajuste para las constantes del PI para el próximo ciclo.

/* Lee la constante KP de 0 a 1 */

err = AD1_MeasureChan(TRUE,PROPORTIONAL);

err = AD1_GetChanValue8(PROPORTIONAL,&KP);

/* Lee y escala la constante KI de 0 a 40*T */

err = AD1_MeasureChan(TRUE,INTEGRAL);

err = AD1_GetChanValue8(INTEGRAL,&KI);

/* Escala la constante KI de 0 a 0.2 */

KI /= 5;

g) Durante la fase de pruebas, también se prende y apaga una señal testigo de la duración del

algoritmo de control.

/* Indica inicio del proceso con la lectura de la velocidad */

Test_SetVal();

{

/* Proceso del algoritmo PI */

}

/* Indica el fin del proceso después de producir el PWM */

Test_ClrVal();

Page 36: Control digital de velocidad de un motor CD

30

4.2.5 Implementación del controlador

4.2.5.1 El circuito electrónico del controlador

El circuito electrónico completo se encuentra en el apéndice II y consta de las siguientes partes:

a) Un regulador de 5V a bordo para garantizar una tensión de alimentación estable y libre de

ruido y además proteger al microcontrolador de picos de tensión y de tensiones de alimentación

invertidas.

Figura 4.3: Diagrama de la fuente de alimentación del regulador PI

b) El circuito acondicionador para la entrada de velocidad y que consiste en un atenuador del

50% y un filtro pasabajas antisolapamiento con una constante de tiempo de 3.4ms para filtrar

además el rizado del tacómetro.

Figura 4.4: Filtro antisolapamiento del regulador PI

c) El microprocesador, con un condensador para filtrar el ruido en la alimentación; los

potenciómetros de ajuste de las constantes del PI; el pulsador para producir el escalón,

normalmente cerrado y con un puente, que al removerlo permite mantener en alto la entrada de

forma permanente; y finalmente una colección de puntos de prueba para poder medir y registrar

todas las señales importantes.

Page 37: Control digital de velocidad de un motor CD

31

Figura 4.5: Conexiones al microprocesador del regulador PI

4.2.5.2 Diseño del circuito impreso

El circuito impreso fue diseñado con el programa Eagle y el diseño se exportó a POVRAY con

ayuda de la extensión eagle3d y se creó una imagen realista del impreso. En la imagen faltan

solamente los dos potenciómetros y el pulsador. El diseño del circuito impreso se muestra en el

apéndice II.

Figura 4.6: Imagen del diseño del circuito impreso del regulador PI

En la imagen del circuito impreso montado pueden verse las terminales para los puntos de

prueba de las señales importantes en el circuito, el pulsador y los potenciómetros. Hay que anotar

que por disponibilidad inmediata se utilizaron potenciómetros lineales de una sola vuelta; pero,

lo recomendable para este tipo de ajustes son los potenciómetros lineales de 10 vueltas, los

cuales permiten un ajuste fino de los valores de tensión.

PWM

PWM

SPEED

GND

SPEED

GND

STEP

TEST KIKP

GND

V+

Page 38: Control digital de velocidad de un motor CD

32

El tener un convertidor ADC de 8 bits produce que el error de cuantificación sea de ±9.8mV; por

lo que el ajuste de los potenciómetros no es crítico y además el controlador PI a implementar es

bastante robusto como para que pequeñas desviaciones de los valores calculados influencien

mucho el resultado del control.

Si se utilizase un convertidor ADC de 10 bits, el error de cuantificación se reduciría a 2.45mV; y

en este caso si sería obligatorio el usar potenciómetros de 10 vueltas; para que realmente se le

pudiese sacar provecho a la resolución del ADC.

Se aprecia también en la imagen del circuito impreso la distribución de la tierra que rodea

completamente la placa, lo que ayuda a minimizar ruidos y caídas de tensión; ya que las

corrientes viajan siempre por el camino más corto posible.

Como último detalle, el microprocesador se encuentra montado en una base, para facilitar su

remoción para reprogramación.

NOTA: En este montaje se pasó por alto; pero, sería conveniente un indicador LED que muestre

cuando el circuito se encuentra energizado.

Figura 4.7: Fotografía del circuito impreso del regulador PI con los componentes montados

4.2.5.3 Pruebas de funcionamiento

Con el microprocesador removido, se alimentó el regulador PI con una tensión de 7VDC y se

midió la tensión en las patillas de alimentación del microprocesador verificando que tuviese la

Page 39: Control digital de velocidad de un motor CD

33

polaridad y el valor correctos para VDD y GND. Una vez confirmada esta operación, se

desconectó la alimentación, se insertó el microprocesador y se alimentó de nuevo y se

confirmaron los valores de alimentación y los valores de tensión de las diferentes entradas del

microprocesador, se probó además la operación del pulsador. Una vez satisfechas las pruebas

preliminares se conectó el regulador a la planta.

Luego se escalaron los valores de las constantes obtenidas para el regulador PI, multiplicando el

valor a utilizar por la escala correspondiente según la tabla y con un voltímetro se ajustó cada

potenciómetro al valor de tensión requerido. Se oprimió el pulsador para generar un escalón y se

verificó que el motor funcionaba adecuadamente.

Tabla 4.4: Parámetros y escalas para los ajuste de las constantes del regulador PI

Parámetro KP KI

Límites 0 - 1 0 - 40

Escala 5V/1 5V/40

Valor 0.75 18

Ajuste 3.75V 2.25V

Una vez ajustadas las constantes se realizaron pruebas de operación para obtener las curvas de

funcionamiento ante un escalón de 4krpm en la entrada de referencia, de tal forma que se

pudiesen verificar los objetivos del control tales como: el tiempo de estabilización, el

sobreimpulso y el error de estado estacionario. Además se sometió el sistema a perturbaciones al

encender la bombilla y luego apagarla y se graficó la respuesta. También con ayuda del

osciloscopio se midió el periodo de muestreo y el tiempo de ejecución del algoritmo de control.

En el siguiente capítulo se procede a analizar los resultados obtenidos en las pruebas.

Page 40: Control digital de velocidad de un motor CD

34

Capítulo 5: Análisis de resultados

5.1 Verificando el cumplimiento de objetivos

Se verifica en esta parte el cumplimiento de las especificaciones de control establecidas por

medio de pruebas que consisten en cambios en la entrada y perturbaciones de carga. Se realizan

y registran mediciones de las variables involucradas con ayuda de un osciloscopio digital.

5.1.1 Respuesta ante cambios en la entrada de referencia

Se muestra en la gráfica la captura de la respuesta de velocidad ante un escalón equivalente a

4krmp en la entrada de referencia. El valor medido corresponde a la entrada al regulador, que

está atenuada al 50%; por lo que la escala es de 1V/krpm.

El escalón de entrada alcanza los 5V; este valor no corresponde realmente a la señal de

referencia; pues este escalón es una señal digital que lo que define es el instante en el cual se

aplica la referencia interna de 4krpm al sistema y sirve para sincronizar la captura en el

osciloscopio.

Figura 5.1: Respuesta de velocidad ante una entrada escalón de 4krpm y comportamiento ante

perturbaciones

Puede observarse en la gráfica que ante un escalón en la entrada de referencia, equivalente a

4krpm, el tiempo de estabilización, medido con ayuda de los cursores, es de 150ms y que no hay

Page 41: Control digital de velocidad de un motor CD

35

sobreimpulso apreciable, ni error de estado estacionario; confirmando así el cumplimiento de los

objetivos de control establecidos. La curva de velocidad alcanza los 4V, que equivale a 4krpm.

5.1.2 Respuesta ante cambios en la entrada de perturbación

En la misma gráfica, puede apreciarse al centro, la respuesta del sistema ante las perturbaciones

producidas al encender la bombilla conectada al generador, aplicando así una carga al motor. Al

aplicar la perturbación, que se manifiesta como una perturbación de entrada a la planta, la

velocidad disminuye aproximadamente unas 500rpm. El motor recupera la velocidad a su valor

nominal al cabo de unos 150ms, eliminando efectivamente el efecto de la perturbación. La última

prueba realizada consistió en apagar la bombilla, eliminando así la perturbación, y se observa en

este caso el fenómeno contrario a la aplicación de perturbación: el motor aumenta

momentáneamente su velocidad unas 500rpm, para recuperar la velocidad nominal al cabo de

otros 150ms.

5.2 Verificando la implementación digital

Para verificar la operación de la implementación del algoritmo de control digital se recurre a la

captura de las señales digitales y con ayuda del osciloscopio se miden los tiempos para

comprobar que cumplen con las especificaciones de periodo de muestreo, frecuencia del PWM y

duración del algoritmo de control.

5.2.1 Periodicidad y tiempo de ejecución del algoritmo de control

La figura a) es la captura de la señal testigo que se enciende al iniciar al algoritmo de control y se

apaga al finalizar éste. De la periodicidad de la onda se puede determinar el periodo de muestreo,

que se encuentra en 5ms y del tiempo en alto se determina la duración del algoritmo de control.

La figura b) es una ampliación del tiempo en alto para poder medir más exactamente la duración,

que se encuentra en 460s, por debajo del presupuesto de tiempo de 500s, una décima del

periodo de muestreo; y por lo tanto cumple con esta restricción.

Page 42: Control digital de velocidad de un motor CD

36

Figura 5.2a: Periodo de muestreo

Figura 5.3b: Duración del algoritmo de control

5.2.2 Revisión de la acción de control

La acción de control es una señal de PWM, no una señal analógica; y por ello, no es posible

capturarla junto a la velocidad, para compararla así con las gráficas obtenidas en simulación;

pero si es posible capturarla como señal digital y verificar su temporización.

Figura 5.4: Ciclo de trabajo del la señal de PWM

La gráfica muestra la señal de PWM capturada bajo dos condiciones:

a) En la parte inferior está la captura en operación normal habiendo alcanzado el régimen

estable, con una referencia de 4krpm y sin perturbaciones; la duración en alto es de unos

570s lo que corresponde a un valor medio de unos 2.8V aplicados a la planta; como

comparación, en la simulación se había pronosticado una tensión en régimen estable de

2.68V.

b) En la parte superior se encuentra la captura en régimen permanente al ser perturbado el

sistema encendiendo la bombilla; la duración en alto aumenta hasta 768s, un valor aun

lejano del valor máximo, lo que deja margen para perturbaciones mayores.

Page 43: Control digital de velocidad de un motor CD

37

Capítulo 6: Conclusiones

Como se analizó en la sección de resultados, se cumplieron los objetivos del control a nivel de

sistema: a) Tiempo de estabilización inferior a 150ms; b) Sobreimpulso inferior al 3%; c) Cero

error de estado estacionario; y d) Eliminación de las perturbaciones.

También se cumplió con los criterios utilizados para el control digital: a) Periodo de muestreo de

5ms; b) PWM de 1KHz y c) Duración del algoritmo de control inferior a una décima del periodo

de muestreo.

Por lo tanto, para esta aplicación del control de velocidad constante de un motor de CD de imán

permanente de la planta hps5130, se considera acertada y demostrada la realización de un control

digital con microprocesador de bajo costo.

Page 44: Control digital de velocidad de un motor CD

38

Capítulo 7: Recomendaciones

Para lograr buenos resultados del control digital, se requiere:

a) Obtener un modelo numérico suficientemente aproximado a la dinámica de la planta para que

el diseño posterior del controlador tenga validez.

b) Realizar un diseño del control realista; esto es, no exigiendo condiciones imposibles de

cumplir, y verificar en simulación los resultados de la salida y la acción de control para estar

seguros de que el control y el sistema físico podrán responder adecuadamente.

c) Escoger un tiempo de muestreo adecuado a la dinámica de la planta para garantizar que el

sistema tendrá tiempo suficiente para reaccionar ante los cambios en la acción de control y que

ésta no va a presentar exigencias de cambio exageradas al sistema.

d) Al implementar el sistema de control digital tomar las precauciones necesarias para evitar el

ruido y el solapamiento de la señal, lo que implica:

i) Una buena alimentación sin ruido para el microprocesador que incluye: regulación y

filtrado de VCC; buena distribución de tierra; y un condensador de desacoplo entre VCC

y tierra lo más cerca del las entradas de alimentación de chip.

ii) Un acondicionamiento de las señales de entrada a los convertidores ADC que miden

las variables, con un filtro pasabajas antisolapamiento que tenga una frecuencia de corte

una década más alta que el ancho de banda del sistema de control.

e) Para que la implementación digital del algoritmo de control sea equivalente al control

continuo, el algoritmo de control debe ejecutarse en tiempo real dentro de una interrupción

periódica que cumpla con:

a) El periodo de muestreo definido durante el diseño, con una duración temporizada

estrictamente, sin variaciones de tiempo.

b) Una programación optimizada para su ejecución en menos de una décima del tiempo

de muestreo.

Page 45: Control digital de velocidad de un motor CD

39

Capítulo 8: Referencias

[1] Interiano, E., marzo 2007, “Controlando un sistema térmico”. Disponible en:

http://www.ie.tec.ac.cr/einteriano/Control/Laboratorio/3.31ControlandounSistemaTermico.pdf

[2] Interiano, E., septiembre 2013, “Control de velocidad del sistema motor hps5130”.

Disponible en: http://www.ie.tec.ac.cr/einteriano/Control/Laboratorio/ProyectosCortos

[3] Interiano, E., agosto 2013, “Identificación del sistema motor hps5130”. Disponible en:

http://www.ie.tec.ac.cr/einteriano/Control/Laboratorio/ProyectosCortos

[4] Interiano, E., agosto 2013, “Modelado Estocastico”. Disponible en:

http://www.ie.tec.ac.cr/einteriano/Control/Laboratorio/3.6ModeladoEstocastico.pdf

[5] Interiano, E., noviembre 2014, “Notas de clase de Análisis de Sistemas Lineales”. Disponible

en: http://www.ie.tec.ac.cr/einteriano/Analisis/Clase

[6] Interiano, E., noviembre 2014, “Notas de clase de Control Automático”. Disponible en:

http://www.ie.tec.ac.cr/einteriano/Control/Clase2008

[7] McNeill, J., Noviembre 2014, “Bandwidth–Risetime Relationship”. Disponible en:

http://ece.wpi.edu/~mcneill/handouts/BW-tr.pdf

Page 46: Control digital de velocidad de un motor CD

40

Apéndice I: Programa completo del regulador PI en C

Page 47: Control digital de velocidad de un motor CD

41

Page 48: Control digital de velocidad de un motor CD

42

Page 49: Control digital de velocidad de un motor CD

43

Apéndice II: Circuito electrónico e impreso del regulador PI

Figura A 1: Diagrama Electrónico del regulador PI

Page 50: Control digital de velocidad de un motor CD

44

Figura A 2: Diseño del circuito impreso del regulador PI

EIS/eis

2014