Anda di halaman 1dari 13

1

PROYECTO DE CURSO
SISTEMAS DE CONTROL DIGITAL 23419
2012 I

Profesor
PhD. RICARDO ALZATE

NATHALY MURCIA SEPLVEDA Cdigo: 2072078


SAUL ENRIQUE GONZALEZ AGUINAGA Cdigo: 2072084
CARLOS MIGUEL AVENDAO Cdigo: 2072101
OSCAR IVN TRASLADINO Cdigo: 2072079

Escuela de Ingenieras Elctrica, Electrnica y de Telecomunicaciones


UNIVERSIDAD INDUSTRIAL DE SANTANDER
BUCARAMANGA, Septiembre 01 de 2012

SENSOR DE VELOCIDAD PARA UN MOTOR DC


I. RESUMEN
Este proyecto consiste en el sensado de velocidad (RPM) de un motor DC por medio de un
dispositivo digital programable que vara el ciclo de trabajo de acuerdo a una referencia
(potencimetro). Para esto se caracteriza el motor para eliminar sus zonas muertas y de saturacin,
hacindolo trabajar en su regin quasi-lineal. As, se obtiene un modelo aproximado que
posteriormente se valida comparando resultados obtenidos mediante simulacin y de forma
experimental.
II. PALABRAS CLAVE
Dispositivo digital programable, motor de corriente continua, ciclo til o de trabajo, Revoluciones
por minuto (RPM).
III. INTRODUCCIN
El uso de microcontroladores para el desarrollo de este tipo de aplicaciones ha tomado fuerza
gracias a la incorporacin de lenguajes de alto nivel que facilitan ampliamente este tipo de
implementaciones, adems de los bajos costos de adquisicin de estos dispositivos, distribucin de
software de desarrollo gratuito y amplia informacin en la Internet.
En este trabajo se pretende implementar un sistema que permita gobernar un motor de corriente
continua DC a partir de una referencia, la cual va a producir un cambio de velocidad en el motor
(RPM). Para lograr esto, dispondremos de un dispositivo digital programable que interpreta cdigo
de lenguaje C. En una etapa posterior, se deber caracterizar el motor para eliminar sus zonas
muertas y de saturacin y de esta manera obtener la respuesta en su regin quasi-lineal.
IV. OBJETIVOS

Disear e implementar un sistema de control digital de velocidad para un motor DC utilizando


un microcontrolador.
Generar el modelo matemtico que caracteriza al motor empleando la herramienta IDENT y
validarlo a partir de las respuestas tipo escaln y rampa.
Elaborar de forma digital el proceso de realimentacin y la generacin de un error a partir de
una diferencia entre la referencia y la salida del sistema, con el fin de observar su
comportamiento en lazo cerrado.
Realizar las tres acciones bsicas de un control PID de forma digital, para ser aplicadas al error
y observar como se comporta la planta al momento de la variacin de estas constantes.

V. CONTENIDO
Parte I. Diseo del circuito actuador mediante un dispositivo digital programable.
a. Seleccin del dispositivo digital programable.

Se seleccion el dispositivo programable Arduino uno [3], por ser una plataforma de hardware libre
basada en una placa con un microcontrolador y un entorno de desarrollo diseado para facilitar el
uso de la electrnica en proyectos multidisciplinarios.

Figura 1. Arduino uno [3].

b. Etapa de generacin del PWM.


La generacin de la seal PWM (Modulacin por ancho de pulso) se realiz mediante la
programacin de un cdigo en lenguaje C interpretado por el dispositivo programable Arduino uno
(anexo 1). El lenguaje de programacin de Arduino hace que el PWM sea fcil de usar y para esto
usa el comando analogWrite, al cual se debe ingresar un valor de ciclo til entre 0 y 255.
Los datos obtenidos del conversor analgico-digital (ADC) de Arduino tienen una resolucin de 10
bits, por lo que su rango de valores va de 0 a 1023, los cuales deben ser escalados a un valor de 0 a
255, para que el generador de PWM de Arduino lo interprete.
c. Etapa de aislamiento elctrico.

Figura 1. Circuito esquemtico del optoacoplador 4N33 [1]

