Está en la página 1de 11

REPORTE MOTOR A PASOS

Introduccin
Los motores paso a paso son ideales para la construccin de mecanismos en
donde se requieren movimientos muy precisos, por ejemplo, posicionamiento
de piezas, impresoras, escanner, etc.
La caracterstica principal de estos motores es el hecho de poder moverlos un
paso a la vez por cada pulso que se le aplique (puede usarse un controlador
digital un tren de pulsos para controlarlo). Este paso puede variar desde 90
hasta pequeos movimientos de tan solo 1.8.
Otro dato importante es que la velocidad es proporcional a la frecuencia de los
pulsos y la posicin es proporcional a la secuencia de los pulsos.
En los motores a pasos se sacrifica la velocidad, por un mejor control de
posicin
Marco Terico
El principio con el que funcionan estos motores es en base a la energizacin,
energizacin inversa desenergizacin de sus bobinas, para producir un cierto
movimiento del eje.
Este tipo de motores estn divididos en motores de imn permanente y de
reluctancia variable, para la aplicacin a realizar se ocupa el motor de imn
permanente por lo que hablaremos ms de ste.
El motor de imn permanente a su vez se divide en motores unipolares y
bipolares (en ste caso analizaremos los bipolares puesto que es el que se
usar en la prctica):

Bipolares: Estos tiene generalmente cuatro cables de salida (ver figura 1).
Necesitan ciertos trucos para ser controlados, debido a que requieren del
cambio de direccin del flujo de corriente a travs de las bobinas en la
secuencia apropiada para realizar un movimiento. En figura 3 podemos

apreciar un ejemplo de control de estos motores mediante el uso de un puente


en H. Como se aprecia, ser necesario un puente H por cada bobina del motor,
es decir que para controlar un motor Paso a Paso de 4 cables (dos bobinas),
necesitaremos usar dos puentes H iguales al de la figura 3. El circuito de la
figura 3 es a modo ilustrativo y no corresponde con exactitud a un Puente H. En
general es recomendable el uso de puentes H integrados como son los casos
del L293 (ver figura 3 bises).

Unipolar: Estos motores suelen tener


6 o 5 cables de salida, dependiendo
de su conexionado interno (ver figura
2). Este tipo se caracteriza por ser
ms simple de controlar.

Secuencias para manejar motores paso a paso Bipolares


Como se dijo anteriormente, estos motores necesitan la inversin de la
corriente que circula en sus bobinas en una secuencia determinada. Cada
inversin de la polaridad provoca el movimiento del eje en un paso, cuyo
sentido de giro est determinado por la secuencia seguida.
A continuacin se puede ver la tabla con la secuencia necesaria para controlar
motores paso a paso del tipo Bipolares:
PASO
1
2
3
4

A
+V
+V
-V
-V

TERMINALES
B
C
D
-V
+V
-V
-V
-V
+V
+V
-V
+V
+V
+V
-V

Fabricantes: B&R, TECO, OMEGA, NEMA, shinano Kenshi, MITSUMI.


Protocolo RS232
La comunicacin serial es un protocolo muy comn para comunicacin entre
dispositivos que se incluye de manera estndar en prcticamente cualquier
computadora. La mayora de las computadoras incluyen dos puertos seriales
RS-232. La comunicacin serial es tambin un protocolo comn utilizado por
varios dispositivos para instrumentacin; existen varios dispositivos
compatibles con GPIB que incluyen un puerto RS-232. Adems, la
comunicacin serial puede ser utilizada para adquisicin de datos si se usa en
conjunto con un dispositivo remoto de muestreo.

El concepto de comunicacin serial es sencillo. El puerto serial enva y recibe


