Страница 1 из 1

Управление сeрвопривoдом

Добавлено: Чт дек 13, 2012 21:39:39
AlexSun
Коты, помогите решить задачу... Есть сервопривод HXT900, нужно реализовать управление ним с помощью потенциометра: 0 - крайнее левое положение, 5 - крайнее правое, то есть всего 180 градусов.
Как превратить прочитанное значение с потенциометра в длину импульса для сервопривoда?

Re: Управление сeрвопривoдом

Добавлено: Чт дек 13, 2012 23:06:56
AlexSun
Как вообще ним управлять?
Прочитал мол длительность периода всего 20 мсек, из которого позиция вала в крайнем левом положении - 1 мсек логическая "1", крайнем правом - 2 мсек "1", остальное время "0".
Нарисовал схемку в протеусе, написал код:

Код: Выделить всё

   int8 period = 1500;
   set_tris_b(0b11111110);
   for (;;)
   {
      output_high(PIN_B0);
      delay_us(period);
      output_low(PIN_B0);
      delay_us(20000 - period);
   }
Положение вала совсем не то... Настройки сервопривода angle -90/+90, pulse 1m/2m.

Re: Управление сeрвопривoдом

Добавлено: Пт дек 14, 2012 07:58:59
m.ix
lm555

Re: Управление сeрвопривoдом

Добавлено: Пт дек 14, 2012 10:54:20
AlexSun
Зачем мне таймер? Я хочу в цикле.
Проблема именно в том, что сервопривод неправильно реагирует на создаваемые мной импульсы.

Re: Управление сeрвопривoдом

Добавлено: Сб дек 15, 2012 22:03:13
AndreaZzZ
Самое простое решение это взять готовую библиотеку для сервоприводов и функцию map из Arduino и приравнивать значение с АЦП в градусы.

Re: Управление сeрвопривoдом

Добавлено: Вс дек 16, 2012 14:17:12
Brigadir
AlexSun писал(а):Как вообще ним управлять?

Положение вала совсем не то...
Когда то сталкивался с подобными вещами (автоматика ). Не знаю как сейчас, раньше применялась примерно такая схема управления(см. вложение). Где поворот на некоторый угол управляющего потенциометра, приводит к повороту на такой же угол выходного вала исполнительного механизма, стремящегося вернуть компаратор в нулевое положение. То есть: мостовая схема управления.
Вам это нужно или как то по другому?

Re: Управление сeрвопривoдом

Добавлено: Вс дек 16, 2012 16:45:05
AlexSun
AndreaZzZ, у меня PIC.
Brigadir, да это, но мне нужно запрограммировать для этого PIC18F252.
Собрал схему в протеусе, написал прошивку - сервопривод неправильно реагирует на посылаемые ему импульсы. Код показал выше.

Re: Управление сeрвопривoдом

Добавлено: Вс дек 16, 2012 18:59:55
AndreaZzZ
AlexSun писал(а):AndreaZzZ, у меня PIC.
Разве под Пики нет готовых серво библиотек, или ты делаешь ради собственного желания? И да, функция map делает просто матан вычесления, от платформы не зависит.