Микросхема управления трехфазным двигателем

Одна микросхема - один двигатель. STSPIN32F0 - готовое решение для управления BLDC-моторами STMicroelectronics – мировой лидер по производству микроконтроллеров. За последние десять лет компания

Микросхема управления трехфазным двигателем

Одна микросхема — один двигатель. STSPIN32F0 — готовое решение для управления BLDC-моторами

STMicroelectronics – мировой лидер по производству микроконтроллеров. За последние десять лет компания совершила революцию и создала наиболее мощную экосистему на базе бюджетных семейств STM8 и STM32. Также STMicroelectronics может похвастаться интересными наработками в области управления электродвигателями. Иногда компания экспериментирует и выпускает на рынок инновационные специализированные продукты. Ярким примером этого является микросхема STSPIN32F0, объединяющая микроконтроллер с ядром ARM Cortex-M0 и систему управления электродвигателем.

Рис. 1. STSPIN32F0 – готовое решение для управления BLDC-моторами

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

Бесколлекторные BLDC-двигатели имеют явные преимущества перед обычными щеточными моторами: большой ресурс, простота обслуживания, высокий КПД. Интересно, что структура схемы управления такими двигателями мало чем отличается от схемы управления щеточными моторами (рис. 2). Тем не менее, долгое время они не были востребованы. Причиной этого была сложная система коммутации силового каскада.

Рис. 2. Упрощенная схема управления электродвигателем

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

Рис. 3. Упрощенная функциональная схема управления BLDC-двигателями

Таким образом, для создания схемы управления BLDC-двигателем потребуется: микроконтроллер, драйверы трехфазного моста, сам трехфазный мост, датчики обратной связи ОС (или система измерения обратной ЭДС), система нормирования сигналов ОС (компараторы, операционные усилители и т. д.). Не стоит забывать и о необходимости развитой системы питания: низковольтный источник для цифровых микросхем, источник для питания драйверов и аналоговых схем (ОУ, АЦП, компараторы), мощный источник для двигателя. Если речь идет о настраиваемой системе, то в приведенный перечень потребуется добавить интерфейс с пользователем или канал связи, например, RS-485. Об обязательных элементах в виде разъемов и пассивных компонентов обвязки, можно даже не упоминать.

Как видно, список получается достаточно длинным, особенно если строить схему на дискретных компонентах. А теперь мысленно перенесите все это на печатную плату, и представьте, какой сложной она получается. Естественно, у любого здравомыслящего инженера появится вопрос: нельзя ли как-то упаковать хотя бы часть из всего перечисленного в корпус интегральной микросхемы? Действительно, ведь микроконтроллеры, регуляторы напряжения, драйверы, АЦП, ОУ, компараторы и другие компоненты выпускаются в интегральном исполнении. Однако, чтобы выполнить эту задумку, нужно иметь богатый опыт в проектировании полупроводников и SIP-систем (система в корпусе, System in Package). Такой опыт есть у STMicroelectronics, и он был использован при создании SIP-микросхемы STSPIN32F0.

STSPIN32F0– SIP-микросхема, созданная для управления работой трехфазных бесколекторных двигателей и позволяющая реализовывать различные методы определения положения ротора. STSPIN32F0 объединяет в одном корпусе значительную часть списка, приведенного выше (рис. 4):

  • микроконтроллер STM32F031x6x7 с 32-битным ядром ARM ® Cortex ® -M0, рабочей частотой до 48 МГц, 4 кбайт ОЗУ, 32 кбайт FLASH и программированием по SWD;
  • три полумостовых драйвера силовых транзисторов со встроенными бустрепными диодами и выходным током до 600 мА;
  • четыре операционных усилителя для нормирования сигналов ОС от датчиков Холла или от бездатчиковой схемы;
  • программируемый компаратор для контроля тока;
  • встроенный DC/DC-регулятор 3,3 В с защитой от перегрузки, КЗ и перегрева для питания низковольтных схем;
  • встроенный LDO 12 В с защитой от перегрева для питания драйверов, компараторов и ОУ;
  • широкий выбор дополнительной периферии: 16 каналов ввода-вывода, 5 таймеров, 12-битный 9-канальный АЦП;
  • коммуникационные интерфейсы: I2C, USART и SPI.