bytes de informacin un bit a la vez. Aun y cuando esto es ms lento que la
comunicacin en paralelo, que permite la transmisin de un byte completo por
vez, este mtodo de comunicacin es ms sencillo y puede alcanzar mayores
distancias.
Tpicamente, la comunicacin serial se utiliza para transmitir datos en formato
ASCII. Para realizar la comunicacin se utilizan 3 lneas de transmisin: (1)
Tierra (o referencia), (2) Transmitir, (3) Recibir. Debido a que la transmisin es
asincrnica, es posible enviar datos por un lnea mientras se reciben datos por
otra. Existen otras lneas disponibles para realizarhandshaking, o intercambio
de pulsos de sincronizacin, pero no son requeridas. Las caractersticas ms
importantes de la comunicacin serial son la velocidad de transmisin, los bits
de datos, los bits de parada, y la paridad. Para que dos puertos se puedan
comunicar, es necesario que las caractersticas sean iguales.
Velocidad de transmisin (baud rate): Indica el nmero de bits por
segundo que se transfieren, y se mide en baudios (bauds). Por ejemplo, 300
baudios representa 300 bits por segundo. Cuando se hace referencia a los
ciclos de reloj se est hablando de la velocidad de transmisin. Por ejemplo, si
el protocolo hace una llamada a 4800 ciclos de reloj, entonces el reloj est
corriendo a 4800 Hz, lo que significa que el puerto serial est muestreando las
lneas de transmisin a 4800 Hz. Es posible tener velocidades ms altas, pero
se reducira la distancia mxima posible entre los dispositivos. Las altas
velocidades se utilizan cuando los dispositivos se encuentran uno junto al otro,
como es el caso de dispositivos GPIB.
Bits de datos: Se refiere a la cantidad de bits en la transmisin. Cuando la
computadora enva un paquete de informacin, el tamao de ese paquete no
necesariamente ser de 8 bits. Las cantidades ms comunes de bits por
paquete son 5, 7 y 8 bits. El nmero de bits que se enva depende en el tipo de
informacin que se transfiere.
Bits de parada: Usado para indicar el fin de la comunicacin de un solo
paquete. Los valores tpicos son 1, 1.5 o 2 bits. Debido a la manera como se
transfiere la informacin a travs de las lneas de comunicacin y que cada
dispositivo tiene su propio reloj, es posible que los dos dispositivos no estn
sincronizados. Por lo tanto, los bits de parada no slo indican el fin de la
transmisin sino adems dan un margen de tolerancia para esa diferencia de
los relojes. Mientras ms bits de parada se usen, mayor ser la tolerancia a la
sincrona de los relojes, sin embargo la transmisin ser ms lenta.
Paridad: Es una forma sencilla de verificar si hay errores en la transmisin
serial. Existen cuatro tipos de paridad: par, impar, marcada y espaciada. La
opcin de no usar paridad alguna tambin est disponible. Para paridad par e
impar, el puerto serial fijar el bit de paridad (el ltimo bit despus de los bits
de datos) a un valor para asegurarse que la transmisin tenga un nmero par o
impar de bits en estado alto lgico. Esto permite al dispositivo receptor conocer
de antemano el estado de un bit, lo que servira para determinar si hay ruido
que est afectando de manera negativa la transmisin de los datos, o si los
relojes de los dispositivos no estn sincronizados.

Es utilizado para una gran variedad de propsitos, como conectar un ratn,


impresora o modem, as como instrumentacin industrial. Gracias a las mejoras
que se han ido desarrollando en las lneas de transmisin y en los cables,
existen aplicaciones en las que se aumenta el desempeo de RS-232 en lo que
respecta a la distancia y velocidad del estndar. RS-232 est limitado a
comunicaciones de punto a punto entre los dispositivos y el puerto serial de la
computadora. El hardware de RS-232 se puede utilizar para comunicaciones
seriales en distancias de hasta 50 pies.
Este protocolo se est sustituyendo por el protocolo Universal Serial Bus (USB).
Hyperterminal
Un hyperterminal, es un programa que permite conectar dispositivos
informticos o computadoras, sitios telnet de internet, servicios en lnea, entre
otros, por medio de un modem para ello no necesita usar comandos de lnea y
es un medio til para configurar conexiones con otros sitios de internet.
Sirve para enviar cualquier tipo de informacin o archivos pesados ya sean
documentos, imgenes, videos, entre otros, a travs del puerto serie. Una de
sus ventajas es que no necesita un equipo especial adicional para enviar
informacin, solo necesita tener un una conexin para modem, adems
funciona con mucha velocidad y enva la informacin en formato electrnico de
forma
directa.
El hyper terminal trabaja por puerto serial, (red punto a punto).
Las caractersticas del hyperterminal son grabar mensajes bidireccionales por
servicios o equipos situados al otro extremo de la conexin, transferir archivos
grandes o pesados de un equipo a otro a travs del puerto serie y ayuda a
depurar
el
cdigo
fuente
desde
un
terminal
remoto.
Proyecto
El problema a solucionar con el microcontrolador es:

Controlar la secuencia de giro del motor para que se mueva 90, 270,
180 y 360, grados tanto a la izquierda como a la derecha.
Que cada que realice un giro regrese a su posicin original.
Generar un men en la hipertermynal, para elegir el tipo de giro y
mandar la instruccin de giro desde la computadora.

laptop

USBUsb/rs232
(DB9)

TX
micro
Rx

Motor a
pasos

Laptop

En la laptop se desplego un men de opciones, para que el usuario pueda


escoger el tipo de giro y la direccin

USB/rs232 (DB9)

Esta etapa la sustituimos por un convertidor USB-TTL, para esta prctica en


