motores paso a paso

July 22, 2017 | Autor: Yumury Gonzalez | Categoría: Electronica
Share Embed


Descripción

motores paso a paso
Los motores paso a paso giran en un ángulo determinado en cada maniobra y se quedan parados en dicha posición hasta que no cambiamos la tensión en sus bobinas ademas pueden ejercer un par importante. Esto los hace ideales para el posicionamiento preciso de mecanismos y de pequeñas masas.
Existen tres tipos de motores de paso: Bipolares, Unipolares y Universales. se pueden diferenciar por el numero de cables que salen del motor, si salen 4 es Bipolar, si salen 5 o 6 es Unipolar y si salen mas de 6 es Universal.








Motor Bipolar

Los motores bipolares están compuestos por 2 bobinas. el movimiento se consigue cambiando la direccion de la corriente en cada bobina
Motor Unipolar

Los motores Unipolares están compuestos de 4 bobinas internas las cuales podemos activar y desactivar por separado, el movimiento se logra aplicando una secuencia de activación especifica con lo cual este girara en un sentido o en el otro.
Prueba
Probaremos dos motores reciclados de una impresora epson que tenia archivada hace rato uno de los motores es un EM-91 y el otro es un EM-101.
Ya que no poseo la hoja de datos de los motores emplearemos el siguente algoritmo para identificar los cables:
1. Aislar cables comunes estos son faciles de reconocer ya que si medimos con un ohmetro la resistencia medida entre los cables comunes y cualquier otro cable sera la mitad de cualquier otra resistencia medida, en ele caso del motor EM-91 la mayor resistencia fue de 80 ohm y la del cable comun fue de 40 ohm y en el EM-101 fue de 24 y la del comun fue de 12 ohm.
2. Identificar los cables de las bobinas (1a 1b 2a 2b) aplicando una tensión (12v) a los cables comunes (a y b) y seleccionando un cable y conectarlo a tierra, este cable lo denominaremos 1a y aplicaremos el siguiente metodo:
- Manteniendo el cable 1a conectado a tierra miraremos cual de los 3 restantes provocara un paso en sentido anti horario y este lo denominaremos 1b.
- Manteniendo el cable 1a conectado a tierra miraremos cual de los 3 restantes provocara un paso en sentido horario y este lo denominaremos 2a.
– Por ultimo solo queda un cable el cual denominaremos 2b el cual al conectarse a tierra teniendo 1a a tierra no debería provocar ningún paso.
para el caso de mis motores el orden de los cables fu'e 1a 1b a b 2a 2b con el pin 1 ala derecha del motor visto desde arriba.
Ya identificados los pines del motor el movimiento se logra al activar cada bobina en una determinada secuencia existen 2 clases de secuencias full step y half step con la primera el motor girara un grado determinado por las especificaciones del fabricante y en la otra secuencia sera la mitad de este ángulo.
Full step
PASO
1a
1b
2a
2b
1
1
0
0
0
2
0
1
0
0
3
0
0
1
0
4
0
0
0
1

Half step
PASO
1a
1b
2a
2b
1
1
0
0
1
2
1
1
0
0
3
0
1
0
0
4
0
1
1
0
5
0
0
1
0
6
0
0
1
1
7
0
0
0
1
8
1
0
0
1
Para controlar dichas secuencias usaremos un atmega32 y para potencia nos ayudaremos de el integrado ULN2803APG de toshiba, los pines centrales (pin a pin b) de los motores los conectaremos a 12v como podemos ver en la siguiente imagen de la simulacion en proteus:

El siguiente es el código en C para el atmega32
/* control motor pap unipolar 
 * UN ELECTRONICA
 * Atmega32 bits mas significativos puerto D
 * http://unelectronica.260mb.com
 */
#ifndef F_CPU
#define F_CPU 8000000UL 
#endif
#define puerto PORTD
#define wait 20
#include
#include
void sleep(int milisegundos){
while(milisegundos){
_delay_ms(1);
milisegundos--;}
}
void secuencia_der(){
puerto = 0x80;
sleep(wait);
puerto = 0x40;
sleep(wait);
puerto = 0x20;
sleep(wait);
puerto = 0x10;
sleep(wait);
}
void secuencia_iz(){
puerto = 0x10;
sleep(wait);
puerto = 0x20;
sleep(wait);
puerto = 0x40;
sleep(wait);
puerto = 0x80;
sleep(wait);
}
void half_step_der(){
puerto = 0x80;
sleep(wait);
puerto = 0xC0;
sleep(wait);
puerto = 0x40;
sleep(wait);
puerto = 0x60;
sleep(wait);
puerto = 0x20;
sleep(wait);
puerto = 0x30;
sleep(wait);
puerto = 0x10;
sleep(wait);
puerto = 0x90;
sleep(wait);
}
int main()