Рис. 4. Функциональная схема STSPIN32F0

Все эти функциональные блоки умещаются в корпусе размером всего 7 x 7 x 1,0 мм!

Контроллер STM32F031x6x7 хорошо известен пользователям STMicroelectronics. На субъективный взгляд автора статьи, это один из наиболее успешных микроконтроллеров на российском рынке, как в плане его собственной цены, так и в плане стоимости средств разработки и их доступности.

Отдельно стоит остановиться на встроенных драйверах мощных транзисторов. Они обеспечивают выходной ток до 600 мА, имеют логику защиты от сквозных токов и интегрированные бустрепные диоды. Все это приводит к минимальному количеству внешних компонентов (рис. 5).

Рис. 5. Дополнительные внешние компоненты силовых каскадов при использовании STSPIN32F0

Как говорилось выше, обязательным компонентом системы управления бесколекторным двигателем является схема обработки сигналов ОС. Для этих целей в STSPIN32F0 предусмотрено четыре ОУ с размахом входного напряжения ±12 В (рис. 6). Они необходимы для нормирования сигналов от датчиков Холла либо сигналов обратной ЭДС в случае использования бездатчиковой схемы определения положения ротора. Контроль тока осуществляется с помощью ОУ или дополнительного программируемого компаратора, который защищает схему от перегрузок и КЗ.

Рис. 6. Схема нормирования сигналов ОС

Благодаря наличию встроенных регуляторов 3,3 В и 12 В, схема питания максимально упрощается (рис. 7). При этом, диапазон напряжений составляет 8…45 В, а количество внешних компонентов остается минимальным.

Рис. 7. Схема встроенного DC/DC-регулятора 3,3 В

Встроенный контроллер предоставляет пользователям ряд полезных функциональных блоков: порты ввода-вывода, многоканальный АЦП, таймеры, коммуникационные интерфейсы SPI, I2C, USART. Благодаря этому разработчик может создать полноценный привод с широким функционалом:

  • управление скоростью вращения с учетом внешнего аналогового сигнала (тахометр, потенциометр управления);
  • работа под управлением внешнего ПЛК с коммуникацией по протоколам на базе RS485/422;
  • организация светодиодной индикации;
  • организация интерфейса с пользователем с помощью клавиатур, кнопок;
  • прием и передача дискретных сигналов.

Можно привести следующие примеры целевых приложений для STSPIN32F0: роботы, бытовая техника, квадрокоптеры, игрушки и многое другое. При этом, если учесть, что диапазон рабочих температур для STSPIN32F0 составляет-40…+125°C, то это делает возможным его использование и в промышленных приложениях.

Как было сказано выше, одним из основных достоинств продуктов STMicroelectronics является мощная поддержка в виде развитой системы средств разработки. STSPIN32F0 укладывается в программно-аппаратную платформу STM32 и имеет собственную отладочную плату STEVAL-SPIN3201 (рис. 8).

STEVALSPIN3201 – пример реализации привода для бесколлекторного двигателя с рабочими напряжениями 8…45 В и выходным током до 15 А. Кроме микросхемы контроллера STSPIN32F0, на плате размещен мощный трехфазный мост на базе MOSFETSTD140N6F7. Для контроля тока предлагается использовать шунтовые резисторы. Также на плате располагается программатор-отладчик ST-LINK/V2-1, который подключается к ПК с помощью разъема mimiUSB и без проблем позволяет начать работу со встроенным микроконтроллером STM32F031. К услугам разработчиков предлагаются традиционные элементы отладочных плат: светодиоды, разъемы, кнопки и подстроечные резисторы.

