Comments 76

Спасибо, было интересно.


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


настройка системы управления в основном сводится к подбору коэффициентов регулирования

Жаль, что не к расчёту. :)

я подумал про двухконтурную систему
Тоже про нее думал, но пока просто руки не дошли чтобы нормально разобраться и реализовать стабильно работающий вариант. С наскока не затащил :)) Все таки я железячник, а софт больше хобби. В принципе в обозримом будущем разберусь, благо есть еще задача добавить 3-й регулятор (мощность) чтобы отслеживать ТММ солнечной панели.

Жаль, что не к расчёту. :)
А есть методы, которые позволяет посчитать так, чтобы потом не пришлось дорабатывать напильником? Пробовал, например, метод Циглера-Никольса, получил вполне себе работоспособные коэффициенты, но в процессе работы они все равно подвергались корректировке некоторой.

Вся ТАУ в принципе тем и озадачена, чтобы придумать новые структуры регуляторов, понять их свойства и предложить методы рассчёта. :)
Но в вашем случае, вероятно, придется начать с какой-никакой, но хотя бы примерной модели динамики. Так что если вас устраивает качество после подбора, то можно так и оставить. :)

Как промежуточный результат устраивает в принципе, но двигаться в перед однозначно надо :)
как всегда подробно и интересно.спасибо.
процессор есть побыстрее, если нужна индикация например (480мГц,LTDC, FSMC,HRTIM,COMP)- STM32H750(743 подороже) на Али есть по вменяемой цене около 300р.
Может имеет смысл применять связку HRTIM+TIM1- они на одной «шине».
это не критика!
Вот тут у меня двоякое ощущение… С одной стороны H750 имеет HRPWM и огромную вычислительные ресурсы, но что с ними делать? В большинстве случаев для управления преобразователем столько не нужен, остается вариант — повесить на один камень и дисплей, и кнопки, и интерфейсы и собственно управление. Я к такому варианту отношусь с опаской…

Все таки поставить F334 за 1,9$ + отдельно МК для HMI и интерфейсов мне кажется более логичным. Во-первых, два МК можно связать по UART и легко его гальванически развязать. Во-вторых, получим 2 простые программы для МК: одна оптимизирована под реал-тайм, а на «дисплейной» части твори что хочешь уже с FreeRTOS-ами и прочими классными штуками, не опасаясь за то, что новая фича начнет мешать преобразователю.
Хм… про 2-х ядерники забыл)) Возможно стоит задуматься над таким вариантом, хотя от задачи зависит, если делать какой-то станок с ЧПУ, где нужна связь с ПеКа и прочие фишки, то H7 наверное вообще идеальным решением будет.
Ваш подход интересный, но я бы выбрал MC34063A. Для вашей задачи +3..15В => 12B эта микросхема подходит и она не зависнет, её не надо отлаживать и программировать. Можете пояснить ваш выбор?

Как сказать… 3..11 => 12 — да. А вот для "понижаек" эта "старушка" не очень подходит из-за ненасыщающегося (без ухищрений) ключа.
Можно, конечно, сделать инвертирующую конфигурацию, обладающую свойством buck-boost. Но там есть свои подводные камни.

Как минимум мизерная частота у MC34063 и да — аналоговые контроллеры тоже сходят с ума, достаточно поместить их в условия сильных помех. Наличие ПО позволяет легко изменить любые настройки: ток и напряжение стабилизации, порог защиты КЗ, порог защиты температуры, реализовать всякие алгоритмы типа заряда лития и все это не приведет к переделке железа.

P.S. ну и мое религиозное — МС34063 в 2020-м это какой-то зашквар, есть же куча новых нормальных контроллеров, работающих на нормальных частотах и заточенные чисто под buck-boost, некоторые умеют управляться по i2c какому-нибудь
> куча новых нормальных контроллеров
> некоторые умеют управляться по i2c какому-нибудь

