Trabajo Práctico Final – Informática Electrónica – 2010 UNIVERSIDAD NACIONAL DE ROSARIO FACULTAD DE CIENCIAS EXACTAS, INGENIERIA Y AGRIMENSURA ESCUELA DE INGENIERIA ELECTRONICA INFORMATICA ELECTRONICA TRABAJO FINAL Grupo Número 4 Año 2010 Control de Bobinador ALUMNO LEGAJO Naranjo Manuel Francisco N-0621/1 Sanchez, Gonzalo Daniel S-3070/8 Hoja 1 de 5 Trabajo Práctico Final – Informática Electrónica – 2010 Índice de contenido Introducción..........................................................................................................................................3 Funcionalidad requerida.......................................................................................................................3 Solución propuesta – Circuito Electro-Mecánico.................................................................................4 Solución propuesta – Control digital....................................................................................................4 Conclusiones.........................................................................................................................................5 Hoja 2 de 5 Trabajo Práctico Final – Informática Electrónica – 2010 Introducción El objetivo de este trabajo fue implementar el controlador de un sistema para fabricar bobinas solenoidales con un motor de corriente continua. Para el mismo se utilizo el kit DEMO9S08LC60 y se implemento un prototipo del sistema a escala. Funcionalidad requerida El sistema requiere poder controlar la cantidad de vueltas recorridas por un conductor eléctrico el cual se enrolla sobre un núcleo ferromagnético, a fin de poder garantizar el valor de la inductancia requerida. A fin de evitar dañar el conductor y para resguardo del operario el sistema requerirá un control de aceleración y desaceleración en arranque y frenado respectivamente. ⋅K⋅A⋅N 2 , dónde l depende del material ferromagnético, K depende de la geometría, A representa el área efectiva de una espira, l la longitud total del inductor y N la cantidad de vueltas, siendo N entero. Dado que N es un número entero y el valor de L no se afecta por cantidades no exactas de vueltas, deducimos que nuestro sistema no necesita un control extremadamente preciso de la cantidad de vueltas, pero sí debe garantizar que el error sea siempre por exceso y no superior a una vuelta. Viendo la ecuación de la inductancia para nuestro tipo de bobina: L= Desdé el punto de vista del usuario el mismo tiene que ser capaz de configurar la cantidad de vueltas requeridas, la cantidad de vueltas que demora el sistema en acelerar y la cantidad de vueltas que demora el mismo en frenar. Por seguridad también se dispondrá en el sistema de un freno de emergencia. Hoja 3 de 5 Trabajo Práctico Final – Informática Electrónica – 2010 Solución propuesta – Circuito Electro-Mecánico Para contar la cantidad de vueltas utilizamos un sensor óptico el cual cambia su tensión de salida en función de si se encuentra interrumpido o no un haz de luz generado por el mismo, en nuestro caso utilizamos el circuito integrado OMROM EE-SX3239-P1, dado que el mismo es del tipo colector abierto y que posee el control de histeresis podemos con un circuito resistivo muy sencillo conectarlo directamente a las patas digitales del microcontrolador. Solidario al eje montamos una rueda dentada de 12 pasos. Para el control del motor se utilizaron un transistor tipo FET de potencia, el cual se puede disparar con tensiones de nivel TTL (permitiendo la conexión directa al microcontrolador sin ningún tipo de protección), modelo STB16NF06L2 corriente máxima 16A a 60V. Y un circuito para el frenado realizado con 2 transistores bjt, 1 de señal el cual proponemos usar un transistor de señal NPN BC337 y un transistor de potencia PNP TIP147, el cual se pone en paralelo con el motor a fin de frenarlo más rápido. Se desarrollo el diseño del circuito utilizando el software Eagle 3 de Cadsoft, se realizo tanto el diseño de un esquemático, como el diseño de una posible PCB compatible con el kit utilizado. Todos archivos de dicho proyecto son incluidos junto al presente informe. Solución propuesta – Control digital Para lograr la interfaz con el usuario se usaron los pulsadores y el display disponibles en el kit de desarrollo buscando que el dispositivo se pueda usar de forma autónoma sin necesidad de disponer de una PC . Se provee al usuario con un menú interactivo el cual le permite configurar parámetros del sistema: cantidad de vueltas totales a bobinar, cantidad de vueltas de aceleración, cantidad de vueltas de frenado, calibración de la potencia de arranque (puesta a punto del sistema). Para el control de los pulsadores se decidió realizar la lectura de los mismos mediante polling en el ciclo principal, mientras que la detección de los pulsos del encoder los realizamos vía interrupciones (flanco ascendente) a fin de garantizar su procesamiento. El control de velocidad del motor se realizo utilizando uno de los módulos contadores del microcontrolador en modo PWM, alineado al arranque de cuenta. El freno del mismo se realiza primero bajando la velocidad de forma suave y luego enclavando la tensión en bornes del motor a 0V vía el transistor de freno. En las transiciones marcha-parada tuvimos que disponer de retardos en el código a fin de evitar cortocircuitar los distintos elementos de potencia. Para una comprensión del código decidimos divir al mismo en varios archivos teniendo en total 3 módulos main.(c,h) menu.(c,h) y lcd.(c,h). Dónde lcd fue provisto por uno de los ejemplos del entorno de programación y permite el fácil manejo del display, menu implementa todas las operaciones del menu, salvo la lógica de control del mismo y main implementa el control del motor, el disparo de las acciones del menú, las interrupciones del encoder y el bucle de control de pulsaciones. 1 http://www.omron.com/ecb/products/pdf/en-ee_sx3239_p2.pdf 2 http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD000 02847.pdf 3 http://www.cadsoft.de/ Hoja 4 de 5 Trabajo Práctico Final – Informática Electrónica – 2010 Conclusiones La utilización del microcontrolador más una electrónica sencilla nos permitió poder montar un prototipo andando en unos pocos días. La mezcla de manejo de pulsadores por polling con interrumpciones aunque fue complicada de resolver, nos permitió separar totalmente la lógica del control del motor propiamente dicha de la lógica de interfaz con usuario. La utilización de un circuito digital trae aparejadas ciertas limitaciones respecto a la cantidad de vueltas máximas posibles, a pesar de ello a calculado realizado podríamos hacer bobinas de más de 300 millones de vueltas, con lo cual se encuentra garantizado la utilizad del circuito dentro de todo el rango posible (suponiendo una cantidad máxima de vueltas de 1000). Obviamente el sistema podría ser mejorado en muchas funcionalidades sobre todo desdé el punto de vista digital, por mencionar algunas posibles mejoras: • Control de tiempos para mostrar en display tiempo de proceso y posible tiempo restante en el proceso actual. • Cálculo de velocidad en RPM u otra unidad. • Cálculo automático de cantidad de vueltas en función del valor de inductancia buscado. • Contador de cantidad de bobinas realizadas. • Contador de cantidad de vueltas realizadas por el eje a fin de poder realizar mantenimiento preventivo. • Calibración automática de la potencia de arranque, entre otras. Hoja 5 de 5