Рис. 8. Внешний вид отладочной платы STEVAL-SPIN3201

Характеристики контроллера STSPIN32F0:

  • встроенный контролер STM32F031x6x7: ядро 32-битное ARM ® Cortex ® -M0, рабочая частота до 48 МГц, 4 кбайт ОЗУ, 32 кбайт FLASH, программирование SWD;
  • три полумостовых драйвера силовых транзисторов: выходной ток 600 мА, встроенные бустрепные диоды, защита от сквозных токов;
  • четыре операционных усилителя для нормирования сигналов ОС;
  • компаратор для контроля тока;
  • схема декодирования сигналов ОС: от датчиков Холла и от бесдатчиковой схемы;
  • встроенный DC/DC-регулятор 3,3 В с защитой от перегрузки, КЗ и перегрева;
  • встроенный LDO 12 В с защитой от перегрева;
  • широкий выбор дополнительной периферии: 16 каналов ввода-вывода, 5 таймеров, 12-битный 9-канальный АЦП;
  • коммуникационные интерфейсы: I2C, USART иSPI;
  • напряжение питания: 8…45 В;
  • диапазон рабочих температур: -40…+125°C;
  • корпус: 7x7x1,0мм VFQFPN-48L.

Характеристики отладочного набора STEVAL-SPIN3201:

  • выходной ток 15 А;
  • силовой 3-фазный мост на базе MOSFET STD140N6F7;
  • поддержка STM32 PMSM FOC Software Development Kit (STSW-STM32100);
  • встроенный отладчик ST-LINK/V2-1;
  • напряжение питания: 8…45 В;
  • три шунта для контроля тока;
  • пользовательские кнопки и подстроечные резисторы.

Цифровые формирователи трехфазного напряжения с ШИМ-управлением

Texas Instruments CD4017B CD4070B CD4093B

Михаил Шустов, г. Томск

Рассмотрены схемы цифровых формирователей трехфазного напряжения регулируемой частоты с возможностью плавного управления шириной заполняющих выходной импульс высокочастотных сигналов в пределах от 1 до 99%.

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

Формирователи трехфазных сигналов (Рисунки 1 и 2) построены по аналогичной структурной схеме и включают генератор импульсов повышенной частоты с независимой регулировкой частоты и скважности [4], делитель частоты, формирователь трехфазных сигналов и выходные каскады.

Рисунок 1. Формирователь трехфазного напряжения с мультиступенчатым переключением
частоты выходных импульсов и независимым управлением ширины заполняющих
выходной импульс высокочастотных сигналов.

Формирователь, Рисунок 1, содержит собственно генератор прямоугольных импульсов на элементе DD1.1 микросхемы CD4093 (КР1561ТЛ1) с коэффициентом заполнения, близким к 99%, работающий на частоте порядка 20 кГц. На элементе DD1.2 выполнен узел плавной регулировки ширины сигналов задающего генератора. Регулировка ширины импульсов (коэффициента заполнения D) в пределах от 1 до 99% производится потенциометром R2.

Рисунок 2. Формирователь трехфазного напряжения с плавной перестройкой частоты
выходных импульсов и независимым управлением ширины заполняющих
выходной импульс высокочастотных сигналов.

На элементах DD2.1 и DD2.2 микросхемы CD4070 (К561ЛП2) выполнен целочисленный делитель частоты входного сигнала, имеющий коэффициент деления примерно от 13 до 267. Этот коэффициент деления ступенчато задается плавной регулировкой потенциометра R4 и зависит от RC-постоянной времени (R3+R4)C2. Несмотря на то, что коэффициент деления меняется ступенчато, при больших значениях этого коэффициента ступенчатая перестройка частоты выходного сигнала несущественно отличается от плавной перестройки.