А порекомендуйте плз :)
От параметров требуемых зависит, например, есть LTC3335. А так лучше на digikey через параметрический поиск можно что-то конкретнее найти.
Согласен, но digikey позволит не ограничиться одним производителем. Все таки продукция у Linear одна из самых дорогих.
Зато понятно становится, чего можно хотеть. У них, например, довольно давно появились мс идеальных диодов, в т.ч. мостовых. Ну и для себя, любимого, на пару экземпляров можно и не экономить. Если же речь о партии, искать возможность реализовать желаемую функциональность на более доступных комплектующих.
про это и хотел сказать- если нужна индикация, то проще (и быстрее) применить Н7, чем организовывать протокол обмена между отдельными процами.
Возможно, глупость спрошу, ибо не спец, но…
А велика ли вероятность, что микроконтроллер тупо подвиснет (например, помехи по питанию) и чем всё это закончится?
Вероятность конечно же есть, в принципе и аналоговый ШИМ-контроллер может начать сходить с ума. Задача сделать так, чтобы если контроллер подвис, то система не вспыхнула адским пламенем, а перезапустила себя. Что для этого нужно:

— аппаратные защиты по току и в идеале еще по напряжению, чтобы когда МК завис, то силовая часть отключилась. Это можно сделать с помощью компараторов и входа FAULT у модуля HRPWM, он реализован аппаратно на логике дискретной внутри МК. Если не доверяете тому, что внутри — делаете снаружи: логика и D-триггер. В больших и сложных проектах можно смело ставить CPLD, гибко и надежно будет.

— супервизор по питанию, если питание МК выйдет за допустимые пределы, то контроллер сбросится;

— внешний watchdog, который не дергает ресет у контроллера, а через полевик разрывает питание контроллера, такой вариант «hard reset» спасет от всего.

В принципе я не могу сказать, что реализация преобразователя на МК менее надежна, чем на аппаратном ШИМ-контроллере. В обоих случаях надежность зависит от реализации и от того, понимает ли разработчик слабые места своего решения и как эффективно их «закроет».
Типовое решение данной проблемы следующее:
1. Несложна логическая схема между МК и входом драйверов, которая логически не позволяет одновременное открытие верхнего и нижнего транзистора.
2. Последовательно с индуктивной нагрузкой включается конденсатор, который ограничивает течение постоянного тока.
Таким образом, если МК завис или установил на выходе недопустимое состояние пинов (это может легко произойти в момент инициализации портов МК), то постонный ток протекать через индуктор не будет, схема останется в пассивном состоянии не потребляя ток.
которая логически не позволяет одновременное открытие верхнего и нижнего транзистора
Крайне бесполезная штука на самом деле, уже прошла эпоха всяких PIC16 и ATmega8, сейчас МК сами умеют прекрасно формировать комплементарные сигналы с dead-time и защитой от сквозных токов. Да и данная защита без dt работать не будет нормально, т.к. переходные процессы будут накладываться, а при наличии dt сквозной ток в принципе не возникнет.

Последовательно с индуктивной нагрузкой включается конденсатор
Далеко не в каждой топологии такое в принципе возможно.

установил на выходе недопустимое состояние пинов (это может легко произойти в момент инициализации портов МК)
Чтобы такого не было достаточно не бросать в воздухе ШИМ сигналы, подтягивает через 4,7 кОм на землю и момент инициализации, когда ноги в неопределенном состоянии ничего не откроется. Да и хорошей практикой является логика: МК стартует — инициализируется — тестирует цепи — только после этого подает +12 на питание силовых драйверов.

"Через какое время АКБ немного зарядился и сопротивление стало 5 Ом..."
FTGJ, сопротивление его — уменьшилось. А выросла — ЭДС. Что и приведёт к падению тока зарядки при постоянном напряжении источника.

При номинальной мощности 20 Вт (10В и 2.1А) во всем диапазоне не менее 90,2%. Худший результат на нижнем пороге в 3В по входу. В среднем показатель плавает в районе 92-93%. Максимальный КПД у преобразователя, когда напряжение на входе примерно равно напряжению на выходе, то есть когда работа идет в buck-boost режиме и максимальная цифра измеренная 95,6%.

Можно чуть лучше на нижнем пороге, это первая версия платы и я не очень удачно реализовали питание «мозгов». У меня мелкий boost dc/dc из 3...15В в 15В на 100 мА, а питание +3.3В для МК получал уже из этих 15В через LDO. Не лучшее решение, надо было поставить мелкий buck из 15 в 3.3В. Во второй версии эти сделал, т.к. питание от АКБ и нужно выжимать по максимуму.

Так же можно повысить КПД за счет драйверов более внятных, тут экспериментировал с китайскими и на 200 кГц у них так себе фронты, +1.2/-1.8А оказалось мало, думаю с NCP5183 или подобными будет веселее.
В данный момент занимаюсь аналогичной разработкой. Как «проктолог проктологу» хотел бы задать несколько вопросов:

1. Какие использовались транзисторы в верхнем и нижнем влечах.
2. Какая схема управления затвором, как достигается быстрое закрывание транзисторного ключа.
3. Как боролись со звоном (ringing effect), на частоте 200кГц транзисторы должны не плохо звенеть.
4. Нет ли нагрева на холостом ходу? Если был, то как побороли?
5. Почему не применен dead-time? У вас транзисторы сверху и снизу могут находиться в открытом или полуоткрытом состонии одновременно (shoot through current).

Заранее большое спасибо за ответ.
1. Про ключи и драйвера ничего сказать не могу конкретного (попросили не упоминать), вообще китайская экзотика, ибо целевая стоимость в серии пара баксов. Если нет ограничений в бюджете, то я бы смотрел на NCP5183 и серию OptiMOS.

2. Звона как такового нет, частота мелковата и импульсный ток драйвера не высокий. На 400+ таки звенит и проблема решается ограничением dU/dt на транзисторе.

3. Грелся в моем случае только линейник из +15В в +3.3В который роняет, в данной версии железа никак не решалось, в новой заменил на маленький buck на 100 мА в SC70-6 корпусе. Остальное не грелось в принципе, причин для нагрева не вижу. Вообще если что-то на холостую греется (ключи или дроссель), то нужно смотреть на ШИМы, возможно сквозит и тут либо dt увеличивать, ли драйвер затворов лучше ставить.

4. dt тут не где применять на стороне МК, т.к. используется один ШИМ, а комплементарная пара формируется внутри драйвера. Dt тоже задается аппаратно внутри драйвера и регулируется резистором, как например, в UCC21540

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

F334 это популярный ширпотреб и в закупке очень дешевый, есть FPU и прочие прелести. STSPIN экзотика же со множеством ограничений, например, я бы не стал привязываться к 45В питанию, вдруг завтра надо будет больше? Без HRTIM (HRPWM) не получить больших частот (больше 100 кГц) и при этом сохранив хороший шаг регулирования, сейчас при 200 кГц у меня 30000 шагов, на F0 будет 2000 в лучшем случае. Вообще мне эти камни нравятся, но лишь как управление для мелких драйверов BLDC и то из-за низкой популярности ставить бы не стал.

Правильно, специализация ведёт к ограниченности. Ключи у stspin при ограничении напряжения работают на более мощные, это реализовали в девборде. Да, чип стремный и заточен под движки, но воткнуть другим боком всегда интересно. К тому же в нем ОУ интегрированы, током хотелось управлять.
Глубина регулировки в 30000 шагов — а она реально не даёт эффекта, а также в шиме легко растянуть диапазон дробей через управление числителем и знаменателем. Реально делал на 8 бит таймере расширение динамического диапазона. Но залезть в высокие частоты очень хочется, F3 интереснее, безусловно. Хотя сейчас столкнулся с необходимостью качать на 670кгц и простого решения не нашёл.
И fpu для пид регуляции — у нас 32 бит доступны, переворачиваем математику — от умножения малых float переходим к делению больших значений сразу от АЦП. Мне удалось пид загнать в регулировку тока импульса 50 мкс, то есть в паузах затишье, как импульс — регулируем.
Ваш пример с МК вместо спец шим вдохновляет, работа достойная.

Хотя сейчас столкнулся с необходимостью качать на 670кгц
Вот на F3 с HRPWM это без проблем доступно, правда если нужны вычисления большие, то возможно стоит смотреть уже на новые G474. Хотя там ценник уже не такой приятный :) С этими МК баловался до 2 МГц (buck), в принципе вывозят нормально
2 вата на холостой режим — это слишком много.
По сути ПИД контролёр — это регулятор обратной положительной и отрицательной связи с частотным фильтром. Прямой аналог RC цепи в цифровом виде. Его можно настроить наугад, а можно и научным методом. По этой теме есть удачная статья bsvi.ru/kompensaciya-obratnoj-svyazi-v-impulsnyx-istochnikax-pitaniya-chast-1/#more-592
Грамотная настройка позволит значительно снизить потери, когда модуль одновременно работает в режиме стабилизатора и генератора (потому как полный мост).
Дальнейшее снижение может быть достигнуто переходом с режима НТ в режим ПТ для дросселя. В простейшем случае можно выключать все транзисторы когда выходное напряжение в допуске, а ток минимален.

