# Proyectar una plataforma móvil con un motor step



## inventable (Dic 2, 2010)

*1. Introducción*

Este artículo describe como usar un motor paso a paso para mover una plataforma a lo largo de una guía. No obstante la extensión del artículo, el mismo es de carácter introductorio. Probablemente en futuro escribiré otros artículos que explicaran en modo mas detallado los argumentos tratados aquí.

*2. Descripción del sistema*

En la figura inicial se puede observar el sistema que propongo como ejemplo. La parte mecánica está constituida por una base y una guía por la cual se desplaza una plataforma móvil. Esta se mueve gracias a una correa dentada y un motor paso a paso.

En el ejemplo descripto no se usa una caja de desmultiplicación del motor. Por lo tanto La relación entre giros de motor y desplazamiento de la plataforma depende del diámetro de la polea del motor. Con una polea de 2 cm. de diámetro y usando un motor de 200 pasos por giro, el desplazamiento de la plataforma será de 6,28 cm. por cada giro del motor, es decir que la resolución teórica del sistema es de 0,3 mm. Mas adelante se verá que, controlando el motor en modalidad medio paso o micropaso, la resolución del sistema puede ser mucho mayor.

Dos sensores ubicados en proximidad de los extremos de la guía sirven para determinar la posición absoluta de la plataforma y como dispositivos de seguridad.

La electrónica está constituida por dos módulos: la unidad de potencia del motor y la unidad de control principal. Esta última recibe los comandos de posicionamiento desde un ordenador a través de un puerto serial RS232 o USB.




 La fotografía muestra un robot de 3 ejes para archivar casetes DV que he desarrollado algunos años atrás para aplicaciones televisivas. En primer plano se ve la plataforma móvil con la pinza que coge un casete del archivo. Para dar mayor solidez a la mecánica, las guías de movimiento horizontal son dos.

En la plataforma móvil se puede observar otra sistema de guía y motor que permite de acercar la pinza al archivo. Para el movimiento de la pinza (abrir y cerrar) se optó por usar un electroimán (en la parte alta de la fotografía).

*3. Contar pasos*

Con los motores step, contar los pasos del motor para determinar la posición es algo relativamente simple porque el mismo microprocesador que genera los impulsos eléctricos para mover el motor puede al mismo tiempo contarlos. Por lo tanto el uso de este tipo de motores elimina la exigencia de instalar particulares dispositivos que miden los giros del motor (conocidos con el nombre de “encoder”).

*4. Posicionamiento relativo*

Para determinar la posición de la plataforma móvil, generalmente se usa un método llamado “posicionamiento relativo” que consiste en sumar o restar (según el sentido de marcha) el número de pasos efectuados por el motor a un contador o registro de posición. Esta técnica, económica y fácil de implementar necesita un procedimiento de inicialización del sistema que sirve para determinar la posición absoluta de la plataforma y que será usada como referencia para todos los movimientos sucesivos.

*5. Inicialización con sensor de cero*




El procedimiento de inicialización consiste en determinar la posición absoluta de la plataforma. Para ello se es necesario llevar la plataforma a una posición conocida donde se encuentra un sensor llamado “de cero”. Cuando la plataforma llega a dicho punto, el contador de posición se pone a 0 y se detiene el movimiento. A partir de ese momento el sistema sabe donde se encuentra la plataforma y por lo tanto para los movimientos sucesivos se usa la técnica del “posicionamiento relativo” descripta en el párrafo anterior.

Para el sensor de cero se puede usar una dispositivo infrarrojo (IR), un sensor electromagnético, capacitivo o un micronterruptor (microswitch). Este último es menos preciso respecto a los anteriores.

*6. Sensor de tope*

En la figura anterior se puede observar otro sensor, similar al sensor de cero pero que se encuentra en el otro extremo de la guía. Este sensor, llamado “de tope” sirve solamente como protección en el caso que el motor siga girando mas allá del rango previsto.

