Схема условно разделена на две части: левая — микроконтроллер с логикой, правая — силовая часть. Силовую часть можно модифицировать для работы с двигателями другой мощности или с другим питающим напряжением.
Контроллер — ATMEGA168. Гурманы могут сказать, что хватило бы и ATMEGA88, а AT90PWM3 — это было бы «вааще по феншую». Первый регулятор я как раз делал «по феншую». Если у Вас есть возможность применять AT90PWM3 — это будет наиболее подходящий выбор. Но для моих задумок решительно не хватало 8 килобайт памяти. Поэтому я применил микроконтроллер ATMEGA168.
Эта схема задумывалась как испытательный стенд. На котором предполагалось создать универсальный настраиваемый регулятор для работы с различными «калибрами» бесколлекторных двигателей: как с датчиками, так и без датчиков положения. В этой статье я опишу схему и принцип работы прошивки регулятора для управления бесколлекторными двигателями с датчиками Холла и без датчиков.
Видео:Регулятор скорости для бесколлекторного двигателяСкачать
Питание
Питание схемы раздельное. Поскольку драйверы ключей требуют питание от 10В до 20В, используется питание 12В. Питание микроконтроллера осуществляется через DC-DC преобразователь, собранный на микросхеме MC34063. Можете применять линейный стабилизатор с выходным напряжением 5В. Предполагается, что напряжение VD может быть от 12В и выше и ограничивается возможностями драйвера ключей и самими ключами.
Видео:как сделать контроллер бесколлекторного двигателя простымСкачать
ШИМ и сигналы для ключей
На выходе OC0B(PD5) микроконтроллера U1 генерируется ШИМ сигнал. Он поступает на переключатели JP2, JP3. Этими переключателями можно выбрать вариант подачи ШИМ на ключи (на верхние, нижние или на все ключи). На схеме переключатель JP2 установлен в положение для подачи ШИМ сигнала на верхние ключи. Переключатель JP3 на схеме установлен в положение для отключения подачи ШИМ сигнала на нижние ключи. Не трудно догадаться, что если отключить ШИМ на верхних и нижних ключах, мы получим на выходе перманентный «полный вперед», что может разорвать двигатель или регулятор в хлам. Поэтому, не забываем включать голову, переключая их. Если Вам не потребуется такие эксперименты — и Вы знаете, на какие ключи Вы будите подавать ШИМ, а на какие нет, просто не делайте переключателей. После переключателей ШИМ сигнал поступает на входы элементы логики «&» (U2, U3). На эту же логику поступают 6 сигналов с выводов микроконтроллера PB0..PB5, которые являются управляющими сигналами для 6 ключей. Таким образом, логические элементы (U2, U3) накладывают ШИМ сигнал на управляющие сигналы. Если Вы уверены, что будете подавать ШИМ, скажем, только на нижние ключи, тогда ненужные элементы (U2) можно исключить из схемы, а соответствующие сигналы с микроконтроллера подавать на драйверы ключей. Т.е. на драйверы верхних ключей сигналы пойдут напрямую с микроконтроллера, а на нижние — через логические элементы.
Видео:Ремонт регулятора скорости бесколлекторного мотора ESC-30A от прозвонки, до испытания.Скачать
Обратная связь (контроль напряжения фаз двигателя)
Напряжение фаз двигателя W,V,U через резистивные делители W — (R17,R25), V — (R18, R24), U — (R19, R23) поступают на входа контроллера ADC0(PC0), ADC1(PC1), ADC2(PC2). Эти выводы используются как входы компараторов. (В примере описанном в AVR444.pdf от компании Atmel применяют не компараторы, а измерение напряжения с помощью ADC (АЦП). Я отказался от этого метода, поскольку время преобразования ADC не позволяло управлять скоростными двигателями). Резистивные делители выбираются таким образом, чтобы напряжение, подаваемое на вход микроконтроллера, не превышало допустимое. В данном случае, резисторами 10К и 5К делится на 3. Т.е. При питании двигателя 12В. на микроконтроллер будет подаваться 12В*5К/(10К+5К) = 4В. Опорное напряжение для компаратора (вход AIN1) подается от половинного напряжения питания двигателя через делитель (R5, R6, R7, R8). Обратите внимание, резисторы (R5, R6) по номиналу такие же, как и (R17,R25), (R18, R24),(R19, R23). Далее напряжение уменьшается вдвое делителем R7, R8, после чего поступает на ногу AIN1 внутреннего компаратора микроконтроллера. Переключатель JP1 позволяет переключить опорное напряжение на напряжение «средней точки» формируемое резисторами (R20, R21, R22). Это делалось для экспериментов и себя не оправдало. Если нет в необходимости, JP1, R20, R21, R22 можно исключить из схемы.
Читайте также: Запчасти для китайских лодочных моторов sea pro
Видео:Регулятор оборотов ESC 30A, моторчик A2212, сервотестер, коннекторы, аккумуляторы 18650Скачать
Датчики Холла
Поскольку регулятор универсальный, он должен принимать сигналы от датчиков Холла в том случае, если используется двигатель с датчиками. Предполагается, что датчики Холла дискретные, тип SS41. Допускается применение и других типов датчиков с дискретным выходом. Сигналы от трех датчиков поступают через резисторы R11, R12, R13 на переключатели JP4, JP5, JP6. Резисторы R16, R15, R14 выступают в качестве подтягивающих резисторов. C7, С8, С9 — фильтрующие конденсаторы. Переключателями JP4, JP5, JP6 выбирается тип обратной связи с двигателем. Кроме изменения положения переключателей в программных настройках регулятора следует указать соответствующий тип двигателя (Sensorless или Sensored).
Видео:Уроки Arduino - управление бесколлекторным моторомСкачать
Измерения аналоговых сигналов
На вход ADC5(PC5) через делитель R5, R6 подается напряжения питания двигателя. Это напряжение контролируется микроконтроллером.
На вход ADC3(PC3) поступает аналоговый сигнал от датчика тока. Датчик тока ACS756SA. Это датчик тока на основе эффекта Холла. Преимущество этого датчика в том, что он не использует шунт, а значит, имеет внутреннее сопротивление близкое к нулю, поэтому на нем не происходит тепловыделения. Кроме того, выход датчика аналоговый в пределах 5В, поэтому без каких-либо преобразований подается на вход АЦП микроконтроллера, что упрощает схему. Если потребуется датчик с большим диапазоном измерения тока, Вы просто заменяете существующий датчик новым, абсолютно не изменяя схему.
Если Вам хочется использовать шунт с последующей схемой усиления, согласования — пожалуйста.
Видео:ESC регулятор оборотов двигателя Часть 1Скачать
Задающие сигналы
Сигнал, задающий обороты двигателя, с потенциометра RV1 поступает на вход ADC4(PC4). Обратите внимание на резистор R9 — он шунтирует сигнал в случае обрыва провода к потенциометру.
Кроме того, есть вход RC сигнала, который повсеместно используется в дистанционно управляемых моделях. Выбор управляющего входа и его калибровка выполняется в программных настройках регулятора.
Видео:Регулятор бесколлекторного двигателя - усовершенствованиеСкачать
UART интерфейс
Сигналы TX, RX используются для настройки регулятора и выдачи информации о состоянии регулятора — обороты двигателя, ток, напряжение питания и т.п. Для настройки регулятора его можно подключить к USB порту компьютера, используя FT232 переходник. Настройка выполняется через любую программу терминала. Например: Hyperterminal или Putty.
Видео:Мощный регулятор оборотов для коллекторного двигателяСкачать
Прочее
Также имеются контакты реверса — вывод микроконтроллера PD3. Если замкнуть эти контакты перед стартом двигателя, двигатель будет вращаться в обратном направлении.
Светодиод, сигнализирующий о состоянии регулятора, подключен к выводу PD4.
Видео:БЕСКОЛЛЕКТОРНЫЙ ДВИГАТЕЛЬ. Как работает? Чем отличаться от щёточного? #бесколлекторный #МОТОРСкачать
Силовая часть
Драйвера ключей использовались IR2101. У этого драйвера одно преимущество — низкая цена. Для слаботочных систем подойдет, для мощных ключей IR2101 будет слабоват. Один драйвер управляет двумя «N» канальными MOSFET транзисторами (верхним и нижним). Нам понадобиться три таких микросхемы.
Ключи нужно выбирать в зависимости от максимального тока и напряжения питания двигателя (выбору ключей и драйверов будет посвящена отдельная статья). На схеме обозначены IR540, в реальности использовались K3069. K3069 рассчитаны на напряжение 60В и ток 75А. Это явный перебор, но мне они достались даром в большом количестве (желаю и Вам такого счастья).
Читайте также: 701310 huter лодочный мотор
Конденсатор С19 включается параллельно питающей батареи. Чем больше его емкость — тем лучше. Этот конденсатор защищает батарею от бросков тока и ключи от значительной просадки напряжения. При отсутствии этого конденсатора Вам обеспечены как минимум проблемы с ключами. Если подключать батарею сразу к VD — может проскакивать искра. Искрогасящий резистор R32 используется в момент подключения к питающей батарее. Сразу подключаем «—» батареи, затем подаем «+» на контакт Antispark. Ток течет через резистор и плавно заряжает конденсатор С19. Через несколько секунд, подключаем контакт батареи к VD. При питании 12В можно Antispark не делать.
Видео:Дешёвый регулятор для бесколлекторного мотора. Купил на BANGGOOD https://goo.gl/ir4NC2 !Скачать
Возможности прошивки
- возможность управлять двигателями с датчиками и без;
- для бездатчикового двигателя три вида старта: без определения первоначального положения; с определением первоначального положения; комбинированный;
- настройка угла опережения фазы для бездатчикового двигателя с шагом 1 градус;
- возможность использовать один из двух задающих входов: 1-аналоговый, 2-RC;
- калибровка входных сигналов;
- реверс двигателя;
- настройка регулятора по порту UART и получение данных от регулятора во время работы (обороты, ток, напряжение батареи);
- частота ШИМ 16, 32 КГц.
- настройка уровня ШИМ сигнала для старта двигателя;
- контроль напряжения батарей. Два порога: ограничение и отсечка. При снижении напряжения батареи до порога ограничения обороты двигателя понижаются. При снижении ниже порога отсечки происходит полная остановка;
- контроль тока двигателя. Два порога: ограничение и отсечка;
- настраиваемый демпфер задающего сигнала;
- настройка Dead time для ключей
Видео:РЕГУЛИРУЙ ЭТО. Регуляторы оборотов для радиомоделей.Скачать
Работа регулятора
Видео:РЕГУЛЯТОР СКОРОСТИ ESC 30A SIMONK КРАСНЫЙ С АЛИЭКСПРЕСССкачать
Включение
Напряжение питания регулятора и двигателя раздельное, поэтому может возникнуть вопрос: в какой последовательности подавать напряжение. Я рекомендую подавать напряжение на схему регулятора. А затем подключать напряжение питания двигателя. Хотя при другой последовательности проблем не возникало. Соответственно, при одновременной подаче напряжения также проблем не возникало.
После включения двигатель издает 1 короткий сигнал (если звук не отключен), включается и постоянно светится светодиод. Регулятор готов к работе.
Для запуска двигателя следует увеличивать величину задающего сигнала. В случае использования задающего потенциометра, запуск двигателя начнется при достижении задающего напряжения уровня примерно 0.14 В. При необходимости можно выполнить калибровку входного сигнала, что позволяет использовать раные диапазоны управляющих напряжений. По умолчанию настроен демпфер задающего сигнала. При резком скачке задающего сигнала обороты двигателя будут расти плавно. Демпфер имеет несимметричную характеристику. Сброс оборотов происходит без задержки. При необходимости демпфер можно настроить или вовсе отключить.
Видео:МОЩНЫЙ КОНТРОЛЛЕР ESC ИЗ ДЕШЕВОГО (Замена мосфетов) Как отремонтировать, починитьСкачать
Запуск
Запуск бездатчикового двигателя выполняется с установленным в настройках уровнем стартового напряжения. В момент старта положение ручки газа роли значения не имеет. При неудачной попытке старта попытка запуска повторяется, пока двигатель не начнет нормально вращаться. Если двигатель не может запуститься в течение 2-3 секунд попытки следует прекратить, убрать газ и перейти к настройке регулятора.
При опрокидывании двигателя или механическом заклинивании ротора срабатывает защита, и регулятор пытается перезапустить двигатель.
Запуск двигателя с датчиками Холла также выполняется с применением настроек для старта двигателя. Т.е. если для запуска двигателя с датчиками дать полный газ, то регулятор подаст напряжение, которое указано в настройках для старта. И только после того, как двигатель начнет вращаться, будет подано полное напряжение. Это несколько нестандартно для двигателя с датчиками, поскольку такие двигатели в основном применяются как тяговые, а в данном случае достичь максимального крутящего момента на старте, возможно, будет сложно. Тем не менее, в данном регуляторе присутствует такая особенность, которая защищает двигатель и регулятор от выхода со строя при механическом заклинивании двигателя.
Читайте также: Лодки моторы в костроме
Во время работы регулятор выдает данные об оборотах двигателя, токе, напряжении батарей через порт UART в формате:
Данные выдаются с периодичностью примерно 1 секунда. Скорость передачи по порту 9600.
Видео:ФАНТАСТИКА! 3-фазный бесколлекторный двигатель с Али.. размером с яйцо "выжимает" 500Вт! Тест.Скачать
Настройка регулятора
Для настройки регулятора его следует подключить к компьютеру с помощью USB-UART переходника. Скорость передачи по порту 9600.
Переход регулятора в режим настройки происходит при включении регулятора, когда задающий сигнал потенциометра больше нуля. Т.е. Для перевода регулятора в режим настройки следует повернуть ручку задающего потенциометра, после чего включить регулятор. В терминале появится приглашение в виде символа «>«. После чего можно вводить команды.
Регулятор воспринимает следующие команды (в разных версиях прошивки набор настроек и команд может отличаться):
h — вывод списка команд;
? — вывод настроек;
c — калибровка задающего сигнала;
d — сброс настроек к заводским настройкам.
команда «?» выводит в терминал список всех доступных настроек и их значение. Например:
Изменить нужную настройку можно командой следующего формата:
Если команда была дана корректно, настройка будет применена и сохранена. Проверить текущие настройки после их изменения можно командой «?«.
Измерения аналоговых сигналов (напряжение, ток) выполняются с помощью АЦП микроконтроллера. АЦП работает в 8-ми битном режиме. Точность измерения занижена намеренно для обеспечения приемлемой скорости преобразования аналогового сигнала. Соответственно, все аналоговые величины регулятор выдает в виде 8-ми битного числа, т.е. от 0 до 255.
Список настроек, их описание:
Параметр | Описание | Значение |
---|---|---|
motor.type | Тип мотора | 0-Sensorless; 1-Sensored |
motor.magnets | Кол.во магнитов в роторе двигателя. Изпользуется только для расчета оборотов двигателя. | 0..255, шт. |
motor.angle | Угол опережения фазы. Используется только для Sensorless двигателей. | 0..30, градусов |
motor.start.type | Тип старта. Используется только для Sensorless двигателей. | 0-без определения положения ротора; 1-с определением положения ротора; 2-комбинированный; |
motor.start.time | Время старта. | 0..255, мс |
pwm | Частота PWM | 16, 32, КГц |
pwm.start | Значение PWM (%) для старта двигателя. | 0..50 % |
pwm.min | Значение минимального значения PWM (%), при котором двигатель вращается. | 0..30 % |
voltage.limit | Напряжение батареи, при котором следует ограничивать мощность, подаваемую на двигатель. Указывается в показаниях ADC. | 0..255* |
voltage.cutoff | Напряжение батареи, при котором следует выключать двигатель. Указывается в показаниях ADC. | 0..255* |
current.limit | Ток, при котором следует ограничивать мощность, подаваемую на двигатель. Указывается в показаниях ADC. | 0..255** |
current.cutoff | Ток, при котором следует выключать двигатель. Указывается в показаниях ADC. | 0..255** |
system.sound | Включить/выключить звуковой сигнал, издаваемый двигателем | 0-выключен; 1-включен; |
system.input | Задающий сигнал | 0-потенциометр; 1-RC сигнал; |
system.damper | Демпфирование входного сигнала | 0..255, условные единицы |
system.deadtime | Значение Dead Time для ключей в микросекундах | 0..2, мкс |
* — числовое значение 8-ми битного аналого цифрового преобразователя.
Рассчитывается по формуле: ADC = (U*R6/(R5+R6))*255/5
Где: U — напряжение в Вольтах; R5, R6 — сопротивление резисторов делителя в Омах.
** — числовое значение 8-ми битного аналого цифрового преобразователя.
Рассчитывается по формуле: ADC = U*255/5
Где: U — напряжение датчика тока в Вольтах, соответствующее требуемому току.
Фьюзы микроконтроллера должны быть выставлены на работу с внешним кварцем.
Строка для программирования фьюзов с помощью AVRDUDE:
-U lfuse:w:0xFF:m -U hfuse:w:0xDC:m
- Свежие записи
- Чем отличается двухтактный мотор от четырехтактного
- Сколько масла заливать в редуктор мотоблока
- Какие моторы бывают у стиральных машин
- Какие валы отсутствуют в двухвальной кпп
- Как снять стопорную шайбу с вала
📸 Видео
Как запустить мощный 3-ф бесколлекторный двигатель драйвером от квадрокоптера. НАСОС для ЛОДКИ.Скачать
Регулятор бк двигателя / Китайцы в своем репертуаре!Скачать
Характеристики двигателей RC моделей. Электромотор. Щёточные и бесщёточные моторы. ESC. Что такое KVСкачать
как сделать контроллер бесколлекторного двигателя, mosfet, IRFz 44nСкачать
Как работают бесколлекторные ЭЛЕКТРОДВИГАТЕЛИ? Вентильный двигатель. Понятное объяснение!Скачать
Настройка бесколлекторного автомодельного регулятораСкачать