В последнее время производители сложных чипов для БП — перестали открыто публиковать подробный внутренний дизайн своих микросхем. Слишком сложные схемы. Но можно учиться на более ранних образцах — где схемотехника была намного проще.
2 вата на холостой режим — это слишком много
А я выше писал, что намудрил с LDO, запитав его от 15В и вообще поставив линейник, вместо еще одного dc/dc мелкого. Да и драйвер не сильно удачный, фронты там так себе, но эта платка чисто исследовательская, так что вполне нормально — работает и на том спасибо :) В следующих ревизиях конечно это будет правиться.

переходом с режима НТ в режим ПТ
Ой, вот в DCM уходить это последнее чего хочется добиться, к тому же не уверен, что потери уменьшатся, т.к. амплитуда тока вырастит.

перестали открыто публиковать подробный внутренний дизайн своих микросхем
Это да, еще модно стало внутрь, казалось бы аналоговых контроллеров, пихать цифровые блоки, которые могут сильно глючить. Такой грешок замечен за новыми TI, например. Об открытости давно речи не идет, в дш структурные схемы крайне далеки от практики бывают
По сути ПИД контролёр — <...> Прямой аналог RC цепи в цифровом виде.

Как давно у меня была схемотехника, однако. Но, вроде, RC это PI, а для PID надо RLC?

Там много вариантов, но RC цепь — самое простое и доступное для понимания.

А как можно на RC цепочке, то есть фактически на одном резисторе и одной емкости сделать PID регулятор c ненулевой D составляющей?

На одном резисторе и входной ёмкости усилителя — получится что угодно, но только не ПИД контролёр. Я не говорил что количество RC цепей замещения равно одной штуке.
Но могу утверждать, что через RC цепи можно заместить почти всё. Так-же как и в цифровой технике, через один тип элемента ИЛИ-НЕ.
Почитайте статью о компенсации обратной связи, там показан именно такой подход — от простого к сложному.

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


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

Сложно назвать это первоисточником, учитывая, что никогда этот апноут не смотрел, но за ссылку все равно спасибо — думаю интересующимся будет полезно

А почему не использовали архитектуру inverting buck-boost converter? Там тоже один дроссель.

Как железячнику с опытом разработки ибп грустно от статьи, никаких тебе осциллограмм, никаких сбросов набросов нагрузки на разных входных напряжениях для проверки стабильности защит.
Насколько я вижу по практике, когда стоит такая задача(поставить мк что бы по pmbus рулить всем и собирать телеметрию, ибо это экономически выгоднее, когда не надо лишнего обвяза для теле) то мк по сути только молотилка по сбору данных и выдаче 2-х PWM в данном случае, которые идут уже на драйвера для ключей с dt настраиваемым резюком на них, где их по пути ловит вентильная логика реализующая защиту от кз(если внутреннего мк-шного компаратора не хватило по точностям низов), сбоя мк, наличия шим по wd и т.п., ибо без этого всего обвеса снаружи полагаться на кремниевую козявку такое себе счастье ( все таки размеры затвров и как следствие каналов в мк и аналоговых контроллерах различаются на порядок минимум, что к помехоустойчивости
им плюса не дает, а помехи будут априори ввиду больших di/dt в dc-dc, все таки мк(общего назначения) в отличии от шимок спецом не готовят к такому, благо с этим можно легко бороться доп обвесом мк ставя его при этом по дальше )

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

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

все таки мк(общего назначения) в отличии от шимок спецом не готовят к такому
F334 позиционируется как решение для систем питания и motor control, собственно наличие HRPWM и богатого аналогового фронтенда это подтверждает, поэтому странно называть это «мк общего назначения». На счет надежности цифрового управление… оно точно менее надежно? Тогда стоит посмотреть на любой частотник или старшие модели БП от mean well, которые клепают миллионами штук и ничего — работают.

Вообще «цифра vs ШИМ-контроллер» это локальный такой холивар в котором глупо участвовать, ибо у всех свое мнение и все по своему правы. Я лишь слежу за тенденциями и занимаюсь тем, что перспективно и приносит денег выше среднего :))
Покажусь капитаном, но хабр давно уже ресурс не для разработчиков, а в лучшем случае науч.поп, так что смысла в этом особо нет, ибо вдумываться будет 1,5 человека.

Спасибо за пояснение, я на хабре новичек и про данную специфику не знал, видимо кроме радиокота и электроникс ру с особой тщательностью статить в данном направлении не препарируют

