top of page

Reutilizar motores de impresoras y lectoras de CD

  • Foto del escritor: Ezequiel Vincet
    Ezequiel Vincet
  • 4 sept 2017
  • 3 Min. de lectura

6En la mayoría de los proyectos de robótica tenemos la necesidad de controlar el giro de un motor, avanzar, retroceder, aumentar o disminuir su velocidad y para tener este control debemos utilizar un puente H.

En nuestras clases de armados de robots usamos el Shield L293D

L293D

Y sus principales características son:

  • 4 H Bridges incluidos con dos L293D chips.

  • Hasta 4 motores CC con control bidireccional y selección de velocidad de 8 bits.

  • Máxima corriente de 0,6 Amperios (Aunque acepta picos de hasta 1,2) con una protección de sobre temperatura.

  • Acepta motores cuya alimentación va desde 4,5 a 25V.

  • Podemos añadir otros dos motores Servos o paso a paso.

  • Dispone de alimentación de motores, separada de la del Shield para evitar ruido e interferencias.

  • Bajo precio (En serio).

  • Compatible con UNOs y Megas por lo menos.

  • Dispone de una librería cómoda para manejar los motores



Motores PAP

¿Como saber cuales son los cables que debemos utilizar con el motor shield?.


- Motor paso a paso de 6 cables:

Medir y ubicar los cables comunes.

Como podrán observar en el video se van midiendo cada cable, lo primero que se realiza es tomar el cable rojo con el azul y vemos que no obtenemos ninguna medición, al medir el cable rojo con el gris registramos un valor cercano a 40, luego medimos el cable rojo con el marrón y no obtenemos ninguna medición, y cuando tomamos el cable rojo con el blanco tenemos un valor cercano a los 80 (esos valores cambian dependiendo del multímetro y del motor paso a paso)


Resumiendo: podemos verificar que cuando medimos dos extremos, por ejemplo bobina 1 y bobina 2 registramos una medición de 80 y cuando medimos cualquiera de los dos extremos con el cable gris nos da un valor cercano a 40 (la mitad de la otra medición), esto significa que el cable común es el gris.


De la misma manera se pueden ubicar los comunes de PAP de 4 y de 5 cables.

Conexión del PAP en el shield

Si a cada conexión le colocamos un número por ejemplo: puerto 1 cable rojo, puerto 2 cable blanco....., vemos que en el puerto 1 y 2 se conectan los extremos de una bobina (medición de 80) y en los puerto 4 y 5 los cables de la otra bobina y en el puerto 3 van unidos los cables comunes (gnd). Si la bobina fuese de 5 cables tendríamos un solo cable común en el puerto 3.

Descarga de Librería

  • ​Nuestro motor shield l293D es versión 1.0 (ver imagen anterior) y vamos a utilizar la siguiente librería.

  • Si la versión del motor shield es la 2.0 deberán bajar ésta librería


Instalación de la librería

Programación

#include <AFMotor.h> // incluimos la libreria

AF_Stepper motor(48, 1); // Puerto M1 M2, 48 son los pasos //por vuelta para

//nuestro motor 7.5 grados

void setup()

{

Serial.begin(9600);

Serial.println("Test paso a paso");

motor.setSpeed(50); // 50 rpm

}

//En el setup fijamos la velocidad a 50 rpm

Antes de continuar con el código debemos saber que existen varias maneras de excitar un paso a paso.


Cada uno de esos métodos tiene ventajas e inconvenientes y es cuestión de decidir cuál usar dependiendo de lo que queramos hacer. Podemos hacer un Pequeño resumen de cada modo:


  • SINGLE: Solo se excita una bobina cada vez (También se le suele llamar Wave Drive), No suele ser lo más frecuente porque el par es relativamente bajo, pero a cambio el consumo de energía es bajo.

  • DOUBLE: Se excitan dos bobinas cada vez (También se le llama Full Stepping). Es bastante frecuente si lo que se busca es par motor máximo, el doble que en single coil, pero también el doble de consumo.

  • INTERLEAVE: Se excitan pares de bobinas, lo que nos permite doble resolución, con un par y consumo intermedios. Naturalmente con el doble de posiciones la velocidad es la mitad.

  • MICROSTEPPING: En lugar de alimentar las bobinas con todo o nada, usamos tensiones PWM con una ciertas relaciones entre la alimentación de las dos bobinas, con lo que la transición entre pasos es más suave.



Continuamos con el loop


void loop() { Serial.println("Single coil steps"); motor.step(100, FORWARD, SINGLE); motor.step(100, BACKWARD, SINGLE);

Serial.println("Double coil steps"); motor.step(100, FORWARD, DOUBLE); motor.step(100, BACKWARD, DOUBLE);

Serial.println("Interleave coil steps"); motor.step(100, FORWARD, INTERLEAVE); motor.step(100, BACKWARD, INTERLEAVE);

Serial.println("Micrsostep steps"); motor.step(100, FORWARD, MICROSTEP); motor.step(100, BACKWARD, MICROSTEP);

}

//ejemplo Stepper Test de libreria adafruit


 
 
 

Commenti


Featured Review
Vuelve pronto
Una vez que se publiquen entradas, las verás aquí.
Tag Cloud
  • Grey Facebook Icon
  • Grey Twitter Icon
  • Grey Google+ Icon
bottom of page