Управление сервоприводами от Тх

Обсуждаем модели и конструкции, построенные своими руками
Ответить
StarPer_l
Сообщения: 33
Зарегистрирован: 07 дек 2012, 21:16

Управление сервоприводами от Тх

Сообщение StarPer_l »

Управление сервоприводами от Тх можно ли осуществить используя ШИМ Тх? Т.е подобрать такую скважность (т.е скорость коллекторного мотора), чтобы попасть в требуемый диапазон импульсов для серв?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Управление сервоприводами от Тх

Сообщение Mr.Kubikus »

Если речь про RC-сервы (рулевые машинки), то, насколько я знаю, они имеют унифицированный интерфейс основанный на ШИМ. Параметры управляющего ШИМ сигнала:
  • Длительность импульса 1-2 мс.
  • Период 20 мс.
У контроллера ROBO TX период ШИМ составляет 5 мс. Думаю большинство современных сервомашинок не обратят внимание на такой маленький период между управляющими импульсами. Теперь, если перевести выходы контроллера в 9-битный режим - это когда диапазон выходного напряжения разбивается на 512 кусочков (по умолчанию используется 3-битный режим), то можно будет достаточно точно задавать длительность импульса в диапазоне 1-2 мс. Это именно, то что нужно серве.

Я провел эксперименты с выходами ROBO TX. Ниже показаны осциллограммы для T=1 мс (знач. на выходе = 195) и T=2 мс (знач. на выходе = 380) :
NewFile2.png
NewFile2.png (6.19 КБ) 17384 просмотра
NewFile3.png
NewFile3.png (6.13 КБ) 17384 просмотра
Теперь, чтобы проверить гипотезу, остается поделить выходное напряжение с 9 В до 5 В и подать его на вход управления сервомашинки.
С уважением, Григорий
GitHub FB ВК
StarPer_l
Сообщения: 33
Зарегистрирован: 07 дек 2012, 21:16

Re: Управление сервоприводами от Тх

Сообщение StarPer_l »

Ну, чтобы проверить гипотезу, поделить напряжение не сложно. А вот кусок проги с поворотом сервы на 45 градусов написать и приложить фото можно?
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Управление сервоприводами от Тх

Сообщение Mr.Kubikus »

Вот пример программы, которая циклически поворачивает серву между положениями 0% и 100%. Серва подключена к выходу O1:
servo-tx-1.png
servo-tx-1.png (16.87 КБ) 17347 просмотров
Обратите внимание на настройки выхода O1. Он работает в режиме, когда выходной сигнал задается числом шириной 9 бит (0 - 512):
out-port-setup.png
out-port-setup.png (14.89 КБ) 17347 просмотров
С уважением, Григорий
GitHub FB ВК
Ответить