Маленькие бесколлекторные двигатели. "бесколлекторные двигатели" ликбез и проектирование. Общие сведения, устройство, сфера применения

Опубліковано 19.03.2013

Этой статьёй я начинаю цикл публикаций о бесколлекторных двигателях постоянного тока. Доступным языком опишу общие сведения, устройство, алгоритмы управления бесколлекторным двигателем. Будут рассмотрены разные типы двигателей, приведены примеры подбора параметров регуляторов. Опишу устройство и алгоритм работы регулятора, методику выбора силовых ключей и основных параметров регулятора. Логическим завершением публикаций будет схема регулятора.

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

Однако не стоит считать бесколлекторный двигатель новинкой. Идея бесколлекторного двигателя появилась на заре электричества. Но, в силу неготовности технологий, ждала своего времени до 1962 года, когда появился первый коммерческий бесколлекторный двигатель постоянного тока. Т.е. уже более полувека существуют различные серийные реализации этого типа электропривода!

Немного терминологии

Бесколлекторные двигатели постоянного тока называют так же вентильными, в зарубежной литературе BLDCM (BrushLes Direct Current Motor) или PMSM (Permanent Magnet Synchronous Motor).

Конструктивно бесколлекторный двигатель состоит из ротора с постоянными магнитами и статора с обмотками. Обращаю Ваше внимание на то, что в коллекторном двигателе наоборот, обмотки находятся на роторе. Поэтому, далее в тексте ротор – магниты, статор – обмотки.

Для управления двигателем применяется электронный регулятор. В зарубежной литературе Speed Controller или ESC (Electronic speed control).

Что такое бесколлекторный двигатель?

Обычно люди, сталкиваясь с чем-то новым, ищут аналогии. Иногда приходится слышать фразы “ну это как синхронник”, или еще хуже “он похож на шаговик”. Поскольку большинство бесколлекторных двигателей трехфазные, это еще больше путает, что приводит к неправильному мнению о том, что регулятор “кормит” двигатель переменным 3-x фазным током. Все вышесказанное соответствует действительности только отчасти. Дело в том, что синхронными можно назвать все двигатели кроме асинхронных. Все двигатели постоянного тока являются синхронными с самосинхронизацией, но их принцип действия отличается от синхронных двигателей переменного тока, у которых самосинхронизация отсутствует. Как шаговый бесколлекторный двигатель тоже, наверное, сможет работать. Но тут такое дело: кирпич он тоже может летать… правда, недалеко, ибо для этого не предназначен. В качестве шагового двигателя больше подойдет вентильный реактивный двигатель .

Попробуем разобраться, что собой представляет бесколлекторный двигатель постоянного тока (Brushles Direct Current Motor). В самой этой фразе уже кроется ответ – это двигатель постоянного тока без коллектора. Функции коллектора выполняет электроника.

Преимущества и недостатки

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

Единственным недостатком считают сложный дорогостоящий электронный блок управления (регулятор или ESC). Однако, если вы хотите управлять оборотами двигателя, без электроники никак не обойтись. Если вам не надо управлять оборотами бесколлекторного двигателя, без электронного блока управления все равно не обойтись. Бесколлекторный двигатель без электроники – просто железка. Нет возможности подать на него напряжение и добиться нормального вращения как у других двигателей.

Что происходит в регуляторе бесколлекторного двигателя?

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

То же самое делает и электроника, управляющая бесколлекторным двигателем – в нужные моменты подключает постоянное напряжение на нужные обмотки статора.

Датчики положения, двигатели без датчиков

Из вышесказанного важно уяснить, что подавать напряжение на обмотки двигателя нужно в зависимости от положения ротора. Поэтому электроника должна уметь определять положение ротора двигателя. Для этого применяются датчики положения. Они могут быть различного типа, оптические, магнитные и т.д. В настоящее время очень распространены дискретные датчики на основе эффекта Холла (например SS41). В трехфазном бесколлекторном двигателе используется 3 датчика. Благодаря таким датчикам электронный блок управления всегда знает, в каком положении находится ротор и на какие обмотки подавать напряжение в каждый момент времени. Позже будет рассмотрен алгоритм управления трехфазным бесколлекторным двигателем.

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

В каких случаях применяют бесколлекорные двигатели с датчиками, а в каких – без датчиков? В чем их отличие?

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

В тех случаях, когда конструктивно невозможно разместить датчики в корпусе двигателя, используют двигатели без датчиков. Конструктивно такие двигатели практически не отличаются от двигателей с датчиками. А вот электронный блок должен уметь управлять двигателем без датчиков. При этом блок управления должен соответствовать характеристикам конкретной модели двигателя.

