escuela superior politecnica del litoral facultad de ingenierÍa en electricidad y computaciÓn

26
ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN PROYECTO DE LA MATERIA DE GRADUACIÓN MICROCONTROLADORES AVANZADOS TEMA TEMA : : "MANEJO DE UN DECODIFICADOR ÓPTICO "MANEJO DE UN DECODIFICADOR ÓPTICO (ENCODER) EN APLICACIÓN CON UN dsPIC (ENCODER) EN APLICACIÓN CON UN dsPIC" PRESENTADO POR: JAVIER LENIN MEJÍA MENDIETA WASHINGTON PAUL REINA LOAIZA GUAYAQUIL – ECUADOR AÑO 2009

Upload: ayala

Post on 11-Jan-2016

46 views

Category:

Documents


4 download

DESCRIPTION

ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN. PROYECTO DE LA MATERIA DE GRADUACIÓN MICROCONTROLADORES AVANZADOS. TEMA : "MANEJO DE UN DECODIFICADOR ÓPTICO (ENCODER) EN APLICACIÓN CON UN dsPIC ". PRESENTADO POR: JAVIER LENIN MEJÍA MENDIETA - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

PROYECTO DE LA MATERIA DE GRADUACIÓNMICROCONTROLADORES AVANZADOS

TEMATEMA: : "MANEJO DE UN DECODIFICADOR ÓPTICO "MANEJO DE UN DECODIFICADOR ÓPTICO (ENCODER) EN APLICACIÓN CON UN dsPIC(ENCODER) EN APLICACIÓN CON UN dsPIC"

PRESENTADO POR:JAVIER LENIN MEJÍA MENDIETA

WASHINGTON PAUL REINA LOAIZA

GUAYAQUIL – ECUADORAÑO 2009

Page 2: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

RESUMENRESUMEN

Este proyecto se tratará esencialmente Este proyecto se tratará esencialmente de una aplicación de Control de una aplicación de Control Automático, que presentará el control Automático, que presentará el control PID de un motor DC. Utilizando como PID de un motor DC. Utilizando como sistema de medición un juego de sistema de medición un juego de sensores que tomarán los datos de un sensores que tomarán los datos de un encoder óptico y como controlador un encoder óptico y como controlador un dsPIC dsPIC

Page 3: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

DESCRIPCIONDESCRIPCION

Este proyecto tiene la finalidad de realizar Este proyecto tiene la finalidad de realizar un control PID de un motor DC, cuya un control PID de un motor DC, cuya variable controlada será la velocidad. La variable controlada será la velocidad. La programación del software se lo ha programación del software se lo ha realizado en MikroBasic utilizando la realizado en MikroBasic utilizando la tecnología de los dsPIC’s (en nuestro tecnología de los dsPIC’s (en nuestro caso particular el dsPic30F4011), y caso particular el dsPic30F4011), y tomando como base la nota de Aplicación tomando como base la nota de Aplicación AN937 de Microchip, siguiendo así una AN937 de Microchip, siguiendo así una forma estandarizada de control en lazo forma estandarizada de control en lazo cerrado y de cálculo de errorescerrado y de cálculo de errores

Page 4: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

CALCULO MATEMATICOCALCULO MATEMATICODEL PIDDEL PID

t