На микросхеме DD3 CD4017 (К561ИЕ8) выполнен делитель частоты входного сигнала на 3 и, одновременно, формирователь трехфазного напряжения.

Выходные каскады на каждую из фаз выполнены по идентичным схемам (блоки A, B и С). На вход каждого из этих каскадов поступает сигнал соответствующей фазы (A, B и С) частотой 25…500 Гц и, одновременно, сигнал частотой порядка 20 кГц, плавно регулируемый по коэффициенту заполнения от 1 до 99%. В итоге на выходах (A, B и С) устройства формируются серии высокочастотных (

20 кГц) импульсов регулируемой ширины (от 1 до 99%) в пределах длительности низкочастотных (25…500 Гц) трехфазных сигналов.

Второй формирователь трехфазного напряжения, Рисунок 2, имеет генератор импульсов с независимой регулировкой частоты и скважности [4], выполненный на элементах DD1.1 и DD1.2 микросхемы CD4093 (КР1561ТЛ1). Генератор работает на частоте 1.5…12 кГц (перестройка потенциометром R2). Регулировка коэффициента заполнения D производится потенциометром R4 в пределах от 1 до 99% и совершенно не зависит от частоты генерации.

Сигнал с выхода задающего генератора поступает на вход двухступенчатого делителя частоты, выполненного на микросхемах DD2 и DD3 CD4017 (К561ИЕ8). Второй каскад делителя (микросхема DD3) одновременно выполняет функции формирователя трехфазного напряжения. Итоговый коэффициент деления частоты равен 30 (10×3).

Выходные каскады устройства, Рисунок 2, выполнены по схеме, идентичной приведенной ранее на Рисунке 1.

В итоге на выходе формирователя трехфазного напряжения, Рисунок 2, формируются серии из 30 высокочастотных (1.5…12 кГц) импульсов регулируемой ширины (от 1 до 99%) в пределах длительности низкочастотных (50…400 Гц) трехфазных сигналов.

РЕГУЛЯТОР МОЩНОСТИ ДЛЯ 3 ФАЗНОГО МОТОРА

Цифровой регулятор мощности для 3 фазного мотора переменного тока выполнен с использованием специальной микросхемы MC3PHAC от фирмы NXP Semiconductor. Она генерирует 6 ШИМ-сигналов для 3 фазного двигателя переменного тока. Блок легко совмещается с мощным 3 фазным IGBT/MOSFET ключевым приводом. Плата обеспечивает 6 ШИМ сигналов для IPM или IGBT инвертора, а также сигнал торможения. Схема работает в автономном режиме и не требует программирования и кодирования.

Схема регулятора

Органы управления

  • PR1: Потенциометр для установки ускорения
  • PR2: Потенциометр для регулировки скорости
  • SW1: Переключатель DIPX4 для установки частот 60Hz/50Hz и установки выхода активный низкий / активный высокий
  • SW2: Переключатель сброса
  • SW3: Старт / стоп мотор
  • SW4: изменить направление двигателя

Основные параметры

  • Питание драйвера 7-15 В постоянного тока
  • Потенциометр для управления скоростью двигателя
  • Частота ШИМ по умолчанию 10.582 кГц (5.291 кГц – 164 кГц)

М/с MC3PHAC — это монолитный интеллектуальный контроллер, разработанный специально для удовлетворения потребности в недорогих 3-фазных системах управления электродвигателем переменного тока с регулировкой скорости вращения. Устройство адаптируется и настраивается в зависимости от его параметров. Оно содержит все активные функции, необходимые для реализации части управления с открытым контуром. Всё это делает MC3PHAC идеально подходящей для устройств, требующих поддержки управления двигателем переменного тока.

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

