Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо


Регулируемый источник питания из БП ATX на TL494. Часть 1 — железо

Всем привет! Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП ATX в регулируемый источник питания со стабилизацией тока и напряжения(0-20А, 0-24В).

В этой статье мы подробно рассмотрим работу ШИМ контроллера TL494, обратной связи и пробежимся по модернизации схемы БП и разработке самодельной платы усилителей ошибок по напряжению и току.


Честно признаться, сейчас я даже не могу назвать модель подопытного БП. Какой-то из многочисленных дешевых 300W P4 ready. Надеюсь, не нужно напоминать, что на деле эти 300W означают не больше 150, и то с появлением в квартире запаха жареного.

Рассчитываю на то, что мой опыт сможет быть кому-то полезен с практической точки зрения, а потому упор сделаю на теорию. Без нее всё равно не получится переделать БП т.к. в любом случае будут какие-то отличия в схеме и сложности при наладке.

Схема БП ATX

Для начала пройдемся по схеме БП ATX на контроллере TL494(и его многочисленных клонах). Все схемы очень похожи друг на друга. Гугл выдает их довольно много и кажется я нашел почти соответствующую моему экземпляру.

Структурно разделим БП на следующие блоки: — выпрямитель сетевого напряжения с фильтром — источник дежурного питания(+5V standby) — основной источник питания(+12V,-12V,+3.3V,+5V,-5V) — схема контроля основных напряжений, генерация сигнала PowerGood и защита от КЗ

Выпрямитель с фильтрами это всё что в левом верхнем углу схемы до диодов D1-D4.

Источник дежурного питания собран на трансформаторе Т3 и транзисторах Q3 Q4. Стабилизация построена на обратной связи через опторазвязку U1 и источнике опорного напряжения TL431. Подробно рассматривать работу этой части я не буду т.к. знаю, что слишком длинные статьи читать не очень весело. В конце я дам название книги, где подробно рассмотрены все подробности.

Обратите внимание, в схеме по ошибке и ШИМ контроллер TL494 и ИОН дежурного питания TL431 обозначены как IC1. В дальнейшем я буду упоминать IC1 имея ввиду именно ШИМ контроллер.

Основной источник питания собран на трансформаторе Т1, высоковольтных ключах Q1 Q2, управляющем трансформаторе Т2 и низковольтных ключах Q6 Q7. Всё это дело раскачивается и управляется микросхемой ШИМ контроллера IC1. Понимание принципа работы контроллера и назначения каждого элемента его обвязки — это как раз то, что необходимо для сознательной доработки БП вместо слепого повторения чужих рекомендаций и схем.

Механизм работы примерно таков: ШИМ контроллер, поочередно открывая низковольтные ключи Q6 Q7, создает ЭДС в первичной обмотке трансформатора Т2. Видите, эти ключи питаются низким напряжением от дежурного источника питания? Найдите на схеме R46 и поймете о чем я. ШИМ контроллер также питается от этого дежурного напряжения. Чуть выше я назвал трансформатор Т2 управляющим, но кажется у него есть какое-то более правильное название. Его основная задача — гальваническая развязка низковольтной и высоковольтной части схемы. Вторичные обмотки этого трансформатора управляют высоковольтными ключами Q1 Q2, поочередно открывая их. С помощью такого трюка низковольтный ШИМ контроллер может управлять высоковольтными ключами с соблюдением мер безопасности. Высоковольтные ключи Q1 Q2 в свою очередь раскачивают первичную обмотку трансформатора Т1 и на его вторичных обмотках возникают интересующие нас основные напряжения. Высоковольтными эти ключи называются потому, что коммутируют они выпрямленное сетевое напряжение, а это порядка 300В! Напряжение со вторичных обмоток Т1 выпрямляется и фильтруется с помощью LC фильтров.

Теперь, надеюсь, в целом картину вы себе представляете и мы можем идти дальше.

ШИМ контроллер TL494.

Давайте разберемся как же устроен ШИМ контроллер TL494. Будет лучше, если вы скачаете даташит www.ti.com/lit/ds/symlink/tl494.pdf, но в принципе я постараюсь вынести из него самое главное с помощью картинок. Для более глубокого понимания всех тонкостей советую вот этот документ: www.ti.com/lit/an/slva001e/slva001e.pdf

Начнем, как это ни странно, с конца — с выходной части микросхемы. Сейчас всё внимание на выход элемента ИЛИ (помечен красным квадратом). Выход этого элемента в конкретный момент времени напрямую управляет состоянием одного или обоих сразу ключей Q1 Q2. Вариант управления задаётся через пин 13(Output control).