а там надо 2 сигнала и dt с логикой уже нужны на стороне МК, не рассыпуху же городить.


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

Я ни в коем случае не умаляю возможностей контроллеров и раздувать этот холивар не желаю. Специализированные камешки уже составляют конкуренцию в выпускаемой массово продукции обычным шимкам.
Просто добрая часть из тех программистов которые в такие разработки ввязываются, мало себе представляют какие подводные камни их ждут, и не особо интересуются как шло развитие, а сразу бросаются с места в карьер ( и я понимаю что это у них уже как образ жизни, ибо профессия требует быстрых и дешевых решений здесь и сейчас), а времени на то, что бы посидеть и почитать про то, что нужно отвязывать земляные цепи и питающие с сигнальными цепями нужно желательно дополнительно защищать(и фильтровать) хотя бы LR цепочкой и т.д., у них нет. Ведь холивар зародился с тех мк которые еще не имели толковых визеров питания на борту и защиты выходных пинов, из за чего часто горели и зависали. Сейчас данные проблемы уже давно решены ( справедливости ради стоит сказать что и аналоговые шимки через это же проходили в самом начале, просо это было за долго до появления мк).
кроме радиокота
Я вас умоляю… на радиокоте обитал где-то с 2006 до 2010, тогда на нем было еще что-то актуальное, затем стал замечать что сам вроде как развиваюсь, а там как были pic16 и IRF740, так до сих пор и остаются. Иногда на форуме появятся интересные люди, напишут что-то, комментариев по делу ноль и они пропадают. С электрониксом все определенно лучше и из форумов это единственное место для разработчиков, к сожалению.

указывать возможные риски применения
Придут люди и скажу: «А вот в F030 есть TIM1 и вход аппаратной защиты BKIN» и в принципе будут правы, на обычных МК тоже можно сделать что-то работающее, но будет куча ограничений, в основном по частоте ШИМ и из-за АЦП. Вообще вы правы, уделить внимание этому вопросу стоит, но тема довольно объемная и требует отдельной статьи. У меня в черновиках есть начатая статья по исследованию надежности применения встроенных защит в F334, но уже пол года не могу замотивироваться дописать :)

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

Однако бывают задачи, когда диапазон входного напряжения требует одновременно работы и на повышение и на понижение, например, мы имеем вход 3...15В, а на выходе необходимо получить стабилизированные 12В. Знакомая ситуация?

Тут возможны 2 решения:

С помощью преобразователя boost повысить входное напряжение из 3...15В до стабильных 15В на выходе, а затем уже с помощью топологии buck понизить напряжение до требуемых 12В;
Применить топологию buck-boost, которая позволяет оптимально решить данную задачу.

Ну не 2 решения, можно было бы и, к примеру, топологию flyback упомянуть. Для меня как-то не особо очевидно, что buck-boost будет всегда оптимальнее flyback.
Для меня как-то не особо очевидно, что buck-boost будет всегда оптимальнее flyback
Для меня это очевидно, если не нужна гальваническая развязка, то зачем мне трансформатор? Готовый под свои хотелки не подобрать, а если о чудо есть готовый — стоит дороже всего преобразователя. Вводить моточное изделие туда где это не требуется… сомнительное решение.
Ну, то есть, уже всплыло, что не всегда buck-boost будет оптимальнее flyback, а, к примеру, если не нужна гальваническая развязка. Теперь декларируете, что «моточное изделие» — это всегда абсолютное зло, лучше добавить пару транзисторов, ну не знаю, подиджикеил — флайбэков ассортимент как бы даже не больше, чем бак-бустов, — зачем тогда они их клепают сотнями миллионов?

А дросель-трансформаторов к этим обратноходам — тоже богатый выбор?
Предлагаю уточнение: моточное изделие зло, если речь не идёт тираже в 3..5 тысяч штук.

если речь не идёт тираже в 3..5 тысяч штук
Идет, поэтому разница в 4 цента не такая уж и маленькая, и это только если просто компоненты в лоб посчитать. Транзисторы на такой ток и драйвера на 30-40В почти ничего не стоят, если это азиатские бренды, так что в плане экономики на большой партии бак-буст выгоден.

Еще наверняка трансформатор увеличит общий габаритный размер по высоте, даже если это какой нибудь ER11. Есть вариант с планарником, но тут 2-х слойкой уже не отделаешься и тоже не сильно выгодно становится
Предлагаю уточнение: моточное изделие зло, если речь не идёт тираже в 3..5 тысяч штук.

