Схема управления бесколлекторными моторами BLDC, PMSM на микроконтроллере STM32. Управление bldc двигателем


Управление бесколлекторным двигателем по сигналам обратной ЭДС – понимание процесса

Когда я начал разрабатывать блок управления бесколлекторным двигателем (мотор-колесом), было много вопросов о том, как сопоставить реальный двигатель с абстрактной схемой из трех обмоток и магнитов, на которой, как правило, все объясняют принцип управления бесколлекторными двигателями.

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

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

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

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

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

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

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

Запустив трехфазный двигатель в генераторном режиме, постоянным магнитным полем будет наводиться ЭДС на каждую из обмоток двигателя, обмотки двигателя распределены равномерно, на каждую из фаз будет наводиться синусоидальное напряжение и данные сигналы будут смещены между собой на 1/3 периода (рисунок 1). Форма ЭДС меняется по синусоидальному закону, период синусоиды равен 2П(360), поскольку мы имеем дело с электрическими величинами (ЭДС, напряжение, ток) назовем это электрическими градусами и будем измерять период в них.

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

                                                Рисунок 1. Вид сигнала трехфазного источника переменного тока.

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

                                                       Рисунок 2. Один электрический период трехфазного двигателя.

На рисунке 2 изображен один электрический период трехфазного двигателя, на данном периоде обозначено 3 произвольных момента, чтобы построить в каждом из этих моментов вектора магнитного поля отложим данный период, 360 электрических градусов, на окружности. Разместим 3 обмотки двигателя сдвинутые на 120 электрических градусов относительно друг друга (рисунок 3).

     Рисунок 3. Момент 1. Вектора магнитного поля каждой обмотки (слева) и результирующий вектор магнитного поля (справа).

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

      Рисунок 4. Момент 2. Вектора магнитного поля каждой обмотки (слева) и результирующий вектор магнитного поля (справа).

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

                                 Рисунок 5. Вид вращающегося магнитного поля формируемого обмотками на статоре двигателя.

За этим вектором электрического магнитного поля увлекается магнитное поле постоянных магнитов ротора в каждый момент времени (рисунок 6).

                            Рисунок 6. Постоянный магнит (ротор) следует направлению магнитного поля формируемого статором.

Так работает синхронная машина переменного тока.

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

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

Число перестановок из множества 3 равняется 6, следовательно, имеется 6 вариантов подключения обмоток. Изобразим возможные варианты коммутаций и выделим последовательность, при которой вектор будет шаг за шагом проворачиваться далее пока не дойдет до конца периода и не начнет сначала.

Электрический период будем отсчитывать от первого вектора.

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

На рисунке 5 видно, что при управлении трехфазным синусоидальным напряжением имеется множество векторов плавно проворачивающихся с течением времени, а при коммутации постоянным током возможно получить вращающееся поле только из 6 векторов, то есть переключение на следующий шаг должно происходить каждые 60 электрических градусов. Результаты из рисунка 7 сведены в таблицу 1.

 Таблица 1. Полученная последовательность коммутаций обмоток двигателя.

Плюс питания Минус питания Обмотка не подключена
W U V
W V U
U V W
U W V
V W U
V U W
Вид получившегося управляющего сигнала в соответствии с таблицей 1 изображен на рисунке 8. Где -V коммутация на минус источника питания (GND), а +V коммутация на плюс источника питания.     Рисунок 8. Вид управляющих сигналов от источника постоянного тока для бесколлекторного двигателя. Желтый – фаза W, синий – U, красный – V.

Однако реальная картина с фаз двигателя будет похожа на синусоидальный сигнал из рисунка 1. У сигнала образуется трапециевидная форма, так как в моменты, когда обмотка двигателя не подключена, постоянные магниты ротора наводят на нее ЭДС (рисунок 9).

                                    Рисунок 9. Вид сигнала с обмоток бесколлекторного двигателя в рабочем режиме.

