Управление регулятором оборотов бесколекторного двигателя
- Войдите на сайт для отправки комментариев
Ср, 27/04/2022 - 18:28
Ребята Всем доброго времени суток.
Не пинайте сильно за мою безграмотность и возможно неумением пользоваться поиском, но не смотря на это реш создать тему на которою надеюсь получить ответ )))) заранее благодарю Всех. Мир в Ваш дом.
Имеется плата Arduino UNO, ESC регулятор оборотов ( квадракоптерный) и собственно бесколекторный мотор.
Имеется скетч с управлением через потенциометр. Все работает.
Но хотелось бы иметь скетч для управления мотором с помощью двух кнопок т.е. одна кнопка по часовой стрелки , вторая против.
скетч который использовал ниже:
#include <Servo.h>
Servo motor;
void setup() {
motor.attach(2);
motor.writeMicroseconds(2300);
delay(2000);
motor.writeMicroseconds(800);
delay(6000);
}
void loop() {
int val = map(analogRead(0), 0, 1023, 800, 2300);
motor.writeMicroseconds(val);
}
используемые кнопки - нормально разомкнутые.
почему бы вам не попробовать написать код самому?
Алгоритм-то элементарный:
1. Для начала ставим турель в некое положение, скажем угол 180 градусов.
2. Если кнопка А была нажата - добавляем к углу 5 градусов.
3. если кнопка Б нажата - отнимаем от угла 5 градусов.
Бинго! Код написан, задача решена.
Все не че, но меня смущает именно поворот на определенный градус, а хотелось бы чтобы он вращался без остановки.
я не в курсе, как устроен "квадрокоптерный мотор"... - в вашем коде я вижу не мотор, а серву.
Если это серва постоянного вращения, то мой алгоритм подойдет, она будет вращаться постоянно, а кнопки будет менять скорость и направление. А если это обычная серва, то ваши хотелки "чтоб вращалась постоянно" на ней не осуществимы.
я не в курсе, как устроен "квадрокоптерный мотор"... - в вашем коде я вижу не мотор, а серву.
Если это серва постоянного вращения, то мой алгоритм подойдет, она будет вращаться постоянно, а кнопки будет менять скорость и направление. А если это обычная серва, то ваши хотелки "чтоб вращалась постоянно" на ней не осуществимы.
Это именно бесколекторный мотор, а не серво. Большое СПАСИБО Вам, попробую данный алгоритм. Просто именно смущало, что будет работать рывками. Еще раз спасибо
попробую данный алгоритм. Просто именно смущало, что будет работать рывками.
если брать серву постоянного вращения, то рывков не будет - у нее через writeMicroseconds() задается скорость вращения, а не угол.
мотор как и серва управляются длительностью импульса, по стандарту от 1000 до 2000, если не калиброван то от 800 до 2400 где-то