Структура регулятора скорости бесколлекторного двигателя (ESC)


02.02.2014

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

Регулятор скорости бесколлекторного двигателя (ESC - Electronic Speed Controller) иногда называют контроллер бесколлекторного двигателя или привод бесколлекторного двигателя.

Условно разделим регулятор на следующие модули: Модуль контроллера - принимает задающие сигналы, сигналы датчиков, выдает управляющие сигналы на ключи Модуль силовых ключей - управляет силовыми ключами Модуль датчиков - совокупность различных датчиков и схем согласования.

Brushless ESC

Модуль контроллера

Регулятор должен гарантировать основные выходные сигналы:
  • ШИМ сигнал на 6 ключей (UH_PWM, UL_PWM, VH_PWM, VL_PWM, WH_PWM, WL_PWM).
Принимать сигналы:
  • напряжение от трех фаз U1, V1, W1 (для регулятора, работающего с двигателем с датчиками положения - сигналы от датчиков положения  H1, H2, H3);
  • напряжение средней точки или половинного напряжения питания Z1 (для регулятора работающего с двигателем с датчиками положения не требуется);
  • сигнал датчика тока двигателя (Id1);
  • напряжение питания двигателя (Vd1);
  • управляющий сигнал, задающий обороты двигателя (Va).
Дополнительные сигналы:
  • сигналы для управления, контроля индикации. Например, светодиодный индикатор (LED), сигналы для настройки регулятора с использованием терминала (Tx, Rx).
Разумеется, могут быть и другие полезные сигналы, например, сигналы от датчиков температуры ключей и двигателя, переключатель направления вращения (реверс) и т.п. Так же могут быть совсем специфичные датчики, необходимые для решения конкретной задачи.

Техническая реализация

ШИМ сигнал на 6 ключей

Поскольку наш регулятор двигателя будет строиться на микроконтроллере, он должен гарантировать ШИМ сигнал на 6 ключей (для трехфазного бесколлекторного двигателя). Существует два способа:
  • генерировать на выходах микроконтроллера 6 ШИМ сигналов: отдельно на каждый ключ;
  • генерировать один ШИМ сигнал и разводить на ключи дополнительными логическими элементами "И".
Первый способ реализуем, если микроконтроллер имеет 6 ШИМ (PWM) выходов. Как правило, это специализированные ШИМ (PWM) микроконтроллеры, например AT90PWM3B.

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

brushless72

Если требуется выбрать способ подачи ШИМ на ключи (только верхние / только нижние / верхние и нижние) в первом случае придется предусмотреть программные установки. Во втором можно обойтись двумя перемычками на плате.

Напряжение от трех фаз, напряжение средней точки

Напряжение от трех фаз двигателя нужно привести к уровню, приемлемому для входов компараторов. Это делается с помощью простого делителя напряжения.

Brushless ESC

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

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

Датчик тока и контроль напряжения питания двигателя потребуют 2 АЦП входа. Предполагается, что датчик тока выдает сигнал в диапазоне питания микроконтроллера (0..5В). Мы будем использовать датчик тока на основе датчика Холла из серии ACS758.

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

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

Сигнал, задающий обороты двигателя.

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

Дополнительные сигналы

Хотелось бы сделать более-менее универсальный регулятор, который можно настроить для управления широким разнообразием бесколлекторных двигателей. Поэтому, потребуется интерфейс для настройки регулятора. Я остановился на наиболее простом варианте - подключить к Tx, Rx выходам микроконтроллера FT232 преобразователь и подключить его к компьютеру. Это универсальный способ, поскольку позволяет передавать информацию в обе стороны. К Tx, Rx выходам можно подключить специально разработанный дисплей или через Bluetooth модуль к смартфону или другому устройству имеющему Bluetooth интерфейс.

Поскольку Tx, Rx выходы предполагается использовать только для настройки регулятора, нам потребуется еще индикатор состояния. Наиболее простой - обычный светодиод.

Модуль силовых ключей

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

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