En condiciones normales de funcionamiento, este sensor nunca se activa pero en ciertas circunstancias esto puede suceder. El caso mas común es cuando el motor “pierde” pasos, o sea, cuando por diversos motivos (generalmente mecánicos), el motor no logra girar mientras el sistema de control piensa que el movimiento está sucediendo (recordemos que el sistema descripto no tiene un feedback continuo del movimiento del motor, solo en el momento de inicialización). Por lo tanto, el registro de posición tendrá un valor erróneo respecto a la ubicación real de la plataforma. Si el error es grande, puede suceder que, en un posicionamiento sucesivo, la plataforma exceda el rango de movimiento de la guía activando el sensor de tope.




El sensor de tope, mas allá de proteger el sistema mecánico permite de advertir al sistema de control que el registro de posición contiene un valor erróneo. Después de la activación del sensor de tope, el sistema de control tendría que activar inmediatamente el procedimiento de inicialización para alinear correctamente el registro de posición del motor.

Como en el caso del sensor de cero, para el sensor de tope se puede usar una dispositivo infrarrojo (IR) come se observa en la figura, un sensor electromagnético, capacitivo o un microswitch.

*7. El sensor de cero como tope*

Como descripto en el caso del sensor de tope, también el sensor de cero podría servir para evitar que la plataforma vaya fuera del rango del otro lado de la guía. La única diferencia es que el procedimiento de inicialización sucesivo podría ser mas breve porque la plataforma se encuentra ya en la posición justa. Por lo tanto, en el caso que el sensor de cero detecte la plataforma en fase de un normal movimiento, la unidad de control tendrá que activar el procedimiento de inicialización como descripto en el respectivo párrafo.

*8. Conexión de los sensores de cero y de top*e

La figura muestra la conexión de dos tipos de sensores IR simples (uno a horquilla y el otro de reflexión). La resistencia de 1K sirve para encender el led emisor. La salida de este tipo de sensor es un fototransistor. Naturalmente existen sensores de este tipo mas sofisticados con circuitos lógicos y modulación de la luz infrarroja para eliminar los disturbios. No obstante esto, generalmente los sensores ilustrados en la figura funcionan perfectamente.




*9. Rampas de aceleración y desaceleración*

Para disminuir la solicitaciones mecánicas de cualquier sistema de movimiento motorizado, es necesario introducir rampas de aceleración y desaceleración del movimiento. En el caso de un sistema con motor paso a paso esto es imprescindible porque un arranque veloz de este tipo de motor provoca inevitablemente la pérdida de pasos.




Las rampas pueden ser generadas directamente por el microprocesador de la unidad de control introduciendo retardos variables en los impulsos del motor en las fases de arranque y detención. La duración de la rampa aconsejada depende de muchos factores como por ejemplo la velocidad deseada de la plataforma y el esfuerzo (par) que el motor debe hacer para moverla. Un sistema sofisticado varía la duración de la rampa en base a la magnitud del movimiento.

*10. Rampa en fase de inicialización del sistema*

Cuando el sistema se proyecta para su funcionamiento con rampas, el procedimiento de inicialización (o de cero) necesita una secuencia de acción mas elaborada respecto a la descripta anteriormente. Esto es debido a que la unidad de control no sabe cuando se activará el sensor de cero, por lo tanto no puede anticipar la respectiva rampa de desaceleración. La solución mas simple consiste en generar la rampa ni bien el sensor de cero se activa como se observa en la figura siguiente.




El hecho está en que al final de la rampa el motor se detendrá en una posición negativa respecto al sensor de cero. Por lo tanto, inmediatamente después, es necesario mover lentamente el motor en el otro sentido hasta que la plataforma supere nuevamente el sensor de cero deteniendo el movimiento en ese punto y memorizando en el registro de posición el valor “cero”. A partir de este momento el sistema estará listo para funcionar.

*11. La unidad de potencia del motor step*




En la figura se puede observar una típica unidad de potencia para motor paso a paso bipolar. Este tipo de motor tiene solamente 4 cables de salida conectados a los extremos de las dos bobinas internas y un quinto cable de masa. Los colores indicados son solamente a título de ejemplo porque cambian según el motor.

