- Часть 8. Настройка регуляторов оборотов бесколлекторного двигателя
- Подключение для настройки
- Процесс настройки
- Калибровка газа
- Калибровка винто-моторной группы
- Управляем бесколлекторными двигателями, господа
- Подключение бесколлекторного электродвигателя постоянного тока (BLDC) к Arduino
- Необходимые компоненты
- Принцип действия BLDC двигателей
- Почему дроны и вертолеты используют именно BLDC двигатели?
- Зачем нужен контроллер ESC
- Некоторые термины, используемые в тематике BLDC и ESC
- Работа схемы
- Объяснение программы для Arduino
- Регуляторы хода для бесколлекторных моторов
- Вступление
- Основные характеристики контроллеров
- Особенности подключения
- Настройки
- Программирование
- Возможные проблемы
- О выключателях
- Производители контроллеров
- Заключение
- Видео
Часть 8. Настройка регуляторов оборотов бесколлекторного двигателя
Регуляторы оборотов управляют двигателями по командам полетного контроллера и они тоже сделаны на микроконтроллере и нуждаются в настройке. Еще в статье мы расскажем о калибровке винто-моторной группы.
Подключение для настройки
Есть много способов программирования конфигурации регуляторов оборотов. Самый простой — сделать это в ручную при помощи аппаратуры радиоуправления. Также можно, например, применить для этого специальную карту. Некоторые полетные контроллеры умеют сами выставлять настройки.
Мы будем настраивать при помощи пульта. При этом доступны все настройки и не надо никаких дополнительных устройств.
У нас стоят регуляторы оборотов HobbyKing 25A BlueSeries. Инструкцию к ним можно скачать здесь.
Настройку регуляторов оборота проще всего производить на собранном коптере, когда регуляторы уже подключены к двигателям и подготовлены к подключению аккумулятора. Настройку обязательно производить при снятых пропеллерах! Управляющий провод подключите к третьему канала приемника (канал газа). Все остальное отключите от приемника.
При таком подключении приемник питается от встроенного стабилизатора регулятора.
Процесс настройки
Методология настройки следующая. Вам необходимо подать на регулятор одновременно питание и максимальный газ. Через пять секунд регулятор перейдет в режим настройки, о чем просигналит писком двигателя. Затем начнется последовательный перебор пунктов меню, каждому из которых соответствует свой звуковой сигнал. Как только регулятор дошел до нужного параметра, нужно опустить газ в минимум, дождаться звукового подтверждения и выключить питания.
Вот как звучит это звуковой меню:
Теперь разберемся с тем, какие настройки нужно выставить:
В итоге, нужно скорректировать всего две настройки.
При нормальном включении двигателя пищат. Первая последовательность звуковых сигналов соответствует количество банок подключенной батареи. Второй цикл показывает состояние торможения. Один сигнал — включено, два — выключено.
Калибровка газа
Для калибровки нужно также включить пульт и установить на максимум газ. Затем подключиться питание регулятора и через 2-3 секунды опустить газ до минимума. Регулятор пропищит о том, что диапазон значений запомнен. При желании можно задать регулировку не от минимального значения, а, например, от середины.
Калибровка винто-моторной группы
Мы не знали куда включить эту информацию, поэтому напишем здесь.
Для снижения вибраций нужно откалибровать винты и двигатели. Для калибровки винтов очень удобно использовать вот такой балансир:
Суть калибровки сводится к выравниванию весов лопастей. Нужно положить винт с балансиром на параллельные направляющие (мы ставим на губки тисков) и найти более тяжелую лопасть. Для подгонки веса поскребите нерабочую часть лопасти канцелярским ножом. Нужно добиться, чтобы пропеллер мог стоять параллельно земле неподвижно.
Проверка калибровки винта
На форумах советуют откалибровать еще и двигатель. Теоретически, нужно на запущенный двигатель (без винта) посветить лазером и посмотреть на отражение. Если оно размазано, то нужно наклеить кусочек скотча на двигатель. Если биения уменьшились — хорошо, если нет — надо клеить в другом месте.
На практике делать это сложно: нужен мощный лазер, темнота и терпение. Да и необходимость в этом довольно сомнительная. Мы этот этап не делали.
И в заключении, ссылки на остальные части статей о коптерах:
Часть 1. Что такое квадрокоптер
Часть 2. Элементы квадрокоптера
Часть 3. Все об аккумуляторах для квадрокоптеров
Часть 4. Рама квадрокоптера
Часть 5. Подсветка коптера
Часть 6. Подключение элементов квадрокоптера
Часть 7. Настройка пульта Turnigy9x для коптера
Часть 9. Настройка полетного контроллера DJI NAZA
Часть 10. Гиростабилизированный подвес для камеры SJ4000
Управляем бесколлекторными двигателями, господа
Привет Хабровчане!
Решил я рассказать «всему свету» о проблеме, с которой столкнулся при постройке своего проекта, и как мне удалось её решить.
А речь сегодня пойдет о бесколлекторных двигателях, о регуляторах хода и как ими управлять.
Что же такое бесколлекторный двигатель, я не буду долго расписывать (сами можете посмотреть Wiki), а скажу в 2х словах, это 3х фазный двигатель постоянного тока.
И приводится в движение сие чудо благодаря специальному регулятору, который последовательно переключает обмотки с определенной частотой.
Управляя частотой переключения обмоток мы управляем скоростью вращения ротора.
Ну что же, надеюсь тут все понято, идем дальше.
Первые проблемы
Были закуплены 2 комплекта двигатель + регулятор, ждал около месяца, пришли.
Мною овладел приступ безудержного веселья по этому поводу, но, к сожалению, это было ненадолго….
Рассмотрев эти чудеса техники я решил подключить их к источнику питания, и тут то первое разочарование, тихий хлопок (как от КЗ) и тишина, светодиоды не горят, писка нет (а он должен быть), только крутится кулер на регуле, беда…
Побежал в ближайший Хобби магазин, и добрый консультант вынес вердикт: сгорел!
Со вторым такая же история, в общем ребята, не повезло, оба бракованные…
Ну хоть кошечка порадовалась:
Пришлось раскошелиться и купить у них регулятор по цене обоих комплектов (поджимали сроки).
Купил, подключил, все пищит, горит, работает, прям аж душа радуется! (на фото он выделен):
Проблема номер два
Теперь настала пора покрутить двигателем.
А покрутить нужно не с сервотестера или аппы радиоуправления, а с микроконтроллера, а точнее вот с такой платки:
Перелопатив тонны сайтов, перечитав сотни форумов и ответов на мой вопрос, так как же управлять этим регулятором я слышать только одно: «…чувак да там простой ШИМ…», «… ШИМ тебе в помощь…».
Ну ШИМ, так ШИМ.
Написал простенькую программу:
Бился 2 дня, пока не наткнулся на случайный пост, о том, что у регулятора есть защита, и он начинает функционировать только при подаче на его вход ШИМ сигнала 1,5 мс.
Окей, будет сделано.
Дальше я подцепил обыкновенный резистор через АЦП, и опытным путем подобрал крайние значения ШИМ регулятора.
Код получившийся в итоге:
И все заработало.
Теперь все крутиться, шумит, пищит и просто радует.
P.S. Это код для управления сразу 2мя двигателями.
И последняя проблема, питание…
Здесь расскажу немного, а именно, от регулятора идет 3 провода:
Центральная колодка, по порядку Черный — минус, Красный — плюс и Белый — провод управления.
И загвоздка в том, что в отличие от сервоприводов, это не входы под питание, а выходы, т.е. питаемся от них.
К чему я это, да к тому, что подключив регулятор как серву, я чуть не спалил порты на ноутбуке, ибо плата в это время была запитана от USB.
Но к счастью у моего старичка сработала защита и все обошлось перезагрузкой…
Видео работы:
Спасибо большое за внимание.
Надеюсь мой опыт будет полезен для вас.
До скорых встреч.
Подключение бесколлекторного электродвигателя постоянного тока (BLDC) к Arduino
В этой статье мы рассмотрим управление скоростью вращения бессенсорного бесколлекторного электродвигателя постоянного тока A2212/13T (Sensorless BLDC outrunner motor), часто используемого для конструирования дронов, с помощью ESC (Electronic Speed Controller – электронный контроллер скорости) и платы Arduino.
Необходимые компоненты
Принцип действия BLDC двигателей
Бесколлекторные электродвигатели постоянного тока (BLDC двигатели) в настоящее время часто используются в потолочных вентиляторах и электрических движущихся транспортных средствах благодаря их плавному вращению. В отличие от других электродвигателей постоянного тока BLDC двигатели подключаются с помощью трех проводов, выходящих из них, при этом каждый провод образует свою собственную фазу, то есть получаем трехфазный мотор.
Хотя BLDC относятся к двигателям постоянного тока они управляются с помощью последовательности импульсов. Для преобразования напряжения постоянного тока в последовательность импульсов и распределения их по трем проводникам используется контроллер ESC (Electronic speed controller). В любой момент времени питание подается только на две фазы, то есть электрический ток заходит в двигатель через одну фазу, и покидает его через другую. Во время этого процесса запитывается катушка внутри двигателя, что приводит к тому, что магниты выравниваются по отношению к запитанной катушке. Затем контроллер ESC подает питание на другие два провода (фазы) и этот процесс смены проводов, на которые подается питание, продолжается непрерывно, что заставляет двигатель вращаться. Скорость вращения двигателя зависит от того как быстро подается энергия на катушку двигателя, а направление вращения – от порядка смены фаз, на которые поочередно подается питание.
Существуют различные типы BLDC двигателей – давайте рассмотрим основные из них. Различают Inrunner и OutRunner BLDC двигатели. В Inrunner двигателях магниты ротора находятся внутри статора с обмотками, а в OutRunner двигателях магниты расположены снаружи и вращаются вокруг неподвижного статора с обмотками. То есть в Inrunner (по этому принципу конструируется большинство двигателей постоянного тока) ось внутри двигателя вращается, а оболочка остается неподвижной. А в OutRunner сам двигатель вращается вокруг оси с катушкой, которая остается неподвижной. OutRunner двигатели особенно удобны для применения в электрических велосипедах, поскольку внешняя оболочка двигателя непосредственно приводит в движение колесо велосипеда, что позволяет обойтись без механизма сцепления. К тому же OutRunner двигатели обеспечивают больший крутящий момент, что делает их также идеальным выбором для применения в электрических движущихся средствах и дронах. Поэтому и в этой статье мы будем рассматривать подключение к платы Arduino двигателя OutRunner типа.
Примечание : существует еще такой тип BLDC двигателей как бесстержневой (coreless), который находит применение в «карманных» дронах. Эти двигатели работают по несколько иным принципам, но рассмотрение принципов их работы выходит за рамки данной статьи.
BLDC двигатели с датчиками (Sensor) и без датчиков (Sensorless). Для BLDC двигателей, которые вращаются плавно, без рывков, необходима обратная связь. Поэтому контроллер ESC должен знать позиции и полюса магнитов ротора чтобы правильно запитывать статор. Эту информацию можно получить двумя способами: первый из них заключается в размещении датчика Холла внутри двигателя. Датчик Холла будет обнаруживать магнит и передавать информацию об этом в контроллер ESC. Этот тип двигателей называется Sensor BLDC (с датчиком) и он находит применение в электрических движущихся транспортных средствах. Второй метод обнаружения позиции магнитов заключается в использовании обратной ЭДС (электродвижущей силы), генерируемой катушками в то время когда магниты пересекают их. Достоинством этого метода является то, что он не требует использования каких либо дополнительных устройств (датчик Холла) – фазовый провод самостоятельно используется в качестве обратной связи благодаря наличию обратной ЭДС. Этот метод используется в двигателе, рассматриваемом в нашей статье, и именно он чаще всего применяется в дронах и других летающих устройствах.
Почему дроны и вертолеты используют именно BLDC двигатели?
Сейчас существует множество различных типов дронов – с двумя лопастями, с четырьмя лопастями и т.д. Но все они используют именно BLDC двигатели. Почему именно их, ведь BLDC двигатели стоят дороже чем обычные электродвигатели постоянного тока?
Существует несколько причин для этого:
Зачем нужен контроллер ESC
Как мы уже знаем, для функционирования BLDC двигателей необходим какой-нибудь контроллер, который преобразует напряжение постоянного тока от батарейки в последовательность импульсов, подаваемую в определенном порядке на провода (фазы) двигателя. Этот контроллер называется ESC (Electronic Speed Controller – электронный контроллер скорости). Основной обязанностью данного контроллера является правильная подача питания на провода BLDC двигателя чтобы двигатель вращался в нужном направлении. Это осуществляется с помощью считывания обратной ЭДС (back EMF) с каждого провода и подачи питания на катушку в то время когда магнит пересекает ее. Внутри себя контроллер ESC содержит достаточно много разнообразной электроники и при желании вы можете подробно изучить его устройство по соответствующим материалам в сети интернет. Здесь же мы кратко рассмотрим рассмотрим только основные компоненты его конструкции.
Некоторые термины, используемые в тематике BLDC и ESC
При изучении принципов работы BLDC двигателей и контроллеров ESC вы можете столкнуться с некоторыми терминами, используемыми в данной тематике. Кратко рассмотрим основные из этих терминов.
Braking (торможение) – определяет насколько быстро BLDC двигатель может остановить свое вращение. Это особенно актуально для летающих средств (дронов, геликоптеров и т.д.) поскольку они вынуждены часто изменять количество оборотов двигателя в минуту чтобы маневрировать в воздухе.
Soft Start (плавный пуск, старт) – эта способность особенно важна для BLDC двигателей когда вращающий момент от него на исполнительный механизм (колесо, винт и т.д.) передается через механизм передач, обычно состоящий из шестерен. Плавный пуск означает, что двигатель не начнет сразу вращаться с максимальной скоростью, а будет увеличивать свою скорость вращения постепенно независимо от того, с какой скоростью нарастает управляющее воздействие. Плавный пуск значительно снижает износ шестерен, входящих в передаточный механизм.
Motor Direction (направление вращения двигателя) – обычно направление вращения BLDC двигателей не изменяется в процессе эксплуатации, однако во время сборки и тестирования работы изделия может потребоваться изменение направления вращения двигателя, обычно это можно сделать просто поменяв местами любые два провода двигателя.
Работа схемы
Схема подключения BLDC двигателя и контроллера ESC к плате Arduino представлена на следующем рисунке.
Как видите, схема достаточно проста. Контроллеру ESC необходим источник питания с напряжением 12V и током как минимум 5A. Для питания схемы можно использовать адаптер или Li-Po батарейку. Три фазы (провода) BLDC двигателя необходимо подсоединить к трем выходным проводам контроллера ESC – неважно в каком порядке.
Предупреждение : у некоторых контроллеров ESC нет выходных проводов, в этом случае вам необходимо будет припаивать провода от BLDC двигателя к контактам контроллера ESC. Обязательно изолируйте эти оголенные места (пайки) с помощью изоляционной ленты потому что через эти провода возможно протекание достаточно больших токов и любое короткое замыкание может привести к повреждению двигателя и контроллера ESC.
Схема BEC (Battery Eliminator circuit) в контроллере ESC будет самостоятельно обеспечивать (регулировать) постоянное напряжение +5V, поэтому его можно непосредственно использовать для питания платы Arduino. Для управления скоростью вращения двигателя в схеме используется потенциометр, подключенный к контакту A0 платы Arduino.
Внешний вид собранной конструкции показан на следующем рисунке.
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы рассмотрим только его основные фрагменты.
Для управления BLDC двигателем мы будем формировать ШИМ сигнал с частотой 50 Гц и изменяемым от 0 до 100% коэффициентом заполнения. Значение коэффициента заполнения будет управляться с помощью потенциометра. То есть, вращая потенциометр, мы будем управлять скоростью вращения двигателя. Как уже указывалось, управление BLDC двигателем очень похоже на управление сервомотором с помощью ШИМ 50 Гц, поэтому в данном случае мы будем использовать ту же самую библиотеку, которую использовали для управления сервомотором. Если вы начинающий в изучении платформы Arduino, то перед дальнейшим прочтением данной статьи рекомендуем вам изучить принципы формирования ШИМ сигнала в Arduino и подключение сервомотора к плате Arduino.
ШИМ сигнал можно генерировать только на тех цифровых контактах платы Arduino, которые обозначены символом
. В нашей схеме мы будем управлять контроллером ESC с контакта 9 платы Arduino, поэтому следующей командой мы прикрепим контроллер ESC к этому контакту:
Регуляторы хода для бесколлекторных моторов
Вступление
Большинство применяемых в моделизме бесколлекторных моторов построены по принципу «вывернутого наизнанку» коллекторного двигателя: статор с обмотками неподвижен, а ротор с постоянными магнитами вращается. Количество обмоток – всегда три.
Основные характеристики контроллеров
«Кратковременный» ток способны держать выходные транзисторы контроллера, но рассеивать выделяемое при этом токе количество тепла контроллер не в состоянии.
Внутреннее сопротивление – полное сопротивление силовых ключей контроллера, без учета проводов. Чем мощнее контроллер, тем меньше его внутреннее сопротивление. Как правило, сопротивление проводов сравнимо с внутренним сопротивлением контроллера и вносит до 30% потерь. Для примера, внутреннее сопротивление контроллера Castle Creations Phoenix-25 13 mOhm, а сопротивление 30 см провода сечением 1кв.мм – 6 mOhm, то есть почти треть потерь приходится на провода.
Особенности подключения
При удлинении проводов от контроллера до батареи начинает сказываться их индуктивность, и может возникнуть ситуация, когда уровень помех по напряжению питания на входе контроллера станет настолько высок, что контроллер не сможет правильно определить положение ротора мотора (иногда при этом еще и «повисает» процессор контроллера). Известно несколько случаев полного «выгорания в дым» контроллеров, при удлинении проводов со стороны аккумулятора до 30см. Если необходимо увеличить длину проводов (например, двигатель стоит в хвосте модели), то надо увеличивать длину проводов от мотора до контроллера. Как правило, контроллеры поставляются с проводами до батареи длиной 13-16см. Такая длина вполне достаточна для надежной работы контроллера, и не следует ее увеличивать более чем на 5см.
Настройки
Практически все современные контроллеры имеют множество программных настроек. От них зависит режим работы, надежность, а иногда и работоспособность контроллера в паре с тем или иным мотором. Здесь мы попробуем перечислить основные настройки, и объяснить, как и на что они влияют.
Напряжение выключения мотора (cut-off voltage) – при каком минимальном напряжении на батарее мотор будет выключен. Эта функция предназначена для сохранения работоспособности аппаратуры при разряде батареи и для защиты самой батареи от переразряда (последнее особенно важно для литий- полимерных аккумуляторов). На некоторых контроллерах (например, Jeti серии “ Advansed ”) нет установки напряжения на конкретное число банок в случае использования литиевых батарей, количество банок при этом определяется автоматически.
При плавном выключении мотора контроллер сбрасывает обороты постепенно, не позволяя напряжению на батарее упасть ниже заданного, при этом контроль над моделью сохраняется до последнего.
Тормоз (brake) – торможение мотора после установки газа в «ноль». Может иметь значения включен/выключен, на некоторых контроллерах есть еще программируемая величина тормоза 50-100% и задержка включения тормоза после полного сброса газа. Это необходимо для защиты шестеренок редуктора в случае использования больших и тяжелых пропеллеров. В некоторых контроллерах, например том же Jeti серии «Advanced» тормоз и плавное выключения мотора – установки взаимоисключающие – для включения плавного отключения мотора надо выключить тормоз и наоборот. Намудрили чехи, однако.
Опережение (Timing) – параметр, от которого зависит мощность и КПД двигателя. Может находится в пределах от 0° до 30°. Физически это электрический угол опережения коммутации обмоток.
Время акселерации или задержка акселерации (acseleleration time или acseleration delay) – устанавливает время набора оборотов после старта до максимума. Устанавливается меньше для моторов с легкими пропеллерами без редукторов и больше для моторов с редукторами и в случае срабатывания защиты по току при резком прибавлении газа.
Также в некоторых контроллерах присутствует режим «гувернер» (governor), он предназначен для вертолетов, когда положению ручки газа соответствуют определенные обороты, а не мощность двигателя, контроллер в данном режиме работает как автоматическая система поддержания оборотов, прибавляя мощность при увеличении нагрузки на двигатель.
В некоторых контроллерах, например в Kontronik серии «Beat», нет отдельных настроек параметров, но есть выбор комплексных режимов – планер, самолет, корабль, вертолет и даже автомобиль с задним ходом!
Программирование
Возможные проблемы
О выключателях
Привлекает решение проблемы выключателей у контроллеров ТММ. У них каждая модель имеет версию с выключателем и без. Причем выключатель электронный, работает на размыкание, и если он в полете случайно оторвется (что вообще-то трудно себе представить) то контроллер и аппаратура останется включенной. Если контроллер ТММ забыть выключить, он при отсутствии сигнала с приемника начнет попискивать мотором. Подобная функция есть и у Astro Flight.
Про «выключатель» у контроллеров Jeti уже упоминалось в статье про литий- полимерные аккумуляторы, он выключает лишь питание приемника, контроллер при этом всегда включен. И не подает никаких сигналов об этом постепенно разряжая «в ноль» батарею, что для литиевых аккумуляторов заканчивается фатально.
Производители контроллеров
Лидером в производстве профессиональных контроллеров для спортсменов является, конечно же Schulze Electronik – на этих контроллерах летает, плавает и ездит большинство спортсменов. Однако это и самые дорогие контроллеры.
Далее в списке популярности стоит Castle Creations – сравнительно молодая фирма (основана в 1997г), специализирующаяся исключительно на выпуске регуляторов хода. В Америке она является лидером по количеству продаж.
Также профессиональные, но опять-таки довольно дорогие контроллеры для спортсменов делает немецкая фирма Kontronik.
Продукция чешских фирм MGM Compro (это их контроллеры называются TMM) и Jeti Models (они же делают контроллеры для фирмы Hacker motors) ориентирована в основном на рынок хобби.
Американская фирма Astro Flight, специализирующаяся на выпуске электромоторов для моделизма, также делает контроллеры к своим моторам, однако отдельно от моторов найти их в продаже проблемматично.
Заключение
Видео
Уроки Arduino - управление бесколлекторным моторомСкачать
РЕГУЛЯТОР ОБОРОТОВ двигателя стиральной машины с Aliexpress. Подключение, реверс, схемаСкачать
Регулятор бесколлекторного двигателя - усовершенствованиеСкачать
Управление бесколлекторным мотором - настройкаСкачать
Запуск бесколлекторного двигателя без регулятора скоростиСкачать
Дешёвый регулятор для бесколлекторного мотора. Купил на BANGGOOD https://goo.gl/ir4NC2 !Скачать