Всем привет, у меня возникла проблема при попытке поуправлять бесщеточным мотором с ардуимо. Опишу коротко что у меня имеется:
LiPO аккум 4 баночный
HobbyKing 60A ESC 4A UBEC
Мотор Walkera WK-WS-28-014A kv2500 (cw)
Arduino Nano
Все перечисленные комплектующие были соеденены воедино, + и - от ESC на плюс и минус аккума, на плюс между аккумом и ESC был добавлен переключатель. Мотор к ESC был припаян согласно цвета проводов синий к синему красный к красному и тд. подключил ESC к ардуино черный на GND а белый на пин 6(ШИМ) далее пробовал примерчики из статей Первый пример Второй пример
И ничего не работает, при подаче питания на контроллер мотор не издает никаких писков, но насколько я понял ESC работает замерял напряжение на выходе +5v у контроллера.
Код который использовал
#include <Servo.h>
int value = 0;
Servo firstESC;
void setup() {
firstESC.attach(6);
Serial.begin(9600);
}
void loop() {
firstESC.writeMicroseconds(value);
if(Serial.available())
value = Serial.parseInt(); // Parse an Integer from Serial
}
Пытался через монитор портов отправлять 2000, но ничего не происходит все равно.
-----------
И еще небольшой вопрос есть ли отличия мотора для FPV от других моторов?
И ничего не работает, при подаче питания на контроллер мотор не издает никаких писков
Для начала соедините без всяких ардуин. Батарея -> ESC -> мотор. Мотор должен пищать. Если не пищит - надо менять ESC либо мотор. Проверьте тестером наличие напряжения в батарее и наличие напряжения на входных контактах ESC после выключателя. Прозвоните обмотки мотора.
По коду пока рано говорить. Сначала убедитесь, что мотор запищал.
И еще небольшой вопрос есть ли отличия мотора для FPV от других моторов?
В мотор для FPV встроены камера и передатчик. Шутка. Отличий нет.
writeMicroseconds()
Writes a value in microseconds (uS) to the servo, controlling the shaft accordingly. On a standard servo, this will set the angle of the shaft. On standard servos a parameter value of 1000 is fully counter-clockwise, 2000 is fully clockwise, and 1500 is in the middle.
А вы туда пишете:
int value = 0;
При инициализации пишите туда значение 1000. И всё заработает. И еще - следите, чтобы не было ситуации когда на ESC подаётся питание, а PWM при этом около 2000 - для ESC это знак того, что надо входить в режим калибровки.
We use cookies and web analytics services. By continuing to use our
website, you consent to the use of cookies or similar technologies on
this website, including third-party statistics and web analytics services,
which may in some cases collect and process information about your visit
and activity. To find out more, see rules of this website.