Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ШИМ на AVR для регулироки выходного напряжения БП
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
hd44780
Вот сделал схему на ATMega8@4 MHz.
Регулирует напряжение на выходе БП.
К ШИМу (OCR1A) подключены 2 RC фильтра - оба резистора по 1 кил, оба кондера электролиты 10 мкф.
Частота таймера - около 4 kHz (предделитель 1024).
Режим ШИМ - 14 (TOP= ICR1)
Регулировка выполняется кнопками - изменением регистра OCR1.
Выход фильтров и выход всего БП (через делитель) заведены на АЦП, выводятся на LCD.

Проблемы и вопросы:
1. Большие скачки напряжения на выходе фильтров (видны даже обычным цифровым вольтметром). Как следствие и на выходе. Как от этого избавиться (частота, добавить еще 1 фильтр)
2. Чем и как лучше регулировать (OCR, ICR)?
3. Номиналы конденсаторов фильтров? Я видел разные варианты - от 100 nF до 10 мкф.

Спасибо.
chds
Есть у Linear апликейшин где рассуждается на тему емкостных нагрузок, м.б. это из этой области проблема.
=GM=
Цитата(hd44780 @ Aug 5 2008, 16:13) *
1. Большие скачки напряжения на выходе фильтров.
2. Чем и как лучше регулировать (OCR, ICR)?
3. Номиналы конденсаторов фильтров? Я видел разные варианты - от 100 nF до 10 мкф

1) Полоса пропускания ваших фильтров порядка 100 Гц. Какова у вас частота шим? Если частота шим меньше 100 Гц, то ничего не сделаете, надо повышать тактовую таймера. Fшим=Fтаймера/ICR. Например, для 8-разрядной шим, частота Fшим=4000/256=15 Гц, такую частоту фильтр пропустит.

2) Регулировать - как вам удобнее в программе, шим он и в Африке шим.

3) Задаете полосу, считаете R и C по формуле Fфильтра=1/(RC).
hd44780
=GM=, спасибо.

Частоту повысил и получилось.
И скачков напряжения нету и на экране показания АЦП не "бегают", как раньше.

На данном этапе вопрос решен.
ukpyr
лучше увеличить сопротивления резисторов до 10К, емкости уменьшить до 10 мкФ, поднять частоту ШИМа до макс.
defunct
Частоту на макс само собой.
И поставить хороший выходной фильтр, напр MAX7400 (8-го порядка) специально предназначенный для сглаживания ШИМовых ЦАПов, ибо фонящий БП - это ЗЛО.
ivainc1789
А есть ли смысл для такого применения делать активный фильтр или достаточно составного RC? Ведь еще и быстродействие фильтра должно быть достаточным...
777777
Цитата(ivainc1789 @ Aug 7 2008, 00:22) *
А есть ли смысл для такого применения делать активный фильтр или достаточно составного RC? Ведь еще и быстродействие фильтра должно быть достаточным...


Именно для этого и ставят активные фильтры.
А вообще, странный какой-то подход к фильтрам - типа, подберем rc-цепочку, авось будет работать. Вообще-то фильтр - это серьезное звено и рассчитывать его надо достаточно серьезно. Для начала надо выяснить допустимую амплитуду выходных пульсаций и, зная что входная амплитуда 5 В, посчитать на сколько децибел требуется подавление на частоте ШИМа. Затем выяснить какая требуется частота пропускания и по разности с частотой ШИМа вычислить крутизну спада АЧХ. Теперь можно оценить требуемый порядок фильтра, учитывая что каждые 2 порядка обеспечивают спад 12 дБ/октаву. И только тогда считать номиналы элементов фильтра.
Dog Pawlowa
Цитата(777777 @ Aug 7 2008, 09:45) *
А вообще, странный какой-то подход к фильтрам - типа, подберем rc-цепочку, авось будет работать. ..... И только тогда считать номиналы элементов фильтра.

IMHO, в наше время дешевых ЦАПов есть смысл работать только с ШИМ, непосредственно управляющим импульным блоком питания.
EmbedElektrik
Цитата(Dog Pawlowa @ Aug 7 2008, 13:50) *
IMHO, в наше время дешевых ЦАПов есть смысл работать только с ШИМ, непосредственно управляющим импульным блоком питания.

+1 сам делал на па1 + лм317.
Леонид Иванович
Цитата(Dog Pawlowa @ Aug 7 2008, 12:50) *
IMHO, в наше время дешевых ЦАПов есть смысл работать только с ШИМ, непосредственно управляющим импульным блоком питания.


Где Вы видели дешевые ЦАП? Особенно 16 бит, как у ШИМ. А ШИМ - вообще бесплатно, если контроллер уже есть.
=GM=
Л.И., у с.П. стоит не вопрос, а утверждение, что есть смысл работать только с шим (:-)
ivainc1789
Все же хотелось бы послушать конкретную методику максимально дешевого, но оправданного расчета такого фильтра. Особенно в контексте наличия AVR с PLL и без оного. Насколько упростится фильтр в случае с PLL?

Требования к пульсациям на выходе = 10mV. Необходимо управлять мощным полевым транзистором обычного линейного стабилизатора, запитанного, например от однополярного источника +30V. Также желательно получить максимальные пределы регулирования, особенно снизу.

