Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ Обратная Связь, Стабилизация, Регулирование, Компенсация _ Возможности STM32 по стабилизации напряжения

Автор: Sanes Nov 10 2017, 20:50

Добрый день!

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

http://electronix.ru/redirect.php?https://postimages.org/

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

Подробней об источнике.
Топология - полумост.
Вход - 3 ф 380 В .
На входе - мост Ларионова и пассивный фильтр. Отсюда и переменная составляющая 300 Гц.
Выходное напряжение 50 В.
Суммарная частота ШИМ ( 2 транзисторов) 200 КГц.
Частота оцифровки АЦП и прерываний 100 КГц.
Длительность прерывания составляет 3 мкс.
Счётчик таймера считает до 5760.
Микроконтроллер STM32F334.

Обработка сигнала происходит следующим образом.
По таймеру запускается прерывание по АЦП. Далее в обработчике прерывания происходят расчёты скважности ШИМ в зависимости от ошибки выходного сигнала относительного опорного.
Потом полученный результат подается на таймер для формирования ШИМ.



Автор: amiller Nov 11 2017, 03:50

Вообще говоря построение качественного преобразователя с прямым микропроцессорным управлением зависит от 3 основных факторов:
1. Измерения
2. Реализация регулятора
3. Формирование ШИМ
На каком процессоре это делать, конечно важно, но на частотах сравнимых с частотой сети - не очень уж и важно.
И конечно можно сделать качественный регулятор на гораздо меньших частотах преобразования и с гораздо менее производительным МК.
1. Измерения.
1.1. Желательно исключить время, когда происходит коммутация силовых ключей. Т.е. ШИМ модуль должен формировать отдельный строб запуска АЦП в момент времени, когда коммутаций нет.
1.2. Чтобы минимизировать воздействие помех нужно производить несколько измерений и использовать простое усреднение или накладывать фильтр с определенной характеристикой в зависимости от задачи.
2. Реализация регулятора.
2.1. В простейшем случае это может быть одноконтурный ПИД регулятор, на вход которого подается сигнал ошибки, на выходе формируется задание на ШИМ.
2.2. Нужно обязательно предусмотреть ограничение интегральной составляющей.
2.3. В более сложных случаях используются многоконтурные регуляторы подчиненного или параллельного регулирования.
2.4. Иногда требуется добавить контур токоограничения, который вступает в действие при резких изменениях нагрузки или в аварийных режимах.
2.5. Иногда целесообразно добавления контура регулятора по возмущению (то о чём писал ранее - это регулятор по отклонению).
В общем тема это отдельная и сложная, решению в лоб обычно не подчиняется, литературы в сети много, в том числе приведены и методики настройки ПИД-регулятора.
3. ШИМ-модуль.
3.1. Нужно рассчитать и проверить на модели требуемую длительность "мёртвого времени" для ключей.
Я уже не говорю о том, что нужно выбрать оптимальную топологию силовой схемы, есть масса вариантов обеспечения мягкой коммутации силовых ключей.
3.2. Обязательно предусмотреть несколько каналов программно-аппаратных защит разных уровней.
4. Ну и последнее, с точки зрения МК, при управлении силовым преобразователем важен абсолютный real time. Т.е. вы чётко должны представлять сколько времени у Вас выполняется тот или иной кусок кода, когда и в какой последовательности что у Вас выполняется и что никакие события в системе не повлияют а скорость обработки критически важного кода.

Автор: Ydaloj Nov 11 2017, 08:20

стабилизация выходного напряжения может быть а) по току нагрузки, б) по изменению питающей сети, в) по температуре, курсу валют, цене барреля нефти и др.
Вам же надо не стабилизировать, а убрать пульсацию выпрямленного напряжения. Если петля работает должным образом, то лезть в неё не надо, а просто добавить LC фильтр. У вас 0,5/50 = 1% пульсаций, для начала неплохо. Добавьте фильтр и подавите ещё децибел на 20.

100мВ пульсаций для 12-вольтовых источников - норма для простых минвелов и иже с ними.

Автор: wim Nov 11 2017, 09:28