especfico utilizamos el convertidor USB-TTL-232R
El TTL-232R-PCB es un convertidor USB a TTL serial UART, el cual
incorpora FTDIs FT232RQ USB a una interfaz IC serial UART, el cual este
dispositivo puede manejar todos los protocolos de la seal USB. Este
convertidor incorpora una rpida y simple forma de conectar dispositivos con
un nivel TTL con una interfaz serial a USB. Cabe mencionar que los niveles de
voltaje que puede manejar este convertidor son de +5V o +3.3V.

Micro

En esta etapa se crearon dos tablas de datos para ejecutar la secuencia de


giro, una para giro a la derecha y otra para giro a la izquierda. Se dise un
men que ser impreso despus de cada accin ejecutada. Se crearon ocho
casos para los distintos grados de movimiento.

Motor a pasos

Se determin el grado de giro para calcular el nmero de secuencias para


mover el motor a la posicin deseada.
PROGRAMA
#include <16f887.h>
#FUSES PUT,NOWDT,NOLVP,NOBROWNOUT,NOPROTECT,INTRC_IO
#USE DELAY(CLOCK=8000000)
#USE RS232(BAUD=9600, PARITY=N, BITS=8, XMIT=PIN_C6, RCV=PIN_C7)
#USE FAST_IO(C)
#USE FAST_IO(B)
#BYTE MOTOR=0X06
CHAR TECLO;
INT N;

BYTE CONST TAB[4]={1 2 4 8}; //tabla para girar a la derecha


BYTE CONST TAB2[4]={4 2 1 8}; //tabla para girar a la izquierda
//INICIALIZAR
INICIALIZAR(){
SET_TRIS_B(0);
SET_TRIS_C(0b10000000);
MOTOR=0;
TECLO=0;
}
//PROGRAMA
DERECHA(){
INT I;
FOR(I=0;I<N;I++){
INT J;
FOR(J=0;J<4;J++){
MOTOR=TAB[J];
DELAY_MS(500);
}
}
}
IZQUIERDA(){
INT I;
FOR(I=0;I<N;I++){
INT J;
FOR(J=0;J<4;J++){
MOTOR=TAB2[J];

DELAY_MS(500);
}
}
}
//PRINCIPAL
MAIN(){
INICIO:
INICIALIZAR();
PUTS("MENU\n\r\n\r DERECHA\n\r U=90\n\r I=180\n\r O=270\n\r
P=360\n\r");
PUTS(" IZQUIERDA\n\r Q=90\n\r W=180\n\r E=270\n\r R=360\n\r");
WHILE(TRUE){
IF(KBHIT()){
TECLO=GETC();
SWITCH (TECLO){
//DERECHA
CASE 0X75:
{PRINTF("MOTOR AVANZA 90 DERECHA\n\r");
N=3;
DERECHA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
IZQUIERDA();
GOTO INICIO;}
BREAK;

CASE 0X69:
{PRINTF("MOTOR AVANZA 180 DERECHA\n\r");
N=6;
DERECHA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
IZQUIERDA();
GOTO INICIO;}
BREAK;
CASE 0X6F:
{PRINTF("MOTOR AVANZA 270 DERECHA\n\r");
N=9;
DERECHA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
IZQUIERDA();
GOTO INICIO;}
BREAK;
CASE 0X70:
{PRINTF("MOTOR AVANZA 360 DERECHA\n\r");
N=12;
DERECHA();
PRINTF("STOP\n\r");
DELAY_MS(3000);

PRINTF("RETURNING\n\r");
IZQUIERDA();
GOTO INICIO;}
BREAK;
//IZQUIERDA
CASE 0X71:
{PRINTF("MOTOR AVANZA 90 IZQUIERDA\n\r");
N=3;
IZQUIERDA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
DERECHA();
GOTO INICIO;}
BREAK;
CASE 0X77:
{PRINTF("MOTOR AVANZA 180 IZQUIERDA\n\r");
N=6;
IZQUIERDA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
DERECHA();
GOTO INICIO;}
BREAK;
CASE 0X65:

{PRINTF("MOTOR AVANZA 270 IZQUIERDA\n\r");


N=9;
IZQUIERDA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
DERECHA();
GOTO INICIO;}
BREAK;
CASE 0X72:
{
PRINTF("MOTOR AVANZA 360 IZQUIERDA\n\r");
N=12;
IZQUIERDA();
PRINTF("STOP\n\r");
DELAY_MS(3000);
PRINTF("RETURNING\n\r");
DERECHA();
GOTO INICIO;}
BREAK;
DEFAULT:
{PRINTF("ERROR DE TECLA\n\r");}
}
}
}
}