Векторное управление BLDC

amaora
arb:

На тестах шунтованных хорошо видно, что сам шунт греется не меньше ключей. Смотрел тепловизором, у меня есть возможность по работе. Поэтому к таким идеям отношусь осторожно. Как вариант не против еще, если шунт с мизерным сопротивлением (так чтоб почти не было падения и соответственно нагрева), а измерение делается через усилитель.

Плохо становится на больших токах, там уже вместо шунтов надо датчики на эффекте Холла использовать. А до 50А шунты нормально живут, и точность у них выше и надежность, чем у Холлов, внешние поля не чувствуют, ноль дрейфует минимально. Да, надо ставить минимального сопротивления и усиливать.

arb:

Обороты можно контролировать не только в постоянном режиме, но и в переходном. Обороты можно контролировать даже на части оборота мотора. Всего-то надо 1 датчик и спец поверхность.

Так интерес в том, чтобы без датчиков, регулятор же знает положение, он должен его знать чтобы управлять. Значит и скорость может оценить, хуже чем отдельный датчик скорости, но может.

arb:

Конечно неплохо глянуть.

Попробовал, взял Multistar 4822-570 и мягкий проп 12x4.5, источник 8S. Пришлось повозится с настройкой коэффициентов, мотор оказался капризным, началась пульсация, вибрация. Ну настроил, дальше задача подняв ток до 50А сделать рывок с 700 rpm до 5000 rpm и обратно. Контур скорости пока очень простой, пропорциональный регулятор, поэтому до 5000 не дотянул, проседает под нагрузкой. На графике ток показан красным (значение в 2 раза больше, подписано неверно), скорость зеленым, мощность синим, время в миллисекундах. Забавно, что на графике почти нет броска мощности в отрицательную сторону при торможении, а с меньшим током он есть.

arb

Спасибо за графики.

amaora:

Так интерес в том, чтобы без датчиков, регулятор же знает положение, он должен его знать чтобы управлять.

Тут почитал про векторное управление, то если совсем без датчиков это как раз и есть без датчиковое векторное управление БЛДС, которое все и применяют в коптерах. Упрощенно разница в отсутствии датчиков тока и ДПР.
Меня, если честно, интересуют более совершенные реги. Ну про постоянство тяги уже озвучил. Плюс есть подозрение, что обычный ШИМ бездарно расходует энергию. И надеюсь найти с кем можно сделать эксперименты по тестам с синусоидой или что-то подобным.

amaora:

Значит и скорость может оценить, хуже чем отдельный датчик скорости, но может.

Да, интересно в примитиве. Пока были простые ПК с низкими по точности гирами это все проходило. Да и сейчас это не важно пожалуй только для “вертушек”, которые ни секунды не стоят на месте. А для тех кому надо удерживать позицию с высокой точностью раньше выходили за счет ПИД (как раз удобно, что использует болтанку), но уже начали подходить к тому, что скоро потребуется большая точность. И вот тогда болтанка в тяге станет критичной.

amaora:

скорость зеленым

Скорость, я так понимаю, снималась с внутренних ресурсов (не внешний датчик). На моих тестах время примерно тоже - 0,1 сек на основное изменение и 0,1 сек на установку (правда на установку у Вас чуть меньше, но не суть). И это с легким для мотора винтом (с тяжелыми винтами будет медленнее).

amaora:

Попробовал, взял Multistar 4822-570 и мягкий проп 12x4.5, источник 8S.

У меня в тестах Мультистар 4112-485, 6S, правда винт самодельный 4л 10.

amaora:

На графике ток показан красным, скорость зеленым, мощность синим, время в миллисекундах.

Надо тоже когда-то собраться и сделать запись тока и напряжения.

amaora:

Забавно, что на графике почти нет броска мощности в отрицательную сторону при торможении, а с меньшим током он есть.

Вот здесь не совсем понял как измерялось и как такое возможно (бросок в отрицательную сторону без соответствующего графика тока).
И ток в минус и мощность в плюс - это отдача тока или все таки потребление?

amaora
arb:

Вот здесь не совсем понял как измерялось и как такое возможно (бросок в отрицательную сторону без соответствующего графика тока). И ток в минус и мощность в плюс - это отдача тока или все таки потребление?

