Bs Ts amigos. Mi nombre es Ricardo, soy de Argentina, estoy armando una CNC con motores NEMA 1 de 17 y 2 de 23.
Estoy dando mis primeros pasos en gral. con Arduino, hice varias pruebas/proyectos menores para familiarizarme con la programacion etc. fui programador asembler del 8085 y programe tb con C++.
Hecha la presentación mínima pero creo que suficiente, les pido por favor si me pueden orientar con mi problema.
Tengo una rutina que bajé de : http://yomaker.com/control-de-motor-paso-a-paso/ que usando un 8825 sólo pretendí dando mis primeros pasos con el motor PAP ajustar y probar el funcionamiento.
La rutina es la sig :
const int dirPin = 8;
const int stepPin = 9;
const int steps = 200;
int stepDelay;
void setup() {
// Marcar los pines como salida
pinMode(dirPin, OUTPUT);
pinMode(stepPin, OUTPUT);
}
void loop() {
//Activar una direccion y fijar la velocidad con stepDelay
digitalWrite(dirPin, HIGH);
stepDelay = 5000; //modifique la velocidad a 5000
// Giramos 200 pulsos para hacer una vuelta completa
for (int x = 0; x < 200; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(stepDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(stepDelay);
}
delay(1000); // lo modifique a 1000
//Cambiamos la direccion
digitalWrite(dirPin, LOW);
stepDelay = 5000; //mofique la velocidad a 5000
// Giramos 200 pulsos para hacer una vuelta
for (int x = 0; x < 200; x++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(stepDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(stepDelay);
}
delay(1000);
}
Estoy usandolo con paso completo y el motor es un 1,8 de 5V y 1,68A
Regule la Vref promero midiendo sin carga de motores y luego con el amperimetro en serie sobre el motor para el ajuste mas fino, lo dejé en 1,2A.
Tengo el motor en vacío sobre la mesada de trabajo solo para ver si lo podia "gobernar" en el movimiento.
El tema es que la rutina que bajé venía ya seteada para un stepdelay=200 y solo hacía ruido, no más.
Comencé a subir este tiempo entre flancos del step y llegue a que recién comenzaba a moverse algo el motor cuando lo levanté aprox. stepdelay=800, pero, ahí comenzó a girar pero perdiendo pasos aleatoriamente.
Asi las cosas comencé a subir ese delay y llegue a 2000 valor en que daba giros en un sentido y el otro tal como la rutina lo indicaba sin pérdidas, pero al cabo de unas 10 o 15 giros, comienza nuevamente a perder vueltas.
Seguí subiendo y el tema es que llegue a estos 5000 y mas o menos hace lo mismo que con valores de 2000 ( no cambió nada aumentando este delay ) .
No quiero seguir probando a ciegas, por eso les pido por favor si me pueden ayudar.
Desde ya les agradeceré mucho la misma.
AH, me olvidaba, el motor lo alimento con fuente switch 12v, 5A y el pololu le puse el capacitor de 100uF 63v.
Gracias