Если двигатель должен стартовать с существенной нагрузкой на валу двигателя (электротранспорт, подъёмные механизмы и т.п.) – применяют двигатели с датчиками.
Если двигатель стартует без нагрузки на валу (вентиляция, воздушный винт, применяется центробежная муфта сцепления и т.п.), можно применять двигатели без датчиков. Запомните: двигатель без датчиков положения должен стартовать без нагрузки на валу. Если это условие не соблюдается, следует использовать двигатель с датчиками. Кроме того, в момент старта двигателя без датчиков возможны вращательные колебания оси двигателя в разные стороны. Если это критично для Вашей системы, применяйте двигатель с датчиками.

Три фазы

Трехфазные бесколлекторные двигатели приобрели наибольшее распространение. Но они могут быть и одно, двух, трех и более фазными. Чем больше фаз, тем более плавное вращение магнитного поля, но и сложнее система управления двигателем. 3-х фазная система наиболее оптимальна по соотношению эффективность/сложность, поэтому и получила столь широкое распространение. Далее будет рассматриваться только трехфазная схема, как наиболее распространенная. Фактически фазы – это обмотки двигателя. Поэтому если сказать “трехобмоточный”, думаю, это тоже будет правильно. Три обмотки соединяются по схеме “звезда” или “треугольник”. Трехфазный бесколлекторный двигатель имеет три провода – выводы обмоток, см. рисунок.

Двигатели с датчиками имеют дополнительных 5 проводов (2-питание датчиков положения, и 3 сигналы от датчиков).

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

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

Общие сведения, устройство, сфера применения

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

Рис. 2. Устройство бесколлекторного двигателя

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

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


Рис. 3. Конструкция с внешним якорем (outrunner)

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


Принцип работы

В отличие от других приводов, например, асинхронной машины переменного тока, для работы БД необходим специальный контроллер, который включает обмотки таким образом, чтобы векторы магнитных полей якоря и статора были ортогональны друг к другу. То есть, по сути, устройство-драйвер регулирует вращающий момент, действующий на якорь БД. Наглядно этот процесс продемонстрирован на рисунке 4.


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

Отличия коллекторного и бесколлекторного двигателя

Привод коллекторного типа отличается от БД как конструктивными особенностями (см. рис 5.), так и принципом работы.


Рис. 5. А – коллекторный двигатель, В – бесколлекторный

Рассмотрим конструктивные отличия. Из рисунка 5 видно, что ротор (1 на рис. 5) двигателя коллекторного типа, в отличие от бесколлекторного, имеет катушки, у которых простая схема намотки, а постоянные магниты (как правило, два) установлены на статоре (2 на рис. 5). Помимо этого на валу установлен коллектор, к которому подключаются щетки, подающие напряжение на обмотки якоря.

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

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

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

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

Как запустить бесколлекторный двигатель?

Чтобы заставить работать приводы данного типа, потребуется специальный контроллер (см. рис. 6). Без него запуск невозможен.


Рис. 6. Контроллеры бесколлекторных двигателей для моделизма

Собирать самому такое устройство нет смысла, дешевле и надежней будет приобрести готовый. Подобрать его можно по следующим характеристикам, свойственным драйверам шим каналов:

  • Максимально допустимая сила тока, эта характеристика приводится для штатного режима работы устройства. Довольно часто производители указывают такой параметр в названии модели (например, Phoenix-18). В некоторых случаях приводится значение для пикового режима, который контролер может поддерживать несколько секунд.
  • Максимальная величина штатного напряжения для продолжительной работы.
  • Сопротивление внутренних цепей контроллера.
  • Допустимое число оборотов, указывается в rpm. Сверх этого значения контроллер не позволит увеличить вращение (ограничение реализовано на программном уровне). Следует обратить внимание, что частота вращения всегда приводится для двухполюсных приводов. Если пар полюсов больше, следует разделить значение на их количество. Например, указано число 60000 rpm, следовательно, для 6-и магнитного двигателя частота вращения составит 60000/3=20000 prm.
  • Частота генерируемых импульсов, у большинства контролеров этот параметр лежит в пределах от 7 до 8 кГц, более дорогие модели позволяют перепрограммировать параметр, увеличив его до 16 или 32 кГц.

Обратим внимание, что первые три характеристики определяют мощность БД.

Управление бесколлекторным двигателем

Как уже указывалось выше, управление коммутацией обмоток привода осуществляется электроникой. Чтобы определить, когда производить переключения, драйвер отслеживает положение якоря при помощи датчиков Холла. Если привод не снабжен такими детекторами, то в расчет берется обратная ЭДС, которая возникает в неподключенных катушках статора. Контроллер, который, по сути, является аппаратно-программным комплексом, отслеживает эти изменения и задает порядок коммутации.

Трёхфазный бесколлекторный электродвигатель постоянного тока

Большинство БД выполняются в трехфазном исполнении. Для управления таким приводом в контролере имеется преобразователь постоянного напряжения в трехфазное импульсное (см. рис.7).


Рисунок 7. Диаграммы напряжений БД