Все параметры это внутренний пересчет измерений тока с шунтов. Ток здесь в подвижной системе координат, виртуальный, по величине соответствует амплитуде тока в обмотках мотора. Показанный красным это ток который создает вращающий момент, от знака зависит разгоняемся или тормозим. Ну еще с учетом знака скорости, но я реверс не делал. Мощность рассчитывается потребляемая, если она отрицательная то регулятор отдает ток в батарею. Но вот оказалось, что если тормозить быстро то возврата энергии в батарею почти нет. Видимо регенерация компенсируется большими потерями на сопротивлении обмоток. На картинке вариант с ограничением тока до 30А, там есть регенерация в пике около ~100Вт.

По хорошему надо бы делать еще и внешние замеры потребляемого тока, расчетное значение может быть с неожиданной погрешностью. А вот токам и скорости не доверять причин нет.

arb:

Меня, если честно, интересуют более совершенные реги. Ну про постоянство тяги уже озвучил. Плюс есть подозрение, что обычный ШИМ бездарно расходует энергию. И надеюсь найти с кем можно сделать эксперименты по тестам с синусоидой или что-то подобным.

Векторное управление и дает синусоидальные токи в обмотках. Обычные ESC не векторные, их метод управления называется 6-ти шаговый. А ШИМ в обоих случаях одинаковый, только скважность задается по разному. В большинстве источников считается, что BLDC надо управлять 6-ти шаговым методом, а векторное управление оно для PMSM, это такие же синхронные моторы с магнитами только имеющие строго синусоидальную ЭДС, конструкция статора может напоминать асинхронники, скосы и сложная намотка, на роторе железо может присутствовать. Но как мне кажется, сейчас все начало перемешиваться, и векторное управление применяют к чему попадется, чаще в транспорте.

arb
amaora:

скорости не доверять причин нет.

Ко времени у меня сомнений не возникло (на первый взгляд), остальное … Вы сами описали.

Как все таки насчет синуса?.
Сейчас еще раз глянул петлю гистерезиса, с ее точки зрения управление мотора просто бездарное.

amaora:

Векторное управление и дает синусоидальные токи в обмотках. Обычные ESC не векторные, их метод управления называется 6-ти шаговый. А ШИМ в обоих случаях одинаковый, только скважность задается по разному.

Для понимания тогда неплохо глянуть осциллограммы сигнала для обмотки. По этим то уже все понятно.

amaora
arb:

Сейчас еще раз глянул петлю гистерезиса, с ее точки зрения управление мотора просто бездарное.

В любом случае статор надо перемагничивать постоянно, одной и той же величиной тока. Делать это плавно по синусу или 6-тью шагами на оборот, разница не катастрофична, и она как мне кажется будет больше связана с вихревыми потерями а не с гистерезисом.

arb:

Для понимания тогда неплохо глянуть осциллограммы сигнала для обмотки. По этим то уже все понятно.

Осциллограммы чего, тока или напряжения? В напряжение будет виден ШИМ, а в токе синус.

arb
amaora:

В любом случае статор надо перемагничивать постоянно, одной и той же величиной тока. Делать это плавно по синусу или 6-тью шагами на оборот, разница не катастрофична, и она как мне кажется будет больше связана с вихревыми потерями а не с гистерезисом.

Вихревые токи снижаются разделением статора на изолированные пластины.
После этого самые большие потери остаются на перемагничивание и этим можно и надо управлять с помощью ШИМ (что сейчас не делается).
Дальше вспоминаем, что дело имеем с вектором (и не важно как это называется). Т.е. нам надо магнит притянуть (толкнуть) издалека. Для этого надо создать вектор как можно быстрее и как можно сильнее. Т.е. намагнитить железо настолько быстро насколько оно сможет само, а не пытаться это делать медленно. Мало того (и тут можно глянуть на петлю) если перемагничивать из максимальной точки, то у нас уйдет грубо говоря в 2 раза больше времени и в 2 раза больше энергии, чем если это делать из средней точки. А чтобы железо попало в среднюю точку его хотя бы надо перестать намагничивать и делать это заранее, т.е. использовать заднюю часть синуса. И разница будет тем заметнее, чем больше токи.
Т.е. напрашивается не совсем синус и не совсем прямоугольник, а производная из них двоих.

amaora:

Осциллограммы чего, тока или напряжения? В напряжение будет виден ШИМ, а в токе синус.