Mediante esta etapa se pretendi aislar elctricamente el controlador digital de la etapa de potencia,
este proceso es empleado para proteger el microcontrolador de posibles corrientes de reversa
generadas por el motor. Para llevar a cabo el objetivo de esta etapa se utiliz el circuito integrado
4N33, el cual es un dispositivo optoacoplador, y presenta el circuito esquemtico mostrado en la
figura 1.

El arreglo circuital utilizado en la implementacin de esta etapa fue el siguiente:

Figura 2. Arreglo circuital para funcionamiento del optoacoplador [1]

El esquema de la figura 2 muestra el arreglo circuital empleado para trabajar con el dispositivo
optoacoplador 4N33, ste circuito presenta dos partes definidas como entrada y salida
respectivamente. A la entrada se conecta la seal del PWM generada por el dispositivo digital
programable, la cual mediante un acople ptico (led infrarrojo - fototransitor) es transmitida a la
salida.
Debido al funcionamiento del fototransistor la seal de entrada se convierte en una seal de
corriente, por lo que para nuestra aplicacin es necesario utilizar una resistencia R L=100 para
transformar sta seal de corriente a una seal de tensin.
d. Etapa de potencia.
Debido a que el motor necesita una corriente de arranque de aproximadamente 700mA y un voltaje
de alimentacin de 24V, se emplear una etapa de potencia con un puente H [2] que proporcionar
el voltaje y la corriente requerida para el funcionamiento del motor. Las caractersticas elctricas de
ste integrado se puede observar en la siguiente tabla:
Alimentacin
del
integrado
(Vcc1)
Tensin de alimentacin motor
(Vcc2)
Rango de a tensin de salida
Nivel de tensin en alto
Nivel de tensin en bajo
Mximo pico de corriente
Salida de corriente continua

4.5 7 [V]
Vcc1 36 [V]
-3 [V] a Vcc2 + 3 [V]
2.3 Vcc1
0.3 1.5 [V]
2 [A]
1 [A]

Tabla 1. Caractersticas elctricas del integrado L293 [2]

La configuracin de los pines del puente H es la siguiente:

Figura 3. Integrado L293 [2]

La seal PWM dada a partir de la etapa anterior de comparacin corresponde a la entrada del enable
del integrado (puerto 1,2EN); l
La entrada 1A siempre estar en alto y ser de 5V aproximadamente otorgada por una fuente de
continua y la entrada 2A siempre estar en bajo (0 V), con estas 2 entradas configuradas de esa
manera se habilitar la salida al motor (puerto 1Y) para que ste gire en un solo sentido. La seal
PMW dada a partir de la etapa anterior de comparacin, se conecta a la entrada del habilitador del
integrado (puerto 1,2EN). Esta entrada permite habilitar (Nivel alto) o deshabilitar (Nivel bajo) la
fuente que se encarga de alimentar el motor (Vcc2); por lo que al modificar el ciclo de trabajo de la
seal PWM que llega a ste pin, se est variando la cantidad de energa que llega al motor y por
ende se vara su velocidad.

Figura 4. Salida del integrado L293 al variar los niveles lgicos de las entradas

Las tensiones que manejar el puente H sern:


Vcc1=5V (pin 16) la que alimentara el chip
Vcc2= 24V (pin 8) que ser la misma aproximadamente la misma tensin que saldr en la salida
1Y cuando sea habilitada por el habilitador.
5V en el nivel de alto de la entrada 1A (pin 2).
Finalmente los pines 4 y 5 estn cortocircuitados conectados a tierra, al igual que el pin 7 (2A)
por configuracin.
PARTE II. Sensado de velocidad del motor.
a. Descripcin del sistema de sensado.
Nuestro encoder consta de dos partes, claramente diferenciables, un disco metlico con 1 ranura y
un sensor optoelectrnico. Para el sistema de registro de las revoluciones del motor, nuestro encoder

utiliza el sensor optoelectrnico GP1A57HRJ00F [4]. Las principales caractersticas de este sensor
se pueden observar en la siguiente tabla:
Alimentacin
Corriente
de
alimentacin
Nivel de voltaje en alto
Nivel de voltaje en bajo
Frecuencia mxima

5V
50mA
4.9V
0.1V
2MHz

Tabla 2. Caractersticas del sensor ptico [4]

El funcionamiento de este sensor se basa en dos elementos independientes, un fotodiodo y un