Чтобы объяснить, как работает такой вентильный двигатель, следует вместе с рисунком 7 рассматривать рисунок 4, где поочередно изображены все этапы работы привода. Распишем их:

  1. На катушки «А» подается положительный импульс, в то время как на «В» — отрицательный, в результате якорь сдвинется. Датчиками зафиксируется его движение и подастся сигнал для следующей коммутации.
  2. Катушки «А» отключается, и положительный импульс идет на «С» («В» остается без изменения), далее подается сигнал на следующий набор импульсов.
  3. На «С» — положительный, «А» — отрицательный.
  4. Работает пара «В» и «А», на которые поступают положительный и отрицательный импульсы.
  5. Положительный импульс повторно подается на «В», и отрицательный на «С».
  6. Включаются катушки «А» (подается +) и повторяется отрицательный импульс на «С». Далее цикл повторяется.

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


Рис. 8. Многофункциональный контроллер управления бесколлекторным двигателем

Преимущества и недостатки

Электрический бесколлекторный двигатель имеет много достоинств, а именно:

  • Срок службы значительно дольше, чем у обычных коллекторных аналогов.
  • Высокий КПД.
  • Быстрый набор максимальной скорости вращения.
  • Он более мощный, чем КД.
  • Отсутствие искр при работе позволяет использовать привод в пожароопасных условиях.
  • Не требуется дополнительное охлаждение.
  • Простая эксплуатация.

Теперь рассмотрим минусы. Существенный недостаток, который ограничивает использование БД – их относительно высокая стоимость (с учетом цены драйвера). К числу неудобств следует отнести невозможность использования БД без драйвера, даже для краткосрочного включения, например, чтобы проверить работоспособность. Проблемный ремонт, особенно если требуется перемотка.

Двигатели в мультироторных аппаратах бывают двух типов: коллекторные и бесколлекторные. Их главное отличие в том, что у коллекторного двигателя обмотки находятся на роторе (вращающейся части), а у бесколлекторного — на статоре. Не вдаваясь в подробности скажем, что бесколлекторный двигатель предпочтительнее коллекторного поскольку наиболее удовлетворяет требованиям, ставящимся перед ним. Поэтому в этой статье речь пойдёт именно о таком типе моторов. Подробно о разнице между бесколлекторными и коллекторными двигателями можно прочесть в .

Несмотря на то, что применяться БК-моторы начали сравнительно недавно, сама идея их устройства появилась достаточно давно. Однако появление транзисторных ключей и мощных неодимовых магнитов сделало возможным их коммерческое использование.

Устройство БК — моторов

Конструкция бесколлекторного двигателя состоит из ротора на котором закреплены магниты и статора на котором располагаются обмотки. Как раз по взаиморасположению этих компонентов БК-двигатели делятся на inrunner и outrunner.

В мультироторных системах чаще применяется схема Outrunner, поскольку она позволяет получать наибольший вращательный момент.

Плюсы и минусы БК — двигателей

Плюсы:

  • Упрощённая конструкция мотора за счёт исключения из неё коллектора.
  • Более высокий КПД.
  • Хорошее охлаждение
  • БК-двигатели могут работать в воде! Однако не стоит забывать, что из-за воды на механических частях двигателя может образоваться ржавчина и он сломается через какое-то время. Для избежания подобных ситуаций рекомендуется обрабатывать двигатели при помощи водоотталкивающей смазки.
  • Наименьшие радиопомехи

Минусы:

Из минусов можно отметить только невозможность применения данных двигателей без ESC (регуляторы скорости вращения). Это несколько усложняет конструкцию и делает БК-двигатели дороже коллекторных. Однако если сложность конструкции является приоритетным параметром, то существуют БК-двигатели с встроенными регуляторами скорости.

Как выбрать двигатели для коптера?

При выборе бесколлекторных двигателей в первую очередь следует обратить внимание на следующие характеристики:

  • Максимальный ток — эта характеристика показывает какой максимальный ток может выдержать обмотка двигателя за небольшой промежуток времени. Если превысить это время, то неизбежен выход двигателя из строя. Так же этот параметр влияет на выбор ESC.
  • Максимальное напряжение — так же как и максимальный ток, показывает какое напряжение можно подать на обмотку в течение короткого промежутка времени.
  • KV - количество оборотов двигателя на один вольт. Поскольку этот показатель напрямую зависит от нагрузки на вал мотора, то его указывают для случая, когда нагрузки нет.
  • Сопротивление — от сопротивления зависит КПД двигателя. Поэтому чем сопротивление меньше - тем лучше.

Отличительные особенности:

  • Общие сведения о БКЭПТ
  • Использует контроллер силового каскада
  • Пример программного кода

Введение

В данных рекомендациях по применению описывается, как реализовать устройство управления бесколлекторным электродвигателем постоянного тока (БКЭПТ) с использованием датчиков положения на основе AVR-микроконтроллера AT90PWM3 .

Высокопроизводительное AVR-ядро микроконтроллера, которое содержит контроллер силового каскада, позволяет реализовать устройство управления высокоскоростным бесколлекторным электродвигателем постоянного тока.