Все выходные сигналы TTL уровня. Вход для блока питания 5-15 В постоянного тока, постоянное напряжение на шине должно быть в пределах 1.75 — 4,75 вольта, DIP-переключатель предусмотрен на плате для установки под двигатели с частотой 60 или 50 Гц, перемычки помогают установить полярность выходного ШИМ-сигнала, то есть активный низкий или активный высокий уровень, что позволяет использовать эту плату в любом модуле, так как выход можно установить активный низкий или высокий. Потенциометр PR2 помогает регулировать скорость двигателя. Для изменения базовой частоты, времени отключения ШИМ, других возможных параметров — изучайте даташит. Файлы платы — в архиве

Управление скоростью. Синхронная частота электродвигателя может быть задана в режиме реального времени для любого значения от 1 Гц до 128 Гц регулировкой потенциометра PR2. Коэффициент масштабирования составляет 25,6 Гц на вольт. Обработка 24-битным цифровым фильтром для того чтобы увеличить стабильность скорости.

Управление ускорением. Ускорение двигателя может быть задано в режиме реального времени в диапазоне от 0,5 Гц/сек до 128 Гц/сек, путем регулировки потенциометра PR1. Коэффициент масштабирования составляет 25,6 Гц/секунду на вольт.

Защита. При возникновении неисправности MC3PHAC немедленно отключает ШИМ и ожидает, пока условие неисправности не будет устранено перед запуском таймера для повторного включения. В автономном режиме этот интервал времени ожидания задается на этапе инициализации путем подачи напряжения на вывод MUX_IN, в то время как вывод RETRY_TxD управляется на низком уровне. Таким образом, время повтора может быть указано от 1 до 60 секунд с коэффициентом масштабирования 12 секунд на вольт.

Контроль внешних неисправностей. Вывод FAULTIN принимает цифровой сигнал, указывающий на неисправность, обнаруженную с помощью внешних цепей мониторинга. Высокий уровень на этом входе приводит к немедленному отключению ШИМ. Как только этот вход возвращается к низкому уровню логики, таймер повтора сбоя начинает работать, и ШИМ повторно включается после достижения запрограммированного значения тайм-аута. Входной контакт 9 разъема CN3 FLTIN должен быть с высоким потенциалом.

Мониторинг целостности напряжения (входной сигнал pin 10 в cn3) в DC_BUS отслеживается на частоте 5.3 кГц (4.0 кГц, если частота ШИМ имеет значение до 15,9 кГц). В автономном режиме пороги фиксируются на 4.47 вольт (128% от номинальной), и 1,75 вольт (50% от номинальной), где номинальное значение определяется в 3,5 вольт. Как только уровень сигнала DC_BUS возвращается к значению в пределах допустимого — таймер повтора сбоя начинает работать, и ШИМ снова включается после достижения запрограммированного значения тайм-аута.

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

Резистивное торможение. DC_BUS пин-код отслеживается на 5.3 кГц (4.0 кГц, если частота ШИМ имеет значение до 15,9 кГц), и когда напряжение достигает определенного порога, RBRAKE контакт примет высокий потенциал. Этот сигнал может использоваться для управления резистивным тормозом, размещенным через конденсатор шины постоянного тока, таким образом, механическая энергия от двигателя будет рассеиваться в виде тепла в резисторе. В автономном режиме порог DC_BUS, необходимый для подтверждения сигнала RBRAKE, зафиксирован на уровне 3,85 вольта (110 % номинала), где номинал определяется как 3,5 вольта.

Выбор частоты ШИМ. У MC3PHAC имеется четырех дискретных частоты ШИМ, которые могут быть динамически изменены во время вращения электродвигателя. Этот резистор может быть потенциометром или фиксированным резистором в диапазоне, показанном в таблице. Частота ШИМ определяется подачей напряжения на контакт MUX_IN в то время как контакт ШИМ FREQ_RxD управляется низким потенциалом.

AterLux › Блог › О бесколлекторных низкооборотных двигателях и L6234D.

Стабилизирующий подвес для камеры своими руками. Часть 1.

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

Но сначала немного теории.