Мне это нужно для понимания векторно-токового управления. А так не совсем понимаю разницу от векторно-бездатчикового управления. Может в нем и впрямь есть скрытые преимущества. Только нужны напряжение и ток по всем 3-м фазам.

SergejK
arb:

Мне это нужно для понимания векторно-токового управления. А так не совсем понимаю разницу от векторно-бездатчикового управления.

Судя по всему, в контексте данной темы векторно-токовое и векторно-бездатчиковое управление - это одно и тоже. Можно погуглить что это такое. Теория там весьма развитая, в отличие от бездатчикового шестишагового управления, как в обычных модельных регулях.

arb
SergejK:

векторно-токовое и векторно-бездатчиковое управление - это одно и тоже.

Ну Роман то начал про другое. Токовые датчики позволяют регулировать момент и сделать из мотора почти серву.
Это уже я пытаюсь понять как это можно полезно реализовать в нашем случае с ВМГ и понять в чем разница с точки зрения мотора.
Ну и заодно найти того кто возьмется реализовать другой ШИМ, который использует теорию петли гистерезиса.
Благодаря этой теме вспомнил про петлю и то, что было не понятно по параметрам рега стало ясно. В частности про тайминг, все думал как он работает с точки зрения мотора (все думал где в электромоторе опережение зажигания 😃). Получается все просто - это попытка предварительного перемагничивания железа, т.к. на это требуется время. Исходя из тайминга тоже получается, что железо в пустую до последнего намагничивается, а потом вяло намагничивается, вот и получается, что это надо делать заранее.

amaora
arb:

Ну Роман то начал про другое. Токовые датчики позволяют регулировать момент и сделать из мотора почти серву. Это уже я пытаюсь понять как это можно полезно реализовать в нашем случае с ВМГ и понять в чем разница с точки зрения мотора.

Для серво одних датчиков тока недостаточно. Вот здесь я недавно попытался рассказать про работу на низкой скорости, очень коротко.

we.easyelectronics.ru/…/ocenka-polozheniya-rotora-…

arb:

Мне это нужно для понимания векторно-токового управления. А так не совсем понимаю разницу от векторно-бездатчикового управления. Может в нем и впрямь есть скрытые преимущества. Только нужны напряжение и ток по всем 3-м фазам.

Векторное управление это работа с мгновенными значениями тока и напряжения в системе координат связанной с ротором. В классическом варианте там делают два ПИ регулятора тока, а положение ротора для пересчета систем координат берут с датчика. В бездатчиковом исключается датчик положения ротора, датчики тока остаются, а положение оценивается по сигналам тока и напряжения с помощью методов оценки состояния из теории управления.

Снять осциллограмму я могу, но сомневаюсь, что Вы найдете там что либо интересное. В напряжении виден ШИМ с плавно меняющейся скважностью, так что если взять среднее будет синус, сдвинутый на 120 градусов между фазами. Ток снять сложнее, будет нужен отдельный датчик, те что на плате сильно шумят в моменты переключения моста, с них нужно делать выборки синхронно с ШИМ, осциллографу это не объяснишь.

arb:

Ну и заодно найти того кто возьмется реализовать другой ШИМ, который использует теорию петли гистерезиса.

Вот от сюда и дальше я перестал понимать.

arb
amaora:

В напряжении виден ШИМ с плавно меняющейся скважностью

Достаточна, любая инфа полезна.

amaora:

Вот от сюда и дальше я перестал понимать.

Что конкретно? Вроде почти все написал.
Для режима сервы может что и по другому, но для ВМГ чтоб получить нужный момент надо быстро намагнитить железо и держать сколько надо, потом предварительно размагнитить (снять напряжение заранее). В это время ротор сам докрутиться по инерции. Т.е. если грубо, то вместо ШИМ лучше использовать импульс в самом начале периода. Шириной импульса регулировать крутящий момент и тем самым поддерживать требуемые обороты. Ну еще пару импульсов в середине периода на малых оборотах (а то еще не долетит, но это потом при проверке идеи). Более изящный вариант - ШИМ пол-синуса (первый импульс самый широкий, а дальше по убыванию).
Это и должно позволить быстро и с меньшими затратами перемагничивать железо, что и подсказывает петля гистерезиса.

amaora
arb:

Т.е. если грубо, то вместо ШИМ лучше использовать импульс в самом начале периода. Шириной импульса регулировать крутящий момент и тем самым поддерживать требуемые обороты.