Важная вещь №1: если на выходе элемента ИЛИ лог 1 — выходные ключи закрыты(выключены). Это верно для обоих режимов. Важная вещь №2: если на выходе элемента ИЛИ лог 0 — один из ключей(или оба сразу) открыт(включен).

Вырисовывается следующая картина: по восходящему фронту открытый ранее транзистор закрывается(в этот момент они оба гарантированно закрыты), триггер меняет своё состояние и по нисходящему фронту включается уже другой ключ и будет оставаться включенным пока снова не придет восходящий фронт и не закроет его, в этот момент опять триггер перещёлкивается и следующий нисходящий фронт откроет уже другой транзистор. В single ended режиме ключи всегда работают синхронно и триггер не используется.

Время, когда выход находится в лог. 1(и оба ключа закрыты) называется Dead time. Отношение длительности импульса(лог. 0, транзистор открыт) к периоду их следования называется коэффициент заполнения(PWM duty cycle). Например если коэффициент 100% то на выходе элемента ИЛИ всегда 0 и транзистор(или оба) всегда открыт.

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

Ах да, зачем же нужен Dead time? Если коротко: в реальной жизни верхний ключ будет тянуть наверх(к плюсу) а нижний вниз(к минусу). Если открыть их одновременно — будет короткое замыкание. Это называется сквозной ток и из-за паразитных емкостей, индуктивностей и прочих особенностей такой режим возникает даже если вы будете открывать ключи строго по очереди. Чтобы сквозной ток свести к минимуму нужен dead time.

Теперь обратим внимание на генератор пилы(oscillator), который использует выводы 5 и 6 микросхемы для установки частоты. На эти выводы подключается резистор и конденсатор. Это и есть тот самый RC генератор о котором наверное многие слышали. Теперь на выводе 5(CT) у нас пила от 0 до 3.3В. Как видим, эта пила подается на инвертирующие входы компараторов Dead-time и PWM.

С терминами и работой выходной части ШИМ контроллера более-менее определились, теперь будем разбираться при чем тут пила и зачем нам все эти компараторы и усилители ошибок. Мы поняли, что отношение длительности импульса к периоду их следования определяет коэффициент заполнения, а значит и выходное напряжение источника питания т.к. в первичную обмотку трансформатора будет вкачиваться тем больше энергии, чем больше коэффициент заполнения.

Для примера разберемся, что нужно сделать чтобы установить коэффициент заполнения 50%. Вы еще помните про пилу? Она подается на инвертирующие входы компараторов PWM и Dead time. Известно, что если напряжение на инвертирующем входе выше чем на неинвертирующем — выход компаратора будет лог.0. Напомню, что пила — это плавно поднимающийся от 0 до 3.3в сигнал, после чего резко падающий на 0в. Таким образом, чтобы на выходе компаратора 50% времени был лог.0 — на неинвертирующий вход нужно подать половину напряжения пилы(3.3в/2=1,65в). Это и даст искомые 50% duty cycle.

Заметили, что оба компаратора сходятся на том самом элементе ИЛИ, а значит, пока какой-то из компараторов выдает лог.1 — другой не может ему помешать. Т.е. приоритет имеет тот компаратор, который приводит к меньшему коэффициенту заполнения. И если на Dead time компаратор напряжение подается снаружи, то на PWM компаратор можно подать сигнал как извне(3 пин) так и с встроенных усилителей ошибок(это обычные операционные усилители). Они тоже соединяются по схеме ИЛИ, но т.к. мы уже имеем дело с аналоговым сигналом — схема ИЛИ реализуется с использованием диодов. Таким образом контроль над коэффициентом заполнения захватывает тот усилитель ошибки, который просит меньший коэффициент заполнения. Состояние другого при этом не имеет значения.

Обратная связь.

Хорошо, теперь как на всём этом построить источник питания? Очень просто! Нужно охватить БП отрицательной обратной связью. Разница между желаемым(заданным) и имеющимся напряжением называется ошибка. Если в каждый момент времени воздействовать на коэффициент заполнения так, чтобы исправить ошибку и привести ее к 0 — получим стабилизацию выходного напряжения(или тока). Обратная связь является отрицательной до тех пор, пока реагирует на ошибку управляющим воздействием с противоположным знаком. Если обратная связь будет положительной — пиши пропало! В таком случае обратная связь будет увеличивать ошибку вместо того чтобы уменьшать ее.

