Get Adobe Flash player
    Принимаются SMS-пожертвования на развитие ресурса     Копирование материалов     разрешено с обязательной ссылкой     на этот сайт     Принимаются SMS-пожертвования на развитие ресурса    

Архив за месяц: Март 2013

Step-Dir сервопривод двигателя постоянного тока

Сервопривод Чена  (авторский сайт)

top

Теория и практика.

Это экспериментальная версия  системы управления сервомотором(SMC)  постоянного тока (DC)  с открытым кодом. Ее можно использовать практически как есть, или модифицировать. Для операций механизма сервопривода требуется обратная связь в режиме реального времени, таких как: позиционирование положения вала, регулирование скорости и крутящего момента.  Этот пример  подходит для реализации на любых встраиваемых 32-битных RISC-процессорах с промежуточным программным обеспечением. В этом проекте, все операции обрабатываются  дешевым 8-и битным микроконтроллером.
В последнее время, большинство следящих систем использует асинхронный двигатель под названием «AC сервомотор», чтобы снизить общую стоимость оборудования. Двигатель переменного тока для сервопривода  является своего рода двигателем постоянного тока, разницу между сервоприводами переменного и постоянного тока представляет только силовой  драйвер двигателя внутри самого привода.

Аппаратная часть

zblock1

На рисунке  показана блок-схема  SMC. Эта схема использует только  микроконтроллер AVR и управление драйвером двигателя в режиме ШИМ. Все следящие и управляющие операции обрабатываются программным обеспечением процессора сервопривода.  Аналоговые компоненты в этом сервоприводе  не используются.
AVR обрабатывает,  помимо серво функций,  также команды движения от управляющего хост-контроллера.  Высокая эффективность мощного драйвера (H-bridge) двигателя достигается в режиме ШИМ. Он может управлять двигателем мощностью до 50 Вт при напряжении питания 12В.
Разъем ISP для программирования AVR,  также может использоваться для подключения светодиодного табло. Хост-интерфейс  может быть подключен к последовательному порту компьютера напрямую. На разъем P4   можно подавать импульсы команд step/dir, как и в большинстве шаговых сервоприводов.

smc

 

Программное обеспечение и алгоритм.

zblock2

 

Этот рисунок  показывает теоретический принцип управления механизмом сервопривода позиционирования. Информация о текущем положении двигателя, подается обратно в серво-контроллер с потенциометра или датчика вращения. Положение вала двигателя  сравнивается с заданным положением, а затем, вал двигателя приводится в движение до достижения положения соответствующего заданной  ошибки.
Серво компаратор состоит из ошибки усилителя и ПИД-фильтров. До 1980-х годов, в схемах сервоприводов использовались  аналоговые  ОУ, преобразователь типа частота-напряжение, дифференциальный счетчик, цифро-аналоговый преобразователь, СИФУ, блок нелинейного токоограничения и множество других различных аналоговых каскадов.

Надо заметить, что наладка таких приводов представляла собой длинную последовательность  весьма непростых и точных действий инженера-наладчика, обычно это был специальный альбом инструкций…  После 1990-х годов,  стали популярны цифровая обработка сигналов  и новые алгоритмы для сервоприводов, такие как ИИ (искусственный интеллект) управления, четкая и нечеткая логика и т.п.

zblock3

Такая конфигурация схемы привода, с несколькими цепями обратных связей,  является самой популярной и основной архитектурой сервоприводов в настоящее время и  называется «Каскадное управление».  В такой схеме общая производительность сервопривода увеличивается.

В современных сервоприводах все эти операции обрабатываются программным обеспечением. Дискретная аппроксимация сервопривода значительно быстрее, чем период опроса от механической реакции. Как правило, частота обновления от 1  до нескольких кГц . В настоящее время, выполняется большинством микроконтроллеров без цифровой обработки сигналов. С такой скоростью обновления (кГц), каждая операция обрабатывается в течение 92 мкс, так что AVR может быть использован для обработки и управления сервоприводом с легкостью.

Итак сам привод SMC

Этот сервопривод может работать в четырех различных  режимах:

  • режим позиционирования (слежения),
  • режим постоянной скорости,
  • режиме постоянного крутящего момента,
  • режим постоянного напряжения.

Режимы работы определяются данными процесса сервопривода. Каждой операцией можно управлять с помощью хост-контроллера через последовательный интерфейс. Этот привод  может работать, как автономный контроллер движения, с  обновлением встроенного программного обеспечения.

Параметры, такие как усиление и ограничение, могут быть изменены динамически. Тем не менее, SMC не имеет функции автоматической настройки, так что нужно  вручную настроить параметры привода, исходя из свойств фактического двигателя нагрузки.  AVR имеет 128 байт энергонезависимой памяти данных, серво параметры могут быть сохранены или загружены в память.

Позиционирование

Для позиционирования положения двигателя, используются импульсы таймера с частотой 52 кГц для опроса  квадратурных сигналов из инкрементного вращающегося датчика — энкодера, которые обновляют текущий регистр позиции. Как правило, счетчик аппаратного буфера используется, как интерфейс датчика, для уменьшения нагрузки процессора в процессе позиционирования. Входные сигналы обрабатываются  програмно, чтобы уменьшить внешние компоненты.

zblock4 Максимальная скорость следования импульсов от энкодера — меньше частоты дискретизации программного обеспечения. Если скорость ввода  превышает частоту дискретизации, количество ошибок будет расти, и соответствия между фактическим положением двигателя и заданной позиций будут потеряны. Для увеличения скорости считывания используется  специальный алгоритм, который применяется к коду ошибки. Он может принимать скорость ввода количества импульсов в два раза быстрее, чем частота дискретизации. Таким образом,  количество входных импульсов может достигать максимальной скорости до 104kГц.  Например, при количестве 400 импульсов на оборот (400 PPR) , которые соответствуют 1600 циклов на оборот (1600 CPR) инкрементного датчика (см. рисунок)  , максимальная скорость вращения достигнет:

                     2 * 52k[sps] / 1600[cpr] * 60 = 3900[rpm]


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

Алгоритм программы одновременно обрабатывает два процесса:

zflow2

zflow1

 

Один процесс исполняет команды управления, в то время как другой, в режиме реального времени, исполняет серво операции с двигателем.

Сервопривод управляется командами хост-контроллера через последовательный интерфейс.  Формат данных N81, со скоростью передачи данных 38.4K бит в секунду. Он может быть подключен к последовательному порту компьютера напрямую.

Описание основных команд можно прочитать на авторском сайте, а также исходники прошивки и модификацию схемы.

 

step

 

 

На этом рисунке показаны результаты измерения времени реакции позиционирования вала двигателя марки UGTMEM-A1SA51 по отношению к управляющему импульсу.

Существуют специальные программы, например SERVOTUNING, для COM-порта под ОС WINDOWS, которые позволяют выполнить точную настройку согласования привода и двигателя. Подробнее тут.

 

И несколько слов о цифровом табло.

Это 8-и символьный цифровой 7-и сегментный светодиодный дисплей, который управляется по трем линиям ввода/вывода.
Это табло можно использовать, как бортовой дисплей привода SMC, подключенный к порту программирования MCU AVR, конечно же после его программирования.

ispled1

 

 

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

motor

В интернете можно найти материалы модификаций этого привода. Простая и удачная альтернатива замены шаговых двигателей в малогабаритных системах с УЧПУ, однако, для мощных моторов, где требуется динамическое токорегулирование двигателя этот привод не подходит.

Обсудить на форуме

  • ЗАДАТЬ ВОПРОС