На осциллографе это выглядит так:

                                 Рисунок 10. Вид окна осциллографа при измерении одной фазы двигателя.

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

                                       а.                                                                                              б.                                       Рисунок 11. Модель двигателя с одной (a) и с двумя (б) парами полюсов.

Двигатель с двумя парами полюсов имеет 6 обмоток, каждая из обмоток парная, каждая группа из 3 обмоток смещена между собой на 120 электрических градусов. На рисунке 12б. отложен один период для 6 обмоток. Обмотки U1-U2, V1-V2, W1-W2 соединены между собой и в конструкции представляют 3 провода вывода фаз. Для простоты рисунка не отображены соединения, но следует запомнить, что U1-U2, V1-V2, W1-W2 одно и то же.

На рисунке 12, исходя из данных таблицы 1, изображены вектора для одной и двух пар полюсов.

                                       а.                                                                                              б.                      Рисунок 12. Схема векторов магнитного поля для двигателя с одной (a) и с двумя (б) парами полюсов.

На рисунке 13 изображены вектора, созданные 6 коммутациями обмоток двигателя с одной парой полюсов. Ротор состоит из постоянных магнитов, за 6 шагов ротор провернется на 360 механических градусов. На рисунке обозначены конечные положения ротора, в промежутках между двумя соседними положениями ротор проворачивается от предыдущего к следующему скоммутированному состоянию. Когда ротор достигает данного конечного положения, должно происходить следующее переключение и ротор будет стремиться к новому заданному положению, так чтобы его вектор магнитного поля стал сонаправлен с вектором электромагнитного поля статора.

        Рисунок 13. Конечные положения ротора при шестиступенчатой коммутации бесколлекторного двигателя с одной парой полюсов.

В двигателях с N парами полюсов необходимо пройти N электрических периодов для полного механического оборота. Двигатель с двумя парами полюсов будет иметь два магнита с полюсами S и N, и 6 обмоток (рисунок 14). Каждая группа из 3 обмотки смещены друг относительно друга на 120 электрических градусов.

        Рисунок 14. Конечные положения ротора при шестиступенчатой коммутации бесколлекторного двигателя с двумя парами полюсов.

Определение положения ротора бесколлекторного двигателя Как было сказано ранее для работы двигателя необходимо в нужные моменты времени подключать напряжение на нужные обмотки статора. Подавать напряжение на обмотки двигателя нужно в зависимости от положения ротора, так чтобы магнитное поле статора всегда опережало магнитное поле ротора. Для определения положения ротора двигателя и коммутаций обмоток используют электронный блок управления. Отслеживание положения ротора возможно несколькими способами:       1. По датчикам Холла       2. По обратной ЭДС Как правило, датчиками Холла производители оснащают двигатель при выпуске, поэтому это самый распространённый метод управления. Коммутирование обмоток в соответствии с сигналами обратной ЭДС позволяет отказаться от датчиков встроенных в двигатель и использовать в качестве датчика анализ свободной фазы двигателя, на которую будет наводиться магнитным полем противо-ЭДС.

Управление бесколлекторным двигателем с датчиками Холла Чтобы коммутировать обмотки в нужные моменты времени необходимо отслеживать положение ротора в электрических градусах. Для этого применяются датчики Холла. Поскольку имеется 6 состояний вектора магнитного поля необходимо 3 датчика Холла, которые будут представлять один абсолютный датчик положения с трехбитным выходом. Датчики Холла устанавливаются также как обмотки, смещенные между собой на 120 электрических градусов. Это позволяет использовать магниты ротора в качестве воздействующего элемента датчика.

                                Рисунок 15. Сигналы с датчиков Холла за один электрический оборот двигателя.

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

 Таблица 2. Сопоставление сигналов датчиков Холла с коммутацией фаз двигателя.