Всё это работа для тех самых усилителей ошибок. На инвертирующий вход усилителя ошибки подается опорное напряжение(эталон), а на неинвертирующий заводится напряжение на выходе источника питания. Кстати внутри ШИМ контроллера есть источник опорного напряжения 5В, который является точкой отсчёта во всех измерениях.

Компенсация обратной связи

Даже не знаю как бы по-проще это объяснить. С обратной связью всё просто только в идеальном мире. На практике же если вы изменяете коэффициент заполнения — выходное напряжение меняется не сразу, а с некоторой задержкой.

К примеру усилитель ошибки зарегистрировал понижение напряжения на выходе, откорректировал коэффициент заполнения и прекратил вмешиваться в систему, но напряжение продолжает нарастать и потом усилитель ошибки вынужден снова корректировать коэффициент заполнения уже в другую сторону. Такая ситуация происходит из-за задержки реакции. Так система может перейти в режим колебаний. Они бывают затухающими и незатухающими. Блок питания в котором могут возникнуть незатухающие колебания сигнала обратной связи — долго не протянет и является нестабильным.

У обратной связи есть определенная полоса пропускания. Допустим полоса 100кГц. Это означает, что если выходное напряжение будет колебаться с частотой выше 100кГц — обратная связь этого просто не заметит и корректировать ничего не будет. Конечно, хотелось бы, чтобы обратная связь реагировала на изменения любой частоты и выходное напряжение было как можно стабильнее. Т.е. борьба идет за то, чтобы обратная связь была максимально широкополосной. Однако та самая задержка реакции не позволит нам сделать полосу бесконечно широкой. И если полоса пропускания цепи обратной связи будет шире чем возможности самого БП на отработку управляющих сигналов(прямая связь) — на некоторых частотах отрицательная обратная связь будет внезапно становиться положительной и вместо компенсации ошибки будет ее еще больше увеличивать, а это как раз условия возникновения колебаний.

Теперь от задержек в секундах давайте перейдем к частотам, коэффициентам усиления и фазовым сдвигам… Полоса пропускания это максимальная частота, на которой коэффициент усиления больше 1. С увеличением частоты коэффициент усиления уменьшается. В принципе это справедливо для любого усилителя. Итак, чтобы наш БП работал стабильно должно выполняться одно условие: во всей полосе частот, где суммарное усиление прямой и обратной связи больше 1(0дБ), отставание по фазе не должно превышать 310 градусов. 180 градусов вносит инвертирующий вход усилителя ошибки.

Вводом в обратную связь различных фильтров добиваются того, чтобы это правило выполнялось. Если очень грубо, то компенсация обратной связи это подгонка полосы пропускания и ФЧХ обратной связи под реакции реального источника питания(под характеристики прямой связи).

Тема эта очень не простая, под ней лежит куча математики, исследований и прочих трудов… Я лишь стараюсь в доступном виде изложить саму суть вопроса. Могу порекомендовать к прочтению вот эту статью, где хоть и не так на пальцах, но тоже в доступном виде освещен этот вопрос и даны ссылки на литературу: bsvi.ru/kompensaciya-obratnoj-svyazi-v-impulsnyx-istochnikax-pitaniya-chast-1

От теории к практике

Теперь мы можем взглянуть на схему БП и понять что в ней много лишнего. В первую очередь я выпаял всё, что относится к контролю выходных напряжений(схема формирования сигнала Power good). Нейтрализовал встроенные в ШИМ контроллер усилители ошибок путем подачи +5vref на инвертирующие входы и посадив на GND неинвертирующие. Удалил штатную схему защиты от КЗ. Выпилил все не нужные выходные фильтры от напряжений которые не используются… Заменил выходные диоды на более мощные. Заменил трансформатор! Выпаял его из качественного БП где написанные 400W действительно означают 400W. Разница в размерах между тем, что стояло тут до этого говорит сама за себя:

Заменил дроссели в выходном фильтре(с того-же 400W БП) и конденсаторы поставил на 25В:

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

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

Отмечу лишь, что цепочки C4R10 и C7R8 это и есть компенсация обратной связи о которой я говорил выше. Честно говоря, в ее настройке очень помогла прекрасная статьи эмбэддера под ником BSVi. bsvi.ru/kompensaciya-obratnoj-svyazi-prakticheskij-podxod Этот подход реально работает и потратив денек-другой мне удалось добиться стабильной работы БП описанным в статье методом. Сейчас, конечно, я бы справился часа за два наверно, но тогда опыта не было и по неосторожности я взорвал не мало транзисторов.

