Скетч для управления bldc
- Войдите на сайт для отправки комментариев
Всем привет!
Мучаюсь уже месяц :) , спалил три ардуинки :( .
Имеется китайская Arduino ProMicro, 6 транзисторов IRLB3034, потенциометр, батарейка 12В. В даташите пишут, что эти транзисторы при напруге на ключе в 5В могут пропускать через себя до 100А. Значит должно заработать.
Из говна и палок сделал настольный bldc, который хочу запустить для некоторых экспериментов. Если подавать сигналы напрямую с батарейки на выводы моста, ротор-маховик раскручивается, но очень быстро менять местами провода я не смогу :)
Собрал Н-мосты, подключил к ардуине и батарейке. Пишу скетч, но сомневаюсь в его работе потому, что нет определения положения ротора-маховика. Хаотичная подача импульсов не раскрутит привод, пробовал. Ну или мой скетч не работает. А синхронизировать что-то не знаю как.
Помогите пожалуйста...
Собрал Н-мосты,
Еще один фантаст. H-мостом bldc не управляют. Рисуй схему чего ты там собрал. И расчеты.
:)
верхние выводы на плюс батарейки, нижние выводы на минус батарейки. Питается ардуинка от USB. Общий минус с ардуинкой и батарейкой. Выводы с затворов (Q 1-6) на ардуинку напрямую, без резисторов. Надо будет с резисторами попробовать. Расчетов никаких нет.
Если верить даташиту, то 5В достаточно для открытия IRLB3034. Другой вопрос в том, что является ли сигнал HIGH на пине ардуино эквивалентом 5В? Что-то я мультиметром не обнаружил этого. Хотя может криво проверял...
5В является эквивалентом 5В, в этом можно не сомневаться. Только вот напряжение на схеме измеряется между двумя точками, и мне кажется сомнительным, чтобы в даташите на транзистор эти цифры указывались относительно земли ардуино.
Ну и кроме шуток, тебе нужно еще несколько месяцев учиться, прежде чем лезть в такие схемы. Купи готовый драйвер.
Другой вопрос в том, что является ли сигнал HIGH на пине ардуино эквивалентом 5В?
Напряжение логической единицы на пине (HIGH) равно напряжению питания микроконтроллера (ножка VCC микроконтроллера).
А какой мне смысл врать про цифры в даташитах? Получается, что я сам себе тогда вру.
Если питание ардуины подается на пин при параметре HIGH, это хорошо, буду думать дальше, что у меня не так.
Я и не думал шутить, я вот как раз учусь и тренируюсь. Прошу подсказать, направить, указать на ошибки. Схему использую максимально примитивную.
:)
верхние выводы на плюс батарейки, нижние выводы на минус батарейки. Питается ардуинка от USB. Общий минус с ардуинкой и батарейкой. Выводы с затворов (Q 1-6) на ардуинку напрямую, без резисторов. Надо будет с резисторами попробовать. Расчетов никаких нет.
Если верить даташиту, то 5В достаточно для открытия IRLB3034. Другой вопрос в том, что является ли сигнал HIGH на пине ардуино эквивалентом 5В?
схема нерабочая. совсем.
схема опасна для выводов ардуины. "спалил три ардуинки" - не удивительно.
Горели не выводы. Горели элементы отвечающие за внешние питание. Сжог именно тогда, когда питал еще и ардуину от батарейки. Скорее всего в таком режиме и ошибках в коде банально происходило замыкание ардуины. Один раз сжог именно так, что плата осталась рабочей, успел отрубить батарейку. Вот только потом ардуинка на подключение внешнего питания не реагировала, соглашалась питаться исключительно от USB.
Вот здесь не совсем понятно почему выделены только верхние транзисторы. Затворы всех транзисторов подключены к пинам ардуины. Тогда уж ситуация одинакова со всеми транзисторами.
Вот здесь эта схема работает. Но у него скетч сложный для меня. Я только учусь.
https://youtu.be/QE33HCjZ5pk
А какой мне смысл врать про цифры в даташитах? Получается, что я сам себе тогда вру.
Получается, что ты смотришь в книгу и видишь фигу. Уверен, что в твоей схеме Vds=25V ?
Не получится разобраться в этих вещах просто в лоб. Транзистор это слишком сложное устройство и в даташите его принцип действия не описан. Не понимая принципа ты не сможешь использовать цифры из даташита.
Вот здесь не совсем понятно почему выделены только верхние транзисторы. Затворы всех транзисторов подключены к пинам ардуины. Тогда уж ситуация одинакова со всеми транзисторами.
MotorArdent, обратите внимание, что управляющее напряжение для транзисторов - это напряжение, приложенное между истоком и затвором (на приведенном Вами графике это указано под горизонтальной осью). Для нижних транзисторов это выполняется всегда, поскольку их истоки соединены с общим проводом Ардуино, а затворы - с выходами МК.
При закрытых нижних транзисторах потенциал истоков верхних транзисторов вообще мало понятен, поскольку они оказываются соединены друг с другом через нагрузку и "оторваны" от общего провода из-за того, что закрыты нижние транзисторы.
Как только один из нижних транзисторов открывается, он "притягивает" потенциалы истоков верхних транзисторов к "0" (=общему проводу) и тогда верхние транзисторы могут открыться по сигналам с выходов МК. Если при этом включиться верхний для уже открытого нижнего транзистора, то через них, минуя нагрузку, пойдет так называемый "сквозной ток" и будет КЗ источника питания. Если откроется верхний транзистор "рядом" с уже открытым нижним, то он останется открытым в том случае, если суммарное падение напряжение на нижнем транзисторе и нагрузке не превысит 2 В ... 2,5 В, которые будут вычитаться из управляющего напряжения 5 В, поступающего с выхода МК на затвор верхнего транзистора. Но это будет выполняться только в том случае, если верхний транзистор приоткрылся "чуть-чуть" и через нагрузку течет "совсем небольшой" ток. Т.е. верхние транзисторы даже при правильной коммутации будут работать не в ключевом режиме и запросто могут сами перегреться. (О частоте переключения и переходных процессах на индуктивной нагрузке я пока сознательно умалчиваю.)
Приведенная схема может, при удачном стечении обстоятельств, сдвинуть с места двигатель в нагрузке и продемонстрировать факт движения, но назвать её работоспособной я бы не рискнул.
Получается, что ты смотришь в книгу и видишь фигу. Уверен, что в твоей схеме Vds=25V ?
Не получится разобраться в этих вещах просто в лоб. Транзистор это слишком сложное устройство и в даташите его принцип действия не описан. Не понимая принципа ты не сможешь использовать цифры из даташита.
Конечно в лоб просто не разберешься. Но постепенно можно. Никто не родился со знаниями. Я просто прошу помочь. Идея не в покупке драйвера, а в том, чтобы сделать самому, хоть самый примитивный.
Vds это пока еще безопасная напруга сток-исток в закрытом состоянии. Я уверен, что такой напруги в моей схеме нет вообще, минимум в два раза меньше. Это плохо?
Для затвора надо Vgs. Оно вот нам на графике от 1В до 5В. Питание ардуинки с USB с потерями ну примерно 4,5В. Этого должно хватить для открытия. Ну пусть на транзистор попадает еще меньше. Но он откроется и хоть что-то уже пропустит.
Беда в коде. Либо надо датчики холла, для позиционирования ротора-маховика, либо думать с задержками. Из-за моих некорректных задержек, которые наверное слишком малы, скорее всего происходит замыкание. Пока не придумал как выйти из положения, но датчиками холла усложнять конструкцию не хочется.
Может, и в коде тоже. :)) А что происходит со схемой, я выше описал.
Может, и в коде тоже. :)) А что происходит со схемой, я выше описал.
Да это понятно. Идеальных условий не будет. Мне стронуть с места нужно. Этого пока хватило бы :)
Развяжите полевики и ардуинку через оптопары. Сразу возникнет проблема с напряжением на затворе. Вот ее и надо решать, а не бездумно сжигать ардуинки.
ТС либо ты ставишь в верхнее плечо p mosfet logic level, либо начинаешь изучить инет на тему бутстрапной схемы. Или (по русски) схемы с предзарядом емкости.
У бутстрапной схемы есть недостаток. Управление всегда ложно быть импульсным. Бутстрапный конденсатор заряжается пока транзистор закрыт. Но для BLDC моторчика это должно быть нормально.
p mosfet - может быть проблемма найти подходящий, бутстрап сложнее делать. Выбирай. Хотя если ты чисто для левел апа... полчаса паяльником - почему нет?
Да это понятно. Идеальных условий не будет. Мне стронуть с места нужно. Этого пока хватило бы :)
ой жуть какая....
Значит вы сначала вписываете в массив Mass[] номера пинов, а потом туда же пихаете нули и единички? И далее еще круче - пихаете нули и единички, просто ждете delay(pwm), а потом пихаете следующие нули и единички??? И кто же, по вашему, обновляет эти единички на выходах?
Какая тут схема, хоспади...
...бутстрапная схема...
мне нравится идея, почитаю обязательно
ой жуть какая....
Конечно жуть. Ужас просто. Вывожу в монитор порта, там одни единички, вот и замыкание.
Если бы мог справиться сам, меня бы здесь не было. Критика это хорошо, но была надежда на получение помощи с кодом.
Почитайте про digitalWrite()
Я понял, что надо записывать, но пока не понял как записывать в массив. Хотя можно и без массива обойтись.
А как выставить адекватную задержку? Что-то мне подсказывает, что моя маловата по времени.
Что записывать в массив? Вы что вообще от микроконтроллера хотите?
Я понял, что надо записывать, но пока не понял как записывать в массив.
причем тут массив? Вы пока в самых базовых понятиях путаетесь. Не умеете просто включить или выключить выход ардуинки. Похоже, что даже класический "блинк" для самых маленьких - помигать светодиодом на выходе ардуины - вы пропустили мимо.
да подождите вы с задержками. Вам до них пока как неграмотному до "Войны и мира"
Похоже, что даже класический "блинк" для самых маленьких - помигать светодиодом на выходе ардуины - вы пропустили мимо.
:))))) светодиодом мигать умею
переписал немного, но мне все равно не нравится, что-то мне подсказывает, что не будет так работать
новерное попробовать switch case и выходить из каждого шага break
Будет, но не так, как себе это представляете.
MotorArdent, если под страгиваением с места Вы имеете ввиду психологический процесс, то, возможно. :)) Если речь идет о электромеханике, то маловероятно. :(( В Вашей схеме верхние транзисторы работают в режиме "ненасыщенного истокового повторителя", т.е. на нагрузке при любом напряжении питания моста не будет больше 3 В ... 3,5 В. Причем напряжение это будет поделено пополам между включенными последовательно катушками двигателя. И сколько ни увеличивай напряжение питания моста, прирост питания будет "оседать" на верхних транзисторах, не доставаясь нагрузке.
Вы писали, что заставляли двигатель крутиться, коммутируя его обмотки вручную проволочкой. Попробуйте сделать то же самое, используя Вашу схему. Чтобы не пробить статикой затворы, соедините каждый с общим проводом резистором 100 кОм ... 1 МОм. Отсоедините мост от МК. Подсоедините проволочку к шине питания +5 В и вручную коммутируйте затворы полевиков, помня о возможном сквозном токе. Так Вы сможете оценить, хоть как то Вас результат устроит, или, всё-таки, схему надо сильно переделывать.
Точно. Надо попробовать.
P.S.:Но скетч все равно надо исправить до работоспособности. Даже после изменения схемы он все равно нужен будет.
Конечно в лоб просто не разберешься. Но постепенно можно. Никто не родился со знаниями.
Так ПОЧЕМУ ТЫ ЭТОГО НЕ ДЕЛАЕШЬ? ПОЧЕМУ ТЫ ЛЕЗЕШЬ В ЛОБ? Почему ты пытаешься собрать схему в которой требуется минимум 24 транзистора, когда ты не освоил даже ОДИН.
как-то смущает это:
Мучаюсь уже месяц :) , спалил три ардуинки :( .
Помогите пожалуйста...
ТС! Не мучай ардуинки, ато я Гретте пожалуюсь!
ТС! --- Купи ГОТОВЫЙ драйвер для BLDC и не загрязняй природу!!!
как-то смущает это:
прелестно :) я даже не заметил ...
MotorArdent, если вы спустя месяц делаете подобные ошибки - приготовтесь делать этот драйвер года три... И начните с чтения учебника по Си - времени у вас навалом, спешить некуда :)
Люди целые микросхемы сторят .http://www.datasheetdir.com/SI9979+Brushless-DC-Motor-Drivers
Схем с контроллерами на рассыпухе полно. Неужто гуглем пользоваться не умеешь?
Неужто гуглем пользоваться не умеешь?
о чем вы... если человек о digitalWrite() прочитал только после пинка...
https://www.chipdip.ru/product/fan73832mx
3 штуки, 210 руб, и никаких сгоревших ардуин. Входной уровень тлько согласовать.
https://www.chipdip.ru/product/fan73832mx
3 штуки, 210 руб, и никаких сгоревших ардуин.
Эта МС для очень мощных вещей, питающихся от выпрямленного сетевого напряжения. На 12В стабильно работать не будет. Не надо кидаться первой найденной ссылкой, не понимая, что это такое.
... Не надо кидаться первой найденной ссылкой, не понимая, что это такое.
Ты опять на личности переходишь? С чего ты взял что я не понимаю, что это такое? Да, это первая попавшаяся ссылка из чипа-дипа на двух плечевой драйвер. Но мне в лом было искать точно под параметры ТС. Мне нужно было показать, что есть драйверы верхнего и нижнего плеча мощных мосфетов по приемлемой цене и схема включения в pdf. У ST есть то что нужно ТС. Пусть сам ищет под его параметры.
Ты опять на личности переходишь?
Есть такое дело, присуцтвуют тута некоторые пассажиры с ярко выраженным чсв. Пасиму придлагаю - пущщай аргументируют свои высказывания а НЕ просят УДАЛЯТЬ сообщения!!! Це буит правильно!
Всем здравствуйте!
Duino A.R., я попробовал, вы были правы. Один транзистор ардуина открывает. А когда их шесть, то уже не справляется. Схему буду менять. nik182, добавить в нее полумостовые драйверы действительно придется, наверное ir2101.
Я хочу собрать эту штуку сам и именно на ардуине. Советы бросить и купить готовое не интересны. В связи с чем, огромное спасибо всем желающим помочь. А всех желающих поучить взглядом сверху без предложений по делу или просто комментирующих посты я прошу пожалуйста игнорируйте тему, эти сообщение ни к чему.
Повторюсь. Если бы все мог сделать сам, то меня бы здесь не было. Я задаю вопросы в надежде получать ответы. Пока только учусь и мне нравится.
Вопрос по скетчу конечно же остается открытым.
Duino A.R., я попробовал, вы были правы. Один транзистор ардуина открывает. А когда их шесть, то уже не справляется. ...
MotorArdent, дело не в количестве транзисторов, а в схеме их включения. Верхние транзисторы МК не откроет никогда, сколько бы их не было, если ни открыт хотя бы один нижний. И "боковой верхний" (относительно открытого нижнего) если и приоткроет, то совсем чуточку в линейном режиме. Я об этом писал. МК тут не причем. При подаче управляющих воздействий "проволочкой" будет тоже самое.
MotorArdent, я Вам предлагаю разделить процессы построения устройства и изучения электроники и программирования. Пионер, собирающий радиоприёмник по книге "Юный радиолюбитель", никак не в силах такой приёмник самостоятельно спроектировать и рассчитать. И даже близко. Он понять его работу может только на уровне еще не знающем электричества. Но он его по книжке собирает, настраивает и эксплуатирует. И он в этом получает мощный и единственно возможный в его случае импульс к продолжению своих занятий радиоделом. Он учится по правильной схеме собирать и налаживать работающую конструкцию. На этом этапе он учится "через руки". В этом нет ничего зазорного, это совершенно нормально, а такие занятия можно только приветствовать.
Научитесь, для начала, искать и в "железе" воспроизводить чужие работающие схемы, решающие Вашу задачу. Попутно разбираясь, в силу имеющихся знаний, как они работают.
... Схему буду менять. nik182, добавить в нее полумостовые драйверы действительно придется, наверное ir2101..
По Вашей схеме лучше подойдет IR2104. У него нагрузка не в разрыв между верхним и нижним.
По Вашей схеме лучше подойдет IR2104.
И опять тот же самый вредный совет не в тему. Потрясающе.
Купи подобную такой вещь и не слушай этих сраных советчиков, которые сами в жизни не делали ничего подобного, но считают невероятно важным что-то посоветовать.
https://www.all4rc.ru/catalog/regulyatory/beskollektornyy-regulyator-sky...
Управляется широтной модуляцией, как обычный серво.
По Вашей схеме лучше подойдет IR2104.
И опять тот же самый вредный совет не в тему. Потрясающе.
P.S. Вот люди моторчики крутят https://www.electronics-lab.com/project/ir2104-h-bridge/
И на 01 тоже https://simple-circuit.com/arduino-brushless-dc-motor-controller/
как-то смущает это:
прелестно :) я даже не заметил ...
Купи подобную такой вещь и не слушай этих сраных советчиков, которые сами в жизни не делали ничего подобного, но считают невероятно важным что-то посоветовать.
https://www.all4rc.ru/catalog/regulyatory/beskollektornyy-regulyator-sky...
Управляется широтной модуляцией, как обычный серво.
цена на гуманная, обычный жёлтенький с алиэкспресса рублей 250-300, я дюжинами сразу беру
Снова всем здравствуйте!
Duino A.R. вы опять правы :) .
Сборку собственного драйвера отложу. Почитаю умные книжки, посмотрю реализацию проектов других. Какие-то попробую повторить. А пока для своих целей закажу Motor Control Shield для ардуино на L293D. Там четыре независимых канала. У меня трехфазный мотор. Мне нужны три канала. Я правильно понял? Я ведь смогу этой штукой крутить трехфазник, верно?
P.S.:ua6em, сейчас из-за колоновируса от китаянцев товар не уходит…
P.S.:ua6em, сейчас из-за колоновируса от китаянцев товар не уходит…
НА АЛИ разные продавцы, у меня идёт уже
На мой взгляд, это правильно и естесственно.
Я посмотрел в сети даташит на L293D. В этой микросхеме действительно 4 канала усиления. А у Вас 3-х фазный двигатель, на каждую обмотку которого нужно подавать разнополярное (=переменное по знаку) напряжение по определенному закону. Для этого нужно 6 ключей, как у Вас и было. Формально всё сходится. Но тут нужно разобраться с мощностью, может ещё какие особенности есть у конкретной ИМС.
Вот тут как раз, на мой взгляд, Вам можно и нужно попросить "помощь зала" (форума). Какие схемы, на каких компонентах тут будут наиболее уместны. Выслушать аргументированные, спокойные, грамотные предложения и выбрать из них то, что Вы будете воплощать в металле. :))
:)
Заказал Motor Control Shield. Возился со скетчем. Проверку не проходит. Есть сомнения по расположению, что написать в void setup, а что void loop. Да и нужен ли здесь вообще void loop, если я задам прерывания? Разве что для потенциометра (pwm).
Подскажите что исправить :)
код уже лучше чем раньше, но все равно далек от рабочего. Продолжате изучать язык
https://www.chipdip.ru/product/bldcshieldtle9879tobo1
https://www.seeedstudio.com/BLDC-Motor-Shield-TB6605-p-4025.html
Для трёхфазных безщёточных моторов делают отдельные шилды.
По второй ссылке из #41 есть схема и программа к ней. Это минимум с разбора которого следует начинать свои изыскания.
Всем привет!
Скетч проверку прошел, но сомнения остаются. И чувствуется мне, что подсказок не будет :)
P.S.: nik182, я понял, спасибо