Для систем с большими токами не всегда удается подобрать подходящий транзистор для ключа. Параллельное включение транзисторов может решить эту задачу. Если включить два одинаковых полевых транзистора параллельно, можно получить сборку, пропускающую в 2 раза больший ток. Рекомендуется включать затворы транзисторов через резисторы номиналом 2-100 Ом,  как показано на схеме. Номиналы резисторов выбираются с учетом емкости затвора транзистора, максимального тока, который может обеспечить драйвер ключа и необходимого времени открытия ключа.

Brushless ESC

Модуль датчиков

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

Разделение регулятора на модули - мера условная и направлена в первую очередь на упрощение дальнейшего проектирования. Она не обязывает нас физически разделять регулятор на разные части. Конечная реализация зависит от конкретной поставленной задачи.

На блок-схеме присутствуют датчики Холла H1, H2, H3. Разумеется, они нужны только для двигателей с датчиками Холла. В следующей статье будет  рассматриваться схема простого универсального регулятора, который разрабатывался для управления двигателями с датчиками Холла и без таковых.

Защита

Особое внимание прошу уделить безопасности. Поскольку неосторожные эксперименты с двигателями даже небольшой мощности около 100-200 Ватт, напряжением питания всего 12 вольт могут привести к неприятностям. На начальном этапе изучения бесколлекторных двигателей я сжег не один комплект силовых ключей и драйверов. Взрывались и дорожки на плате ключей и шарики расплавленной меди катались по столу. Шоу, конечно, яркое, но процесс устранения последствий тяготит не только душу, но и карман. Основная масса происшествий пришлась на этап разработки. И связаны, в основном, с тривиальными ошибками, но иногда происходили случаи, над которыми приходилось поломать голову. Чтобы Вы не повторяли моих ошибок, отнеситесь к этому разделу с ответственностью.

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

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

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

  • превышение допустимого тока;
  • заклинивание двигателя;
  • превышение двигателем допустимых оборотов. Регулятор имеет свои технические возможности и не сможет корректно управлять двигателем, который вращается быстрее, чем сможет отследить регулятор;
  • снижения питающего напряжения ниже допустимого уровня (предотвращение глубокого разряда батарей).
Нештатные ситуации могут привести к выходу со строя отдельных элементов регулятора. Чаще всего выходят со строя транзисторные ключи, так как они подвержены наибольшей нагрузке и риску. Регулятор должен реагировать на такие ситуации, как превышение тока, и отключать ключи во избежание более серьезных последствий. Однако, невозможно предусмотреть абсолютно все ситуации, особенно на этапе разработки. Иногда случаются достаточно нестандартные случаи, при которых ток через ключи может достигать критических значений, что грозит неприятностями не только ключам, но и батарее питания. Спасти может старый добрый предохранитель. Я рекомендую использовать предохранитель всегда! Если у Вас не будет хотя бы элементарного предохранителя с плавкой вставкой, сгорят ключи, двигатель, провода, гараж, дом, еще что-то и ... это будет дороже, чем использовать предохранитель.

В завершение

Составим таблицу сигналов с которыми придется работать нашему микроконтроллеру:
Сигнал Описание
UH_PWM Дискретный
UL_PWM Дискретный
VH_PWM Дискретный
VL_PWM Дискретный
WH_PWM Дискретный
WL_PWM Дискретный
H1 Дискретный (при наличии датчиков положения)
H2 Дискретный (при наличии датчиков положения)
H3 Дискретный (при наличии датчиков положения)
U1 Аналоговый (компаратор)
V1 Аналоговый (компаратор)
W1 Аналоговый (компаратор)
Z1 Аналоговый (компаратор)
Id1 Аналоговый (АЦП)
Vd1 Аналоговый (АЦП)
Va Аналоговый (АЦП)
LED Дискретный
Rx,Tx Дискретный (UART)
В следующей статье будет представлена схема регулятора.

Успехов!

Статті по безколекторним двигунам:

Brushless Motors Корисно знати
Коментарі:
VovaPit говорить:
01.04.2014 10:19
На самом интересном месте) когда продолжение?

andre говорить:
01.04.2014 10:50
На этой неделе планируется статья со схемой, прошивкой и описанием работы. Возможно, если успею, будет и видео. Чуть позже будет завершающая статья посвящена силовой части.

Додати коментар
Code
* - обов'язкові поля

Архіви