malditoraton.com

Arduino y los Steppers

by Marat on Nov.09, 2009, under Arduino

Existen dos tipos generalizados de motores paso a paso (steppers), los unipolares, en los que nos encontramos típicamente 5 o 6 hilos, uno o dos de los cuales, respectivamente, son comunes al resto y los bipolares, en los que nos encontramos cuatro hilos, ninguno de los cuales hace de común.
Existe amplia información al respecto de estos motores y para quien quiera mejorar su formación puede hacerlo en los siguientes enlaces:

Control of Stepping motors. Douglas W. Jones.
Motores paso a paso. Características básicas. Eduardo J. Carletti.
Stepper Motor Control. Tom Igoe.

Arduino dispone de una librería para el manejo de estos motores en modo unipolar y bipolar. Sin embargo, el soporte para motores unipolares es muy pobre, ya que se basa en controlar el motor con dos hilos. El manejo del motor se hace basándose en este esquema:

  Step C0 C1
     1  0  1
     2  1  1
     3  1  0
     4  0  0

Mi propuesta es poder usar los motores unipolares con cuatro hilos, manejando hasta tres motores de este tipo con una Arduino duodecimilanove y un circuito con tres ULN2003. Las librerías para manejarlo se pueden descargar desde este mismo artículo y pueden manejar motores pap unipolares con las siguientes secuencias:

Mode Single (Modo simple, se excita una bobina por paso)

  Step C0 C1 C2 C3
     1  1  0  0  0
     2  0  1  0  0
     3  0  0  1  0
     4  0  0  0  1

Mode HighTorque ( Ofrece el máximo par del motor, se excitan dos bobinas simultaneamente en cada paso)

  Step C0 C1 C2 C3
     1  1  1  0  0
     2  0  1  1  0
     3  0  0  1  1
     4  1  0  0  1

Mode HalfStep (El motor saca “medios pasos”, uno simple y el siguiente de lato par).

  Step C0 C1 C2 C3
     1  1  0  0  0
     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

El constructor de la librería original para 4 hilos se ha modificado quedando de la siguiente manera:

    Stepper(int number_of_steps, int mode, int motor_pin_1,
 int motor_pin_2, int motor_pin_3, int motor_pin_4);

Donde los modos aceptados (int mode) son Single, HighTorque, HalfStep y Bipolar.

El autor nos ha pedido hospedar las librerías, así que aquí las tenéis: MrStepper

:,

8 Comments for this entry

  • Daniel

    Gracias por esta biblioteca, me va a ser muy util

  • javier

    Hola, me parece que es una librería muy útil, pero ¿el link está roto?

    Ojalá me puedan enviar la librería a mi correo, felices fiestas decembrinas!

  • Marat

    Puedes acceder a el facilmente, solo tienes que pinchar en el enlace con la oreja derecha del ratón y “Guardar enlace como…”.

  • Toni

    He intentado bajar la libreria, como indicas, pero no la puedo abrir. Tal vez es porque solo es para java, en ese caso no puedo usarla.
    Me gustaria probar esta forma de manejar el bipolar que tengo disponible.

    Gracias amigo.

  • Marat

    Deberías de poder abrirla. Si lo haces con 7zip te aparece una carpeta que vuenves a abrir con 7zip y te aparecerá la carpeta con los archivos.

  • Toni

    Hola de nuevo, he vuelto a bajar la librería del modo que indicas, pesa 30k y la intento abrir con 7zip. La compruebo con el 7zip y me dice que tiene 1 error.

    Esto usando XP Sp3, a ver is va a ser esto, ;)

    Gracias por todo.

  • Marat

    Resubido. Pero a mi me abre.

  • Toni

    OK. Ahora, está correcto.
    Lo he podido abrir y lo estoy revisando.
    Verdadero trabajo, enhorabuena.

    Gracias por tu paciencia y conocimientos.

    Espero poder visitar tu web en otras ocasiones.
    Repito, Gracias.

Leave a Reply

You must be logged in to post a comment.

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!