Вот именно, утверждение автора, что
Однако бывают задачи, когда диапазон входного напряжения требует одновременно работы и на повышение и на понижение, например, мы имеем вход 3...15В, а на выходе необходимо получить стабилизированные 12В. Знакомая ситуация?

Тут возможны 2 решения:

С помощью преобразователя boost повысить входное напряжение из 3...15В до стабильных 15В на выходе, а затем уже с помощью топологии buck понизить напряжение до требуемых 12В;
Применить топологию buck-boost, которая позволяет оптимально решить данную задачу.

требует слишком много уточнений. как в том анекдоте про армянском радио — «Правда ли, что шахматист Петросян выиграл в лотерею тысячу рублей?» Флайбэки очень даже еще живы, в т.ч. non isolated. Статьи появляются, патенты, новые микросхемы, к примеру
FLYBACK CONVERTER FOR OPERATION WITH VERY LOW INPUT VOLTAGES
patentimages.storage.googleapis.com/0d/e6/ef/7bac7d83d0686c/WO2014060241A3.pdf
Флайбэки очень даже еще живы
Я вам больше скажу — автогенераторы все еще живы, но это не значит, что их надо везде применять. И да, флайбек не изолированный нужен лишь там, где разница между входом и выходом большая, например, во всеми любимых часах для индикаторах часто бустом поднимаю 5->180В и вот тут как раз бы лучше зашел флай.
«моточное изделие» — это всегда абсолютное зло
Неплохо так передернули… Моточное изделие тут не нужно, т.к. не нужна гальваноразвязка, например. Да и дроссель всегда дешевле будет, чем трансформатор на аналогичную мощность. На партии 100 тыс. штук это будет весомая экономия.
Два вопроса
1) не лучше ли вместо
pidCurrentMode
            .SetReference(Application::referenceOutputCurrent)
            .SetSaturation(-29800, 29800)
            .SetFeedback(outputCurrent, 0.001)
            .SetCoefficient(10,0,0,0,0)
            .Compute();
писать
pidCurrentMode.
            SetReference(Application::referenceOutputCurrent).
            SetSaturation(-29800, 29800).
            SetFeedback(outputCurrent, 0.001).
            SetCoefficient(10,0,0,0,0).
            Compute();

2) то есть всякий раз перед вычислением мы заново устанавливаем коэффициенты?

PS 3) а где конструктор с инициализацией накопителей?
1) Не знаю, вкусовщина, мне первый вариант более читаемым кажется, как и фирмварщику с которым работаю в паре
2) Да, но если хочется сэкономить десяток тактов, то можно и не выставлять и просто вызывать вычисление. У меня просто во многих проектах есть автотюн для коэффициент в зависимости от нагрузки, поэтому так удобнее
3) Конструктор для 2-х объектов излишество, опять же — никому не запрещаю писать как хочется.
По 1), конечно, вкусовщина, с 2) понятно.
Но с 3) поспорю — если у Вас объекты глобальные (и это стоит подчеркнуть), то обнуление гарантировано, но если локальные — то начальные значения совершенно произвольные и инициализация становится совершенно необходима, я на эту «фичу» в STM налетал и довольно-таки больно.
Отличная работа, но на али с индикацией подстройкой тока и напруги примерно по 100р покупал в прошлом году. Если эта схема лучше то они уже её в серию готовят.

"Железная LM2596" и "вольтметр на STM8" — это не совсем то, что описывается в статье.
И переключение CC-CV-CC — может доставлять множество выбросов.
И к габаритам (мощности) моточных изделий — китайцы могут подойти наплевательски. Так, что на краю обещаемого диапазона напряжений с их платы можно снять намного меньший ток.

И к габаритам (мощности) моточных изделий — китайцы могут подойти наплевательски
+1, у китайцев есть прикольная особенность писать ток насыщения дросселя на своем преобразователе и люди потом удивляются почему 5А на самом деле всего 3 дают.
Очень интересная статья и плата красивая :) По управлению CC/CV, не надо так делать (if), надо вход ОС регулятора (по которому вычисляется ошибка) подавать максимум из двух значений ток/напряжение, тогда будет один регулятор и автоматом будет реализовываться алгоритм ограничения тока или напряжения, в зависимости от того, что больше. Естественно сигналы должны быть нормированы.
не надо так делать (if)
Надо, я в статья явно указал, что это для упрощенного понимания как оно работает.

