Как управлять сервоприводом без использования библиотеки servoh?

ilyss2

✩✩✩✩✩✩✩
19 Ноя 2022
2
0
Всем привет я только начинаю учиться может кто подскажет. Как управлять сервоприводом без использования библиотеки servoh?
то есть по даташиту через analogwrite, нужно посчитать какой шим подать можете подсказать как это сделать?
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
Если сделать самое простое, то даже шим не обязательно. Сделать что то типа:
C++:
digitalWrite(PIN,HIGH);
delayMicroseconds(800);
digitalWrite(PIN,LOW);
delay(500);
Если все это запихнуть в loop , то серва установится в какое то положение соотв. 800 микосекундам.

ШИМ должен повторять импульсы угла с заданной частотой, что бы удерживать положение. Если не повторять, то серва будет в "расслабленном" состоянии
 

ilyss2

✩✩✩✩✩✩✩
19 Ноя 2022
2
0
@Старик Похабыч, спасибо за первый совет, можно еще вопросик, как мне все таки управлять шимом, я так понимаю что мне нужно составить уравнение? но я не могу догадаться как оно должно выглядеть шим серво.jpg
 

Bruzzer

★★★✩✩✩✩
23 Май 2020
500
145
Как управлять сервоприводом без использования библиотеки servoh?
Какова цель управления без использования библиотеки? Если учебная, то надо сначала прочитать рекомендуемую преподавателем литературу или уроки.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,272
1,303
Москва
Частота ШИМ задается производителем сервы. Соотв. тут частота 50 герц . Если нигде не напутал, то скважность в 2.7% это бдуте 0, а 12% это будет 180 градусов.
ШИМ в ардуино доступен только на определенных пинах. Хотя реально я не пробовал делать именно так - с библиотекой работать проще