Шим сервопривод

 сервопривод

Чем сервы отличаются от моторов

В англоязычной литературе двигатель постоянного тока пишется как DC-motor .

Двигатель постоянного тока имеет двухпроводное подключение. Вся мощность, потребляемая мотором передается по этим двум проводам. Мысленно можно представить его в виде лампочки (просто как нагрузка, подключенная к источнику питания). При включении двигателя постоянного тока он просто начинает вращаться. Большинство двигателей постоянного тока имеют достаточно большие скорости вращения — порядка 5000 об/мин (английская абревиатура — RPM, rounds per minute).

Двигатель постоянного тока

Скоростью двигателя постоянного тока, можно управлять (или, точнее, управлять уровнем мощности) используя метод широтно-импульсной модуляции, или просто ШИМ. Это идея управлением уровня мощности мотора заключается во включении и выключении его на короткие промежутки времени. Ключевым понятием здесь является рабочий цикл — процент времени, когда двигатель работает, по отношению ко времени, когда напряжение на него не подается. Если питание подается только половину времени, двигатель работает на половину своей рабочей мощности.

Если включать-выключать питание достаточно быстро, то будет казаться, что двигатель просто вращается с меньшей скоростью - без рывков. Меньшая скорость вращения обусловлена тем, что двигатель получает питание только часть общего времени работы. Это то, как используется ШИМ для управления мощностью двигателей постоянного тока.

Широтно-импульсная модуляция в Arduino

Серводвигатель (сервомотор, серва, сервопривод)  - это совершенно другая история. Серводвигатель фактически состоит из четырех элементов - это двигатель постоянного тока, зубчатый редуктор, позиционно-чувствительный элемент (аналог потенциометра — регулятора громкости), и схемы управления.

Сервопривод — это привод, управляемый через отрицательную обратную связь. что позволяет точно управлять параметрами движения.

Сервопривод получает сигнал управления, который определяет требуемое положение вала сервопривода и подает питание на двигатель постоянного тока до тех пор, пока его вал не повернется в это положение. Он использует устройство измерения положения, чтобы определить угловое положение вала, поэтому он знает, в какую сторону двигатель должен обратиться, чтобы переместить вал в заданное положение. Вал обычно не вращается свободно, как в двигателе постоянного тока, а может только повернуться, например, максимум на 200 градусов назад или вперед. Максимальный угол поворота сервы является одним ее важных параметров.

Сервомотор

Сервопривод имеет трехпроводное подключение: питание, земля, и управление. Питание от источника должно подаваться постоянно; сервомотор имеет свою управляющую электронику, которая позволяет получить необходимую мощность для управления двигателем.

Сигнал управления, как и в случае с двигателем постоянного тока, представляет собой ШИМ-сигнал, но продолжительность положительного перепада определяет положение вала сервопривода (в случае двигателя постоянного тока мы управляем скоростью). Например, импульс, продолжительностью 1.520 мс определяет центральное положение для сервы Futaba S148. Длинный импульс заставляет сервопривод повернуться по часовой стрелке от центра, а более короткий импульс поворачивает сервопривод в фиксированное положение против часовой стрелки от центра.

Cервопривод повторяет управляющий импульс каждые 20 миллисекунд. В сущности, каждые 20 миллисекунд мы говорим сервомотору встать в определенное положение.

Есть два важных различия между управляющими импульсами для серводвигателя и двигателя постоянного тока.

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

Сравните это с двигателем постоянного тока. Двигатель постоянного тока как лампочка, он не имеет собственной управляющей электроники и требует большого тока управления. Это функция реализована в драйвере L293D, который выступает в качестве переключателя большого тока для управления электродвигателями постоянного тока.

В этом видеоуроке Джереми Блюм рассказывает что такое транзистор и как он используется для управления моторами постоянного тока. В данном случае транзистор выступает в качестве ключа. подключая источник питания к двигателю и отключая его. Это позволяет потреблять больший ток, чем если бы подключили двигатель к выходам Arduino.

Приводятся примеры управления двигателем постоянного тока и сервоприводом при помощи Arduino. Показано, как управлять положением сервопривода, используя инфракрасный дальномер.

Термин «рельса», употребляемый переводчиком следует слышать как «шина».

Сервопривод..

 сервопривод

1. Как управлять сервомотором - при резкой остановке коза или переполюсовка? Где об этом почитать?

2. Где есть схемы сервоприводов? (можно без прошивок - хотябы принцип уловить..)

