Tutoriales y Guías relacionadas con Arduino
Avatar de Usuario
Por electroSDR
Pi Alpha
#10703
Buenas [email protected]

Vamos a aprender a mover un motor paso a paso que encontrareis en electroSDR.com ( https://goo.gl/YrtNY0 ) donde también podreís ver las caracteristicas técnicas y otro ejemplo de código.

Aquí vamos a hacerlo sencillo sin usar la libreria steper que se incluye en el IDE arduino. Entenderemos como funciona y después cada uno adapte a su necesidad.

Este motor consta de 4 bobinas que podremos hacer funcionar de tres formas diferentes, (medio paso, paso completo o rotación normal) pero es muy sencillo.

Veamos entonces.

/* Código para una rotación normal */
/* Como siempre, definimos los pines donde ira conectado en este caso cada bobina del motor */
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11

/* Hacemos un mapeo de la secuencia de pasos que tendrá nuestro motor, donde obtendremos el par máximo */
int paso [4][4] =
{
{1, 1, 0, 0}, // excitamos las bobinas A,B
{0, 1, 1, 0}, // excitamos las bobinas B,C
{0, 0, 1, 1}, // excitamos las bobinas C,D
{1, 0, 0, 1} // excitamos las bobinas D,A
};

void setup()
{
/* Logicamente, todos los pines estarán en modo salida*/
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}



void loop()
{
for (int i = 0; i < 4; i++) //definimos la variable i para contar los pasos del motor de 0 a 3 (4 pasos)
{
digitalWrite(IN1, paso[i][0]);
digitalWrite(IN2, paso[i][1]);
digitalWrite(IN3, paso[i][2]);
digitalWrite(IN4, paso[i][3]);
delay(10);
}
}

/* También podriamos hacerlo en medios pasos donde el mapeo sería
int paso [8][4] =
{
{1, 0, 0, 0},
{1, 1, 0, 0},
{0, 1, 0, 0},
{0, 1, 1, 0},
{0, 0, 1, 0},
{0, 0, 1, 1},
{0, 0, 0, 1},
{1, 0, 0, 1}
};

y en void loop deberemos de cambiar el contador hasta un máximo de 8 */



Y esto es todo amigos.
Como siempre sabeís que podeis adquirir los componentes en http://www.electroSDR.com y http://www.facebook.com/electroSDR donde también teneís un enlace directo al https://www.fororaspberry.es/

Que la tecnología os acompañe!!
No tienes los permisos requeridos para ver los archivos adjuntos a este mensaje.
Gubenote, Jart le gusta esto
Avatar de Usuario
Por kamber
Colaborador VIP
#10729
electroSDR escribió:Buenas [email protected]

Vamos a aprender a mover un motor paso a paso que encontrareis en electroSDR.com ( https://goo.gl/YrtNY0 ) donde también podreís ver las caracteristicas técnicas y otro ejemplo de código.

Aquí vamos a hacerlo sencillo sin usar la libreria steper que se incluye en el IDE arduino. Entenderemos como funciona y después cada uno adapte a su necesidad.

Este motor consta de 4 bobinas que podremos hacer funcionar de tres formas diferentes, (medio paso, paso completo o rotación normal) pero es muy sencillo.

Veamos entonces.

/* Código para una rotación normal */
/* Como siempre, definimos los pines donde ira conectado en este caso cada bobina del motor */
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11

/* Hacemos un mapeo de la secuencia de pasos que tendrá nuestro motor, donde obtendremos el par máximo */
int paso [4][4] =
{
{1, 1, 0, 0}, // excitamos las bobinas A,B
{0, 1, 1, 0}, // excitamos las bobinas B,C
{0, 0, 1, 1}, // excitamos las bobinas C,D
{1, 0, 0, 1} // excitamos las bobinas D,A
};

void setup()
{
/* Logicamente, todos los pines estarán en modo salida*/
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}



void loop()
{
for (int i = 0; i < 4; i++) //definimos la variable i para contar los pasos del motor de 0 a 3 (4 pasos)
{
digitalWrite(IN1, paso[i][0]);
digitalWrite(IN2, paso[i][1]);
digitalWrite(IN3, paso[i][2]);
digitalWrite(IN4, paso[i][3]);
delay(10);
}
}

/* También podriamos hacerlo en medios pasos donde el mapeo sería
int paso [8][4] =
{
{1, 0, 0, 0},
{1, 1, 0, 0},
{0, 1, 0, 0},
{0, 1, 1, 0},
{0, 0, 1, 0},
{0, 0, 1, 1},
{0, 0, 0, 1},
{1, 0, 0, 1}
};

y en void loop deberemos de cambiar el contador hasta un máximo de 8 */



Y esto es todo amigos.
Como siempre sabeís que podeis adquirir los componentes en http://www.electroSDR.com y http://www.facebook.com/electroSDR donde también teneís un enlace directo al https://www.fororaspberry.es/

Que la tecnología os acompañe!!


Muchas gracias! Gran aporte!
Avatar de Usuario
Por yakuza
Pi Omega
#46165
voy a empezar a enredar mas con la rasp y quiero seguir estos tutos que parecen sencillos a primera vista, seguro me daran problemas pero asi es como se aprende.
gracias por el tuto y por compartirlo con nosotros.

Hola buenas! A la vista de una nueva actualizaci[…]

Buenas noches, muevo el hilo al general de Raspber[…]

Imagen 32 gb con recalbox 4.1

yo en esto ando algo pegado todavia, soy nuevo t[…]

Imagen Lakka 64Gb - linarense

Perdona Linense , pero por lo que he leído el prog[…]

Rotar pantalla

Si te refieres en Orange Pi, seguramente sea o des[…]

Tranferencia ROMS a Recalbox

en winscp falla porque hay que cambiar el modo a s[…]

@jackalpret no se puede en el mismo emulador[…]

Hola, a mí me sucedió lo mismo al momento que hic[…]