EKdEtKiB *)(Kp.E)( PID Control

Page 5: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

ESPECIFICACIONES TECNICASESPECIFICACIONES TECNICAS La lectura de la velocidad del motor se La lectura de la velocidad del motor se realiza a través de un encoder fijado al eje realiza a través de un encoder fijado al eje del motor.del motor.Tanto los valores de ganancia proporcional Tanto los valores de ganancia proporcional Kp, integral Ki y derivativa Kd, como la del Kp, integral Ki y derivativa Kd, como la del SetPoint de velocidad son ingresados por el SetPoint de velocidad son ingresados por el teclado y visualizados en la pantalla del teclado y visualizados en la pantalla del LCD.LCD.Los programas de visualización que se Los programas de visualización que se utilizarán para realizar las gráficas con los utilizarán para realizar las gráficas con los resultados obtenidos serán: Visual Basic y resultados obtenidos serán: Visual Basic y LabView LabView

Page 6: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

DISEÑO E IMPLEMENTACIÓNDISEÑO E IMPLEMENTACIÓN

Page 7: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

El controlador de nuestro sistema se lo realiza en el El controlador de nuestro sistema se lo realiza en el esquema de control del error y la función PID esquema de control del error y la función PID propiamente dicha; todo dentro de un dsPic.propiamente dicha; todo dentro de un dsPic.El actuador está conformado por un C.I.L293b El actuador está conformado por un C.I.L293b encargado de darle al motor (PLANTA) la potencia encargado de darle al motor (PLANTA) la potencia necesaria tanto para el arranque como para el necesaria tanto para el arranque como para el cambio de giro.cambio de giro.Luego contamos con un C.I. LM324 que recoge la Luego contamos con un C.I. LM324 que recoge la señal proveniente del encoder fijado en el eje del señal proveniente del encoder fijado en el eje del motor por medio de los sensores, filtrando en un motor por medio de los sensores, filtrando en un seguidor de voltaje y luego manteniendo estable la seguidor de voltaje y luego manteniendo estable la señal de salida a través del C.I 74ls14.señal de salida a través del C.I 74ls14.La comunicación serial la realizamos por medio de La comunicación serial la realizamos por medio de un Max232un Max232Finalmente la interfaz utilizada en nuestro circuito Finalmente la interfaz utilizada en nuestro circuito esta conformada por una pantalla LCD y un teclado.esta conformada por una pantalla LCD y un teclado.

Page 8: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

ESQUEMATICO DE COMUNICACION ESQUEMATICO DE COMUNICACION

SERIALSERIAL

Page 9: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

ESTRATEGIAS UTILIZADASESTRATEGIAS UTILIZADAS El banco de sensores El banco de sensores montados en la montados en la estructura del encoder, estructura del encoder, y el disco con los y el disco con los obstáculos para la obstáculos para la emisión-recepción entre emisión-recepción entre ellos; es el sistema de ellos; es el sistema de medición de la medición de la velocidad del motor.velocidad del motor.

Sensores

Disco

Page 10: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

DETALLE GRAFICO DE LA EXTRUCTURA DEL MONTAJEDETALLE GRAFICO DE LA EXTRUCTURA DEL MONTAJEDEL MOTOR DCDEL MOTOR DC

5

cm. 1

cm.

0.3

cm

.

Page 11: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

DIFERENTES MODELOS PARA EL DIFERENTES MODELOS PARA EL DISCO DEL ENCODERDISCO DEL ENCODER

Page 12: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

ESQUEMATICO DE COMPONENTESESQUEMATICO DE COMPONENTES

Teclado

LCD

Page 13: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

DETALLES DE CONSTRUCCIÓNDETALLES DE CONSTRUCCIÓN La base y la cubierta fueron realizadas en La base y la cubierta fueron realizadas en acrílico para tener así visualización del circuito, acrílico para tener así visualización del circuito, con una presentación didáctica como fue con una presentación didáctica como fue nuestro objetivo y el peso adecuado de fácil nuestro objetivo y el peso adecuado de fácil transportación.transportación.

La estructura de montaje del motor a sido La estructura de montaje del motor a sido elaborada en madera, por ser un material de elaborada en madera, por ser un material de fácil manejo y resistencia necesaria. Además fácil manejo y resistencia necesaria. Además se necesitaba trabajar con precisión en el se necesitaba trabajar con precisión en el montaje del encoder y localización específica montaje del encoder y localización específica de los sensores.de los sensores.

Page 14: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

PROGRAMACIÓN Y APLICACIONESPROGRAMACIÓN Y APLICACIONES

Para el desarrollo del programa del Para el desarrollo del programa del controlador, se utilizó el lenguaje de controlador, se utilizó el lenguaje de MikroBasicMikroBasic; ; siendo muy útil pues nos siendo muy útil pues nos permite interactuar con los registros de permite interactuar con los registros de control del microcontrolador.control del microcontrolador.

Adicionalmente se manejo lenguajes de Adicionalmente se manejo lenguajes de visualización como Visual Basic y la visualización como Visual Basic y la plataforma LabVIEW.plataforma LabVIEW.

Page 15: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

CURVAS DE COMPORTAMIENTOCURVAS DE COMPORTAMIENTO

Proporcional Integral

Derivativo

Page 16: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

CURVA DE RESULTADOCURVA DE RESULTADOVISUAL BASICVISUAL BASIC

Page 17: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

CURVA DE RESULTADOCURVA DE RESULTADOLabVIEWLabVIEW

Page 18: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

IDENTIFICACIÓN DEL SISTEMAIDENTIFICACIÓN DEL SISTEMA

Se realiza la Se realiza la prueba en prueba en lazo abierto lazo abierto y con y con valores entre valores entre el 20 y 40% el 20 y 40% del valor del valor máximo de máximo de velocidad velocidad del motor.del motor.El programa El programa de Visual de Visual Basic tiene Basic tiene la función de la función de grabar los grabar los datos en un datos en un archivo de archivo de Excel Excel ((datosdatos realesreales))

Page 19: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

Se realiza esta prueba par ver la respuesta que Se realiza esta prueba par ver la respuesta que tenemos cuando se escoge la función mas tenemos cuando se escoge la función mas próxima a la de los datos reales próxima a la de los datos reales

Page 20: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

Para poder escoger la función más próxima a la real, se Para poder escoger la función más próxima a la real, se realizan varias aproximaciones, y para este propósito usamos:realizan varias aproximaciones, y para este propósito usamos:1.1. Con un poloCon un polo2.2. Con dos polosCon dos polos3.3. Con dos polos y un ceroCon dos polos y un cero4.4. Con tres polosCon tres polosEscogiendo finalmente la mas próxima, la de un polo.Escogiendo finalmente la mas próxima, la de un polo.

Page 21: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

Obtenemos Obtenemos finalmente la finalmente la función de función de transferencia:transferencia:

66.12

06.11

s

tf

Page 22: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

PROTOTIPO TERMINADOPROTOTIPO TERMINADO

Page 23: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

MANUAL DE MANUAL DE USUARIOUSUARIO

Ingreso de valor para la velocidadIngreso de valor para la velocidadPara cambiar el valor de velocidad se digita Para cambiar el valor de velocidad se digita la tecla Ala tecla AProcedemos al ingreso el valor recordando Procedemos al ingreso el valor recordando que la misma será expresada en RPM que la misma será expresada en RPM (valores de trabajo sin inconvenientes (valores de trabajo sin inconvenientes podrán oscilar entre un máx. 3000 y mín. podrán oscilar entre un máx. 3000 y mín. 600).600).Ingresado el valor, digitaremos la tecla “#” Ingresado el valor, digitaremos la tecla “#” que es representativa del ENTER, y en caso que es representativa del ENTER, y en caso de ingresar valores erróneos o no deseados de ingresar valores erróneos o no deseados se pueden eliminar con la tecla asteriscose pueden eliminar con la tecla asterisco..Cabe indicar que cuando se ingresa una Cabe indicar que cuando se ingresa una velocidad mayor a 2400 RPM el sistema velocidad mayor a 2400 RPM el sistema tiende a perder la linealidad debido a las tiende a perder la linealidad debido a las características propias del motor.características propias del motor.

Ingreso de las constantes para el controlIngreso de las constantes para el controlPodemos cambiar el valor de las constantes Podemos cambiar el valor de las constantes Kp, Ki y Kd digitando las teclas B, C o D Kp, Ki y Kd digitando las teclas B, C o D respectivamente.respectivamente.El valor que puede ser ingresado esta El valor que puede ser ingresado esta definido de tal manera que solo se puede definido de tal manera que solo se puede ingresar un entero y dos decimales, ingresar un entero y dos decimales, igualmente como en el caso de la velocidad igualmente como en el caso de la velocidad podemos corregir el valor ingresado con la podemos corregir el valor ingresado con la tecla asterisco.tecla asterisco.

Prueba de encoderPrueba de encoderSe puede comprobar el correcto funcionamiento Se puede comprobar el correcto funcionamiento de la lectura del sistema de sensores del de la lectura del sistema de sensores del encoder en, ingresando a través de la tecla “9”. encoder en, ingresando a través de la tecla “9”. En este menú lo único que debemos hacer es En este menú lo único que debemos hacer es girar el disco manualmente y comprobar el girar el disco manualmente y comprobar el cambio de valores.cambio de valores.11 = los sensores tiene comunicación libre = los sensores tiene comunicación libre00 = los sensores no pueden transmitir = los sensores no pueden transmitirSe puede salir de esta prueba digitando la tecla Se puede salir de esta prueba digitando la tecla "#"."#".

Cambio de giroCambio de giroDigitando la tecla asterisco desde el menú Digitando la tecla asterisco desde el menú principal. El motor se detiene durante un principal. El motor se detiene durante un segundo y realiza el cambio de giro.segundo y realiza el cambio de giro.

Lazo AbiertoLazo AbiertoEn el menú principal sedigitar la tecla “1”, con la En el menú principal sedigitar la tecla “1”, con la que se cambia al sistema o se regresa al que se cambia al sistema o se regresa al original.original.En el proceso de lazo abierto se trabaja con En el proceso de lazo abierto se trabaja con valores de porcentaje de región de trabajo, mas valores de porcentaje de región de trabajo, mas no con valores de RPM.no con valores de RPM.

Identificación del sistema.Identificación del sistema.Mediante la tecla “2”, podemos ingresar al Mediante la tecla “2”, podemos ingresar al identificador del sistema, el cual obtendremos identificador del sistema, el cual obtendremos reales en valores oscilantes entre el 20 y 40reales en valores oscilantes entre el 20 y 40% % del max. de velocidad. Con estosdel max. de velocidad. Con estos datos datos podemos encontrar el modelo del motor podemos encontrar el modelo del motor utilizando la plataforma de Matlab.utilizando la plataforma de Matlab.

Page 24: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

CONCLUSIONESCONCLUSIONES El control implementado brinda características El control implementado brinda características especiales de funcionamiento como instrumento especiales de funcionamiento como instrumento de laboratorio permitiendo que equipos de bajo de laboratorio permitiendo que equipos de bajo costo integren una simulación de un proceso muy costo integren una simulación de un proceso muy utilizado en la industria.utilizado en la industria.El microcontrolador dsPIC utilizado en la El microcontrolador dsPIC utilizado en la construcción de la tarjeta controladora junto con el construcción de la tarjeta controladora junto con el lenguaje de programación MikroBasic, facilitaron lenguaje de programación MikroBasic, facilitaron la implementación de los lazos de control la implementación de los lazos de control necesarios para este sistema, demostrando las necesarios para este sistema, demostrando las prestaciones de esta familia de prestaciones de esta familia de microcontroladores con comandos sencillos y microcontroladores con comandos sencillos y prácticos.prácticos.

Page 25: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

RECOMENDACIONESRECOMENDACIONESSe recomienda el uso de LabVIEW como una Se recomienda el uso de LabVIEW como una potente herramienta de reconocimiento de potente herramienta de reconocimiento de imágenes que no requiere profundizar en el imágenes que no requiere profundizar en el conocimiento de algoritmos de elevada conocimiento de algoritmos de elevada complejidad.complejidad.

Se aconseja el uso de los dsPICs por su buen Se aconseja el uso de los dsPICs por su buen desempeño como microcontrolador y su mayor desempeño como microcontrolador y su mayor rendimiento en procesamiento de datos.rendimiento en procesamiento de datos.

Se sugiere utilizar el lenguaje MikroBasic por la Se sugiere utilizar el lenguaje MikroBasic por la fácil comprensión de su estructura, comandos y fácil comprensión de su estructura, comandos y librerías.librerías.

Page 26: ESCUELA SUPERIOR POLITECNICA DEL LITORAL FACULTAD DE INGENIERÍA EN ELECTRICIDAD Y COMPUTACIÓN

GRACIASGRACIAS