fototransistor. El fotodiodo emite una seal infrarroja de cierta intensidad hacia un objeto cercano
(disco metlico). El fototransistor deja pasar cierta cantidad corriente por el colector, y este valor de
corriente depende de la intensidad de la seal infrarroja que se refleje en el disco; siendo directa
esta relacin, es decir, entre ms luz se refleje mayor corriente circula por el colector. Aunque la
tensin de salida en el colector es inversa a la cantidad de corriente que circula por l, por esto
cuando ms se refleja la seal infrarroja menor es la tensin de salida en el colector. Teniendo en
cuenta todo esto, se sabe que cuando el disco gira y bajo el sensor se ubica una ranura el nivel de
tensin de salida es mximo, pero si en determinado momento bajo el sensor se ubica la superficie
metlica el nivel de salida es mnimo.
El clculo de la velocidad del motor en revoluciones por minuto (RPM) dentro del dispositivo
digital programable se logra utilizando el mdulo de interrupcin por teclado (KBI) y la funcin
milis( ) del Arduino. La funcin millis( ) muestra el tiempo que lleva en ejecucin un programa
dentro del Arduino; mientras que el mdulo KBI ejecuta una funcin especial del programa cuando
hay un flanco en el pin 2 de la tarjeta, y luego de esto contina la ejecucin del flujo normal del
programa.
Para llevar a cavo el clculo de las RPM del motor se debe conectar la salida del sensor al pin 2
(mdulo KBI) del Arduino, y se crea una funcin que almacena el tiempo transcurrido entre dos
flancos de subida de la seal de salida del sensor, utilizando la funcin millis( ). Adems se cre una
funcin que utiliza el tiempo calculado por la funcin anterior para calcular la velocidad del motor
en RPM, considerando que la salida del sensor presenta un flanco de subida por cada vuelta del
motor.
Para la visualizacin de los datos se utiliz el puerto serial del Arduino, y los datos se verificaron
con el osciloscopio observando la frecuencia de la seal de salida del sensor, por tanto para
determinar la velocidad del eje en r.p.m. se utiliza la siguiente frmula:

Vel r . p . m. =f 60 [rpm]
Donde Velr.p.m. corresponde a la velocidad en r.p.m. del eje del motor y f es la frecuencia de la
seal emitida por el sensor.
b. Ajuste del ciclo de trabajo para la eliminacin de la zona muerta y la zona de saturacin del
motor.

Al hacer un anlisis de la respuesta del sistema en lazo abierto cuando se vara el ciclo de trabajo de
la seal de entrada desde 0 hasta 255 (0% hasta 100%), se obtiene la siguiente grfica:

Figura 5. Velocidad del motor Vs Ciclo til

Al analizar los datos mostrados por la figura 5, podemos observar que el sistema en lazo abierto
presenta una zona muerta y luego un comportamiento logartmico con una clara zona de saturacin.
Para obtener un buen modelo del sistema y mejorar el costo computacional que podra requerir el
control del mismo se debe obligar al sistema a que trabaje en una zona lineal. Para lograr lo
anterior, se utiliz la figura 5 y mediante sta se obtuvo un rango de valores de PWM en los cuales
nuestra planta tiene el comportamiento deseado, los cuales se muestran en la siguiente tabla:

Mnimo
Mximo

Ciclo til
11
75

Ciclo til (%)


(4.31%)
(29.41%)

Velocidad [RPM]
0
3333

Tabla 3. Rango de valores de ciclo til de la regin quasi-lineal del sistema

Luego de obtener el rango de valores de ciclo til dentro de los cuales nuestro motor presenta un
comportamiento quasi-lineal, se procedi a modificar las lneas de cdigo de Arduino en las cuales
se genera el PWM, de tal forma que cuando la seal de entrada sea 0 V (valor del ADC en 0) se
genere el ciclo de trabajo mnimo obtenido (4.31%), y cuando la seal de entrada sea 5V (valor del
ADC en 1023) se genere el ciclo de trabajo mximo de la regin quasi-lineal (29.41%).

c. Proceso de realimentacin del sistema


En esta etapa se pretende cerrar el lazo del sistema y para esto se debe calcular el error, para ello se
debe emplear la siguiente frmula:

error=entradasalida
La entrada de nuestro sistema es el valor digitalizado de la tensin del potencimetro, y la salida
corresponde a la velocidad en RPM a la que gira el motor. Debido a que la seal de entrada es
nmero de 10 bits y a que la seal de salida es un valor en RPM, primero se debe obtener una

ecuacin que permita calcular la equivalencia de la velocidad en RPM a un nmero binario en el


rango de 0 a 1023. Para hacer esto se obtiene el comportamiento del sistema al hacer variar la seal
de referencia desde su valor mnimo (0) hasta su valor mximo (1023), y mediante la aplicacin
Microsoft Excel se determin la ecuacin lineal que modela dicho comportamiento, estos resultados
se pueden observar en la siguiente figura:

Velocidad [RPM] vs Tensin de referencia digitalizada


f(x) = 3.18x + 361.23
R = 0.97

La ecuacin obtenida mediante Excel debe ser despejada para obtener una expresin que permita
obtener un nmero binario en el mismo rango de la entrada con base a la velocidad entregada por el
sensor. La ecuacin obtenida es la siguiente:

Sensor digitalizado=

RPM 361.23
3.1773

Una vez obtenida esta expresin es posible obtener el error, y luego de esto se debe obtener una
nueva expresin de salida en la cual se incorporen tanto el error como el valor binario de la seal de
entrada, lo cual se hace con la siguiente expresin:

salida=seal de entrada digitalizada+ error

PARTE III. Obtencin del modelo aproximado del sistema.


a. Generacin de la sealen seudo-aleatoria
El propsito de la seal seudo-aleatoria es obtener la respuesta del sistema para un amplio espectro
de frecuencias. Para llevar a cabo esta etapa se gener una secuencia aleatoria de datos con un rango

comprendido entre cero (0) y uno (1) y posteriormente se multiplic por un factor de 1023 con el
fin de crear una secuencia aleatoria de datos con valores comprendidos entre 0 y 1023.
La secuencia seudo-aleatoria que se gener es ingresada al sistema como entrada, para esto es
necesario desactivar la lectura del ADC y remplazar la variable donde se almacenaba esta lectura
por el valor de la seal aleatoria.

b. Obtencin del modelo aproximado mediante MATLAB


Al aplicar la seal seudo-aleatoria al sistema se obtuvieron una serie de datos representativos de
ste, dichos datos de entrada y salida se ingresaron a la herramienta INDET en MATLAB para de
esta manera obtener un modelo aproximado para la funcin de transferencia del sistema que
relaciona la velocidad del motor respecto al voltaje de referencia aplicado.
Para la seleccin del modelo aproximado ms adecuado se obtuvieron varias funciones de
transferencia a partir de varios conjuntos de datos y variando la cantidad de polos y ceros en ellas.
Algunos de los modelos aproximados obtenidos pueden ser observados a continuacin:
N de
polos

N de
Ceros

Funcin de transferencia G(s)

G1 ( s )=

15.34 s+0.1113
s +4.771 s+0.02832

Pertinencia del
modelo obtenido
(FIT)
81.06%

G2 ( s )=

707.9 s+5.843
s + 48 s 2+220.4 s+ 1.485

81.10%

G3 ( s ) =

15.52 s 2+ 0.8896 s+ 0.009769


s3 + 4.872 s2 +0.2405 s+0.002488

82.16%

Tabla 4. Modelos aproximados del sistema.

Las aproximaciones encontradas poseen un porcentaje de pertinencia con los datos (FIT) muy
cercano y por el valor de sus races se comprob en cada caso su estabilidad as que se eligi la
funcin de transferencia G3(s) debido a que su porcentaje de pertinencia fue el ms alto.

PARTE IV. Validacin del modelo obtenido.

El proceso de validacin del modelo aproximado elegido en la etapa anterior consiste en la


comparacin de la respuesta a una excitacin (tipo escaln y tipo rampa) a partir de simulaciones en
MATLAB y a partir de los resultados del prototipo experimental.

10

a. Excitacin tipo escaln.


La Respuesta al escaln del sistema obtenida mediante MATLAB se puede observar en la
siguiente grfica:

Figura 6. Respuesta del sistema ante excitacin de tipo escaln ( Matlab ).

