Use o Arduino para gerar sinais PWM e controlar o ESC para realizar o avanço e o retrocesso do motor.
Postado por Fengyukun em
O controle de um controlador eletrônico de velocidade (ESC) bidirecional usando sinais PWM normalmente envolve o envio de valores PWM específicos para controlar a velocidade e a direção do motor. Abaixo está um exemplo simples de código de controle usando um Arduino para gerar sinais PWM e controlar um ESC bidirecional. Certifique-se de que seu ESC bidirecional esteja conectado aos pinos PWM do Arduino e alimentado corretamente.
#include <Servo.h>
Servo esc; // Cria um objeto Servo
configuração vazia() {
esc.attach(9); //Conecte o ESC ao pino 9 do Arduino
esc.writeMicroseconds(1500); // Inicializa o motor para uma posição neutra
atraso(2000); //Aguarde 2 segundos
}
loop vazio() {
acelerador interno = 1500; //Posição neutra, o motor não está girando
esc.writeMicroseconds(acelerador); // Envia sinal PWM para controlar o motor
// Atraso por um determinado período de tempo
atraso(1000);
//Acelera o motor aumentando o sinal PWM
acelerador = 1600;
esc.writeMicroseconds(acelerador);
// Atraso por um determinado período de tempo
atraso(1000);
// Desacelera o motor diminuindo o sinal PWM
acelerador = 1400;
esc.writeMicroseconds(acelerador);
// Atraso por um determinado período de tempo
atraso(1000);
}
Neste exemplo, utilizamos a biblioteca Servo do Arduino para gerar sinais PWM e enviá-los ao ESC. Primeiro, conectamos o ESC ao pino 9 do Arduino e definimos o valor PWM inicial para 1.500 microssegundos, que normalmente é a posição neutra do motor.
Em seguida, entramos na função loop(), onde podemos controlar o funcionamento do motor. Controlamos a largura de pulso do sinal PWM alterando a variável do acelerador para ajustar a velocidade do motor. No exemplo, demonstramos a aceleração e desaceleração do motor.
Observe que o alcance real do sinal PWM e a posição neutra podem variar dependendo do modelo ESC, portanto, pode ser necessário ajustá-lo de acordo com as especificações do ESC. Além disso, este é um exemplo simples e você pode escrever um código de controle mais complexo para atender aos requisitos específicos da sua aplicação. Certifique-se de operar de acordo com as especificações do seu ESC e motor.
#include <Servo.h>
Servo esc; // Cria um objeto Servo
configuração vazia() {
esc.attach(9); //Conecte o ESC ao pino 9 do Arduino
esc.writeMicroseconds(1500); // Inicializa o motor para uma posição neutra
atraso(2000); //Aguarde 2 segundos
}
loop vazio() {
acelerador interno = 1500; //Posição neutra, o motor não está girando
esc.writeMicroseconds(acelerador); // Envia sinal PWM para controlar o motor
// Atraso por um determinado período de tempo
atraso(1000);
//Acelera o motor aumentando o sinal PWM
acelerador = 1600;
esc.writeMicroseconds(acelerador);
// Atraso por um determinado período de tempo
atraso(1000);
// Desacelera o motor diminuindo o sinal PWM
acelerador = 1400;
esc.writeMicroseconds(acelerador);
// Atraso por um determinado período de tempo
atraso(1000);
}
Neste exemplo, utilizamos a biblioteca Servo do Arduino para gerar sinais PWM e enviá-los ao ESC. Primeiro, conectamos o ESC ao pino 9 do Arduino e definimos o valor PWM inicial para 1.500 microssegundos, que normalmente é a posição neutra do motor.
Em seguida, entramos na função loop(), onde podemos controlar o funcionamento do motor. Controlamos a largura de pulso do sinal PWM alterando a variável do acelerador para ajustar a velocidade do motor. No exemplo, demonstramos a aceleração e desaceleração do motor.
Observe que o alcance real do sinal PWM e a posição neutra podem variar dependendo do modelo ESC, portanto, pode ser necessário ajustá-lo de acordo com as especificações do ESC. Além disso, este é um exemplo simples e você pode escrever um código de controle mais complexo para atender aos requisitos específicos da sua aplicação. Certifique-se de operar de acordo com as especificações do seu ESC e motor.
Compartilhe esta postagem
- 0 comentários
- Tags: ESC
← Post anterior Post seguinte →