Сам ШИМ вторичен, он нужен ровно такой какой создаст требуемую форму тока в обмотке. Одиночный импульс будет создавать такой же одиночный импульс тока. Эффективнее держать небольшой ток постоянно, чем давать высокий короткий импульс. Так будет меньше потерь, и в меди и в железе. Гистерезис не настолько велик, чтобы делать из статора постоянный магнит который периодически перемагничивается. А потери, в случае с прямым приводом винта, по моим наблюдениям, значительная часть теряется на активном сопротивлении обмоток а не в железе. Чтобы сместить баланс в сторону потерь в железе надо увеличивать обороты.

Записать осциллограмму сейчас некогда, извините, позже. Надо еще подобрать хороший режим работы мотора, чтобы был не лес из иголок, а видно как заполнение меняется.

arb
amaora:

Чтобы сместить баланс в сторону потерь в железе надо увеличивать обороты.

В общем, все что Вы говорите правильно. Просто каждый из нас говорит о своем.
Но, это все правильно для сервопривода. А я речь веду про ВМГ.
И даже можно сказать так, мое предложение для сервопривода использовать нельзя, оно чисто для ВМГ.
Просто Вы как-то обмолвились про ВМГ, вот я и подумал, что можно…

amaora:

Сам ШИМ вторичен

Для справки. При ШИМ ощутимые потери не только в обмотке, но и на ключах. Обычно, чем выше частота, тем больше потери.

Ну и т.к. каждый о своем, то я думаю, дальше можно не обсуждать мое предложение (дальше если только из интереса).

amaora:

Записать осциллограмму сейчас некогда, извините, позже. Надо еще подобрать хороший режим работы мотора, чтобы был не лес из иголок, а видно как заполнение меняется.

Выложите, хорошо. Будет интересно, а вдруг пригодится.

23 days later
INFERION

Нагуглил эту тему, когда искал торию по вычислению положения ротора в своей схемотехнике (три датчика тока). Скину сюда своё поделие, пусть валяется. Заодно поделюсь своими мыслями. Начну с того, что использовать векторное управление в 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мОм). в остальном же игрушка обещает быть интересной.

Всем спасибо за внимание 😃.

arb
INFERION:

Сейчас именно такая форма напряжений, и приблизительно такая форма уже получившихся токов. Для сравнения, вот классическая форма тока в широко распространённых драйверах:

Ну да, по сравнению с классикой это точно векторное управление, когда в каждой точке времени 3 фазы всегда запитаны и создают суммарный вектор из 3 фаз.

INFERION:

Свиста тут нет - ШИМ 187.5кГц

А почему не сразу 1 МГц?

INFERION:

Со стандартным драйвером мой коптер имеет эффективность

Ну сравнение с одним древним ЕСК не совсем корректно, это больше для самоуспокоения. Неплохо добавить сравнение с регом типа Blheli_S (только не надо путать с без С).
И, у регов кроме эффективности есть и другие параметры, хотя эффективность один из важных. Но, если по другим параметрам будет провал, то

INFERION:

игрушка

так и останется игрушкой.

INFERION
arb:

Ну да, по сравнению с классикой это точно векторное управление, когда в каждой точке времени 3 фазы всегда запитаны и создают суммарный вектор из 3 фаз.

В моём представлении векторное управление происходит от трёхфазных сетей переменного тока синусоидальной формы. Там то как раз работа идёт с вектором - в декартовой системе координат, используя классический “матан”.
Вот примеры (надеюсь. меня тут за “рекламу” не забанят):
geektimes.ru/company/npf_vektor/blog/269486/
www.toehelp.ru/theory/toe/…/lecture21.html
Суть в том, что все три точки можно пересчитать через тригонометрические функции в угол того самого вектора (аргумент комплексного числа). Форма тока тут вот такая:

Её ещё “жопосинусом” или “сиськосинусом” называют. Это работает с PMSM моторами, у них и намотка совсем другая. У нас же поголовно используются BLDC. Вот наглядно разница в форме токов:

С угловатыми токами тригонометрические функции уже не поюзаешь - ошибки будут большие. Т.е. нельзя так вот в лоб пересчитать вектор, поэтому я не могу это управление назвать векторным. Хотя вектор магнитного поля, и правда, вращается как положено, но детектировать фазу куда сложнее.

arb:

А почему не сразу 1 МГц?