Что такое бесколлекторные моторы?

Как следует из названия, эти моторы у которых отсутствует щёточно-коллекторный узел. На вращающейся части – роторе – расположены постоянные магниты. На неподвижной части – статоре – обмотки электромагнитов. В движение такой мотор приводится изменением тока на разных фазах. Одним из примеров таких моторов являются шаговые двигатели. Изменение электрических фаз приводит к смещению ротора на строго предопределённый угол – один шаг.
Также есть моторы, рассчитанные на постоянное вращение. Например, двухфазные бесколлекторные моторы используются в компьютерных вентиляторах. Трёхфазные моторы используются в моделировании, а также в приводе электрических велосипедов и скутеров.
Отсутствие скользящих контактов щёток позволяет достигать большой мощности и долговечности.

Трёхфазные моторы

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

Эти моторы также подразделяются по количеству электромагнитов и количеству полюсов. Наиболее распространённая компоновка 12N14P что означает наличие 12 обмоток статора и 14 магнитных полюсов на роторе. Число полюсов всегда кратно 2: ведь полюса бывают только двух типов – северный и южный. Число обмоток кратно трём, поскольку двигатель трёхфазный. На схеме показана намотка обмоток. A B C – намотка соответствующей обмотки в одну сторону, -a -b -c – в противоположную.

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

Трёхфазный мост

Для электрической коммутации используются трёхфазные мосты, представляющие из себя три блока (полумоста), в каждом из которых по два транзистора – на плюс и на минус. Для управления мотором на одном из трёх полумостов выбирается «плюс», на другом «минус», а третий остаётся отключенным. При помощи ШИМ, транзисторы импульсами коммутируют фазу двигателя к выбранной полярности, пока он не провернётся на нужный угол. Затем схема коммутации меняется. Микроконтроллер в плате управления двигателем определяет моменты, когда фазы должны быть переключены. Для этого используются либо установленные на моторе датчики Холла, либо же ЭДС, возникающая в проводе свободной фазы.
Для управления маломощными моторами годится трёхфазный мост L6234.

L6234 представляет собой сборку в одном корпусе трёх полумостов, на двух n-МОП транзисторах каждый, драйверов к ним и схемы подкачки напряжения для верхнего ключа. Каждый полумост управляется значениями на двух входах: один из них выбирает полярность (коммутировать плюс, или минус), а второй включает, или отключает полумост. Для управления высокоскоростными моторами вход включения можно использовать для контроля мощности при помощи ШИМ.

Максимальный ток, на который рассчитана микросхема — 4 Ампера.

Низкоскоростные моторы

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

Такие моторы представляют собой промежуточное звено между шаговыми двигателями и высокоскоростными моторами: они позволяют статично фиксировать произвольное положение, но не ограничены определёнными «шагами». Используются, в основном, в стабилизирующих подвесах для видеокамер в аэровидеосъёмке. По-английски такие подвесы называются gimbal (=универсальный шарнир), а моторы так и называют gimbal motor.

Управление gimbal-мотором

Для управления можно использовать тот же самый трёхфазный мост L6234. На входы включения (ENx) подаётся постоянный высокий уровень, то есть все три полумоста постоянно включены. А вот входы выбора полярности (INx) подключаются к ШИМ-выходам микроконтроллера. В микроконтроллерах типа ATmega48/88/168/328 и т.п. можно настроить 6 ШИМ-выходов, а значит, управлять сразу двумя такими моторами.
Очень важно, чтобы все ШИМ выходы работали синфазно. То есть, если каждый ШИМ настроен на одно и то же значение, то переключаться они должны строго одновременно. L6234 позволяет коммутировать на частоте до 50кГц, поэтому, для плавной бесшумной работы, можно смело настраивать ШИМ выходы МК на максимальную частоту. При частоте МК 8 МГц и phase-correct режиме выхода, частота ШИМ составит 15 686 Гц.
Для синхронизации таймеров в ATmega48/88/168/328 можно воспользоваться регистром GTCCR, который остановит счёт таймера. Ниже пример настраивающий все 6 ШИМ выходов синфазно. Timer1 при этом работает в 8-битном режиме:

