Контроллер бесщеточного двигателя постоянного тока схема

Бесколлекторные двигатели постоянного тока. Устройство бесколлекторного двигателя.

Общее устройство (Inrunner, Outrunner)

Схему Inrunner обычно применяют для высокооборотистых двигателей с небольшим количеством полюсов. Outrunner при необходимости получить высокомоментный двигатель со сравнительно небольшими оборотами. Конструктивно Inrunners проще из за того, что неподвижный статор может служить корпусом. К нему могут быть смонтированы крепежные приспособления. В случае Outrunners вращается вся внешняя часть. Крепеж двигателя осуществляется за неподвижную ось либо детали статора. В случае мотор-колеса крепление осуществляется за неподвижную ось статора, провода заводятся к статору через полую ось.

Магниты и полюса

Количество магнитов не всегда соответствует количеству полюсов. Несколько магнитов могут формировать один полюс:

В этом случае 8 магнитов формируют 4 полюса. Размер магнитов зависит от геометрии двигателя и характеристик мотора. Чем сильнее применяемые магниты, тем выше момент силы, развиваемый двигателем на валу.

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

Обмотки и зубья

Количество зубьев статора должно делиться на количество фаз. т.е. для трехфазного бесколлекторного двигателя количество зубьев статора должно делиться на 3. Количество зубьев статора может быть как больше так и меньше количества полюсов на роторе. Например существуют моторы со схемами: 9 зубьев/12 магнитов; 51 зуб/46 магнитов.

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

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

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

Варианты распределения обмоток фаз по зубьям статора

Вариант обмотки на 9 зубов

Вариант обмотки на 12 зубов

В приведенных схемах число зубов выбрано таким образом, чтобы оно делилось не только на 3. Например, при 36 зубьях приходится 12 зубьев на одну фазу. 12 зубьев можно распределить так:

6 групп по 2 зуба

4 группы по 3 зуба

3 группы по 4 зуба

2 группы по 6 зубьев

Наиболее предпочтительна схема 6 групп по 2 зуба.

Существует двигатель с 51 зубом на статоре! 17 зубов на одну фазу. 17 — это простое число, оно нацело делится только на 1 и на само себя. Как же распределить обмотку по зубьям? Увы, но я не смог найти в литературе примеров и методик, которые помогли бы решить эту задачу. Оказалось, что обмотка распределялась следующим образом:

Рассмотрим реальную схему обмотки.

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

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

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

Так же могут быть комбинированные включения

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

Обороты электрические и реальные

Датчики положения

Имеется в виду «электрических» градусов. Т.е. для многополюсного двигателя физическое расположение датчиков может быть таким:

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

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

Основные характеристики двигателя

Звезда и Треугольник

При включении звездой ток протекает через две обмотки. Результирующее сопротивление равно сумме сопротивлений двух обмоток R=R1+R2. Соответственно максимально возможный ток, протекаемый через обмотки I=U/(R1+R2). Потребляемая мощность P=U*I Предположим, что напряжение 10 В, а сопротивление обмотки 1 ОМ. Тогда ток I=10/(1+1)=5А. Потребляемая мощность P=10*5=50 Вт.

Читайте также:  Моторное масло для танкового двигателя