Положение двигателя HU(1) HV(2) HW(3) U V W
0 0 0 1 0 - +
1 0 1 + - 0
1 0 0 + 0 -
1 1 0 0 + -
0 1 0 - + 0
360/N 0 1 1 - 0 +
При равномерном вращении двигателя с датчиков поступает сигнал смещенный на 1/6 периода, 60 электрических градусов (рисунок 16).                                                         Рисунок 16. Вид сигнала с датчиков Холла.

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

                                                 Рисунок 17. Изменение напряжения на фазе двигателя.

Сигнал с обмотки двигателя разбит на 4 момента:    1. Обмотка подключена к 0    2. Обмотка не подключена (свободная фаза)    3. Обмотка подключена к питающему напряжению    4. Обмотка не подключена (свободная фаза) Сопоставив сигнал с фаз с управляющим сигналом, видно, что момент перехода на следующее состояние можно детектировать пересечением средней точки (половины питающего напряжения) с фазой, которая в данный момент не подключена (рисунок 18).

                            Рисунок 18. Сопоставление управляющего сигнала с сигналом на фазах двигателя.

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

 Таблица 3. Алгоритм переключения обмоток двигателя

Текущее состояние U V W Следующее состояние
1 - Ожидание пересечения средней точки из + в - + 2
2 Ожидание пересечения средней точки из — в + - + 3
3 + - Ожидание пересечения средней точки из + в - 4
4 + Ожидание пересечения средней точки из — в + - 5
5 Ожидание пересечения средней точки из + в - + - 6
6 - + Ожидание пересечения средней точки из — в + 1
Пересечение средней точки проще всего детектировать компаратором, на один вход компаратора подается напряжение средней точки, а на второй текущее напряжение фазы.                                             Рисунок 19. Детектирование средней точки компаратором.

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

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

                                        Рисунок 20. Вид сигнала фазы при регулировании скорости ШИМ.

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

                                                   Рисунок 21. Схема делителя и фильтра сигнала с фазы двигателя.                                             Рисунок 22. Огибающая сигнала при изменении скважности ШИМ.

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

                                                      Рисунок 23. Вид виртуальная средней точки. Картинка взята с avislab.com/

С фаз снимаются сигналы через токограничительные резисторы и объединяются, получается вот такая картина:

                                          Рисунок 24. Вид осциллограммы напряжения виртуальной средней точки.

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

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

                                       Рисунок 26. Напряжение после делителя и фильтра низких частот.

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

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

habr.com

Схема управления бесколлекторными моторами BLDC, PMSM на микроконтроллере STM32

Простая схема для управления бесколлекторными (BLDC, PMSM) двигателями на базе микроконтроллера STM32F103.

  • Напряжение питания платы 12V
  • Напряжение питания мотора 12v … 72V
  • Максимальный ток 30 A

Схема управления бесколлеторными моторами для STM32

Схема.png

Плата управления бесколлеторными моторами для STM32

Скачать схему и плату ESC для Brushless моторов в формате Eagle

BLDC&PMSM.zip

Скачать примеры управления Brushless моторами (BLDC и PMSM) для микроконтроллера STM32

https://github.com/avislab/STM32F103/tree/master/Example_BLDC https://github.com/avislab/STM32F103/tree/master/Example_PMSM

Фото

Это первый вариант тестовой платы для управления бесколлекторными (brushless) моторами сделанная специально для микроконтроллера STM32. Она имеет несколько моментов, которые мне не нравятся, но она вполне рабочая. Ниже приведены ссылки на материалы по устройству Brushless двигателей и принципов управления BLDC моторами и PMSM.

Видео про эту плату управления бесколлекторными моторами на базе микроконтроллера STM32

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

STM32 – BLDC Motor Control STM32 – PMSM Control

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

STM32 – BLDC Motor ControlУправление бесколлекторным двигателем постоянного тока (BLDC) с помощью STM32:

STM32 – PMSM ControlУправление бесколлекторными PMSM с помощью STM32:

Бесколлекторные моторы “на пальцах”Что такое бесколлекторные моторы и как управлять бесколлекторными моторами:

Смотри также:

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

  • Бесколлекторные двигатели постоянного тока. Что это такое?
  • Бесколлекторные двигатели постоянного тока. Устройство бесколлекторного двигателя
  • Управление бесколлекторным двигателем с датчиками Холла (Sensored brushless motors)
  • Управление бездатчиковыми бесколекторными двигателями (Sensorless BLDC)
  • Запуск бездатчикового бесколекторного двигателя (Sensorless BLDC)
  • Определение положения ротора в остановленном состоянии двигателя
  • Структура регулятора бесколлекторного двигателя (ESC)
  • Схема регулятора скорости бесколлекторного двигателя (ESC)
  • Силовая часть регулятора бесколлекторных двигателей
  • Бесколлекторные двигатели. Литература
  • Бесколлекторные двигатели. Примеры на С
  • Схема управления бесколлекторными моторами BLDC, PMSM на микроконтроллере STM32
  • Управление бесколлекторным двигателем постоянного тока (BLDC) с помощью STM32
  • Управление PMSM с помощью STM32
  • Видео о бесколлекторных моторах. BLDC, PMSM, векторное управление

Смотри также:

  • 1. STM32. Программирование STM32F103. Тестовая плата. Прошивка через последовательный порт и через ST-Link программатор
  • 2. STM32. Программирование. IDE для STM32
  • 3. STM32. Программирование STM32F103. GPIO
  • 4. STM32. Программирование STM32F103. Тактирование
  • 5. STM32. Программирование STM32F103. USART
  • 6. STM32. Программирование STM32F103. NVIC
  • 7. STM32. Программирование STM32F103. ADC
  • 8. STM32. Программирование STM32F103. DMA
  • 9. STM32. Программирование STM32F103. TIMER
  • 10. STM32. Программирование STM32F103. TIMER. Захват сигнала
  • 11. STM32. Программирование STM32F103. TIMER. Encoder
  • 12. STM32. Программирование STM32F103. TIMER. PWM
  • 13. STM32. Программирование STM32F103. EXTI
  • 14. STM32. Программирование STM32F103. RTC
  • 15. STM32. Программирование STM32F103. BKP
  • 16. STM32. Программирование STM32F103. Flash
  • 17. STM32. Программирование STM32F103. Watchdog
  • 18. STM32. Программирование STM32F103. Remap
  • 19. STM32. Программирование STM32F103. I2C Master
  • 20. STM32. Программирование STM32F103. I2C Slave
  • 21. STM32. Программирование STM32F103. USB
  • 22. STM32. Программирование STM32F103. PWR
  • 23. STM32. Программирование STM32F103. Option bytes
  • 24. STM32. Программирование STM32F103. Bootloader
  • STM32. Скачать примеры
  • System Workbench for STM32 Установка на Ubuntu
  • Keil uVision5 – IDE для STM32
  • IAR Workbench – IDE для STM32
  • Управление бесколлекторным двигателем постоянного тока (BLDC) с помощью STM32
  • Управление PMSM с помощью STM32
Успехов.

www.avislab.com

BLDC | Avislab

Простая схема для управления бесколлекторными (BLDC, PMSM) двигателями на базе микроконтроллера STM32F103.

  • Напряжение питания платы 12V
  • Напряжение питания мотора 12v … 72V
  • Максимальный ток 30 A

Читати далі →

Схема управления бесколлекторными моторами BLDC, PMSM на микроконтроллере STM32(на русском языке)

Проста схема для керування безколекторними BLDC, PMSM двигунами на базі мікроконтролера STM32F103.

  • Напруга живлення плати 12V
  • Напруга живлення двигуна 12v … 72V
  • Максимальний струм 30 A

Читати далі →

Управление PMSM с помощью STM32

Изложенный ниже материал основан на документации AVR447 от фирмы Atmel. Пример управления PMSM двигателем с тремя датчиками Холла для микроконтроллера STM32 базируется на информации, изложенной в этой документации.

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