В данном документе дается короткое описание принципа действия бесколлекторного электродвигателя постоянного тока, а в деталях рассматривается управление БКЭПТ в сенсорном режиме, а также приводится описание принципиальной схемы опорной разработки ATAVRMC100 , на которой основаны данные рекомендации по применению.

Обсуждается также программная реализация с программно-реализованным контуром управления на основе ПИД-регулятора. Для управления процессом коммутации подразумевается использование только датчиков положения на основе эффекте Холла.

Принцип действия

Области применения БКЭПТ непрерывно увеличиваются, что связано с рядом их преимуществ:

  1. Отсутствие коллекторного узла, что упрощает или даже вообще исключает техническое обслуживание.
  2. Генерация более низкого уровня акустического и электрического шума по сравнению с универсальными коллекторными двигателями постоянного тока.
  3. Возможность работы в опасных средах (с воспламеняемыми продуктами).
  4. Хорошее соотношение массогабаритных характеристик и мощности...

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

При управлении с использованием датчиков БКЭПТ состоит, как правило, из трех основных частей: статор, ротор и датчики Холла.

Статор классического трехфазного БКЭПТ содержит три обмотки. Во многих двигателях обмотки разделяются на несколько секций, что позволяет уменьшить пульсации вращающего момента.

На рисунке 1 показана электрическая схема замещения статора. Он состоит из трех обмоток, каждая из которых содержит три последовательно включенных элемента: индуктивность, сопротивление и обратная э.д.с.

Рисунок 1. Электрическая схема замещения статора (три фазы, три обмотки)

Ротор БКЭПТ состоит из четного числа постоянных магнитов. Количество магнитных полюсов в роторе также оказывает влияние на размер шага вращения и пульсации вращающего момента. Чем большее количество полюсов, тем меньше размер шага вращения и меньше пульсации вращающего момента. Могут использоваться постоянные магниты с 1..5 парами полюсов. В некоторых случаях число пар полюсов увеличивается до 8 (рисунок 2).


Рисунок 2. Статор и ротор трехфазного, трехобмоточного БКЭПТ

Обмотки установлены стационарно, а магнит вращается. Ротор БКЭПТ характеризуется более легким весом относительно ротора обычного универсального двигателя постоянного тока, у которого обмотки расположены на роторе.

Датчик Холла

Для оценки положения ротора в корпус двигателя встраиваются три датчика Холла. Датчики установлены под углом 120° по отношению друг к другу. С помощью данных датчиков возможно выполнить 6 различных переключений.

Коммутация фаз зависит от состояния датчиков Холла.

Подача напряжений питания на обмотки изменяется после изменения состояний выходов датчиков Холла. При правильном выполнении синхронизированной коммутации вращающий момент остается приблизительно постоянным и высоким.


Рисунок 3. Сигналы датчиков Холла в процессе вращения

Коммутация фаз

В целях упрощенного описания работы трехфазного БКЭПТ рассмотрим только его версию с тремя обмотками. Как было показано ранее, коммутация фаз зависит от выходных значений датчиков Холла. При корректной подаче напряжения на обмотки двигателя создается магнитное поле и инициируется вращение. Наиболее распространенным и простым способом управления коммутацией, используемый для управления БКЭПТ, является схема включения-отключения, когда обмотка либо проводит ток, либо нет. В один момент времени могут быть запитаны только две обмотки, а третья остается отключенной. Подключение обмоток к шинам питания вызывает протекание электрического тока. Данный способ называется трапецеидальной коммутацией или блочной коммутацией.

Для управления БКЭПТ используется силовой каскад, состоящих из 3 полумостов. Схема силового каскада показана на рисунке 4.


Рисунок 4. Силовой каскад

По считанным значениям датчиков Холла определяется, какие ключи должны быть замкнутыми.

Таблица 1. Коммутация ключей по часовой стрелке

У двигателей с несколькими полями электрическое вращение не соответствует механическому вращению. Например, у четырехполюсных БКЭПТ четыре цикла электрического вращения соответствуют одному механическому вращению.

От силы магнитного поля зависит мощность и частота вращения двигателя. Регулировать частоту вращения и вращающий момент двигателя можно за счет изменения тока через обмотки. Наиболее распространенный способ управления током через обмотки является управление средним током. Для этого используется широтно-импульсная модуляция (ШИМ), рабочий цикл которой определяет среднее значение напряжения на обмотках, а, следовательно, и среднее значение тока и, как следствие, частоту вращения. Скорость может регулироваться при частотах от 20 до 60 кГц.

Вращающееся поле трехфазного, трехобмоточного БКЭПТ показано на рисунке 5.


Рисунок 5. Ступени коммутации и вращающееся поле