GTCCR = (1 « TSM) | (1 « PSRASY) | (1 « PSRSYNC); // Блокировка счёта
OCR0A = 0;
OCR0B = 0;
OCR1A = 0;
OCR1B = 0;
OCR2A = 0;
OCR2B = 0;

TCCR0A = 0b10100001;
TCCR0B = 0b00000001;
TCNT0 = 0;

TCCR1A = 0b10100001;
TCCR1B = 0b00000001;
TCNT1 = 0;

TCCR2A = 0b10100001;
TCCR2B = 0b00000001;
TCNT2 = 0;

(1 « TSM); // Разблокировка и одновременный запуск таймеров

Если на все 3 ШИМ выхода, управляющие одним мотором, подаётся одно и то же значение, то, хотя полярность каждого моста быстро меняется почти 16 тысяч раз в секунду, поскольку это происходит одновременно, ток через обмотки не идёт. Но если значение ШИМ хоть одного вывода отличается от остальных, то появляется небольшой промежуток времени, когда разные фазы коммутируются с разной полярностью, и через обмотки идёт ток. Чем больше разница значений ШИМ, тем большую часть времени ток будет идти.
Для того, чтобы зафиксировать мотор в нужном положении, значения ШИМ должны быть пропорциональны синусу, со смещением на треть периода (т.е. на 2/3*Pi).
Иначе говоря, значение ШИМ для i-й (от 0 до 2) фазы мотора можно вычислить по формуле:
PWM(i) = 128 + sin(A+ i * 2 / 3 * Pi) * P
Где P – выдаваемая мощность (до 127), A – электрический угол. Изменяя A можно добиться поворота мотора на определённый угол. Напомню, что изменение электрического угла на полный цикл, приводит к повороту мотора на два магнитных полюса. В схеме с 14 магнитами для целого оборота потребуется 7 циклов смены электрического угла
Если вещественную арифметику заменить на целочисленную, а значения синуса хранить в таблице, то скорости МК вполне хватит на управление такими моторами.

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

Каковы должны быть минимальные ресурсы микроконтроллера, работающего в составе привода трехфазного BLDC-мотора? Для ответа на этот вопрос необходимо соотнести возможности чипсета с принципами управления указанного двигателя и предъявляемыми к устройству функциональными требованиями. Если мы рассматриваем рынок простых и дешевых схем управления скоростью в таких применениях, как вентиляторы и насосы, то проблема может быть существенно упрощена. Эти устройства работают при наличии или отсутствии датчиков (необходимых для определения положения ротора), что имеет ряд аргументов «за» и «против». Однако по количеству контактов I/O существенный выигрыш получается в случае, если сигнал положения ротора может быть снят с одного вывода. Кроме того, наличие многофункциональных выходов в пользовательском интерфейсе позволяет изменять их назначение. Благодаря этому, используя определенную технику минимизации, можно сократить количество задействованных контактов процессора и снизить таким образом требования к его ресурсам.

Система управления BLDC-мотором

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

Рис. 1. Блок-схема управления BLDC-мотором

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

Технология минимизации ресурсов

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

Существует несколько различных путей оптимизации количества системных входов, предназначенных для подключения датчиков Холла, потенциометра, сенсоров тока перегрузки и ключей «Пуск/ Стоп». Датчики Холла, как правило, встраиваются в BLDC-двигатель, поэтому целесообразно интегрировать в мотор и схему, формирующую цифровой интерфейс для их связи с микроконтроллером. Выход подобной схемы выполняется в виде откры- того коллектора с «подтягивающим» резистором. В этом случае требуется один датчик Холла и один цифровой вход микросхемы семейства PIC12F.

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

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

