| Power Electronics https://valvol.ru/ |
|
| Цифровые алгоритмы регулирования https://valvol.ru/topic2594.html |
Страница 2 из 3 |
| Автор: | BBR [ 08-06, 23:02 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
Попробую по-порядку. Поведение стало более устойчивым, как только я поставил реальный выходной кондер, ESR=0.12 Греется он конечно прилично: при ripple тока под 6-10А на нем выделяется 12-30W. Это безусловно очень плохо :( Я попробовал по примеру тексасовцев динамически настраивать D (пробовал PID, пробовал линейный закон как у TI), но потерпел фиаско: что бы я ни делал, регуляция голым bang-bang-ом работает лучше :) Считаю что руки кривые, опыта мало. В целом алгоритм прикольный: при превышении "несущей частоты" PWM (задается Ton_min & Ton_max) некоей "оптимальной" - циклы PWM "слипаются" в группы, быстро линейно задирают ток и напряжение (что вперед) до максимума, срабатывает bang и начинается долгий разряд. Оптимум PWM такой, чтобы bang по напряжению срабатывал на каждом цикле PWM, не давая им слипаться. В моем примере оптимальная итоговая частота PFM оказалась равной где-то 77кГц. Что мне очень нравится в алгоритме - это то, с какой легкостью он справляется с бросками Vin и нагрузки и как точно он выдерживает заданные ток и напряжение. Никаких овершотов! Но - пульсации :( Обновил модель на гуглдиске: buck-02.1 Цель: динамически управляемый БП 12V/15A. На входе 320-360VDC. Плавное изменение выходного напряжения по команде контроллера. Индуктивная нагрузка. Требований к пульсациям нет, я уложился в 4% - за глаза. КПД не ниже 80%, модели получилось 90%+. Рассматриваемое решение: STM32F072. Под алгоритм подходит идеально: встроенный PWM с комплиментарными сигналами и дэдтаймом. И два компаратора (как-раз столько и надо) с отрубанием PWM, причем - есть режим отрубания только верхнего ключа, нижний открывается. Просто идеально подходит для этого алгоритма! Ну и это нормальный ARM на 48мГц. Буду очень признателен если ткнуть меня в ошибки регуляции. И еще в модели фигурирует активный ZVT clamp - он пока не работает, это у меня в процессе. |
|
| Автор: | BBR [ 08-06, 23:17 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
igorka писал(а): BBR писал(а): Балуюсь PID - все работает ОК, как в книжках написано. На чем реализовали управление? Модель на основе конечного автомата. Дискретный контроллер и регистр значения. Пришлось потрахаться с кольцевыми зависимостями вход-выход, писал выше в ветке. Решается жонглированием сигналом между защелками. Модель выкладывал. Недоделаны сервисные функции. |
|
| Автор: | valvol [ 08-06, 23:58 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
BBR писал(а): Что мне очень нравится в алгоритме - это то, с какой легкостью он справляется с бросками Vin и нагрузки и как точно он выдерживает заданные ток и напряжение. Никаких овершотов! Но - пульсации :( ... Буду очень признателен если ткнуть меня в ошибки регуляции. И еще в модели фигурирует активный ZVT clamp - он пока не работает, это у меня в процессе. Существует несколько способов проектирования системы управления источником питания. Наиболее популярный основан на инженерных методах проектирования непрерывных линейных систем регулирования и заключается в синтезе желаемой ЛАЧХ разомкнутой системы регулирования. Желаемая ЛАЧХ создается при помощи корректирующего звена, которое собственно и является регулятором. При этом не факт, что корректирующее звено источника питания будет обладать признаками типового ПИД регулятора. В реальности может быть всё что угодно. Далее передаточная характеристика регулятора, через Z-преобразование может быть перенесена в цифровую область и затем реализована на каком-то DSP-контроллере. ЛАЧХ самого преобразователя зачастую достаточно очевидна. При необходимости ЛАЧХ можно определить экспериментально или рассчитать через пространство состояний. Кроме этого существуют аналитические методы синтеза оптимальных регуляторов. Оптимальные алгоритмы создаются с учётом ограничений и возможностей реального оборудования и обеспечивают наилучшее быстродействие и качество регулирования, без всяких bang-bang примочек. |
|
| Автор: | valvol [ 09-06, 22:15 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
Чтобы не ломать голову, найдите книгу George C. Chryssis High Frequency Switching Power Supplies Theory And Design. Читать со страницы 233. Вся теория автоматического управления на 30-ти страницах .Применительно к SPICE, есть очень хорошая книга Christophe P.Basso Switch-Mode Power Supply Spice Coorbook. Вопросы лучше задавать в теме Устойчивость ИБП |
|
| Автор: | BBR [ 09-06, 23:29 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
Валентин, спасибо! Вот ключевое: valvol писал(а): Наиболее популярный основан на инженерных методах проектирования непрерывных линейных систем регулирования и заключается в синтезе желаемой ЛАЧХ разомкнутой системы регулирования. Я, когда читаю эту литературу, все кажется понимаю, да. Но у меня в силу профессии совершенно иной склад мышления: я думаю не непрерывными процессами, а (дискретными) проверками и операциями Поэтому мне проще смотреть на конкретные контроллеры и думать об их алгоритмах чем рассматривать передаточные функции. Издержки профессии ![]() valvol писал(а): Оптимальные алгоритмы создаются с учётом ограничений и возможностей реального оборудования и обеспечивают наилучшее быстродействие и качество регулирования, без всяких bang-bang примочек. Я дожал этот алгоритм, у меня получилось. 1. Здесь совершенно противопоказан гистерезис: маскирующая функция должна срабатывать точно при переходе через границу. В даташите UCC28881 и нарисовано что гистерезиса нет! 2. Каждый цикл PWM обязан завершаться маскировкой, слипание циклов PWM допускается только при очень малой нагрузке, тексасовцы про это пишут. 3. Правило 2 обеспечивается стандартным рачетом PWM: Vout должна на каждом цикле пересекать Vref кроме участков резкого изменения нагрузки Я обновил модель, если интересно. buck-02.1 Пульсации тока ~2A. Напряжения - 344mV (3%). В диапазоне Vin от 220 до 400VDC частоты от 200 до 100к. Устойчив к любым броскам. КПД 89-91% Подкупает простота алгоритма и он идеально подходит под выбранное оборудование - STM32 с его PWM и компараторами. ---------------------------- Теперь у меня следующая засада, прошу помощи ![]() - основной источник потерь - пробой через незакрытый диод M2 при открывании M1. нужно делать ZVS. - я прочитал c десяток статей про ZVS/ZCS. в основном они про PWM, а у меня - PFM - нашел близкую статью: Cory_Mark_A_201005_MS.pdf, они делают "active ZVT clamp" - запускают импульс, затыкающий диод перед открытием верхнего ключа - в модели есть попытка повторить это; лыжи не поехали: импульс работает только при малом токе через M2 - даже если clamp получится в модели, его сложно будет реализовать в STM32, мне больше подойдет пассивная схема В общем, не знаю чего делать. Литературу читал, пробовал. Опробованные квазирезонансные схемы не работают, т.к. частота сильно меняется. Подскажите куда копать. |
|
| Автор: | BBR [ 09-06, 23:49 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
valvol писал(а): Вопросы лучше задавать в теме Устойчивость ИБП Ваш последний пост прочитал уже после того, как написал свой. Перенесите туда его если нужно. Следующий свой напишу туда :) |
|
| Автор: | valvol [ 10-06, 01:19 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
BBR писал(а): - основной источник потерь - пробой через незакрытый диод M2 при открывании M1. нужно делать ZVS. Скорей всего это ток обратного восстановления внутреннего диода ключа М2. Требуется turn-on снаббер. BBR писал(а): В общем, не знаю чего делать. Литературу читал, пробовал. Опробованные квазирезонансные схемы не работают, т.к. частота сильно меняется. Подскажите куда копать. Можно попытаться приспособить нерассеивающий демпфер. |
|
| Автор: | BBR [ 10-06, 19:34 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
Спасибо! У меня полоса неудач: ниасилил пример из этой статьи. Методика расчета к картинке для buck не приведена, я попытался сам посчитать - нет, не смог. Индуктивности выбрал так, чтобы ток нарастал за примерно 10ns - длительность пика при включении транзистора, который мне нужно задавить. Конденсатор - из равенства энергий. В итоге пик при включении транзистора я задавил, но во всей остальной области - резонансный ад. Модель, snubber-01 Зато я вспомнил, что у меня лежит прекрасная недочитанная юнитродовская статья про снабберы, где я остановился как-раз на главе "Non-dissipative Snubbers"! Дочитал, решил попробовать Resonant Recovery Current Snubber, Fig.11a, p2-13 Модель, snubber-03 Как написано - сделал индуктивность большую, чтобы the resonant frequency is much greater than the switching frequency. Но диоды на всякий случай оставил. Емкость по приведенной формуле. Запустил - не работает! ![]() Т.е. все в полном порядке, но неистребимый пик при включении транзистора на месте. И даже понятно почему: в момент включения транзистора ток через L2 очень ненулевой :( Что я делаю не так? |
|
| Автор: | valvol [ 11-06, 00:56 ] |
| Заголовок сообщения: | Re: Моделирование в SwCAD/LTspice для начинающих |
BBR писал(а): КПД 89-91% Странно, у меня КПД при максимальном токе нагрузки 20А не превышает 80% BBR писал(а): У меня полоса неудач: ниасилил пример из этой статьи. Методика расчета к картинке для buck не приведена, я попытался сам посчитать - нет, не смог. Индуктивности выбрал так, чтобы ток нарастал за примерно 10ns - длительность пика при включении транзистора, который мне нужно задавить. Конденсатор - из равенства энергий. В итоге пик при включении транзистора я задавил, но во всей остальной области - резонансный ад. Рабочий вариант снаббера buck-vv.asc Результирующая эффективность примерно такая же как у исходного варианта, однако импульсные и средние потери на транзисторах значительно меньше. В исходном варианте импульсные потери до 25кВт на верхнем транзисторе и до 13кВт на нижнем (вряд ли они при этом будут жить долго и счастливо). В улучшенном соответственно 1.5кВт и 0.5кВт. Средние потери на максимальном токе в исходном 26.6Вт на верхнем и 19.9Вт на нижнем. В улучшенном 7.15Вт на верхнем и 16Вт на нижнем. Однако, в улучшенном варианте добавляются потери на снаббере, включенном параллельно резонансным индуктивностям. В принципе эти потери можно тоже оптимизировать, однако при попытке это сделать нарушается алгоритм работы преобразователя. Что-то ему не нравится, а у меня не возникает желание разбираться с его настроением. Кроме этого. ИМХО не совсем разумно получать с помощью понижающего преобразователя слишком низкое напряжение 12В из слишком высокого 300В и более. В этом случае высоковольтные транзисторы, имеющие достаточно высокое сопротивление канала, вынуждены коммутировать огромные токи, что приводит к снижению эффективности преобразователя. Для требуемой кратности снижения напряжения лучше использовать трансформатор. На размеры и стоимость это не повлияет, но эффективность увеличится. |
|
| Автор: | BBR [ 11-06, 22:30 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
Валентин, огромное спасибо! Куча эмоций :) Как я понял, это измененный демпфер из второй половины статьи. Не очень понял как вы ушли от средней точки, которая в статье (с помощью демпфера R8+C10)? Касаемо КПД: да, сейчас там около 80%. Под 90% было при жестких пульсациях: для компонент вредно, но рассеивалось меньше. Только вот эти пики по сути. Сужу по графику -V(out+)*Ix(U2:VIN)/(V(in+)*I(Vpwr))*100 valvol писал(а): Для требуемой кратности снижения напряжения лучше использовать трансформатор. На размеры и стоимость это не повлияет, но эффективность увеличится. Это моя боль ![]() Я очень боюсь моточных изделий. Поскольку я слаб в аналоговой части, то мои шансы на успех повышаются если я предельно упрощаю аналоговую часть и все что только можно переношу в софтверную, в контроллер. С программированием я точно справлюсь, а с аналогом - не факт И моточные изделия - самое для меня опасное. Теорию-то я перечитаю, но в них же еще и практика нужна: я начитался статей где обсуждается тюнинг и ремонтинг косячных обмоток. И если простой индуктор на ферритовом колечке я намотать наверняка смогу (потому и частоты мне нужны повыше, чтобы мотать поменьше), то вот трансформатор - опасаюсь. Разве что чтоже на ферритовом колечке с минимальным числом витков (на частоты 200-400к).Отсюда и дазайн этого бука: как можно меньше обвязки, зато могучий ARM. По индуктору и частотам такой запас, что я могу выдавать до 20А с напряжениями 0-32V: частоты могут подниматься до 400кГц при уменьшении D до 0.5, контроллер и алгоритм при этом не меняются. Заменив одиночные ключи баянами и увеличив индуктор (колечко побольше, провод потолще) я могу и 60 и 100А выдать. В теории :) Но я прекрасно осознаю что ключи в жестком режиме и это плохо. Поэтому ваше замечание в точку и меня беспокоит. Кроме того, сейчас добавилось 4 индуктора, стало 5. А у меня жесткие габаритные ограничения. Поэтому я не прочь сделать forward или flyback. Сделал быстро-тест, написанный мной контроллер отлично работает и с форвардом и сфлайбэком, модели потом выложу. Это радует. Но у меня изрядные пробелы в теории и рассчитать даже абстрактный транс под нужный мне режим я пока ниасилил. Пойду читать литературу... Еще раз огромное спасибо! Модели выложу как трансформатор допинаю. Контроллер к ним подошел вообще без переделок! |
|
| Автор: | valvol [ 12-06, 00:42 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
BBR писал(а): Не очень понял как вы ушли от средней точки, которая в статье (с помощью демпфера R8+C10)? В статье подразумевается, что демпфер использован в преобразователе, призванном генерировать переменный ток. Отсюда и средняя точка, т.к. относительно неё можно на нагрузке сформировать как плюс, так и минус. При этом выход преобразователя может болтаться от -Ubus до +Ubus. Т.е. это такой же полумост, как и в исходной модели. BBR писал(а): Я очень боюсь моточных изделий... Отсюда и дазайн этого бука: как можно меньше обвязки, зато могучий ARM. Источники питания, в основном, прекрасно обходятся без ARM-ов. Но, в то же время, ни какой, даже очень навороченный ARM не заменит обычного трансформатора. Кроме этого, должен быть очень весомый повод для использования цифрового контроллера в импульсном источнике питания. Существует большое количество различных специализированных аналоговых контроллеров, заточенных под данную проблемматику и имеющих более высокую надежность и устойчивость к помехам. |
|
| Автор: | BBR [ 13-06, 23:38 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
valvol писал(а): Кроме этого, должен быть очень весомый повод для использования цифрового контроллера в импульсном источнике питания. Существует большое количество различных специализированных аналоговых контроллеров, заточенных под данную проблемматику и имеющих более высокую надежность и устойчивость к помехам. Отличных контроллеров - легион, факт. Они прекрасно подходят для автономных неуправляемых устройств. Но вот возникает задача управлять. Есть микроконтроллер, принимающий решения. И импульсник. Можно на выходе поставить еще один PWM. Можно сделать управляемым фидбэк. Но это все как-то... Выход очевиден. У вас тут есть оличная ветка Микроконтроллеры в источниках питания, прочитал, разделяю! Кажется sam_soft там хорошо сказал что ему проще заменить большую часть обвязки программой. И быстрей так и перепрошить можно. Жаль за давностью лет там протухли почти все ссылки. Кстати, там обсуждались простенькие контроллеры. А сейчас за меньшие деньги доступны радикально более мощные процы. ST продвигает: - все их процессоры способны управлять импульсниками, но есть специальная версия STM32F334 для силовой электроники; посмотреть можно: en.Brochure_Power_Management.pdf STEVAL-ISA172V2: 2 kW fully digital AC - DC power supply (D-SMPS) evaluation board STEVAL-ISV002V1, STEVAL-ISV002V2 3 kW grid-connected PV system, based on the STM32F103xx AN2644 An introduction to LLC resonant half-bridge converter AN4449 Buck-boost converter using the STM32F334 Discovery kit - решение ST для электромоторов: UM1052 STM32F PMSM single/dual FOC SDK v4.3 Я ориентируюсь на эти примеры. Есть NXP с их линейкой LPC. В них нет такой навороченной периферии как в ST, поэтому на них делают "ногодрыг". Понятны риски, но если на ардуинщиков за ногодрыг можно кривить лицо, то тут ARM на 100мГц. И если писать аккуратно и разводку хорошо делать, то отчего бы и не? Вот одна из статей: MCU CONTROLLED DC-DC BUCK/BOOST CONVERTER FOR SUPERCAPACITORS Если я не смогу реализовать что нужно периферией, на край я всегда смогу сделать ногодрыг. -------------------------------------- Про трансформаторы я теорию перечитал. Для простоты расчетов взял пакет Старичка - Флайбэк как-то сразу взял и получился. Каталог, fly-01.1 Модель контроллера та же, что и для book была. Универсальный получился. Удивительный КПД - 97-99%. Это настораживает! А вот с форвардом все плохо, прошу помощи ![]() fwd-01.1-rwind - попытка сделать размагничивающую обмотку - хрень полная, если D1 присоединить, то Vds = 11 киловольт! fwd-01.1 - попытка сделать active clamp; кондер C3 при этом вызывает жуткий дребезг, который я не понимаю как гасить. fwd-01.1-rres - резонансный сбрасыватель по мотивам статьи Maxim, отлично размагничивает, вот только Vds = 3KV :( Прошу помощи. Хотя бы с эктив-клампом. Кстати, КПД там получается больше 100%. За нобелевкой сходить, что-ли...
|
|
| Автор: | valvol [ 14-06, 01:20 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
BBR писал(а): Удивительный КПД - 97-99%. Это настораживает! Не стоит измерять КПД во время переходного процесса. После скачка тока нагрузки необходимо дать время для стабилизации входного напряжения преобразователя (для разрядки С1). В противном случае неучтенная энергия, накопленная до этого момента в С1 сильно исказит величину КПД. BBR писал(а): Кстати, КПД там получается больше 100%. За нобелевкой сходить, что-ли... ![]() По своим замерам получил КПД=90% для флайбека. И это очень оптимистичный результат, т.к. модель не учитывает отерь в трансформаторе (не указаны оммические сопротивления обмоток). Кроме этого, при максимальной нагрузке, ток во вторичной обмотке трансформатора не снижается до нуля. И это не есть хорошо, т.к. из-за этого ток в первичной обмотке также стартует не с нулевого значения, что приводит к повышению уровня коммутационных потерь. В обратноходах стараются избегать такого режима. Возможно не верно заданы исходные данные для программы от Старичка. BBR писал(а): А вот с форвардом все плохо, прошу помощи ![]() fwd-01.1-rwind - попытка сделать размагничивающую обмотку - хрень полная, если D1 присоединить, то Vds = 11 киловольт! Не подключен диод D1 BBR писал(а): fwd-01.1 - попытка сделать active clamp; кондер C3 при этом вызывает жуткий дребезг, который я не понимаю как гасить. Явно завышена ёмкость С3, которая при этом резонирует с L2 на частоте порядка 440Гц. BBR писал(а): fwd-01.1-rres - резонансный сбрасыватель по мотивам... Прошу помощи. Хотя бы с эктив-клампом. Имеет смысл полистать статью Мощный однотактный преобразователь постоянного напряжения с мягкой коммутацией силового ключа и посмотреть практическую реализацию от chernooleg. |
|
| Автор: | BBR [ 17-06, 23:05 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
Валентин, спасибо за ссылки! Я добился предварительного успеха. Но удовлетворяет пока только алгоритм контроллера. Очень аккуратный универсальный PFC с управляемыми и Ton и Toff. По схемам (обновил модели): У флайбэка fly-01.1 я действительно в 10 раз задрал посчитанную Старичком индуктивность. Я боролся со слипанием циклов и делал не то. А был недостаточен выходной кондер. Сделал fly-01.2 с расчетной индуктивностью. Оба работают приемлимо. У флайбэка мне не нравятся пульсации Vout. Вариант с задранной индуктивностью в этом лучше, но столько мотать провода... КПД по-прежнему считается около 95-97% хотя сопротивление обмотки задано. Смотрю я конечно же на стабилизировавшемся участке, но у fly-01.2 там - 97% ![]() Поскольку пульсации меня не устроили, флайбэк я отложил и занялся форвардами. Дожал все три. Лучше всего удалась размагничивающая обмотка. fwd-01.1-rres - конденсаторный сброс по статье Maxim. Не до конца размагничивает, поэтому каждый цикл начинается с выброса. Пытался гасить снаббером - не преуспел :( fwd-01.1-aclamp - active clamp. Много прочитал. Прекрасная статья от Microsemi. Судя по кривым, у меня кажется получилось. Но - не ZCS и поэтому выбросы. Огромные при изменении нагрузки. Снаббер ниасилил :( Еще одна известная болячка эктивклампа - даже без нагрузки бодро гоняет амперы по-кругу. Скорее всего, обе схемы до ума довести можно. Но с размагничивающей обмоткой проще. fwd-01.1-rwind-MBRB2545CT - вариант с выпрямителем из двух диодов MBRB2545CTG. Кривые как в литературе, напряжение Vds ограничено кондером C6. Выбросы совсем маленькие. Попробовал дополнительный диод как V3 в статье: в стационарных режимах выбросы совсем ушли, но появились огромные выбросы при изменении нагрузки. Можно приделать снаббер, но я убрал диод - и так нравится. Хотя график Id(M1) немного неопрятен выходные параметры в полном порядке, PFC выруливает отлично. Частоты 200-230кГц, КПД 93-95%, в принципе неплохо.Ниасилил синхронное выпрямление - fwd-01.1-rwind. Я рисовал синхронный самоуправляемый выпрямитель в форвардах сразу, но в нем выявилось две засады: 1. Vgs сильно за 35V 2. 6 емкостей между двух индуктивностей вызывают резонансный ад, частоты от сотен кГц до 10.3мГц. Гейты я зарулил от контроллера, с резонансами попытался бороться. Получилось вообще никак, фейл Поскольку у IPD110N12N3 Rds(on) 0.011, а с MBRB2545CT получается 0.05-0.5, я решил оставить диоды. Два MBRB2545CT стоят как один IPD110N12N3 и не нужно обвязки. Ну потеряю 1-3% КПД. Хотя обидно что ниасилил синхронное выпрямление
|
|
| Автор: | valvol [ 18-06, 21:29 ] |
| Заголовок сообщения: | Re: Цифровые алгоритмы регулирования |
Стоит попробовать "косой мост". ![]() У него все выбросы фиксированы напряжением питания. |
|
| Страница 2 из 3 | Часовой пояс: UTC + 4 часа |
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |
|