Также отметим, что ЦАП DAC121S101 от NS стоит порядка 60руб.

Для кого то, возможно, тривиальный расчет, но если не жалко, огласите.... )
ukpyr
приблизительно - период входной частоты умножьте на 10 - получите минимальную постоянную времени фильтра - R * C. из этого значения находите нужное R или C.
=GM=
Цитата(ivainc1789 @ Aug 8 2008, 10:31) *
Все же хотелось бы послушать конкретную методику максимально дешевого, но оправданного расчета такого фильтра. Для кого-то, возможно, тривиальный расчет, но если не жалко, огласите

Чтобы правильно рассчитать фильтр, нужно определить требуемое подавление частоты шим на выходе фильтра. Ну скажем, полоса управляющего сигнала лежит в диапазоне 0-100 Гц, частота шим 4000 кГц, пульсации от шим не более Uпульс=10мВ, уровень управляющего напряжения Uупр=2В. Отсюда уже можно определить требования к ачх фильтра: полоса пропускания 0..100 Гц по уровню 3 дБ, затухание на частоте 4000 Гц не менее 20*lg(Uупр/Uпульс)=46 дБ. Как-то так, вгрубе. Теперь можно выбрать тип фильтра, порядок, реализацию...
ivainc1789
Цитата(=GM= @ Aug 8 2008, 16:59) *
Чтобы правильно рассчитать фильтр, нужно определить требуемое подавление частоты шим на выходе фильтра. Ну скажем, полоса управляющего сигнала лежит в диапазоне 0-100 Гц, частота шим 4000 кГц, пульсации от шим не более Uпульс=10мВ, уровень управляющего напряжения Uупр=2В. Отсюда уже можно определить требования к ачх фильтра: полоса пропускания 0..100 Гц по уровню 3 дБ, затухание на частоте 4000 Гц не менее 20*lg(Uупр/Uпульс)=46 дБ. Как-то так, вгрубе. Теперь можно выбрать тип фильтра, порядок, реализацию...


Все же поболее конкретики: ATmega88 работает от кварца 18.432 MHz и мы используем таймер1 в режиме 10 бит fast PWM. Таким образом, Fpwm=18.432e6/1024=18000Hz (предделитель не исп).

Из каких соображений выбрана "полоса упр. сигнала" я недопонял.

Пульсации от PWM, ИМХО, должны быть меньше, т. к. после фильтра возможно последуют цепи согласования с полевиком с коэфф передачи более 1. Или нет? Исходим, что источник питания (напряжение на истоке полевика) +30V.

Остальное вроде понятно...
=GM=
Цитата(ivainc1789 @ Aug 8 2008, 14:44) *
Из каких соображений выбрана "полоса упр. сигнала" я недопонял.
Пульсации от PWM, ИМХО, должны быть меньше, т. к. после фильтра возможно последуют цепи согласования с полевиком с коэфф передачи более 1

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

Пульсации тоже были взяты от фонаря, просто для примера, я же не знаю вашей задачи, возьмите конкретные цифры, которые вам нужны, да посчитайте.
mr_smit
hd44780, а где сама схема, что то не нашел её в первом посте sad.gif Очень интересна данная тема!!! Давно хочу БП на микроконтроллере сделать. Именно с ШИМом.
Леонид Иванович
Ну я примерно так делал (только там нет схемы фильтров):
mr_smit
А нет ли попроще схемы? Типа такой:
Нажмите для просмотра прикрепленного файла

Только не уверен в её работоспособности... думаю пульсации большие будут. Или нет?
Леонид Иванович
Цитата(mr_smit @ Feb 28 2011, 08:51) *
А нет ли попроще схемы? Типа такой:


Это совсем другой принцип. Здесь микроконтроллер формирует PWM для ключевого стабилизатора. У меня же PWM микроконтроллера сглаживается и используется как опорное напряжение для внешнего линейного стабилизатора (многоступенчатого для повышения КПД). В Вашем случае нужно еще как-то замкнуть обратную связь (через АЦП микроконтроллера), решить проблемы с устойчивостью для разных нагрузок, как-то сделать режим стабилизации тока (или хотя бы защиту по току). В результате схема тоже станет сложной.
mr_smit
Режим стабилизации по току не нужен. Только индикация текущего значения. На максимуме гонять БП не собираюсь, поэтому ограничить мах ток можно предохранителем (превысили - поменяли предохранитель). Меня больше интересует напряжение. Я понимаю что нужно будет придумывать обратную связь, делать ПИД. Но, приведенная мною выше схема, работоспособна? Я имею ввиду номиналы компонентов и их количество. Мне вот кажется что 1uH и 0,1uF - это уж дюже мало. Далеко не "стабильное" напряжение будет. Особенно при нагрузке 1-1,5 ампера. Или в данном случае нормально?
Microwatt
Ничего из этого решения не получится, кроме машинки для быстрого пережигания ключей (предохранителями не отделаетесь).
ARV
Цитата(Леонид Иванович @ Feb 26 2011, 13:42) *
Ну я примерно так делал (только там нет схемы фильтров):
мда... функционал практически такой, как я хотел в своем МОД БП 3 сделать, да не дохотел... sm.gif но саму идею реализовал давно
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.