int i= 200;
DDRD = 0xFF;
for(;;){
i=200;
do{
secuencia_der();
}while(--i);
i=200;
do{
secuencia_iz();
}while(--i);


return 0;
}


Motores PaP
A diferencia de los Motores-CC que giran a todo lo que dan cuando son conectados a la fuente de alimentación, los Motores-PaP solamente giran un ángulo determinado, los primeros sólo disponen de dos terminales de conexión, mientras los otros pueden tener 4, 5 ó 6, según el tipo de motor que se trate, por otro lado los motores de corriente continua no pueden quedar enclavados en una sola posición, mientras los motores paso a paso sí.
 
Los motores paso a paso son comúnmente utilizados en situaciones en que se requiere un cierto grado de precisión, por ejemplo en las disqueteras se puede encontrar unido al cabezal haciéndolo avanzar, retroceder o posicionarse en una determinada región de datos alojadas en el disquete.
El ángulo de giro de estos motores es muy variado pasando desde los 90º hasta los 1.8º e incluso 0.72º, cada ángulo de giro, (también llamado paso) se efectúa enviando un pulso en uno de sus terminales, es decir que por ejemplo en motores que tienen 90º de giro por paso, se requiere 4 pulsos para dar una vuelta completa, mientras que en los de 1,8º necesitas 200 pulsos, y en los otros necesitas 500.
Los Motores-PaP suelen ser clasificado en dos tipos, según su diseño y fabricación pueden ser Bipolares o Unipolares:
Motor paso a paso bipolar:

Motor paso a paso unipolar:

Mientras los Unipolares disponen de dos bobinas independientes los Bipolares parecieran tener 4 debido al terminal central que es el común de cada par de bobinas, pues a eso se debe aquello de los 6 cables y que si unes los terminales Com1 y Com2 tienes un terminal común y 4 terminales de control (es decir 5 cables).
Motores Bipolares
Para identificar los cables 1a, 1b, 2a y 2b, hay que medir la resistencia entre cada par de terminales, ya que los extremos 1a y 1b deben tener la misma resistencia que los extremos 2a y 2b, ahora si se mide la resistencia en forma cruzada no marcará nada ya que corresponden a bobinas distintas.
Para controlar estos motores hay que invertir las polaridades de los terminales de las bobinas 1 y 2 en una determinada secuencia para lograr un giro a derecha, y en secuencia opuesta para que gire a izquierda, la secuencia es la que se muestra en la tabla:
Nº de pasos
1a
1b
2a
2b
Paso 1
+ Vcc
GND
+ Vcc
GND
Paso 2
+ Vcc
GND
GND
+ Vcc
Paso 3
GND
+ Vcc
GND
+ Vcc
Paso 4
GND
+ Vcc
+ Vcc
GND
Recuerda que 1a y 1b corresponden a una misma bobina, mientras 2a y 2b corresponden a la otra.
Para invertir la polaridad se necesita la interfaz para controlar estos motores, ya que en la mayoría de los casos se hace a través de un microcontrolador, o por medio del PC y como estos entregan muy poca corriente hay que amplificarla.
Una de las mejores opciones para controlar estos motores es hacer uso del Driver L293D que ya lo mencionamos anteriormente, el circuito sería:

En el esquema L1 y L2 son las bobinas del motor, los diodos D1 a D8 son para proteger al integrado de las sobretensiones generadas por dichas bobinas, las líneas marcadas en azul corresponden a la tensión de alimentación de los motores, mientras la marcada en verde a los niveles TTL de control del integrado, los terminales 1 y 9 se unieron para hacer un solo terminal de habilitación, y finalmente 1a, 1b, 2a y 2b son las entradas de control para la secuencia de las bobinas del motor, este circuito puede servir de base para muchos proyectos, ya sea controlado por PC o por microcontrolador.
Motores Unipolares
Estos motores comparados a los anteriores tienen sus ventajas, a pesar de tener más de 4 cables son más fáciles de controlar, esto se debe a que tienen un terminal común a ambas bobinas. Una forma de identificar cada uno de los cables es analizar la forma de conexión interna de estos motores.

En la imagen los dos bobinados del motor se encuentran separados, pero ambos tienen un terminal central el cual lo llamaremos común (Com1, Com2). Este es el modelo utilizado en la aplicación.
La cuestión es que este motor tiene 6 cables, y ahora nombrarlos correctamente. Con el multímetro en modo ohmetro comenzamos a medir resistencias por todos los cables obteniéndose tres valores distintos que se repiten varias veces. Por ejemplo:
No marca nada
47Ω
100Ω
100Ω es el mayor valor por lo tanto corresponde a los extremos de las bobinas, es decir A-B o bien C-D.
47Ω es aproximadamente la mitad de 100, por tanto esa debe ser la resistencia entre el terminal común y ambos extremos de una bobina, por ejemplo entre A-Com1 o B-Com1, o bien en la otra bobina, C-Com2 o D-Com2.
Lo que queda pendiente es cuando no marca nada, y bueno es que en ese momento se midieron los cables de bobinas distintas.
Si se unen los terminales Com1 y Com2, entonces quedas con un motor de 5 cables.

