Бесколлекторный двигатель управление оборотами

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

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

Одна из причин проявления интереса к БД — это возросшая потребность в высокооборотных микродвигателях, обладающих точным позиционированием. Внутренне устройство таких приводов продемонстрировано на рисунке 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. Многофункциональный контроллер управления бесколлекторным двигателем

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

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

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

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

Бесколлекторные двигатели bldc

Бесколлекторные двигатели постоянного тока (BLDC — Brushless DC electric motor) часто используется в мотор-колесе электросамокатов и электровелосипедов. Его первые версии появились в 1960-х годах. Двигатели BLDC намного эффективнее и имеют гораздо больший крутящий момент.

Бесколлекторный двигатель управление оборотами

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

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

Читайте также:  Автогенератор работает как двигатель

Двигатели BLDC считаются двигателями с электронной коммутацией (ECM) в отличие от щеточных двигателей с механической коммутацией.

Бесколлекторный двигатель управление оборотами

Общий принцип управления двигателем BLDC

Для двигателей BLDC требуются современные электронные контроллеры, которые могут определять положение ротора.

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

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

Двигатели BLDC делятся на 1-фазные, 2-фазные и 3-фазные, но принцип работы является общим для всех типов. Вместо механического коммутатора, изменяющего направление магнитного поля катушек ротора, используются транзисторы, которые непрерывно изменяют фазу напряжения подаваемого на катушку статора, что заставляет ротор непрерывно вращаться.

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

Управление однофазными двигателями BLDC

Однофазные двигатели BLDC имеют две параллельные обмотки якоря, управляемые напряжением ШИМ через мост H.

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

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

Бесколлекторный двигатель управление оборотами

Принцип управления однофазным двигателем BLDC

Управление двухфазными двигателями BLDC

Бесколлекторный двигатель управление оборотами

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

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

Управление 3-фазными двигателями BLDC

Трехфазные двигатели BLDC имеют 3 катушки якоря, соответствующие 6 состояниям коммутации. В каждую из катушек обычно помещают датчики Холла, которые реагируют на прохождения над ними постоянных магнитов, которые являются элементами ротора. Принцип использования сигналов от датчиков Холла показан на рисунке.

Бесколлекторный двигатель управление оборотами

Конструкция двигателя BLDC с датчиками Холла

Тут тоже сигналы от датчиков Холла определяют моменты переключения. Эти сигналы через соответствующую систему подключения включают транзисторы, которые напрямую управляют катушками двигателя.

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

Примером трехфазного драйвера двигателя BLDC с датчиками Холла является микросхема LB1976.

Бесколлекторный двигатель управление оборотами

Принцип управления мотором BLDC с использованием датчиков Холла

Двигателями также можно управлять без датчиков Холла, используя сигнал BEMF (Back EMF) от каждой катушки. Этот сигнал получается путем сравнения напряжения, индуцированного в каждой из трех катушек, с центральным напряжением (точка COM). Результат такой связи усиливается и передается в систему определения положения ротора.

Сигналы от трех катушек преобразуются в формы импульсов, сдвинутых друг относительно друга на 120 °.

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

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

Бесколлекторный двигатель управление оборотами

Принцип управления двигателем BLDC с помощью сигнала BEMF

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

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

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

   Форум

   Форум по обсуждению материала Бесколлекторные двигатели bldc

Управление бездатчиковыми бесколлекторными двигателями (Sensorless BLDC)

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

Мы помним, что в каждый момент времени к одной из фаз подключен «+» к другой «-« питания, одна из фаз остается свободной. Вращаясь, двигатель наводит ЭДС в свободной обмотке. По мере вращения напряжение на свободной фазе изменяется.

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

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

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

Схема со средней точкой

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

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

Бесколлекторный двигатель управление оборотами
Рис. 1

Виртуальная средняя точка

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

Бесколлекторный двигатель управление оборотами

Рис. 2

Эта схема очень проста и применяется очень часто, но она имеет свои недостатки. Из за ШИМ напряжение средней точки не постоянно. Оно колеблется в широком диапазоне напряжений.  Для того чтобы микроконтроллер смог измерить напряжение, применяются цепи согласования сигналов — делители напряжения и RC-фильтры для сглаживания колебаний.

Бесколлекторный двигатель управление оборотами

Рис. 3

