Бесколлекторный двигатель (BLDC): устройство и управление
Бесколлекторный двигатель не работает без контроллера: обмотки переключает электроника по положению ротора. Разбираем по документам Microchip, как устроен трёхфазный BLDC, в каком порядке включать ключи моста по сигналам датчиков Холла, как обойтись без датчиков по противо-ЭДС и что учесть при питании от литиевых аккумуляторов.
Обновлено Редакция GAW
Содержание
Бесколлекторный двигатель постоянного тока (BLDC, brushless DC) — синхронный двигатель с постоянными магнитами на роторе и обмотками на статоре. Щёток и коллектора нет, поэтому обмотки переключает контроллер: по сигналам датчиков положения или по противо-ЭДС он подаёт ток в нужные обмотки так, чтобы поле статора всё время тянуло ротор вперёд. Поле статора и ротора вращаются с одной частотой — проскальзывания, как у асинхронного двигателя, нет (AN885).
Коротко
- Три фазы — чаще всего три обмотки звездой; на каждом шаге одна подключена к плюсу, другая к минусу, третья свободна.
- Шесть шагов — коммутация каждые 60 электрических градусов, электрический цикл повторяется столько раз за оборот, сколько у ротора пар полюсов.
- Датчики Холла — обычно три, питание 4–24 В, ток 5–15 мА, выход с открытым коллектором (AN885).
- Без датчиков — по переходу противо-ЭДС свободной фазы через ноль; работает только выше некоторой минимальной скорости.
- ШИМ — не меньше чем в 10 раз выше наибольшей частоты двигателя (AN885; под частотой двигателя мы понимаем электрическую); скорость пропорциональна среднему напряжению.
- Пусковой ток — ограничен лишь сопротивлением обмоток; контроллер ограничивает его ШИМ (AN857).
Устройство
Статор — пакет стальных пластин с обмотками в пазах. Трёхфазные двигатели самые распространённые; обмотки обычно соединены звездой. По форме противо-ЭДС AN885 различает трапецеидальные и синусоидальные двигатели: у вторых момент ровнее, но обмотки сложнее и меди уходит больше. По напряжению: двигатели на 48 В и ниже стоят в автомобилях, роботах и малых манипуляторах, на 100 В и выше — в бытовой технике и промышленности.
Ротор — постоянные магниты, от двух до восьми пар полюсов. Ферритовые магниты дешевле, редкоземельные (NdFeB, SmCo) дают больший поток в том же объёме и больший момент при том же размере двигателя.
Датчики Холла чаще всего стоят на статоре со стороны, противоположной валу. Когда мимо датчика проходит северный или южный полюс, он выдаёт единицу или ноль; по сочетанию трёх сигналов контроллер знает, какие обмотки включать. Датчики сдвинуты на 60° или на 120° — от этого зависят коды, и последовательность коммутации задаёт производитель двигателя. Как работает сам датчик — в статье о датчиках Холла и в словаре: эффект Холла.
Шестиступенчатая коммутация
Момент наибольший, когда поля статора и ротора расположены под 90° друг к другу, и падает, когда они сходятся. Поэтому поле статора нужно сдвигать вслед за ротором: каждые 60 электрических градусов один из датчиков меняет состояние, и контроллер переключает ключи. Шесть шагов составляют электрический цикл — отсюда шестиступенчатая (six-step, трапецеидальная) коммутация.
| Шаг | Холл A B C | Открыты | Фаза A | Фаза B | Фаза C |
|---|---|---|---|---|---|
| 1 | 0 0 1 | Q1, Q4 | DC+ | — | DC− |
| 2 | 0 0 0 | Q1, Q2 | DC+ | DC− | — |
| 3 | 1 0 0 | Q5, Q2 | — | DC− | DC+ |
| 4 | 1 1 0 | Q5, Q0 | DC− | — | DC+ |
| 5 | 1 1 1 | Q3, Q0 | DC− | DC+ | — |
| 6 | 0 1 1 | Q3, Q4 | — | DC+ | DC− |
Для обратного направления AN885 даёт таблицу 4, а AN857 строит её проще: меняет местами верхние и нижние ключи в таблице прямого хода. У датчиков со сдвигом 120° коды другие — например, 101, 001, 011, 010, 110, 100 из рис. 2 AN857. В тексте AN857 говорит о сдвиге «на 60 электрических градусов» — видимо, имея в виду шаг между переключениями, — но сам набор кодов без 000 и 111 соответствует расстановке через 120° (наше толкование). В этом наборе не встречаются коды 000 и 111, а у датчиков через 60° по таблице 3 не встречаются 010 и 101. Появление «невозможного» кода означает обрыв провода датчика или помеху — контроллеру лучше закрыть все ключи.
Электрические и механические градусы. Один электрический цикл совпадает с полным оборотом только у ротора с одной парой полюсов. Число электрических циклов за оборот равно числу пар полюсов (AN885): у ротора с четырьмя парами за оборот проходит 4 цикла и 24 коммутации.
Контроллер: трёхфазный мост
Силовая часть — три полумоста, по одному на фазу. Каждый полумост подключает свой вывод двигателя к плюсу, к минусу или оставляет его свободным. В схеме AN885 ключи — MOSFET, IGBT или биполярные транзисторы в зависимости от напряжения и тока. Затвору N-канального ключа верхнего плеча нужно напряжение выше шины питания, поэтому для него ставят драйвер верхнего и нижнего ключа, например IR2110.
Скорость регулируют ШИМ: если просто включать ключи по таблице, двигатель разгонится до номинальной скорости при напряжении шины, равном номинальному. Чтобы снизить скорость, ключи открывают импульсами с частотой намного выше частоты коммутации — AN885 советует не меньше чем в 10 раз выше наибольшей частоты двигателя, а пример AN857 работает на 10 кГц. Простой вариант из AN885: верхний ключ шага открыт весь шаг, а нижний модулируется ШИМ. Тот же приём позволяет питать двигатель от шины с напряжением выше номинального, ограничив коэффициент заполнения.
Сквозной ток. Верхний и нижний ключ одной фазы нельзя открывать одновременно. В шестиступенчатой коммутации между ними всегда есть шаг, когда фаза свободна, поэтому специальной паузы (мёртвого времени) сама таблица не требует (AN857). Но если ШИМ подаётся на ключи одного полумоста поочерёдно, пауза обязательна. AN857 также ставит подтягивающие резисторы на входы драйверов, чтобы после сброса микроконтроллера, пока его выводы — входы, все ключи были закрыты. Подробнее о мостах и драйверах — в статье о драйверах H-моста.
Пусковой ток. Неподвижный двигатель не вырабатывает противо-ЭДС, и ток ограничивают только малые сопротивление и индуктивность обмоток. AN857 предупреждает о двух последствиях пуска без ограничения: избыточный момент (срыв зубьев шестерён, проскальзывание муфт) и избыточный ток (пробой ключей). Поэтому разгон начинают с малого коэффициента заполнения или с ограничением тока. Это тот же ток останова, что и у коллекторного двигателя.
Код: таблица коммутации
Контроллер читает три датчика как трёхбитный код и берёт из таблицы, какие ключи открыть. Набросок для датчиков через 60° по таблице 3 AN885:
#include <stdint.h>
// Board-specific, implemented elsewhere.
void bridge_all_off(void); // all six switches off
void bridge_apply(uint8_t drive); // switch on the Qn set in the drive word
// Drive word bits: bit n set = switch Qn on (AN885, figure 9).
// Q1/Q0 drive phase A high/low, Q3/Q2 phase B, Q5/Q4 phase C.
// Index: Hall code (A << 2) | (B << 1) | C, clockwise rotation (AN885, table 3).
static const uint8_t cw_drive[8] = {
[0x1] = (1u << 1) | (1u << 4), // step 1: A to DC+, C to DC-
[0x0] = (1u << 1) | (1u << 2), // step 2: A to DC+, B to DC-
[0x4] = (1u << 5) | (1u << 2), // step 3: C to DC+, B to DC-
[0x6] = (1u << 5) | (1u << 0), // step 4: C to DC+, A to DC-
[0x7] = (1u << 3) | (1u << 0), // step 5: B to DC+, A to DC-
[0x3] = (1u << 3) | (1u << 4), // step 6: B to DC+, C to DC-
// 0x2 and 0x5 never occur with sensors 60 degrees apart: left 0 = all off
};
// Called on every Hall edge (pin-change interrupt or timer capture).
void on_hall_edge(uint8_t hall_code)
{
uint8_t drive = cw_drive[hall_code & 0x7];
if (drive == 0) {
bridge_all_off(); // broken sensor wire or noise: stop driving
return;
}
// High switch on for the whole step, low switch modulated by PWM (AN885).
bridge_apply(drive);
}
Функции bridge_all_off() и bridge_apply() зависят от микроконтроллера: у таймеров для управления двигателями (например, TIM1 у STM32) есть комплементарные выходы с паузой и аварийный вход, которые сами закрывают ключи по сигналу защиты.
Датчики Холла: подключение и скорость
По AN885 датчикам нужно питание от 4 до 24 В и ток 5–15 мА, а выход у них обычно с открытым коллектором — на стороне контроллера нужны подтягивающие резисторы. Точные значения берут из документации на двигатель. Подтяжку удобно делать к питанию микроконтроллера: выход с открытым коллектором только замыкает линию на землю, и уровень единицы задаёт резистор.
Те же датчики дают и скорость: таймер измеряет время между переходами. Каждый переход — это 60 электрических градусов, так что при интервале t и p парах полюсов
Пример (наш расчёт): при p = 4 и интервале 1 мс скорость 60/(6 · 4 · 0,001) = 2500 об/мин. Для точного позиционирования этого мало — AN885 предлагает оптический энкодер с сотнями и тысячами импульсов на оборот.
Бездатчиковое управление по противо-ЭДС
Вращающийся ротор наводит в каждой обмотке противо-ЭДС, пропорциональную скорости (AN885, уравнение 1). На каждом шаге одна фаза свободна, и по её напряжению можно найти положение ротора. Датчики, их провода и магниты тогда не нужны. AN1160 называет вентиляторы и насосы примерами задач, которым не нужны позиционирование и замкнутый контур на малых скоростях, — для них такой способ подходит.
Переход через ноль. Противо-ЭДС свободной фазы колеблется вокруг половины напряжения шины. По AN1160 момент, когда она пересекает этот уровень, наступает через 30 электрических градусов после предыдущей коммутации — значит, следующую нужно сделать ещё через 30°. Интервал между переходами даёт и скорость. Сравнивают двумя способами:
- с половиной напряжения шины — компаратором или АЦП, достаточно одного канала;
- с виртуальной нейтралью — средней точкой трёх резисторов, подключённых к фазам, или средним значением трёх фаз, вычисленным программой.
Выборку АЦП AN1160 делает в открытой части периода ШИМ: в моменты переключения ключей на фазе звон, который даёт ложные переходы.
Ограничения. На малой скорости противо-ЭДС слишком мала, чтобы её заметить. Поэтому двигатель запускают без обратной связи — просто переключают шаги с нарастающей частотой — и переходят на противо-ЭДС, когда она станет достаточной; минимальную скорость определяет постоянная противо-ЭДС двигателя (AN885). Резкий рост нагрузки может сорвать синхронизацию (AN1160). Где нужен момент с нуля и точная скорость — в сервоприводах, станках, тяговых двигателях, — ставят датчики Холла или энкодер.
KV, постоянная момента и пример расчёта
Модельные двигатели часто описывают KV — постоянной скорости в оборотах в минуту на вольт. AN857 записывает связи так: обороты = KV · напряжение, момент = KT · ток, а в единицах СИ (рад/с на вольт и Н·м на ампер) KV · KT = 1. Отсюда
Пример (наш расчёт): двигатель с KV = 1000 об/мин/В, четырьмя парами полюсов, питание 12 В.
| Величина | Расчёт | Результат |
|---|---|---|
| Скорость без нагрузки (идеальная) | 1000 · 12 | 12 000 об/мин |
| Постоянная момента | 60 / (2π · 1000) | 9,5 мН·м/А |
| Электрическая частота | 12 000 / 60 · 4 | 800 Гц |
| Коммутаций в секунду | 800 · 6 | 4800, шаг около 208 мкс |
| Частота ШИМ по правилу AN885 | ≥ 10 · 800 Гц | не меньше 8 кГц (если «частота двигателя» в AN885 — электрическая; это наше толкование) |
Под нагрузкой скорость ниже: часть напряжения падает на обмотках. Так же, как у коллекторного двигателя, механическая характеристика BLDC линейна (AN885), и считать её можно калькулятором двигателя постоянного тока, подставив KV, сопротивление и ток холостого хода. Сопротивление берут между выводами (линейное): в шестиступенчатой коммутации ток идёт через две фазы звезды последовательно, так что это примерно 2 · R фазы. Связь постоянных объяснена в словаре: постоянные двигателя, механическая характеристика.
Характеристики из документации
AN885 приводит типичный набор параметров (табл. A-1) и график момента (рис. 6):
| Параметр | Что значит |
|---|---|
| Номинальный момент, номинальный ток | длительная нагрузка без перегрева |
| Пиковый момент, пиковый ток (при остановке) | наибольший ток, который можно подать; момент — только кратковременно |
| Номинальная скорость | до неё момент держится постоянным |
| Наибольшая скорость | до 150 % номинальной, момент при этом падает |
| Постоянная противо-ЭДС KE | В на об/мин или В на рад/с — по ней оценивают противо-ЭДС и минимальную скорость бездатчикового режима |
| Сопротивление и индуктивность фазы | электрическая постоянная времени L/R |
| Предельная температура обмотки | выше растут токи утечки изоляции и риск пробоя |
Кратковременно двигатель может дать больше номинального момента — при пуске и разгоне инерционной нагрузки, — но не больше пикового. Как по этим данным выбрать двигатель — в статье о выборе двигателя.
Регуляторы хода (ESC) и аккумуляторы
Регулятор хода (ESC, electronic speed controller) для моделей и дронов — это тот же трёхфазный мост с микроконтроллером. Если у двигателя только три фазных провода и нет датчиков, регулятор работает по противо-ЭДС со всеми ограничениями этого способа: на старте под нагрузкой двигатель может дёргаться, а очень медленное вращение недоступно. Для управления регулятор принимает импульсный сигнал или цифровой протокол — какой именно, указано в его описании.
Питают такие регуляторы обычно от литиевых аккумуляторов, которые отдают десятки ампер: например, элемент Molicel INR-18650-P28A рассчитан на разряд до 35 А при внутреннем сопротивлении не больше 20 мОм. Ток короткого замыкания ограничивают только сопротивления элемента, ключей и проводов (BQ297xx, разд. 9.2) — по закону Ома для одного такого элемента это порядка сотни ампер и больше.
О типах аккумуляторов, зарядке и защите — в разделе «Аккумуляторы и батарейки».
Сравнение с коллекторным двигателем
По таблице 1 AN885:
| BLDC | Коллекторный | |
|---|---|---|
| Коммутация | электронная, по датчикам или противо-ЭДС | щётки и коллектор |
| Обслуживание | почти не требуется | щётки изнашиваются |
| Механическая характеристика | ровная во всём диапазоне скоростей | на высоких скоростях растёт трение щёток |
| КПД | высокий — нет падения на щётках | средний |
| Мощность на размер корпуса | выше: обмотки на статоре лучше охлаждаются | ниже: тепло якоря уходит в зазор |
| Диапазон скоростей | шире: нет механических ограничений щёток | уже |
| Помехи | малые | искрение щёток |
| Управление | сложное и дорогое, контроллер нужен всегда | простое: для постоянной скорости контроллер не нужен |
Как управлять коллекторным двигателем — в статье «Управление коллекторным двигателем».
Типичные ошибки
- Двигатель дёргается на месте или греется без вращения — перепутаны фазы или коды датчиков: последовательность задаёт производитель, и она разная для датчиков через 60° и 120°. Поменяйте местами две фазы или проверьте таблицу по документации.
- Датчики всё время читаются как единица — выходы с открытым коллектором без подтяжки или датчики без питания.
- Горят ключи при пуске — нет ограничения пускового тока. Сквозной ток через ключи одной фазы правильная таблица исключает: он возможен только при ошибке в таблице, неверной комплементарной ШИМ без паузы или сбое (например, помехе на входах драйвера).
- Бездатчиковый регулятор не трогается под нагрузкой — противо-ЭДС на малой скорости не видна; уменьшите нагрузку на старте или нужен двигатель с датчиками.
Частые вопросы
Чем бесколлекторный двигатель отличается от коллекторного?
У коллекторного обмотки переключают щётки и коллектор, у бесколлекторного — контроллер по положению ротора. По таблице 1 AN885 бесколлекторный служит дольше, не требует обслуживания щёток, меньше шумит и создаёт помех, у него выше КПД и шире диапазон скоростей. Зато он дороже, а без контроллера не вращается вовсе.
Что такое KV двигателя?
Постоянная скорости: сколько оборотов в минуту даёт каждый вольт напряжения без нагрузки, RPM = KV · V (AN857). Это величина, обратная постоянной противо-ЭДС. Двигатель с KV = 1000 об/мин/В от 12 В в идеале крутится со скоростью 12 000 об/мин, под нагрузкой — медленнее. Через KV находится и постоянная момента: Kt = 60 / (2π · KV) Н·м/А, для KV = 1000 — около 9,5 мН·м/А.
Можно ли управлять BLDC без датчиков Холла?
Да, по противо-ЭДС: на каждом шаге одна фаза не подключена, и по её напряжению контроллер находит момент перехода через ноль, а следующую коммутацию делает через 30 электрических градусов (AN1160). Ограничение — на малой скорости противо-ЭДС слишком мала, поэтому двигатель запускают без обратной связи и переходят на неё после разгона. Резкий рост нагрузки может сорвать синхронизацию.
Почему BLDC дёргается и не запускается?
Чаще всего перепутан порядок фаз или кодов датчиков Холла: последовательность коммутации задаёт производитель двигателя, и она разная для датчиков со сдвигом 60° и 120°. Другие причины — нет подтяжки на выходах датчиков с открытым коллектором, у бездатчикового регулятора — слишком тяжёлая нагрузка на старте.
Сколько датчиков Холла у BLDC и как их питать?
Обычно три, на статоре со стороны, противоположной валу. По AN885 им нужно питание 4–24 В и 5–15 мА, выход обычно с открытым коллектором, поэтому на стороне контроллера ставят подтягивающие резисторы. Точные данные датчиков — в документации на конкретный двигатель.
Источники
- Microchip. AN885: Brushless DC (BLDC) Motor Fundamentals (DS00885A), 2003 — статор с тремя обмотками, чаще звездой; трапецеидальная и синусоидальная противо-ЭДС; двигатели до 48 В — автомобили, роботы, от 100 В — бытовая техника и промышленность; ротор от двух до восьми пар полюсов; три датчика Холла со сдвигом 60° или 120°, питание датчиков 4–24 В и 5–15 мА, выход обычно с открытым коллектором; на каждом шаге одна обмотка к плюсу, вторая к минусу, третья без тока; рис. 6 — номинальный и пиковый момент, скорость до 150 % номинальной; табл. 1 и 2 — сравнение с коллекторным и асинхронным; рис. 9 — мост Q0…Q5; табл. 3 и 4 — последовательности для двух направлений; ШИМ не менее чем в 10 раз выше наибольшей частоты двигателя, верхние ключи можно держать открытыми весь шаг, а ШИМ подавать на нижние; скорость по интервалу между переходами датчиков; бездатчиковое управление — пуск без обратной связи, минимальная скорость по KE; уравнение 1 противо-ЭДС; табл. A-1 — параметры двигателя (пиковый ток при остановке — наибольший допустимый)
- Microchip. AN857: Brushless DC Motor Control Made Easy (DS00857B), 2002–2011 — каждый датчик Холла в единице 180 эл. градусов, в тексте датчики сдвинуты «на 60 эл. градусов»; рис. 2 — коды 101, 001, 011, 010, 110, 100, то есть без 000 и 111 — такой набор даёт расстановка через 120° (наше толкование); подтягивающие резисторы на входах драйверов, чтобы ключи были закрыты после сброса микроконтроллера; в шестиступенчатой коммутации между включениями верхнего и нижнего ключа одной фазы всегда есть пауза; сопротивление и индуктивность обмоток малы, пусковой ток без ограничения очень велик — срыв шестерён и пробой MOSFET, ограничение ШИМ; ШИМ около 10 кГц в примере; RPM = KV · V, Torque = KT · A, KV · KT = 1 в единицах СИ
- Microchip. AN1160: Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function (DS01160B), 2008–2012 — недостатки бездатчикового управления: нужна минимальная скорость, резкие изменения нагрузки срывают синхронизацию; шесть шагов по 60 эл. градусов; переход противо-ЭДС через ноль — через 30° после коммутации и за 30° до следующей; сравнение с половиной напряжения шины или с виртуальной нейтралью из трёх резисторов либо программным усреднением трёх фаз; выборка АЦП в открытой части периода ШИМ, чтобы не попасть на звон при переключении; частота противо-ЭДС равна скорости вращения, умноженной на число пар полюсов
- Texas Instruments. LiFePO4 Design Considerations (SLUAAR1, July 2023) — разд. 3: тепловой разгон — катастрофический отказ аккумулятора вплоть до взрыва; причины — прокол, перезаряд, перегрузка по току, перегрев; литий-ионным элементам нужна защита от перегрузки по току, перенапряжения и глубокого разряда
- Texas Instruments. BQ297xx Voltage and Current Protection IC for Single-Cell Li-Ion and Li-Polymer Batteries (SLUSBU9I, revised August 2024) — разд. 9.2: ток короткого замыкания ограничен только напряжением элемента и сопротивлением элемента, ключей и дорожек
- E-One Moli Energy (Molicel). INR-18650-P28A Product Data Sheet (Version 1.3) — пример сильноточного элемента: разряд до 35 А, конец разряда 2,5 В, внутреннее сопротивление не более 20 мОм
Нашли ошибку?
Смотрите также
- ДвигателиКоллекторные, шаговые, бесколлекторные двигатели и сервоприводы: драйверы, управление, выбор
- Управление коллекторным двигателемКлюч и диод, ШИМ, H-мост, реверс, торможение, датчики скорости
- Драйверы H-мостаУстройство моста, сквозной ток, L298, A4988, потери на ключах
- Как выбрать двигательПиковый и среднеквадратичный момент, редуктор, обмотка, нагрев, пример
- Коммутация BLDC (six-step)Переключение обмоток бесколлекторного двигателя по положению ротора
- Противо-ЭДС (обратная ЭДС)Напряжение вращающегося двигателя против питающего
- Эффект ХоллаНапряжение поперёк проводника с током в магнитном поле
- Постоянная момента Kt и противо-ЭДС KeМомент на ампер и противо-ЭДС на единицу скорости двигателя
- Мёртвое времяПауза между ключами полумоста против сквозного тока
- Датчики Холла и магнитного поляПереключатели, защёлки, линейные и 3D-датчики: пороги, подключение, пересчёт в мТл
- Коллекторный двигатель: обороты, ток, КПДМеханическая характеристика, ток останова, мощность, КПД, ШИМ, редуктор
- Аккумуляторы и батарейкиНапряжения, ёмкость, внутреннее сопротивление, заряд, защита, время работы
- Как выбрать регулятор ESC по току?По наибольшему рабочему току мотора с нагрузкой, с запасом, и проверить аккумулятор