Как сделать блдс мотор
Чипгуру
Сообщение #1 Strock » 23 фев 2018, 16:09
Я в этом полный дуб, потому хотелось для себя разобраться, понять и научится строить БК моторы.
Тема создана в связи с наличием велика, статора, подходящего для создания БК мотора и желания установить последний на велосипед.
Надеюсь на ваше понимание и помощь! Вместе, думаю, разберемся, а выкладки по этой теме могут пригодится многим
Сообщение #2 T-Duke » 23 фев 2018, 16:27
Как тот, кто уже много лет занимается этой тематикой, хочу сказать, что нужно еще правильно классифицировать моторы.
Английская аббревиатура BLDC говорит, что это просто Двигатель постоянного тока без щеток. Иными словами это бесколлекторный двигатель в понимании механического коллектора. Но без коллектора много типов двигателей с постоянными магнитами.
Следует отметить, что как правило на рынке не BLDC двигатели, а PMSM двигатели. Разница у них в конструкции магнитной системы. Именно BLDC двигатели заточены под работу с блочной коммутацией. У них рывки при переходе полюсов меньше. Если же запустить в блочном режиме синусоидальный двигатель, то он дергает сильнее, чем исконный BLDC. То есть пульсация крутящего момента у него выше. На видео как раз двигатель типа PMSM работающий в режиме BLDC двигателя.
Но конечно двигатели работают в обеих режимах. Мне лично нравится синусоидальный плавный режим работы. Именно это направление я и развивал для себя.
Электробайк. Контроллер двигателя своими руками
Как вы уже знаете из прошлых постов, у нас в компании есть DIY-движение. В свободное от работы время коллеги занимаются фрезеровкой печатных плат в домашних условиях, делают тепловизор на FLIR Lepton, а также решают семейные разногласия с помощью 4 контроллеров и 2 умных часов. Продолжим серию увлекательный историй! Сегодня я расскажу, как сделать контроллер к трехфазному двигателю электровелосипеда своими руками. Целью создания такого контроллера было:
В тоже время на рынке представлены европейские качественные контроллеры для электробайков. Они оснащаются расширенными функциями, работают на разных напряжениях и токах и их можно программировать. Устанавливаются они на сверхмощные электровелосипеды. Но цена у них кусается — 10-20 тыс. рублей.
В итоге я решил пойти своим путем: разобраться в устройстве контроллера, сделать его прототип, а затем попытаться сделать контроллер качественнее китайского контроллера. На текущий момент проект у меня в разработке только и на уровне прототипа, готового варианта пока нет. Буду рад услышать ваши комментарии и советы.
Применение
В электровелосипедах используются трёхфазные бесщёточные электродвигатели с датчиками Холла. Стоит отметить, что применение подобных трёхфазных двигателей достаточно обширно:
Устройство двигателя
Для разработки контроллера необходимо разобраться с принципом работы самого электродвигателя.
Электродвигатель состоит из фазных обмоток, магнитов и датчиков Холла, отслеживающих положение вала двигателя.
Конструктивно электродвигатели делятся на два типа: инраннеры и аутраннеры.
У инраннеров магнитные пластины крепятся на вал, а обмотки располагаются на барабане (статоре), в этом случае в движение приводится вал. В случае аутраннера всё наоборот: на валу — фазные обмотки, а в барабане — магнитные пластины. Это приводит в движение барабан.
Так как у велосипеда колесо крепится валом на раму, то здесь применителен тип аутраннера.
На этой картинке условно представлены три фазы с обмотками, соединёнными между собой. В реальности обмоток намного больше, они располагаются равномерно с чередованием по фазам по окружности двигателя. Чем больше обмоток — тем плавнее, чётче, эластичнее работает двигатель.
В двигатель устанавливаются три датчика Холла. Датчики реагируют на магнитное поле, тем самым определяя положение ротора относительно статора двигателя. Устанавливаются с интервалами в 60 или 120 электрических градусов. Эти градусы относятся к электрическому фазному обороту двигателя. Необходимо учитывать, что чем больше в двигателе обмоток на каждую фазу, тем больше происходит электрических оборотов за один физический оборот мотор-колеса.
Обмотки трёх фаз в большинстве случаев соединяются между собой по двум схемам: звезда и треугольник. В первом случае ток проходит от одной из фаз к другой, во втором — по всем трём фазам в разной степени. Иногда эти две схемы подключения комбинируют в одном двигателе, например в электромобилях. При старте и наборе скорости идёт соединение фаз по звезде: она даёт больший момент при относительно низких оборотах; далее, после набора скорости, происходит переключение на треугольник, в результате количество оборотов увеличивается, когда уже не нужен большой крутящий момент. По сути, получается условно автоматическая коробка передач электродвигателя.
Цикл работы
Чтобы привести в движение трёхфазный двигатель, нужно рассмотреть цикл его работы за электрический оборот. Итак, имеем три фазы — A, B, C. Каждая из фаз получает положительную и отрицательную полярности в определённый момент времени. Поочерёдно по шагам пропускается ток от «плюса» одной фазы к «минусу» другой фазы. В итоге получается шесть шагов = три фазы × две полярности.
Рассмотрим эти шесть шагов цикла. Предположим, что положение ротора установлено в точке первого шага, тогда с датчиков Холла мы получим код вида 101, где 1 — фаза А, 0 — фаза B, 1 — фаза С. Определив по коду положение вала, нужно подать ток на соответствующие фазы с заданными полярностями. В результате вал проворачивается, датчики считывают код нового положения вала — и т. д.
В таблице указаны коды датчиков и смена комбинаций фаз для большинства электродвигателей. Для обратного хода колеса (реверса) достаточно перевернуть знаки полярности фаз наоборот. Принцип работы двигателя довольно прост.
Цикл двигателя представлен в gif-анимации.
Транзисторы и Н-мост
Но чтобы поочерёдно подавать ток на каждую из фаз и менять их полярность, необходимы транзисторы. Ещё нам нужна передача больших токов, высокая скорость переключения и чёткость открытия/закрытия затворов. В данном случае удобнее управлять затворами по напряжению, а не по току. Поэтому оптимальны полевые (MOSFET) транзисторы. Чаще всего их используют в контроллерах. Очень редко можно встретить комбинированный вариант транзисторов.
Для переключения фаз со сменой их полярностей используют классическую схему Н-моста (H-Bridge) из полевых транзисторов.
Он состоит из трёх пар транзисторов. Каждая из пар подключается к соответствующей фазе обмотки двигателя и обеспечивает подачу тока со значением (+ или –). Транзисторы, отвечающие за включение фазы с положительным значением, называют верхними ключами. С отрицательным — нижними. Для каждого шага открывается пара ключей: верхний одной фазы и нижний соседней фазы. В результате ток проходит от одной фазы к другой и приводит электродвигатель в движение.
Из схемы видно, что мы не можем включить одновременно верхний и нижний ключ у одной и той же фазы: произойдёт короткое замыкание. Поэтому очень важно быстрое переключение верхних и нижних ключей, чтобы в переходных процессах не появилось замыкание. И чем качественнее и быстрее мы обеспечим переключения, тем меньше у нас будет потерь и нагрева/перегрева транзисторов H-моста.
Для запуска остаётся обеспечить управление затворами ключей H-моста. Для управления H-мостом нужно:
Прототип на Ардуино
Под рукой у меня была Arduino UNO, и я решил собрать контроллер на её основе.
Первым делом я подал на датчики Холла питание 5 вольт от Ардуино (его достаточно для датчиков). Сигнальные провода от датчиков подключил на цифровые пины Ардуино, написав простейшую программу для считывания и обработки сигналов с датчиков.
Затем собрал Н-мост из полевых NPN-транзисторов. Подвёл к мосту независимое питание на 12 вольт. Но при отладке, чтоб убедиться в работоспособности, я подключил напрямую шесть пинов 5V из Ардуино на затворы H-моста. У большинства полевых транзисторов затвор работает на 20 вольт. Так делать нельзя, потому что Н-мост будет плохо работать и перегреваться. Но для кратковременных тестов это пойдёт. Кое-как, с сильными перегревами и страшными звуками, вибрациями и толчками колесо медленно закрутилось. Начало положено.
Мостовые драйверы
Далее предстояла работа над напряжением 20 вольт на управление затворами. Для этого существуют мостовые драйверы транзисторов, они обеспечивают стабильные импульсы в 20 вольт на затвор и высокую скорость отклика. Сначала у меня были популярные драйверы для маломощных моторов L293D.
Для управления затворами его достаточно, к тому же их очень просто использовать. Один такой драйвер может обеспечить питанием две пары ключей. Поэтому я взял две штуки L293D. Собрал контроллер с этими драйверами, и колесо начало крутиться существенно плавнее, посторонних звуков стало меньше, нагрев транзисторов уменьшился. Но при увеличении оборотов синхронизация с контроллером пропадала, появлялся посторонний звук, колесо дёргалось, вибрировало и полностью останавливалось.
В это же время я наткнулся на два варианта мостовых драйверов:
Что касается HIP4086, то это полноценный мостовой драйвер, предназначенный для трёхфазного электродвигателя. Мне он показался несколько замороченным, и мои попытки использовать его в контроллере не увенчались успехом: он у меня так и не заработал. Углублённо разбираться в причинах не стал.
А взял я IR2101 — полумостовой драйвер, обеспечивающий работу нижнего и верхнего ключей для одной фазы. Несложно догадаться, что таких драйверов нужно три. К слову, драйвер очень прост в использовании, его подключение происходит безболезненно и легко. Получилась такая схема:
И готовый результат
Собрал контроллер с этим драйвером и запустил двигатель. Ситуация с работой электродвигателя кардинально не поменялась, симптомы остались те же, как и в случае с драйвером L293D.
Аппаратное прерывание
И тут я понял, в чём дело: Ардуино не успевает обрабатывать показания датчиков Холла! Поэтому необходимо было использовать пины Ардуино с аппаратным прерыванием. Так как у Ардуино УНО таких пинов всего два, а под датчики нужно три пина, надо взять Ардуино Леонардо или Искра Нео, где таких пинов — четыре штуки.
Переписав программу под прерывания и подключив Искру Нео вместо УНО, я повторил испытания.
Колесо наконец-то заработало чётко, без вибраций, шумов, отлично стало набирать обороты без рассинхронизации. Прототип оказался жизнеспособным. Но это ещё не полноценный контроллер, поскольку в нём не было обвязки с защитами и обеспечением качественного ШИМ-сигнала.
Прототип на базе микросхемы MC33035
Параллельно с разработкой контроллера на Ардуино я рассматривал альтернативные варианты логической части контроллера. И это привело меня к микросхеме MC33035. Это старая разработка от Motorola, сейчас её выпускает ON Semiconductor. Создана специально для мощных трёхфазных двигателей.
Одним словом, микросхема содержит всё необходимое для управления электродвигателем. Её стоимость очень низкая: на Алиэкспрессе — около 50 рублей. Для сборки полноценного контроллера на её основе потребуется микросхема MC33035, полумостовые драйверы и Н-мост из полевых транзисторов. Я также собрал контроллер на этой микросхеме. Работает отлично, стабильно, колесо крутится как надо на различных оборотах. Но функционал микросхемы ограничен, если необходимо наворотить различные функции, вывод на дисплей скорости, одометр, расход батареи, то опять же возникает необходимость дополнительно подключить Ардуино или что-то аналогичное.
Главное преимущество контроллера на базе MC33035 — это простота в использовании. Просто покупаете микросхему, собираете Н-мост, спаиваете всё на плату с небольшой обвязкой — и контроллер готов. Если нужно просто запустить двигатель с ШИМ-сигналом и управлять им — оптимальный вариант.
Контроллер на базе Ардуино — вариант сложнее, понадобится писать логику, обеспечивать дополнительные защиты контроллера. Но для экспериментов, прототипов, дополнительного функционала, использования различных режимов работы двигателя — подходящий вариант. Поэтому я решил пока отложить MC33035 и продолжить работу с Ардуино.
Планы на будущее контроллера
Продолжая работу над контроллером, планирую сделать следующее:
Создание и тестирование бесколлекторного мотора
В этой статье мы хотели бы рассказать о том, как мы с нуля создали электрический мотор: от появления идеи и первого прототипа до полноценного мотора, прошедшего все испытания. Если данная статья покажется вам интересной, мы отдельно, более подробно, расскажем о наиболее заинтересовавших вас этапах нашей работы.
На картинке слева направо: ротор, статор, частичная сборка мотора, мотор в сборе
Вступление
Электрические моторы появились более 150 лет назад, однако за это время их конструкция не претерпела особых изменений: вращающийся ротор, медные обмотки статора, подшипники. С годами происходило лишь снижение веса электромоторов, увеличение КПД, а также точности управления скоростью.
Сегодня, благодаря развитию современной электроники и появлению мощных магнитов на основе редкоземельных металлов, удаётся создавать как никогда мощные и в то же время компактные и легкие “Бесколлекторные” электромоторы. При этом, благодаря простоте своей конструкции они являются наиболее надежными среди когда-либо созданных электродвигателей. Про создание такого мотора и пойдет речь в данной статье.
Описание мотора
В “Бесколлекторных моторах” отсутствует знакомый всем по разборке электроинструмента элемент “Щетки”, роль которых заключается в передаче тока на обмотку вращающегося ротора. В бесколлекторных двигателях ток подается на обмотки не-двигающегося статора, который, создавая магнитное поле поочередно на отдельных своих полюсах, раскручивает ротор, на котором закреплены магниты.
Первый такой мотор был напечатан нами 3D принтере как эксперимент. Вместо специальных пластин из электротехнической стали, для корпуса ротора и сердечника статора, на который наматывалась медная катушка, мы использовали обычный пластик. На роторе были закреплены неодимовые магниты прямоугольного сечения. Естественно такой мотор был не способен выдать максимальную мощность. Однако этого хватило, что бы мотор раскрутился до 20к rpm, после чего пластик не выдержал и ротор мотора разорвало, а магниты раскидало вокруг. Данный эксперимент сподвиг нас на создание полноценного мотора.
Узнав мнение любителей радиоуправляемых моделей, в качестве задачи, мы выбрали мотор для гоночных машинок типоразмера “540”, как наиболее востребованного. Данный мотор имеет габариты 54мм в длину и 36мм в диаметре.
Ротор нового мотора мы сделали из единого неодимового магнита в форме цилиндра. Магнит эпоксидкой приклеили на вал выточенный из инструментальной стали на опытном производстве.
Статор мы вырезали лазером из набора пластин трансформаторной стали толщиной 0.5мм. Каждая пластина затем была тщательно покрыта лаком и затем из примерно 50 пластин склеивался готовый статор. Лаком пластины покрывались чтобы избежать замыкания между ними и исключить потери энергии на токах Фуко, которые могли бы возникнуть в статоре.
Корпус мотора был выполнен из двух алюминиевых частей в форме контейнера. Статор плотно входит в алюминиевый корпус и хорошо прилегает к стенкам. Такая конструкция обеспечивает хорошее охлаждение мотора.
Измерение характеристик
Для достижения максимальных характеристик своих разработок, необходимо проводить адекватную оценку и точное измерение характеристик. Для этого нами был спроектирован и собран специальный диностенд.
Основным элементом стенда является тяжёлый груз в виде шайбы. Во время измерений, мотор раскручивает данный груз и по угловой скорости и ускорению рассчитываются выходная мощность и момент мотора.
Для измерения скорости вращения груза используется пара магнитов на валу и магнитный цифровой датчик A3144 на основе эффекта холла. Конечно, можно было бы измерять обороты по импульсам непосредственно с обмоток мотора, поскольку данный мотор является синхронным. Однако вариант с датчиком является более надёжным и он будет работать даже на очень малых оборотах, на которых импульсы будут нечитаемы.
Кроме оборотов наш стенд способен измерять ещё несколько важных параметров:
В результате наш стенд способен измерять в произвольный момент времени следующие характеристики мотора:
Результаты тестирования
Для проверки работоспособности стенда мы сначала испытали его на обычном коллекторном моторе R540-6022. Параметров для этого мотора известно достаточно мало, однако этого хватило, чтобы оценить результаты измерения, которые получились достаточно близкими к заводским.
Затем уже был испытан наш мотор. Естественно он смог показать лучшее КПД(65% против 45%) и при этом больший момент(1200 против 250 г на см), чем обычный мотор. Измерение температуры тоже дало достаточно хорошие результаты, во время тестирования мотор не нагревался выше 80 градусов.
Но на данный момент измерения пока не окончательны. Нам не удалось измерить мотор в полном диапазоне оборотов из-за ограничения мощности источника питания. Также предстоит сравнить наш мотор с аналогичными моторами конкурентов и испытать его “в бою”, поставив на гоночную радиоуправляемую машину и выступить на соревнованиях.
БЕСКОЛЛЕКТОРНЫЕ ДВИГАТЕЛИ BLDC
Бесколлекторные двигатели постоянного тока (BLDC — Brushless DC electric motor) часто используется в мотор-колесе электросамокатов и электровелосипедов. Его первые версии появились в 1960-х годах. Двигатели BLDC намного эффективнее и имеют гораздо больший крутящий момент.
Размещение постоянного магнита в роторе (внутренняя конфигурация) и управление окружающими катушками через транзисторы, позволило устранить самый важный недостаток щеточных (коллекторных) двигателей постоянного тока, которым являются сами щетки.
В альтернативной конфигурации (внешний ход) катушки якоря могут образовывать твердый сердечник, вокруг которого вращается ротор с постоянным магнитом, приводящий в движение вал двигателя. В обоих случаях катушки неподвижны.
Двигатели BLDC считаются двигателями с электронной коммутацией (ECM) в отличие от щеточных двигателей с механической коммутацией.
Общий принцип управления двигателем BLDC
Для двигателей BLDC требуются современные электронные контроллеры, которые могут определять положение ротора. Для этой цели можно использовать датчик Холла, реагирующий на положение каждой из катушек якоря при работающем двигателе. Скорость двигателя BLDC больше не может регулироваться напряжением, как в щеточных двигателях, а только путем изменения частоты переключения. Эти двигатели питаются от сигнала ШИМ, как показано на рисунке.
Двигатели BLDC делятся на 1-фазные, 2-фазные и 3-фазные, но принцип работы является общим для всех типов. Вместо механического коммутатора, изменяющего направление магнитного поля катушек ротора, используются транзисторы, которые непрерывно изменяют фазу напряжения подаваемого на катушку статора, что заставляет ротор непрерывно вращаться.
Управление однофазными двигателями BLDC
Однофазные двигатели BLDC имеют две параллельные обмотки якоря, управляемые напряжением ШИМ через мост H. Выходной сигнал одного датчика Холла постоянно меняет полярность тока, протекающего через обмотку якоря, таким образом поддерживая непрерывное вращение ротора. Однофазные двигатели BLDC очень просты в управлении. Для их работы достаточно одной интегральной микросхемы, например LB11970RV (однофазный двухполупериодный драйвер).
Принцип управления однофазным двигателем BLDC
Управление двухфазными двигателями BLDC
Двухфазные двигатели немного сложнее в управлении. Якорь состоит из 4 катушек, а магнитное поле создается 4 парами постоянных магнитов. Катушки якоря сгруппированы попарно, поэтому двухфазные двигатели имеют больший крутящий момент, чем однофазные.
Двухфазные двигатели обычно используются в некритических низкоуровневых устройствах, таких как большие вентиляторы, поэтому там не требуются сложные контроллеры. В результате двухфазные двигатели мощнее и дешевле. Драйверы, такие как например LB1668M, могут использоваться для их управления.
Управление 3-фазными двигателями BLDC
Трехфазные двигатели BLDC имеют 3 катушки якоря, соответствующие 6 состояниям коммутации. В каждую из катушек обычно помещают датчики Холла, которые реагируют на прохождения над ними постоянных магнитов, которые являются элементами ротора. Принцип использования сигналов от датчиков Холла показан на рисунке.
Конструкция двигателя BLDC с датчиками Холла
Тут тоже сигналы от датчиков Холла определяют моменты переключения. Эти сигналы через соответствующую систему подключения включают транзисторы, которые напрямую управляют катушками двигателя. Конечно, переключение в трехфазных двигателях происходит в 3 раза быстрее, чем в однофазных. Это приводит к снижению вибрации (дёргания) и более точному контролю скорости. Примером трехфазного драйвера двигателя BLDC с датчиками Холла является микросхема LB1976.
Принцип управления мотором BLDC с использованием датчиков Холла
Двигателями также можно управлять без датчиков Холла, используя сигнал BEMF (Back EMF) от каждой катушки. Этот сигнал получается путем сравнения напряжения, индуцированного в каждой из трех катушек, с центральным напряжением (точка COM). Результат такой связи усиливается и передается в систему определения положения ротора.
Сигналы от трех катушек преобразуются в формы импульсов, сдвинутых друг относительно друга на 120 °. Некоторые контроллеры используют простые компараторы для определения фазы каждой обмотки, другие требуют использования внешних микроконтроллеров. Трехфазный интегрированный бессенсорный контроллер LB11983 включает в себя датчик положения ротора со схемами запуска, синхронизации, переключения, тепловой защиты и контроля насыщения и не требует внешнего микроконтроллера.
Принцип управления двигателем BLDC с помощью сигнала BEMF
Драйверы двигателей BLDC, использующие сигналы BEMF, имеют проблему с определением положения ротора во время запуска, потому что эти сигналы еще не генерируются. В этом случае двигатель запускается с неизвестного положения, то есть неизвестно положение статора относительно ротора. Это положение необходимо быстро распознать во время работы, потому что включение неправильной фазы может изменить направление вращения двигателя и даже сделать невозможной работу.
Форум по обсуждению материала БЕСКОЛЛЕКТОРНЫЕ ДВИГАТЕЛИ BLDC
Простая транзисторная схема робота следующего по нарисованной линии. Без микроконтроллеров и дорогих деталей.
Мощный самодельный светодиодный фонарик на литиевых аккумуляторах. Используемые модули и фото сборки.
Изучим разные типы датчиков приближения и объекты, которые они могут обнаруживать.