Если Ваш двигатель питается напряжением 24 вольта, то в средней точке напряжение может находиться в пределах от 0 до 24 Вольт. Микроконтроллеры обычно имеют предел измерения 5 В. Без схем согласования уровней сигналов не обойтись.

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

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

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

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

Бесколлекторный двигатель управление оборотами
Рис. 4

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

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

Алгоритм коммутаций

На свободной фазе нам нужно будет измерять напряжение. Напряжение можно измерять с помощью АЦП и сравнивать со средней точкой. АЦП имеют время преобразования, что вносит погрешность в вычисления. Логичнее использовать компараторы. Нам ведь не обязательно знать значение напряжения.

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

Бесколлекторный двигатель управление оборотами
Рис. 6

На первом этапе P1 на фазу V подается «+», минус — на фазу U.

При этом напряжение на фазе W начинает расти и в середине периода P1 пересекает нулевую точку — половину напряжения между фазами V и U, т.е. половину питающего напряжения.

Как видно из диаграммы, изменение состояния ключей нужно выполнить на половине периода между событием пересечения нулевой точки (ZC). После переключения состояния ключей (этап P2) измерения выполняем на свободной фазе V.

Читайте также:  Двигатель 405 евро 3 работает с перебоями

Обратите внимание на то, что напряжение на свободной фазе может расти или падать. Это придется учитывать при работе компараторов. Таким образом, наш регулятор должен помнить на каком шаге от P1 до P6 находится, и переходить к следующему состоянию, исходя из расчетов времени, вычисленных между событиями ZC.

Ниже приведена таблица соответствия состояния ключей и свободных фаз для каждого из 6 положений ротора:

Этап Питание + Питание — Открытые ключи Измерения на фазе
P1 V U SW1, SW5 W↑
P2 W U SW3, SW5 V↓
P3 W V SW3, SW4 U↑
P4 U V SW2, SW4 W↓
P5 U W SW2, SW6 V↑
P6 V W SW1, SW6 U↓

Итак, нам понадобится подсчитывать время между ZC. И отмерять время от события ZC до переключения ключей. Это время должно учитывать угол опережения фазы.

Выбор частоты ШИМ

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

Предположим ситуацию, когда, частота ШИМ 8 кГц, скважность 100% (полный газ), двигатель вращается со скоростью, при которой частота коммутаций тоже равняется 8 кГц. Т.е.

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

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

На практике, желательно чтобы частота ШИМ в несколько раз превышала частоту коммутаций.

  • Например, имеем регулятор с частотой ШИМ 8 кГц, и двигатель с 14 магнитами.
    Максимальная теоретически возможная частота вращения вала двигателя будет:
  • V=(Q/6/(N/2)*60);
  • Q — частота ШИМ в герцах
    6 — количество коммутаций за один электрический оборот
    N — количество магнитов
    60 — количество секунд в минуте
  • V=((8000/6/(14/2))*60) = 11428 об/мин.
  • Двигатель с 28 магнитами:
    V=((8000/6/(28/2))*60) = 5714 об/мин.

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

Например, чтобы раскрутить двигатель с 24 магнитами до 10000 об/мин понадобится регулятор с частотой ШИМ не ниже 24кГц. Нужно так же помнить, что чем выше частота ШИМ, тем больше переходных процессов происходит на ключах за единицу времени. Это может привести к увеличению потерь и к увеличению тепловыделения на ключах.

Статьи по бесколлекторным моторам:

Бесколлекторные моторы: описание, подключение, схема, характеристики | ВИКИ

Бесколлекторные моторы появились сравнительно недавно и были созданы с целью оптимизации электродвигателей постоянного тока.

  • Обзор
  • Подключение к Arduino
  • Пример использования
  • Часто задаваемые вопросы

Бесколлекторные моторы (рис. 1) появились сравнительно недавно и были созданы с целью оптимизации электродвигателей постоянного тока. Бесколлекторные моторы питаются трехфазным переменным током.

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

Поэтому они практически не изнашиваются.

Рис. 1.

По конструкции бесколлекторные моторы делятся на две группы: inrunner  и outrunner. Двигатели inrunner имеют расположенные по внутренней поверхности корпуса обмотки, и вращающийся внутри магнитный ротор. Двигатели outrunner имеют неподвижные обмотки, внутри двигателя, вокруг которых вращается корпус с помещенными на его внутреннюю стенку постоянными магнитами.