Потому что на 1MHz работать будет хуже, Кэп. Есть же золотая серединка, тут она на 187.5кГц. DrMOS хорошо себя чувствуют на пол мегагерцах, рассчитаны на частоты до мегагерца, я обычно использую частоты порядка 250кГц в силовой импульсной схемотехнике (современная элементная база хорошо работает именно в этой области частот, включая крупные керамические конденсаторы, дроссели, современные ключи и т.п.), но тут МК даёт 8 аппаратных бит глубины ШИМ как раз на 187.5кГц (48МГц/256=187.5кГц) - вот и была выбрана эта частота. Стандартный подход, хорошо себя зарекомендовал… Мотору чем выше частота - тем лучше. Тем меньше амплитуда тока и индукция на этой частоте - меньше потерь в статоре (от частоты потери зависят более линейно, чем от индукции, плюс помогает индукция рассеяния). У меня 40мкГн индуктивности на обмотку, на этой частоте это пульсации порядка 0.5A при худшем раскладе, что и так довольно много на мой взгляд.

arb:

Ну сравнение с одним древним ЕСК не совсем корректно, это больше для самоуспокоения. Неплохо добавить сравнение с регом типа Blheli_S (только не надо путать с без С).

А разве есть какие-то принципиальные отличия в регулях, которые коммутируют прямоугольными импульсами, используя в качестве сигнала ОС переход через ноль болтающейся фазы? Что там можно то улучшить?

arb:

И, у регов кроме эффективности есть и другие параметры, хотя эффективность один из важных. Но, если по другим параметрам будет провал, то так и останется игрушкой.

Давайте посмотрим, что я не учёл. Какие параметры важны в регуле? Всё это программно тут наверняка лечится, в случае чего.

arb
INFERION:

Мотору чем выше частота - тем лучше.

Ну да как часто не моргай все равно провалы будут, в идеале вообще без частоты должно быть раз синусоида.

INFERION:

Тем меньше амплитуда тока и индукция на этой частоте - меньше потерь в статоре (от частоты потери зависят более линейно, чем от индукции, плюс помогает индукция рассеяния). У меня 40мкГн индуктивности на обмотку, на этой частоте это пульсации порядка 0.5A

Честно, ничего не понял, как не пытался прочитать.

INFERION:

А разве есть какие-то принципиальные отличия в регулях, которые коммутируют прямоугольными импульсами, используя в качестве сигнала ОС переход через ноль болтающейся фазы? Что там можно то улучшить?

INFERION:

Давайте посмотрим, что я не учёл. Какие параметры важны в регуле? Всё это программно тут наверняка лечится, в случае чего.

Конечно есть.
Тут авторы дшот не смогли 32битный сделать рабочим. Скорее всего перемудрили с датчиками тока и напряжения.
Улучшить, для начала попробуйте повторить лучший по всем параметрам.
У себя в дневнике попробовал описать часть. Есть и измерения в других.

INFERION
arb:

Ну да как часто не моргай все равно провалы будут, в идеале вообще без частоты должно быть раз синусоида.

Не выгодно. DC-DC преобразователь тут имеется и так, просто не явный. Вместо внешней индуктивности тут используется “встроенная” в обмотки. Провалов, технически, нет. Именно ток не может мгновенно меняться из-за индуктивности, поэтому он представляет из себя как бы огибающую среднего значения заполнения ШИМ. А магнитное поле то создаёт именно ток, не напряжение. Можно спокойно сказать, что при входном напряжении 15V и заполнении ШИМ 50% - ток через катушку будет течь постоянный, соответствующий току при постоянном напряжении без ШИМ в 7.5V. Это и используется для регулирования мощности везде. Если использовать внешний LC фильтр, как в полноценных преобразователях - потерь окажется только больше, т.к. дроссель имеет своё сопротивление. Да и к тому же масса устройства возрастает, габариты, тепловыделение выше, схема сложнее, дороже и т.д… Уменьшить пульсации тока до пренебрежимо малого уровня можно просто подняв частоту до вполне достижимых сегодня значений. И вроде бы сейчас все так делают, пиарят супер крутой аппаратный ШИМ на дофига бит, ставят нормальные современные ключи и т.п.

arb:

Честно, ничего не понял, как не пытался прочитать.

Да не вопрос, объясню нагляднее. Вот схема типичной “понижалки”:

Первое что нагуглил. Принцип работы простейший - 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 тут символический, чтоб ВЧ грязь давить, выкидываем его из схемы для наглядности. Суть в том, что светодиоды кормить нужно током, поэтому нет смысла его преобразовывать в напряжение с помощью конденсатора на выходе.

Так вот, теперь посмотрите на силовую часть схемы регуля внимательнее:

Сходство видите? Обмотки мотора - очень даже дроссели, и ток они менять быстро физически не способны. Ты подаёшь на фазы импульсное напряжение, а ток сглаживается будто фильтром низкой частоты (см. вторую картинку в этом посте, при чём выходную ёмкость можно рассматривать как источник противоЭДС). Поскольку нам нужно плавно регулировать магнитное поле, а оно зависит именно от тока в катушке, а не от напряжения - задача выполнена. ШИМ плавно регулирует магнитное поле. Поэтому никто преобразователи и не использует - смысла нет. Нагрузка и так индуктивная. И кстати - эта индуктивность крутит фазу на высоких оборотах, т.к. вносит задержку в сигнал управления. И вот я не встречал реализаций регулей, которые бы учитывали этот эффект.

Или вопрос касался зависимости потерь от частоты? Если попытаться рассчитать потери в магнитопроводе, то обычно выходит, что меньшая амплитуда пульсаций тока, даже ценою роста частоты - приводит к снижению потерь. Видимо, магнитопроводу намагничиваться до более высоких значений индукции сложнее, чем делать это просто чаще. Это ярко выражено у ферритов. У железа почти не выражено, если оно хорошее. Так вот, чем выше частота ШИМ - тем ниже (пропорционально) амплитуда этих самых паразитных пульсаций тока, которые и вносят потери на частоте ШИМ. Выходит, что потери происходят чаще, но за счёт пропорционального уменьшения индукции - потери эти в целом становятся немного ниже. Кроме того - потери на активном сопротивлении обмотки зависят квадратично от тока, поэтому чем меньше будет амплитуда пиков этих пульсаций - тем меньше будет потерь ещё и в активном сопротивлении обмотки. Постоянная составляющая тока (среднее значение, уже на рабочей частоте мотора - тот самый синус или трапеция) тут роли не играет, она работает уже на рабочей частоте мотора и от ШИМ никак не зависит. Поэтому и выходит, что лучше поднять частоту по-выше - тогда и сигнал будет более “ламповым”, и отклик системы лучше (выше частота дискретизации сигнала, ну это как в звуке - больше килосемплов - выше частота среза) и т.п.

arb:

Тут авторы дшот не смогли 32битный сделать рабочим. Скорее всего перемудрили с датчиками тока и напряжения.

УМВР. Линк есть на работу? Просто я слабо пока ориентируюсь в ваших местных сокращениях. Гляну чего намудрили.

arb:

Улучшить, для начала попробуйте повторить лучший по всем параметрам.

Не смогу физически - другая схемотехника, другие алгоритмы. У меня в любом случае будет разница, но я изначально ставку делал на эффективность, линейность, и динамику. А что ещё может требоваться то от мотор-винтового привода?

arb:

У себя в дневнике попробовал описать часть. Есть и измерения в других.

Схожу посмотрю что там…

INFERION
arb:

А почему не сразу 1 МГц?

Да, вспомнил ещё кое что. К сожалению, время редактирования предыдущего поста уже прошло.
Мне ведь необходимо получать качественный сигнал с датчиков тока. Чем выше частота дискретизации сигнала (банальным ШИМом) - тем выше можно делать частоту среза антиалиасингового фильтра на входе АЦП. А чем выше частота среза сигнала - тем быстрее и точнее регуль будет реагировать на изменения. Фишка в том, что в используемых мною сенсорах имеется встроенный фильтр на 100 килогерц, поэтому мне желательно использовать ШИМ с частотой в несколько раз выше за эти 100кГц. Тогда схемотехника получится простой и в то же время шустрой. Не понадобятся огороды из RC-фильтров, имеющие хреновые характеристики (в сенсорах активные фильтры на ОУ второго порядка).
Ещё одно условие - синхронизация ШИМ с АЦП. АЦП может делать 200 килосемплов в секунду, меряя по 4 канала за семпл. Т.е. частота ШИМ не может быть выше 200кГц, иначе я получу проблемы с наложением спектров (алиасингом). Вот и получается, что мне нужно с одной стороны как можно выше, а с другой - вот потолок и всё тут… Жирную точку поставило удобное разрешение ШИМ в 8 бит, как раз на близкой частоте. Остался ещё небольшой запас на синхронизацию АЦП с таймером, генерирующим ШИМ. При этом я за 256 тактов успеваю забрать данные измерений и рассчитать новые значения ШИМ, и у меня остаётся время на фоновые процессы (вычисление коррекции скорости, обмен данными с внешним миром и т.п.). Подними я частоту выше - проблем было бы больше чем сейчас. Конечно, это возможно, но нерационально…

