"Sistema de Control Con PLD'S para Motores de Paso": Resumen
"Sistema de Control Con PLD'S para Motores de Paso": Resumen
"Sistema de Control Con PLD'S para Motores de Paso": Resumen
M. Plata, E. Mejia, G. Ramrez, E. Tepichn INAOE, Apdo. Postal 51, Puebla, Pue., Mxico, C. P. 72000. Tel. 91(22)47 20 11 Ext. 4202. Fax 91(22)47 27 42. Email mplata@inaoep.mx RESUMEN En este trabajo se describe un sistema de posicionamiento en dos dimensiones X e Y, el cul ha sido diseado con Dispositivos Lgicos Programables (PLDs), acoplados a motores de paso. Los PLDs son circuitos integrados con los cules se puede realizar la implementacin de funciones en forma de suma de productos a travs de la incorporacin de mintrminos de una tabla de verdad, con una programacin adecuada de stos. Las seales de control para este sistema son obtenidas por medio de un programa de computadora a travs del puerto paralelo de la misma. La ventaja de nuestro sistema es que con l fcilmente se pueden controlar ms motores de paso con la misma arquitectura. ABSTRACT In this work we describe a positioner in two dimensions, that has been designed with Programmable Logic Devices (PLDs) coupled to steppers motors. PLDs are integrated circuits which can perform diferents functions in the form of sum of products by the incorporation of minterms inside a true table with a pertinent programming. The control signals for the system are obtained with a PC through its parallel port. Furthermore, the advantage of our system is that we can control more than 2 steppers motors with the same architecture. 1. INTRODUCCION Los sistemas hbridos (pticos y electrnicos) de procesado de informacin entre otras aplicaciones, estn siendo ampliamente desarrollados para poder armar las partes de lo que ser a mediano plazo una computadora ptica. Muchos de estos sistemas requieren el uso de sistemas de posicionado de precisin, sobre todo para poder manipular los elementos pticos constitutivos. En los laboratorios experimentales de ptica se manejan monturas con tornillos micromtricos que por lo general son manejados de una manera manual. Ya existen en el mercado dispositivos electrnicos para controlar estos tornillos, los cuales se adaptan a las monturas. Sin embargo, el precio de este tipo de sistemas se encuentra entre 3 mil y 5 mil dlares para controles manuales y hasta 12 mil dlares para controles programables. Por lo tanto, el objetivo de este trabajo es el de disear un sistema de control econmico, que sea programable a las necesidades del usuario. La idea de utilizar PLDs en este trabajo[1,2,3], es debido a que por las caractersticas de estos dispositivos se evita la utilizacin de una gran cantidad de circuitos discretos que se requeriran al momento de armar el sistema [4]. Se podra utilizar un microcontrolador o un microprocesador, sin embargo se estara subutilizando la capacidad de este tipo de dispositivos. El PLD es acoplado a motores de paso hbridos [5], por lo que es necesario que se genere la secuencia correcta para poder tener un control completo sobre estos. Adems, el sistema cuenta con un programa de computadora, el cual permite controlar a travs de una PC las funciones que desempea nuestro sistema, que entre las principales se encuentra el control de secuencia de giro en direccin de las manecillas del reloj, el control de secuencia contraria al de las manecillas del reloj, el control sobre la cantidad de giro del motor, el control sobre la velocidad de giro del motor, etc. Con la misma idea de este sistema se pueden llegar a controlar hasta siete motores de paso mediante ligeras modificaciones pero bsicamente con la misma arquitectura de nuestro sistema original. Para lograr nuestro objetivo, en la seccin 2 describimos paso a paso el diseo de nuestro sistema. En la seccin 3 describimos algunas caractersticas de nuestro montaje experimental. En la seccin 4 se describe la manera en que se pueden controlar ms motores de paso con la misma computadora, y en la seccin 5 se dan las conclusiones a las que se llegaron al trmino de nuestro trabajo.
2. DISEO DEL SISTEMA 2.1. Diagrama a bloques El primer paso fu el de dibujar un diagrama de bloques que reflejara las funciones a desempear por el PLD que en nuestro sistema es el GAL16V8. El diagrama se muestra en la figura 2.1.1. La idea en el diagrama es la de grabar en el GAL dos bloques iguales, pero que puedan ser controlados independientemente. Cada bloque consta de dos seales de entrada de control y cuatro salidas con las cuales se generan las secuencias para que el eje del motor pueda girar tanto en la direccin de las manecillas del reloj como en la direccin contraria. Es decir, si b1b0=11 y se mandan pulsos de reloj, entonces el bloque estar generando la secuencia para que el eje del motor gire en direccin de las manecillas del reloj. Si ahora b1b0=10 y se mandan pulsos de reloj, entonces el bloque deber generar la secuencia para que el motor se mueva en direccin contraria al de las manecillas del reloj. Luego, si b1b0=01 y se mandan pulsos de reloj, entonces, el bloque deber mantener sus salidas en el ltimo estado en el que se encontraba antes de que le empezaran a llegar los pulsos de reloj. Ya por ltimo, si b1b0=00, entonces las salidas del bloque deben de irse a su estado inicial.
Figura 2.1.1. Diagrama de bloques de lo que se intenta grabar en el PLD para controlar dos motores de paso. 2.2. Diagrama de Estados Una vez realizado el diagrama de bloques, el siguiente paso consisti en elaborar el diagrama de estados, sin embargo para generar este diagrama, es necesario conocer primero las secuencias con las cuales los ejes de nuestros motores se mueven tanto en una direccin como en la otra. Estas secuencias se muestran en la figura 2.2.1. De la figura 2.2.1 podemos observar que
(a) (b) Figura 2.2.1. (a) Secuencia de excitacin para rotacin en el sentido de las manecillas del reloj. (b) Secuencia de excitacin para rotacin en el sentido contrario de las manecillas del reloj. solamente necesitamos que las salidas varen dentro de 5 estados diferentes, por lo que nuestro diagrama de estados queda como se muestra en la figura 2.2.2. Cuando activamos nuestro sistema sus salidas se encuentran en el estado inicial 1111, luego, si b1b0=11 y llega un pulso de
Figura 2.2.2. Diagrama de estados para controlar un motor de pasos. reloj, entonces las salidas pasan al estado 0111, o si en lugar de que b1b0=11 es b1b0=10 y llega un pulso de reloj, entonces las salidas pasan al estado 1110. Las otras dos opciones son, una que si a la entrada se encuentra b1b0=01, entonces las salidas permanecen en el mismo estado, la otra es que cuando a la entrada se encuentre b1b0=00 y llegue el pulso de reloj, entonces no importando en que estado se encuentren las salidas, stas inmediatamente pasen al estado inicial 1111. 2.3. Tabla de Estados El tercer paso de nuestro diseo consisti en hacer una tabla de estados en donde se encuentran tanto los estados permitidos como los no permitidos. Los estados permitidos son aquellos que manejamos en nuestro diagrama de estados que en nuestro caso son cinco. Los no permitidos son aquellos que pueden ser generados por nuestro sistema pero que a nosotros no nos son tiles. El siguiente paso es el de pasar nuestra tabla de estados a la forma de un programa en CUPL. CUPL es un paquete de programacin de Texas Instruments con el cul por medio de un formato ya establecido se pueden realizar programas de las tablas de estado, esto con la finalidad de que el paquete cre un archivo JEDEC con el cul se puede programar el PLD con un programador universal [6]. Ya una vez que se haba programado el GAL y que se verific que haca lo que esperbamos, se procedi a la elaboracin del programa en Borland C, con el cual se generaran las seales de control y se sacaran de la computadora por el puerto paralelo de la misma (puerto de la impresora). Para poder controlar los dos motores al mismo tiempo se grabaron dos bloques iguales en el mismo GAL como ya se haba mencionado anteriormente. 2.4. Acoplamiento del sistema La ltima parte fu el acoplamiento total del sistema. Una vez grabado el GAL, ste se acopl a la etapa de potencia de los motores, los motores se acoplaron a la montura con tornillos micromtricos con la que se iba a trabajar, y por ltimo se hicieron las conexiones a la computadora con la cul se control el sistema.
3. CARACTERISTICAS DEL MONTAJE EXPERIMENTAL Los motores de paso que utilizamos en nuestro sistema son motores de pasos hbridos de la marca CROUZET. Estos motores son motores de 200 pasos por vuelta, es decir su ngulo de paso
es de 1.8 grados por paso. En nuestro sistema cada motor tiene un consumo de corriente de aproximadamente 151 mA por fase, y como estamos alimentando una sola fase a la vez, entonces, el consumo de corriente por los dos motores es de 302 mA aproximadamente. Si a este consumo agregamos el de los dems circuitos, entonces tenemos que el consumo total de corriente en nuestro sistema es de aproximadamente de 600 mA. Los motores fueron acoplados a una montura de la Newport Research Corporation, que es una montura de 5 grados de libertad, tres de estos son para posicionado y dos para movimientos circulares. Esta montura tiene tornillos micromtricos con la mnima escala de graduacin de 10 micras, por lo que el mnimo movimiento que se puede realizar con los motores ya acoplados a estos tornillos, es de 2.5 mcras por paso. El programa de control es muy pequeo y de fcil manejo, por lo que se puede cambiar la forma de control del sistema. Es decir, con algunas pequeas modificaciones podemos controlar el nmero de pasos y la velocidad, o podemos dejar fijos estos parmetros de tal manera que el sistema siempre avance un mismo nmero de pasos a una determinada velocidad. Debido a que el torque de los motores disminuye con la velocidad, para poder mover los tornilllos en nuestra montura, la frecuencia mxima del pulso de reloj debe de ser de 100 Hz (T=10 ms), es decir, con nuestro sistema podemos avanzar 1mm cada 4 segundos. 4. EXTENSION A MAS MOTORES DE PASO Una de las ventajas del sistema es que se pueden controlar ms de dos motores de paso con una sola computadora. As como hemos descrito nuestro sistema, se estn utilizando 5 bits de salida del puerto paralelo de la computadora, en donde cuatro bits de salida son utilizados para generar las seales de control de los dos motores y uno para generar los pulsos de reloj. Hay que recordar que por la forma en que es grabado el GAL, se puede controlar un solo motor con dos seales de control o dos motores con cuatro seales de control. Debido a esto, si quisiramos controlar otro motor de pasos, ser necesario grabar otro GAL de la misma manera que el anterior y utilizar otros dos bits de salida del puerto para generar sus seales de control. Al hacer esto estaramos utilizando entonces siete bits de salida del puerto acoplados a 2 GALs para poder controlar 3 motores de pasos de una manera completamente independiente, es decir, se puede mover un solo motor a la vez. Sin embargo, existe otra manera de controlar ms motores de paso, solamente que ya no generando las dos seales de control para cada motor por medio del puerto, si no generando manualmente una de las seales por medio de un interruptor de un polo dos tiros, y la otra por medio de uno de los bits de salida del puerto. De esta segunda manera es posible entonces poder controlar hasta siete motores de paso, agregando por supuesto el nmero necesario de GALs para poder generar las secuencias de movimiento para cada motor, que para este caso seran 4 GALs, ya que por cada uno se puede generar la secuencia para 2 motores. Para este segundo caso estaramos entonces utilizando los ocho bits de salida del puerto, 7 para generar una de las seales de control para cada motor y 1 para generar la seal de reloj. 5. CONCLUSIONES En este trabajo se diseo, arm y prob un sistema de posicionamiento en dos dimensiones X e Y, con PLDs acoplados a motores de paso. Las ventajas de nuestro sistema son que al utilizar un GAL en lugar de Circuitos Lgicos Discretos para generar las secuencias de movimiento de los motores, nuestro sistema es ms econmico y ocupa mucho menos espacio debido al mnimo nmero de elementos a conectar. Adicionalmente se tiene que el sistema no queda limitado al control de solamente dos motores con la misma computadora, sino que fcilmente pueden controlarse hasta siete motores de paso. Todo esto lo hace un sistema verstil y adaptable a las necesidades de las diferentes aplicaciones. Este trabajo ha sido parcialmente apoyado por CONACyT a travs del proyecto 211290-5-3103 PE.
7. REFERENCIAS (a) John W. Carter, Digital Designing with Programmable Logic Devices, Prentice Hall, University of North Carolina, Pginas: v, 72, 137., 1997. [1] (b) Martin Bolton, Digital Systems Design with Programmable Logic, Prentice Hall, University of Bristol, Pginas: 117, 155, 201, 269., 1990. [2] (c) Parag K. Lala, Digital System Design Using Programmable Logic Devices, Prentice Hall, Englewood Cliffs, New Jersey, Pginas: 47, 84, 114, 167.,1990. [3] (d) M. Morris Mano, Diseo Digital, Prentice Hall, California State University, Los Angeles, Pginas: 118, 156, 205, 261.,1987. [4] (e) P.P Acarnley, Stepping Motors: a guide to modern theory and practice, London, Pginas: 1, 15, 26, 42, 59., 1984. [5] (f) INTERNET, http://www.ti.com/sc/oncs/pld/cupl.htm. [6]