Коммутация в бесколлекторном двигателе (БД) осуществляется и контролируется с помощью электроники.

Рис. 2

Контроллеры бесколлекторных моторов (ESC регуляторы)

Для управления бесколлекторными моторами используют специальные контроллеры — ESC (Electric speed controller — электронный контроллер скорости) регуляторы (рис. 3).

Рис. 3. ESC регуляторы

Задача контроллера состоит в том, что бы передать энергию постоянного тока от аккумулятора к трехфазному бесколлекторному мотору. Для передачи энергии контроллер использует MOSFETы — силовые ключи, которые могут открываться и закрываться за долю секунды.

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

Функциональная схема ESC регулятора показана на рис. 4

Рис. 4. Функциональная схема ESC регулятора

Подключение к плате Arduino

Схема подключения бесколлекторного двигателя с ESC-регулятором к плате Arduino показана на рис.5. Для подключения регулятора к плате Arduino используется 2 провода:

  • черный – «земля;
  • белый – управляющий.
  • Красный провод регулятора является не входом, выходом с напряжением +5В, который можно использовать для питания платы Arduino.
  • Показания потенциометра будем использовать для управления скоростью мотора.

Рис. 5. Подключение бесколлекторного двигателя с ESC-регулятором к плате Arduino

Для управления регулятором будем использовать Arduino-библиотеку Servo. Минимальные и максимальные значения управляющего сигнала 800 мксек и 2300 мксек.

Содержимое скетча представлено в листинге 1.

Листинг 1.

// подключение библиотеки
#include
// создание объекта
Servo motor;
//Пин подключения мотора
int mot_pin = 9;

void setup()
{
// инициализация мотора
motor.attach(mot_pin);
}

void loop()
{
// регулирование потенциометром
int speed=map(analogRead(A0),1023,0,800,2300);
motor.writeMicroseconds(speed);
delay(20);
}

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

Для этого перед подачей питания на регулятор, выставляем потенциометр в максимальное значение. Подаем питание. Слышим «пиканье» двигателя. Переводим потенциометр в минимальное значение, слышим 3 «пика». Регулятор откалиброван.

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

Пример использования

В качестве примера настроим автоматическую калибровку ESC-регулятора при запуске скетча Arduino. Нам потребуются следующие компоненты:

  • Плата Arduino Uno – 1;
  • Плата прототипирования – 1;
  • Мотор бесколлекторный – 1;
  • ESC-регулятор – 1;
  • Потенциометр 10 кОм – 1;
  • Блок питания 12 В – 1;
  • Провода.

Для калибровки в процедуре setup() производим эмуляцию перевода потенциометра м максимальное и минимальное положение. Содержимое скетча показано в листинге 2.

Листинг 2.

// подключение библиотеки
#include
// создание объекта
Servo motor;
//Пин подключения мотора
int mot_pin = 9;
//Максимальное значение ШИМ 2.3 мс
int max_pwm = 2300;
//Минимальное значени ШИМ 0.8 мс
int min_pwm = 800;

void setup()
{
// запуск последовательного порта
Serial.begin(9600);
// инициализация мотора
motor.attach(mot_pin);
// калибровка
delay(1000);
motor.writeMicroseconds(max_pwm);
delay(2000);
motor.writeMicroseconds(min_pwm);
delay(4000);

}

void loop()
{
// регулирование потенциометром
int speed=map(analogRead(A0),1023,0,800,2300);
motor.writeMicroseconds(speed);
delay(20);
}

После запуска Arduino в процедуре setup() происходит калибровка регулятора, и в процедуре loop() мотор крутится со скоростью, соответствующей положению потенциометра.

Часто задаваемые вопросы

1. Не запускаются моторы

  • Проверьте подключение моторов к ESC-регулятору, ESC-регулятора к блоку питания и Arduino.
  • Проведите калибровку ESC-регулятора.

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

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

В двигателе постоянного тока эту задачу выполняет коллектор — диск на роторе с контактными площадками, по которому скользят токопроводящие графитовые щетки и переключают обмотки.

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

 Я начинал изучение схемотехники драйвера бесколлекторного двигателя по апноте Atmel «AVR492: Управление бесколлекторным электродвигателем постоянного тока с помощью AT90PWM3» Она есть на русском языке.

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