Aquí la resistencia entre cualquier terminal y el común es la misma y aproximadamente la mitad de la resistencia entre los extremos de las bobinas.
Como unimos los cables comunes de cada bobina los cuatro cables restantes serán A, B, C y D, y para saber cual es cual:
se conecta el terminal común al positivo de la fuente de alimentación
se toma uno de los 4 cables sobrantes, se nombra como A y se conecta a GND, quedando el motor enclavado en una sola posición,
se conecta uno de los otros cables a GND. Aquí pueden ocurrir 3 cosas:
Que el motor gire en sentido antihorario, el cable es el B
Que gire en sentido horario, el cable es el D
Si no pasa nada es el C
Lo que se necesita es un circuito para controlar el motor; una manera sencilla y económica es mediante el ULN2803:

En el esquema funciona con el puerto paralelo, los 4 diodos 1N4148, y el diodo zener de 12V sirven para proteger al integrado.
Los bobinados del motor requieren un pulso de señal negativa para ser activados, como el ULN tiene sus salidas invertidas, cada vez que envíes un "1" por el pin IN n se transformará en "0" a la salida, es decir en el pin OUT n correspondiente.
En la aplicación, los pulsos los envía el microcontrolador, por lo que no se necesita ningún diodo.
Secuencias De Control De Los Motores Paso A Paso Unipolares
Estas secuencias siguen el orden indicado en cada tabla para hacer que el motor gire en un sentido, si se desea que gire en sentido opuesto, sólo se debe invertir dicha secuencia.
Existen 3 formas de controlar estos motores-PaP, la primera es realizar una secuencia que activa una bobina por pulso, se conoce como wave drive:
Nº de Pasos
A
B
C
D
Paso 1
1
0
0
0
Paso 2
0
1
0
0
Paso 3
0
0
1
0
Paso 4
0
0
0
1
Al trabajar con una sola bobina se pierde un poco el torque del motor.
La otra propuesta es activar las bobinas de en dos, en este caso el campo magnético se duplica, y en consecuencia el motor tiene mayor fuerza de giro y retención. Esta es la secuencia recomendada por el fabricante y se conoce como secuencia normal:
Nº de Pasos
A
B
C
D
Paso 1
1
1
0
0
Paso 2
0
1
1
0
Paso 3
0
0
1
1
Paso 4
1
0
0
1
Con este tipo de secuencia se consigue que los movimientos resulten demasiado bruscos, y las baterías no te aguantan mucho tiempo.
En estas dos formas de control vistas anteriormente se respetan la cantidad de pasos preestablecidos para cada motor, por Ej., si tiene un ángulo de giro de 90º, con 4 pasos das una vuelta completa, pero también puedes hacerlo con 8 pasos, para lo cual se utiliza la secuencia de medio paso:
Nº de Pasos
A
B
C
D
Paso 1
1
0
0
0
Paso 2
1
1
0
0
Paso 3
0
1
0
0
Paso 4
0
1
1
0
Paso 5
0
0
1
0
Paso 6
0
0
1
1
Paso 7
0
0
0
1
Paso 8
1
0
0
1
Esta es una combinación de las dos anteriores.
En cuanto a la fuerza de giro, sólo decir que, en este caso, es bueno tener en cuenta la inercia del motor cuando este se encuentre en movimiento.
Características Importantes
Hay que tener en cuenta que hay un tiempo determinado para realizar la secuencia en cada uno de los pasos que se debe dar, ya que si la velocidad de los pulsos es demasiado alta, es posible que el motor se inestabilice y gire en un sentido cualquiera, o bien quedarse titubeando en una sola posición.
Para obtener un arranque suave y preciso, es recomendable comenzar con una frecuencia de pulso baja y gradualmente ir aumentándola hasta la velocidad deseada sin superar la máxima tolerada.
El giro en reversa debería realizarse bajando la velocidad de giro y luego cambiando el sentido de rotación.
 Ejemplos
En el artículo Placa de Pruebas PIC18Fxx5x encontrarás un ejemplo de control de unos PaP mediante un L293 realizado en C18 de microchip.
En el artículo Control de motores PaP por SPI, CAN y ADC en C32 encontrarás un ejemplo de control de PaP bipolares por medio del L6470 de ST realizado en C32 de microchip.


Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.