1. Instituto Tecnológico de Querétaro
GRUPO Y SALÓN:
Grupo 0V, Salón G24
MATERIA:
Microcontroladores: Mecatrónica 2
Número de Equipo:
Equipo 4
CONTENIDO:
Practica: motor a pasos
INTEGRANTES:
Martín Enrique Valdivia Mejía
José Francisco Álvarez Melgar
Héctor Cruz Noguez
2. Introducción
Los motorespaso a paso son ideales para la construcción de mecanismos en donde se requieren
movimientos muy precisos, por ejemplo, posicionamiento de piezas, impresoras, escanner, etc.
La característica 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 pequeños movimientos de tan solo 1.8°.
Otro dato importante esque lavelocidadesproporcional alafrecuenciade lospulsosylaposición
es proporcional a la secuencia de los pulsos.
En los motores a pasos se sacrifica la velocidad, por un mejor control de posición
Marco Teórico
El principioconel que funcionanestosmotoresesenbase ala energización, energización inversa
ó desenergización de sus bobinas, para producir un cierto movimiento del eje.
Este tipo de motores están divididos en motores de imán permanente y de reluctancia variable,
para la aplicaciónarealizarse ocupa el motorde imánpermanente porloque hablaremos más de
éste.
El motorde imánpermanente asu vez se divide en motores unipolares y bipolares (en éste caso
analizaremos los bipolares puesto que es el que se usará en la práctica):
Bipolares:Estos tiene generalmente cuatrocablesde salida(verfigura1).Necesitanciertos trucos
para ser controlados, debido a que requieren del cambio de dirección del flujo de corriente a
travésde las bobinasenlasecuenciaapropiadapararealizarunmovimiento. 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
figura3. El circuitode lafigura3 esa modoilustrativoynocorresponde conexactitudaun Puente
3. 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
conexionadointerno (ver figura 2). Este tipo se
caracteriza por ser más simple de controlar.
Secuencias para manejar motores paso a paso Bipolares
Como se dijo anteriormente, estos motores necesitan la inversión de la corriente que circula en
sus bobinasenunasecuenciadeterminada.Cadainversiónde lapolaridadprovocael movimiento
del eje en un paso, cuyo sentido de giro está determinado por la secuencia seguida.
A continuación se puede ver la tabla con la secuencia necesaria para controlar motores paso a
paso del tipo Bipolares:
PASO TERMINALES
A B C D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
Fabricantes: B&R, TECO, OMEGA, NEMA, shinano Kenshi, MITSUMI.
Protocolo RS232
La comunicaciónserial esun protocolo muy común para comunicación entre dispositivos que se
incluye de manera estándar en prácticamente cualquier computadora. La mayoría de las
computadoras incluyen dos puertos seriales RS-232. La comunicación serial es también un
protocolocomúnutilizadoporvariosdispositivosparainstrumentación;existenvariosdispositivos
compatibles con GPIB que incluyen un puerto RS-232. Además, la comunicación serial puede ser
utilizadaparaadquisiciónde datossi se usa en conjunto con un dispositivo remoto de muestreo.
El conceptode comunicaciónserial essencillo.El puertoserial envíayrecibe bytesde información
un bit a la vez. Aun y cuando esto es más lento que la comunicación en paralelo, que permite la
transmisiónde unbyte completo por vez, este método de comunicación es más sencillo y puede
alcanzar mayores distancias.
4. Típicamente,lacomunicaciónserial se utilizaparatransmitirdatos en formato ASCII. Para realizar
la comunicación se utilizan 3 líneas de transmisión: (1) Tierra (o referencia), (2) Transmitir, (3)
Recibir.Debidoaque latransmisión es asincrónica, es posible enviar datos por un línea mientras
se recibendatospor otra. Existenotraslíneasdisponiblespararealizarhandshaking,ointercambio
de pulsos de sincronización, pero no son requeridas. Las características más importantes de la
comunicación serial son la velocidad de transmisión, los bits de datos, los bits de parada, y la
paridad. Para que dos puertos se puedan comunicar, es necesario que las características sean
iguales.
Velocidadde transmisión (baudrate): Indicael númerode bits por segundo que se transfieren, y
se mide enbaudios(bauds).Porejemplo,300baudiosrepresenta 300 bitspor segundo.Cuandose
hace referenciaalosciclosde reloj se estáhablandode lavelocidad de transmisión. Por ejemplo,
si el protocolohace unallamada a 4800 ciclosde reloj, entonces el reloj está corriendo a 4800 Hz,
lo que significa que el puerto serial está muestreando las líneas de transmisión a 4800 Hz. Es
posible tener velocidades más altas, pero se reduciría la distancia máxima 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 transmisión. Cuando la computadora envía un
paquete de información, el tamaño de ese paquete no necesariamente será de 8 bits. Las
cantidades más comunes de bits por paquete son 5, 7 y 8 bits. El número de bits que se envía
depende en el tipo de información que se transfiere.
Bits de parada: Usado para indicar el fin de la comunicación de un solo paquete. Los valores
típicos son 1, 1.5 o 2 bits. Debido a la manera como se transfiere la información a través de las
líneas de comunicación y que cada dispositivo tiene su propio reloj, es posible que los dos
dispositivos no estén sincronizados. Por lo tanto, los bits de parada no sólo indican el fin de la
transmisiónsinoademásdanunmargende toleranciaparaesa diferenciade los relojes. Mientras
más bits de parada se usen, mayor será la tolerancia a la sincronía de los relojes, sin embargo la
transmisión será más lenta.
Paridad: Es una forma sencilla de verificar si hay errores en la transmisión serial. Existen cuatro
tipos de paridad: par, impar, marcada y espaciada. La opción de no usar paridad alguna también
está disponible. Para paridad par e impar, el puerto serial fijará el bit de paridad (el último bit
despuésde losbitsde datos) a unvalor para asegurarse que latransmisióntengaunnúmero par o
imparde bitsen estado alto lógico. Esto permite al dispositivo receptor conocer de antemano el
estado de un bit, lo que serviría para determinar si hay ruido que esté afectando de manera
negativa la transmisión de los datos, o si los relojes de los dispositivos no están sincronizados.
Es utilizado para una gran variedad de propósitos, como conectar un ratón, impresora o modem,
así como instrumentación industrial. Gracias a las mejoras que se han ido desarrollando en las
líneasde transmisiónyenloscables,existenaplicacionesenlasque se aumentael desempeño de
RS-232 en lo que respecta a la distancia y velocidad del estándar. 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 utilizarparacomunicacionesserialesendistancias de hasta 50 pies.
Este protocolo se está sustituyendo por el protocolo Universal Serial Bus (USB).
5. Hyperterminal
Un hyperterminal, es un programa que permite conectar dispositivos informáticos o
computadoras,sitiostelnet de internet, servicios en línea, entre otros, por medio de un modem
para ello no necesita usar comandos de línea y es un medio útil para configurar conexiones con
otros sitios de internet.
Sirve para enviarcualquiertipode información oarchivospesadosyaseandocumentos, imágenes,
videos, entre otros, a través del puerto serie. Una de sus ventajas es que no necesita un equipo
especial adicional para enviar información, solo necesita tener un una conexión para modem,
además funciona con mucha velocidad y envía la información en formato electrónico de forma
directa.
El hyper terminal trabaja por puerto serial, (red punto a punto).
Las características del hyperterminal songrabarmensajes bidireccionales por servicios o equipos
situadosal otro extremode la conexión,transferirarchivosgrandesopesadosde unequipo a otro
a través del puerto serie y ayuda a depurar el código 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 posición original.
Generarun menúen la hipertermynal, para elegir el tipo de giro y mandar la instrucción
de giro desde la computadora.
TX
USB
Rx
Laptop
En la laptopse desplegounmenúde opciones,paraque el usuariopuedaescoger el tipo de giro y
la dirección
laptop Usb/rs232
(DB9)
micro Motor
a pasos
6. USB/rs232 (DB9)
Esta etapala sustituimos por un convertidor USB-TTL, para esta práctica en específico utilizamos
el convertidor USB-TTL-232R
El TTL-232R-PCB es unconvertidorUSB a TTL serial UART,el cual incorpora FTDI´s FT232RQ
USB a una interfazICserial UART,el cual este dispositivopuedemanejartodoslosprotocolosde la
señal USB. Este convertidor incorpora una rápida 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 después de cada
acción ejecutada. Se crearon ocho casos para los distintos grados de movimiento.
Motor a pasos
Se determinó el grado de giro para calcular el número de secuencias para mover el motor a la
posición 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 CONSTTAB[4]={1 2 4 8}; //tablaparagirar a laderecha
BYTE CONSTTAB2[4]={4 2 1 8}; //tablapara girar a la izquierda