Процесс коммутации создает вращающееся поле. На ступени 1 фаза А подключается к положительной шине питания ключом SW1, фаза В подключается к общему с помощью ключа SW4, а фаза С остается неподключенной. Фазами А и В создаются два вектора магнитного потока (показаны красной и синий стрелками, соответственно), а сумма этих двух векторов дает вектор магнитного потока статора (зеленая стрелка). После этого ротор пытается следовать магнитному потоку. Как только ротор достигает некоторого положения, в котором изменяется состояние датчиков Холла со значения "010" на "011", выполняется соответствующим образом переключение обмоток двигателя: фаза В остается незапитанной, а фаза С подключается к общему. Это приводит к генерации нового вектора магнитного потока статора (ступень 2).

Если следовать схеме коммутации, показанной на рисунке 3 и в таблице 1, то получим шесть различных векторов магнитного потока, соответствующих шести ступеням коммутации. Шесть ступеней соответствуют одному обороту ротора.

Стартовый набор ATAVRMC100

Принципиальная электрическая схема представлена на рисунках 21, 22, 23 и 24 в конце документа.

Программа содержит контур управления скоростью с помощью ПИД-регулятора. Такой регулятор состоит из трех звеньев, каждый из которых характеризуется собственным коэффициентом передачи: Kп, Kи и Kд.

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


Рисунок 6. Структурная схема ПИД-регулятора

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

Описание аппаратной части

Как показано на рисунке 7 микроконтроллер содержит 3 контроллера силового каскада (PSC). Каждый PSC можно рассматривать как широтно-импульсный модулятор (ШИМ) с двумя выходными сигналами. Во избежание возникновения сквозного тока PSC поддерживает возможность управления задержкой неперекрытия силовых ключей (см. документацию на AT90PWM3 для более детального изучения работы PSC, а также рисунок 9).

Аварийный вход (Over_Current, токовая перегрузка) связан с PSCIN. Аварийный вход разрешает микроконтроллеру отключить все выходы PSC.


Рисунок 7. Аппаратная реализация

Для измерения тока можно использовать два дифференциальных канала с программируемым усилительным каскадом (Ку=5, 10, 20 или 40). После выбора коэффициента усиления необходимо подобрать номинал шунтового резистора для наиболее полного охвата диапазона преобразования.

Сигнал Over_Current формируется внешним компаратором. Пороговое напряжение компаратора можно регулироваться с помощью внутреннего ЦАП.

Переключение фаз должно выполняться в соответствии со значением на выходах датчиков Холла. ДХ_A, ДХ_B и ДХ_C подключаются к входам источников внешних прерываний или к трем внутренним компараторам. Компараторы генерируют такой же тип прерываний, что и внешние прерывания. На рисунке 8 показано, как используются порты ввода-вывода в стартовом наборе.


Рисунок 8. Использование портов ввода-вывода микроконтроллера (корпус SO32)

VMOT (Vдв.) и VMOT_Half (1/2 Vдв.) реализованы, но не используются. Они могут использоваться для получения информации о напряжении питания двигателя.

Выходы H_x и L_x используются для управления силовым мостом. Как было сказано выше, они зависят от контроллера силового каскада (PSC), который генерирует ШИМ-сигналы. В таком применении рекомендуется использовать режим с выравниванием по центру (см. рисунок 9), когда регистр OCR0RA используется для синхронизации запуска преобразования АЦП для измерения тока.


Рисунок 9. Осциллограммы сигналов PSCn0 и PSCn1 в режиме с выравниванием по центру

  • Время вкл. 0 = 2 * OCRnSA * 1/Fclkpsc
  • Время вкл. 1 = 2* (OCRnRB - OCRnSB + 1) * 1/Fclkpsc
  • Период PSC = 2 * (OCRnRB + 1) * 1/Fclkpsc

Пауза неперекрытия между PSCn0 и PSCn1:

  • |OCRnSB - OCRnSA| * 1/Fclkpsc

Блок PSC тактируется сигналов CLKPSC.

Для подачи ШИМ-сигналов в силовой каскад может использоваться один из двух способов. Первый заключается в приложении ШИМ-сигналов к верхним и нижним частям силового каскада, а второй - в приложении ШИМ-сигналов только к верхним частям.

Описание программного обеспечения

Atmel разработала библиотеки для управления БКЭПТ. Первый шаг их использования заключается в конфигурации и инициализации микроконтроллера.

Конфигурация и инициализация микроконтроллера

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

Структура программной реализации

После конфигурации и инициализации микроконтроллера может быть выполнен запуск двигателя. Для управления двигателем необходимо только несколько функций. Все функции определены в mc_lib.h:

Void mc_motor_run(void) - Используется для запуска двигателя. Вызывается функция контура стабилизации для установки рабочего цикла ШИМ. После этого выполняется первая фаза коммутации. Bool mc_motor_is_running(void) - Определение состояния двигателя. Если "1", то двигатель работает, если "0", то двигатель остановлен. void mc_motor_stop(void) - Используется для остановки двигателя. void mc_set_motor_speed(U8 speed) - Установка заданной пользователем скорости. U8 mc_get_motor_speed(void) - Возвращает заданную пользователем скорость. void mc_set_motor_direction(U8 direction) - Установка направления вращения "CW" (по часовой стрелке) или "CCW" (против часовой стрелки). U8 mc_get_motor_direction(void) - Возвращает текущее направление вращения двигателя. U8 mc_set_motor_measured_speed(U8 measured_speed) - Сохранение измеренной скорости в переменной measured_speed. U8 mc_get_motor_measured_speed(void) - Возвращает измеренную скорость. void mc_set_Close_Loop(void) void mc_set_Open_Loop(void) - Конфигурация контура стабилизации: замкнутый контур или разомкнутый (см. рисунок 13).


Рисунок 10. Конфигурация AT90PWM3


Рисунок 11. Структура программного обеспечения

На рисунке 11 показаны четыре переменные mc_run_stop (пуск/стоп), mc_direction (направление), mc_cmd_speed (заданная скорость) и mc_measured_speed (измеренная скорость). Они являются основными программными переменными, доступ к которым может выполняться посредством ранее описанных пользовательских функций.

Программную реализацию можно рассматривать как черный ящик с наименованием "Управление двигателем" (рисунок 12) и несколькими входами (mc_run_stop, mc_direction, mc_cmd_speed, mc_measured_speed) и выходами (все сигналы управления силовым мостом).


Рисунок 12. Основные программные переменные

Большинство функций доступны в mc_drv.h. Только некоторые из них зависят от типа двигателя. Функции можно разделить на четыре основных класса:

  • Инициализация аппаратной части
  • void mc_init_HW(void); Инициализация аппаратной части полностью выполнена в этой функции. Здесь выполняется инициализация портов, прерываний, таймеров и контроллера силового каскада.

    Void mc_init_SW(void); Используется для инициализации программного обеспечения. Разрешает все прерывания.

    Void mc_init_port(void); Инициализация порта ввода-вывода путем задания через регистры DDRx, какие выводы функционируют как вход, а какие как выход, а также с указанием, на каких входах необходимо включить подтягивающие резисторы (через регистр PORTx).

    Void mc_init_pwm(void); Данная функция запускает ФАПЧ и устанавливает все регистры PSC в исходное состояние.

    Void mc_init_IT(void); Модифицируйте данную функцию для разрешения или запрета типов прерываний.

    Void PSC0_Init (unsigned int dt0, unsigned int ot0, unsigned int dt1, unsigned int ot1); void PSC1_Init (unsigned int dt0, unsigned int ot0, unsigned int dt1, unsigned int ot1); void PSC2_Init (unsigned int dt0, unsigned int ot0, unsigned int dt1, unsigned int ot1); PSCx_Init позволяет пользователю выбрать конфигурацию контроллера силового каскада (PSC) микроконтроллера.

  • Функции коммутации фаз U8 mc_get_hall(void); Считывание состояния датчиков Холла, соответствующее шести ступеням коммутации (HS_001, HS_010, HS_011, HS_100, HS_101, HS_110).

    Interrupt void mc_hall_a(void); _interrupt void mc_hall_b(void); _interrupt void mc_hall_c(void); Данные функции выполняются, если выявлено внешнее прерывание (изменение выхода датчиков Холла). Они позволяют выполнить коммутацию фаз и вычислить скорость.

    Void mc_duty_cycle(U8 level); Данная функция устанавливает рабочий цикл ШИМ в соответствии с конфигурацией PSC.

    Void mc_switch_commutation(U8 position); Коммутация фаз выполняется в соответствии со значением на выходах датчиков Холла и только в случае, если пользователь запустит двигатель.

  • Конфигурация времени преобразования void mc_config_sampling_period(void); Инициализация таймера 1 для генерации прерывания каждые 250 мкс. _interrupt void launch_sampling_period(void); После активизации 250 мкс-ого прерывания устанавливает флаг. Он может использоваться для управления временем преобразования.
  • Оценка скорости void mc_config_time_estimation_speed(void); Конфигурация таймера 0 для выполнения функции вычисления скорости.

    Void mc_estimation_speed(void); Данная функция вычисляет частоту вращения двигателя на основе принципа измерения периода следования импульсов датчика Холла.

    Interrupt void ovfl_timer(void); При возникновении прерывания выполняется приращение 8-разрядной переменной для реализации 16-разрядного таймера с помощью 8-разрядного таймера.

  • Измерение тока _interrupt void ADC_EOC(void); Функция ADC_EOC выполняется сразу после завершения преобразования усилителя для установки флага, который может использоваться пользователем.

    Void mc_init_current_measure(void); Данная функция инициализирует усилитель 1 для измерения тока.

    U8 mc_get_current(void); Считывание значения тока, если преобразование завершено.

    Bool mc_conversion_is_finished(void); Индицирует завершение преобразования.

    Void mc_ack_EOC(void); Сброс флага завершения преобразования.

  • Детекция токовой перегрузки void mc_set_Over_Current(U8 Level); Устанавливает порог определения токовой перегрузки. В качестве порога выступает выход ЦАП, связанный с внешним компаратором.