Здесь силовой каскад — это 6 транзисторов, схематично показанных ключами CmdSW, полумост — пара транзисторов, соединенных последовательно между «+» и «-» питания, например CmdSW1, CmdSW2. A, B, C — выводы обмоток двигателя, соединение обмоток между собой как у асинхронных двигателей. Эта схема позволяет току протекать между фазами A, B, C в любом направлении. Например если замкнуть ключ CmdSW1 и CmdSW4, то ток потечет от вывода A к выводу B, а если замкнуть CmdSW3 и CmdSW2 — от вывода В к выводу A. А если замкнуть CmdSW1 и CmdSW2 — получится короткое замыкание с выгоранием транзисторов, так что управлять транзисторами нужно осторожно. Кстати для управления коллекторым двигателем с реверсом нужно 2 полумоста, без реверса — 1 транзистор.  Для регулирования силы тока в фазе используют широтно-импульсную модуляцию (ШИМ). Например часть времени открывают ключи CmdSW1, CmdSW4 и ток начинает течь от «A» к «B», затем закрывают CmdSW1 и открывают CmdSW2 и за счет индуктивности обмоток ток продолжить течь по кольцу  A-B-CmdSW4-«земля»-CmdSW2. Кстати в транзисторы встроены диоды, проводящие ток в обратном направлении. Так что если во второй фазе ШИМ разомкнуть все транзисторы, то в обмотке начнет расти напряжение и через эти диоды энергия из обмоток начнет возвращаться в сеть.   Эта схема из 6 транзисторов называется трехфазным инвертором и применяется для преобразования постоянного тока в трехфазный переменный для питания как бесколлекторных, так и асинхронных двигателей. Для бесколлекторных двигателей применяются низковольтные полевые транзисторы (MOSFET), для асинхронных двигателей — высоковольтные биполярные транзисторы с изолированным затвором (IGBT). С помощью этой схемы можно осуществлять и рекуперацию. Её используют все и лучше не сделать.

Читайте также:  Внешняя скоростная характеристика двигателя ваз 1111

  Как инвертор бывает оформлен в зависимости от мощности двигателя:

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

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

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

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

Вот первый пример реализации инвертора — авиамодельный, самый дешевый. Фото с двух сторон.

 На одной стороне видно 6 транзисторов в корпусах SOIC. (3 N-канальных, 3 P-канальных), на другой стороне микроконтроллер ATMEGA8 и линейный стабилизатор для получения 5В питания. Ещё есть электролитический конденсатор и всякая мелочь — резисторы с конденсаторами. И всё. Дешево и сердито. Цена в рознице около 1000р. Микроконтроллер напрямую управляет затворами транзисторов. Греется такой контроллер довольно сильно, но так как он устанавливается на авиамодели, то хорошо обдувается. Разумеется есть более продвинутые модели, это просто пример упрощения и миниатюризации.

  • А вот фотография демо-платы от Atmel
  •  
  • Схема моего драйвера с пояснениями
  • Первая часть — силовая
  •  
  • Следующая часть схемы — питание логических элементов.

