Серводвигатель что это и как работает
Сервоприводы: инструкция, примеры использования и документация
Познакомимся поближе с сервоприводами. Рассмотрим их разновидности, предназначение, подсказки по подключению и управлению.
Список сервоприводов в магазине
Что такое сервопривод?
Сервопривод — это мотор с управлением через отрицательную обратную связь, позволяющую точно управлять параметрами движения. Сервомотором является любой тип механического привода, имеющий в составе датчик положения и плату управления.
Элементы сервопривода
Электромотор с редуктором
За преобразование электричества в механический поворот в отвечает коллекторный мотор. Для практического использования скорость вращения мотора слишком большая, а крутящий момент — наоборот слишком слабый. Для решения двух проблем, выходной вал мотора соединён с группой металлических шестеренок, которые пропорционально позволяют увеличить крутящий момент, но при этом снизить скорость вращения внешнего вала.
К выходному валу редуктора крепится необходимая нагрузка. Это может быть качалка, вращающийся вал, тянущие или толкающие механизмы.
Датчик обратной связи
Для контроля положения вала, на сервоприводе установлен датчик обратной связи, например потенциометр или энкодер. Позиционер преобразует угол поворота вала обратно в электрический сигнал.
Плата управления
За всю обработку данных в сервоприводе отвечает плата управления, которая сравнивает внешнее значения с микроконтроллера с показателем датчика обратной связи, и по результату соответственно включает или выключает мотор.
Выходной вал
Вал — это часть редуктора, которая выведена за пределы корпуса мотора и непосредственно приводиться в движение при подаче управляющих сигналов на сервопривод. В комплектации сервомоторов идут качельки разных формфакторов, которые одеваются на вал сервопривода для дальнейшей коммуникации с вашими задумками. Не рекомендуем прилагать к валу нагрузки, которые больше крутящего момента сервопривода. Это может привести к разрушению редуктора.
Выходной шлейф
Без внешнего источника питания
Если сервопривод питается напряжением от 5 вольт и потребляет ток менее 500 мА, то есть возможность обойтись без внешнего источника питания и подключить провод питания сервомотора непосредственно к питанию микроконтроллера.
Цвет провода | Контакт | Функция | Подключение |
---|---|---|---|
Оранжевый | S | Пин управления сервоприводом | Подключите к пину ввода-вывода микроконтроллера. |
Красный | V | Питание | Подключите к питанию микроконтроллера. |
Коричневый | G | Земля | Подключите к земле микроконтроллера. |
С внешним источником питания
Если сервопривод питается напряжением отличным от 5 вольт или потребляет ток более 500 мА, то необходим внешний источника питания.
Цвет провода | Контакт | Функция | Подключение |
---|---|---|---|
Оранжевый | S | Пин управления сервоприводом | Подключите к пину ввода-вывода микроконтроллера. |
Красный | V | Питание | Подключите к внешнему источнику питания. Значения напряжение смотрите в характеристиках конкретно вашего сервопривода. |
Коричневый | G | Земля | Подключите к земле внешнего источника питания и земле микроконтроллера. |
Управление сервоприводом
Алгоритм работы
Интерфейс управления
Чтобы указать сервоприводу желаемое состояние, по сигнальному проводу необходимо посылать управляющий сигнал — импульсы постоянной частоты и переменной ширины.
То, какое положение должен занять сервопривод, зависит от длины импульсов. Когда сигнал от микроконтроллера поступает в управляющую схему сервопривода, имеющийся в нём генератор импульсов производит свой импульс, длительность которого определяется через датчик обратной связи. Далее схема сравнивает длительность двух импульсов:
Для управления хобби-сервоприводами подают импульсы с частотой 50 Гц, т.е. период равен 20 мс:
Обратите внимание, что на вашем конкретном устройстве заводские настройки могут оказаться отличными от стандартных. Некоторые сервоприводы используют ширину импульса 760 мкс. Среднее положение при этом соответствует 760 мкс, аналогично тому, как в обычных сервоприводах среднему положению соответствует 1520 мкс.
Это всего лишь общепринятые длины. Даже в рамках одной и той же модели сервопривода может существовать погрешность, допускаемая при производстве, которая приводит к тому, что рабочий диапазон длин импульсов отличается. Для точной работы каждый конкретный сервопривод должен быть откалиброван: путём экспериментов необходимо подобрать корректный диапазон, характерный именно для него.
Часто способ управления сервоприводами называют PWM (Pulse Width Modulation) или PPM (Pulse Position Modulation). Это не так, и использование этих способов может даже повредить привод. Корректный термин — PDM (Pulse Duration Modulation) в котором важна длина импульсов, а не частота.
Характеристики сервопривода
Крутящий момент
Момент силы или крутящий момент показывает, насколько тяжёлый груз сервопривод способен удержать в покое на рычаге заданной длины. Если крутящий момент сервопривода равен 5 кг×см, то это значит, что сервопривод удержит на весу в горизонтальном положении рычаг длины 1 см, на свободный конец которого подвесили 5 кг. Или, что эквивалентно, рычаг длины 5 см, к которому подвесили 1 кг.
Скорость поворота
Скорость сервопривода — это время, которое требуется выходному валу повернуться на 60°. Характеристика 0,1 с/60° означает, что сервопривод поворачивается на 60° за 0,1 с. Из неё можно вычислить скорость в оборотах в минуту, но так сложилось, что при описании сервоприводов чаще всего используют именно интервал времени за 60°.
Форм-фактор
Сервоприводы различаются по размерам. И хотя официальной классификации не существует, производители давно придерживаются нескольких размеров с общепринятым расположением крепёжных элементов.
Форм-фактор | Вес | Размеры |
---|---|---|
Микро | 8-25 г | 22×15×25 мм |
Стандартный | 40-80 г | 40×20×37 мм |
Большой | 50-90 г | 49×25×40 мм |
Внутренний интерфейс
Сервоприводы бывают аналоговые и цифровые. Так в чём же их отличия, достоинства и недостатки?
Внешне они ничем не отличаются: электромоторы, редукторы, потенциометры у них одинаковые, различаются они лишь внутренней управляющей электроникой. Вместо специальной микросхемы аналогового сервопривода у цифрового собрата можно заметить на плате микропроцессор, который принимает импульсы, анализирует их и управляет мотором. Таким образом, в физическом исполнении отличие лишь в способе обработки импульсов и управлении мотором.
Оба типа сервопривода принимают одинаковые управляющие импульсы. После этого аналоговый сервопривод принимает решение, надо ли изменять положение, и в случае необходимости посылает сигнал на мотор. Происходит это обычно с частотой 50 Гц. Таким образом получаем 20 мс — минимальное время реакции. В это время любое внешнее воздействие способно изменить положение сервопривода. Но это не единственная проблема. В состоянии покоя на электромотор не подаётся напряжение, в случае небольшого отклонения от равновесия на электромотор подаётся короткий сигнал малой мощности. Чем больше отклонение, тем мощнее сигнал. Таким образом, при малых отклонениях сервопривод не сможет быстро вращать мотор или развивать большой момент. Образуются «мёртвые зоны» по времени и расстоянию.
Эти проблемы можно решать за счёт увеличения частоты приёма, обработки сигнала и управления электромотором. Цифровые сервприводы используют специальный процессор, который получает управляющие импульсы, обрабатывает их и посылает сигналы на мотор с частотой 200 Гц и более. Получается, что цифровой сервопривод способен быстрее реагировать на внешние воздействия, быстрее развивать необходимые скорость и крутящий момент, а значит, лучше удерживать заданную позицию, что хорошо. Конечно, при этом он потребляет больше электроэнергии. Также цифровые сервоприводы сложнее в производстве, а потому стоят заметно дороже. Собственно, эти два недостатка — все минусы, которые есть у цифровых сервоприводов. В техническом плане они безоговорочно побеждают аналоговые сервоприводы.
Материалы шестерней
Шестерни для сервоприводов бывают из разных материалов: пластиковые, карбоновые, металлические. Все они широко используются, выбор зависит от конкретной задачи и от того, какие характеристики требуются в установке.
Пластиковые, чаще всего нейлоновые, шестерни очень лёгкие, не подвержены износу, более всего распространены в сервоприводах. Они не выдерживают больших нагрузок, однако если нагрузки предполагаются небольшие, то нейлоновые шестерни — лучший выбор.
Карбоновые шестерни более долговечны, практически не изнашиваются, в несколько раз прочнее нейлоновых. Основной недостатой — дороговизна.
Металлические шестерни являются самыми тяжёлыми, однако они выдерживают максимальные нагрузки. Достаточно быстро изнашиваются, так что придётся менять шестерни практически каждый сезон. Шестерни из титана — фавориты среди металлических шестерней, причём как по техническим характеристикам, так и по цене. К сожалению, они обойдутся вам достаточно дорого.
Коллекторные и бесколлекторные моторы
Существует три типа моторов сервоприводов: обычный мотор с сердечником, мотор без сердечника и бесколлекторный мотор.
Обычный мотор с сердечником (справа) обладает плотным железным ротором с проволочной обмоткой и магнитами вокруг него. Ротор имеет несколько секций, поэтому когда мотор вращается, ротор вызывает небольшие колебания мотора при прохождении секций мимо магнитов, а в результате получается сервопривод, который вибрирует и является менее точным, чем сервопривод с мотором без сердечника. Мотор с полым ротором (слева) обладает единым магнитным сердечником с обмоткой в форме цилиндра или колокола вокруг магнита. Конструкция без сердечника легче по весу и не имеет секций, что приводит к более быстрому отклику и ровной работе без вибраций. Такие моторы дороже, но они обеспечивают более высокий уровень контроля, вращающего момента и скорости по сравнения со стандартными.
Сервоприводы с бесколлекторным мотором появились сравнительно недавно. Преимущества те же что и у остальных бесколлекторных моторов: нет щёток, а значит они не создают сопротивление вращению и не изнашиваются, скорость и момент выше при токопотреблении равном коллекторным моторам. Сервоприводы с бесколлекторным мотором — самые дорогие сервоприводы, однако при этом они обладают лучшими характеристиками по сравнению с сервоприводами с другими типами моторов.
Сервопривод постоянного вращения
Сервоприводы обычно имеют ограниченный угол вращения 180 градусов, их так и называют «сервопривод 180°».
Но существуют сервоприводы с неограниченным углом поворота оси. Это сервоприводы постоянного вращения или «сервоприводы 360°».
Функция Arduino | Сервопривод 180° | Сервопривод 360° |
---|---|---|
Servo.write(0) | Крайне левое положение | Полный ход в одном направлении |
Servo.write(90) | Середнее положение | Остановка сервопривода |
Servo.write(180) | Крайне правое положение | Полный ход в обратном направлении |
Для иллюстрации работы с сервами постоянного вращения мы собрали двух мобильных ботов — на Arduino Uno и Iskra JS. Инструкции по сборке и примеры скетчей смотрите в статье собираем ИК-бота.
Примеры работы с Arduino
Схема подключения
Многие сервоприводы могут быть подключены к Arduino непосредственно. Для этого от них идёт шлейф из трёх проводов:
Для подключения к Arduino будет удобно воспользоваться платой-расширителем портов, такой как Troyka Shield. Хотя с несколькими дополнительными проводами можно подключить серву и через breadboard или непосредственно к контактам Arduino.
Ограничение по питанию
Обычный хобби-сервопривод во время работы потребляет более 100 мА. При этом Arduino способно выдавать до 500 мА. Поэтому, если вам в проекте необходимо использовать мощный сервопривод, есть смысл задуматься о выделении его в контур с дополнительным питанием.
Рассмотрим на примере подключения 12V сервопривода:
Ограничение по количеству подключаемых сервоприводов
На большинстве плат Arduino библиотека Servo поддерживает управление не более 12 сервоприводами, на Arduino Mega это число вырастает до значения 48. При этом есть небольшой побочный эффект использования этой библиотеки: если вы работаете не с Arduino Mega, то становится невозможным использовать функцию analogWrite() на 9 и 10 контактах независимо от того, подключены сервоприводы к этим контактам или нет. На Arduino Mega можно подключить до 12 сервоприводов без нарушения функционирования ШИМ/PWM, при использовании большего количества сервоприводов мы не сможем использовать analogWrite() на 11 и 12 контактах.
Пример использования библиотеки Servo
По аналогии подключим 2 сервопривода
Библиотека Servo не совместима с библиотекой VirtualWire для работы с приёмником и передатчиком на 433 МГц.
Альтернативная библиотека Servo2
Библиотеки для управления сервоприводами (Servo) и для работы с приёмниками / передатчиками на 433 МГц VirtualWire используют одно и то же прерывание. Это означает, что их нельзя использовать в одном проекте одновременно. Существует альтернативная библиотека для управления сервомоторами — Servo2.
Все методы библиотеки Servo2 совпадают с методами Servo.
Сервопривод – механизм, позволяющий устанавливать и фиксировать рабочий орган оборудования в заданных положениях, перемещать его в соответствии с заданной программой. Перемещение не единственная задача устройств, они могут поддерживать необходимый момент на валу при нулевой скорости вращения вала. Это используется для удержания исполнительного механизма в одном положении под нагрузкой.
Сервоприводы устанавливают на станках с ЧПУ, грузоподъемных механизмах, промышленных роботах. Сфера применения сервопривода не ограничивается производством. Механизмы применяют в бытовой технике, системах отопления и кондиционирования, автотранспорте.
Конструкция
Конструкция сервоприводов может существенно различаться в зависимости от назначения. Однако, вне зависимости от области применения устройства содержат следующие узлы:
Передаточный механизм служит для изменения скорости и момента на валу, к нему непосредственно подключается рабочий инструмент или исполнительное устройство. В ряде случаев передаточные механизмы обходятся дешевле безредукторного регулирования.
Электродвигатель – силовой элемент привода. Энергия вращения вала преобразуется в перемещение исполнительных устройств или инструментов.
Датчики служат для передачи на схему управления сигнала о положении вала или исполнительного механизма, частоты его вращения, момента.
Частотный преобразователь применяется для изменения частоты вращения, момента на валу двигателя путем изменения частоты тока или напряжения питания электродвигателя.
Контроллер предназначен для задания режимов работы привода, обработки сигналов с датчиков обратной связи, управления положением исполнительного механизма. Этот элемент нередко объединен с преобразователем частоты. Существуют специализированные ПЧ с интегрированными контроллерами для управления серводвигателями.
Принцип работы сервоприводов
Работает устройство следующим образом. Контроллер программируется на определенный режим работы и выдает сигнал на преобразователь частоты. Устройство подает на электродвигатель напряжение необходимой частоты и величины. Силовой агрегат перемещает исполнительный механизм с заданной скоростью и моментом, соответствующим нагрузке. По достижении заданного положения рабочего органа, подается соответствующий сигнал с датчиков положения на контроллер, который останавливает двигатель.
Принцип действия сервопривода идентичен автоматическому регулятору с отрицательной обратной связью. Задается опорный сигнал, называемый нулевым, с которым сравнивается сигнал с датчика положения. При равенстве их величин, сервопривод останавливается, при отклонениях в отрицательную или положительную сторону, на двигатель подается напряжение пока рабочий инструмент или исполнительное устройство не займет требуемого положения.
Виды сервоприводов
Сервоприводы различают по типу применяемого двигателя, передаточного механизма, назначению и техническим параметрам.
В качестве силовых агрегатов в устройствах используют:
Дополненная классификация двигателей сервоприводов представлена на рисунке:
К двигателям для современных сервоприводов предъявляют следующие требования:
В первых сервоприводах применялись электродвигатели постоянного тока с аналоговыми тахогенераторами, тиристорными или транзисторными преобразователями напряжения. Широкое использование таких электрических машин связано с относительно простым управлением. Скорость вращения напрямую зависит от величины напряжения, подаваемого на якорь, жесткость механических характеристик сохраняется во всем диапазоне угловой частоты ротора.
К недостаткам сервоприводов относятся: необходимость установки выпрямителя с преобразователем напряжения, высокая цена двигателей, наличие коллекторного узла, снижающего надежность схемы.
С появлением преобразователей частоты стало возможным применение в сервоприводах асинхронных двигателей. ПЧ с микроконтроллером позволяет реализовать практически любые законы регулирования с обратной связью по относительному и абсолютному положению ротора, моменту и скорости вращения.
Главное преимущество сервоприводов с асинхронными двигателями – относительно низкая цена. При значительных мощностях такие устройства намного дешевле сервоприводов с электродвигателями постоянного тока.
Следующий тип силовых агрегатов – синхронные двигатели. С появлением современных материалов для постоянных магнитов, которые не теряют свойств при нагреве и ударах, наибольшее распространение для сервоприводов получили синхронные электродвигатели на постоянных магнитах или СДПМ.
Главное достоинство таких электрических машин – маленькие размеры. Так, двигатель той же мощности синхронного типа с роторными обмотками имеет габариты в 2 раза превышающие размеры СДПМ.
В СДМП отсутствуют потери на возбуждение. Сфера применения электрических машин – сервоприводы малой и средней мощности, в том числе с очень высокими требованиями к стабильности скорости вращения.
Сфера применения сервоприводов
Оборудование применяется в различных автоматических устройствах и установках. Сервоприводы устанавливают:
Сервоприводы позволяют повысить точность и производительность промышленного оборудования, автоматизировать производственные процессы, исключить влияние человеческого фактора.
Функции современных сервоприводов
Большинство сервоприводов поставляют в виде готовых систем сервоусилитель-датчик- двигатель. Крупные производители, например Mitsubishi Electric, Schneider Electric предлагают сервисы выбора совместимых элементов.
Современные сервоприводы обеспечивают не только точное полеориентированное управление. Устройства:
Современные сервосистемы отличаются разнообразием. Выпускают устройства для несложного оборудования с алгоритмом управления по 1оси, до сложных роботов с многоосевым управлением.
Как выбрать сервопривод
Сервоприводы выбирают по техническим характеристикам, экономического и технического эффекта. Выбор делают после тщательного анализа технологических требований, расчетов эффективности и надежности.
Один из главных параметров устройств – точность позиционирования. Она не должна превышать предельную погрешность положения исполнительных механизмов или перемещения рабочего инструмента. Точность определяется количеством импульсов с датчиков на 1 оборот вала. Чем их больше, тем точнее обеспечивается положение вала.
При выборе необходимо обратить внимание на диапазон регулирования скорости и момента на валу. Параметры подбирают по требованиям оборудования. Например, сервопривод автоматизированных станков должен обеспечивать требуемую скорость обработки для того или иного материала. Момент вала на валу выбирают по характеру и величине нагрузки. Для исключения перегрузок лучше прибрести сервопривод привод с небольшим запасом мощности двигателя.
Кроме точности позиционирования, диапазона изменения момента и скорости, также учитывают:
От привода зависит работоспособность технологических установок, оборудования, станков. Производители промышленной приводной техники оказывают услуги выбора сервоприводов с учетом всех требований. Рекомендуется воспользоваться этим предложением.
Современные сервоприводы обеспечивают управление по законам любой сложности с точностью перемещения до сотых долей микрон. Оснащение устройствами промышленного оборудования дает очень весомый экономический эффект. Сервоприводы также позволяют существенно расширить возможности и увеличить точность станков, дозаторов, манипуляторов, а также автоматизировать работу устройств.
Поддержание положения в сервоприводе: подчинённое регулирование vs шаговый режим
Трехконтурная структура управления
Система управления стремится поддерживать заданное положение вала ротора. Я вношу возмущающее воздействие, отвожу ротор от заданного положения, но после отпускания вала он снова вмиг возвращается к заданию. Даже если его «закрутить» на несколько оборотов, система управления открутит эти несколько оборотов назад, причем с очень хорошей динамикой — такой, что движение даже не успевает попасть в кадры видео. На заднем фоне виден график работы привода: красным показан ток двигателя (пропорционален моменту), зеленым отображается текущее положение вала ротора, а желтым – задание положения. Максимальный разрешенный момент (ток) у двигателя в этом эксперименте был ограничен в три раза от максимального, на полном я бы не смог его так легко удерживать.
Как работает такая система управления? Это классическая трехконтурная система подчиненного регулирования с последовательной коррекцией, показанная на рис.1.
Рисунок 1. Трехконтурная система подчиненного регулирования
Почему подчиненного? Потому что каждый вложенный контур «подчиняется» заданию вышестоящего. В системе три контура, перечисляю начиная с внутреннего: конур тока (момента), контур скорости (частоты вращения), контур положения. Соответственно, каждый контур с помощью своего регулятора поддерживает на заданном уровне свою величину. В данном случае использовался ПИ-регулятор для токов, П-регулятор для скорости и ПИД-регулятор для положения. Никакой магии типа фаззи-логики, линейно-квадратичных регуляторов и прочего.
Почему именно три контура и именно таких? Попробую объяснить, как обычно, «на пальцах». Если мы хотим регулировать положение, то лучшее, чем мы можем для этого управлять – это скорость (частота вращения), потому что именно скорость напрямую влияет на изменение положения (скорость – это производная от положения), а все остальные величины (ток, напряжение и прочее) влияют на положение более сложным образом, более трудным для регулирования. Далее, если мы теперь хотим регулировать скорость, то лучшее, чем можем управлять – это момент двигателя, так как момент определяет ускорение привода, и оно также самым простым математическим законом связано со скоростью. Так как для двигателя момент — это ток (для двигателя постоянного тока это справедливо в явном виде, а для двигателей переменного тока справедливо для моментообразующего тока в векторном управлении), то для регулирования момента нужно управлять напряжением на инверторе преобразователя, потому что ток и напряжение тоже связаны в первом приближении через простое дифференциальное уравление.
Если какой-либо внутренний контур опустить, то… положение регулироваться будет, но будет регулироваться плохо, не с таким быстродействием, как в трехконтурной системе. Если выкинуть, например, контур тока, заставив регулятор скорости воздействовать напрямую на напряжение инвертора, то останется бесконтрольным момент привода (ток) – он будет меняться как хочет, переходные процессы будут пущены на самотёк. К сожалению, некоторые ардуиноводы делают структуру, показанную на рис.2.
Рис.2. То, как не нужно регулировать положение привода.
Такая структура работает отвратительно (медленно и качается), хотя как-то работает – ПИ-регулятор всё вытянет.
Постоянный и переменный ток: в чем разница для контура положения?
В чем разница в регулировании положения для двигателей постоянного тока и для двигателей переменного тока? В способе поддержания момента. В двигателе постоянного тока достаточно поставить один регулятор тока, который воздействует на напряжение якорной обмотки – получится регулирование момента. В двигателях переменного тока (например, синхронной машине с постоянными магнитами и асинхронном двигателе) придется применять векторное управление. Что это такое и как работает уже было подробно рассмотрено в статьях Векторное управление электродвигателем «на пальцах» и Векторное управление для асинхронного электродвигателя «на пальцах». Также, как и для двигателя постоянного тока, векторное управление позволяет регулировать момент на двигателе. Далее сверху «навешиваются» такие же регуляторы скорости и положения. Итоговая работоспособность контура положения не зависит от типа двигателя (меняются лишь незначительные нюансы).
Шаговый режим работы
Для синхронных машин с постоянными магнитами существует еще один вариант отработки положения – так называемый «шаговый» режим работы. Двигатели, для него оптимизированные, соответственно, называются шаговыми. Не все шаговые двигатели – синхронные машины с магнитами, но большая их часть именно такая (бывают еще шаговики индукторного типа). Как это работает? В двигатель просто подается постоянный ток в нужные фазы. И всё. Ротор под действием «магнитной пружины» сам встаёт в соответствующее току положение. Если нужно поменять положение вала, то вектор тока нужно поворачивать — плавно или дискретно зависит уже от «драйвера» шагового двигателя (с микрошагом или без). Про то, как работает синхронный двигатель, и где там в нем магнитная пружина уже было рассказано в статье.
Шаговый режим хорош тем, что кроме контура тока ему ничего не нужно – ни датчик положения, ни даже микроконтроллер. Система управления для такого режима собирается из трех с половиной микросхем и применяется во всех ЧПУ станках любительского (и не очень) уровня. В чем минусы? Положение поддерживается тоже отвратительно. Поддержанием положения в таком режиме занимается сам двигатель – в статор подается постоянный ток, а ротор стремится встать в соответствующее положение. Можно представить два прямоугольных магнита на одной оси, проходящей через их середину (рис 3). Одним магнитом мы управляем (статорный ток), а второй – ротор, болтается сам по себе и стремится повернуться согласно первому, параллельно ему.
Рис. 3. Шаговый режим работы синхронной машины
Момент на роторе в таком режиме изменяется по закону синуса от угла рассогласования между этими двумя магнитами. В согласованном положении момент равен нулю (на ротор не действует нагрузка), на 90 градусах (магниты перпендикулярны) момент двигателя максимален и стремится повернуть ротор в согласованное положение. А амплитуда этого синуса изменения момента зависит от величины поданного тока.
Число пар полюсов
Рис.4. Одна пара полюсов vs две пары полюсов.
Если пытаться провернуть такой двигатель с двумя парами полюсов с поданным постоянным током в фазы, то момент на роторе вырастет до максимального не за четверть оборота (90 градусов, как в одной паре полюсов), а за восьмую часть оборота (45 механических градусов). У двигателя будет два устойчивых положения ротора на механическом обороте. Для удобства описания процессов в двигателе вводят понятие «электрического оборота» – то, насколько надо провернуть ротор, чтобы магниты ротора одного полюса встали на место таких же от другого полюса, т.е. чтобы сделать один «шаг». Тогда говорят, что ротор провернулся на 360 электрических градусов, а чтобы перевести это в механические, надо поделить на число пар полюсов. На электрическом обороте поведение всех двигателей в плане управления одинаково, независимо от числа пар полюсов. Увеличение числа пар полюсов создает лишь эдакий «электрический редуктор» – можно взять машину с одной парой полюсов и поставить дальше четырехкратный понижающий редуктор, а можно взять машину с четырьмя парами полюсов и получить, грубо говоря, то же самое.
Шаговый режим vs подчиненное регулирование: теория
Для шаговых двигателей число пар полюсов делают очень большим – 50, 100 и более. В этом случае естественные возможности по поддержанию положения получаются очень хорошими – если гарантировать, что момент нагрузки никогда не превышает максимальный момент двигателя, то положение без всяких датчиков положения будет поддерживаться с точностью (±360/(число_пар_полюсов*4)) механических градусов. Правда, цена за это – сильное ухудшение показателей двигателя в массогабаритном плане и КПД. Если сравнить по мощности шаговый двигатель с сотней пар полюсов и такого же габарита синхронный двигатель с небольшим количеством пар полюсов, то длительно-допустимая мощность у шаговика будет в разы меньше. А еще из-за увеличения числа пар полюсов у шаговиков есть проблема с работой на больших частотах вращения. Частоту тока в них приходится подавать в количество_пар_полюсов раз большую, чем в «обычную» синхронную машину, что даёт частоты тока порядка килогерца и более – там и потери на перемагничивание железа огромные, и не всякая система управления такое может.
Кроме того, шаговики не обеспечивают хорошей динамики разгона и торможения, так как при разгоне двигатель должен перебороть два момента: момент нагрузки, а также динамический момент на разгон маховой массы и рабочего органа. И если сумма всех моментов превысит максимальный момент двигателя, он пропустит шаг, что для ЧПУ недопустимо. Поэтому шаговики разгоняют и тормозят обязательно плавно, с большим запасом между суммарным моментом на валу и максимальным моментом двигателя, чтобы не пропускать шаги.
Стоит также отметить, что в шаговом режиме при приложении к ротору нагрузки он всегда будет поддаваться и отклоняться от заданного положения на некоторый угол, каким бы ни был поданный в двигатель ток. Также при резком пропадании нагрузки возможны колебания – ротор на магнитной пружине будет качаться туда-сюда. Если с нагрузкой не повезет, и она будет импульсная, то она может совпасть внутренней частотой колебаний ротора, раскачать его, после чего ротор выпадет из синхронизма – двигатель «пропустит шаг».
Что же делать, если для решения задачи нужно и хорошо поддерживать положение, и получить динамичный, высокоскоростной привод? Не использовать шаговики! А использовать «обычную» синхронную машину с небольшим числом пар полюсов в качестве серводвигателя, установить датчик положения и построить трехконтурную систему управления. В векторной системе управления никаких «шагов» уже нет – теряться нечему. В шаговом режиме через двигатель всегда требуется пропускать большой ток, а в векторном режиме с трехконтурной структурой управления ток течет только тогда, когда к валу приложена нагрузка. Точность поддержания положения в системе подчиненного регулирования чаще всего определяется точностью датчика положения ротора. Чем точнее датчик, тем качественнее получается работа контура положения. А современные датчики положения бывают очень точны – сотни тысяч меток на один механический оборот. Это на порядки лучше, чем дают шаговые двигатели с самым сильным дроблением шага.
Шаговый режим vs подчиненное регулирование: практика
Рис. 5. Отладочный комплект для управления электродвигателем VectorCARD К1921ВК01Т
Серводвигатель – Leadshine ACM601V36-1000. Трехфазная синхронная машина с постоянными магнитами на 100Вт, 4 пары полюсов, напряжение питания 36В, номинальный ток 4А, пиковый 11А. Датчик положения – встроенный инкрементальный энкодер на 1000 периодов квадратурного сигнала (или, что то же самое, 4000 фронтов (меток) по двум каналам A и B суммарно).
Инвертор – шестиключевой инвертор на полевых транзисторах из комплекта DRV8301-HC-EVM Texas Instruments.
Контроллер – отладочная плата VectorCARD К1921ВК01Т на отечественном микроконтроллере К1921ВК01Т ОАО «НИИЭТ» (ARM Cortex-M4F, 100МГц).
Общая структура векторного трехконтурного подчиненного регулирования, создана программно, показана на рис. 6.
Рис. 6. Трехконтурная структура с векторным управлением синхронным двигателем: контура токов (момента), скорости, положения.
Если кому-то эта структура кажется страшной, то всё, что обведено в зеленую рамку было до основания разобрано в статье Векторное управление электродвигателем «на пальцах». По своему принципу структура ничем не отличается от структуры рис. 1.
Частота ШИМ задана равной 20кГц, частота обсчета структуры управления (всех трех контуров) – 10кГц. Датчики тока – шунтового типа, установлены последовательно с нижними ключами инвертора. Ресурсы микроконтроллера по производительности вычислений загружены чуть более, чем на половину.
Шаговый режим vs подчиненное регулирование: сравнение в статическом режиме
Сначала сравним шаговый режим работы и трехконтурную систему подчиненного регулирования с векторным управлением «в статике». Зададим одно и то же положение ротора, а затем будем плавно увеличивать момент нагрузки на валу. В шаговом режиме работы подадим номинальный ток 4А, а в векторном режиме работы поставим токоограничение 4А. Что мы ожидаем увидеть?
В шаговом режиме работы ток будет постоянным как по фазе, так и по амплитуде, а положение ротора должно «прогибаться» на магнитной пружине под нагрузкой. Так как число пар полюсов равно 4, то максимум момента должен достигаться при отклонении 360/4/4 = 22.5 механических градусов от первоначального согласованного положения.
Что будет в трехконтурной системе управления? Регулятор положения в этом опыте – ПИД (пропорционально – интегрально – дифференциальный). Ключевая буква здесь «И» – он имеет интегральную составляющую. Это значит, что до тех пор, пока между заданным положением и текущим есть хоть какое-то рассогласование, интегратор регулятора будет интегрировать и увеличивать свой выход, пока ошибка не придет в ноль. Это значит, что если нагружать вал медленно, так, чтобы интегратор успел наинтегрировать и скомпенсировать ошибку (т.е. в статическом режиме), то вал будет стоять в одном и том же положении «мёртво». Но когда запас по току (моменту) привода будет исчерпан (задание на ток дойдет до ограничения 4А) привод сразу начнет поддаваться и отклоняться от задания (тем не менее, всё время будет тянуть с максимальным моментом по направлению к заданию).
Для отслеживания текущего положения вала ротора удобно наблюдать сигнал ошибки с датчика положения (разница между заданием и текущим положением), а также ток статора. При проведении опыта осциллограмма с этими данными будет видна на заднем фоне. Для наблюдения текущего момента нагрузки в опыте использован высокоточный специализированный динамометр, который я достал из ящика кухонного стола. Вот, собственно, сам опыт (чтобы было что-то видно — полный экран!):
Видео подтверждает сказанное. В векторной трехконтурной системе управления ротор стоял неподвижно, пока я не «выбрал» доступные 4А тока, а потом ротор стал отклоняться. В разомкнутой по положению структуре с постоянным током ротор легко поддался внешнему моменту. Так как число пар полюсов этого двигателя равно 4, то ротор отклонился более, чем на 20 градусов от задания.
Шаговый режим vs подчиненное регулирование: сравнение в динамике
Всё становится интереснее в динамике. Что если приложить импульсную, ударную нагрузку? Здесь получается соревнование двух принципиально разных систем. В векторной системе управления быстродействие зависит напрямую от быстродействия трехконтурной структуры управления. Чем жестче настроены регуляторы, чем быстрее частота обсчета структуры, чем точнее и быстрее датчики, тем лучше получится реакция на возмущение в динамике. В шаговом режиме работы система управления «отдыхает». Она создала вектор тока – это всё, что от неё нужно. Всю реакцию на возмущающее воздействие обеспечивает сам двигатель. Момент на валу при отклонении вала ротора возникает «мгновенно», так как это, по сути, взаимодействие двух магнитов. Но момент увеличивается пропорционально синусу от электрического угла отклонения, а значит, такая система будет иметь определенную жесткость. В общем, это обычная «магнитная пружина». Сравнение в динамике – это очень хороший показательный опыт для трехконтурной системы управления. Если она медленная, то она не сможет показать результат лучше, чем разомкнутая структура. Да, в статике трехконтурная структура может выбрать ошибку по положению в ноль интегральной частью регулятора, но в динамике может и «просесть» сильнее, чем обычный шаговый режим работы. Проверим?
Для проведения этого опыта я воспользовался мерным грузом, который нашел в своем шкафу с инструментами, а также ниткой, привязанной к штанге, которая имеет консольное закрепление на муфте двигателя. Сбрасывая груз вниз с фиксированной высоты, получаем ударную импульсную нагрузку на вал ротора. Можно наблюдать, насколько отклонится вал ротора от задания в момент удара. Вот видео эксперимента:
Вначале включен шаговый режим работы с фиксированным вектором тока. Я показываю, как ротор прогибается под воздействием момента нагрузки, как, пересилив момент нагрузки, можно перескочить в другое фиксированное положение. Затем провожу эксперимент по сбросу груза. Далее то же самое для трехконтурной структуры управления. Заметили ли вы, насколько меньше отклонился вал ротора на видео в трехконтурной системе управления? Или, может быть, больше? Я нет.
Если бы похожее видео снимал канал Дискавери, они обязательно установили бы высокоскоростную камеру для красивых сравнительных кадров. Однако у нас есть инструмент поточнее – датчик положения ротора и микроконтроллер. Нужно просто снять осциллограмму ошибки отработки положения в момент приложения импульсной нагрузки. Как это делается подробно описано в статье Способы отладки ПО микроконтроллеров в электроприводе. Если кратко, то микроконтроллер по определенному событию записывает точки осциллограммы в массив, а затем осциллограмма скачивается на компьютер и отображается. Я в софте контроллера установил триггер захлопывания осциллограммы, когда ошибка по положению больше определенной уставки, вписав для этого пару строк кода на Си. После чего на компьютере я получил вот такую осциллограмму для шагового режима работы с током 5А:
Рис. 7. Осциллограмма реакции на импульсный наброс нагрузки в «шаговом» режиме работы – к двигателю приложен вектор тока фиксированной амплитуды и фазы. Фиолетовым показано отклонение ротора от заданного положения в электрических градусах (для перехода в механические делить на 4), голубым показана амплитуда тока статора, красным – частота вращения вала. В одной клетке по оси времени 21 миллисекунда.
В осциллограф я добавил три переменных системы управления: ошибка по положению, ток статора, частота вращения вала. Из осциллограммы видно, что ток статора оставался постоянным и равным 5А, ударная нагрузка внесла лишь небольшое возмущение в него (за счет ЭДС вращающегося двигателя). А вот положение скакнуло сильно. Максимальное отклонение положения вала от задания составило 36 электрических градусов (или 9 механических). Наблюдается затухающий колебательный режим ротора после удара. Я провел несколько таких опытов, убеждаясь в повторяемости. Все осциллограммы получились схожи – благо, что при наличии нужного инструментария время на проведение опыта и получение осциллограммы (в том виде, как вставлена в статью) составляет секунд 5-10.
Теперь посмотрим, что покажет трехконтурная структура управления (рис. 8). Предварительно я настроил у неё все регуляторы на среднее быстродействие.
Рис. 8. Осциллограмма реакции на импульсный наброс нагрузки с трехконтурной системой подчиненного регулирования. Фиолетовым показано отклонение ротора от заданного положения в электрических градусах (для перехода в механические делить на 4), голубым показан текущий ток статора по оси q (моментообразующий ток), синим – его задание, а красным – текущая частота вращения. В одной клетке по оси времени 21 миллисекунда.
Здесь процесс поинтереснее. Помимо, собственно, положения, я добавил в осциллограф еще всяких величин, по которым видно работу подчиненного регулирования. В начальный момент времени всё равно нулю: ошибка равна нулю, скорость, ток статора и его задание. На ротор не действует сил, он покоится за счет своей силы трения. Но изолента в этот момент уже неумолимо летит вниз, веревочка разматывается… В определенный момент длина нити выбирается, груз ударяет по валу, положение начинает меняться, ошибка (обратная связь регулятора положения) выстреливает вверх, вместе со скоростью вала. В ответ на это трехконтурная система резко наращивает момент на приводе, пытаясь вернуть его в первоначальное положение. Спустя пять миллисекунд после удара момент на двигателе достигает максимально-разрешенного (ток 5А), после чего положение нехотя начинает меняться в обратную сторону, скорость меняет знак. Перелетев нулевую точку и совершив пару колебаний, система приходит к заданию.
Видно, как задание на ток статора (синее) немного опережает текущее значение (голубое), но задержка менее миллисекунды, что говорит о высоком быстродействии контура тока. Однако в задании тока видна некоторая «пушистость» и «иголки», особенно под конец переходного процесса. Что это и откуда? Давайте рассмотрим, что выдает при этом процессе регулятор положения – выход его пропорциональной, интегральной и дифференциальной составляющих. Роняю изоленту еще раз, вот они:
Рис. 9. Осциллограмма реакции на импульсный наброс нагрузки с трехконтурной системой подчиненного регулирования. Фиолетовым показано отклонение ротора от заданного положения в электрических градусах (для перехода в механические делить на 4), голубым – выход пропорциональной части ПИД регулятора положения, красным – интегральной, синим – дифференциальной частей. В одной клетке по оси времени 21 миллисекунда.
Посмотрите, как отрабатывают переходной процесс все три части ПИД регулятора. Осциллограмма – как из учебника, но эта – живая, настоящая и свежая, только из двигателя. Выход пропорциональной части прямо пропорционален ошибке. Интегральная часть – это интеграл от ошибки, смотрите как он наинтегрировал «вниз» от первого большого колебания и потом нехотя приходит к нулю. Дифференциальная часть – это производная от ошибки. Но так как датчик положения инкрементальный и всего лишь на 1000 меток, то изменение каждой метки – событие. Поэтому положение для системы управления меняется дискретно, скачками, а значит и производная от такого изменения будет «игольчатой». Или даже импульсной, прямоугольной, шумной – что мы и видим.
Но постойте… Производная от положения – это же скорость! Пролистайте выше до рис. 8 и сравните тот график скорости с графиком дифференциальной части рис.9. То же самое, но без шума! Потому что скорость вращения модулем обработки инкрементального энкодера определяется более грамотно – аппаратной частью микроконтроллера, засекающего время между метками датчика. Та же самая «производная» от положения, но более правильно измеренная.
Какая же мораль? Не все составляющие регулятора одинаково полезны. То, что делает дифференциальная составляющая регулятора положения, теоретически должно делаться нижестоящим контуром скорости. Раз она мне понадобилась для более качественной настройки, то это означает лишь, что я недонастроил промежуточный контур скорости.
Ах, да. С чего мы там начали? С ошибки по положению. В разомкнутом по положению режиме работы ошибка была 36 электрических градусов (9 механических), а в трехконтурной системе подчиненного регулирования с данной настройкой регуляторов она равна 21 электрический градус (5.2 механических). Лучше, да. А можно еще лучше? Давайте задерем еще коэффициенты регулятора положения. Повышаю всё – Kп, Kи, Kд раза в полтора. Смотрим:
Рис. 10. Осциллограмма реакции на импульсный наброс нагрузки с трехконтурной системой подчиненного регулирования. Коэффициенты регулятора положения повышены в полтора раза.
Ошибка уменьшилась, да… 18 электрических градусов. Но что мы видим? Система управления практически сразу уперлась в токоограничение. Она хотела бы приложить ток больше 5А, но я поставил ограничение 5. Почему? Чтобы по-честному сравнить с разомкнутой системой управления, у которой тоже ток был 5А. Только вот получилось нечестно: векторная система управления создает ток только когда ей это нужно (когда надо реализовать момент), а разомкнутая система «гонит» заданный ток всегда. С точки зрения нагрева и потерь для двигателя гораздо предпочительнее векторая система управления.
Разрешим векторной системе «поддать» току? Хотя бы на короткое время. По паспорту двигатель допускает 11А. Разрешим 7А, чтобы оценить результат.
Рис. 11. Осциллограмма реакции на импульсный наброс нагрузки с трехконтурной системой подчиненного регулирования. Токоограничение поднято с 5А до 7А.
Ошибка всего 15 электрических градусов! Это в 2,5 раза меньше, чем в разомкнутой по положению системе управления. Но смотрите, что это там в конце графика? «Иголки» в задании тока… и они продолжаются и продолжаются, что я слышу акустически – двигатель «звенит». Это называется автоколебаниями – слишком сильно задрал коэффициенты регулятора.
Замкнутые контура и их шумы
В начале видео показан шум от контура тока. Был включен только контур тока с двумя регуляторами токов. В двигателе появился шум, который мой коллега сравнил с шумом от трубы, по которой течет вода. Похоже на «белый» шум. Этот шум рождается из-за шума измерений токов фаз. Регуляторы тока из-за сравнительно большой пропорциональной составляющей (необходима для требуемого быстродействия) ловят все небольшие флуктуации измерения тока и усиливают их, передавая на задание напряжения инвертора. Т.е. изначально ток в двигателе ровный и не шумит, но шумит его измерение, регуляторы тока пытаются его скомпенсировать, «дергают» за напряжение инвертора, тем самым заставляя реальный ток в двигателе на самом деле «шуметь». На осциллограмме это видно вот так:
Рис. 12. Осциллограмма переходного процесса скачка задания (1А) регуляторов тока и их последующий «шум». Показана обратная связь по регуляторам токов (сигнал с АЦП) и выход регуляторов, подающийся на инвертор. В одной клетке по оси времени 4.2мс.
На осциллограмме показан не только шум, но и переходной процесс регуляторов тока при включении. Ток отрабатывается менее чем за 1мс, а переходной процесс близок к настройке на технический оптимум. Шум в измерении тока порядка +-0.02А приводит к изменению выходного напряжения на 20% от текущего, что и слышится как шум. Если в 10 раз замедлить регуляторы, то можно получить такую картину:
Рис. 13. Осциллограмма переходного процесса скачка задания (1А) регуляторов тока с заниженным в 10 раз Кп и Ки по отношению к настройке на технический оптимум. В одной клетке по оси времени 4.2мс.
Регуляторы токов стали мягкие и тихие, как вата, и им абсолютно неинтересно реагировать на какой-то там шум в аналоговом канале – как, впрочем, и на собственное задание…
Далее в видео показаны различные звуки от регулятора положения. Опытов там много, покажу последний случай – автоколебания при чрезмерно завышенном Кп регулятора положения. Так как датчик положения инкрементальный, при большом Кп изменение положения всего на одну метку заставляет «бешеный» регулятор сильно нервничать, подкидывая задание на контур скорости, и, соответственно, на ток. Как-то так:
Рис. 14. Автоколебания контура положения с чрезмерно завышенным Кп. Фиолетовым и красным показан моментообразующий ток статора (задание и фактический), голубым – положение с энкодера в метках (инкрементах), синим – выход регулятора положения (задание на контур скорости).
Видно, как при изменении положения всего на одну метку (один «тик» датчика положения) система управления подкидывает задание тока на 0,3А. Это немалый момент, учитывая номинал двигателя 5А, что приводит к началу движения и, соответственно, колебаниям. На видео видно, как «страшно» звучат автоколебания, хотя положение скачет на одну безобидную метку туда-сюда.
В связи с этим возникает философский вопрос: какие колебания и шумы страшны, а на какие не стоит обращать внимания? Всё зависит от объекта – где применяется сервопривод. Если это трехкоординатный станок с редуктором и люфтами, рука-манипулятор для сварки или быстродействующий сервопривод какого-то рулевого механизма – то там «звон» не так страшен. В таких применениях только именно акустический шум может вызывать недовольство, но на технический процесс едва ли что-то из показанного в видео повлияет. А вот если это прямой привод позиционирования каких-нибудь там подложек на кремниевой фабрике или если это прямой привод микроскопа – вот там шумы не допускаются никакие «от слова совсем». Не то что скрипы контура положения от энкодера, но и даже тот едва слышимый шум от контура тока уже может быть проблемой. Потому что всё это передается на рабочий орган и приведет к нарушению техпроцесса.
Да, нужно сказать, что все те звуки, которые показаны в видео – это не просто звуки. Если схватиться за вал, то все они ощущаются, и очень хорошо. Человеческие пальцы очень чувствительны – гораздо лучше многих датчиков. Даже ощущается тот шум «текущей воды» от регуляторов тока. Точно так же, как от трубы водопровода. Поэтому для задач сервопривода, которые взаимодействуют с человеком, шумы и колебания тоже нежелательны. Представьте себе симулятор самолета с наклоняющейся кабиной, где привода под ней хрустят и стонут.
Как с шумами бороться? Ну, с контуром положения более-менее понятно – нужно ставить более точный датчик. Энкодер из этих опытов на 1000 меток – это датчик «курам на смех» в сфере высокоточного сервопривода. Там если ставят энкодер, то порядка сотни тысяч меток. А чаще ставят аналоговый датчик положения, который выдает синусно/косинусный сигнал. Применяя хорошее АЦП и оверсемплинг (измеряя гораздо чаще, чем это надо, а потом усредняя результат) можно получить еще на порядок большие точности, чем дает энкодер.
Что делать с шумом АЦП в контуре тока? Во-первых, искать источник шума. В данном приводе источник шума был найден – это DC/DC, делающий из входного силового питания приборное 5В и установленный на плате инвертора. Разводка платы не совсем удачная, и DC/DC «фонит» на все рядом проходящие дорожки платы. Сам же АЦП микроконтроллера гораздо менее шумный, чем шум от этого DC/DC. Во-вторых, можно применять тот же оверсемплинг, если производительность АЦП это позволяет. В-третьих, нужно правильно выбирать диапазон измерений. Я работал с двигателем на 5А от преобразователя на 60А. Соответственно, полный диапазон АЦП по измерению тока тоже близок к 60А. Если бы диапазон был 20А, то тот же шум на аналоговый канал после преобразования в амперы оказался бы в три раза меньше.
Но шум от АЦП – это ещё не все. Я не показал в видео один из главных шумов, который не слышно – шум от ШИМ. Частота ШИМ в этих опытах была установлена равной 20кГц – на границе слышимости. Но это не значит, что на вал ротора эти вибрации не передаются. Нужно измерить пульсацию тока в двигателе, вызванную данной частотой ШИМ, пересчитать её в момент, а затем уже можно оценить, «пройдет» она на вал или нет. На рисунке 15 показаны пульсации тока в фазе двигателя, измеренные внешним датчиком и осциллографом.
Рис. 15. Пульсации тока в фазе двигателя при частоте ШИМ 20кГц. Величина пульсаций 0.3А.
Пульсации тока в 0.3А довольно значительны. Вернее, были бы значительны, если бы мы этим приводом собрались позиционировать кремниевые подложки на фабрике Intel. Благо, конкретно таким типам двигателей это не светит и о проблеме можно забыть. Но что делать, если нужно сделать более серьезный привод? Для начала можно увеличить частоту ШИМ. Современные силовые полевые транзисторы могут обеспечить частоту переключений до 500кГц. Однако тут есть… три проблемы.
Первая проблема — с увеличением частоты ШИМ увеличивается влияние так называемого «мёртвого времени» (некоторые называет его бестоковой паузой, но это неправильно – ток там течёт). Это время, когда нижний транзистор инвертора уже выключился, а верхний еще не включился (и наоборот). Это время одно и то же для одного типа транзисторов, и в процентах к периоду ШИМ оно становится всё больше с повышением частоты ШИМ. Мёртвое время искажает выходное напряжение инвертора, добавляя регуляторам тока нелинейности в инверторе.
Вторая проблема – с увеличением частоты ШИМ все сложнее генерировать эту самую ШИМ микроконтроллером. Микроконтроллер делает ШИМ с помощью аппаратного таймера, который «тикает» на единицу с каждым тактом микроконтроллера. Уставкой сравнения с таймером программист выбирает, на какое время открыть ключ. Что выйдет в такой системе с микроконтроллером на 100МГц и частотой ШИМ 500кГц? Делим одно на другое, получаем 200 квантов (дискрет) задания уставки. 200 уставок задания напряжения для ШИМ – это негодно «от слова совсем». Для сервопривода нужно минимум на два порядка больше. Для этого некоторые производители микроконтроллеров встраивают в свои изделия так называемый ШИМ высокого разрешения – позволяют отсчитать время открытия ключа с дискретностью по времени в несколько раз лучше, чем один такт микроконтроллера. В данном микроконтроллере такая возможность есть, однако включить ШИМ высокого разрешения мешает третья проблема.
Третья проблема – датчики токов. В используемом инверторе они шунтового типа и стоят последовательно с нижними ключами инвертора. А это значит, что измерить ток в фазе можно только в тот момент времени, когда открыт нижний ключ. А это значит, что запуск АЦП нужно синхронизировать с работой ШИМ и производить измерение строго в тот момент, когда приоткрывается нижний ключ. Проблема в том, что переходные процессы в аналоговых цепях не успевают закончиться, если частота ШИМ очень высока – ток начинает измеряться с ошибкой. В общем, всё сложно…
Есть принципиально другой путь – некоторые производители сервоприводов вообще отказываются от ШИМ и делают аппаратный контур тока либо на ПЛИС, либо вообще на операционных усилителях, работающих в линейном режиме и рассеивающих на себе всю лишнюю энергию, которую призван экономить ШИМ. Но это уже совсем-совсем другая история.
Выводы
Требования к сервоприводам очень разные – кому-то хватает шагового режима управления для простого медленного ЧПУ станка (цена вопроса драйвер+двигатель пара тысяч рублей), кому-то нужно такое качество поддержания положения, что даже шум контура тока становится проблемой. Данная статья «по верхам» рассказывает о некоторых аспектах работы системы подчиненного регулирования и качества работы контура положения, чтобы познакомить читателя с чем-то, кроме всем известных «шаговиков». Качество работы сервопривода, показанного в данных опытах, на самом деле, очень посредственное, главным образом из-за низкого разрешения датчика положения ротора. При использовании датчика с хорошим разрешением качество регулирования заметно возрастает.
Реклама
Данные опыты были проведены на отладочном комплекте VectorCARD K1921BK01T от ООО «НПФ Вектор», построенного на базе отечественного motorcontrol микроконтроллера K1921BK01T ОАО «НИИЭТ» (ARM Cortex-M4F, 100МГц). В отладочный комплект входит всё оборудование, показанное в видео статьи, включая программное обеспечение микроконтроллера в исходных кодах с этой самой трехконтурной системой подчиненного регулирования, а также ПО для наблюдения осциллограмм любых переменных системы управления.