Hola a todos, quisiera saber si es posible controlar un solo motor nema 23 (con su driver y fuente de alimentación correspondiente) con arduino y un LCD con tarjetas SD para decirle el numero de vueltas que de sin necesidad de PC, en youtube he visto algo pero no me aclaro, gracias.
Si, perfectamente. Lo de la sd incluso no te hace falta. Un teclado numerico o un encoder para decirle el numero de vueltas y listo
Yo estoy ahora mismo a ello... y van perfectos
Uso drivers tb6660 de 4,5A y funcionan muy bien y a buen precio.
El lcd entiendo que te refieres a poder programar cada vez los pasos que tiene que dar, y un start, no? un pequeño menú
Es sencillo, ya hay librerias para ello, pero primero tienes que tener claro como controlar los motores, jugar con ellos y después adaptar ese sketch a cualquier ejemplo de las librerías de menús
Salu2!
Sí, eso es lo que busco hacer un pequeño menú para elegir entre 4 valores el número de vueltas y supongo que un stop de emergencia, supongo que con lcd 16x2 y un encoder para navegar seria suficiente.
Pero no encuentro tutoriales para la conexión del motor al arduino, ahora mismo lo tengo así, y lo uso con el mach3
Enviado desde mi SM-N915FY mediante Tapatalk
Si quieres buscar proyectos ya hechos busca por slider arduino o timelapse arduino. Hay bastantes cosillas hechas.
Para el control del nema desde arduino, yo utilice el pdf de este post:
http://forum.arduino.cc/index.php?topic=232993.0
Vas a tener los mismos controles, por lo que debería de valer sin problema.
Si no, indicanos que driver utilizas, pero el control es en todos muy similar
Un saludo!
Gracias creo que es eso exactamente lo que busco mi driver es parecido el SD-2H044MA, a ver si me da tiempo y pruebo, que con lo de la impresora estoy liado a tope, ya os cuento el resultado
Enviado desde mi SM-T320 mediante Tapatalk
Son todos similares. Yo tengo un nema23 bien gordo con ese driver y se controla de vicio desde arduino
Biketrial, lo he probado hoy lo del PDF y va de lujo, ahora voy a ponerme a ver como creo un menú con arduino para poder asignarle el numero de vueltas que quiero, pulsar y que las haga, gracias de nuevo
Tengo pendiente de probar este menú para lcd ya que me lo recomendaron para un proyecto que al final se realizó via web con un yun.
Revísalo por si te vale
https://github.com/DavidAndrews/Arduino_LCD_Menu
Salu2!
Bueno, tras estar esta mañanita dándole caña, y haberme leído ayer tarde un manual entero de Arduino (jajaja) al fin lo conseguí
// giro motor pap con dos pulsadores.
int pulsador = 0;
int entrada = 2;
int pulsador2 = 0;
int entrada2 = 3;
int dirpin = 8;
int steppin = 9;
int enable = 7;
int i;
void setup()
{
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(dirpin, OUTPUT);
pinMode(steppin, OUTPUT);
pinMode(enable, OUTPUT);
}
void loop()
{
pulsador = digitalRead(entrada);
pulsador2 = digitalRead(entrada2);
if (pulsador == HIGH)
{
digitalWrite(enable, HIGH);
digitalWrite(dirpin, HIGH); // Set the direction.
delay(100);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
delayMicroseconds(400);
digitalWrite(steppin, HIGH);
delayMicroseconds(400); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.
}
if (pulsador2 == HIGH)
{
digitalWrite(enable, HIGH);
digitalWrite(dirpin, LOW); // Set the direction.
delay(100);
for (i = 0; i<4000; i++) // Iterate for 4000 microsteps.
{
digitalWrite(steppin, LOW); // This LOW to HIGH change is what creates the
delayMicroseconds(400);
digitalWrite(steppin, HIGH);
delayMicroseconds(400); // This delay time is close to top speed for this
} // particular motor. Any faster the motor stalls.
}
}
biketrial, una cosa, al final lo voy a hacer con pulsadores, le pondré varios asignándole las vueltas que quiero y ya esta.
pero cuando el motor termina de girar se para, pero suena un ruido como que le sigue llegando algo, pero si le doy a reset al arduino se calla hasta que lo vuelvo a ejecutar, seguro que me falta algo, a ver si me puedes echar un cable.
Eso es por que se usa el pin de enable siempre a masa.
Si usas el pin enable del driver conectado al arduino puedes encender y apagar el motor. O bien eso, o si no lo necesitas desactivar el latch en el driver. Es el "freno de mano" que impide que se mueva el motor cuando no le envías órdenes.
Yo la verdad es que los uso con latch desactivado y sin enable, pero para otro proyecto que monté si que use el pin enable. De hecho muchos drivers te señalizan en placa cuando está enable on y off. El latch se activa y desactiva por jumpers o microswitch, lo que lleve tu driver.
Es símplemente definir el pin, la librería ya tiene la opción, y llevarlo a high o low antes y después de los movimientos
Muchas gracias Bike, lo pondré en LOW cuando acabe, mañana lo probare.
|