Para el caso de la respuesta del prototipo experimental se debi crear la funcin escaln mediante
un cdigo implementado en el dispositivo digital programable, esta funcin consisti en poner el
valor de entrada en cero (0 V) durante varios ciclos para posteriormente cambiarlo a 1 V. La
respuesta obtenida se puede observar a continuacin:

Figura 7. Respuesta del sistema ante excitacin de tipo escaln motor (prototipo experimental).

b. Excitacin tipo rampa.


La Respuesta ante la rampa del sistema obtenida mediante MATLAB se puede observar en la
siguiente grfica:

11

Figura 8. Respuesta del sistema ante excitacin de tipo rampa (Matlab).

Para el caso de la respuesta del prototipo experimental se debi crear la funcin rampa mediante un
cdigo implementado en el dispositivo digital programable, esta funcin consisti en poner el valor
de entrada en cero (0 V) e incrementarla en pasos de 19.5mV cada segundo hasta 5V. La respuesta
obtenida se puede observar a continuacin:

Figura 9. Respuesta del sistema ante excitacin de tipo rampa motor (prototipo experimental).

PARTE V. Control PID sobre la respuesta del sistema.


El control PID se puede representar en la siguiente figura:

12

Figura 10. Expresin general control PID[5]

Para la generacin de un control proporcional, integral y derivativo del sistema de control en lazo cerrado se
realiz en los siguientes pasos:
- La parte Proporcional que determina la reaccin del error actual.

-La parte integral que genera una correccin proporcional a la sumatoria del error.
-La parte derivativa que determina la reaccin del tiempo en el que el error se produce.
La sumatoria de la parte proporcional, integral y derivativa constituye el clculo del error entre un valor
medido y el valor que se quiere obtener.

VI. OBSERVACIONES

Debido a fallos encontrados en el sensor ptico utilizado en la primera entrega, se debi remplazar el
mismo por el sensor ptico GP1A57HRJ00F, con caractersticas similares al anterior y que se ajust de
igual forma a los requerimientos del sistema de sensado.

Se redujeron los agujeros del disco del sistema de sensado para disminuir la frecuencia de trabajo del
sensor y evitar primero, que el sensor trabaje a una frecuencia mxima a la que fue diseado y segundo,
para reducir las variaciones de velocidad que se presentaron en la entrega anterior.

Se observa que debido al mtodo empleado para la adquisicin de datos, el error nunca se estabiliza en
un valor fijo; ocasionando que la velocidad fluctue en rangos pequeos para un valor de tensin
constante.

VII. CONCLUSIONES

Se observ al realizar la caracterizacin del motor que la regin quasi-lineal se experimenta entre 4.31%
y 29.41% del ciclo til del sistema, excluyendo de esa manera un 79.41% del ciclo de trabajo
correspondiente a la eliminacin de las zonas muerta y de saturacin del motor.

13

Se not la relativa concordancia entre las respuestas obtenidas mediante simulacin y los resultados del
prototipo experimental al intentar validar el modelo encontrado por medio de la herramienta de
identificacin de MATLAB con una entrada tipo escaln y una tipo rampa. Esta concordancia relativa
es debido a que las formas de respuesta son algo similares en los dos escenarios (experimental y
simulado) y para los dos tipos de entrada, pero no lo son los tiempos de respuesta de los mismos. As que,
es posible que esta herramienta de identificacin de MATLAB no sea la ms adecuada para la
modelacin de este sistema.

Se observ que con un aumento en la constante de accin de control proporcional Kp se incrementa el


tiempo en el que se estabiliza la velocidad del motor, debido a que se encuentra un valor pico mayor en el
transitorio y se tarda en disminuir el error.

Se verifico que el sistema realimentado sin compensador el error se reduce, debido a que constantemente
se estn corrigiendo las diferencias entre la entrada y la salida. Adems al agregar un controlador PID con
constantes adecuadas la correccin del error se mejora aun ms.

REFERENCIAS
[1] Agosto 2012. [Online]. Disponible en:
www.fairchildsemi.com
[2] Agosto 2012. [Online]. Disponible en:
www.national.com
[3] Agosto 2012. [Online]. Disponible en:
www.arduino.cc
[4] Agosto 2012. [Online]. Disponible en:
www.sharp-world.com
[5] Agosto 2012. [Online]. Disponible en:
www.upc.edu sistemas digitales de control en tiempo discreto

Anda mungkin juga menyukai