Наш магазин на eBay Наш магазин на AliExpress Наш канал в telegram

Заметки о трёхфазных BLDC-моторах. Часть 1. Алгоритм блочной коммутации

варианты конструкций BLDC-двигателей

Введение

Скопилось тут у меня достаточно много моторчиков от старых винчестеров. Выкидывать это добро — жалко, поэтому решено было куда-нибудь их приделать. Ну, до «приделать» мы ещё дойдём, а перво-наперво неплохо было бы разобраться как такие моторы вообще работают и как ими управлять. Написано об этом в общем-то довольно много, но я попробую изложить всю эту теорию несколько по-новому, так сказать под другим углом.

Итак, поехали. Аббревиатура BLDC расшифровывается с буржуинского как brushless direct current (motor) — бесщёточный мотор постоянного тока. По своей сути это обычный трёхфазный синхронный электродвигатель с постоянными магнитами, по крайней мере в том, что касается конструкции самого двигателя. Про общие принципы работы синхронных двигателей можно почитать вот тут.

Если вкратце говорить о конструкции, то тут всё просто, — на статоре двигателя располагаются электромагниты, намотанные тремя проводами (три фазы), на роторе закреплены постоянные магниты. Двигатели с ротором, расположенным внутри статора, называются Inrunner («крутилка» внутри), двигатели с ротором, расположенным вокруг статора, называются Outrunner («крутилка» снаружи). Оба варианта показаны на рисунке слева. Обмотки статора соединяются между собой в звезду или в треугольник. Вот и вся конструкция.

Что же в нём всё таки особенного, чем он всё таки отличается от обычного синхронника и как его запитать постоянным током? Для того, чтобы это понять — с обычного синхронника и начнём, постепенно «переделывая» его в bldc-мотор.

Как питается обычный синхронник

управляющие напряжения на обмотках синхронного двигателя

Для начала давайте нарисуем диаграмму подачи напряжений на обмотки обычного синхронного электродвигателя (рисунок справа). Это три синусоиды, которые сдвинуты на 1200 по фазе. Они, как известно, создают вращающееся магнитное поле, с которым сцепляется и синхронно вращается магнитное поле ротора (ну и, соответственно, сам ротор). Вертикальные оси на рисунке (U, V, W) — напряжение на обмотках относительно нулевого провода трёхфазной сети (тот, к которому подключается общая точка при соединении обмоток звездой), горизонтальные оси (t) — оси времени.

Переделываем обычный синхронник на однополярное питание

аппроксимированные прямоугольными импульсами синусоиды

А теперь давайте возьмём и сделаем нашу синусоиду дискретной, ну то есть разделим её на кучу участков, на каждом из которых часть синусоиды заменим на среднее для этого участка напряжение(рисунок слева). Что принципиально поменялось? Да ничего! При достаточно большой степени дискретизации двигатель вообще не заметит никакой разницы.

Это как со звуком. Звук ведь сейчас почти повсеместно цифровой, то есть дискретный, однако мало кто может отличить цифровой звук от аналогового. Ну, разве что какие-то особо изощрённые любители «тёплого лампового звука» (и то, это им только так кажется). Или другая аналогия — если бы у телеги колеса были не идеально круглыми, а многогранными с очень большим количеством маленьких граней. Телега бы всё равно отлично ехала, просто колеса бы вращались не совсем равномерно.

С нашим двиглом будет ровно то же самое. Его вращение будет слегка неравномерным, поскольку слегка неравномерным станет модуль вращающего момента, но в целом двигатель как крутился — так и будет крутиться.

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

схема, позволяющая синтезировать три цифровые синусоиды

Как сделать цифровые синусоиды

Ну вот мы и пришли к тому, что наш обычный синхронный двигатель может работать от постоянного напряжения. Всё, что нам теперь нужно — это каким-то образом извернуться и сделать цифровые синусоиды. Да легко. Берём на каждую фазу по два ключа и шинкуем этими ключами импульсы, скважность которых изменяется по синусоидальному закону (ну то есть применяем ШИМ-модуляцию). Тогда среднее за время импульса напряжение тоже будет изменяться по синусоидальному закону. Схема показана на рисунке справа.

