на фото 2 платы - плата дисплея 101х45мм и плата управления двигателем 98х50мм.
и эти же платы снизу:
Основные характеристики платы управления бесколлекторным двигателем:
А теперь немного теории.
1. Что такое бесколлекторный двигатель и зачем он нужен.
Если кто-нибудь нашел эту запись, то он уже в общих чертах представляет, что это такое. Поэтому я лучше начну с фотографий внутренностей обычных китайских двигателей и расскажу, в каких случаях стоит его использовать.
На фотографии 2 китайских двигателя FL42BLS01 и FL57BLS04. Характеристики их легко найти в яндексе или гугле. Именно FL42BLS01 я изначально выбрал для привода мешалки, а FL57BLS04 приобрел потом как более мощный для проверки платы. Есть ещё более мощная серия FL86, но пока я не вижу, где её можно применить.
А вот и разобранный FL42BLS01. Как видно, качество исполнения довольно неплохое для китайского двигателя. Крышки аллюминиевые с посадочными местами под подшипники, в задней крышке располагается плата с 3 датчиками холла. Датчики никак не выравниваются, просто торчат из платы, что не очень хорошо. Небольшое пояснение - для переключения обмоток статора нужно знать угол поворота ротора - датчики холла нахотятся вблизи ротора и срабатывают(или выключаются) при изменении направления магнитного поля. Это самые распостраненные датчики. Статор набран из стальных пластин, вообще в его конструкции нет ничего необычного. Ротор точеный, с наклеенным на него магнитным кольцом, которое выкрашено черной краской.
А это уже фото FL57BLS04, здесь датчики холла находятся в пластиковой обойме и на роторе для них сделано отдельное магнитное кольцо, что лучше ) Передний подшипник на роторе больше заднего, и это тоже правильно. Магнит ротора набран из 4 штук, унификация однако. Например в младшей модели FL57BLS01 на роторе будет только 1 такой магнит.
Теперь неплохо бы разместить фото коллекторного двигателя для сравнения, но оказалось довольно сложно найти небольшой качественный коллекторный двигатель с подшипниками. Дорогую экзотику от Maxon motor я не рассматривал. Правда есть советские двигатели типа ДПР и ДПМ, но они давно не выпускаются и закладывать их в новые конструкции нежелательно. Хотя потом наверное размещу фотографию его устройства.
Главные достоинства бесколлекторного двигателя, которые и определяют применение - долговечность, высокие динамические характеристики, высокая мощность и крутящий момент при небольших габаритах.Недостаток один и самый главный - цена связки двигатель+блок управления+блок питания.В тех случаях, когда не нужна долговечность - лучше использовать коллекторные двигатели, что и делают производители электроинструмента, и совершенно правы. В стационарном оборудовании, где не важны габариты и динамические характеристики лучше использовать асинхронные двигатели. Но в диапазоне малых мощностей асинхронные двигатели существенно крупнее бесколлекторных, вот почему для привода мешалки я остановился на бесколлекторнике.Наиболее известная область, где бесколлекторные двигатели вне конкуренции - авиамоделизм.
Какими бывают бесколлекторные двигатели:- бездатчиковые, с датчиками холла, с энкодером. На самом деле для работы двигателя всё равно нужно как-либо определять положение ротора и бездатчиковые двигатели не совсем бездатчиковые - положение ротора определяется по напряжениям в обмотках(противоЭДС), возникающих при вращении ротора и зависящих от его скорости и положения. Главная проблема - раскрутить ротор, стабильно определять положение таким методом можно только на высокой скорости. Про высокие динамические характеристики при таком управление можно забыть. Плюс такого решения - уменьшение цены. Именно такие двигатели используются в авиамоделизме, в шпинделе жестких дисков, в вентиляторах.Датчики Холла устанавливаются на двигатели, от которых требуется уверенный старт, возможность работать на небольших оборотах и высокий момент с начала движения, но к точности положения ротора требования невысоки. Такие двигатели можно найти в капстанах видеомагнитофонов, в сидиромах, в транспортных средствах.И наконец по энкодеру положение ротора определяют, когда важна точность разгона, позиционирования и торможения. Это сервоприводы станков. Энкодер в простейшем виде можно увидеть в старой мышке с шариком. Диск с множеством прорезей и оптопара дают несколько десятков срабатываний за один оборот. Промышленные энкодеры выполняются с высокой точностью, поэтому стоят дорого. Точность нужна для расчета ускорений привода, к электронике также высокие требования.-Инраннеры и аутраннеры. Термины пришли из моделизма. Инраннер - цилиндрический ротор находится внтри двигателя(как на фотографях выше). Аутраннер - ротор в виде чашки вращается снаружи, а внутри расположен статор с обмотками. Аутраннеры имеют больше момент, но несколько меньшую мощность. Практически все промышленные двигатели - инраннеры, я знаю только линейку аутраннеров от Japan Servo. Но в моделизме аутраннеры распространены.Кстати шаговые двигатели - это разновидность бесколлекторных двигателей, но с очень большим числом полюсов. Поэтому они имеют больше момент, но меньшую мощность. Бесколлекторый двигатель также можно использовать как шаговый, но шаг будет значительно больше, а момент удержания значительно меньше. Если же шаговый двигатель оснастить энкодером - можно значительно улучшить его динамические характеристики, получится дешевая альтернатива серводвигателям.
О контроллерах бесколлекторных двигателей и их схемотехнике я написал в следующей записи.
v-kudryashov.livejournal.com
Бытовая и медицинская техника, авиамоделирование, трубозапорные приводы газо- и нефтепроводов – это далеко не полный перечень областей применения бесколлекторных двигателей (БД) постоянного тока. Давайте рассмотрим устройство и принцип действия этих электромеханических приводов, чтобы лучше понять их достоинства и недостатки.
Одна из причин проявления интереса к БД — это возросшая потребность в высокооборотных микродвигателях, обладающих точным позиционированием. Внутренне устройство таких приводов продемонстрировано на рисунке 2.
Рис. 2. Устройство бесколлекторного двигателяКак видите, конструкция представляет собой ротор (якорь) и статор, на первом имеется постоянный магнит (или несколько магнитов, расположенных в определенном порядке), а второй оборудован катушками (В) для создания магнитного поля.
Примечательно, что эти электромагнитные механизмы могут быть как с внутренним якорем (именно такой тип конструкции можно увидеть на рисунке 2), так и внешним (см. рис. 3).
Соответственно, каждая из конструкций имеет определенную сферу применения. Устройства с внутренним якорем обладают высокой скоростью вращения, поэтому используются в системах охлаждения, в качестве силовых установок дронов и т.д. Приводы с внешним ротором используются там, где требуется точное позиционирование и устойчивость к перегрузкам по моменту (робототехника, медицинское оборудование, станки ЧПУ и т.д.).
Бесколлекторный двигатель в компьютерном дисководеВ отличие от других приводов, например, асинхронной машины переменного тока, для работы БД необходим специальный контроллер, который включает обмотки таким образом, чтобы векторы магнитных полей якоря и статора были ортогональны друг к другу. То есть, по сути, устройство-драйвер регулирует вращающий момент, действующий на якорь БД. Наглядно этот процесс продемонстрирован на рисунке 4.
Как видим, для каждого перемещения якоря необходимо выполнять определенную коммутацию в обмотке статора двигателя бесколлекторного типа. Такой принцип работы не позволяет плавно управлять вращением, но дает возможность быстро набрать обороты.
Привод коллекторного типа отличается от БД как конструктивными особенностями (см. рис 5.), так и принципом работы.
Рис. 5. А – коллекторный двигатель, В – бесколлекторныйКратко расскажем о принципе работы коллекторных машин. Когда на одну из катушек подается напряжение, происходит ее возбуждение, и образуется магнитное поле. Оно вступает во взаимодействие с постоянными магнитами, это заставляет проворачиваться якорь и размещенный на нем коллектор. В результате питание подается на другую обмотку и цикл повторяется.
Частота вращения якоря такой конструкции напрямую зависит от интенсивности магнитного поля, которое, в свою очередь, прямо пропорционально напряжению. То есть, чтобы увеличить или уменьшить обороты, достаточно повысить или снизить уровень питания. А для реверса необходимо переключить полярность. Такой способ управления не требует специального контролера, поскольку регулятор хода можно сделать на базе переменного резистора, а обычный переключатель будет работать как инвертор.
Конструктивные особенности двигателей бесколлекторного типа мы рассматривали в предыдущем разделе. Как вы помните, их подключение требует наличия специального контролера, без которого они просто не будут работать. По этой же причине эти двигатели не могут использоваться как генератор.
Стоит также отметить, что в некоторых приводах данного типа для более эффективного управления отслеживаются положения ротора при помощи датчиков Холла. Это существенно улучшает характеристики бесколлекторных двигателей, но приводит к удорожанию и так недешевой конструкции.
Чтобы заставить работать приводы данного типа, потребуется специальный контроллер (см. рис. 6). Без него запуск невозможен.
Рис. 6. Контроллеры бесколлекторных двигателей для моделизмаСобирать самому такое устройство нет смысла, дешевле и надежней будет приобрести готовый. Подобрать его можно по следующим характеристикам, свойственным драйверам шим каналов:
Обратим внимание, что первые три характеристики определяют мощность БД.
Как уже указывалось выше, управление коммутацией обмоток привода осуществляется электроникой. Чтобы определить, когда производить переключения, драйвер отслеживает положение якоря при помощи датчиков Холла. Если привод не снабжен такими детекторами, то в расчет берется обратная ЭДС, которая возникает в неподключенных катушках статора. Контроллер, который, по сути, является аппаратно-программным комплексом, отслеживает эти изменения и задает порядок коммутации.
Большинство БД выполняются в трехфазном исполнении. Для управления таким приводом в контролере имеется преобразователь постоянного напряжения в трехфазное импульсное (см. рис.7).
Рисунок 7. Диаграммы напряжений БДЧтобы объяснить, как работает такой вентильный двигатель, следует вместе с рисунком 7 рассматривать рисунок 4, где поочередно изображены все этапы работы привода. Распишем их:
В кажущейся простоте управления есть масса сложностей. Нужно не только отслеживать положение якоря, чтобы произвести следующую серию импульсов, а и управлять частотой вращения, регулируя ток в катушках. Помимо этого следует выбрать наиболее оптимальные параметры для разгона и торможения. Стоит также не забывать, что контроллер должен быть оснащен блоком, позволяющим управлять его работой. Внешний вид такого многофункционального устройства можно увидеть на рисунке 8.
Рис. 8. Многофункциональный контроллер управления бесколлекторным двигателемЭлектрический бесколлекторный двигатель имеет много достоинств, а именно:
Теперь рассмотрим минусы. Существенный недостаток, который ограничивает использование БД – их относительно высокая стоимость (с учетом цены драйвера). К числу неудобств следует отнести невозможность использования БД без драйвера, даже для краткосрочного включения, например, чтобы проверить работоспособность. Проблемный ремонт, особенно если требуется перемотка.
www.asutpp.ru
1. Формирование трехфазного напряжения.
В статьях из интернета я прочел, что bldc должны управляться трапецевидной формой сигнала, а синусоидальной формой сигнала управляются т.н. blac двигатели.Покрутив шуруповертом несколько бесколлекторных двигателей я оценил на осциллографе форму противоЭДС, и это был синус. Таким образом я решил, что правильнее будет формирование трехфазного синуса. Математику можно посмотреть в апнотах Atmel. В результате оказывается, что ШИМом на фазах нужно формировать вот такие вот сигналы:
Собствено сигналы - это Ряд1,2,4. А Ряд 3 - это синусоида, получаемая в результате между двумя любыми фазами.Я составил таблицу из 256 значений от 0 до 360 градусов для этой формы сигнала и делал 3 выборки через 120 градусов для каждой из фаз.Взятый мной контроллер Atmel имеет так называемый Power Stage Controller. Суть в том, что можно записать значения ШИМ в 3 регистра и заниматься другими вычислениями, а в это время контроллер будет включать и выключать выводы PSC, поддерживая требую скважность ШИМ. Затем записать следующие значения и т.д. При этом счетчик PSC работает на повышенной частоте, обеспечивая высокую точность ШИМ. Вобщем это намного лучше, чем программное формирование ШИМ.
Решив эту задачу уже можно повертеть двигатель, но если ротор не успеет за магнитным полем и сорвется, то раскрутиться он уже не сможет и будет просто колебаться или вибрировать. Поэтому для определения положения ротора нужно приступить к следующей задаче.
2. Оценка состояния датчков холла.
В промышленных бесколлекторных двигателях используются цифровые датчики холла, в отличии от дисководов и сидиромов. При смене направления магнитного потока выход датчика замыкается на землю или размыкается и напряжение на нем подтягивается внешней схемой до 5В.Если двигатель имеет 1 пару полюсов, то выход датчика на оборот будет иметь 2 комбинации - 0 и 1. Если установить 3 датчика через 120 электрических градусов, то на оборот получится 6 различных состояний+2 невозможных 111 и 000. Возможно можно установить и больше датчиков, но для двигателя с 2 парами полюсов 12 контрольных точек на оборот вполне достаточно для управления.
Возможно мне не повезло, но двигатели FL42BLS01 и FL57BLS04, с которыми я работал, имели различное расположение датчиков холла. Поэтому была создана универсальная процедура калибровки. При медленном повороте двигателя запоминается положение датчиков холла, а в реальной работе поле переключается со смещением в 90 электрических градусов. Отклонение от 90 градусов снижает КПД, но на двигателях с большим количеством пар полюсов позволяет снять больше мощности, у моделистов это называется управление таймингом. И может мне ещё раз не повезло, но на двигателе FL42BLS01 датчики стояли немного неравномерно, поэтому процедура калибровки была написана не зря.
3. Расчет необходимой скорости вращения магнитного поля, добавление плавного старта и др.
По времени между срабатываниями датчиков холла можно приблизительно определить реальную частоту вращения двигателя и скорректировать скорость вращения магнитного поля. Всё, проделанной работы уже достаточно для вращения мотора. Остальное - дополнительные функции.
Плавный старт. С момента запуска, например на одну секунду, ограничивается максимальная амплитуда напряжения. Это позволяет избежать резких рывков на старте.Также желательно добавить ограничение напряжения в области малых скоростей, это будет защита от заклинивания и перегрева, но соответственно уменьшится и максимальный вращающий момент.Вобщем-то нужно ещё добавить действия по таймауту датчиков (мотор заклинило), добавить функцию тормоза (быстрая остановка мотора после выключения), реверса. Также не стоит забывать про защиту от короткого замыкания.
4. Поддержание скорости.
Для этой задачи стоит ознакомиться с теорией ПИД-регулирования.Сразу скажу, что можно ограничиться пропорциональным регулированием. То есть изменять амплитуду напряжения пропорционально ошибке по скорости.Дело в том, что интегральная компонента регулирования повышает точность, но снижает устойчивость и с инерционными нагрузками на двигатель могут начаться колебания.Дифференциальная же компонента как раз служит для борьбы с колебаниями инерционных нагрузок, но требует высокой точности от датчиков, которую не обеспечивают датчики холла.При инерционных нагрузках нужен уже другой уровень - быстрая электроника и точный датчик-энкодер.От датчиков холла можно добиться стабильности - снимать показания 1 раз за оборот, но на снижение частоты съема данных в 12 раз я решил не идти.Я реализовывал поддержание скорости в достаточно специфичном режиме - с минимальным шумом в диапазоне до 2 тыс. оборотов и с относительно постоянной нагрузкой. В остальных случаях этот режим работает посредственно.
5. Интерфейс.
В промышленных решениях обычно используют аналоговый вход для амплитуды и несколько входов под включение, реверс и т.д. Управление при этом можно организовать очень просто - переменным резистором и несколькими кнопками. Однако при большой длине проводов или высокой мощности двигателя наводятся помехи и провода нужно экранировать. В моделизме скорость задаётся не напряжением, а частотой, но вопрос с помехоустойчивостью всё равно до конца не решается.Поэтому я использовал помехоустойчивый интерфейс RS485, а данные передавал по протоколу MODBUS. Старейший и наиболее простой стандарт, на изучение которого у меня тем не менее ушло порядочно времени. Ну и естественно пришлось делать панель управления на микроконтроллере, которая бы тоже понимала MODBUS. А на ней дисплей, кнопки и энкодер.
Ну вот вкратце и всё!Если будут вопросы - дополню.
v-kudryashov.livejournal.com
Управление бесколлекторными двигателями
Сафронов Алексей, Компания Гамма Санкт-Петербург
Данная статья сфокусирована на применении микроконтроллера с минимальными ресурсами для управления вентильным двигателем и скорости его вращения.
Введение
Как микроконтроллер может управлять трехфазным БДПТ двигателем? Для того, чтобы ответить на этот вопрос требуется, чтобы были определены ресурсы микросхемы, которые в данном приложении будут взаимодействовать с внешней топологией и функциями управления двигателя БДПТ. Существуют сенсорные и безсенсорные конфигурации двигателей (для определения положения ротора), которые имеют свои за и против. В данной статье мы рассмотрим управление двигателем с одним датчиком Холла.
Схема управления бесколлекторным двигателем
Рис. 1. Структурная схема управления БДПТ двигателем
Структурная схема на рис.1. иллюстрирует систему, использующую единичный датчик Холла для возврата положения ротора (многие системы используют три датчика для этой цели), потенциометр для установки скорости, выключатель "старт-стоп", защиту от токовой перегрузки и трехфазный силовой каскад для запуска двигателя. Результирующее количество независимых соединений с микроконтроллером, показанное между субкомпонентами системы равно 11 (5 входов и 6 выходов). Однако, минимизация может быть получена в случае, если микроконтроллер поддерживает многофункциональность выводов и повсеместно встречающуюся периферию.
Техника оптимизации ресурсов
Учитывая, что выходные сигналы микроконтроллера подсоединены к трехфазному силовому мосту, и при условии, что применен шестиступенчатый алгоритм управления БДПТ задействован, получаем, что только два транзистора включены в любое время в течение нормальной работы. То есть, включенными являются один транзистор верхнего плеча и один транзистор нижнего плеча. Таким образом, нижние и верхние ключи находятся в разных половинах моста и включены в так называемом диагональном режиме. Это является преимуществом с точки зрения минимизации, потому что, когда два из трех устройств верхнего плеча выключены, третий должен быть включен. Однако, третий сигнал верхнего плеча может быть восстановлен из других двух посредством нескольких резисторов и транзисторного инвертора, который подсоединяется ко входу третьего верхнего плеча силового моста (см. рис 4 - Принципиальная схема). Это приводит к сокращению количества выводов микроконтроллера. Таким образом, мы перешли от системы требующей 6 выводов к системе требующей 5.
Что касается пяти системных входов, т.е. входов для датчика Холла, потенциометра, защиты от токовых перегрузок, и переключателей "старт-стоп" существуют различные возможности. Чаще всего датчик Холла встроен в корпус двигателя и обычно имеет схему согласования с логическим выходом. Т.к. в данном применении требуется один датчик Холла, а контроллеры семейства PIC12F имеют один цифровой вход, то он может быть использован для этой цели.
Для запуска двигателя и выполнения функции установки скорости, при включении питания один из выводов верхнего драйвера трех фазного силового моста может быть сконфигурирован как аналоговый вход. Этот вывод подсоединяется к делителю напряжения или потенциометру. Следовательно, еще до того, как мотор придет в движение скорость может быть установлена и считана. Дополнительно, может быть использован стартовый включатель, который может уменьшить скорость ниже минимума, а также в состоянии запустить мотор. В этом аналоговом режиме ввода, хотя подсоединенный транзистор верхнего драйвера и включен, это не дает результата в активизации мотора т.к. все транзисторы нижнего драйвера в это время выключены. Впоследствии, в рабочем режиме вывод конфигурируется как выход для перемещения транзистора верхнего драйвера, и затем цепь делителя напряжения эффективно начинает выполнять функцию подтяжки вверх/вниз.
Функция остановки двигателя может быть реализована используя нормально открытый ключ параллельно с защитой от токовой перегрузки, описанной ниже.
Защита от токовой перегрузки не использует какие-либо порты микроконтроллера; вместо этого, она использует схему источника питания PIC12 для того, чтобы перезагрузить устройство при возникновении токовой перегрузки. Этот тип PIC имеет внутренний шунтовый регулятор, который подсоединен к источнику питания схемы посредством резистора. Резистор выбирается в соответствии с требованиями приложения. Следовательно, питание может быть отключено от PIC посредством цепи защиты от токовых перегрузок, которая фактически подсоединена параллельно с внутренним регулятором питания.
Таким образом, теперь мы имеем систему, которая требует микроконтроллер со следующими функциями входов/выходов: один выделенный цифровой вход, один цифро-аналоговый выход и четыре цифровых выхода. Однако, мы проигнорировали тот факт, что, для управления скоростью нам будет необходимо модулировать приложенное к БДПТ двигателю напряжение и для этого нам потребуются применить ШИМ сигналы, в данном случае, к транзисторам нижнего драйвера. На самом деле, ввиду того, что, выполняется шестиступенчатое управление, достаточно иметь любой один из трех нижних драйверов, запитанный ШИМ сигналом в любой момент времени в течение цикла переключения двигателя. Некоторые микроконтроллеры имеют специальную периферию ШИМ для этой цели, в то время как другие имеют возможность управления ШИМ сигналами от одного до n выходов, и в основном достигают того же самого посредством, например, ECCP (усовершенствованный модуль захвата, сравнения, ШИМ). В PIC12F мы имеем в наличии комбинацию как управления ШИМ сигналом в режиме ECCP, так и альтернативные режимы конфигурации выводов (APCFG). Это крайне удобно, ввиду того, что управление ШИМ может быть сделано всего на двух выводах посредством ECCP, а приложение требует три (посредством APCFG режима). В настоящее время, только PIC12F615 и PIC12HV615 имеют такую возможность.
Программное обеспечение
В программном обеспечении реализовано управление скоростью с обратной связью используя PI регулирование. Для организации обратной связи используется один датчик Холла. Данное PI регулирования загружаются в регистр CCPR1 (скважность ШИМ), старшие 8 бит. Выход ШИМ подается на один из трех транзисторов нижнего плеча силового моста для того, чтобы коммутировать двигатель и управлять скоростью.
Структура программного обеспечения
Три внутренних таймера PIC12 используются для измерения скорости двигателя, полученной из сигнала датчика Холла (TMR1), установки ШИМ периода (TMR2) и генерирования коммутационных прерываний (TMR0). При включении питания установленная скорость считывается и когда стартовый переключатель нажат - рабочий режим начинается.
Когда рабочий режим двигателя стартовал, положение ротора предварительно оценено и обратная связь коммутационной последовательности разорвана до обнаружения следующего сигнала от датчика Холла, во время которого время последовательности коммутаций синхронизировано с позицией ротора. После определения двух успешных переходов сигналов датчика Холла прошивка приложения переходит в режим замкнутой петли контроля скорости.
Схема защиты от токовых перегрузок вызывает сброс по включению питания устройства.
Выводы
Этот набросок дизайна контроллера двигателя продемонстрировал как можно работать с вентильным двигателем, источником питания и PIC12HV615, собранных на стартовой плате. Как видно, данная форма управления двигателем может быть осуществлена с использованием микроконтроллера с малым количеством выводов. Гибкая периферия PIC12HV615 и внутренний регулятор позволяют построить комплексные решения, пример показан на рис.4. Этот пример может быть основой для дешевых дизайнов некоторых применений управления двигателем, где в действительности не требуется высокой производительности.
mirznanii.com
Эти примеры можно рассматривать, как демонстрацию алгоритмов управления бесколлекторным двигателем, но не как конечный продукт. Для доведения до законченной технической реализации потребуется, как минимум, добавить дополнительные цепи защиты. Эти примеры рассчитаны на управление двигателями с напряжением питания от 12 до 24 Вольт. При более высоком напряжении питания потребуется вносить изменения в схему. В схемах предусмотрена возможность подавать ШИМ сигнал (с помощью перемычек) на верхние и/или нижние ключи. Для управления бездатчиковыми двигателями это может играть важную роль.
Пример управления бесколлекторным двигателем с датчиками Холла Пример написан на GCC 3.4.6для микроконтроллера Atmega168 Содержит: схему, исходный код на C. |
Скачать |
Пример управления бездатчиковым бесколлекторным двигателем Пример написан на GCC 3.4.6для микроконтроллера Atmega168 Адаптированный к GCC примерот Atmel (см. AVR444)Файлы, предлагаемые Atmel можно скачать здесь Содержит: схему, исходный код на C. |
Скачать |
Предполагается, что контроллер будет работать на частоте 8Мгц. Определение положения ротора основано на измерении напряжения на свободной фазе и определении момента перехода напряжения свободной фазы через ноль. Для измерения напряжения используется АЦП микроконтроллера. В этом примере в качестве опорного напряжение АЦП используется питание микроконтроллера, а уровень напряжения перехода фазы через ноль (значение АЦП) задается в константе ADC_ZC_THRESHOLD. Это не совсем корректно, так как при изменении напряжения питания двигателя, определение момента перехода свободной фазы через ноль становиться не точным. Так же этот пример имеет некоторые ограничения по скорости из за использования АЦП.
Пример управления бездатчиковым бесколлекторным двигателем Пример написан на GCC 3.4.6для микроконтроллера Atmega168. Содержит: схему, исходный код на C. |
Скачать |
Это основательная переработка примера AVR444. Его основная отличительная особенность: для определения момента перехода напряжения свободной фазы через ноль используется внутренний компаратор микроконтроллера. Также увеличена частоты работы микроконтроллера до 16 МГц (тактирование от внешнего кварцевого резонатора). Эти и другие изменения позволили работать с более оборотистыми двигателями.
www.avislab.com
16 февраля 2016 в 11:44 (МСК) | сохранено 16 февраля 2016 в 08:45 (МСК)
Когда я начал разрабатывать блок управления бесколлекторным двигателем (мотор-колесом), было много вопросов о том, как сопоставить реальный двигатель с абстрактной схемой из трех обмоток и магнитов, на которой, как правило, все объясняют принцип управления бесколлекторными двигателями.Когда я реализовал управление по датчикам Холла я еще не очень понимал, что происходит в двигателе дальше абстрактных трех обмоток и двух полюсов: почему 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. У сигнала образуется трапециевидная форма, так как в моменты, когда обмотка двигателя не подключена, постоянные магниты ротора наводят на нее ЭДС (рисунок 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 | + |
Управление с помощью сигнала обратной ЭДС Существуют бесколлекторный двигатели без датчиков положения. Определение положения ротора осуществляется с помощью анализа сигнала ЭДС на свободной фазе двигателя. В каждый момент времени к одной из фаз подключен «+» к другой «-» питания, одна из фаз остается свободной. Вращаясь, магнитное поле ротора наводит ЭДС в свободной обмотке. По мере вращения напряжение на свободной фазе изменяется (рисунок 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 |
Компаратор срабатывает в момент перехода напряжения через среднюю точку и генерирует сигнал для микроконтроллера.
Обработка сигнала с фаз двигателя Однако сигнал с фаз при регулировании скорости ШИМ отличается видом, и имеет импульсный характер (рисунок 21), в таком сигнале невозможно детектировать пересечение со средней точкой.
Рисунок 20. Вид сигнала фазы при регулировании скорости ШИМ.Поэтому данный сигнал следует отфильтровать RC фильтром чтобы получить огибающую, а так же разделить под требования компаратора. По мере увеличения скважности шим сигнал будет возрастать по амплитуде (рисунок 22).
Рисунок 21. Схема делителя и фильтра сигнала с фазы двигателя. Рисунок 22. Огибающая сигнала при изменении скважности ШИМ.Схема со средней точкой
Рисунок 23. Вид виртуальная средней точки. Картинка взята с avislab.com/С фаз снимаются сигналы через токограничительные резисторы и объединяются, получается вот такая картина:
Рисунок 24. Вид осциллограммы напряжения виртуальной средней точки.Из-за ШИМ, напряжение средней точки не постоянно, сигнал так же необходимо фильтровать. Напряжение средней точки после сглаживания будет достаточно большим (в районе питающего напряжения двигателя), его необходимо разделить делителем напряжения до значения половины питающего напряжения.
После прохождения сигнала через фильтр колебания сглаживается и получается ровное напряжение относительно которого можно детектировать пересечение обратной ЭДС.
Рисунок 26. Напряжение после делителя и фильтра низких частот.Средняя точка будет менять свое значение в зависимости от напряжения (скважности ШИМ), так же как и огибающая сигнала.
Полученные сигналы с компараторов заводятся на микроконтроллер, который их обрабатывает по алгоритму выше. Пока на этом все.
sohabr.net