Motor NEMA17 42BYGHW208
El motor utilizado es un NEMA17 42BYGHW208 fabricado por Wantai Stepper Motor, similar al que utilice hace años en la impresora 3D.
Tiene un voltaje nominal de 12 voltios, aunque yo lo he utilizado aquí con 5 voltios, una intensidad nominal de 0,4 amperios y un ángulo de paso de 1,8°. Es bipolar, por lo que tiene dos bobinas y cuatro cables de alimentación. La precisión de paso es de ±5%, la resistencia por bobina de 30 Ω, la inductancia de 37 mH por bobina y la inercia del rotor de 34 g⋅㎡. Tiene un par de 255 mNm (Mili Newton Metro) o 2.600 gCm (Gramo fuerza Centímetro) y un par de retención, que es el par que hace cundo no se está moviendo, de 19 gCm. La longitud del motor es de 34 milímetros y su peso de 200 gramos. El eje de salida tiene un diámetro de 5 milímetros.
Para conectar el motor al driver hemos de identificar los dos cables correspondientes a cada bobina. Esto lo podemos hacer con el multímetro, buscando continuidad. También podemos identificarlos por sus colores. El negro y verde corresponden a una fase y el rojo y azul a la otra.
Puente H doble L298N
El driver utilizado es el L298N que es un puente H para dos motores de corriente continua. Conectando cada bobina del motor paso a paso a la salida de uno de los motores podemos controlar su movimiento. En el dibujo las dos bobinas del motor paso a paso tienen cables con colores rojo y negro, en nuestro caso a un lado del driver llegan los cables rojo y azul y al otro verde y negro. La etiqueta central en el dibujo siguiente indica un voltaje de alimentación del motor entre 6 y 12 voltios, pero para este caso he alimentado el motor con 5 voltios que tomo directamente de Arduino y, mediante un puente, alimenta tanto la electrónica del driver como el motor. El máximo consumo que proporciona este driver es de 2 amperios.
Desde Arduino al driver le han de llegar cuatro cables, dos para cada una de las bobinas. En este caso he utilizado los pines digitales 8, 9, 10 y 11. De esta forma si uno de estos dos cables de señal envía voltaje, es decir está en estado HIGH, la bobina está alimentada en un sentido o en el otro, es decir, en un caso el verde está conectado al positivo y el negro al negativo y en el otro caso la polaridad se invierte. Si al driver no le hacemos llegar tensión por ninguno de los dos cables la bobina no estará alimentada y si le hacemos llegar tensión a la vez por los dos cables la bobina tampoco estará alimentada.
Programas para Arduino
Para hacer girar el motor paso a paso en un sentido o en otro hemos de realizar una secuencia de conexiones y desconexiones de las dos bobinas, tal como se muestra en el siguiente programa realizado con SteamakersBlocks.
En el IDE de Arduino el programa sería similar a este:
void setup(){pinMode(8,OUTPUT);pinMode(9,OUTPUT);pinMode(10,OUTPUT);pinMode(11,OUTPUT);}void loop(){for (int count = 0; count < 40; count++) {digitalWrite(8, LOW);digitalWrite(9, HIGH);digitalWrite(10, HIGH);digitalWrite(11, LOW);delay(10);digitalWrite(8, LOW);digitalWrite(9, HIGH);digitalWrite(10, LOW);digitalWrite(11, HIGH);delay(10);digitalWrite(8, HIGH);digitalWrite(9, LOW);digitalWrite(10, LOW);digitalWrite(11, HIGH);delay(10);digitalWrite(8, HIGH);digitalWrite(9, LOW);digitalWrite(10, HIGH);digitalWrite(11, LOW);delay(10);}for (int count = 0; count < 40; count++) {digitalWrite(8, HIGH);digitalWrite(9, LOW);digitalWrite(10, HIGH);digitalWrite(11, LOW);delay(10);digitalWrite(8, HIGH);digitalWrite(9, LOW);digitalWrite(10, LOW);digitalWrite(11, HIGH);delay(10);digitalWrite(8, LOW);digitalWrite(9, HIGH);digitalWrite(10, LOW);digitalWrite(11, HIGH);delay(10);digitalWrite(8, LOW);digitalWrite(9, HIGH);digitalWrite(10, HIGH);digitalWrite(11, LOW);delay(10);}}
El resultado de este último programa aplicado al proyecto de un ascensor es el que se muestra a continuación.
Cambio de sentido de giro
El sentido de giro del motor paso a paso se puede variar por programa, según hemos visto, pero también se puede cambiar de forma física, intercambiando, o bien los cables que conectan Arduino y el driver, o bien los que conectan el driver con el motor paso a paso. En uno y otro caso se han de intercambiar los dos correspondientes a una misma bobina, si no el motor dejará de funcionar.
Supongamos que vamos a variar el orden de los cables que llevan la señal desde Arduino al driver. En un momento dado los tenemos en este orden, verde, azul, gris y blanco.
Si intercambiamos el verde y el azul, como se muestra en la siguiente imagen, habremos cambiado el sentido de giro del motor pasos a paso.
Si a su vez intercambiamos el blanco y el gris, como se muestra en la imagen siguiente, se vuelve a cambiar el sentido de giro, de forma que el motor paso a paso vuelve a girar en el mismo sentido que lo hacia cuanto el orden de colores era verde, azul, gris y blanco.
Lo mismo podemos conseguir cambiando los cables que unen el driver con el motor paso a paso, de una misma bobina. En un primer momento los cables verde y negro de una de las bobinas del motor pasoo a paso se encuentran tal como se muestra en la imagen siguiente.









No hay comentarios:
Publicar un comentario