Un error en la conexión de los cables del motor no produce ningún daño, lo único que sucede es que el motor no gira o gira mal. Muchas veces, no conociendo un motor determinado es necesario probar en distintos modos hasta encontrar la conexión justa.

*12. Parámetros de la unidad de potencia*

Generalmente las unidades de potencia permiten de programar los parámetros de trabajo a través de dip switch o, en los modelos mas sofisticados, con la ayuda de un programa instalado en un ordenador (conectado a la unidad por medio de un cable USB o serial). Los parámetros mas importantes son: la corriente del motor (depende del tipo de motor y de la potencia necesaria) y el tipo de paso (paso entero, medio paso o fracción de paso) que permite de aumentar la resolución del eje. Otros parámetros pueden ser la corriente y el tiempo de standby.

*13. Las líneas de control de la unidad de potencia*

Para controlar una unidad de potencia clásica generalmente sirven 4 líneas de control de las cuales dos son fundamentales: paso y dirección. Como se puede observar en la figura, en las unidades de potencia las líneas del control son generalmente fotoacopladas para mantenerlas aisladas eléctricamente al resto del sistema.



Esto permite también la posibilidad de conectar una mayor variedad de dispositivos de control independientemente de los niveles lógicos de trabajo.

*paso:* por cada impulso de esta entrada el motor se mueve de un paso o menos. Esto último es debido a que muchas unidades de potencia permiten el control del motor en otras modalidades (medio paso, un cuarto de paso o inclusive una fracción de paso) Por lo tanto cada impulso no necesariamente corresponde a un paso entero.

*dirección:* según el nivel lógico de esta entrada el motor girará en un sentido o en el otro.

*standby: *muchas unidades de potencia comerciales permiten a través de esta entrada de reducir la corriente del motor cuando este último no se mueve. Esto sirve para evitar que el motor y la unidad se calienten y también para ahorrar energía. Por lo general la corriente nunca se reduce a cero para mantener “frenado” el motor evitando así movimientos involuntarios del eje que introducirían errores en el registro de posición. En general el nivel de reducción de corriente se puede programar en la misma unidad de potencia. Algunas unidades de potencia, después de un intervalo de tiempo programable, reducen automáticamente la corriente cuando el motor no se mueve. En estos casos, la línea de standby no es necesaria simplificando el sistema de control y el conexionado.

*fault:* esta es una salida de la unidad de potencia y sirve para indicar al sistema de control que la unidad tiene un desperfecto.

*14. La unidad de control*



Es el corazón del sistema y la parte mas difícil de hacer, conseguir o adaptar a una aplicación específica. Generalmente controlada por un microprocesador, debe generar los señales de control para la unidad de potencia (incluidas las rampas de aceleración / desaceleración), leer el estado de los sensores (cero y tope), calcular la posición de la plataforma y ejecutar las órdenes provenientes del ordenador.




La fotografía muestra una unidad de control que he desarrollado recientemente y que permite de ejecutar todas las operaciones descriptas.

*15. Comunicación entre ordenador y unidad de control*

Físicamente hablando, el ordenador puede comunicar con la unidad de control a través de un puerto serial del tipo RS232 o USB. Para ello es necesario establecer un protocolo de comunicación que sea el mismo en la unidad de control como en la aplicación (el programa).

Los comandos fundamentales que el protocolo tendría que disponer son:

*movimiento:* mueve la plataforma hacia la posición pasada como parámetro

*stop:* interrumpe inmediatamente cualquier movimiento del motor

*reset:* reset completo de la unidad de control

*velocidad:* programa la velocidad del motor para todos los movimientos sucesivos

*inicialización:* activa el procedimiento de inicialización determinando así la posición absoluta de la plataforma

*lectura de status:* el ordenador interroga la unidad de control para saber en que estado se encuentra. La unidad puede responder: posicionamiento, inicialización, stop, error etc.

Espero que, no obstante la complejidad, el artículo les guste... 

fuente (mi blog): www.inventable.eu


----------