arb

Даа, слов много. Меня интересовало как с малой индукцией можно крутить мотор с той же силой. Меньше ток на туже индукцию я бы понял, только за счет чего?
Может еще попробуете объяснить, может хоть Вам понятней станет.
Только принцип работы импульсника объяснять не надо, это и так понятно.

Про дшот неплохо изучить. Это новый протокол передачи данных на рег (цифровой).
Их детище Кисс не выдерживает циклический наброс нагрузки, сваливается в защиту. Выяснил при тестах на стенде.

INFERION
arb:

Даа, слов много. Меня интересовало как с малой индукцией можно крутить мотор с той же силой.

Индукцией переменной составляющей на частоте ШИМ - почувствуйте разницу. Поймите же вы наконец, и перестаньте мешать в кучу процессы, происходящие на совершенно разных частотах. Я выше привёл пример, но, похоже, придётся написать ещё больше текста:

Допустим, я на свой мотор подаю 30 ампер, и он раскручивается до 18000 RPM. Ток пульсаций на частоте ШИМ достигает аж “огроменных” 0.5A! Несомненно, это такая же огромная индукция, как на рабочей частоте мотора (16 полюсов, 18000*8/60=2400Гц) при 30A фазного тока. Сколько потерь будет вносить чистый сигнал без ШИМ в этом случае? И сколько вклада внесёт ШИМ своими 0.5A на 190кГц? Если зависимость от индукции квадратичная, а от частоты линейная (у железа всё несколько проще и даже наоборот, но я начинал за здравие, поэтому продолжу) - считаем: 30A^2*2400Гц=2160000 попугаев потерь на рабочей частоте мотора, 0.5А^2*190000Гц=47500 попугаев потерь из-за ШИМ в этом же режиме, что в 45 раз меньше за ток подмагничивания, на который мы, в отличии от тока пульсаций ШИМ, никак повлиять не можем, т.к. именно этот ток и крутит мотор. А с пульсациями от ШИМ мы можем делать что хотим, они никакого влияния на тягу мотора не оказывают, только на потери и проблемы с оцифровкой сигналов с датчиков. Справедливости ради замечу: У железа, из-за электропроводности в пластинах, картина может быть и обратной - рост частоты приводит к квадратичному росту потерь. Только в моторах всё сложнее - есть ещё индукция рассеяния, она работает без участия железа. Тут практика нужна, но у меня пока проблем с этим не возникает. Регуль, вращающий мотор с частотой 60 оборотов в минуту, качающий в него 200мА (меньше недостаточно для страгивания - залипает на полюсах), при этом шпарящий все 3 DrMOSа на всех своих 193кГц - с аккумулятора потребляет около 15мА. Где же космические потери то?
Надеюсь, теперь я ответил на ваш вопрос корректно, и что-то сам понял, как вы хотели? 😃 Приношу свои извинения за то, что раздражаю своим многословием…

arb:

Только принцип работы импульсника объяснять не надо, это и так понятно.

Не похоже, поэтому и расписал. Я обратил внимание на ваши неоднократные высказывания по поводу вреда ШИМ, и с вами абсолютно не согласен. В конце концов, писал я не только вам, тут и другие читатели есть, менее компетентные, но более любопытные.

arb:

Их детище Кисс не выдерживает циклический наброс нагрузки, сваливается в защиту. Выяснил при тестах на стенде.

Да, читал. Только нет же исходников, документации и т.п., чтоб глянуть что именно они там наворотили? Тогда мне с этого практической пользы никакой. Если б я мог чужие ошибки изучить… Я почему-то решил, что это открытый любительский проект какой-то, возможно даже здешних форумчан…

arb

Все равно ничего не понял, где я должен почувствовать разницу и т.д.
Ладно замнем. Вам понятно и ладно. Может кто еще что-нибудь понял.
Получится игрушка, хорошо.
Удачи.