Hola muy buenas a todos los miembros del foro, soy nuevo trabajando con Arduino 1 y tengo un problema con la programación de un proyecto en el que estoy trabajando, les pido ayuda de antemano sobre el tema y le estaría muy agradecido con cualquier aporte, les planteo el problema. Recientemente me hice con un Motor Brushless, una batería Lipo y un ESC de Hobbypower. Pero no tengo idea de como calibrar el ESC con Arduino, ademas que busco con la programación para poder variar la velocidad del motor sin la necesidad de un potenciometro ni el monitor serial, los cuales son las formas que he encontrado en internet para esta acciòn. He revisado foros donde muestran el control de la velocidad de estos motores con los puertos PWM del arduino, haciendo pruebas lo unico que logrado es variar las velocidades con este código;
int motorPin = 9;
void setup()
{
pinMode(motorPin, OUTPUT);
}
void loop()
{
int onSpeed = 200;
int onTime = 2500;
int offSpeed = 50; // a number between 0 (stopped) and 255 (full speed)
int offTime = 1000; //the number of milliseconds for the motor to turn off for
analogWrite(motorPin, onSpeed); // turns the motor On
delay(onTime); // waits for onTime milliseconds
analogWrite(motorPin, offSpeed); // turns the motor Off
delay(offTime); // waits for offTime milliseconds
}
Me ha funcionado pero cada vez que quito la fuente de energía el rango mínimo al que comienza a girar el motor varia y supongo que se debe a la falta de calibración entre el arduino y el ESC. Otro de los objetivo que busco alcanzar es lograr que el motor se incremente progresivamente su velocidad, lo había logrado con el motor, con esta programación;
int motorPin = 9;
void setup()
{
pinMode(motorPin, OUTPUT);
}
void loop()
{
int delayTime = 50;
tor
for(int i = 0; i < 256; i++){ //aceleramos
analogWrite(motorPin, i);
delay(delayTime);
}
for(int i = 255; i >= 0; i--){ //frenamos
analogWrite(motorPin, i);
delay(delayTime);
}
}
pero me ocurre lo mismo que con la programación anterior. De verdad agradezco cualquier información.