Бесколлекторные моторы. Контроллер для бездатчиковых BLDC моторов на микроконтроллере STM32
ฝัง
- เผยแพร่เมื่อ 16 ต.ค. 2024
- Пример на микроконтроллере STM32. Управления бездатчиковыми BLDC моторами для микроконтроллера STM32:
github.com/avi...
Плата управления бесколлекторными двигателями на микроконтроллере STM32F103. Схема, чертеж платы:
blog.avislab.c...
Видео: Бесколлекторные моторы "на пальцах":
• Бесколлекторные BLDC м...
Примеры и исходный код для моторов с датчиками Холла:
github.com/avi...
github.com/avi...
Статьи об управлении бесколлекторными двигателями с помощью микроконтроллера STM32
STM32 - BLDC Motor Control:
blog.avislab.c...
STM32 - PMSM Control:
blog.avislab.c...
Подборка видео о бесколлекторных моторах. BLDC, PMSM, векторное управление:
blog.avislab.c...
Все о brushless моторах:
blog.avislab.c...
додивився ролік до кінця. Та ну реально автор роліка - талант!!!! Дай бог вам натхнення! Творіть ще!!!!
вау!!!!! Перший раз бачу такий грамотний ролік на цю тему!!!!! Хлопче - ви талант!!!!!! Творіть ще!!!!!
на третьей минуте было все понятно,на пятой тоже понятно но разболелась голова,на седьмой минуте поднялось давление и головная боль стала невыносимой и я перестал понимать о чем речь,на десятой минуте я перестал понимать не только о чем речь,но и вообще что происходит вокруг меня,вены на лбу вздулись,пот пошел ручьем а из носа потекла кровь....простите но я не досмотрел)))))очень мощно,информация концентрированная ,ни одного лишнего слова.вобщем я лучше с датчиками разбираться буду
На 11 минуте начинается эпилепсия и в конвульсиях наступает инфаркт микардо, вот такой рубец!
Так что Вам повезло, Вы уберегли себя, я конечно же проверять не буду)
У меня на 13й минуте голова вскипела. Но все же кажется без датчика крутить это круто.
С датчиками надо возиться. подбирать их положение и клеить. Жалко что он не показал как.
Прекрасные видео. Жду когда будет от вас по FOC управлению :)
Man you're genius. You'll make me learn Russian language, just to learn this stuff you're teaching us here!
Спасибо за видео, стиль подачи и объяснения сложных вещей круче, чем это пишут в Application Note.
Берегите руки!!! С тревогой смотрел этот момент, думал, будет кровища и содранная кожа...
Спасибо за видео, хотелось бы ещё больше видео по бездатчиковым моторам и работе с ними, о других проблемах и методах определения положения, например о векторном управлении
Очень подробно и понятно, спасибо =)
Спасибо за видео и ваши знания в чистом виде. Это супер полезно и передает кучу опыта и бережет много времени.
ждем статьи , схемы и видео про field oriented control
Спасибо, очень познавательное видео! Как раз вчера смотрел видео от TI по управлению BLDC. Возможно будет интересно, они определяют момент перехода через ноль не просто компаратором, а интегрированием BEMF. За счет этого повышается помехоустойчивость и, главное, снижаются обороты при которых возможно определение положение ротора.
Да, именно интегрирование BEMF я и имел в виду, когда говорил, что схему и алгоритм можно улучшить.
Здавствыйте,подскажите пожалуйста , раально ли сделать 6-ти фазный бездачковый контролер на существующих электроных компанентах?
Привет! Спасибо за это видео, оно самое совершенное из всех что я пересмотрел на эту тему, как наших так и зарубежных. Не подскажете, а что если вместо ШИМа включать подачу напряжения на обмотку непрерывно на полную, просто начинать подачу позже и прекращать ее раньше? Ну то есть подавать не в течение 120* от оборота, а симметрично уменьшить этот градус. Тогда можно не учитывать фазу ШИМа при считывании bEMF ведь? И на высоких оборотах ШИМ перестанет быть помехой?
С интересом смотрю ваши видео. Но, хочу поправить. На электротраспорте тоже есть бездатчиковые моторы и контроллеры. Самый яркий и известный пример - самокаты компании Мини моторс
Добрый день! Нужна помощь в поиске литературы по векторному управлению асинхронным двигателем. Вопрос в следующем, разгонять двигатель путем увеличения тока в оси q получаются а вот контролирумо тормозить нет. То есть он работает как постоянный двигатель, когда снижаем напряжение то ротор замедляется но как бы сомовыбегом. У постоянного двигателя этот вопрос решался переключение группы теристоров и збросом энергии в сеть. Может знаете какую-то литературу которая бы мне могла помочь ?
С такими способностями можно уже и частотник с векторным управлением собирать)). Смотрел ваше видео "Бесколлекторные BLDC моторы "на пальцах"" так вот, а если на старте двигатель раскрутить трехфазным напряжением, а потом переключится на стандартное управление? По идее пуск будет более плавным.
Есть микроконтроллеры с рабочим напряжением от одной банки?
Как насчёт разобраться с принципом рекуперативной зарядки, при снятии мощности с высоко инертной нагрузкой. И использовании в качестве выпрямителя ключи полу-мостов ?! Если управлять STM-32, в купе с датчиками положения и токовым датчиком, хотя достаточно будет мне кажется просто узнавать напряжение? Естественно речь идёт про PMSM, или про BLDC.
Да, это работает. Cиловые ключи можно использовать. Но это не все с чем придется столкнуться чтобы "заряд" все таки попал в батарею и при этом управлять этим процессом. Поэтому у меня другая затея - сделать систему рекуперации отдельным модулем/схемой (в качестве эксперимента). Разумеется, управление микроконтроллером или автономное (педалью/ручкой тормоза). И разумеется, модулю рекуперации будет все равно BLDC или PMSM. При этом если рекуперация не нужна, модуль рекуперации можно не использовать снять/отключить. При подключении/отключении рекуперации программный код изменять не потребуется. Этот модуль работает с моторами с датчиками и без. И обеспечивает аппаратное согласование между системой торможения и регулятором, что надежнее чем программная реализация. За такое удобство и универсальность придется расплачиваться чуть меньшей эффективностью по сравнению с использованием силовых ключей в качестве выпрямителя. Посмотрим что получится…
@@avislab7180 Я имел такие же мысли по этому поводу)) И да, так как обратная эдс от двигателя будет ниженапряжения питанияот акб, то понятное дело нужен dc-dc step Up конвертер, и мощей ему нужен выход по больше чем 1с акб, дабы обеспечить достойное торможение и хоть какое то +- норм кпд, и прикрутить так же stm32. П.с. Спасибо за исследование в этой теме))) хотя 1с при 50а/ч и напряжении 48в 🤔 да пожалуй нужны эксперименты
😣
Насколько же это ценная инфа) Будто боженька спустился и все мне рассказал о бесколлекторных двигателях.
Здравствуйте добрый человек, я как подпищик вашего канала смотрю все ваши видео но на этом видиё у меня возник вопрос,?
И так, что будет если подключить на прямую без датчика холла и контролера BLDC к трехфазному трансформатору обшой сложности на все три фазы на 40V, двигатель запустится?
Жду с не терпением вашего ответа а лучше видео опыты на данной темме
Вы пытаетесь запустить мотор как простой синхронник. Затея не самая лучшая и не самая интересная. Мотор запустится, если ротор предварительно разогнать.
В этом видео:
th-cam.com/video/tjmou9dtxBg/w-d-xo.html
когда речь идет о синхронном моторе, я примерно так и делал. Специально видео об этом делать не стану, поскольку тема классических синхронников для меня решительно не интересна.
В вентиляторах есть датчик холла внутри так там положение ротора вроде тоже отслеживается.
Добрый день, пытаюсь применить вашу наработку для управления инверторными компрессорами в тепловых насосах. знаний в программировании snv32 крайне мало, не скинете пошаговую инструкцию, как ваш проект залить в stm? Сначала потренируюсь на низковольтных, а потом перейду на хай вольтаж...
ПРИВЕТ ВСЕМ . ИЩЮ СXЕМУ ДЛЯ МОТОРА БЛДЦ ДЛЯ КОЛЁСНОЙ ДОСКИ/СКЕЙТБОРД . НУЖНА СXЕМА С ВОЗМОЖНОСТьЯМИ КАК ПЛАВНЫЙ ПУСК ВПЕРЁД ТАК И ПЛАВНЫЙ ПУСК НАЗАД ТАК И ПЛАВНОЕ ТОРМОЖЕНИЕ ??? БЛАГО ДАРЮ ВАМ ......
Здорово разжевал. Всё понятно. Таки всё равно от датчиков никуда не деться на бесколлекторных магнитных движках по нагрузкой. А вот про асинхронники есть информация на канале? Имею ввиду контроллер.
Можно и без датчиков, есть методы которые позволяют. Но не со всеми моторами. Асинхронниками я не увлекаюсь.
Еще вопрос, А почему не использовать АЦП вместо внешнего компаратора.
В СТМ вроде они и побыстрее и ДМА есть, или все равно сильно скорость упадет ?
Жаль что СТМ редко встраивают копараторы и ЕЕПРОМ, неудобно из за этого.
На данном этапе можно и АЦП использовать. Внешний компаратор использовал поскольку в дальнейшем, планировал фильтровать сигнал и добиться того чтобы переключение компаратора вызывало прерывание. Так повысится точность управления и вырастут максимально возможные обороты.
@@avislab7180
Я тут от СТМ интересный контроллер откопал.
kra.terraelectronica.ru/news/4461
Может тоже заинтересует .
у STM нет на борту компараторов?
Прошу прощения за Губский вопрос, но на какое напряжение использовать конденсаторы? И можно ли с8 1нФ заменить большей ёмкостью? Заранее благодарен
c8 - фильтрующий конденсатор для датчика тока. Подробности в документации к датчику radiokomponent.com.ua/pdf/is/ACS712T.pdf увеличивать емкость можно, но это повлияет на характеристики. см. стр. 10.
Я использовал конденсаторы на напряжение 50В.
Здравствуйте, спасибо за познавательное видео!!! К Вам огромная просьба, собираю контроллер на микросхеме mc33035, ни как не могу запустить горит светодиод ошибки, помогите пожалуйста, за ранее огромное спасибо от подписчика!!!
Вопросик: есть двигатель с датчиками, но не на эффекте Холла, скорее всего индуктивные, просто ещё ряд мелких катушек. Четыре выхода, между одним контактом с остальными одинарное сопротивление, для других двойное (т.е. соединение звездой с отдельным выводом на центр, кажется). По идее, принцип определения положения ротора должен быть схож с тем как на видео? Т.е. разница только в том, что раз там отдельная цепь, то не нужно запариваться с синхронизации замеров к ШИМ, так? Или лучше вообще иначе делать? Т.е. не на компараторах, а опять на АЦП?
Я не могу поставить диагноз "по телефону". Но "вангую", что этот мотор вообще не BLDC, и управлять им нужно иначе.
здравствуйте, как можно с вами связаться?
Спробуйте написати мені листа на мій e-mail: andre@avislab.com якщо зацікавить, може і відповім.
Зачем так усложнять управление BLDC моторов без датчиков положения ротора ? Для векторного управления и с датчиками Холла BLDC моторы подойдут.
1. Здесь приведен самый простой, я бы сказал, примитивный способ управления бездатчиковыми BLDC моторами. Где здесь усложнение я не понял.
2. Это видео об бездатчиковых BLDC моторах. Т.е. тут нет датчиков и нет векторного управления. Причину по которой Вы упомянули BLDC моторы с датчиками холла для векторного управления я постичь не смог. И даже не знаю что на это ответить. Разве что заметить, что: Векторное управление может управлять моторами с датчиками положения ротора и моторами БЕЗ датчиков положения ротора. Не всеми BLDC моторами (даже с датчиками Холла) можно успешно управлять используя векторное управление.
Уважаемый. В корне непонятно, частота среза вашего фильтра прибл 70кгц. На выходе с мостов у вас меандр (ШИМ 3 синуса сдвинутых на 120градуов) порядка 4-20кгц. компаратор превращается в обычный ИЛИ элемент. Если вы говорите что измерять надо на отключенной фазе я это с трудом представляю как это сделать, на время отключать генерацию ШИМ и делать измерение? дальше н е досмотрел так и есть.
Это BLDC мотор (бесколлекторный мотор ПОСТОЯННОГО тока). Здесь нет синуса. В нем в каждый момент времени подается плюс на одну из фаз, минус на другую, а третья - свободная. Вот на свободной фазе и нужно измерять напряжение. Везде где синус - это уже PMSM. Про PMSM я тоже делал видео, но только с датчиками положения ротора.
@@avislab7180 Подскажите как лучше сделать. имеется мотор 3 фазы и магнитным ротором. управлял синусом и если резко дать обороты то происходил срыв и дальше в режиме ограничения тока дрибезжание. когда плавно то все хорошо. я так понимаю что надо вычислять положение ротора по отставанию тока. датчиков хола нет. я думал или ставить оу с токовым резистором или ACS ставить на фазы. Что посоветуете. надо сделать так чтобы при нагрузке происходило увелечение тока (амплитудой синуса (генерируемого шимом)) и если достиг ток предела то снижать обороты.
@@TheDiscoLux На сколько я понял, Вы просто генерируете трехфазный синус и подаете его на фазы невзирая на то, в каком положении находится ротор.
В этом случае у Вас получается классический синхронник только с постоянными магнитами. Работает он как и положено синхроннику. И вываливаться он из синхронизации как и положено синхроннику -
при резких перепадах частоты, напряжения, нагрузки. Все согласно учебникам. Вангую, что он у Вас еще и греется знатно.
Для того, чтобы мотор продолжал вращаться, следует поменять подход в управлении им. И управлять им как PMSM.
Надо чтобы регулятор отслеживал положение ротора и устанавливал фазу трехфазного синусоидального напряжения согласно положению ротора, а частоту согласно скорости вращения ротора.
Т.е. мы НЕ задаем частоту по своему желанию, а вычисляем ее по скорости вращения ротора. Фазу сдвигаем в зависимости от положения ротора. А управление оборотами осуществляется изменением амплитуды трехфазного напряжения.
Как отслеживать положения ротора?
1) прямой метод - датчики положения ротора
2) косвенный - наблюдатели (программно реализованные), которые вычисляют положение ротора, основываясь на различных данных, которые известны о моторе, и текущем значении токов во всех трех фазах.
Реализация второго способа может вызвать сложности на некоторых моторах (зависит, в том числе, и от качества изготовления мотора). Здесь я не помощник.
Если у Вас мотор изначально спроектирован как BLDC (двигатель ПОСТОЯННОГО тока), то управление им как PMSM может потребовать некоторых дополнительных усилий поскольку BLDC моторы в отличии от PMSM имеют значительное магнитное залипание,
что в некоторых случаях сказывается на точности определения скорости вращения в режимах близких к холостому ходу с малой нагрузкой на валу.
Что касается датчиков тока, то тут хотя бы знать пределы этих токов. А вообще... давайте начнем с самого начала. Что за двигатель? Может его синусом и не стоит мучить...
@@avislab7180 Спасибо за ответ. Двигатель скваженный с алиэкспресса 120 224 500 ватт. в комплекте блок старта там именно стартует синусоидой. ротор мокрый в воде чисто магниты. больше никаких данных нет по этому двигателю. другой скорее всего тако-же вариант. это насосы. 2 года назад игрался все вроде работало со срыв ом так проблему и не решил. сейчас решил доделать буду разводить и заложу различные варианты косвенного отслеживания.
@@avislab7180 залипание у первого варианта есть небольшое у второго нет. начальные обороты будут около 15.
Я не мог загружать файлы из github в ESC. Я хотел бы помочь вам.
Здравствуйте , а реально сделать плату для управления бесколлекторным мотором и регулировка оборотов вольтажом ?
Да, это она и есть.
А можно пожалуйста ссылку или схемку ?
Все ссылки в описании к видео
@@avislab7180 ПРИВЕТ ВСЕМ . ИЩЮ СXЕМУ ДЛЯ МОТОРА БЛДЦ ДЛЯ КОЛЁСНОЙ ДОСКИ/СКЕЙТБОРД . НУЖНА СXЕМА С ВОЗМОЖНОСТьЯМИ КАК ПЛАВНЫЙ ПУСК ВПЕРЁД ТАК И ПЛАВНЫЙ ПУСК НАЗАД ТАК И ПЛАВНОЕ ТОРМОЖЕНИЕ ??? БЛАГО ДАРЮ ВАМ ......
От обычного частотника bldc будет работать?
Для BLDC моторов промышленность выпускает специальные контроллеры для BLDC моторов. Это как бы НАМЕКАЕТ, что неспроста это. Но если воткнуть BLDC в обычный частотник, то вращаться он может и будет, но не долго.
Дирижабль 50 куб.м такой мотор попрёт или надо десяток движков?
А дирижабль на горячем воздухе или легком газе?
@@ms-fair на лёгком газе. На горячем воздухе - это воздушный шар.
А можно заменить igbt на мощные типа 600-1000 вольт ??? И если нет то почему ???
На этой плате стоят драйверы ключей для MOSFET транзисторов рассчитанные максимум на 600В. Igbt не использовал. Меняя ключи на более мощные, нужно менять драйверы ключей, чтобы те смогли нормально открывать и закрывать ключи. Переделать все цепи обратной связи с учетом более высокого напряжения, обязательно защита от пробоя...в общем все надо переделать...
для чего замена ? ради замены ?
igbt имеют преимущество только на высоких напряжениях, когда у полевиков начинается сильный рост сопротивления канала. на малых же напряжениях и больших токах igbt будут тупо переводить большую часть мощности в тепло в связи с тем, что у КЭ перехода есть напряжение насыщение. от 0.3-0.5 у спецовых биполяров и до 2.0-2.5 у особо мощных биполяров/igbt и у составных/дарлингтонов.
допустим, это пенолёт с током на ключах до 20-30А. возьмём типичное падение напряжение в 1.5В. тогда каждый ключ будет рассеивать 1.5*30=45Вт. а включено одновременно всегда 2 ключа. т.е. 90Вт тепла в никуда.
Avislab, драйверы, впринципе, можно теми же оставить - как правило у мощных полевиков ёмкость затвора сильно выше чем у igbt, т.к. полевик в igbt только для открытия биполяра нужен. а токи базы у биполяра до 10А даже не доходят.
PS: да даже в тех же сварочниках драйверами мало кто занимается - просто GDT (gate driver transformer) ставят на каждую пару и его очень даже хватает.
Может будет наглостью, но все же спрошу.
Есть ли вероятность, что вы поделитесь полными исходниками от этого проекта www.avislab.com/blog/brushless08/ ?
Я начинающий и хотелось бы глянуть, как встраивались, измерение управляющего сигнала, работа с уарт, и что бы это все не мешало работать контроллеру.
Заранее спасибо.
И я правильно понял, что если я буду подавать шим, например только на верхние ключи, то мне будет достаточно 3 шим каналов ?
Я бы поделился, но исходники благополучно утеряны в виду того, что давно Атмегами не занимаюсь. И признаться, бесконечно этому рад (что Атмегами не занимаюсь), ибо с STM32 все проще по причине богатющей переферии. Касательно 3 каналов ШИМ - да. Достаточно трех, если будите подавать ШИМ на верхние или нижние ключи. Но тогда Вы не сможете использовать комплементарную работу ключей и все что с этим связано. Т.е. торможение двигателем, возбуждение синусом и т.д. про это можно забыть.
Avislab Спасибо
Некоторые китайские BLDC контроллеры "пищат" двигателем, может они таким образом узнают начальное положение мотора?
psarabeev, а если движок провернуть после писка ?
то что они пищат - это экономия на пищалке и проверка соединения + настройки через такую "индикацию".
Есть такой способ high frequency injection. Используется для определение положения ротора в остановленном состоянии и на малых оборотах. Чем-то подобным я баловался, почитать/посмотреть можно здесь: www.avislab.com/blog/brushless06/ Работает не на всех моторах.
Подскажите как можно резко остановить мотор?
Закоротить все провода от мотора друг на друга, например. Ну то есть можно просто включить все транзисторы в нижнем или верхнем плечах.
Видео супер. Но я бы подальше держал руки от вентилятора.
Доброго дня можна звами звязатися маю комерційну пропозицію
Доброго дня. Це моє хобі, я ним НЕ заробляю. Я ним займаюсь коли маю час та натхнення. Тому комерційні пропозиції виконати вчасно не зможу фізично. Зверніться будьласка до професіоналів. З найкращими побажаннями, Андрій.
@@avislab7180 Андній ну ок треба порада
А можна зробити на базі ардуіно нано а не STM?
Звісно можна. Я раніше те саме робив на Atmega. Але Atmega значно слабша за STM32. Тому сенсу повертатися до 8 розрядних мікроконтролерів не бачу. Для простого BLDC ардуіно нано вистачить, та якщо дивитися у бік векторного керування, тут ардуіно занадто слабка.
есть же электро самокаты без датчиков холла
Марку самоката, пожалуйста, в студию.
@@avislab7180 да причём тут марка? их же много. например куго м5 или ibalance athlete
@@АлексейВласов-ц3ь они с места не стартуют, нужно оттолкнуться ногой чтобы набрать первоначальную скорость для старта мотора
@@3eJleHuii3Miii не надо толкаться, стартуют с места
@@АлексейВласов-ц3ь хм, Xiaomi m365 с места не стартует. Думаю что проблема в малой мощности: 250 Вт в сяоми против 1000 Вт в куго и 1600 Вт в ibalance
Спасибо !
Ого, 0 дизлайков. Редко такое вижу в ютубе.
Видео действительно достойно только лайков.
Идея крепления мотора, просто в пенопласт - плохая, от вибраций мотор выпрыгнет и хорошо, если все хорошо. Аккуратней!!!
не плохая задача для мозга