Функцию остановки запущенного двигателя удобно выполнять в комбинированном режиме «Пуск/Стоп» в ходе цикла коммутации. Таким образом, остановка мотора реализуется программно-аппаратным методом в процессе выбега. Когда ключ «Стоп» нажимается при вращении, все сигналы управления транзисторами верхнего уровня блокируются, программа анализирует состояние мотора и запускает режим торможения. В простейшем случае функция остановки может выполняться нормально-разомкнутым тумблером, подключенным параллельно описанной выше цепи защиты от токовой перегрузки.

В схеме защиты от перегрузки по току не задействован ни один из выводов I/O микроконтроллера, для этой цели используется цепь подключения питания микросхемы семейства PIC12, позволяющая включить схему в режим перезагрузки при возникновении аварии. Этот тип PIC-контроллера имеет встроенный параллельный стабилизатор, соединенный с источником питания через резистор, номинал которого выбирается в зависимости от условий работы. Таким образом, в случае перегрузки питание микросхемы может быть отключено схемой защиты по току, подключенной параллельно стабилизатору.

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

Некоторые PIC-контроллеры обладают особой периферией, способной формировать программный «моторный» ШИМ-сигнал, в то время как другие могут вырабатывать ШИМ-напряжение только на одном из n выходов. В последнем случае полный сигнал управления формируется с помощью, например, периферии ECCP (Enhanced Capture/ Compare Peripheral). В микросхеме PIC12F допускается комбинированное формирование ШИМ-сигнала посредством периферии ECCP или в режиме альтернативной конфигурации выводов (APCFG). Подобная возможность представляется очень удобной, поскольку импульсы могут вырабатываться через ECCP только по двум выводам, в то время как для работы схемы их требуется три, что доступно в режиме APCFG. На сегодняшний день в описанном режиме могут работать два контроллера семейства: PIC12F615 и PIC12HV615 (рис. 2).

Рис. 2. Аппаратная реализация схемы

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

Рис. 3. Блок-схема управления скоростью мотора

Выход PI-контроллера загружается в регистр коэффициента заполнения импульсов CCPR1, занимая восемь старших разрядов. Выход подсистемы формирования ШИМ-сигнала коммутируется вместе с одним из трех транзисторов нижнего плеча инвертора, что позволяет осуществлять управление мотором и контроль скорости.

Три встроенных таймера PIC12 используются для измерения скорости двигателя по сигналу датчика Холла (TMR1), задания периода коммутации (TMR2) и генерации прерывания после окончания периода предварительного расчета (TMR0).

При включении питания считывается уставка скорости, после чего система может быть запущена с помощью ключа «Пуск». После подачи команды на запуск привода происходит оценка положения ротора и активируется программа формирования короткой разомкнутой петли регулирования. Она работает до тех пор, пока не будет продетектировано появление следующего сигнала датчика Холла. С этого момента времени коммутация инвертора синхронизируется с положением ротора. После успешной обработки двух сигналов датчика Холла программа переключается в режим работы с замкнутой обратной связью по скорости. При возникновении перегрузки по току активируется режим перезапуска питания POR (Power On Reset).

Аппаратная реализация системы управления включает трехфазный BLDC-мотор, низковольтный силовой модуль инвертора и контроллер PIC12F615, подключенный к модифицированной демо-плате Microchip. Было показано, что данная топология схемы позволяет использовать шесть I/O контактов микроконтроллера с многофункциональными выводами. Гибкая внутренняя периферия PIC12HV615 и встроенный параллельный регулятор дают возможность создать схему (рис. 4), выполняющую все необходимые для данного применения функции. Таким образом, создана основа для проектирования простых и дешевых систем управления скоростью в случаях, когда не требуется высокая точность работы привода.

Рис. 4. Принципиальная схема привода BLDC-мотора с контроллером PIC12HV615