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

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

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

23 days later
alexeykozin
INFERION:

Со стандартным драйвером мой коптер имеет эффективность порядка 13-ти грамм на ватт (при массе 900 грамм и порядка 80 ватт запаса энергии на борту), теоретическая самого винта порядка 17-ти. Ожидаю со своим драйвером порядка 14…15 грамм на ватт, и гораздо меньший акустический шум. Свиста тут нет - ШИМ 187.5кГц, глубина 16 бит, главный цикл всё пересчитывает тоже на приличной частоте - 93.75кГц (512 тактов на цикл). Пока хватает ресурсов, но ещё ж не всё написано. Сильно мешает отсутствие аппаратного деления у применённого тут ARM Cortex M0.
Ну а в целом, в схемотехнике придётся доработать только одно место - у DrMOS слабый верхний ключ (типичное значение порядка 5мОм), его можно продублировать внешним на 1мОм. Нижний там достаточно хороший (порядка 1мОм). в остальном же игрушка обещает быть интересной.

теоретически мотором можно управлять

  1. подавая один импульс определенной переменной длительности (в зависимости от требуемого момента) то есть разово заряжать катушку мотора
  2. выбрав тактику шим модуляции с помощью которой определяется напряжение и ток в обмотке. то есть дозировать заряд катушки по времени
    в пользу второго способа склоняет логическое суждение что двиглу нужна синусоида (или трапеция) с тем чтобы он увереннее и кпдшнее работал
    однако если рассмотреть характер потерь силового ключа то значительная часть происходит в момент переключения ключа. тоесть чем больше переключений (под током) тем выше потери. т.е. фактически устойчивость работы мотора выше но кпд регулятора ниже.
9 days later
amaora

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

Скважность в обоих каналах почти одинакова потому, что мотор был не нагружен. А вот при замере формы тока я его тормозил, иначе все плоское и виден только шум. Коэффициент для перехода к значению тока около 33 А/в.