ох уж Вы все усложнили... была такая же проблема, но решается тривиально. Ошибка в том, что конденсатор расположили после делителя и получили времязадающую RC цепь. А надо ДО делителя, чтобы конденсатор успел разряжаться через низкое внутреннее сопротивление датчика Холла. И тогда фронты не растянутся и не исказятся. У меня стоит 0,1 uF и на осциллографе все ровненько)) А так да, спасибо за видео.
@@avislab7180 достаточно повесить 1000 пф на вход делителя и тогда такое видео не появилось бы) а если вешать после делителя напряжения хоть 1u хоть 10 - хорошего не будет. Но Вам виднее...
@@sssserya1 Да, Вы правы, вчера невнимательно посмотрел схему. Там просто 5В подтяжка Холла и зачем-то R2 , аж 3,3 кОм который совместно с С образует времязадающую цепь. Соответственно и фронты сигнала растянутые. Оттого и все проблемы у автора. Емкость ставится до R2, чтобы этого избежать. Но по уму, конечно, нужен делитель до 3,3 В и в параллель защитный стабилитрон. См. типовую схему включения 5В датчиков Холла к STM.
Да, очень полезное видео, кто делает туже задачу. Мы с датчиками пошли другим путем, контроллер фиксирует только нарастание сигнала. таким образом избежали влияние помех. А в расчетах делим на 2. Правда контроллер у нас stm32f411
Большое Спасибо за проделанную работу. Нуждаюсь в Вашей помощи и в возможной реализации бизнес проэкта. Начиналось все у меня с приобретения МОНОКЛЕСА. Все хорошо когда работает. Но влага или какие еще вибрации и падения приводят к выходу из стоя контроллера и о счастье он собран на СТМ32. В продолжении истории все было хорошо до момента наличия дешовых контроллеров по 30 уе на ТАоБао. Сейчас они закончились и стоит очередь предзаказа порядка 400 изделий. Вот теперь возникает комерческое предложение. Возможно добавить Гироскоп к данной схеме для применения в МОНОКОЛЕСАХ. если еще Блютуз плату так вообще будет супер. Тем более с открытой прошивкой. Почему именно для моноколес -потому что их нет в наличии вообще. Контроллеров для электровелосипедов -полно от 25 уе за кВт мощности. Если создать контроллер для Моноколес монстров (100 вольт акб 3000Вт 55 км/ч максималка, регулируем через блютуз) я думаю это вообще будет прорыв. Сам не инженер, только радиомеханик ОТК, сборочного цеха электронных устройств. Поскольку линия не сильно загружена возможно запустить в производство штук 100 для пробы.
Я не занимаюсь разработкой коммерческих проектов и разработкой под заказ. Для меня это просто хобби. Так случилось, что зарабатываю я другим, а это просто увлечение.
У stm32 есть аппаратный захват периода стразу по трем сигналам через лог. элемент XOR. + там есть такая фича как фильтр помех, который выжидает несколько тактов на случай если сигнал вернется назад
Я знаю. Я про это писал статью: www.avislab.com/blog/stm32-tim-capture_ru/ Но это не тот случай, здесь сигнал по средине периода может "упасть", а предложенный вами вариант работает только против "дребезга".
Приветствую! В цепи GPIO STM32 есть триггер Шмитта "на борту". Как раз для таких ситуаций. Его надо включить при инициализации GPIO битом в регистре. Ну или в HAL выбрать соответствующий пункт настройки.
Хах, вовремя наткнулся на вас, столкнулся с контроллером на СТМ32 заводским для мотор колес, пытался осциллгорафом поймать форму сигнала, но после вашего видео и статьи на сайте www.avislab.com/blog/category/brushlessmotors/ все стало понятно , хорошая работа . th-cam.com/video/HnnRGFOIWxk/w-d-xo.html
СТМку можно настроить на срабатывание по определенному фронту, тип срабатывание по началу возрастания или падения сигнала, не дожидаясь полного его значения.
По моему это знают все, кто знает что такое микроконтроллер. Да так и настроено - по нарастающему фронту. Проблема в другом. Сигнал от датчиков Холла имеет провалы, которые вызывают ложные срабатывания, поскольку тоже содержат фронты. Ну а дальше рассказ что делать когда фильтр из резистора и конденсатора не спасает...
@@avislab7180 я сам пока не писал такого, хотя есть похожие мысли но в сторону ШД+энкодер, но по сути фильтр резистор+конденсатор же только мешать должны, катушка двигателя и так индуктивность затормаживающая токи, если ждать пока зарядится кондер и его разрядит резистор... хотя сам еще в эту сторону не ходил
Походу, я сталкиваюсь с этим на электровелике когда моя BMS отрубает питание по перегрузке, в этот момент иногда даже слышен небольшой тычок/толчок. Похоже на срабатывание какое-то ложное другого ключа, может по другому датчику, хотя фиг его знает, неведомо ж что там китайцы запихнули за алгоритм в свой контроллер (а ему уже лет 10 таки, они только начинали появляться, может ещë и не знали все тонкости), но микрухи триггеров шмитта я там не припомню чет. Может как раз и поможет такая доработка, но тогда ж фронты сигналов уплывут и получим смещение угла.
Brother. You should make video in english so everybody in the world can understand it. I love your content but i have to use Google tranlate to translate your website. It would be great if you can at least provide english subtitles.
Как бы, наоборот. Управление определяет скорость вращения, у синхронника особенно. Как бы там обратная связь нужна не особо. Я не говорю уже о возможностях обработки прерываний контроллером с подавлением шумов.
"обратная связь нужна не особо" - поржал. Вам сюда: th-cam.com/video/tjmou9dtxBg/w-d-xo.html "Обработки прерываний контроллером с подавлением шумов" - в данном случае бесполезен. Такой фильтр отлично работает для подавления дребезга сигнала, а здесь провалы могут быть и по средине сигнала. Этот мотор я подключал к плате с векторным управлением от STMicroelectronics. Там и схема подключения датчиков правильная и захват сигналов таймером и фильтра и .. БОЛТ! Без моей фильтрующей платы НЕ работает. А с платой - все нормально.
Очень хочется что бы вы реализовали подключение по блютус и можно было бы смотреть на телефоне или планшете скорость, напряжение, ток. Или может кто то умеющий програмировать реализовал бы эту функцию.
Здравствуйте! Очень интересные видео по STM32.А не планируете вы написать пример с реализацией рекуперации на этом контроллере и круиз контроля как в стандартных велоконтроллерах скажем...?
Круиз - это элеменарная задача. Любой, кто работал с STM сможет доработать пример. По поводу рекуперации - время покажет. Там не все так просто и однозначно.
Avislab Ну я не очень силён в программировании на этом языке , хотя наверное буду изучать - было б время( Думаю если это у вас хобби задача с рекуперацией была б интересной для реализации . Попробую собрать ваш контроллер , у меня правда задачи по мощности иные ( движки от Лексус) но процессорная часть весьма интересна с позиции цены .
@@СтудияТворчества Прежде, чем собрать контроллер, поинтересуйтесь нет ли подходящих готовых в продаже. Поверьте, купить готовый - будет и быстрее и дешевле.
Avislab конечно есть))) , но для моих опытов весьма дорогое удовольствие, да и интересно собрать ваш вариант, только с другими драйверами ну и мостом ампер на 200) компоненты у меня есть, плату разработал под себя и заказал у китайцев. А так конечно для конкретного проекта проще купить, для тестов( перемотка двигателей на более низкое напряжение) ваша разработка думаю будет весьма полезной.Если вы не против буду обращаться за советами,если что не пойму))) благодарю за ответ.
Здравствуйте! Собрал тестовую плату залил bin файл из примера этого видео- не работает)))). Такой вопрос:- на stm 32 модуле постоянно мигает зелёный светодиод... так должно быть? Прошивка заливается вроде без проблем. Что я сделал не так? Если не напрягаю подскажите пожалуйста.
@@avislab7180 Спасибо за отговор так или иначе. Есть ли для вам нет проблема, дайте меня силка на PMSM НЕвекторное управление на BLDC мотор, которой можно загрузить с СТМ32 Кубе ИДЕ или Уоркбенч. Я нашол таким Ваш проект, но в него на было файл от Куба - io, только от Уоркбенч и для меня очень трудно внести какие ни будть изменеия, примерно управлят мотор по УАРТ или добавление на пинами и т.д. Я делаю давно котролеры для лодочного мотора, но с обикновеным ШИМ управление, сейчас решил сделать мотор с синусам для меньше шума и потребление и мне необходим примерный проект за начало, потом буду надграждать. Контролер надо поместит внутри мотора на круглой плате и силовая част будеть охлаждатся от вада, от корпуса мотора. Спосибо есшо раз!
Здравствуйте! Спасибо большое за Ваши статьи, делал контроллеры по Вашим статьям на АВР для управления мотор-колесом от гироскутера (на схеме в статье кстати допущена ошибка по разводке на драйвера с контроллера, ошибку обнаружил лишь сравнив со схемой исходного примера). Но контроллеры работали не стабильно, иногда просто ШИМ сигнал оставался на максимуме, пока не сбросишь МК. Решил попробовать на СТМ32 пример для BLDC и PMSM. Что один, что второй идеально работают на холостом ходу (у PMSM скорость раза в два больше была) Но тронуться с места (3-4 электрических оборота в секунду) практически не возможно, сильно дёргаются. Не подскажете, что то нужно изменить в прошивке? Сейчас попробую Ваш новый пример для мотор колеса.
Для AVR - это было давно. Там было несколько вариантов, они вечно путались, короче, AVR работал не так хорошо и не всегда. Если у PMSM на холостом ходу скорость на много больше чем у BLDC - скорее всего нужно подбирать угол опережения. Если угол опережения слишком большой скорость возрастает, а момент падает. От этого могут быть проблемы со стартом на малых оборотах.
@@avislab7180 Я так и подумал и изменил угол в прошивке на минимум, но не помогло, всё таки из-за отсутствия триггеров скорее, так с прошивкой для bldc такая же картина - под нагрузкой разгоняется, но с рывками (раз 7-10 в секунду) как будто заново стартует, а avr bldc на тех же мотор-колёсах тянет плавно. Спасибо большое за ответ!
@@avislab7180 Спасибо, проблему решил. Кстати, попалась плохая плата, впаял другую и всё ок. Ещё вопрос по силовой части: испытывал схему на дешёвых IR2101 с резисторами на затворах по 18 Ом, всё плавно. Ставлю вместо них четырёхамперные IRS21867 и резисторы в районе 3,5-4 Ом на затворы - колесо так же крутит, но уже гудит, под нагрузкой гул увеличивается..поставил обратно 18Ом на затворы, гул немного уменьшился, но не значительно..следовательно так драйвера работают. Может что то в обвязке стоит добавить? Драйвера включаю по рекомендованной Вами схеме. По даташитовской на АВР тоже был гул.
косячат с датчиками. я на обороты асинхронника спецом подбирал датчики с большим рабочим магнитным полем (ss443a), выставлял ток коллектора по-больше и провод микрофонный брал 2 жилы + экран.
Может кто подскажет, купил такой же мотор мощностью 3000 вт, хочу использовать в качестве генератора, раскрутил его мотором от стиралки, на 600 об выдает 50 в при нагрузке 4 лампы 12 в 50 вт последовательно. Потребляет из сети 400вт. Увеличиваешь нагрузку, увеличивается потребление. Может переподключить обмотки, чтобы Кпд увеличить?
Скорее всего PCB назведена неграмотно. Контроллер должен стоять обособленно от больших токов. Плюс фильтрующие кондеры по питанию должны по-феншую разводиться.
SamOFF я их наверное с десяток впаял i2c в либах так переделал что замыкай отключай ,востанавливатся впринципе зависаний нет ,но все равно бесит что столько столько керамики индуктивностей и один хрен боюсь на кварце микроконтроллер запускать ,так получилось что у меня все проекты с шимом и большие токи что акваконтролле что велоконтроллер(
@@avislab7180 Спасибо почитал , записывать во флеш тот еще геморрой. чем больше узнаю стм тем больше понимаю что не так уж она и превосходит по удобству использования АВР. Плюс еще не логичная настройка МК через регистры, лично для меня.
@@irbiit4910 А во время записи разве программа может выполнятся?, она ведь в той же флеш находится, в которую происходит запись и пока не запишется, вроде как полный стоп.
Я показав осцилограми роботи датчиків Холла, роз'яснив проблему, показав як її вирішив. А ти такий: "Я думаю датчики Холла вооще не работают...". Ти серйозно? Здається, ти і не починав думати.
Такая проблема возникает из за того, что код пишут по фану и не специалисты, а не из за мотор колеса или датчиков. Берём и разбираем не мотор колесо... а .... алгоритмы фильтров!
С проблемой шумов дискретных датчиков Холла столкнулся не только я. И не всегда программные решения могут справиться с такой проблемой. Поэтому и решают подобные задачи аппаратно: выносят датчики на фальшротор, делают в моторах специально для датчиков Холла отдельный ряд магнитов меньшего размера вынесенный за пределы зубов статора. Мне повезло решить эту задачу простым аппаратным фильтром. Я раньше так же думал, как и Вы и пытался сочинить фильтр и у меня не получалось и я комплексовал. Пока не подключил колесо к нормальной фирменной плате от ST с проверенной схемой и с ровной прошивкой (не моей, кстати, а написанной правильными дядями), со всеми как положено "алгоритмами фильтров" и получили мы ХРЕН (в виде "ошибка датчиков"), и победить это не получилось. А через мою плату фильтров все заработало как надо. Поэтому я и поделился своим опытом. К счастью такая проблема встречается не у всех моторов, и мелкий дребезг легко фильтруется с помощью тех же таймеров. Но, увы, не в этом случае. Но Вы можете попытаться и программно...
@@avislab7180 всегда алгоритмы могут справиться. На счёт "фирменной" и "написанной правильными дядями" сейчас я вам расскажу, как в Майкрософт решили проблему с уязвимостью которая позволяет получить доступ к чужим данным из кеша 2-го уровня процессора, а вы уж подумайте сами насколько в фирмах дядьки, а насколько сыночки: они написали патч, который каждую миллисекунду даёт команду процессору сбросить кеш! Не правда ли шедеврально? А когда я говорю про алгоритмы фильтров, я говорю совсем не об аппроксимации вида: A = (Aprev + Athis)/2 Почитайте на досуге для начала: optic.cs.nstu.ru/files/Lit/Image/u_lectures.pdf Там в конце документа есть списочек литературы, её тоже всю почитайте, тогда не будет причин комплексовать, а будет много причин использовать комплексные числа :) И самое главное: всегда пишите код на чистом СИ, а лучше на ассемблере и никакого ардуино, ибо ардуино хуже героино! :) P.S. Вы же по фану это делаете, так делайте лучше чем ссаные индусы в ST и прочих компашках, делайте так что бы индусы охренели и сидули потом голову ломали "да как так то он смог???" P.P.S. Всегда нужно помнить, что 10 часов потраченных на улучшение кода программистом экономят в среднем по миру 1 миллион часов суммарно по пользователям продукта.
Здорово. Все правильно говорите про шум на сигналах датчиков холла, правильно говорите про внешний триггер шмидта с rc цепочкой. BLDC управление освоил. По приезду домой буду осваивать синус. Правда с мотором проблема что у меня плавают времена между спабатыванием датчиков холла. Дрожание сигнала получается. Ну это ладно. С этим разберусь. Хотел спросить можно ли к Вам за советами обратиться, если начну тупить в алгоритме управления синусом. Вот мое исполнение m.th-cam.com/video/IwSewjnW-5o/w-d-xo.html
привет, напиши может автору этих контроллеров (ядреный контроллер) electrotransport.ru/ussr/index.php?topic=50107.0, возможно получится сделать что-то новенькое вместе с ним, добавить алгоритм управления мотор колесом, думаю оба делаете полезное общее дело)
Если датчик один (т.е. двигатель с одним датчиком холла), то измеряется длинна импульса одного датчика. Если датчиков 3, тогда измеряется время между изменением состояниев датчиков. Но если датчики "шумят" измерить правильно время не выйдет. У меня одноканальный осцилограф, сигналы всех трех датчиков показать не могу.
@@avislab7180 с видео видно что датчики шумят в верхнем лог. состоянии, соответственно считывать измерения с низкого состояния на высокое дальнейшие помехи не важны так как измерение переходит на другой датчик ..
Посмотрите видео внимательнее и Вы увидите, что датчики шумят не только в верхнем положении. Увы, но это так. Обращаю Ваше внимание, я ничего нового не изобрел, номиналы RC- цепи подсмотрел на схеме для мотор колеса, а триггер Шмидта мне пришлось добавить (о причинах я говорил). Т.е. это не мой "выпендреж", так делают практически все. Кроме того, производители некоторых моторов датчики выносят чуток подальше от статора, и для датчиков делают отдельный ряд маленьких магнитов. Думаю, Вы сможете догадаться что их вынудило так делать.
@@avislab7180 да на счет внешнего тригера шмидта, внутри МК и так он есть, гистерезис входов составляет около 0,3- 0,5 вольта, думаю достаточно поиграться с RC фильтром и будет работать так же.
уважаемый автор видео, а зачем "изобретать велосипед" видь есть готовые контроллеры на алиэкспресс от 10 доллароф, немогу понять зачем эти страдания ....😳🙄😉😬
А зачем люди ходят на рыбалку? Ведь в магазинах рыбы навалом? Вам лиж бы посрать пожрать и поеб...тся! Есть люди ученные, изобретатели, а есть быдло, с примитивным паразитным образом жизни.
я понимаю что видео старое но вопрос а на хрена вся эта заморочка была? просто доказать себе что да я это могу? есть в свободном доступе в продаже бомбанные контроллеры и сильные моторы . купил установил и наслаждайся . сгорел, поменяй на новый без всяких подключений к компу .. вы же понимаете что желтый брат это придумал и пустил в продажу уже много лет назад. а мы только и научились искать и устранять проблемы и не достатки других стран .
Программный фильтр в моем случае не самое лучшее решение поскольку у других моторов такой ситуации не возникает. А перенастраивать или отключать программный фильтр при подключении других моторов - лишняя операция о которой можно элементарно забыть. К том уже производители регуляторов для моторколес применяют именно аппаратный фильтр. Это как бы намекает. Реплику про ардуинщиков не понял. Ардуино не занимаюсь.
@@Tim_AV Ясно. Полагаю Вы представления не имеете для чего здесь 32-битный микроконтроллер. От того такая неприязнь. Сообщаю - он реализует векторное управление бесколлекторным мотором. Хотел бы я посмотреть на тот 8-ми битный микроконтроллер, который справиться с векторным управлением. Как найдете напишите, пожалуйста.
ох уж Вы все усложнили... была такая же проблема, но решается тривиально. Ошибка в том, что конденсатор расположили после делителя и получили времязадающую RC цепь. А надо ДО делителя, чтобы конденсатор успел разряжаться через низкое внутреннее сопротивление датчика Холла. И тогда фронты не растянутся и не исказятся. У меня стоит 0,1 uF и на осциллографе все ровненько)) А так да, спасибо за видео.
Я пробовал до 1 мФ, и ничего хорошего не получилось. Возможно датчики разные, моторы (магниты) разные...
@@avislab7180 достаточно повесить 1000 пф на вход делителя и тогда такое видео не появилось бы) а если вешать после делителя напряжения хоть 1u хоть 10 - хорошего не будет. Но Вам виднее...
@@kokotmkokot4926 какой делитель, у датчиков лог уровень 5 вольт ? подтяжку вы имеете ввиду ?
@@sssserya1 Да, Вы правы, вчера невнимательно посмотрел схему. Там просто 5В подтяжка Холла и зачем-то R2 , аж 3,3 кОм который совместно с С образует времязадающую цепь. Соответственно и фронты сигнала растянутые. Оттого и все проблемы у автора. Емкость ставится до R2, чтобы этого избежать. Но по уму, конечно, нужен делитель до 3,3 В и в параллель защитный стабилитрон. См. типовую схему включения 5В датчиков Холла к STM.
Продолжайте! Нам нужны еще такие видео...
Просто молодец!!!! 😊
Да, очень полезное видео, кто делает туже задачу. Мы с датчиками пошли другим путем, контроллер фиксирует только нарастание сигнала. таким образом избежали влияние помех. А в расчетах делим на 2. Правда контроллер у нас stm32f411
У меня тоже передний привод 1000 W гоняю зимой каждый день! Синусный контроллер на полке пока лежит. Спасибо за информацию!!!
Блин, сигнал с датчиков холла, а я в них был абсолютно уверен. А я-то думаю что за косяки с управляющим сигналами. Сегодня проверю.
Очень хороший доклад. Спасибо.
Дякую!
Було вельми цікаво.
Просто пушка!!!Спасибо,красавчик!!!!
Автор спасибо. Интересно вещаешь.
Я пожалуй подпишусь.
Спасибо! Очень круто!
Большое Спасибо за проделанную работу. Нуждаюсь в Вашей помощи и в возможной реализации бизнес проэкта. Начиналось все у меня с приобретения МОНОКЛЕСА. Все хорошо когда работает. Но влага или какие еще вибрации и падения приводят к выходу из стоя контроллера и о счастье он собран на СТМ32. В продолжении истории все было хорошо до момента наличия дешовых контроллеров по 30 уе на ТАоБао. Сейчас они закончились и стоит очередь предзаказа порядка 400 изделий. Вот теперь возникает комерческое предложение. Возможно добавить Гироскоп к данной схеме для применения в МОНОКОЛЕСАХ. если еще Блютуз плату так вообще будет супер. Тем более с открытой прошивкой. Почему именно для моноколес -потому что их нет в наличии вообще. Контроллеров для электровелосипедов -полно от 25 уе за кВт мощности. Если создать контроллер для Моноколес монстров (100 вольт акб 3000Вт 55 км/ч максималка, регулируем через блютуз) я думаю это вообще будет прорыв. Сам не инженер, только радиомеханик ОТК, сборочного цеха электронных устройств. Поскольку линия не сильно загружена возможно запустить в производство штук 100 для пробы.
Я не занимаюсь разработкой коммерческих проектов и разработкой под заказ. Для меня это просто хобби. Так случилось, что зарабатываю я другим, а это просто увлечение.
На скорости 55км/ч встретится с асфальтом! Или нехватает адреналина?
Красава сделай на ардуине контроллер на 2000ват от 24-72вольта будет интересно узнать
У stm32 есть аппаратный захват периода стразу по трем сигналам через лог. элемент XOR. + там есть такая фича как фильтр помех, который выжидает несколько тактов на случай если сигнал вернется назад
Я знаю. Я про это писал статью: www.avislab.com/blog/stm32-tim-capture_ru/
Но это не тот случай, здесь сигнал по средине периода может "упасть", а предложенный вами вариант работает только против "дребезга".
Ничего не понял,но плюс поставил.
В Питание датчиков прямо на моторе надо поставить два кондера,электролит на 10-20 МКФ и керамику 10n и о чудо! Можно нагрузить выход
мимо. чуда не случается. какие еще будут варианты?
Приветствую! В цепи GPIO STM32 есть триггер Шмитта "на борту". Как раз для таких ситуаций. Его надо включить при инициализации GPIO битом в регистре. Ну или в HAL выбрать соответствующий пункт настройки.
Хах, вовремя наткнулся на вас, столкнулся с контроллером на СТМ32 заводским для мотор колес, пытался осциллгорафом поймать форму сигнала, но после вашего видео и статьи на сайте www.avislab.com/blog/category/brushlessmotors/ все стало понятно , хорошая работа . th-cam.com/video/HnnRGFOIWxk/w-d-xo.html
Зачет!
благодарю!
СТМку можно настроить на срабатывание по определенному фронту, тип срабатывание по началу возрастания или падения сигнала, не дожидаясь полного его значения.
По моему это знают все, кто знает что такое микроконтроллер. Да так и настроено - по нарастающему фронту. Проблема в другом. Сигнал от датчиков Холла имеет провалы, которые вызывают ложные срабатывания, поскольку тоже содержат фронты. Ну а дальше рассказ что делать когда фильтр из резистора и конденсатора не спасает...
@@avislab7180 я сам пока не писал такого, хотя есть похожие мысли но в сторону ШД+энкодер, но по сути фильтр резистор+конденсатор же только мешать должны, катушка двигателя и так индуктивность затормаживающая токи, если ждать пока зарядится кондер и его разрядит резистор... хотя сам еще в эту сторону не ходил
Всё очень четко объяснил молодец!
Подскажи пожалуйста, если я к данной схеме подключю мощные IJBT транзистор это будет ли работать схема?
IGBT требую драйвера (схема включения).
Вам бы качественнее осциллограф, а лучше аналоговый ЭЛТ. Там уж точно никаких алиасингов.
Это да... не помешал бы.
Аналоговый наоборот будет хуже.
Походу, я сталкиваюсь с этим на электровелике когда моя BMS отрубает питание по перегрузке, в этот момент иногда даже слышен небольшой тычок/толчок. Похоже на срабатывание какое-то ложное другого ключа, может по другому датчику, хотя фиг его знает, неведомо ж что там китайцы запихнули за алгоритм в свой контроллер (а ему уже лет 10 таки, они только начинали появляться, может ещë и не знали все тонкости), но микрухи триггеров шмитта я там не припомню чет. Может как раз и поможет такая доработка, но тогда ж фронты сигналов уплывут и получим смещение угла.
Brother. You should make video in english so everybody in the world can understand it. I love your content but i have to use Google tranlate to translate your website. It would be great if you can at least provide english subtitles.
I thinking about this. But my English is not good yet.
@@avislab7180 not a problem you can translate your voice over content and add them as subtitles.
В даташите STM32 очень четко указано, что на входах GPIO стоят триггеры шмидта, что означает что они отлично переваривают заваленые фронты.
Просто поставьте на входе RC-фильтр. Будут проблемы - просто вспомните и пересмотри еще раз это видео.
В гироскутере применен только фильтр RC. Может там сканирует сигнал от датчика во время пауза на фазных обмотках?
Можно и просто RC-фильтр если контроллер нормально реагирует. В моем случае были проблемы и пришлось ставить триггер.
Как бы, наоборот. Управление определяет скорость вращения, у синхронника особенно. Как бы там обратная связь нужна не особо. Я не говорю уже о возможностях обработки прерываний контроллером с подавлением шумов.
"обратная связь нужна не особо" - поржал. Вам сюда: th-cam.com/video/tjmou9dtxBg/w-d-xo.html
"Обработки прерываний контроллером с подавлением шумов" - в данном случае бесполезен. Такой фильтр отлично работает для подавления дребезга сигнала, а здесь провалы могут быть и по средине сигнала.
Этот мотор я подключал к плате с векторным управлением от STMicroelectronics. Там и схема подключения датчиков правильная и захват сигналов таймером и фильтра и .. БОЛТ! Без моей фильтрующей платы НЕ работает. А с платой - все нормально.
Очень хочется что бы вы реализовали подключение по блютус и можно было бы смотреть на телефоне или планшете скорость, напряжение, ток. Или может кто то умеющий програмировать реализовал бы эту функцию.
Спасибо за видео, а Ардуинка справиться с такой же обработкой всех процессов и задач или у неё быстродействия и прерываний не хватит?
На данном этапе Ардуино может и справиться. Но с трудом...
Если писать не в среде ардуино, а в атмел студии, иаре и т.п., то с десятками таких колёс справится.
Здравствуйте! Очень интересные видео по STM32.А не планируете вы написать пример с реализацией рекуперации на этом контроллере и круиз контроля как в стандартных велоконтроллерах скажем...?
Круиз - это элеменарная задача. Любой, кто работал с STM сможет доработать пример. По поводу рекуперации - время покажет. Там не все так просто и однозначно.
Avislab Ну я не очень силён в программировании на этом языке , хотя наверное буду изучать - было б время( Думаю если это у вас хобби задача с рекуперацией была б интересной для реализации . Попробую собрать ваш контроллер , у меня правда задачи по мощности иные ( движки от Лексус) но процессорная часть весьма интересна с позиции цены .
@@СтудияТворчества Прежде, чем собрать контроллер, поинтересуйтесь нет ли подходящих готовых в продаже. Поверьте, купить готовый - будет и быстрее и дешевле.
Avislab конечно есть))) , но для моих опытов весьма дорогое удовольствие, да и интересно собрать ваш вариант, только с другими драйверами ну и мостом ампер на 200) компоненты у меня есть, плату разработал под себя и заказал у китайцев. А так конечно для конкретного проекта проще купить, для тестов( перемотка двигателей на более низкое напряжение) ваша разработка думаю будет весьма полезной.Если вы не против буду обращаться за советами,если что не пойму))) благодарю за ответ.
Здравствуйте! Собрал тестовую плату залил bin файл из примера этого видео- не работает)))). Такой вопрос:- на stm 32 модуле постоянно мигает зелёный светодиод... так должно быть? Прошивка заливается вроде без проблем. Что я сделал не так? Если не напрягаю подскажите пожалуйста.
Не стало понятно какая среда разработки етот пример от видео? Хочу очень попробавать. Ето System Workbench for STM32 или другая?
Пример делался давно, еще под CooCox (www.coocox.org). Боюсь, эта среда уже не актуальна.
@@avislab7180 Спасибо за отговор так или иначе. Есть ли для вам нет проблема, дайте меня силка на PMSM НЕвекторное управление на BLDC мотор, которой можно загрузить с СТМ32 Кубе ИДЕ или Уоркбенч. Я нашол таким Ваш проект, но в него на было файл от Куба - io, только от Уоркбенч и для меня очень трудно внести какие ни будть изменеия, примерно управлят мотор по УАРТ или добавление на пинами и т.д. Я делаю давно котролеры для лодочного мотора, но с обикновеным ШИМ управление, сейчас решил сделать мотор с синусам для меньше шума и потребление и мне необходим примерный проект за начало, потом буду надграждать. Контролер надо поместит внутри мотора на круглой плате и силовая част будеть охлаждатся от вада, от корпуса мотора. Спосибо есшо раз!
Здравствуйте! Спасибо большое за Ваши статьи, делал контроллеры по Вашим статьям на АВР для управления мотор-колесом от гироскутера (на схеме в статье кстати допущена ошибка по разводке на драйвера с контроллера, ошибку обнаружил лишь сравнив со схемой исходного примера). Но контроллеры работали не стабильно, иногда просто ШИМ сигнал оставался на максимуме, пока не сбросишь МК. Решил попробовать на СТМ32 пример для BLDC и PMSM. Что один, что второй идеально работают на холостом ходу (у PMSM скорость раза в два больше была) Но тронуться с места (3-4 электрических оборота в секунду) практически не возможно, сильно дёргаются. Не подскажете, что то нужно изменить в прошивке? Сейчас попробую Ваш новый пример для мотор колеса.
Для AVR - это было давно. Там было несколько вариантов, они вечно путались, короче, AVR работал не так хорошо и не всегда. Если у PMSM на холостом ходу скорость на много больше чем у BLDC - скорее всего нужно подбирать угол опережения. Если угол опережения слишком большой скорость возрастает, а момент падает. От этого могут быть проблемы со стартом на малых оборотах.
@@avislab7180 Я так и подумал и изменил угол в прошивке на минимум, но не помогло, всё таки из-за отсутствия триггеров скорее, так с прошивкой для bldc такая же картина - под нагрузкой разгоняется, но с рывками (раз 7-10 в секунду) как будто заново стартует, а avr bldc на тех же мотор-колёсах тянет плавно. Спасибо большое за ответ!
Если рывки возникают периодически - сразу смотрите что с сигналами с датчиков.
@@avislab7180 Спасибо, проблему решил. Кстати, попалась плохая плата, впаял другую и всё ок. Ещё вопрос по силовой части: испытывал схему на дешёвых IR2101 с резисторами на затворах по 18 Ом, всё плавно. Ставлю вместо них четырёхамперные IRS21867 и резисторы в районе 3,5-4 Ом на затворы - колесо так же крутит, но уже гудит, под нагрузкой гул увеличивается..поставил обратно 18Ом на затворы, гул немного уменьшился, но не значительно..следовательно так драйвера работают. Может что то в обвязке стоит добавить? Драйвера включаю по рекомендованной Вами схеме. По даташитовской на АВР тоже был гул.
Добрый день. К сожалению с IRS21867 не работал, может что-то с обвязкой не так. Конкретно подсказать не смогу.
Посоветуйте какую лучше среду сейчас изучать?, кокос похоже умер :(
Лично я перешел на System Workbench for STM32
Дружище, а чо за музон играет фоном?
косячат с датчиками. я на обороты асинхронника спецом подбирал датчики с большим рабочим магнитным полем (ss443a), выставлял ток коллектора по-больше и провод микрофонный брал 2 жилы + экран.
Спасибо! А как запустить мотор с двумя датчиками?, например как в стиралках LG.
Мощность генераторов с большинстве машин около 1000 ватт. Предполагаю что и мощность мотора плюс минус такая же.
можно на два мотора сделать?
контроллер потянет?
Нет
Может кто подскажет, купил такой же мотор мощностью 3000 вт, хочу использовать в качестве генератора, раскрутил его мотором от стиралки, на 600 об выдает 50 в при нагрузке 4 лампы 12 в 50 вт последовательно. Потребляет из сети 400вт. Увеличиваешь нагрузку, увеличивается потребление. Может переподключить обмотки, чтобы Кпд увеличить?
Как бороться с зависанием STM32 очень большие токи протекают и дают помехи ?
Скорее всего PCB назведена неграмотно. Контроллер должен стоять обособленно от больших токов. Плюс фильтрующие кондеры по питанию должны по-феншую разводиться.
SamOFF я их наверное с десяток впаял i2c в либах так переделал что замыкай отключай ,востанавливатся впринципе зависаний нет ,но все равно бесит что столько столько керамики индуктивностей и один хрен боюсь на кварце микроконтроллер запускать ,так получилось что у меня все проекты с шимом и большие токи что акваконтролле что велоконтроллер(
stm32f103 есть eprom ?
Flash (www.avislab.com/blog/stm32-flash_ru/)
@@avislab7180 Спасибо почитал , записывать во флеш тот еще геморрой. чем больше узнаю стм тем больше понимаю что не так уж она и превосходит по удобству использования
АВР. Плюс еще не логичная настройка МК через регистры, лично для меня.
@@sssserya1 Меня это тоже раньше смущало. Теперь не вижу проблем. Вешаю внешнюю eeprom на spi. А что касается flash, нет там особого геморроя.
@@irbiit4910 А во время записи разве программа может выполнятся?, она ведь в той же флеш находится, в которую происходит запись и пока не запишется, вроде как полный стоп.
Я думаю датчики Холла вооще не работают, в трамблере автомобиля они включены по другой схеме, наверно не спроста
Я показав осцилограми роботи датчиків Холла, роз'яснив проблему, показав як її вирішив.
А ти такий: "Я думаю датчики Холла вооще не работают...". Ти серйозно? Здається, ти і не починав думати.
Такая проблема возникает из за того, что код пишут по фану и не специалисты, а не из за мотор колеса или датчиков. Берём и разбираем не мотор колесо... а .... алгоритмы фильтров!
С проблемой шумов дискретных датчиков Холла столкнулся не только я. И не всегда программные решения могут справиться с такой проблемой. Поэтому и решают подобные задачи аппаратно: выносят датчики на фальшротор, делают в моторах специально для датчиков Холла отдельный ряд магнитов меньшего размера вынесенный за пределы зубов статора. Мне повезло решить эту задачу простым аппаратным фильтром. Я раньше так же думал, как и Вы и пытался сочинить фильтр и у меня не получалось и я комплексовал. Пока не подключил колесо к нормальной фирменной плате от ST с проверенной схемой и с ровной прошивкой (не моей, кстати, а написанной правильными дядями), со всеми как положено "алгоритмами фильтров" и получили мы ХРЕН (в виде "ошибка датчиков"), и победить это не получилось. А через мою плату фильтров все заработало как надо. Поэтому я и поделился своим опытом. К счастью такая проблема встречается не у всех моторов, и мелкий дребезг легко фильтруется с помощью тех же таймеров. Но, увы, не в этом случае. Но Вы можете попытаться и программно...
@@avislab7180 всегда алгоритмы могут справиться.
На счёт "фирменной" и "написанной правильными дядями" сейчас я вам расскажу, как в Майкрософт решили проблему с уязвимостью которая позволяет получить доступ к чужим данным из кеша 2-го уровня процессора, а вы уж подумайте сами насколько в фирмах дядьки, а насколько сыночки: они написали патч, который каждую миллисекунду даёт команду процессору сбросить кеш! Не правда ли шедеврально?
А когда я говорю про алгоритмы фильтров, я говорю совсем не об аппроксимации вида:
A = (Aprev + Athis)/2
Почитайте на досуге для начала: optic.cs.nstu.ru/files/Lit/Image/u_lectures.pdf
Там в конце документа есть списочек литературы, её тоже всю почитайте, тогда не будет причин комплексовать, а будет много причин использовать комплексные числа :)
И самое главное: всегда пишите код на чистом СИ, а лучше на ассемблере и никакого ардуино, ибо ардуино хуже героино! :)
P.S. Вы же по фану это делаете, так делайте лучше чем ссаные индусы в ST и прочих компашках, делайте так что бы индусы охренели и сидули потом голову ломали "да как так то он смог???"
P.P.S. Всегда нужно помнить, что 10 часов потраченных на улучшение кода программистом экономят в среднем по миру 1 миллион часов суммарно по пользователям продукта.
Здорово. Все правильно говорите про шум на сигналах датчиков холла, правильно говорите про внешний триггер шмидта с rc цепочкой. BLDC управление освоил. По приезду домой буду осваивать синус. Правда с мотором проблема что у меня плавают времена между спабатыванием датчиков холла. Дрожание сигнала получается. Ну это ладно. С этим разберусь. Хотел спросить можно ли к Вам за советами обратиться, если начну тупить в алгоритме управления синусом. Вот мое исполнение
m.th-cam.com/video/IwSewjnW-5o/w-d-xo.html
привет, напиши может автору этих контроллеров (ядреный контроллер) electrotransport.ru/ussr/index.php?topic=50107.0, возможно получится сделать что-то новенькое вместе с ним, добавить алгоритм управления мотор колесом, думаю оба делаете полезное общее дело)
Почему нужно обязательно измерять длину импульса одного датчика а не длину импульсов между датчиками ? Тогда и фильтра не нужно никакого .
Если датчик один (т.е. двигатель с одним датчиком холла), то измеряется длинна импульса одного датчика. Если датчиков 3, тогда измеряется время между изменением состояниев датчиков. Но если датчики "шумят" измерить правильно время не выйдет. У меня одноканальный осцилограф, сигналы всех трех датчиков показать не могу.
@@avislab7180 с видео видно что датчики шумят в верхнем лог. состоянии, соответственно считывать измерения с низкого состояния на высокое дальнейшие помехи не важны так как измерение переходит на другой датчик ..
Посмотрите видео внимательнее и Вы увидите, что датчики шумят не только в верхнем положении. Увы, но это так. Обращаю Ваше внимание, я ничего нового не изобрел, номиналы RC- цепи подсмотрел на схеме для мотор колеса, а триггер Шмидта мне пришлось добавить (о причинах я говорил). Т.е. это не мой "выпендреж", так делают практически все. Кроме того, производители некоторых моторов датчики выносят чуток подальше от статора, и для датчиков делают отдельный ряд маленьких магнитов. Думаю, Вы сможете догадаться что их вынудило так делать.
@@avislab7180 да на счет внешнего тригера шмидта, внутри МК и так он есть, гистерезис входов составляет около 0,3- 0,5 вольта, думаю достаточно поиграться с RC фильтром и будет работать так же.
Удачи. С нетерпением жду результатов.
уважаемый автор видео, а зачем "изобретать велосипед" видь есть готовые контроллеры на алиэкспресс от 10 доллароф, немогу понять зачем эти страдания ....😳🙄😉😬
А зачем люди ходят на рыбалку? Ведь в магазинах рыбы навалом? Вам лиж бы посрать пожрать и поеб...тся! Есть люди ученные, изобретатели, а есть быдло, с примитивным паразитным образом жизни.
Перед-приводный у вас он.
я понимаю что видео старое но вопрос а на хрена вся эта заморочка была? просто доказать себе что да я это могу? есть в свободном доступе в продаже бомбанные контроллеры и сильные моторы . купил установил и наслаждайся . сгорел, поменяй на новый без всяких подключений к компу .. вы же понимаете что желтый брат это придумал и пустил в продажу уже много лет назад. а мы только и научились искать и устранять проблемы и не достатки других стран .
2:23 Кошмар что с покрышками кто их так помял?))
а программный фильтр не? ардуинщики только копипастить умеют
Программный фильтр в моем случае не самое лучшее решение поскольку у других моторов такой ситуации не возникает. А перенастраивать или отключать программный фильтр при подключении других моторов - лишняя операция о которой можно элементарно забыть.
К том уже производители регуляторов для моторколес применяют именно аппаратный фильтр. Это как бы намекает. Реплику про ардуинщиков не понял. Ардуино не занимаюсь.
@@avislab7180 только ардуинщики используют 32 битные микроконтроллеры там где достаточно 8 бит. вы ещё туда 4 ядра засуньте.
@@Tim_AV Ясно. Полагаю Вы представления не имеете для чего здесь 32-битный микроконтроллер. От того такая неприязнь. Сообщаю - он реализует векторное управление бесколлекторным мотором. Хотел бы я посмотреть на тот 8-ми битный микроконтроллер, который справиться с векторным управлением. Как найдете напишите, пожалуйста.
@@avislab7180 хм. неприязнь? скорей ваша поделка вызывает улыбку )
@@Tim_AV рад, что мои незамысловатые эксперименты вызывают у Вас положительные эмоции :)
Это наводки с кабелей при переключении обмоток ...
Сигнальные концы в экранированных кабелях сувать надо
Там места мало. На силовые едва хватает.
Лайк автору за труды!