Вопросы по сервоприводу
- Войдите на сайт для отправки комментариев
Сб, 11/01/2014 - 21:38
Здравствуйте.
Прошу сильно не пинать, я совсем новичок.
Начала осваивать управление сервоприводами вместе с Dagu Spider Controller. Есть несколько вопросов:
1) В чем отличие аналогового сервопривода от цифрового? Правильно ли я понимаю, что аналоговый будет работать только если выход поддерживает ШИМ?
2) servo.read() действительно получает данные с потенциометра сервопривода или просто возвращает последнее присвоенное значение?
3) Что предпочтительней использовать - Servo.write или Servo.WriteMilleseconds? Как arduino переводит аргумент функции Servo.write (в градусах) в электрический сигнал? Ведь сервоприводы такие разные...
Заранее спасибо!
Цифровой отличается от аналогового тем, что аналоговый воспринимает шим с фиксированым периодом (20мс) , а цифровой способен работать на повышенной частоте.http://wiki.amperka.ru/робототехника:сервоприводы
Насколько мне известно канал управления на сервы однонаправленный , потому прочитать с сервы нельзя ( да и зачем серва там, куда ее поставили, на то она и серва) , скорее всего читает из регистра таймера, обслуживающего шим. Я обычно знаю что заслано в серву, храня при необходимости в переменных.
Команды суть делают одно и то же, только с разными параметрами на входе, по крайне мере, когда экспериментировал, принципиальной разницы, кроме передаваемых данных не нашел. Сервы разные, но угол соответствует скважности одинаково у всех. Обычно использую write.