В большинстве литературных источников двигатели с постоянными магнитами разделены на две категории по форме обратной ЭДС. Обратная ЭДС может быть трапецивидной или синусоидальной. Хотя терминология в литературе иногда противоречива, в большинстве случаев считается, что бесколлекторный двигатель постоянного тока (BLDC) имеют трапецивидную обратную ЭДС, а синхронный двигатель с постоянными магнитами (PMSM) имеет синусоидальную обратную ЭДС. И BLDC и PMSM могут возбуждаться синусоидальными токами.

Читати далі →

Управление PMSM с помощью STM32(на русском языке)

Керування PMSM за допомогою STM32

Викладений нижче матеріал ґрунтується на документації AVR447 від фірми Atmel. Приклад керування PMSM двигуном з трьома датчиками Холла для мікроконтролера STM32 базується на інформації, викладеної в цій документації.

Існує деяка плутанина в термінології пов’язаної з безколекторними двигунами. Саме поняття “безколекторний двигун” включає в себе кілька груп двигунів, в тому числі і безколекторні двигуни з постійними магнітами. Далі маються на увазі безколекторні двигуни з постійними магнітами.

У більшості літературних джерел двигуни з постійними магнітами розділені на дві категорії за формою зворотного ЕРС (електрорушійна сила). Зворотна ЕРС може мати вигляд трапеції або синусоїди. Хоча термінологія в літературі іноді суперечлива, в більшості випадків вважається, що безколекторні двигуни постійного струму (BLDC) мають зворотну ЕРС у формі трапеції, а синхронні двигуни з постійними магнітами (PMSM) мають синусоїдальну зворотну ЕРС. І BLDC і PMSM можуть збуджуватися синусоїдальними струмами.

Читати далі →

Управление бесколлекторным двигателем постоянного тока (BLDC) с помощью STM32

В качестве примера рассмотрим управления трехфазным бесколлекторным двигателем (BLDC Motor) с датчиками Холла. Об алгоритме управления бесколлекторным двигателем с датчиками Холла я ранее писал в статье Управление бесколлекторным двигателем с датчиками Холла (Sensored brushless motors). В этой статье мы рассмотрим только вопросы программирования микроконтроллера. Имеется в виду что вы знакомы с алгоритмом управления BLDC с датчиками Холла , имеете понятие о структуре регулятора, а силовая часть выбрана в соответствии с мощностью Вашего двигателя. Поэтому в статье не будет приведена принципиальная схема, будет рассматриваться только структурная схема с описанием назначения выводов микроконтроллера.

Читати далі →

Управление бесколлекторным двигателем постоянного тока (BLDC) с помощью STM32(на русском языке)

Керування безколекторним двигуном постійного струму (BLDC) за допомогою STM32

У якості прикладу розглянемо керування трьохфазним безколекторним двигуном (BLDC Motor) з датчиками Холла. Про алгоритм керування безколекторним двигуном з датчиками Холла я раніше писав у статті Управление бесколлекторным двигателем с датчиками Холла (Sensored brushless motors). У цій статті ми розглянемо лише питання програмування мікроконтролера. Мається на увазі що ви знайомі з алгоритмом керування BLDC з датчиками Холла та розумієтесь на структурі регулятора, а силова частина обрана відповідно до потужності Вашого двигуна. Тому у статті не буде наведена принципова схема, розглядатиметься лише структурна схема з описом призначення виводів мікроконтролера.

Читати далі →

Бесколлекторные двигатели. Примеры на C(на русском языке)

Ці приклади можна розглядати тільки як демонстрацію алгоритмів керування безколекторними двигунами. Для доведення їх до кінцевої технічної реалізації потрібно, як мінімум, додати схеми захисту. Ці приклади розраховані на керування двигунами з напругою живлення від 12 до 24 Вольт. При вищій напрузі живлення доведеться вносити зміни у схеми. У схемах передбачена можливість подачі PWM сигналу (за допомогою перемичок) на верхні та/або нижні ключі. Для керування бездатчиковими двигунами це може відіграти важливу роль.

