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

Мартин Хилл

Перевод: Евгений Карташев

В статье обсуждаются требования к минимальным ресурсам, необходимым микроконтроллеру на базе Microchip PIC12 для управления скоростью трехфазного бесколлекторного двигателя постоянного тока (BLDC). Показано, как техника минимизации позволяет снизить количество выводов I/O (Input/Output) для данного применения до шести. Предполагается, что читатели знакомы с алгоритмами управления указанного типа двигателей.

Каковы должны быть минимальные ресурсы микроконтроллера, работающего в составе привода трехфазного 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
*  *  *

Другие статьи по этой теме


Скачать статью в формате PDF

Скачать статью в формате PDF 2010_5_60.pdf  

 
ПОДПИСКА НА НОВОСТИ

Оцените, пожалуйста, удобство и практичность (usability) сайта:
Хорошо
Нормально
Плохо

Зависает компьютер? ремонт компьютеров королев г воскресенск