Estou com duvidas em como controlar um ESC com Arduíno (mega2560). Já pesquisei em vários sites e vi que é pela saída PWM, cheguei a conseguir controlar e variar a
velocidade conforme eu queria. Em um belo dia, do nada, começou a funcionar um esc por vez (incrivelmente o 1° motor iniciava depois de algum tempo o 2° iniciava
com velocidade inferior, e depois de algum tempo o 2° motor ficava com a velocidade maior que a do 1°).
Agora não consigo ligar nenhum, troquei a programação (que antes a velocidade era controlada por um sensor IR + controle) para o teclado, mas mesmo assim não
funciona mais e quando funciona não inicia os dois ao mesmo tempo. Pensei que meu Arduíno tinha estragado mas tenho um uno também e ocorre o mesmo problema.
Já tentei trocar os motores, os esc, mas nada acontece, sei que eles estão funcionando porque consigo um programação que inclui a biblioteca Servo.h , consigo ligar
os 2 mas eles iniciaram “Defasados”.
Agora e estou utilizar essa :
int motor1 = 4;
int motor2 = 7;
int velocidade = 140;
int dir;
void setup()
{
Serial.begin(9600);
pinMode ( motor1, OUTPUT);
pinMode ( motor2, OUTPUT);
}
void liga()
{
analogWrite (motor1, velocidade);
analogWrite (motor2, velocidade);
}
void desliga()
{
analogWrite (motor1, 0);
analogWrite (motor2, 0);
}
void loop()
{
dir=Serial.read();
if( dir == 'p')
{
liga();
}
if( dir == 'n')
{
desliga();
}
if( dir == '+')
{
velocidade +=5;
liga();
if(velocidade >= 250)
{
velocidade=245;
}
Serial.println(velocidade);
}
if( dir == '-')
{
velocidade -=5;
if(velocidade <= 5)
{
velocidade = 5;
}
liga();
Serial.println(velocidade);
}
}
Sei que não estão danificados pois essa programação funciona mas não os 2 ao mesmo tempo:
#include <Servo.h>
Servo myservo;
Servo myservo1;
void arm(){
setSpeed(0);
delay(1500);
}
void setSpeed(int speed){
int angle = map(speed, 0, 100, 0, 180);
delay(100);
myservo1.write(angle); delay(100);
myservo.write(angle);
Serial.print(angle);
}
void setup()
{
myservo1.attach(8);
myservo.attach(7);
arm();
}
void loop()
{
int speed;
for(speed = 0; speed <= 255; speed += 10) {
setSpeed(speed);
delay(2000);
}
setSpeed(0);
delay(5000);
}
**manual motor :Radio Control Planes, Drones, Cars, FPV, Quadcopters and more - Hobbyking
**manual ESC: Radio Control Planes, Drones, Cars, FPV, Quadcopters and more - Hobbyking