Sensored BLDC

Приклад керування безколекторним двигуном з датчиками Холла

Приклад, написаний на GCC 3.4.6для мікроконтролера Atmega168

Містить: схему, приклад коду на С.

brushless_sensored 

 

Скачати

Читати далі →

Эти примеры можно рассматривать, как демонстрацию алгоритмов управления бесколлекторным двигателем, но не как конечный продукт. Для доведения до законченной технической реализации потребуется, как минимум, добавить дополнительные цепи защиты. Эти примеры рассчитаны на управление двигателями с напряжением питания от 12 до 24 Вольт. При более высоком напряжении питания потребуется вносить изменения в схему. В схемах предусмотрена возможность подавать ШИМ сигнал (с помощью перемычек) на верхние и/или нижние ключи. Для управления бездатчиковыми двигателями это может играть важную роль.

Sensored BLDC

Пример управления бесколлекторным двигателем с датчиками Холла

Пример написан на GCC 3.4.6для микроконтроллера Atmega168

Содержит: схему, исходный код на C.

brushless_sensored 

 

Скачать

Читати далі →

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

Выбор силовых транзисторов

Транзисторы должны выдерживать рабочей ток с некоторым запасом. Поэтому выбирают полевые транзисторы с рабочим током в 1.2-2 раза больше максимального тока двигателя. В характеристиках полевых транзисторов может быть указано несколько значений тока для различных режимов. Иногда указывают ток, который может выдерживать кристалл Id (Silicon Limited) (он больше) и ток, ограниченный возможностями корпуса транзистора Id (Package Limited) (он меньше). например:

Читати далі →

www.avislab.com

Контроллер BLDC / Блог им. amaora / Сообщество EasyElectronics.ru

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

Надо бы рассказать, что такое BLDC, чем отличается от PMSM, но я этого делать не буду, название тут ни о чем не говорит, некоторые аппноты утверждают, что последний имеет Sinusouidal Back-EMF вместо Trapezoidal у первого и управляется более эффективно с помощью FOC тогда как для BLDC и метод шести шагов дает хорошую эффективность. Inrunner и Outrunner думаю все понятно, что такое, ротор внутри статора и ротор вокруг статора, второе дает больший момент при тех же размерах и массе.

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

Это все не слишком важно, с электрической стороны все варианты одинаковы. Хорошо объяснено во множестве аппнотов и на rcgroups, человека с avrfreaks заспамили вопросами и он недавно ответил вот этим.www.youtube.com/watch?v=4XXB_7kJwbI&context=C32e523cADOEgsToPDskIcc1eAUm5ZgHCW-3sn75GC

Статьи здесь, как перематывать и переклеивать магниты на моторы от cdrom.www.southernsoaringclub.org.za/

Аппнотов так много, что проще самому найти, самый известный похоже AVR444, где предлагают использовать ADC синхронизированный с PWM.

Схемы управления рассматриваются в том видео. Хотя схема всегда одна, шесть транзисторов, более интересны схемы ШИМ-ления ими, это может влиять на измрение Back-EMF, простой способ ШИМ-ить три верхних или три нижных транзистора. Шести-шаговый цикл тоже везде расписан, две обмотки работают третья свободна, что позволяет измерять ЭДС (EMF) в ней и определять положение ротора.

Управление начинается с либо выравнивания (align) либо определения каким-то образом положения ротора, повторю, что буду говорить только о бездатчиковых вариантах, на rcgroups в крупной и большой теме про BLDC предлагался способ связанный с измерением `inductive kick`, как и что не знаю, ниже будет ссылка, мне пока хватает простого выравнивания, суть его в том, что на двигатель подается одна из шести фаз на некоторое достаточно длительное время, за которое ротор успевает повернутся и стабилизироваться в известном положении, что позволяет далее начать вращение в нужную сторону.

