PROYECTO 1 Control de un motor paso a paso mediante el uso de un driver de potencia y encoder absoluto. Objetivos El proyecto a realizar consiste en el desarrollo de un software embebido que se encargue de controlar el funcionamiento de un motor paso a paso (PaP), a la vez que suministre en un display LCD información sobre determinados parámetros de funcionamiento. Para ello deberá capturar información proveniente de un encoger absoluto instalado en el eje del motor. Antecedentes Los motores PaP son comunes en dispositivos que necesitan llevar un control preciso de la rotación de un eje, tales como en diversas impresoras de inyección de tinta, mecanismos de precisión, etc. Estos motores necesitan un conjunto de señales digitales convenientemente sincronizadas generadas por un microcontrolador y amplificadas mediante un driver hasta alcanzar la potencia o corriente necesaria. Por otra parte, existen en el mercado dispositivos driver diseñados para accionar motores paso a paso que solo necesitan les sea suministrada una señal digital TTL de determinada frecuencia para regular la velocidad de giro del motor. Éstos reciben como entrada una señal digital que se traduce en el avance de un conjunto de “pasos”. Por otra parte, los encoders, o codificadores rotatorios, son dispositivos encargados de codificar la posición angular del eje mediante un código digital. Los encoders absolutos son capaces de informar sobre la posición absoluta del eje en cualquier momento, mediante una lectura digital determinada. Por otro lado, los encoders relativos solamente informan del movimiento del eje. Todos disponen de una precisión que Laboratorio de Sistemas Embebidos © Benito Úbeda; José Santa Universidad de Murcia determina la resolución dada por una lectura absoluta o la posibilidad de detectar un pequeño movimiento del eje en el caso de un encoder relativo. Los encoders son comunes en dispositivo robóticos o en periféricos de informática, como los comunes ratones (no opticos). El uso conjunto de motores y encoders es la técnica habitualmente empleada en el control de la velocidad de giro, desplazamientos precisos, etc. Requisitos del proyecto Se requiere el desarrollo de un sistema para controlar la velocidad de rotación de un motor PaP dotado de un driver, a la vez que el procesado de la información de posición del eje asociado al motor mediante la lectura procedente de un encoder absoluto. La metodología que debería seguirse en la elaboración del proyecto sería la siguiente: 1. Diseño general del sistema, considerando los diferentes diagramas de interés. 2. Implementación de la solución. 3. Prueba del sistema. El conjunto de requisitos funcionales básicos que se consideran esenciales son: • Generación de una señal digital variable en frecuencia que permita mover el eje conectado al motor a diferentes velocidades. • Lectura de la información digital procedente del encoder para comprobar tanto la posición como la velocidad de rotación del eje. Además de estos requisitos se identifican un conjunto de funcionalidades adicionales: Laboratorio de Sistemas Embebidos © Benito Úbeda; José Santa Universidad de Murcia • Desarrollo de una interfaz intuitiva mediante el uso de botones y LCD de la placa para gestionar la velocidad de rotación y para monitorizarla, según la lectura del encoder. • Uso de las funciones de captura de datos de entrada del PIC (Input Capture) para la lectura de la información digital provista por el encoder. • Uso de las funciones PWM del PIC para la generación de la señal digital de rotación del motor. • Uso extendido de las funcionalidades del motor: marcha/paro, dirección de rotación, etc. • Uso del conversor analógico/digital en conjunción con los potenciómetros de la placa para variar la velocidad de rotación del motor. Además de las capacidades listadas, el problema queda abierto para la incorporación de cualquier otra función adicional que el alumno desee incorporar, mediante cualquier otra funcionalidad del PIC o de los propios dispositivos utilizados en el protototipo: motor PaP y encoder absoluto. Algunas indicaciones Con tal de facilitar el desarrollo del proyecto, se incluye en la Figura 1 el esquema de conexiones del encoder y el driver con la placa usada en prácticas. Como se puede ver, se han habilitado ocho líneas I/O del puerto D para la conexión con el encoder (RD8-11) y con el driver del motor (RD0, RD2, RD4 y RD6). Estas líneas corresponden con algunas de las habilitadas para el uso de la captura de datos de entrada (Input Capture o IC) y para la generación de una señal tipo PWM (Output Compare o OC). La línea RD6 queda inicialmente libre. Las distintas líneas usadas para la conexión con el driver del motor tienen el siguiente significado: Laboratorio de Sistemas Embebidos © Benito Úbeda; José Santa Universidad de Murcia • CLOCK. Señal digital (TTL) de entrada de reloj cuya frecuencia determina la velocidad de rotación. • DIR. Señal de entrada que determina la dirección de giro del motor. • ENABLE/DISABLE. Señal de entrada que habilita o deshabilita la rotación del motor. En cuanto a las líneas conectadas con el encoder, se han utilizado los cuatro bits más significativos del valor de ocho bits que se puede obtener, con lo que se han obviado aquellos bits que determinan una mayor precisión de la medida del valor de giro del eje. Figura 1. Esquema de conexiones con la placa dsPICDEM Aspectos que se valorarán Los siguientes aspectos que valorarán positivamente en el desarrollo del proyecto: ! Uso de interrupciones. ! Uso de timers. ! Uso de prioridades de interrupción para variar el flujo del programa. ! Uso correcto de I/O. ! Uso de Input Capture. ! Uso de PWM. Laboratorio de Sistemas A/D. Embebidos ! Uso de conversión © Benito Úbeda; José Santa Universidad de Murcia ! Uso de LCD. ! Uso de cualquier otra funcionalidad disponible en el PIC o la placa.