Контур стабилизации выбирается с помощью двух функций: разомкнутый (mc_set_Open_Loop()) или замкнутый контур (mc_set_Close_Loop()). На рисунке 13 показан программно-реализованный контур стабилизации.


Рисунок 13. Контур стабилизации

Замкнутый контур представляет собой контур стабилизации скорости на основе ПИД-регулятора.

Как было показано ранее, коэффициент Кп используется для стабилизации времени отклика двигателя. Вначале установите Ки и Кд равными 0. Для получения требуемого времени отклика двигателя необходимо подбирать значение Кп.

  • Если время отклика слишком мало, то увеличьте Кп.
  • Если время отклика быстрое, но не стабильное, то снизьте Кп.


Рисунок 14. Настройка Кп

Параметр Ки используется для подавления статической погрешности. Оставьте коэффициент Кп неизменным и установите параметр Ки.

  • Если погрешность отличается от нуля, то увеличьте Ки.
  • Если подавлению погрешности предшествовал колебательный процесс, то уменьшите Ки.


Рисунок 15. Настройка Ки

На рисунках 14 и 15 показаны примеры выбора правильных параметров регулятора Кп = 1, Ки = 0.5 и Kд = 0.

Настройка параметра Кд:

  • Если быстродействие низкое, то увеличьте Кд.
  • При нестабильности Кд необходимо снижать.

Еще одним существенным параметром является время преобразования. Его необходимо выбирать относительно времени реагирования системы. Время преобразования должно быть, по крайней мере, в два раза меньше времени отклика системы (по правилу Котельникова).

Для конфигурации времени преобразования предусмотрены две функции (обсуждались выше).

Их результат отображается в глобальной переменной g_tick, которая устанавливается каждые 250 мкс. С помощью данной переменной возможно настроить время преобразования.

ЦПУ и использование памяти

Все измерения выполняются при частоте генератора 8МГц. Они также зависят от типа двигателя (количество пар полюсов). При использовании двигателя с 5 парами полюсов частота сигнала на выходе датчика Холла в 5 раз ниже частоты вращения двигателя.

Все результаты, приведенные на рисунке 16, получены при использовании трехфазного БКЭПТ с пятью парами полюсов и максимальной частотой вращения 14000 об/мин.


Рисунок 16. Использование быстродействия микроконтроллера

В худшем случае уровень загрузки микроконтроллера около 18% с временем преобразования 80 мс и частотой вращения 14000 об/мин.

Первую оценку можно выполнить для более быстрого двигателя и с добавлением функции стабилизации тока. Время выполнения функции mc_regulation_loop() находится между 45 и 55мкс (необходимо принять во внимание время преобразования АЦП около 7 мкс). Для оценки был выбран БКЭПТ с временем отклика тока около 2-3 мс, пятью парами полюсов и максимальной частотой вращения около 2-3 мс.

Максимальная частота вращения двигателя равна около 50000 об/мин. Если ротор использует 5 пар полюсов, то результирующая частота на выходе датчиков Холла будет равна (50000 об/мин/60)*5 = 4167 Гц. Функция mc_estimation_speed() запускается при каждом нарастающем фронте датчика Холла А, т.е. каждые 240 мкс при длительности выполнения 31 мкс.

Функция mc_switch_commutation() зависит от работы датчиков Холла. Она выполняется при возникновении фронтов на выходе одного из трех датчиков Холла (нарастающий или падающий фронты), таким образом, за один период импульсов на выходе датчика Холла генерируется шесть прерываний, а результирующая периодичность вызова функции равна 240/6 мкс = 40 мкс.

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

Результаты приведены на рисунке 17.


Рисунок 17. Оценка загрузки микроконтроллера

В таком случае уровень загрузки микроконтроллера около 61%.

Все измерения выполнялись с использованием одного и того же программного обеспечения. Коммуникационные ресурсы не используются (УАПП, LIN...).

При таких условиях используется следующий объем памяти:

  • 3175 байт памяти программ (38,7% от всего объема флэш-памяти).
  • 285 байт памяти данных (55,7% от всего объема статического ОЗУ).

Конфигурация и использование ATAVRMC100

На рисунке 18 представлена полная схема различных режимов работы стартового набора ATAVRMC100.


Рисунок 18. Назначение портов ввода-вывода микроконтроллера и коммуникационные режимы

Режим работы

Поддерживается два различных режима работы. Установите перемычки JP1, JP2 и JP3 в соответствии с рисунком 19 для выбора одного из этих режимов. В данных рекомендациях по применению используется только режим с использованием датчиков. Полное описание аппаратной части приведено в руководстве пользователя к набору ATAVRMC100.


Рисунок 19. Выбор режима управления с использованием датчиков

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

Программа, которая поставляется вместе с платой ATAVRMC100, поддерживает два режима работы:

  • запуск двигателя на максимальной скорости без внешних компонентов.
  • регулировка скорости двигателя с помощью одного внешнего потенциометра.