Ах да, обратите внимание на емкость C7! 1uF это довольно много. Сделано это для того, чтобы обратную связь по току зажать в быстродействии. Это такой грязный хак для преодоления нестабильности возникающей на границе перехода от стабилизации напряжения к стабилизации тока. В таких случаях применяют какие-то более навороченные приёмы, но так заморачиваться я не стал. Супер точная стабилизация тока мне не нужна, к тому же к моменту, когда я столкнулся с этой бедой — проект переделки БП успел здорово надоесть!

По этой схеме лазерным утюгом была изготовлена плата:

Она встраивается в БП вот таким образом:

В качестве шунта для измерения тока выбран кусок медной проволоки длинной сантиметров 10 наверно.

Корпус я использовал от довольно качественного БП Hiper. Кажется это самый проветриваемый корпус из всех что я видел.

Также возник вопрос о подключении вентилятора. БП ведь регулируется от 0 до 24В, а значит кулер придется питать от дежурки. Дежурка представлена двумя напряжениями — стабильными 5В, которые идут на материнскую плату и не стабилизированным, служебным питанием около 13.5В которое используется для питания самого ШИМ контроллера и для раскачки управляющего трансформатора. Я использовал обычный линейный стабилизатор чтобы получить стабильные +12В и завёл их на маленькую платку терморегуляции оборотов кулера, выпаянную с того-же Hiper’a. Платку закрепил на радиаторе шурупом просто из соображений удобства подключения кулера.

Радиаторы кстати пришлось изогнуть ибо они не вмещались в корпус нового формата. Лучше перед изгибанием их нагревать паяльной станцией, иначе есть шанс отломать половину зубов. Терморезистор регулятора закрепил на дросселе групповой стабилизации т.к. это самая горячая часть.

В таком виде БП прошел длительные испытания, питая кучу автомобильных лампочек дальнего света и выдерживал нагрузки током порядка 20А при напряжении 14В. А еще он гордо зарядил несколько автомобильных аккумуляторов, когда у нас в Крыму выключали свет.

Будущее уже рядом

Тем временем я задумал немного нестандартную систему индикации режимов работы БП, о чем в последствии немного сожалел, но всё-же она работает!

Так что в следующей статье вас ждет программирование ATMega8 на C++ с применением шаблонной магии, различных паттернов и самописная библиотека для вычислений с фиксированной точкой поверх которой реализовано усреднение отсчётов АЦП и перевод их в напряжение/ток по таблице с линейной интерполяцией. Каким-то чудом всё это уместилось в 5 с копейками килобайт флэша.

Не переключайте канал, должно быть интересно.

Кстати, обещанная в начале книга: Куличков А.В. «Импульсные блоки питания для IBM PC» radioportal-pro.ru/_ld/0/15_caf3ebe8f7eaeee.djvu

P.S. Надеюсь, изложенное выше окажется полезным. Строго не судите, но конструктивная критика приветствуется.

Added для RO пользователей которые не могут писать комментарии:

email: altersoft_пёс_mail.ру

Итак, АТХ поднялся.

Частота внутреннего генератора определяется по формуле:

Вывод 14 это выход внутреннего источника опорного напряжения +5 вольт.

Выводы 1,2,15 и 16 это входы 2-х встроенных компараторов, которые пользователь может использовать по своему усмотрению, т.е. управлять шириной выходных импульсов ШИМ. Оба компаратора совершенно одинаковы с той лишь разницей, что компаратор с выводами 15-16 срабатывает с “задержкой” 80 мВольт. В попавших мне АТХ этот компаратор не использовался, 16 вывод заземлён, а 15 соединён на Uref, т.е. 14 вывод.

Вывод 13 предназначен для перевода TL-494 в режим управления обратноходовыми однотактными преобразователями. При этом “мёртвое время” может быть увеличено до 96%. В нашем, “двухтактном” случае этот вывод так же соединяется на Uref.

Компаратор на выводах 1-2 мы будем использовать для установки выходного напряжения, для этого на вывод 2 подаём часть Uref, что и сделано в большинстве АТ и АТХ. Обычно это напряжение примерно 2,5 вольт, т.е. с Uref (+5Вольт) через резистивный делитель.

RC цепочка с вывода 2 на вывод 3 (FB или ОС) предназначена для ограничения скорости ШИМ при стабилизации напряжения и имеется во всех схемах АТ-АТХ. Её тоже вырезать нельзя.

Рисую упрощённую схему управления выходным напряжением.

Принцип работы микросхемы

