Как известно, в коммутаторных двигателях постоянного тока обмотки переключаются в нужное время коллекторным (якорным) узлом. В бескоммутаторных двигателях коммутация управляется электроникой. Контроллер может использовать датчики положения (датчики Холла) или обратную электродвижущую силу, создаваемую неподключенными обмотками, для определения момента переключения. Датчики положения чаще всего используются в низкоскоростных двигателях, где пусковой момент сильно колеблется или требуется высокое значение, и где двигатель используется для позиционирования. Бессенсорное управление двигателем без энкодеров используется там, где пусковой момент не изменяется значительно и где не требуется управление позиционированием, например, в вентиляторах.
Управление двигателем постоянного тока без энкодера
Как известно, в коммутаторных двигателях постоянного тока обмотки переключаются в нужное время коллекторным (якорным) узлом. В бескоммутаторных двигателях коммутация управляется электроникой. Контроллер может использовать датчики положения (датчики Холла) или обратную электродвижущую силу, создаваемую неподключенными обмотками, для определения момента переключения. Датчики положения чаще всего используются в низкоскоростных двигателях, где пусковой момент сильно колеблется или требуется высокое значение, и где двигатель используется для позиционирования. Бессенсорное управление двигателем без энкодеров используется там, где пусковой момент не изменяется значительно и где не требуется управление позиционированием, например, в вентиляторах.
На каждом этапе переключения обмотка одной фазы подключается к положительному напряжению питания, другой – к отрицательному, а третья фаза остается неподключенной. Обратная ЭДС неподключенной фазы пересекает ноль, когда пересекаются средние значения положительного и отрицательного напряжений. Пересечение нуля всегда происходит посередине между двумя коммутациями. При постоянной скорости или медленно меняющейся скорости период времени от одной коммутации до пересечения нуля и время от пересечения нуля до следующей коммутации равны. Это является основой для настоящей реализации устройства управления без датчиков.
Мы будем использовать метод виртуальной средней точки для определения сигналов обратной ЭДС, измеряя напряжение медленной фазы и сравнивая его со средней точкой. Использование АЦП требует некоторого времени на преобразование, что снижает производительность, поэтому более разумно использовать аналоговые компараторы – нам не нужно знать точное значение АЦП этого сигнала. Компаратор может генерировать прерывание, когда напряжение превышает среднюю точку, а также может выдавать логический сигнал о своем состоянии, что нам и понадобится.
Три канала ШИМ, OC1A, OC2 и OC1B, управляют верхними ключами (P-канальными МОП-транзисторами) мостовой схемы. Это позволяет управлять током, используя аппаратные возможности генерации ШИМ-сигнала с минимальным использованием программных ресурсов. В этом случае управление скоростью достигается путем изменения рабочего цикла ШИМ-сигнала.
Нижние ключи управляются логическими сигналами, и в соответствующее время N-канальные МОП-транзисторы подключают обмотку к отрицательному току питания или линии обратной ЭДС. В следующих таблицах приведены состояния сигналов, подаваемых на верхнюю и нижнюю клавиши, с направлениями вращения по часовой стрелке и против часовой стрелки.
Существуют различные типы двигателей BLDC – давайте рассмотрим основные из них. Различают Двигатели BLDC типа Inrunner и OutRunner. В двигателях типа Inrunner магниты ротора находятся внутри обмотки статора, в то время как в двигателях типа OutRunner магниты находятся снаружи и вращаются вокруг неподвижной обмотки статора. То есть, в режиме Inrunner (по такому принципу устроено большинство двигателей постоянного тока) ось внутри двигателя вращается, а оболочка остается неподвижной. В OutRunner сам двигатель вращается вокруг оси с катушкой, которая остается неподвижной. Двигатели OutRunner особенно подходят для применения на электровелосипедах, поскольку внешняя оболочка двигателя напрямую приводит в движение колесо велосипеда, устраняя необходимость в механизме сцепления. Кроме того, двигатели OutRunner обеспечивают больший крутящий момент, что также делает их идеальным выбором для электроприводов и беспилотных систем. Поэтому в этой статье мы рассмотрим подключение двигателя OutRunner к плате Arduino.
Двигатели постоянного тока без аккумуляторов (BLDC-двигатели) в настоящее время часто используются в потолочных вентиляторах и электромобилях благодаря их плавному вращательному движению. В отличие от других двигателей постоянного тока, двигатели BLDC соединены тремя отходящими проводами, каждый из которых образует свою фазу, поэтому вы получаете трехфазный двигатель.
Хотя двигатели BLDC являются двигателями постоянного тока, они управляются последовательностью импульсов. ESC (электронный регулятор скорости) используется для преобразования постоянного напряжения в последовательность импульсов и распределения их по трем проводам. Одновременно под напряжением находятся только две фазы, т.е. электрический ток входит в двигатель через одну фазу, а выходит через другую. Во время этого процесса на катушку внутри двигателя подается напряжение, в результате чего магниты выравниваются относительно катушки, находящейся под напряжением. Затем контроллер ESC включает два других провода (фазы), и этот процесс смены проводов, находящихся под напряжением, продолжается непрерывно, заставляя двигатель вращаться. Скорость вращения двигателя зависит от скорости подачи тока на обмотку двигателя, а направление вращения – от порядка переключения фаз, на которые поочередно подается напряжение.
Существуют различные типы двигателей BLDC – давайте рассмотрим основные из них. Различают Двигатели BLDC Inrunner и OutRunner. В обгонных двигателях магниты ротора находятся внутри статора и обмоток, а в двигателях OutRunner магниты находятся снаружи и вращаются вокруг неподвижного статора и обмоток. То есть, в режиме Inrunner (по такому принципу устроено большинство двигателей постоянного тока) ось внутри двигателя вращается, а корпус остается неподвижным. В OutRunner сам двигатель вращается вокруг оси, а катушка остается неподвижной. Двигатели OutRunner особенно подходят для применения на электровелосипедах, поскольку внешний корпус двигателя приводит в движение непосредственно колесо велосипеда, устраняя необходимость в механизме сцепления. Кроме того, двигатели OutRunner обеспечивают больший крутящий момент, что также делает их идеальным выбором для электроприводов и приложений для беспилотников. Поэтому в этой статье мы рассмотрим подключение двигателя OutRunner к плате Arduino.
Примечание Примечание: Существует другой тип BLDC двигателя, называемый бесколлекторным, который используется в “карманных дронах”. Эти двигатели работают по несколько иным принципам, но обсуждение их работы выходит за рамки данной статьи.
Двигатели BLDC с датчиками (Sensor) и без датчиков (Sensorless). Двигатели BLDC, которые вращаются плавно, без рывков, требуют обратной связи. Поэтому контроллер ESC должен знать положения и полюса магнитов ротора, чтобы правильно питать статор. Эта информация может быть получена двумя способами: первый – путем размещения датчика Холла внутри двигателя. Датчик Холла обнаружит магнит и отправит эту информацию на контроллер ESC. Этот тип двигателя называется Sensor BLDC и используется в электрических движущихся транспортных средствах. Второй метод определения положения магнитов – это использование обратной величины ЭДС (электродвижущей силы), создаваемой катушками при пересечении их магнитами. Преимущество этого метода в том, что он не требует дополнительного устройства (датчика Холла) – фазный провод сам используется в качестве обратной связи благодаря наличию обратной ЭДС. Этот метод использовался в двигателе, о котором шла речь в нашей статье, и наиболее часто применяется в дронах и других летающих устройствах.
BLDC (бесщеточный электродвигатель постоянного тока) часто используется в электроскутерах и электровелосипедах. Первые его версии появились в 1960-х гг. Двигатели BLDC гораздо эффективнее и имеют гораздо больший крутящий момент.
Управление двухфазными двигателями BLDC
Управление двухфазными двигателями несколько сложнее. Якорь состоит из 4 катушек, а магнитное поле создается 4 парами постоянных магнитов. Катушки якоря сгруппированы попарно, поэтому двухфазные двигатели имеют более высокий крутящий момент, чем однофазные.
Двухфазные двигатели обычно используются в некритичных, низкоуровневых приложениях, таких как большие вентиляторы, и поэтому не требуют сложных контроллеров. Следовательно, двухфазные двигатели более мощные и менее дорогие. Такие водители, как, например. LB1668M.можно использовать для управления ими.
В двигателе постоянного тока эту задачу выполняет коллектор-диск на роторе с контактными площадками, по которым скользят проводящие графитовые щетки и коммутируют обмотки.
В асинхронном двигателе нет необходимости знать положение ротора, но для управления скоростью необходимо изменять частоту коммутации обмоток (или питать двигатель от стандартной частоты сети 50 Гц).
Управление двигателем без коммутатора – схема
В двигателе постоянного тока эту задачу выполняет коллектор, представляющий собой диск на роторе с контактными площадками, по которым скользят проводящие графитовые щетки и коммутируют обмотки.
В асинхронном двигателе вам не нужно знать положение ротора, но вам нужно изменять частоту коммутации обмоток для регулировки скорости (или запускать двигатель от стандартной частоты 50 Гц).
Я начал изучать схему контроллера двигателя без коммутатора из учебника Atmel “AVR492: управление двигателем постоянного тока без коммутатора с помощью AT90PWM3”. Немного пояснений: “Для управления BCEPT используется каскад питания, состоящий из 3 полумостов. Схема каскада питания показана на рисунке 4”.
Здесь каскад питания состоит из 6 транзисторов, схематично показанных клавишами CmdSW.Полумост – это пара транзисторов, соединенных последовательно между “+” и “-” питания, например, CmdSW1, CmdSW2. A, B, C – клеммы обмотки двигателя, подключение обмотки как у асинхронных двигателей. Такое расположение позволяет току протекать между фазами A, B, C в любом направлении.. Например, если замкнуть CmdSW1 и CmdSW4, то ток течет от вывода A к выводу B, если замкнуть CmdSW3 и CmdSW2, то ток течет от вывода B к выводу A. И если вы замкнете CmdSW1 и CmdSW2, то произойдет короткое замыкание и транзисторы сгорят, поэтому необходимо тщательно контролировать транзисторы. Кстати, для управления коллекторным двигателем с реверсом нужно 2 полумоста, без реверса достаточно 1 транзистора.
Широтно-импульсная модуляция (ШИМ) используется для управления током в фазе. Например, в какой-то момент переключатели CmdSW1, CmdSW4 размыкаются и ток начинает течь от “А” к “В”, затем CmdSW1 замыкается, а CmdSW2 размыкается и из-за индуктивности обмоток ток продолжает течь по кольцу A-B-CmdSW4-“земля”-CmdSW2. Кстати, транзисторы имеют встроенные диоды, которые проводят ток в противоположном направлении. Поэтому если мы откроем все транзисторы во второй фазе ШИМ, напряжение в обмотке начнет расти, и энергия из обмотки начнет возвращаться в сеть через эти диоды.
Такое расположение 6 транзисторов называется трехфазным инвертором Он может использоваться для преобразования постоянного тока в трехфазный переменный ток как для коммутаторных, так и для асинхронных двигателей. Низковольтные полевые транзисторы (MOSFET) используются в бескоммутаторных двигателях, а высоковольтные биполярные транзисторы с изолированным затвором (IGBT) – в асинхронных двигателях. Регенерация также может быть достигнута с помощью этой схемы. Им пользуются все, и лучшего способа для этого не существует.
Конструкция преобразователя зависит от мощности двигателя:
Для управления очень маленькими двигателями используются специализированные схемы, которые уже содержат 6 транзисторов и логику для управления ими. Это решение для двигателей и вентиляторов дисковых накопителей. Следующий шаг – схема управления транзисторами и транзисторы по отдельности. А для высокой мощности Схема или драйвер управляет схемами драйверов транзисторов, а драйверы уже управляют самими транзисторами. Зачем все так усложнять? Мощные транзисторы имеют большую емкость управляющего входа, плохая электроника не может обеспечить ток до нескольких ампер, чтобы быстро открыть их. А полуоткрытый транзистор имеет высокое сопротивление, он нагревается или даже сгорает в этот момент Поэтому используются схемы микродрайверов, внутри которых тоже есть транзисторы, но менее эффективные. Это каскад транзисторов.
Вот первый пример реализации инвертора – модель аэропланаявляется самым дешевым. Изображение нанесено на обе стороны.
На одной стороне вы можете видеть 6 транзисторов в корпусах SOIC. (3 N-канала, 3 P-канала), с другой стороны микроконтроллер ATMEGA8 и линейный стабилизатор для получения 5 В. Есть также электролитический конденсатор и различные мелочи – резисторы с конденсаторами. Вот и все. Дешевые и недорогие. Розничная цена составляет около 1000р. Микроконтроллер напрямую управляет затворами транзисторов. Этот контроллер довольно сильно нагревается, но поскольку он установлен в модели самолета, он хорошо вентилируется. Конечно, существуют и более совершенные модели, эта – просто пример упрощения и миниатюризации.
А вот фотография демонстрационной платы от Atmel
Судя по всему, вы можете купить его и сразу же начать программировать контроллер и пытаться раскрутить двигатель. Я решил не покупать его, наверное, зря. В любом случае, хорошо, что продаются запасные транзисторы для него, я их не раз сжигал. И контроллер несколько раз. На самом деле у меня 6 транзисторов на правой стороне, контроллер на левой, и драйвер транзистора на другой стороне.
Схема моего водителя с пояснениями
Я решил не делать простой контроллер, чтобы расширить область применения, при необходимости его несложно будет упростить. Схема разделена на 3 части. Это не так ясно, как в заметке Atmel, но я постараюсь объяснить.
Первая часть – это силовая часть.
Силовые транзисторы VT1-VT6 управляются схемами управления DA1-DA3. Я выбрал IRLR3705 как один из самых мощных транзисторов в D-Pak на 55 В с сопротивлением 8 мОм. Я рассчитывал на рабочее напряжение 36 В плюс резерв. В принципе, я мог бы поставить транзисторы на радиаторы и использовать корпус TO-220, но я решил не усложнять разводку и припаять транзисторы к плате. В этом случае я могу поместить транзисторы в Soic-пакет для низкой мощности и в D2-пакет для высокой мощности. Я взял самые мощные полумостовые драйверы от International Rectifier – irf2186s с током управления до 4А. Я получил хороший запас, но простейший драйвер ir2101 от atmel apnote (ток 130/270mA) плохо справлялся с сильными транзисторами, разница в нагреве транзисторов была заметна. Полумостовой драйвер управляет двумя транзисторами – верхним и нижним, для управления верхним транзистором необходимо высокое напряжение, которое получается с помощью повышающей схемы с диодом и конденсатором (например, C6, DD7), эта схема самая простая и принцип ее работы можно легко найти в интернете. Мне удалось заставить одну схему полного бриджа управлять шестью транзисторами одновременно, но моя схема была неполноценной. Между затворами транзисторов и драйверами установлены диодные резисторы. Они ограничивают ток затвора, а ток зарядки почти в 2 раза выше. Логика здесь такова – чем больше ток, тем меньше нагреваются транзисторы при переключении, но при этом увеличиваются скачки напряжения. Поэтому номинал резистора должен быть уменьшен до разумного предела. Транзистор медленнее открывается, чем закрывается, поэтому я увеличил ток зарядки. На всякий случай сигнальные контакты драйвера подтягиваются к земле, чтобы они не сработали при отсутствии управляющих сигналов. В общем, здесь все почти то же самое, что и в atmel upnote. Я также подключил датчики Холла, как указано в примечании, но ничего интересного здесь нет. Источник питания, силовые выходы транзисторов и выходы датчиков Холла подключаются к клеммной колодке 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 кнопки используются для включения, F/R, тормоза и режима. Другой выход Speed(аналоговый) используется для подключения резистора задания переменной скорости, а последний выход Hall_out используется для передачи импульсов при срабатывании датчиков Холла. Эти выходы и выходы интерфейса RS485 выведены на клеммную колодку X3.
- Два выхода используются для контроля сигнала токового шунта ERROR_ADC. Один для быстрого срабатывания защиты, другой для грубой оценки тока.
- 1 контакт для контроля входного напряжения V_IN_MEAS
- 1 контакт для светодиода VD5, полезного для сигнализации различных событий.
Показанная схема, конечно, не соответствует первоначальной идее максимально дешевого контроллера, но ее можно относительно легко упростить. Вы можете убрать интерфейс RS485, поставить менее эффективные транзисторы и контроллеры для управления ими.
Двигатель без коммутатора поставляется с электронным контроллером, который стоит довольно дорого – это, пожалуй, единственный его недостаток.
Бескоммутаторные двигатели имеют ряд преимуществ перед своими коллекторными аналогами:
- Компактность и малый вес. Двигатели могут быть установлены на небольшом оборудовании.
- Очень высокая эффективность. Их использование является экономически эффективным.
- Отсутствие переключающих контактов и крутящего момента. Поскольку постоянные магниты работают как МОП-транзисторы, источники потерь отсутствуют.
- Не изнашивается и не ломается.
- Широкий диапазон переменной скорости.
- Высокий крутящий момент.
Бескоммутаторный двигатель оснащен электронным блоком управления, который стоит довольно дорого – это, пожалуй, единственный его недостаток.
Как работает безмутаторный двигатель постоянного тока
Принцип работы бескоммутаторного двигателя постоянного тока такой же, как и у других моделей. Но, как следует из названия, главной особенностью является отсутствие коллектора (это устройство сложное, тяжелое, требует обслуживания и может искрить). Роль ротора играет шпиндель, вокруг которого установлены проволочные обмотки с различными магнитными полями. Количество прямоугольных магнитов, установленных на роторе, может быть различным, но обязательно четным (как и количество полюсов). Если несколько магнитов образуют один полюс, то число полюсов меньше числа магнитов.
Вращение достигается путем изменения направления магнитного поля в определенной последовательности. Постоянные магниты взаимодействуют с магнитными полями ротора, приводя в движение статор. Их сила определяет крутящий момент.
Управление двигателем постоянного тока без коммутатора
В двигателях этого типа коммутация управляется электроникой. Существует два типа регуляторов шага:
- Бессенсорный, используется, когда нет значительного изменения пускового момента или необходимости в управлении позиционированием (в вентиляторе). Этот тип контроллера широко используется, поскольку он прост в изготовлении.
- С датчиками, установленными в оборудовании со значительными колебаниями пускового момента (низкоскоростные машины).
Положение ротора при приложении силы тока к обмоткам определяется электронной схемой и датчиком положения. Наиболее распространенные типы энкодеров следующие:
- Датчик Холла. Это устройство изменяет свой выходной сигнал при переключении обмоток. Для измерения тока и скорости используется устройство с разомкнутым контуром. К датчику подключены три входа. Обработка прерывания запускается при изменении показаний. Если требуется быстрый отклик обработки прерывания, датчик следует подключать к нижним контактам порта.
- Датчик положения с микроконтроллером. Безмоторный двигатель постоянного тока управляется ядром AVR (схемой, специфичной для конкретной задачи). Программа, встроенная в плату AVR, запустит двигатель настолько быстро, насколько это возможно при отсутствии дополнительных внешних устройств, и будет контролировать скорость.
- Система Arduino. Эта аппаратная вычислительная платформа представляет собой плату, состоящую из микроконтроллера Atmel AVR и пакета для программирования. Его работа заключается в преобразовании сигналов с одного уровня на другой. Необходимое программное обеспечение может быть установлено через USB.
Чтобы исключить неточности в позиционировании ротора, кабели при подключении контроллера делают как можно короче (12-16 см). Программные настройки контроллеров включают:
- изменение направления;
- мягкая остановка и торможение;
- ограничение тока;
- эффективность и увеличение мощности;
- жесткое/мягкое отключение
- Быстрый/жесткий/мягкий старт;
- режим дросселирования.
Некоторые модели контроллеров включают в себя контроллеры двигателей, что позволяет напрямую управлять двигателем без необходимости установки дополнительных контроллеров.
Рис. 4
Выбор частоты ШИМ
Предположим ситуацию, когда частота ШИМ равна 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 кГц. Также обратите внимание, что чем выше частота ШИМ, тем больше переходных процессов происходит на клавишах в единицу времени. Это может привести к увеличению потерь и повышенному тепловыделению на переключателях.
Читайте далее:- Шаговые двигатели: свойства и практические схемы управления. Часть 2.
- Векторное и скалярное управление преобразователями частоты – принцип работы, система управления.
- Рабочие характеристики асинхронного двигателя; Школа для электриков: электротехника и электроника.
- Асинхронный электродвигатель – конструкция, принцип работы, типы асинхронных двигателей.
- Векторное управление вентильным двигателем в безредукторном сервоприводе – темы научных работ по электротехнике, электронике, информатике читайте бесплатно тексты научных работ в электронной библиотеке КиберЛенинка.
- Датчики Холла. Типы и применение. Эксплуатация и подключения.
- Как найти начало и конец обмотки электродвигателя – ООО "СЗЭМО Электродвигатель".