Usa Arduino per generare segnali PWM e controllare l'ESC per realizzare la rotazione avanti e indietro del motore.
Pubblicato da Fengyukun il
Il controllo di un regolatore elettronico di velocità bidirezionale (ESC) utilizzando un segnale PWM comporta solitamente l'invio di valori PWM specifici per controllare la velocità e la direzione del motore. Di seguito è riportato un semplice esempio di codice di controllo che utilizza un Arduino per generare un segnale PWM e controllare un ESC bidirezionale. Assicurati che il tuo ESC bidirezionale sia collegato al pin PWM di Arduino e alimentato correttamente.
# include <Servo.h>
Servo esc;//Crea un oggetto Servo
impostazioni non valide(){
esc.attach (9);//Collega ESC al pin 9 di Arduino
esc.writeMicroseconds (1500);//Inizializza il motore in posizione neutra
ritardo(2000);//aspetta 2 secondi
}
Ciclo vuoto() {
Int throttling = 1500; //Posizione neutra, il motore non gira
esc.writeMicroseconds(throttle);//Invia segnale PWM per controllare il motore
//Ritarda per un po'
ritardo(1000);
//Accelera il motore aumentando il segnale PWM
strozzatura = 1600;
esc.writeMicroseconds(acceleratore);
//Ritarda per un po'
ritardo(1000);
//Rallenta il motore riducendo il segnale PWM
strozzatura = 1400;
esc.writeMicroseconds(acceleratore);
//Ritarda per un po'
ritardo(1000);
}
In questo esempio, utilizziamo la libreria servo di Arduino per generare un segnale PWM e inviarlo all'ESC. Per prima cosa colleghiamo l'ESC al pin 9 di Arduino e impostiamo il valore PWM iniziale su 1500 microsecondi, che in genere è la posizione neutra del motore.
Quindi, entriamo nella funzione loop(), dove possiamo controllare il funzionamento del motore. Regoliamo la velocità del motore modificando la variabile di limitazione per controllare l'ampiezza dell'impulso del segnale PWM. In questo esempio dimostriamo l'accelerazione e la decelerazione del motore.
Tieni presente che la portata effettiva del segnale PWM e la posizione neutra possono variare tra i modelli di ESC, quindi potrebbe essere necessario effettuare una regolazione fine in base alle specifiche dell'ESC. Inoltre, questo è un semplice esempio, puoi scrivere un codice di controllo più complesso per soddisfare le tue esigenze applicative specifiche. Assicurarsi di seguire le specifiche dell'ESC e del motore.
# include <Servo.h>
Servo esc;//Crea un oggetto Servo
impostazioni non valide(){
esc.attach (9);//Collega ESC al pin 9 di Arduino
esc.writeMicroseconds (1500);//Inizializza il motore in posizione neutra
ritardo(2000);//aspetta 2 secondi
}
Ciclo vuoto() {
Int throttling = 1500; //Posizione neutra, il motore non gira
esc.writeMicroseconds(throttle);//Invia segnale PWM per controllare il motore
//Ritarda per un po'
ritardo(1000);
//Accelera il motore aumentando il segnale PWM
strozzatura = 1600;
esc.writeMicroseconds(acceleratore);
//Ritarda per un po'
ritardo(1000);
//Rallenta il motore riducendo il segnale PWM
strozzatura = 1400;
esc.writeMicroseconds(acceleratore);
//Ritarda per un po'
ritardo(1000);
}
In questo esempio, utilizziamo la libreria servo di Arduino per generare un segnale PWM e inviarlo all'ESC. Per prima cosa colleghiamo l'ESC al pin 9 di Arduino e impostiamo il valore PWM iniziale su 1500 microsecondi, che in genere è la posizione neutra del motore.
Quindi, entriamo nella funzione loop(), dove possiamo controllare il funzionamento del motore. Regoliamo la velocità del motore modificando la variabile di limitazione per controllare l'ampiezza dell'impulso del segnale PWM. In questo esempio dimostriamo l'accelerazione e la decelerazione del motore.
Tieni presente che la portata effettiva del segnale PWM e la posizione neutra possono variare tra i modelli di ESC, quindi potrebbe essere necessario effettuare una regolazione fine in base alle specifiche dell'ESC. Inoltre, questo è un semplice esempio, puoi scrivere un codice di controllo più complesso per soddisfare le tue esigenze applicative specifiche. Assicurarsi di seguire le specifiche dell'ESC e del motore.
Condividi questo post
- 0 commenti
- Tags: ESC
← Articolo più vecchio Articolo più recente →