Цитата(Sanes @ Nov 11 2017, 00:50) *
Переменная составляющая 0.5 в , выходное напряжение 50 в.
Больше всего беспокоит форма переменной составляющей в виде треугольников.
Не очень понятно, какая из осциллограмм переменная составляющая и какая у нее частота.
Из контекста это вроде бы 300 Гц, т.е. выпрямленное сетевое напряжение?
Если так, то причина может быть в недостаточной глубине ООС на частоте переменной составляющий.
Но это может быть и наводка на вход АЦП.
Или глюк в программе - как у потерпевшего в соседней теме.
На нечеткий вопрос можно дать множество нечетких ответов.

Автор: AlexandrY Nov 11 2017, 12:45

Цитата(Sanes @ Nov 10 2017, 22:50) *
Обработка сигнала происходит следующим образом.
По таймеру запускается прерывание по АЦП. Далее в обработчике прерывания происходят расчёты скважности ШИМ в зависимости от ошибки выходного сигнала относительного опорного.
Потом полученный результат подается на таймер для формирования ШИМ.

Надо обрабатывать не сигнал ошибки, а сигнал производной ошибки, но отфильтрованный.
А сигнал ошибки обратывать в цикле 10 КГц.

Автор: iosifk Nov 11 2017, 12:49

Цитата(AlexandrY @ Nov 11 2017, 15:45) *
Надо обрабатывать не сигнал ошибки, а сигнал производной ошибки, но отфильтрованный.
А сигнал ошибки обратывать в цикле 10 КГц.

Это называется фазоопережающая коррекция.
Удивляет только то, что я предложил ТС все это рассказать еще неделю назад, но он проигнорировал... Сказал, что ТАУ не любит... sad.gif

Автор: AlexandrY Nov 11 2017, 13:18

Цитата(iosifk @ Nov 11 2017, 14:49) *
Это называется фазоопережающая коррекция.
Удивляет только то, что я предложил ТС все это рассказать еще неделю назад, но он проигнорировал... Сказал, что ТАУ не любит... sad.gif

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

Автор: Sanes Nov 12 2017, 20:48

Спасибо всем за комментарии!

amiller. Подскажите, есть ли какая-то методика расчёта ограничения интегральной составляющей. Или оно находиться только экспериментальным путём?

YdaloJ. У меня уже стоит на выходе LC фильтр. Или вы про другой фильтр ? Меня больше чем числовые значения настораживает форма скомпенсированной переменной составляющей (на фото нижняя осциллограмма). Слишком большие "треугольники" на гребне осциллограммы. Соответственно и ток на трансформаторе пилообразной формы. Если сравнивать с ИП на ШИМ контроллере, то там ток на трансформаторе без пилообразной формы.

win. Нижняя - это осциллограмма переменной составляющей выходного напряжения.
Верхние - огибающие ШИМ на транзисторах.
300 Гц это выпрямленное сетевое напряжение. На нижней осциллограмме 300 Гц это частота между минимумами переменки. А верхняя "пила" получилась при компенсации переменной составляющей.

AlexandrY. "Надо обрабатывать не сигнал ошибки, а сигнал производной ошибки, но отфильтрованный. А сигнал ошибки обрабатывать в цикле 10 КГц."
Вы имеете ввиду дифференциальную составляющую?
Почему 10КГц?

iosifk. Вы наверное не правильно меня поняли. Я хотел сказать ,что теория ТАУ для меня тяжела и по этому я попросил поподробней рассказать об указанном методе .

Автор: amiller Nov 13 2017, 03:09

Цитата(Sanes @ Nov 13 2017, 00:48) *
amiller. Подскажите, есть ли какая-то методика расчёта ограничения интегральной составляющей. Или оно находиться только экспериментальным путём?

Алгоритм очень простой:
Если выходной код ПИДа у Вас упирается в ограничение (снизу или сверху), то Вы должны блокировать дальнейшее изменение интегральной составляющей.
Это примерно эквивалентно насыщению ОУ в аналоговой схеме.
Как только выход возвращается в диапазон регулирования, интегральная составляющая разблокируется и снова может изменятся.
Нужно только не забывать про полярность ошибки. Если ошибка меняет знак, то блокировка тоже снимается.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)