От синусоид к блочной коммутации

синусоида, аппроксимированная на шести интервалах

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

Если проводить аналогию с телегой, то мы, можно сказать, заменили идеально круглое колесо не многоугольником, а конкретно шестиугольником. Поедет наша телега с шестиугольными колёсами? Да она и с квадратными поедет, и с треугольными, весь вопрос в том, насколько лошадь сильная. Ну и, естественно, чем меньше углов — тем сильнее нашу телегу будет трясти. Я, кстати, попозже покажу как сделать так, чтобы телегу с треугольными колёсами трясло поменьше. Но… вернёмся к нашим моторам.

У нас всё аналогично, чем меньшим количеством отрезков мы аппроксимируем синусоиду — тем более неравномерным будет вращение ротора, однако, вращение всё равно будет, никуда не денется.

синусоида, аппроксимированная на шести интервалах

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

А что делать, если у нас нет ШИМа? Как тогда сформировать жёлтые участки? Да никак. Выкинем их и всё. Тут как бы придётся сделать ещё одно допущение. Если вернуться к реальным синусоидам, то в момент пересечения этими синусоидами нуля (имеется ввиду ноль относительно нулевого провода звезды, а не относительно источника постоянного напряжения) потребляемая соответствующими обмотками от источника питания мощность равна нулю (напряжение между двумя концами обмотки — ноль, значит и потребляемая мощность — ноль). То есть источник питания в этот момент как бы можно и отключить, и ничего не изменится.

Теперь вернёмся к нашим «шестиугольным колёсам». Жёлтые участки на нашей последней картинке как раз аппроксимируют те участки реальных синусоид, которые пересекают ноль (относительно нулевого провода). То есть на этих участках средняя потребляемая мощность тоже как бы должна быть равна нулю. И поэтому источник питания тоже как бы можно отключить и всё будет работать, а мы получим классический алгоритм управления обмотками BLDC-моторов. Этот алгоритм называется блочной коммутацией и именно моторы с таким алгоритмом управления называются BLDC.

алгоритм блочной коммутации

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

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

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

как сделать треугольные колёса для телеги

P.S. Да, чуть не забыл, — я же обещал рассказать как уменьшить тряску для телеги с треугольными колёсами. Так вот, это очень просто. Нужно взять несколько треугольных колёс и составить из них одно колесо, но таким образом, чтобы оси всех треугольных колёс были сдвинуты относительно друг друга на некоторый угол, таким образом, как это показано на рисунке слева. Этот простой фокус работает и с двигателями. Именно такого эффекта добиваются, увеличивая в BLDC-моторе количество полюсов. Тут, правда тоже есть свои минусы и слишком сильно увеличивать
количество полюсов нельзя, но об этом в другой раз 🙂

Вот здесь можно посмотреть схему для управления bldc-моторами (ATtiny2313 + самодельные драйвера)

Комментарии 2

  • Добрый день! А вот, простой вопрос. Зачем нужны парные полумостовые ключи коммутации? Мы же коммутируем 0 и питание, нет переключения направления тока. И нельзя ли обойтись тремя ключами, коммутируя три обмотки по этому-же алгоритму, со сдвигом 120 градусов? Обмотки включить к питанию, ключи в цепи общего провода?

    • 1. У нас одни концы всех обмоток соединены в общую точку, на другие концы мы должны подавать то ноль, то +V. Три конца, два разных напряжения (0, +V). 2*3=6 — нам нужно 6 ключей, по два на обмотку. Всё логично.
      2. Если свободные концы обмоток включить жёстко к питанию, то что будут коммутировать ключи в цепи общего провода? То есть куда они будут этот общий провод коммутировать? Не совсем понял в чём идея. Рисунок есть?
      3. Направление тока в каждой обмотке меняется и зависит от того, какое напряжение на её свободном конце.
      4. По ссылке в конце статьи есть схема подключения трёхфазного мотора. Там видно, как полумост на каждом канале может коммутировать свободный конец обмотки на плюс или на общий провод. Посмотрите.

Добавить комментарий