ШИМ-контроллер отличается достаточно простой схемой работы. При стандартном подключении управляющие сигналы начинают поступать под входящим напряжением на входы микросхемы. Если мощность ниже 3 В, тогда на выходе формируются импульсы, а их ширина варьируется в зависимости от особенностей подключения.

Схемы используются только в случае высоких поступательных сигналов. Уровень напряжения регулируется на выходах, которые могут контролировать его на выходных потоках.

Внимание! Главный принцип работы установки во многом зависит от управляющего сигнала. Он вызывает линейное падение или повышение напряжения внутри. В качестве сигналов могут быть использованы импульсы различного характера. Один из методов изучить особенности работы схемы – воспользоваться осциллографом, подключив его к точкам тестовой платы.

Настройка

Запускаем. Офигиваем от количества шума!

300мВ! Пачки, похоже на возбуждение обратной связи. Тормозим ОС до предела, пачки не исчезают. Значит, дело не в ОС

Долго тыкавшись, я нашел, что причина такого шума – провод! О_о Простой двужильный двухметровый провод! Если подключить осциллограф до него, или включить конденсатор прямо на щуп осциллографа, пульсации уменьшаются до 20мВ ! Это явление я толком не могу объяснить. Может, кто-то из вас, поделится? Теперь, понятно что делать – в питающейся схеме должен быть конденсатор, и конденсатор нужно повесить непосредственно на клеммы БП.

Кстати, насчет Y – конденсаторов. Китайцы сэкономили на них и не поставили. Итак, выходное напряжение без Y-конденсаторов

А теперь – с Y конденсатором:

Лучше? Несомненно! Более того, после установки Y – конденсаторов сразу-же перестал глючить измеритель тока!

Еще я поставил X2 – конденсатор, чтобы хоть как-то поменьше хлама в сети было. К сожалению, похожего синфазного дросселя у меня нет, но как только найду – сразу поставлю.

Обратная связь.

Про нее я написал отдельную статейку, читайте

Охлаждение

Вот тут пришлось повозиться! После нескольких секунд под полной нагрузкой вопрос о необходимости активного охлаждения был снят. Больше всех грелась выходная диодная сборка.

В сборке стоят обычные диоды, я думал заменить их диодами Шоттки. Но обратное напряжение на этих диодах оказалось порядка 100 вольт, а как известно, высоковольтные диоды шоттки не намного лучше обычных диодов.

Поэтому, пришлось прикрутить кучу дополнительных радиаторов (сколько влезло) и организовать активное охлаждение.

Откуда брать питание для вентилятора? Вот и я долго думал, но таки придумал. tl494 питается от источника напряжением 25В. Берем его (с перемычки J3 на схеме) и понижаем стабилизатором 7812.

Для продуваемости пришлось вырезать крышку под 120мм вентилятор, и прицепить соответствующую решетку, а сам вентилятор поставить на 80мм. Единственное место, где это можно было сделать – это верхняя крышка, а поэтому конструкция получилась очень плохая – с верху может упасть какая-то металлическая хрень и замкнуть внутренние цепи блока питания. Ставлю себе 2 балла. Не стоило уходить от корпуса блока питания! Не повторяйте моих ошибок!

Вентилятор никак не крепится. Его просто прижимает верхняя крышка. Так вот хорошо с размерами я попал.

Результаты

Итог. Итак, этот блок питания работает уже неделю, и можно сказать, что он довольно надежен. К моему удивлению, он очень слабо излучает, и это хорошо!

Я попытался описать подводные камни, на которые сам нарвался. Надеюсь, вы не повторите их! Удачи!

Добрый день. Хотелось бы уточнить номиналы резисторов R3, R8, R14 и R18, параметры L1 в управляющей электронике, номиналы резисторов R22 и R25 в фальшпанеле, а также возможно ли выложить печатные платы. Спасибо.

Автору конечно респект за разработку! Но для повторения нужно сначала расколдовать схему управления БП, котораые в ПДФе. Блин! Что заставляет вас сначала зашифровывать схему? А тот, для кого это здесь выложено, потом расшифровывает эту схему. Какой же дебил так так придумал. Неужели нельзя было нормально нарисовать обе схемы управления (pdf) на одном листе и без всяких ссылок типа: Vref, AGND… Что за бездарность такая. BSVi — тебе большой минус по черчению схем! Ты бездарность. Никогда больше этого не делай. Попроси специалистов сделать это

Автор проделал приличную работу и написал полезную статью. Насчет схем, уж извините, наоборот, Вы показываете свою безграмотность

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]