Рисунок 20. Подключение потенциометра

Заключение

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

В состав программной библиотеки входит функции запуска и управления скоростью любого БКЭПТ со встроенными датчиками.

Принципиальная схема содержит минимум внешних компонентов, необходимых для управления БКЭПТ со встроенными датчиками.

Возможности ЦПУ и памяти микроконтроллера AT90PWM3 позволят разработчику расширить функциональные данного решения.


Рисунок 21. Принципиальная электрическая схема (часть 1)


Рисунок 22. Принципиальная электрическая схема (часть 2)


Рисунок 23. Принципиальная электрическая схема (часть 3)


Рисунок 24. Принципиальная электрическая схема (часть 4)

Документация:

Фантастический евроремонт квартир и ремонт коттеджей за большие деньги.

Бесколлекторный двигатель постоянного тока имеет на статоре трёхфазную обмотку, и постоянный магнит на роторе. Вращающееся магнитное поле создаётся обмоткой статора, при взаимодействии с которым магнитный ротор приходит в движение. Для создания вращающегося магнитного поля на обмотку статора подаётся система трёхфазных напряжений, которая может иметь различную форму и формируется различными способами. Формирование питающих напряжений (коммутация обмоток) для бесколлекторного двигателя постоянного тока производиться специализированными блоками электроники – контроллером двигателя.

Заказать бесколлекторный двигатель в нашем каталоге

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

Возможные варианты и специальные случаи

Выпускаемые сейчас бесколлекторные двигатели могут иметь самую разную конструкцию.

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



Ещё одно отличие, по которому разделяются различные модели двигателей – это взаимное расположение ротора и статора – существуют двигатели с внутренним ротором и двигатели с внешним ротором. Двигатели с внутренним ротором, как правило, имеют более высокие скорости и меньший момент инерции ротора, чем модели с внешним ротором. Благодаря этому двигатели с внутренним ротором имеют более высокую динамику. Двигатели с внешним ротором часто имеют несколько больший номинальный момент при том же наружном диаметре двигателя.

Отличия от других типов двигателей

Отличия от коллекторных ДПТ. Размещение обмотки на роторе позволило отказаться от щёток и коллектора и избавиться тем самым от подвижного электрического контакта, который значительно снижает надёжность ДПТ с постоянными магнитами. По этой же причине скорость у бесколлекторных двигателей, как правило, значительно выше, чем у ДПТ с постоянными магнитами. С одной стороны это позволяет увеличить удельную мощность бесколлекторного двигателя, с другой стороны не для всех применений такая высокая скорость является действительно необходимой

Отличия от синхронных двигателей с постоянными магнитами. Синхронные двигатели с постоянными магнитами на роторе очень похожи на бесколлекторные ДПТ по конструкции, однако есть и ряд различий. Во-первых термин синхронный двигатель объединяет в себе много различных видов двигателей, часть из которых предназначены для непосредственной работы от стандартной сети переменного тока, другая часть (например синхронные серводвигатели) может работать только от преобразователей частоты (контроллеров двигателей). Бесколлекторные двигатели, хотя и имеют на статоре трёхфазную обмотку, не допускают непосредственную работу от сетевого напряжения, и обязательно требуют наличия соответствующего контроллера. Кроме того синхронные двигатели предполагают питание напряжением синусоидальной формы в то время как бесколлекторные двигатели допускают питание переменным напряжением ступенчатой формы (блочная коммутация) и даже предполагают его использование в номинальных режимах работы.

Когда нужен бесколлекторный двигатель?

Ответ на этот вопрос достаточно прост – в тех случаях, когда он имеет преимущество перед остальными типами двигателей. Так, например, практически невозможно обойтись без бесколлекторного двигателя в применениях, где требуются большие скорости вращения: свыше 10000 об/мин. Оправдано применение бесколлекторных двигателей также и в тех случаях, когда требуется высокий срок службы двигателя. В тех случаях, когда требуется применять сборку из двигателя с редуктором, однозначно оправдано применение низкоскоростных бесколлекторных двигателей (с большим числом полюсов). Высокоскоростные бесколлекторные двигатели в этом случае будут иметь скорость выше, чем предельно допустимая скорость редуктора, и по этой причине не будет возможности использовать их мощность полностью. Для применений, где требуется максимально простое управление двигателем (без использования контроллера двигателя) естественным выбором будет коллекторный ДПТ.

С другой стороны, в условиях повышенной температуры или повышенной радиации проявляется слабое место бесколлекторных двигателей – датчики Холла. Стандартные модели датчиков Холла имеют ограниченную стойкость к радиации и диапазон рабочих температур. Если в подобном применении всё же имеется необходимость использовать бесколлекторный двигатель, то неизбежными становятся заказные исполнения с заменой датчиков Холла на более стойкие к указанным факторам, что увеличивает цену двигателя и сроки поставки.