השתמש ב-Arduino כדי ליצור אותות PWM ולשלוט ב-ESC כדי לממש את קדימה ואחורה של המנוע.
פורסם על ידי Fengyukun בתאריך
שליטה בבקר מהירות אלקטרוני דו-כיווני (ESC) באמצעות אותות PWM כרוכה בדרך כלל בשליחת ערכי PWM ספציפיים כדי לשלוט במהירות ובכיוון המנוע. להלן דוגמה פשוטה של קוד בקרה באמצעות Arduino ליצירת אותות PWM ולשלוט ב-ESC דו-כיווני. אנא ודא שה-ESC הדו-כיווני שלך מחובר לפיני PWM של Arduino ומופעל כהלכה.
#include <Servo.h>
Servo esc; // צור אובייקט Servo
void setup() {
esc.attach(9); // חבר את ה-ESC לפין 9 בארדואינו
esc.writeMicroseconds(1500); // אתחל את המנוע למצב ניטרלי
delay(2000); // המתן 2 שניות
}
void loop() {
מצערת int = 1500; // מיקום ניטרלי, המנוע אינו מסתובב
esc.writeMicroseconds(throttle); // שלח אות PWM כדי לשלוט במנוע
// עיכוב לפרק זמן מסוים
delay(1000);
// האץ את המנוע על ידי הגדלת אות PWM
מצערת = 1600;
esc.writeMicroseconds(throttle);
// עיכוב לפרק זמן מסוים
delay(1000);
// האטה את המנוע על ידי הפחתת אות PWM
מצערת = 1400;
esc.writeMicroseconds(throttle);
// עיכוב לפרק זמן מסוים
delay(1000);
}
בדוגמה זו, אנו משתמשים בספריית ה-Servo של Arduino כדי ליצור אותות PWM ולשלוח אותם ל-ESC. ראשית, אנו מחברים את ה-ESC לפין 9 של ה-Arduino ומגדירים את ערך ה-PWM הראשוני ל-1500 מיקרו-שניות, שהוא בדרך כלל המיקום הנייטרלי של המנוע.
לאחר מכן, אנו נכנסים לפונקציה loop(), שבה נוכל לשלוט על פעולת המנוע. אנו שולטים ברוחב הפולסים של אות PWM על ידי שינוי משתנה המצערת כדי להתאים את מהירות המנוע. בדוגמה, אנו מדגימים האצה והאטה של המנוע.
שים לב שטווח האות PWM בפועל והמיקום הנייטרלי עשויים להשתנות בהתאם לדגם ה-ESC, כך שייתכן שיהיה עליך לכוונן אותו בהתאם למפרטי ה-ESC שלך. בנוסף, זוהי דוגמה פשוטה, ואתה יכול לכתוב קוד בקרה מורכב יותר כדי לעמוד בדרישות היישום הספציפיות שלך. הקפד לפעול בהתאם למפרטי ה-ESC והמנוע שלך.
#include <Servo.h>
Servo esc; // צור אובייקט Servo
void setup() {
esc.attach(9); // חבר את ה-ESC לפין 9 בארדואינו
esc.writeMicroseconds(1500); // אתחל את המנוע למצב ניטרלי
delay(2000); // המתן 2 שניות
}
void loop() {
מצערת int = 1500; // מיקום ניטרלי, המנוע אינו מסתובב
esc.writeMicroseconds(throttle); // שלח אות PWM כדי לשלוט במנוע
// עיכוב לפרק זמן מסוים
delay(1000);
// האץ את המנוע על ידי הגדלת אות PWM
מצערת = 1600;
esc.writeMicroseconds(throttle);
// עיכוב לפרק זמן מסוים
delay(1000);
// האטה את המנוע על ידי הפחתת אות PWM
מצערת = 1400;
esc.writeMicroseconds(throttle);
// עיכוב לפרק זמן מסוים
delay(1000);
}
בדוגמה זו, אנו משתמשים בספריית ה-Servo של Arduino כדי ליצור אותות PWM ולשלוח אותם ל-ESC. ראשית, אנו מחברים את ה-ESC לפין 9 של ה-Arduino ומגדירים את ערך ה-PWM הראשוני ל-1500 מיקרו-שניות, שהוא בדרך כלל המיקום הנייטרלי של המנוע.
לאחר מכן, אנו נכנסים לפונקציה loop(), שבה נוכל לשלוט על פעולת המנוע. אנו שולטים ברוחב הפולסים של אות PWM על ידי שינוי משתנה המצערת כדי להתאים את מהירות המנוע. בדוגמה, אנו מדגימים האצה והאטה של המנוע.
שים לב שטווח האות PWM בפועל והמיקום הנייטרלי עשויים להשתנות בהתאם לדגם ה-ESC, כך שייתכן שיהיה עליך לכוונן אותו בהתאם למפרטי ה-ESC שלך. בנוסף, זוהי דוגמה פשוטה, ואתה יכול לכתוב קוד בקרה מורכב יותר כדי לעמוד בדרישות היישום הספציפיות שלך. הקפד לפעול בהתאם למפרטי ה-ESC והמנוע שלך.