Вопросы по сервоприводу

ivpo
Offline
Зарегистрирован: 07.01.2014

Здравствуйте.

Прошу сильно не пинать, я совсем новичок.

Начала осваивать управление сервоприводами вместе с Dagu Spider Controller. Есть несколько вопросов:

1) В чем отличие аналогового сервопривода от цифрового? Правильно ли я понимаю, что аналоговый будет работать только если выход поддерживает ШИМ?

2) servo.read() действительно получает данные с потенциометра сервопривода или просто возвращает последнее присвоенное значение?

3) Что предпочтительней использовать - Servo.write или Servo.WriteMilleseconds? Как arduino переводит аргумент функции Servo.write (в градусах) в электрический сигнал? Ведь сервоприводы такие разные...

Заранее спасибо!

 

 

inspiritus
Offline
Зарегистрирован: 17.12.2012

Цифровой отличается от аналогового тем, что аналоговый воспринимает шим с фиксированым периодом  (20мс) , а цифровой способен работать на повышенной частоте.http://wiki.amperka.ru/робототехника:сервоприводы

Насколько мне известно канал управления на сервы однонаправленный , потому прочитать с сервы нельзя ( да и зачем серва там, куда ее поставили, на то она и серва) , скорее всего читает из регистра таймера, обслуживающего шим. Я обычно знаю что заслано в серву, храня при необходимости в переменных.

Команды суть делают одно и то же, только с разными параметрами на входе, по крайне мере, когда экспериментировал, принципиальной разницы, кроме передаваемых данных не нашел. Сервы разные, но угол соответствует скважности одинаково у всех. Обычно использую write.