3. Кто делал, поделитесь результатами..

4. Датчик от опт. мыши в качестве энкодера. (гдето обсуждалось вроде - немогу найти..)

5. Себистоимость хорошего(самопального) сервопривода? Магазинская стоимость?

1. Представьте себе ШИМ относительно +-Vпит ключей. При К=0.5 (равные полуволны) двигатель стоит, эт режим удержания. При смещении ШИМ от этой точки двигатель начинает вращаться в нужную сторону. И есть еще тонкость, что драйвер ключей не имеет права быть открыт на 100% и закрыт на 0% - обычно значения 10% и 90%.

2. Тема UHU на cnczone.com, там есть все сылки, но проект закрытый, или открытый проект с исходниками - http://elm-chan.org/works/smc/report_e.html

3. Серво работает, да еще как. Забываешь про шаговики как про страшный сон, особенно на длинных осях.

4. У меня было громадное желание его применить, но не получается. Не та скорость, повторяемость. Обычные оптопары с открытым каналом - самое оптимальное решение. Опто-мышиный же датчик можно применять для контроля медленных процессов, например точной юстировки.

5. Самопальный в районе $50. Любительские типа Гекко от $100. Промышленные типа Митцубиши от Е400 за самый слабенький привод.

Аналоговый сервопривод

Принцип построения управления аналоговым сервоприводом от PIC-контроллера.

Подключение аналогового сервопривода выполняется по трем проводам:

  • черный (коричневый) – общий.
  • красный – питание (4,8-6,0 Вольт).
  • белый (желтый) – управление.

Сервопривод позволяет поворачивать вал до 180 градусов. Для управления необходимо на белом проводе сформировать управляющие импульсы длительностью от 1 до 2 миллисекунд с периодом 20 миллисекунд. Длительность импульса управления от 1 до 2 мс – это стандартные параметры и реально могут отличаться для выполнения полного вращения вала (на 180º), но на практике для управления исполнительными механизмами применяется меньшие углы. Период тоже понятие относительное и от может быть как меньше так и больше, все зависит от параметров системы управления и самого выбранного привода.

Удобно для управления использовать CCP модули микроконтроллера. В новых современных моделях (например, PIC16F1936) их количество достигает 6. Это количество модулей достаточно для создания полноценных устройств управления моделями, роботами…

CCP-модуль позволяет создавать независимые ШИМ которые могут с успехом управлять аналоговыми (и цифровыми) приводами.

При настройке CCP модуля в режиме ШИМ нам доступно 10 бит управления длительностью. Для управления длительностью необходимо загружать числовое значение в регистр CCPRxL (8 бит) и младшие биты (0-1) в регистр CCPxCON. В режиме ШИМ CCP модуль работает совместно с таймерами TMP2/4/6. Эти таймеры формируют период ШИМ. Формируемая длительность тесно завязана с тактовой частотой микроконтроллера и для аналогового привода придется задавать более низкую тактовую частоту что не всегда приемлемо для быстродействия системы управления.

Таймер имеет следующую структуру:

На вход поступает тактовая частота деленная на 4, после этого идет предделитель и сам таймер, с регистром периода. Нам необходимо сформировать период с длительностью близко к 20 мс. 20 мс – это частота на 50 Гц. Высчитаем приемлемую тактовую частоту: как это сделать? Необходимо

    требуемую частоту  (50 Гц) умножить на величину делителя таймера (256, значение берем максимальные, для получения максимальность тактовой часты). далее умножаем на максимальное значение предделителя 64. потом на 4 (входная тактовая от частоты задающего генератора контроллера)

50*256*64*4=3276800

Мы получили тактовую больше трех мегагерц, выберем 4 (из стандартного ряда внутреннего генератора)

Проверим при заданной тактовой какая у нас будет длительность периода

Период = 1/(4000000/4/64/256) = 1/60 = 16 мс.

Получаем 60 герц на выходе это где то 16 мс. Для нашего привода S3003 это в приемлемом допуске.

Настройка тактового генератора в программе

Теги: 

Рекомендуем также прочитать

«Однофазный асинхронный двигатель» Группы ТУ-2 Рожко Светлана Саратов-2009 г План написания работы:
Двигатели АВВ Электродвигатели ABB. Двигатель ABB
Поиск авиабилетов/отелей Мальдивы на карте мира Вереница островов, которые находятся в Индийском океане, к юго-западу от Индии.
Математическая модель асинхронного двигателя во вращающейся системе координат c переменными