Предполагается, что можно купить её и сразу начать программировать контроллер, пытаться крутить двигатель. Я решил не покупать, возможно зря. Во всяком случае к ней неплохо бы продавать сразу запасные транзисторы, я их сжег не один раз. И контроллер пару раз. Собственно 6 транзисторов справа, контроллер слева, драйвера транзисторов на другой стороне. Я решил не делать простейший драйвер с тем, чтобы расширить возможности его применения, при необходимости несложно будет упростить. Схема разбита на 3 части. Она не такая наглядная, как в апноте Atmel, но постараюсь всё пояснить. Силовые транзисторы VT1-VT6 управляются микросхемами-драйверами DA1-DA3. Транзисторы я выбрал IRLR3705 как одни из наиболее мощных в корпусе D-Pak на напряжение 55V с сопротивлением 8мОм. Я рассчитывал на напряжение работы 36В плюс запас. В принципе можно ставить транзисторы на радиаторы и использовать корпуса TO-220, но я решил не усложнять монтаж и паять транзисторы на плату. В таком случае для меньших мощностей можно ставить транзисторы в корпусе soic, а для больших — в D2-Pak.  Драйвера взял самые мощные из полумостовых от фирмы International Rectifier — irf2186s с током управления до 4A. Получился большой запас, но самые простые драйвера ir2101 из апнота атмел (ток 130/270мА) с мощными транзисторами справлялись плохо, разница в нагреве транзисторов была ощутима. Полумостовой драйвер управляет двумя транзисторами — верхним и нижним, для управления верхним транзистором нужно высокое напряжение, которое получается по бустрепной схеме питания с помощью диода и конденсатора (например C6, DD7), эта схема наиболее проста и принцип её можно легко найти в интернете. Можно было взять одну микросхему full-brige для управления сразу шестью транзисторами, но у меня разводка с ней получалась хуже. Между затворами транзисторов и драйверами — резисторы с диодом. Они ограничивают ток затвора, причем ток зарядки почти в 2 раза больше. Тут следующая логика — чем больше ток, тем меньше греются транзисторы при переключении, но растут всплески напряжения. Поэтому номинал резисторов нужно уменьшать до какого-либо разумного предела. Причем транзистор открывается медленнее, чем закрывается, поэтому ток зарядки я сделал больше. Сигнальные выводы драйверов подтянуты к земле на всякий случай, чтоб не сработали когда нет сигналов управления. В целом здесь всё почти так же, как в апноте атмел. Датчики холла также подключил как в апноте, здесь ничего интересного. Питание, силовые Выводы транзисторов и выводы датчиков холла выведены на клеммник X1. Для защиты от короткого замыкания нужно контролировать ток. Для этого служат резисторы R19, R21 суммарным сопротивлением 0,005Ом (в апноте был резистор 0,1Ом), падение напряжение на них усиливается микросхемой LM358 и идет на компаратор и АЦП контроллера. Реализация у меня получилась не очень удачной, но в большинстве случаев защита срабатывает. Неплохо было бы ставить переменный резистор, чтобы пользователь мог задавать порого срабатывания защиты, но это как-нибудь потом ). Также в контроллер заведен сигнал V_IN_MEAS, пропорцональный входному напряжению. Сделано это, чтобы не давать работать драйверу при входном напряжении более 36В, но защиту я пока не включил.   Из входного питания 24..36В нужно получить 12В для питания драйверов транзисторов и 5В для  остальной логики Для получения 12В я использовал линейный стабилизатор MC78M12. Лишнее напряжение он просто рассеивает в виде тепла, но так как драйверы транзисторов поребляют не очень много нагрев приемлемый.Для 5В питания линейный стабилизатор уже применить не получилось, потому что 5В ещё задумывалось использовать для питания внешнего экрана индикации и нагрев оказался слишком большим. Поэтому применил понижающий преобразователь L5973AD. Он не очень дорогой, но в отличии от ещё более дешевых вариантов имеет защиту от короткого замыкания на выходе. Внешняя обвязка для него и разводка дорожек выполнена по соответствующей апноте.

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

Последняя часть схемы — микроконтроллер AT90PWM3B с обвязкой.

  • 6 выводов PSCOUT_XX используются для управления драйверами транзисторов.
  • 3 вывода HALL_X используются для отслеживания датчиков холла двигателя.
  • 3 вывода задействованы на микропереключатель SA1 — он служит для переключения интерфейсов  драйвера (RS485 либо переменный резистор с кнопками), выбора числа пар полюсов подключенного двигателя (2 либо 4) и для проведения калибровки двигателя (определение положения датчиков холла)
  • 3 вывода задействованы для управления микросхемой-драйвером RS485
  • 6 выводов задействованы под вариант традиционного управления драйвером — с кнопками и переменным резистором. 4 кнопки служат для включения/выключения (Enable), реверса(F/R), тормоза(Brake) и выбора режима поддержания скорости(Mode). Еще один вывод Speed(analog) для переменного резистора задания скорости и на последний выход Hall_out подаются импульсы при срабатывании датчиков холла. Эти выводы и выводы интерфейса RS485 выведены на клеммник X3.
  • 2 вывода задействованы для контроля сигнала токового шунта ERROR_ADC. Один для быстрого срабатывания защиты, другой для грубой оценки потребляемого тока.
  • 1 вывод для контроля входного напряжения V_IN_MEAS
  • 1 вывод для светодиода VD5, полезного для индикации различных событий.

Также на схеме есть разъем программирования контроллера X2

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

Ссылка на основную публикацию
Adblock
detector