надо вход ОС регулятора (по которому вычисляется ошибка) подавать максимум из двух значений ток/напряжение
Не совсем понял как это будет работать? Регулятор 1 штука, а уставка… Vset и Iset.

Формально можно поступить коварно — сделать регулятор по току, а напряжение ограничить через лимитное значение насыщения в ПИД-регуляторе, но это не спортивно имхо. Хотя если хочется, то можно.
для демонстрации конечно if пойдет, а в реале плохо, потенциальная точка ошибки при развитии системы.
Не совсем понял как это будет работать? Регулятор 1 штука, а уставка… Vset и Iset.
да с двумя у ставками действительно неудобно, не подумал, у меня по другому было. Если и то, и то регулировать, то два регулятора, с выходов регуляторов на шим идем минимальный сигнал, типа как в TL494. Ну и быстрый ограничитель — обязательная вещь.
Формально можно поступить коварно — сделать регулятор по току, а напряжение ограничить через лимитное значение насыщения в ПИД-регуляторе, но это не спортивно имхо. Хотя если хочется, то можно.
да, неспортивно, в одну сторону плохо регулировать будет
а в реале плохо, потенциальная точка ошибки при развитии системы
Тут полностью согласен, в принципе я про это в спойлере написал, чтобы никого в заблуждение не ввести :)

с выходов регуляторов на шим идем минимальный сигнал
А, теперь понял о чем вы… Такой вариант тоже пробовал, но есть проблемное место — если работает П-регулятор, то такое прокатит, а если ПИ, то уже нет, т.к. интегральная составляющая не будет соответствовать реальности.
не, я П-регуляторы в принципе не рассматриваю, статическая ошибка высокая или неустойчивость. А у ПИ да, есть такая проблема в простой реализации. Для адекватной работы надо ограничивать не только насыщение, но и интегральную составляющую, реальный же конденсатор не может набрать бесконечный заряд.
Ну и может быть еще такая проблема — при отключении нагрузки в режиме стабилизации тока выход будет на максимуме. Решается или правильным выбором постоянной времени или лимитированием выхода неактивного регулятора на уровне активного. Я использовал второй вариант, он обеспечивает более плавный переход.

Полезная статья. А существуют микроконтроллеры с модулем HRPWM дешевле чем $1,9@10K шт?

Существуют, нужно смотреть китайские бренды. Там много всяких штук на С51 ядре или mips, есть и с HRPWM и с АЦП нормальным, кортексы китайские с hrpwm вроде есть, но сам лично не сталкивался. В первом приближение смотрите на LCSC азиатские бренды.
Если Вы не настаиваете на использовании технологии именно HRPWM (с использованием фазового сдвига), а Вам просто нужен PWM с высоким разрешением (выше, чем тактовая ядра), то посмотрите на AVR, по крайней мере в TINY семействе были PWM с предварительным повышением частоты на PLL.
Ну и есть еще метод поцикловой коррекции ШИМ, но это на любителя.

Да, мне как раз нужен генератор для получение чатот 9-10 Мгц с небольшим шагом. На stm32f334 я эти частоты в легкую получал, но цена этого микроконтроллера не радует. Плюс он не особо распространен в России, соответственно реальные цены существенно выше чем $1,9.

не особо распространен в России
Это касается любых электронных компонентов, тут х2...3 цены и на складах кроме резисторов ничего нет. С того же LCSC.com можно притащить и на физика и на ИП, если нужно быстро и официально.

Вообще F334 самый дешевый и доступный контроллер с высокоразрядным ШИМом, если не брать в расчет азиатские бренды и прочие извращения. Но настолько ли у вас большие партии, чтобы связываться с последними? Если меньше 5-10 тыс. устройств в год, то поверьте — оно вам не надо, ничего не сэкономите, т.к. разницу в цене сожрет потеря времени на работу с документацией, которая почти всегда на китайском и ее мало. Перевести даташит с китайского на английский стоит около 650$ за ~300 страниц.
а можете дать партнамбер или ссылку где купить контакты под винт?
Конечно, по идее это Keystone 8191, но они не самые дешевые, поэтому в плате на фото китайцы предложили поставить свой полный аналог. К сожалению не знаю как они называются в Азии, но можно на LCSC поискать по картинкам.
Only those users with full accounts are able to leave comments. Log in, please.