Векторное управление BLDC
Интерес есть. Только Сергей в чем-то прав. Интерес есть в чем-то промежуточном. То что есть на рынке не устраивает, но и контролер такого размера и веса можно (лучше) использовать для перевозки человека (что лучше реализовывать не сразу).
Я не 4 года тестирую, но то, что наработал подсказывает, что реги на рынке далеко не эффективны с точки зрения алгоритма. Зато у них есть плюс - они маленькие и легкие. Напрашивается совместить.
Да, мне тоже не нравятся имеющиеся габариты и вес. Много внимания уделял трассировке силовой части, чтобы не было выбросов напряжения при переключении и оно происходило быстро. Получилось, но пострадали габариты. А вес на 19г состоит из трех LOW ESR конденсаторов, керамических по питанию 12 штук, они тоже весят хорошо. Моя оценка, можно получить вес ~20г.
Размеры уменьшить сложнее, делать “мусорную” трассировку когда все компоненты кладутся на минимальную площадь и все соединяется как-то, лишь бы соединилось в соответствии со схемой, не хотелось бы, но я к этому двигаюсь. Есть еще требования под автоматический монтаж, не делать переходных отверстий в площадках, что тоже не способствует малым габаритам. Соединить две платы можно без разъемов (вариант для отладки), высота будет меньше.
Измерение тока само по себе малоинтересно (хотя как испытатель без измерений как говориться жить не могу), при дальнейшем использовании надо. Только не в ущерб нагреву, а то эти шунты вечно напрягают своей температурой.
Плохо объяснил наверно, я использую другой метод управления. Измерение тока здесь необходимо, по токам оценивается положение ротора. Все три фазы всегда в работе, нет отключенной на которой измеряется ЭДС.
Нагрев сейчас больше на транзисторах, их сопротивление 3мОм, а шунтов 0.5мОм. Да и я промахнулся, преждевременно сказав, что контроллер выдерживает 50А нагреваясь до 75С. Если подержать такой ток подольше, то может разогреться и до дыма. Безопасно лишь на несколько секунд. А постоянный ток не больше 30А. Можно попробовать подобрать другие транзисторы, если 60в не нужно.
Измерение оборотов сам ПК пока не интересует, но вот точное удержание оборотов необходимо (качество управления будет выше).
Быстрый разгон и снижение оборотов надо. А вот режим сервы нужен там где они используются (подвесы, трекеры и т.п.).
В общем интерес есть и можно обсуждать.
А что дает удержание оборотов? Для управления удобнее оперировать тягой, а она от оборотов зависит сложно. Более простую связь с создаваемой силой тяги имеет потребляемая мощность, но только после переходного процесса уже на постоянных оборотах. Думаю над комбинированным вариантом, если бы не момент инерции, то подавая требуемую мощность получали бы соответствующие обороты без длительного переходного процесса. А дальше выправить, линеаризовать характеристику и управлять слой тяги. С управлением оборотами получаем постоянное переливание электрической энергии в механическую и обратно, чем больше момент инерции тем больше энергии преобразуется на резких разгонах и торможении. Но даже на постоянных оборотах, в зависимости от скорости потока в котором находится винт получаем разную тягу. Разве нет?
Наверно стоит сделать замеры и показать результаты с графиками. Какой получается отклик, и точность удержания.
А вес на 19г состоит из трех LOW ESR конденсаторов, керамических по питанию 12 штук, они тоже весят хорошо.
В современных мелких регах ЕСР вообще не ставят, но из-за этого они выбрасывают бешенный шум в линию питания, т.к. они пытаются его давить мелкой керамикой. Хотя при этом им зачастую достаточно поставить 1 на 220 мкф и проблема решена.
Размеры уменьшить сложнее, делать “мусорную” трассировку когда все компоненты кладутся на минимальную площадь
В мелких размерах получается все же есть плюс. Мелкий размер, короткие дорожки, меньше потери, меньше всплески или их проще подавить. Отсюда 1 кондера и хватает за глаза.
Плохо объяснил наверно, я использую другой метод управления.
Я это понял. Но
Нагрев сейчас больше на транзисторах, их сопротивление 3мОм, а шунтов 0.5мОм.
На тестах шунтованных хорошо видно, что сам шунт греется не меньше ключей. Смотрел тепловизором, у меня есть возможность по работе. Поэтому к таким идеям отношусь осторожно. Как вариант не против еще, если шунт с мизерным сопротивлением (так чтоб почти не было падения и соответственно нагрева), а измерение делается через усилитель.
А что дает удержание оборотов? Для управления удобнее оперировать тягой, а она от оборотов зависит сложно.
Да, конечно, конечная цель удержание тяги. Сколько делал тестов винтов, регов, моторов всегда бесило, что невозможно четко измерить все показатели начиная с тяги. Все постоянно плывет (непредсказуемо качается), замер можно сделать только на стенде с автоматической записью по команде компа, а в ручную можно говорить только о каком-то диапазоне. И нынешние реги пытаются довольно криво отследить только обороты, но так как они их измерить не могут, то и удержать не могут.
Вообще как проф испытатель моторов могу ответственно заявить, что тяга, обороты, потребляемая мощность это все взаимосвязано. И изменение одного параметра тут же ведет к изменению другого. И на тестах это наблюдается постоянно.
Да, можно контролировать потребляемую мощность, но также и обороты. И тут надо смотреть где можно достичь большую точность (меньшую погрешность) и меньшие затраты на измерение.
Честно, идея мощности мне не нравится, пока вижу только минусы. Меньшая точность, инертность.
Обороты можно контролировать не только в постоянном режиме, но и в переходном. Обороты можно контролировать даже на части оборота мотора. Всего-то надо 1 датчик и спец поверхность.
Наверно стоит сделать замеры и показать результаты с графиками. Какой получается отклик, и точность удержания.
Конечно неплохо глянуть.
Результаты обычных регов можно глянуть у меня в дневниках. А т.к. данные в экселе, то при интересе могу и растянуть отдельные участки.
На тестах шунтованных хорошо видно, что сам шунт греется не меньше ключей. Смотрел тепловизором, у меня есть возможность по работе. Поэтому к таким идеям отношусь осторожно. Как вариант не против еще, если шунт с мизерным сопротивлением (так чтоб почти не было падения и соответственно нагрева), а измерение делается через усилитель.
Плохо становится на больших токах, там уже вместо шунтов надо датчики на эффекте Холла использовать. А до 50А шунты нормально живут, и точность у них выше и надежность, чем у Холлов, внешние поля не чувствуют, ноль дрейфует минимально. Да, надо ставить минимального сопротивления и усиливать.
Обороты можно контролировать не только в постоянном режиме, но и в переходном. Обороты можно контролировать даже на части оборота мотора. Всего-то надо 1 датчик и спец поверхность.
Так интерес в том, чтобы без датчиков, регулятор же знает положение, он должен его знать чтобы управлять. Значит и скорость может оценить, хуже чем отдельный датчик скорости, но может.
Конечно неплохо глянуть.
Попробовал, взял Multistar 4822-570 и мягкий проп 12x4.5, источник 8S. Пришлось повозится с настройкой коэффициентов, мотор оказался капризным, началась пульсация, вибрация. Ну настроил, дальше задача подняв ток до 50А сделать рывок с 700 rpm до 5000 rpm и обратно. Контур скорости пока очень простой, пропорциональный регулятор, поэтому до 5000 не дотянул, проседает под нагрузкой. На графике ток показан красным (значение в 2 раза больше, подписано неверно), скорость зеленым, мощность синим, время в миллисекундах. Забавно, что на графике почти нет броска мощности в отрицательную сторону при торможении, а с меньшим током он есть.
Спасибо за графики.
Так интерес в том, чтобы без датчиков, регулятор же знает положение, он должен его знать чтобы управлять.
Тут почитал про векторное управление, то если совсем без датчиков это как раз и есть без датчиковое векторное управление БЛДС, которое все и применяют в коптерах. Упрощенно разница в отсутствии датчиков тока и ДПР.
Меня, если честно, интересуют более совершенные реги. Ну про постоянство тяги уже озвучил. Плюс есть подозрение, что обычный ШИМ бездарно расходует энергию. И надеюсь найти с кем можно сделать эксперименты по тестам с синусоидой или что-то подобным.
Значит и скорость может оценить, хуже чем отдельный датчик скорости, но может.
Да, интересно в примитиве. Пока были простые ПК с низкими по точности гирами это все проходило. Да и сейчас это не важно пожалуй только для “вертушек”, которые ни секунды не стоят на месте. А для тех кому надо удерживать позицию с высокой точностью раньше выходили за счет ПИД (как раз удобно, что использует болтанку), но уже начали подходить к тому, что скоро потребуется большая точность. И вот тогда болтанка в тяге станет критичной.
скорость зеленым
Скорость, я так понимаю, снималась с внутренних ресурсов (не внешний датчик). На моих тестах время примерно тоже - 0,1 сек на основное изменение и 0,1 сек на установку (правда на установку у Вас чуть меньше, но не суть). И это с легким для мотора винтом (с тяжелыми винтами будет медленнее).
Попробовал, взял Multistar 4822-570 и мягкий проп 12x4.5, источник 8S.
У меня в тестах Мультистар 4112-485, 6S, правда винт самодельный 4л 10.
На графике ток показан красным, скорость зеленым, мощность синим, время в миллисекундах.
Надо тоже когда-то собраться и сделать запись тока и напряжения.
Забавно, что на графике почти нет броска мощности в отрицательную сторону при торможении, а с меньшим током он есть.
Вот здесь не совсем понял как измерялось и как такое возможно (бросок в отрицательную сторону без соответствующего графика тока).
И ток в минус и мощность в плюс - это отдача тока или все таки потребление?
Вот здесь не совсем понял как измерялось и как такое возможно (бросок в отрицательную сторону без соответствующего графика тока). И ток в минус и мощность в плюс - это отдача тока или все таки потребление?
Все параметры это внутренний пересчет измерений тока с шунтов. Ток здесь в подвижной системе координат, виртуальный, по величине соответствует амплитуде тока в обмотках мотора. Показанный красным это ток который создает вращающий момент, от знака зависит разгоняемся или тормозим. Ну еще с учетом знака скорости, но я реверс не делал. Мощность рассчитывается потребляемая, если она отрицательная то регулятор отдает ток в батарею. Но вот оказалось, что если тормозить быстро то возврата энергии в батарею почти нет. Видимо регенерация компенсируется большими потерями на сопротивлении обмоток. На картинке вариант с ограничением тока до 30А, там есть регенерация в пике около ~100Вт.
По хорошему надо бы делать еще и внешние замеры потребляемого тока, расчетное значение может быть с неожиданной погрешностью. А вот токам и скорости не доверять причин нет.
Меня, если честно, интересуют более совершенные реги. Ну про постоянство тяги уже озвучил. Плюс есть подозрение, что обычный ШИМ бездарно расходует энергию. И надеюсь найти с кем можно сделать эксперименты по тестам с синусоидой или что-то подобным.
Векторное управление и дает синусоидальные токи в обмотках. Обычные ESC не векторные, их метод управления называется 6-ти шаговый. А ШИМ в обоих случаях одинаковый, только скважность задается по разному. В большинстве источников считается, что BLDC надо управлять 6-ти шаговым методом, а векторное управление оно для PMSM, это такие же синхронные моторы с магнитами только имеющие строго синусоидальную ЭДС, конструкция статора может напоминать асинхронники, скосы и сложная намотка, на роторе железо может присутствовать. Но как мне кажется, сейчас все начало перемешиваться, и векторное управление применяют к чему попадется, чаще в транспорте.
скорости не доверять причин нет.
Ко времени у меня сомнений не возникло (на первый взгляд), остальное … Вы сами описали.
Как все таки насчет синуса?.
Сейчас еще раз глянул петлю гистерезиса, с ее точки зрения управление мотора просто бездарное.
Векторное управление и дает синусоидальные токи в обмотках. Обычные ESC не векторные, их метод управления называется 6-ти шаговый. А ШИМ в обоих случаях одинаковый, только скважность задается по разному.
Для понимания тогда неплохо глянуть осциллограммы сигнала для обмотки. По этим то уже все понятно.
Сейчас еще раз глянул петлю гистерезиса, с ее точки зрения управление мотора просто бездарное.
В любом случае статор надо перемагничивать постоянно, одной и той же величиной тока. Делать это плавно по синусу или 6-тью шагами на оборот, разница не катастрофична, и она как мне кажется будет больше связана с вихревыми потерями а не с гистерезисом.
Для понимания тогда неплохо глянуть осциллограммы сигнала для обмотки. По этим то уже все понятно.
Осциллограммы чего, тока или напряжения? В напряжение будет виден ШИМ, а в токе синус.
В любом случае статор надо перемагничивать постоянно, одной и той же величиной тока. Делать это плавно по синусу или 6-тью шагами на оборот, разница не катастрофична, и она как мне кажется будет больше связана с вихревыми потерями а не с гистерезисом.
Вихревые токи снижаются разделением статора на изолированные пластины.
После этого самые большие потери остаются на перемагничивание и этим можно и надо управлять с помощью ШИМ (что сейчас не делается).
Дальше вспоминаем, что дело имеем с вектором (и не важно как это называется). Т.е. нам надо магнит притянуть (толкнуть) издалека. Для этого надо создать вектор как можно быстрее и как можно сильнее. Т.е. намагнитить железо настолько быстро насколько оно сможет само, а не пытаться это делать медленно. Мало того (и тут можно глянуть на петлю) если перемагничивать из максимальной точки, то у нас уйдет грубо говоря в 2 раза больше времени и в 2 раза больше энергии, чем если это делать из средней точки. А чтобы железо попало в среднюю точку его хотя бы надо перестать намагничивать и делать это заранее, т.е. использовать заднюю часть синуса. И разница будет тем заметнее, чем больше токи.
Т.е. напрашивается не совсем синус и не совсем прямоугольник, а производная из них двоих.
Осциллограммы чего, тока или напряжения? В напряжение будет виден ШИМ, а в токе синус.
Мне это нужно для понимания векторно-токового управления. А так не совсем понимаю разницу от векторно-бездатчикового управления. Может в нем и впрямь есть скрытые преимущества. Только нужны напряжение и ток по всем 3-м фазам.
Мне это нужно для понимания векторно-токового управления. А так не совсем понимаю разницу от векторно-бездатчикового управления.
Судя по всему, в контексте данной темы векторно-токовое и векторно-бездатчиковое управление - это одно и тоже. Можно погуглить что это такое. Теория там весьма развитая, в отличие от бездатчикового шестишагового управления, как в обычных модельных регулях.
векторно-токовое и векторно-бездатчиковое управление - это одно и тоже.
Ну Роман то начал про другое. Токовые датчики позволяют регулировать момент и сделать из мотора почти серву.
Это уже я пытаюсь понять как это можно полезно реализовать в нашем случае с ВМГ и понять в чем разница с точки зрения мотора.
Ну и заодно найти того кто возьмется реализовать другой ШИМ, который использует теорию петли гистерезиса.
Благодаря этой теме вспомнил про петлю и то, что было не понятно по параметрам рега стало ясно. В частности про тайминг, все думал как он работает с точки зрения мотора (все думал где в электромоторе опережение зажигания 😃). Получается все просто - это попытка предварительного перемагничивания железа, т.к. на это требуется время. Исходя из тайминга тоже получается, что железо в пустую до последнего намагничивается, а потом вяло намагничивается, вот и получается, что это надо делать заранее.
Ну Роман то начал про другое. Токовые датчики позволяют регулировать момент и сделать из мотора почти серву. Это уже я пытаюсь понять как это можно полезно реализовать в нашем случае с ВМГ и понять в чем разница с точки зрения мотора.
Для серво одних датчиков тока недостаточно. Вот здесь я недавно попытался рассказать про работу на низкой скорости, очень коротко.
we.easyelectronics.ru/…/ocenka-polozheniya-rotora-…
Мне это нужно для понимания векторно-токового управления. А так не совсем понимаю разницу от векторно-бездатчикового управления. Может в нем и впрямь есть скрытые преимущества. Только нужны напряжение и ток по всем 3-м фазам.
Векторное управление это работа с мгновенными значениями тока и напряжения в системе координат связанной с ротором. В классическом варианте там делают два ПИ регулятора тока, а положение ротора для пересчета систем координат берут с датчика. В бездатчиковом исключается датчик положения ротора, датчики тока остаются, а положение оценивается по сигналам тока и напряжения с помощью методов оценки состояния из теории управления.
Снять осциллограмму я могу, но сомневаюсь, что Вы найдете там что либо интересное. В напряжении виден ШИМ с плавно меняющейся скважностью, так что если взять среднее будет синус, сдвинутый на 120 градусов между фазами. Ток снять сложнее, будет нужен отдельный датчик, те что на плате сильно шумят в моменты переключения моста, с них нужно делать выборки синхронно с ШИМ, осциллографу это не объяснишь.
Ну и заодно найти того кто возьмется реализовать другой ШИМ, который использует теорию петли гистерезиса.
Вот от сюда и дальше я перестал понимать.
В напряжении виден ШИМ с плавно меняющейся скважностью
Достаточна, любая инфа полезна.
Вот от сюда и дальше я перестал понимать.
Что конкретно? Вроде почти все написал.
Для режима сервы может что и по другому, но для ВМГ чтоб получить нужный момент надо быстро намагнитить железо и держать сколько надо, потом предварительно размагнитить (снять напряжение заранее). В это время ротор сам докрутиться по инерции. Т.е. если грубо, то вместо ШИМ лучше использовать импульс в самом начале периода. Шириной импульса регулировать крутящий момент и тем самым поддерживать требуемые обороты. Ну еще пару импульсов в середине периода на малых оборотах (а то еще не долетит, но это потом при проверке идеи). Более изящный вариант - ШИМ пол-синуса (первый импульс самый широкий, а дальше по убыванию).
Это и должно позволить быстро и с меньшими затратами перемагничивать железо, что и подсказывает петля гистерезиса.
Т.е. если грубо, то вместо ШИМ лучше использовать импульс в самом начале периода. Шириной импульса регулировать крутящий момент и тем самым поддерживать требуемые обороты.
Сам ШИМ вторичен, он нужен ровно такой какой создаст требуемую форму тока в обмотке. Одиночный импульс будет создавать такой же одиночный импульс тока. Эффективнее держать небольшой ток постоянно, чем давать высокий короткий импульс. Так будет меньше потерь, и в меди и в железе. Гистерезис не настолько велик, чтобы делать из статора постоянный магнит который периодически перемагничивается. А потери, в случае с прямым приводом винта, по моим наблюдениям, значительная часть теряется на активном сопротивлении обмоток а не в железе. Чтобы сместить баланс в сторону потерь в железе надо увеличивать обороты.
Записать осциллограмму сейчас некогда, извините, позже. Надо еще подобрать хороший режим работы мотора, чтобы был не лес из иголок, а видно как заполнение меняется.
Чтобы сместить баланс в сторону потерь в железе надо увеличивать обороты.
В общем, все что Вы говорите правильно. Просто каждый из нас говорит о своем.
Но, это все правильно для сервопривода. А я речь веду про ВМГ.
И даже можно сказать так, мое предложение для сервопривода использовать нельзя, оно чисто для ВМГ.
Просто Вы как-то обмолвились про ВМГ, вот я и подумал, что можно…
Сам ШИМ вторичен
Для справки. При ШИМ ощутимые потери не только в обмотке, но и на ключах. Обычно, чем выше частота, тем больше потери.
Ну и т.к. каждый о своем, то я думаю, дальше можно не обсуждать мое предложение (дальше если только из интереса).
Записать осциллограмму сейчас некогда, извините, позже. Надо еще подобрать хороший режим работы мотора, чтобы был не лес из иголок, а видно как заполнение меняется.
Выложите, хорошо. Будет интересно, а вдруг пригодится.
Нагуглил эту тему, когда искал торию по вычислению положения ротора в своей схемотехнике (три датчика тока). Скину сюда своё поделие, пусть валяется. Заодно поделюсь своими мыслями. Начну с того, что использовать векторное управление в BLDC моторах - не выйдет. Сам на эти грабли наступил - форма тока не та, и стандартный векторный матан (тригонометрические функции, пересчёт в комплексном виде и т.п.) тут - не работает.
Сам в далёком 14-м году решил собрать свой коптер, и мне не понравилась классическая электронная начинка всех этих игрушек. Решил своё разработать, сугубо под свою задачу. В числе таких железок и собственный BLDC драйвер (вы его тут называете “регулятором”, да?):
Схема максимально простая и достаточно функциональная. Мне нужен был компактный лёгкий драйвер, способный обеспечивать линейную зависимость тяги от сигнала управления, низкий уровень акустического шума, повышенный КПД и независимость от уровня заряда батареи. Всё таки следящей системе этим всем управлять, а нелинейностей она не любит. Все нелинейные участки исполнительных механизмов необходимо линеаризовать. Вот и остановился я на DrMOS в качестве ключей, датчиках тока на эффекте Холла, и на модели управления с оптимальной формой тока катушек (с компенсацией индуктивности и т.п.). Чтоб проект был интересен и рядовым юзерам - решил реализовать в нём и стандартный импульсный интерфейс управления, т.е. эта штука совместима с обычным железом.
Т.к. эти STM32 упорно не хотели у меня нормально шиться (вечная проблема отладчиков и сред разработки) - забросил в пыльный угол. Недавно решил взяться опять, уже с нормальным IAR и нормальным ST-Link, который оказался куда стабильнее (тьху тьху, а-то и тут прошивка слетит) всяких там J-Link’ов… Пока что прогресс идёт хорошо, мотор уже крутится, мелочуху всякую причёсываю.
Из того, что я понял по теоретической части:
Сперва я хотел прикрутить векторное управление, но не взлетело. Копнул глубже, и остановился на трапеции и своих алгоритмах, которые мне помог разработать симулятор этого мотора (самописный, для отладки алгоритмов в “сферической в вакууме” виртуальной среде).
Вот форма противоЭДС моего мотора:
Очевидно, что сюда просится трапеция. Из того, что я нагуглил в инете, сложилась такая картинка:
Сейчас именно такая форма напряжений, и приблизительно такая форма уже получившихся токов. Для сравнения, вот классическая форма тока в широко распространённых драйверах:
Со стандартным драйвером мой коптер имеет эффективность порядка 13-ти грамм на ватт (при массе 900 грамм и порядка 80 ватт запаса энергии на борту), теоретическая самого винта порядка 17-ти. Ожидаю со своим драйвером порядка 14…15 грамм на ватт, и гораздо меньший акустический шум. Свиста тут нет - ШИМ 187.5кГц, глубина 16 бит, главный цикл всё пересчитывает тоже на приличной частоте - 93.75кГц (512 тактов на цикл). Пока хватает ресурсов, но ещё ж не всё написано. Сильно мешает отсутствие аппаратного деления у применённого тут ARM Cortex M0.
Ну а в целом, в схемотехнике придётся доработать только одно место - у DrMOS слабый верхний ключ (типичное значение порядка 5мОм), его можно продублировать внешним на 1мОм. Нижний там достаточно хороший (порядка 1мОм). в остальном же игрушка обещает быть интересной.
Всем спасибо за внимание 😃.
Сейчас именно такая форма напряжений, и приблизительно такая форма уже получившихся токов. Для сравнения, вот классическая форма тока в широко распространённых драйверах:
Ну да, по сравнению с классикой это точно векторное управление, когда в каждой точке времени 3 фазы всегда запитаны и создают суммарный вектор из 3 фаз.
Свиста тут нет - ШИМ 187.5кГц
А почему не сразу 1 МГц?
Со стандартным драйвером мой коптер имеет эффективность
Ну сравнение с одним древним ЕСК не совсем корректно, это больше для самоуспокоения. Неплохо добавить сравнение с регом типа Blheli_S (только не надо путать с без С).
И, у регов кроме эффективности есть и другие параметры, хотя эффективность один из важных. Но, если по другим параметрам будет провал, то
игрушка
так и останется игрушкой.
Ну да, по сравнению с классикой это точно векторное управление, когда в каждой точке времени 3 фазы всегда запитаны и создают суммарный вектор из 3 фаз.
В моём представлении векторное управление происходит от трёхфазных сетей переменного тока синусоидальной формы. Там то как раз работа идёт с вектором - в декартовой системе координат, используя классический “матан”.
Вот примеры (надеюсь. меня тут за “рекламу” не забанят):
geektimes.ru/company/npf_vektor/blog/269486/
www.toehelp.ru/theory/toe/…/lecture21.html
Суть в том, что все три точки можно пересчитать через тригонометрические функции в угол того самого вектора (аргумент комплексного числа). Форма тока тут вот такая:
Её ещё “жопосинусом” или “сиськосинусом” называют. Это работает с PMSM моторами, у них и намотка совсем другая. У нас же поголовно используются BLDC. Вот наглядно разница в форме токов:
С угловатыми токами тригонометрические функции уже не поюзаешь - ошибки будут большие. Т.е. нельзя так вот в лоб пересчитать вектор, поэтому я не могу это управление назвать векторным. Хотя вектор магнитного поля, и правда, вращается как положено, но детектировать фазу куда сложнее.
А почему не сразу 1 МГц?
Потому что на 1MHz работать будет хуже, Кэп. Есть же золотая серединка, тут она на 187.5кГц. DrMOS хорошо себя чувствуют на пол мегагерцах, рассчитаны на частоты до мегагерца, я обычно использую частоты порядка 250кГц в силовой импульсной схемотехнике (современная элементная база хорошо работает именно в этой области частот, включая крупные керамические конденсаторы, дроссели, современные ключи и т.п.), но тут МК даёт 8 аппаратных бит глубины ШИМ как раз на 187.5кГц (48МГц/256=187.5кГц) - вот и была выбрана эта частота. Стандартный подход, хорошо себя зарекомендовал… Мотору чем выше частота - тем лучше. Тем меньше амплитуда тока и индукция на этой частоте - меньше потерь в статоре (от частоты потери зависят более линейно, чем от индукции, плюс помогает индукция рассеяния). У меня 40мкГн индуктивности на обмотку, на этой частоте это пульсации порядка 0.5A при худшем раскладе, что и так довольно много на мой взгляд.
Ну сравнение с одним древним ЕСК не совсем корректно, это больше для самоуспокоения. Неплохо добавить сравнение с регом типа Blheli_S (только не надо путать с без С).
А разве есть какие-то принципиальные отличия в регулях, которые коммутируют прямоугольными импульсами, используя в качестве сигнала ОС переход через ноль болтающейся фазы? Что там можно то улучшить?
И, у регов кроме эффективности есть и другие параметры, хотя эффективность один из важных. Но, если по другим параметрам будет провал, то так и останется игрушкой.
Давайте посмотрим, что я не учёл. Какие параметры важны в регуле? Всё это программно тут наверняка лечится, в случае чего.
Мотору чем выше частота - тем лучше.
Ну да как часто не моргай все равно провалы будут, в идеале вообще без частоты должно быть раз синусоида.
Тем меньше амплитуда тока и индукция на этой частоте - меньше потерь в статоре (от частоты потери зависят более линейно, чем от индукции, плюс помогает индукция рассеяния). У меня 40мкГн индуктивности на обмотку, на этой частоте это пульсации порядка 0.5A
Честно, ничего не понял, как не пытался прочитать.
А разве есть какие-то принципиальные отличия в регулях, которые коммутируют прямоугольными импульсами, используя в качестве сигнала ОС переход через ноль болтающейся фазы? Что там можно то улучшить?
Давайте посмотрим, что я не учёл. Какие параметры важны в регуле? Всё это программно тут наверняка лечится, в случае чего.
Конечно есть.
Тут авторы дшот не смогли 32битный сделать рабочим. Скорее всего перемудрили с датчиками тока и напряжения.
Улучшить, для начала попробуйте повторить лучший по всем параметрам.
У себя в дневнике попробовал описать часть. Есть и измерения в других.
Ну да как часто не моргай все равно провалы будут, в идеале вообще без частоты должно быть раз синусоида.
Не выгодно. DC-DC преобразователь тут имеется и так, просто не явный. Вместо внешней индуктивности тут используется “встроенная” в обмотки. Провалов, технически, нет. Именно ток не может мгновенно меняться из-за индуктивности, поэтому он представляет из себя как бы огибающую среднего значения заполнения ШИМ. А магнитное поле то создаёт именно ток, не напряжение. Можно спокойно сказать, что при входном напряжении 15V и заполнении ШИМ 50% - ток через катушку будет течь постоянный, соответствующий току при постоянном напряжении без ШИМ в 7.5V. Это и используется для регулирования мощности везде. Если использовать внешний LC фильтр, как в полноценных преобразователях - потерь окажется только больше, т.к. дроссель имеет своё сопротивление. Да и к тому же масса устройства возрастает, габариты, тепловыделение выше, схема сложнее, дороже и т.д… Уменьшить пульсации тока до пренебрежимо малого уровня можно просто подняв частоту до вполне достижимых сегодня значений. И вроде бы сейчас все так делают, пиарят супер крутой аппаратный ШИМ на дофига бит, ставят нормальные современные ключи и т.п.
Честно, ничего не понял, как не пытался прочитать.
Да не вопрос, объясню нагляднее. Вот схема типичной “понижалки”:
Первое что нагуглил. Принцип работы простейший - Q2 и Q3 открываются по-очереди, с определённым соотношением времени открытия. Если 50%:50%, то в среднем на выходе будет половина от напряжения питания. Т.е. 5V*50%=2.5V. Но это в среднем, а фактически же идут импульсы по 5V. Дальше стоит LC-фильтр низкой частоты, который весь этот ВЧ на частоте ШИМ отфильтровывает, и остаётся только постоянная составляющая - те самые 2.5V уже постоянного напряжения (на схеме указано напряжение под заполнение в 100%*1.5V/5V=30%+потери в преобразователе). Получается, что заполнением ШИМ мы можем плавно перестраивать выходное напряжение. При этом потерь как в реостате - нет. Просто верхний ключ долбит дроссель импульсами такого же тока, как ток на выходе преобразователя (система сама входит в состояние такого равновесия), а когда закрывается - дроссель сопротивляется изменению тока и продолжает его поддерживать уже через нижний ключ, являясь в эти моменты времени источником ранее накопленной лишней энергии. Конденсатор на входе преобразователя (C2) берёт на себя импульсную нагрузку от Q2, и источник питания “видит” уже усреднённый ток. Т.е. 1A на выходе, умноженный на время открытия верхнего ключа (50%) = 0.5A. Вот и получается, что потребляемая мощность равна выдаваемой, при уже разных напряжениях. Этот преобразователь работает в обоих направлениях (если нагрузка начнёт давать ток - он будет повышаться до 5V и идти в источник питания - рекуперация), и больше всего напоминает трансформатор, только работающий с постоянным током и с возможностью плавной перестройки коэффициента трансформации. Главную роль тут, конечно, играет дроссель, который сглаживает броски тока. Конденсатор C3 всего-лишь сглаживает напряжение, т.к. нас тут интересует не ток, а напряжение. Он тут вспомогательный, как и C2. Так, основу объяснил, теперь понятнее будет вот это:
Существуют более простые схемы, где требуется именно источник тока. Например драйверы светодиодных фонарей:
С2 тут символический, чтоб ВЧ грязь давить, выкидываем его из схемы для наглядности. Суть в том, что светодиоды кормить нужно током, поэтому нет смысла его преобразовывать в напряжение с помощью конденсатора на выходе.
Так вот, теперь посмотрите на силовую часть схемы регуля внимательнее:
Сходство видите? Обмотки мотора - очень даже дроссели, и ток они менять быстро физически не способны. Ты подаёшь на фазы импульсное напряжение, а ток сглаживается будто фильтром низкой частоты (см. вторую картинку в этом посте, при чём выходную ёмкость можно рассматривать как источник противоЭДС). Поскольку нам нужно плавно регулировать магнитное поле, а оно зависит именно от тока в катушке, а не от напряжения - задача выполнена. ШИМ плавно регулирует магнитное поле. Поэтому никто преобразователи и не использует - смысла нет. Нагрузка и так индуктивная. И кстати - эта индуктивность крутит фазу на высоких оборотах, т.к. вносит задержку в сигнал управления. И вот я не встречал реализаций регулей, которые бы учитывали этот эффект.
Или вопрос касался зависимости потерь от частоты? Если попытаться рассчитать потери в магнитопроводе, то обычно выходит, что меньшая амплитуда пульсаций тока, даже ценою роста частоты - приводит к снижению потерь. Видимо, магнитопроводу намагничиваться до более высоких значений индукции сложнее, чем делать это просто чаще. Это ярко выражено у ферритов. У железа почти не выражено, если оно хорошее. Так вот, чем выше частота ШИМ - тем ниже (пропорционально) амплитуда этих самых паразитных пульсаций тока, которые и вносят потери на частоте ШИМ. Выходит, что потери происходят чаще, но за счёт пропорционального уменьшения индукции - потери эти в целом становятся немного ниже. Кроме того - потери на активном сопротивлении обмотки зависят квадратично от тока, поэтому чем меньше будет амплитуда пиков этих пульсаций - тем меньше будет потерь ещё и в активном сопротивлении обмотки. Постоянная составляющая тока (среднее значение, уже на рабочей частоте мотора - тот самый синус или трапеция) тут роли не играет, она работает уже на рабочей частоте мотора и от ШИМ никак не зависит. Поэтому и выходит, что лучше поднять частоту по-выше - тогда и сигнал будет более “ламповым”, и отклик системы лучше (выше частота дискретизации сигнала, ну это как в звуке - больше килосемплов - выше частота среза) и т.п.
Тут авторы дшот не смогли 32битный сделать рабочим. Скорее всего перемудрили с датчиками тока и напряжения.
УМВР. Линк есть на работу? Просто я слабо пока ориентируюсь в ваших местных сокращениях. Гляну чего намудрили.
Улучшить, для начала попробуйте повторить лучший по всем параметрам.
Не смогу физически - другая схемотехника, другие алгоритмы. У меня в любом случае будет разница, но я изначально ставку делал на эффективность, линейность, и динамику. А что ещё может требоваться то от мотор-винтового привода?
У себя в дневнике попробовал описать часть. Есть и измерения в других.
Схожу посмотрю что там…
А почему не сразу 1 МГц?
Да, вспомнил ещё кое что. К сожалению, время редактирования предыдущего поста уже прошло.
Мне ведь необходимо получать качественный сигнал с датчиков тока. Чем выше частота дискретизации сигнала (банальным ШИМом) - тем выше можно делать частоту среза антиалиасингового фильтра на входе АЦП. А чем выше частота среза сигнала - тем быстрее и точнее регуль будет реагировать на изменения. Фишка в том, что в используемых мною сенсорах имеется встроенный фильтр на 100 килогерц, поэтому мне желательно использовать ШИМ с частотой в несколько раз выше за эти 100кГц. Тогда схемотехника получится простой и в то же время шустрой. Не понадобятся огороды из RC-фильтров, имеющие хреновые характеристики (в сенсорах активные фильтры на ОУ второго порядка).
Ещё одно условие - синхронизация ШИМ с АЦП. АЦП может делать 200 килосемплов в секунду, меряя по 4 канала за семпл. Т.е. частота ШИМ не может быть выше 200кГц, иначе я получу проблемы с наложением спектров (алиасингом). Вот и получается, что мне нужно с одной стороны как можно выше, а с другой - вот потолок и всё тут… Жирную точку поставило удобное разрешение ШИМ в 8 бит, как раз на близкой частоте. Остался ещё небольшой запас на синхронизацию АЦП с таймером, генерирующим ШИМ. При этом я за 256 тактов успеваю забрать данные измерений и рассчитать новые значения ШИМ, и у меня остаётся время на фоновые процессы (вычисление коррекции скорости, обмен данными с внешним миром и т.п.). Подними я частоту выше - проблем было бы больше чем сейчас. Конечно, это возможно, но нерационально…
Даа, слов много. Меня интересовало как с малой индукцией можно крутить мотор с той же силой. Меньше ток на туже индукцию я бы понял, только за счет чего?
Может еще попробуете объяснить, может хоть Вам понятней станет.
Только принцип работы импульсника объяснять не надо, это и так понятно.
Про дшот неплохо изучить. Это новый протокол передачи данных на рег (цифровой).
Их детище Кисс не выдерживает циклический наброс нагрузки, сваливается в защиту. Выяснил при тестах на стенде.