Следующий шаг разгон (ramp up) без обратной связи (open loop), может быть достаточно одного переключения, может несколько десятков, зависит от мотора и его нагрузки. Здесь увеличивается частота переключения. Примерные числа, конечная скорость 300 RPM и 5% duty cycle.

Ну и целевой замкнутый (closed-loop) режим это подстройка частоты переключения под поведение двигателя, а управление моментом/скоростью производится изменением скважности ШИМ.

Одна из простых для AVR схем измерения Back-EMF. Точнее определения перехода через ноль (Zero Crossing), используется виртуальный ноль, точка соединения сигналов с трех фаз, как замена настоящей точки соединения обмоток, и компараторы для ловли момента ZC.www.rcgroups.com/forums/attachment.php?attachmentid=1634110

Похоже такая схема пошла вот от сюда и сейчас всякие ESC от HobbyKing используют эту схему и этот код.http://home.versanet.de/~b-konze/blc_18a/blc_18a.htm

У меня однако подобным образом получалось детектить только какой-то шум. Но проблема не в методе.

Другой способ это прямое измерение без виртуальной нулевой точки и работа синхронно с PWM, хорошо объяснено вот здесь.scholar.lib.vt.edu/theses/available/etd-09152003-171904/unrestricted/T.pdf

Можно использовать и компаратор и АЦП, но т.к. выборки делаются синхронно с ШИМ а это редко, то компаратор не даст нужной точности, значения АЦП можно интерполировать и вычислить точное время ZC. Основное преимущество, отсутствие шумов от ШИМ, измерение происходит когда транзисторы открыты PWM ON или когда верхний закрыт PWM OFF. Комплементарный вариант называют active freewheeling когда речь идет об эффективности, это уменьшает потери во время PWM OFF при прохождении тока через диод нижнего транзистора.

Один раз по такой синхронной схеме удалось получить, что-то похожее на нормальный BEMF сигнал.

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

А прямо сейчас получается ещё хуже чем на последней картинке, пока нет смысла показывать cвой код, схему, плату и детально рассказывать метод.

Вот самая полезная ссылка.www.rcgroups.com/forums/showthread.php?t=200567

Может кто-то знает причины подобных проблем со стартом.

Update_1:

Только начал читать, но кажется это лучшее, что я видел по теме bld.

«Design and Prototyping Methods for Brushless Motors and Motor Control»web.mit.edu/scolton/www/SCThG.pdf

we.easyelectronics.ru

Контроллеры

 

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

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

Удалось добиться следующих результатов. При напряжении питания 53В частота вращения составила чуть более 16000 об. в мин. Больше разгонять не рискнул, поскольку параметры двигателя неизвестны и неизвестна его максимальная частота вращения. В этом двигателе магниты приклеены к валу. Есть вероятность, что они оторвутся от него при большей скорости. Пока реализовано только вращение в одну сторону. Частота не регулируется и не стабилизируется. Меняется только от напряжения питания. Все это планируется cделать в будущем. А также в плане добавить дисплей для отображения частоты вращения и режимов работы. Ввести настройку с компьютера и кнопками.

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

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

Это двигатель

А вот это схема

Если не использовать датчики положения, а тупо подовать трехфазное напряжение на этот двигатель, он работать не будет. Будет может быть только вращаться при маленькой скорости, момент на валу будет слабый. Поэтому, трехфазное напряжение должно зависеть от положения ротора. Положение ротора определяется по напряжению индуцируемому в обмотках двигателя в промежутках между подачей на них напряжения. Двигатель от винчестера при напряжении 12В вращается примерно 6000об/мин. Вот видеоролик(1.6Mb).

А еще в качестве бесколлекторного двигателя можно использовать шаговый двигатель. Из трехфазных нашел два двигателя ШД-5 и какой то буржуйский.

На самом деле ШД-5 шестифазный, но его можно подключить как трехфазный.

www.imafania.narod.ru