Använd Arduino för att generera PWM-signaler och styr ESC för att realisera framåt och bakåt rotation av motorn.
Postat av Fengyukun på
Att styra en dubbelriktad elektronisk hastighetsregulator (ESC) med hjälp av en PWM-signal innebär vanligtvis att man skickar specifika PWM-värden för att styra motorns hastighet och riktning. Nedan är ett enkelt exempel på kontrollkod som använder en Arduino för att generera en PWM-signal och styra en dubbelriktad ESC. Se till att din dubbelriktade ESC är ansluten till Arduinos PWM-stift och strömförsörjt på rätt sätt.
# include <Servo.h>
Servo esc;//Skapa ett Servo-objekt
ogiltiga inställningar(){
esc.attach (9);//Anslut ESC till stift 9 på Arduino
esc.writeMicroseconds (1500);//Initiera motorn till neutralläge
delay(2000);//vänta 2 sekunder
}
Void loop() {
Int. strypning = 1500; //Neutralläge, motorn roterar inte
esc.writeMicroseconds(throttle);//Skicka PWM-signal för att styra motorn
//Dröja ett tag
fördröjning(1000);
//Accelerera motorn genom att öka PWM-signalen
strypning = 1600;
esc.writeMicroseconds(throttle);
//Dröja ett tag
fördröjning(1000);
//Skaka ner motorn genom att minska PWM-signalen
strypning = 1400;
esc.writeMicroseconds(throttle);
//Dröja ett tag
fördröjning(1000);
}
I det här exemplet använder vi Arduinos servobibliotek för att generera en PWM-signal och skicka den till ESC. Först ansluter vi ESC till stift 9 på Arduino och ställer in det initiala PWM-värdet till 1500 mikrosekunder, vilket vanligtvis är motorns neutrala position.
Sedan går vi in i loop()-funktionen, där vi kan styra motorns funktion. Vi justerar motorns hastighet genom att ändra strypningsvariabeln för att styra PWM-signalens pulsbredd. I det här exemplet demonstrerar vi motoracceleration och retardation.
Observera att faktisk PWM-signalomfång och neutralläge kan variera mellan ESC-modeller, så du kan behöva finjustera baserat på ESC-specifikationer. Dessutom är detta ett enkelt exempel, du kan skriva mer komplex kontrollkod för att möta dina specifika applikationsbehov. Se till att följa ESC- och motorspecifikationerna.
# include <Servo.h>
Servo esc;//Skapa ett Servo-objekt
ogiltiga inställningar(){
esc.attach (9);//Anslut ESC till stift 9 på Arduino
esc.writeMicroseconds (1500);//Initiera motorn till neutralläge
delay(2000);//vänta 2 sekunder
}
Void loop() {
Int. strypning = 1500; //Neutralläge, motorn roterar inte
esc.writeMicroseconds(throttle);//Skicka PWM-signal för att styra motorn
//Dröja ett tag
fördröjning(1000);
//Accelerera motorn genom att öka PWM-signalen
strypning = 1600;
esc.writeMicroseconds(throttle);
//Dröja ett tag
fördröjning(1000);
//Skaka ner motorn genom att minska PWM-signalen
strypning = 1400;
esc.writeMicroseconds(throttle);
//Dröja ett tag
fördröjning(1000);
}
I det här exemplet använder vi Arduinos servobibliotek för att generera en PWM-signal och skicka den till ESC. Först ansluter vi ESC till stift 9 på Arduino och ställer in det initiala PWM-värdet till 1500 mikrosekunder, vilket vanligtvis är motorns neutrala position.
Sedan går vi in i loop()-funktionen, där vi kan styra motorns funktion. Vi justerar motorns hastighet genom att ändra strypningsvariabeln för att styra PWM-signalens pulsbredd. I det här exemplet demonstrerar vi motoracceleration och retardation.
Observera att faktisk PWM-signalomfång och neutralläge kan variera mellan ESC-modeller, så du kan behöva finjustera baserat på ESC-specifikationer. Dessutom är detta ett enkelt exempel, du kan skriva mer komplex kontrollkod för att möta dina specifika applikationsbehov. Se till att följa ESC- och motorspecifikationerna.
Dela det här inlägget
- 0 kommentarer
- Taggar: ESC