При включении треугольником ток протекает через все обмотки. Результирующее сопротивление обмоток R=(R1*(R2+R3))/(R1+R2+R3). Соответственно, максимально возможный ток, протекаемый через обмотки I=U/((R1*(R2+R3))/(R1+R2+R3)

При таком же напряжении и сопротивлении обмоток получаем ток I=10/((1*(1+1))/(1+1+1))=15А. Потребляемая мощность P=10*15=150 Вт.

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

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

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

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

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

Подключение бесколлекторного электродвигателя постоянного тока (BLDC) к Arduino

В настоящее время наблюдается небывалый интерес к конструированию различных летающих механизмов – дронов, планеров, глайдеров, вертолетов и т.д. Сейчас их можно легко сконструировать самостоятельно благодаря большому количеству материалов по ним в сети интернет. Все эти летающие механизмы используют для своего движения так называемые бесщёточные (бесколлекторные) электродвигатели постоянного тока (BLDC — Brushless DC Motor). Что представляют собой подобные двигатели? Почему именно они сейчас используются в различных летающих дронах? Как правильно купить подобный двигатель и подключить его к микроконтроллеру? Что такое ESC и почему мы будем его использовать? Ответы на все эти вопросы вы найдете в данной статье.

В этой статье мы рассмотрим управление скоростью вращения бессенсорного бесколлекторного электродвигателя постоянного тока A2212/13T (Sensorless BLDC outrunner motor), часто используемого для конструирования дронов, с помощью ESC (Electronic Speed Controller – электронный контроллер скорости) и платы Arduino.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. A2212/13T BLDC Motor (бесколлекторный электродвигатель постоянного тока).
  3. ESC (20A) (электронный контроллер скорости) (купить на AliExpress).
  4. Источник питания (12V 20A).
  5. Потенциометр 10 кОм (купить на AliExpress).

Принцип действия BLDC двигателей

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

Хотя BLDC относятся к двигателям постоянного тока они управляются с помощью последовательности импульсов. Для преобразования напряжения постоянного тока в последовательность импульсов и распределения их по трем проводникам используется контроллер ESC (Electronic speed controller). В любой момент времени питание подается только на две фазы, то есть электрический ток заходит в двигатель через одну фазу, и покидает его через другую. Во время этого процесса запитывается катушка внутри двигателя, что приводит к тому, что магниты выравниваются по отношению к запитанной катушке. Затем контроллер ESC подает питание на другие два провода (фазы) и этот процесс смены проводов, на которые подается питание, продолжается непрерывно, что заставляет двигатель вращаться. Скорость вращения двигателя зависит от того как быстро подается энергия на катушку двигателя, а направление вращения – от порядка смены фаз, на которые поочередно подается питание.

Существуют различные типы BLDC двигателей – давайте рассмотрим основные из них. Различают Inrunner и OutRunner BLDC двигатели. В Inrunner двигателях магниты ротора находятся внутри статора с обмотками, а в OutRunner двигателях магниты расположены снаружи и вращаются вокруг неподвижного статора с обмотками. То есть в Inrunner (по этому принципу конструируется большинство двигателей постоянного тока) ось внутри двигателя вращается, а оболочка остается неподвижной. А в OutRunner сам двигатель вращается вокруг оси с катушкой, которая остается неподвижной. OutRunner двигатели особенно удобны для применения в электрических велосипедах, поскольку внешняя оболочка двигателя непосредственно приводит в движение колесо велосипеда, что позволяет обойтись без механизма сцепления. К тому же OutRunner двигатели обеспечивают больший крутящий момент, что делает их также идеальным выбором для применения в электрических движущихся средствах и дронах. Поэтому и в этой статье мы будем рассматривать подключение к платы Arduino двигателя OutRunner типа.

Примечание : существует еще такой тип BLDC двигателей как бесстержневой (coreless), который находит применение в «карманных» дронах. Эти двигатели работают по несколько иным принципам, но рассмотрение принципов их работы выходит за рамки данной статьи.

Читайте также:  Чип тюнинг touareg casa

BLDC двигатели с датчиками (Sensor) и без датчиков (Sensorless). Для BLDC двигателей, которые вращаются плавно, без рывков, необходима обратная связь. Поэтому контроллер ESC должен знать позиции и полюса магнитов ротора чтобы правильно запитывать статор. Эту информацию можно получить двумя способами: первый из них заключается в размещении датчика Холла внутри двигателя. Датчик Холла будет обнаруживать магнит и передавать информацию об этом в контроллер ESC. Этот тип двигателей называется Sensor BLDC (с датчиком) и он находит применение в электрических движущихся транспортных средствах. Второй метод обнаружения позиции магнитов заключается в использовании обратной ЭДС (электродвижущей силы), генерируемой катушками в то время когда магниты пересекают их. Достоинством этого метода является то, что он не требует использования каких либо дополнительных устройств (датчик Холла) – фазовый провод самостоятельно используется в качестве обратной связи благодаря наличию обратной ЭДС. Этот метод используется в двигателе, рассматриваемом в нашей статье, и именно он чаще всего применяется в дронах и других летающих устройствах.

Почему дроны и вертолеты используют именно BLDC двигатели?

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

Существует несколько причин для этого:

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

Зачем нужен контроллер ESC

Как мы уже знаем, для функционирования BLDC двигателей необходим какой-нибудь контроллер, который преобразует напряжение постоянного тока от батарейки в последовательность импульсов, подаваемую в определенном порядке на провода (фазы) двигателя. Этот контроллер называется ESC (Electronic Speed Controller – электронный контроллер скорости). Основной обязанностью данного контроллера является правильная подача питания на провода BLDC двигателя чтобы двигатель вращался в нужном направлении. Это осуществляется с помощью считывания обратной ЭДС (back EMF) с каждого провода и подачи питания на катушку в то время когда магнит пересекает ее. Внутри себя контроллер ESC содержит достаточно много разнообразной электроники и при желании вы можете подробно изучить его устройство по соответствующим материалам в сети интернет. Здесь же мы кратко рассмотрим рассмотрим только основные компоненты его конструкции.

Управление скоростью вращения на основе ШИМ (широтно-импульсной модуляции, в англ. PWM) . Контроллер ESC может управлять скоростью вращения BLDC двигателя при помощи считывания сигнала ШИМ подаваемого на его оранжевый провод. Принцип управления им очень похож на управление сервомоторами. Сигнал ШИМ, подаваемый на контроллер ESC, должен иметь период 20ms, а коэффициент заполнения этого ШИМ сигнала будет определять скорость вращения BLDC двигателя. Поскольку точно такой же принцип используется для управления углом поворотом сервомотора, то для управления BLDC двигателем мы можем использовать библиотеку для управления сервомоторами. Если вы не сталкивались с этим принципом ранее, то вы можете прочитать статью о подключении сервомотора к плате Arduino.

Battery Eliminator Circuit (BEC) – цепь, исключающая батарею . Почти все контроллеры ESC поставляются с этой схемой. Как следует из ее названия, данная схема устраняет потребность в использовании отдельной батареи для питания микроконтроллера, то есть в данном случае нам не понадобится отдельный источник питания для платы Arduino – контроллер ESC сам обеспечит плату Arduino регулируемым напряжением питания +5V. В различных контроллерах ESC используются различные схемы регулировки данного напряжения, но в большинстве случаев распространена схема с линейной регулировкой.

Встроенное ПО . Каждый контроллер ESC содержит в своем ПЗУ встроенную прикладную программу, написанную производителем контроллера. Эта программа во многом определяет логику функционирования контроллера. Наиболее популярными встроенными программами для контролеров ESC являются Traditional, Simon-K и BL-Heli. Эта программа может изменяться пользователем, однако мы в этой статье не будем рассматривать данный вопрос.

Некоторые термины, используемые в тематике BLDC и ESC

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

Читайте также:  Ремонт двигателя бмв 750

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

Soft Start (плавный пуск, старт) – эта способность особенно важна для BLDC двигателей когда вращающий момент от него на исполнительный механизм (колесо, винт и т.д.) передается через механизм передач, обычно состоящий из шестерен. Плавный пуск означает, что двигатель не начнет сразу вращаться с максимальной скоростью, а будет увеличивать свою скорость вращения постепенно независимо от того, с какой скоростью нарастает управляющее воздействие. Плавный пуск значительно снижает износ шестерен, входящих в передаточный механизм.

Motor Direction (направление вращения двигателя) – обычно направление вращения BLDC двигателей не изменяется в процессе эксплуатации, однако во время сборки и тестирования работы изделия может потребоваться изменение направления вращения двигателя, обычно это можно сделать просто поменяв местами любые два провода двигателя.

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

Response time (время отклика, время реакции, время ответа) . Означает способность двигателя быстро изменять скорость вращения при изменении управляющего воздействия. Чем меньше время реакции, тем лучше контроль над двигателем.

Advance (движение вперед) . Эта проблема является своеобразной «ахиллесовой пятой» для BLDC двигателей. Все BLDC двигатели имеют хотя бы небольшой подобный баг. Эта проблема вызвана тем, что когда катушка статора запитана ротор движется вперед поскольку на нем есть постоянный магнит. И когда управляющее напряжение с этой катушки снимают (чтобы подать его на следующую катушку) ротор продвигается вперед немного дальше чем предусмотрено логикой функционирования двигателя. Это нежелательное продвижение двигателя вперед в англоязычной литературе называют “Advance” и оно может приводить к нежелательным вибрациям, нагреву и шуму при работе двигателя. Поэтому хорошие контроллеры ESC стараются по возможности устранить этот эффект в работе BLDC двигателей.

Работа схемы

Схема подключения BLDC двигателя и контроллера ESC к плате Arduino представлена на следующем рисунке.

Как видите, схема достаточно проста. Контроллеру ESC необходим источник питания с напряжением 12V и током как минимум 5A. Для питания схемы можно использовать адаптер или Li-Po батарейку. Три фазы (провода) BLDC двигателя необходимо подсоединить к трем выходным проводам контроллера ESC – неважно в каком порядке.

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

Схема BEC (Battery Eliminator circuit) в контроллере ESC будет самостоятельно обеспечивать (регулировать) постоянное напряжение +5V, поэтому его можно непосредственно использовать для питания платы Arduino. Для управления скоростью вращения двигателя в схеме используется потенциометр, подключенный к контакту A0 платы Arduino.

Внешний вид собранной конструкции показан на следующем рисунке.

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы рассмотрим только его основные фрагменты.

Для управления BLDC двигателем мы будем формировать ШИМ сигнал с частотой 50 Гц и изменяемым от 0 до 100% коэффициентом заполнения. Значение коэффициента заполнения будет управляться с помощью потенциометра. То есть, вращая потенциометр, мы будем управлять скоростью вращения двигателя. Как уже указывалось, управление BLDC двигателем очень похоже на управление сервомотором с помощью ШИМ 50 Гц, поэтому в данном случае мы будем использовать ту же самую библиотеку, которую использовали для управления сервомотором. Если вы начинающий в изучении платформы Arduino, то перед дальнейшим прочтением данной статьи рекомендуем вам изучить принципы формирования ШИМ сигнала в Arduino и подключение сервомотора к плате Arduino.

ШИМ сигнал можно генерировать только на тех цифровых контактах платы Arduino, которые обозначены символом

. В нашей схеме мы будем управлять контроллером ESC с контакта 9 платы Arduino, поэтому следующей командой мы прикрепим контроллер ESC к этому контакту:

Оцените статью