Використовуйте Arduino для генерації сигналів ШІМ і керування ESC для реалізації руху двигуна вперед і назад.
Опубліковано Fengyukun
Управління двонаправленим електронним регулятором швидкості (ESC) за допомогою сигналу ШІМ зазвичай передбачає надсилання певних значень ШІМ для керування швидкістю та напрямком двигуна. Нижче наведено простий приклад коду керування за допомогою Arduino для генерації сигналу ШІМ та керування двонаправленим ESC. Переконайтеся, що ваш двонаправлений ESC підключений до контакту ШІМ Arduino та має належне живлення.
#include <Servo.h>
Servo esc; // Створення об'єкта Servo
void setup() {
esc.attach(9); // Підключіть ESC до контакту 9 на Arduino
esc.writeMicroseconds(1500); // Ініціалізація двигуна в нейтральне положення
delay(2000); // зачекайте 2 секунди
}
void loop() {
int throttle = 1500; // Нейтральне положення, двигун не обертається
esc.writeMicroseconds(throttle); // Надсилання сигналу ШІМ для керування двигуном
//Затримати на деякий час
затримка (1000);
//Прискорення двигуна шляхом збільшення сигналу ШІМ
дросель = 1600;
esc.writeMicroseconds(дросель);
//Затримати на деякий час
затримка (1000);
//Уповільнення двигуна шляхом зменшення сигналу ШІМ
дросель = 1400;
esc.writeMicroseconds(дросель);
//Затримати на деякий час
затримка (1000);
}
У цьому прикладі ми використовуємо бібліотеку Servo для Arduino, щоб генерувати сигнал ШІМ і надсилати його на ESC. Спочатку ми підключаємо ESC до контакту 9 Arduino і встановлюємо початкове значення ШІМ на 1500 мікросекунд, що зазвичай є нейтральним положенням двигуна.
Потім ми входимо до функції loop(), де ми можемо контролювати роботу двигуна. Ми контролюємо ширину імпульсу сигналу ШІМ, змінюючи змінну дросельної заслінки, щоб регулювати швидкість двигуна. У прикладі ми демонструємо, як пришвидшити та сповільнити двигун.
Зауважте, що фактичний діапазон сигналу ШІМ і нейтральне положення можуть відрізнятися в різних моделях ESC, тому вам може знадобитися їх тонке налаштування на основі ваших специфікацій ESC. Крім того, це простий приклад, і ви можете написати більш складний керуючий код, щоб відповідати вимогам конкретної програми. Обов’язково дотримуйтеся специфікацій ESC і двигуна.
#include <Servo.h>
Servo esc; // Створення об'єкта Servo
void setup() {
esc.attach(9); // Підключіть ESC до контакту 9 на Arduino
esc.writeMicroseconds(1500); // Ініціалізація двигуна в нейтральне положення
delay(2000); // зачекайте 2 секунди
}
void loop() {
int throttle = 1500; // Нейтральне положення, двигун не обертається
esc.writeMicroseconds(throttle); // Надсилання сигналу ШІМ для керування двигуном
//Затримати на деякий час
затримка (1000);
//Прискорення двигуна шляхом збільшення сигналу ШІМ
дросель = 1600;
esc.writeMicroseconds(дросель);
//Затримати на деякий час
затримка (1000);
//Уповільнення двигуна шляхом зменшення сигналу ШІМ
дросель = 1400;
esc.writeMicroseconds(дросель);
//Затримати на деякий час
затримка (1000);
}
У цьому прикладі ми використовуємо бібліотеку Servo для Arduino, щоб генерувати сигнал ШІМ і надсилати його на ESC. Спочатку ми підключаємо ESC до контакту 9 Arduino і встановлюємо початкове значення ШІМ на 1500 мікросекунд, що зазвичай є нейтральним положенням двигуна.
Потім ми входимо до функції loop(), де ми можемо контролювати роботу двигуна. Ми контролюємо ширину імпульсу сигналу ШІМ, змінюючи змінну дросельної заслінки, щоб регулювати швидкість двигуна. У прикладі ми демонструємо, як пришвидшити та сповільнити двигун.
Зауважте, що фактичний діапазон сигналу ШІМ і нейтральне положення можуть відрізнятися в різних моделях ESC, тому вам може знадобитися їх тонке налаштування на основі ваших специфікацій ESC. Крім того, це простий приклад, і ви можете написати більш складний керуючий код, щоб відповідати вимогам конкретної програми. Обов’язково дотримуйтеся специфікацій ESC і двигуна.
Поділіться цією публікацією
- 0 коментарів
- Мітка: ESC
← Старіший пост нові публікації →