Управление блоком питания компьютера
В нескольких предыдущих статьях мы начали обзор схемы и узлов блока питания компьютера, объяснив, для чего подобная информация будет полезной. Мы рассмотрели общую схему и принципы работы импульсного БП, а также сделали обзор сетевого выпрямителя, фильтра и инвертора. Сегодня поговорим об узле управления БП.
Ранее уже не раз упоминалось о роли узла управления импульсного блока питания компьютера, однако более подробный обзор его откладывался на более подходящий момент. И вот он настал.
Излишне рассуждать о важности узла управления. Но чтобы не быть голословными, отметим две ключевые функции этого элемента:
- узел управления формирует прямоугольные импульсы с их последующим усилением, что позволяет управлять транзисторами высокочастотного преобразователя.
- узел управления стабилизирует выходные напряжения.
Разумеется, узел управления также представляет собой небольшую систему в миниатюре, в которой роль “сердца” играет ШИМ-контроллер TL494CN. У него довольно много аналогов: из зарубежных это DBL494, KIA494AP, KA7500, MB3759, IR3MO2, а из отечественных - КР1114ЕУ4. В состав узла управления входит микросхема, некоторое количество дискретных элементов и промежуточный каскад. Последний выполняет достаточно важную функцию - усиливает импульсы, сформированные микроконтроллером до нужной величины, которая позволяет управлять мощными транзисторами высокочастотного преобразователя.
Кроме того, в микросхеме мы находим задающий генератор пилообразного напряжения G1, элементы С3 и R8, которые должны задавать частоту следования импульсов. Только после этого последние идут на инвертирующие входы компараторов А3 и А4. Последние объединены в логический элемент 2ИЛИ (D1). Таким образом, появление импульса на выходе образуется при наличии импульса на любом из входов. После этого импульсы поступают на счетный вход триггера D2, причем каждый импульс должен менять состояние триггера на противоположное.
В целом, конфигурация схемы обеспечивает поочередное появление импульсов на выходах элементов D5 и D6, а, также на базах транзисторов V3 и V4. Но это относится к двухтактной схеме, а если она однотактная, то тринадцатый вывод микросхемы необходимо соединить с корпусом, в результате чего появление импульсов на выходах D5 и D6 происходит одновременно.
Компаратор А1 выполняет функцию формирователя-усилителя сигнала ошибки в схеме стабилизации выходного напряжения. А5 выполняет функцию встроенного в микросхему стабилизатора, вырабатывающего эталонное напряжение, которое в свою очередь идет через вывод 2. Скважность импульсов на выходе задает выходное напряжение А1, которое пропорционально разности входных напряжений. В целом же, формируется система автоматического сравнения и регулирования выходного напряжения, которая замкнута в кольцо. Что же касается компаратора А3, то его задачей является формирование паузы между импульсами на выходе элемента 2ИЛИ (D1).
Одной из проблем, с которой может столкнуться пользователь, является неисправность ШИМ-контроллера. И в этом случае важно правильно определить эту неисправность и выявить ее точную локализацию. Именно эта процедура считается самой сложной при ремонте импульсного БП, если вы делаете все самостоятельно. В таком случае вам понадобится лабораторный источник питания и двухканальный осциллограф. Если проверка показывает, что блок все же “плывет”, то замените микросхему TL494CN.
Содержание
Подбираем БП по мощности
Как бы просто это не звучало, но для того, чтобы определить мощность будущего блока питания, необходимо сложить потребляемую мощность всех компонентов ПК и сделать небольшой запас, на случай каких-либо изменений или модернизации. Также следует учесть один момент, который заключается в том, что блоки питания от не именитых брендов часто завышают свои характеристики, или указанная мощность БП рассчитана при максимальной нагрузке. Таким образом, если БП будет работать на пике мощности постоянно, это, несомненно, приведет к уменьшению его срока службы и может привести к различным сбоям в питании. Если при выборе вы все же отдали предпочтение малоизвестному бренду, следует покупать БП с запасом мощности хотя бы в полтора раза, а лучше в два раза. Добавлю, что мощность БП следует подбирать из значений номинального потребления всех компонентов ПК, а не пиковых значений. Для покрытия пикового энергопотребления мы как раз и берем БП с запасом мощности.
Что касается реальных цифр, следует сказать, что для офисного ПК или компьютера для бытовых задач хватит БП с мощностью до 400 Вт. Что касается современных ПК для игр, часто приходится использовать БП с мощностью 800-900 Вт и более. При выборе блока питания рекомендую также не забывать о потреблении энергии систем охлаждения и всевозможных декоративных подсветках. Для вашего удобства в интернете можно найти специальный калькулятор для расчета.
Энергоэффективность и КПД
КПД определяет соотношение потребляемой мощности БП к реальной выходной его мощности. Для облегчения задачи выбора «правильного» для вас БП существует специальная стандартизация Energy Star. Если я не ошибаюсь, последняя версия этого стандарта 4.0, но насколько я знаю, обновления в этой версии стандарта было довольно давно. В любом случае, сейчас этот стандарт заключается в следующих требованиях и маркировках:
- 80 Plus. В таких БП эффективность составляет не ниже 80%
- 80 Plus Bronze. Самый распространенный тип, эффективность не ниже 82%
- 80 Plus Silver. В этом стандарте КПД составляет не менее 85%
- 80 Plus Gold. В этом типе КПД превышает 87%
- 80 Plus Platinum. Это самые эффективные устройства с КПД не менее 90%
Эта небольшая деталь крайне важна при выборе и на нее точно следует опираться. Конечно, покупать БП без этой сертификации вообще не стоит. А оптимальным решением по цене и эффективности могут стать блоки с маркировкой 80 Plus Bronze. Эти блоки на сегодняшний день являются самими распространенными. К примеру, если вы приобретаете БП с мощностью 800 Вт со стандартом 80 Plus Bronze, его реальная выходная мощность составит 656 Вт.
Форм-фактор и типы подключения
Не стоит забывать о том, что существуют разные форм-факторы БП, это сделано для совместимости с различными типами корпусов ПК. Самым распространенным типом БП и корпусов для них являются устройства с маркировкой ATX. Но еще существуют БП с другими форм-факторами SFX, TFX и EPS. Эта характеристика обязательно будет указана на БП.
Также обращаю ваше внимание на то, что существует два типа подключения оборудования к БП.
Стандартный тип. В этом типе все разъемы для подключения оборудования уже стационарно установлены и их нельзя поменять. То есть провода с разъемами буквально впаяны в БП. Это классическое и самое распространенное решение. Такие БП бывают с разными разъемами для ЦПУ (к примеру, на 4 или 8 контактов), а также могут отличаться по разъемам для материнских плат (на 24 контакта и на 20 контактов для старых моделей или серверных плат). Также на такие БП могут быть абсолютно со всеми возможные разъемы. Обычно используется самые распространенные современные разъемы, но все же перед покупкой стоит этот момент проверить.
Модульный тип. Это более дорогое решение, обычно используется в ПК с прозрачной крышкой корпуса. В таком типе устройства к БП подключается только то оборудование, которое установлено в ПК в данный момент. Таким образом, можно избежать лишнего нагромождения неиспользуемых проводов.
Что такое PFC
PFC – это система, обеспечивающая автоматическую коррекцию выходной мощности в зависимости от входящих изменений в токе. Очень полезная и необходимая функция, особенно при использовании дорогостоящего оборудования. Также стоит знать, что система PFC делится на два типа: PPFS, APFC.
PPFS – это пассивная система, обычно применяется в более дешевых моделях БП, такая система обладает небольшой способностью сглаживания токов.
APFC – это активная система, уже более дорогая, поскольку она выполнена на отдельной плате, и по сути является еще одним питающим элементом. Такая система может сглаживать большие перепады в токе и обеспечивает стабильную выходную мощность и ток.
Применяем знания на практике
Исходя из вышеизложенной базовой информации, можно приступить к выбору блока питания. Для начала определяемся с форм-фактором и типом подключения БП. Затем подбираем мощностью будущего БП, исходя из суммарного энергетического потребления вашего оборудования опираясь на запас и КПД (стандартизацию Energy Star). Также можно обратить внимание на охлаждение блока питания. Здесь чем больше лопасти вентилятора, тем меньше производят они шума и лучше охлаждают. Также есть модели БП с пассивным охлаждением, в таких моделях для отвода тепла используется большой алюминиевый радиатор.
Ну, а на этом все, надеюсь, публикация была полезна для вас. Спасибо, что дочитали статью до конца. Также можете посетить мой блог на сайте. Там вы найдете еще больше различных статей и обзоры разных устройств.
Каждый пользователь компьютера сталкивался хотя бы раз в своей жизни с такой ситуацией: ты ушёл к себе на работу, почти доехал до неё и вдруг вспомнил,- что забыл взять со своего личного компьютера какую-то очень важную вещь.
Ехать обратно — опоздаешь на работу. А ведь ситуация может развиваться и гораздо более драматично: допустим, человек поехал куда-то далеко за рубеж, в отпуск, и там ему приходит важный звонок, по результатам которого ему необходимо передать своему визави,- определённые документы. А документы остались дома! А дом находится за границей!
Или вот ещё такая беда: ваш персональный компьютер является мощной графической станцией, на которой установлено множество тяжёлых программ для работы с графикой, программными продуктами. А вы перемещаетесь по городу, имея в руках всего лишь «тонкий» клиент, в виде ноутбука…
Из этого описания становится понятно, что «тонкий» клиент не обладает соответствующей производительностью, для запуска множества высокопрофессиональных программ и проектов. Да и если даже он у вас достаточно мощный, — это в принципе неудобно, каждый раз синхронизировать проекты с «тонким» клиентом. Как быть в описанных выше ситуациях — мы и поговорим в этой статье.
На самом деле, указанная проблема очень легко решается: установкой на ваш персональный компьютер системы удалённого включения/выключения и перезагрузки. Этот подход позволит всегда иметь под рукой всю мощь вашей домашней машины и все необходимые документы, и проекты, хранящиеся на ней.
До начала описания своей разработки, хочу сказать, что конечно, она не является единственно возможным способом для удалённого включения выключенного компьютера. Например, хорошо известна технология Wake-on-LAN. Суть этой технологии заключается в том, что она позволяет включить выключенный компьютер, отправкой специального пакета на его MAC-адрес.
Сетевой адаптер компьютера, поддерживающего Wake-on-LAN, находится в этот момент в режиме пониженного потребления и анализирует все пакеты на него. Если одним из поступающих пакетов окажется так называемый magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера.
Согласно wiki: Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты транспортного уровня, не требующие установки соединения (например, протокол UDP или устаревший IPX). Обычно для Wake-on-LAN пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.
Из минусов данной технологии стоит отметить, что она:
- должна поддерживаться аппаратно (например, мой компьютер её не поддерживает, насколько мне известно); некоторые пользователи, наблюдаются проблемы с восстановлением работы, если пропадало напряжение в сети или компьютер вынимали из розетки;
- является небезопасной, хотя бы даже из-за этого.
В любом случае, я подумал, что создание девайса, о котором пойдёт дальше речь, будет интересной затеей, так как:
- это более безопасно, чем Wake-on-LAN;
- можно установить даже на устройства, не поддерживающие Wake-on-LAN;
- прошивка устройства снабжена средствами восстановления связи, после пропадания питания/перезагрузки;
- позволяет принудительно перезагрузить «зависший» компьютер — удалённо;
- в принципе интересно, так как позволяет реализовать новый девайс на esp32, в рамках растущего «интернета вещей».
▍ Итак, приступим.
Некоторое время назад, решение указанной проблемы было достаточно затруднённым: необходимо было обладать достаточно высоким уровнем профессионализма и наличием глубоких знаний в области электроники, чтобы собрать требуемое для решения этой задачи устройство.
С появлением платформы Arduino, данная задача существенно облегчилась, однако, она продолжала оставаться достаточно неудобной в своей реализации, ввиду наличия клубка проводов, соединяющих требуемые компоненты, либо, ввиду необходимости покупки соответствующих wi-fi шилдов.
В текущее же время, этот вопрос ещё более облегчился, из-за появления платы espressif esp32. Для тех, кто не знает, это двухъядерный модуль, содержащий множество необходимых для любого самодельщика свойств. В рамках же данного проекта, нас будет интересовать наличие встроенного wi-fi модуля.
Использование этой платы позволит нам легко и просто построить требуемое устройство, не загромождая всё проводами и за достаточно малую цену. Рискну предположить, что суммарная стоимость компонентов нашего решения не превысит 350-400 руб.
Для того, чтобы создать устройство, нам понадобится всего лишь четыре резистора, два мосфет- транзистора и плата esp32.
- 2 резистора на 10 кОм, мощностью на 1 ватт или меньше;
- 2 резистора на 100 Ом, мощностью на 1 ватт или меньше;
- 2 мосфет-транзистора с логическим уровнем IRLZ44NPBF;
- 1 модуль микроконтроллера esp32
По набору компонентов, искушённый читатель сразу понял, что мы будем делать: с помощью esp32 мы будем управлять ключами на основе мосфет-транзисторов.
При использовании мосфет-транзистора нужно иметь в виду один нюанс: транзистор должен открыться полностью, если этого не произойдёт, то он в работе будет сильно греться и будет фактически, работать в роли резистора.
В данном конкретном случае, это, конечно, не так важно, так как мы будем коммутировать достаточно малые токи кнопки включения/выключения и reset-a.
Кстати, весьма рекомендую к прочтению хорошую статью про подбор мосфетов.
Конечно, можно не напрягаться и взять релейные модули для ардуино:
Но это не наш путь и вот почему: а) щелчки реле; б) наклёп контактов; в) высокое энергопотребление релейным модулем.
Оно нам надо? Нет, оно нам не надо :-)
Так как мы хотим сделать «всё красиво» — мы будем использовать специальные мосфеты с логическим уровнем.
В рамках данного проекта, я выбрал мосфет-транзистор IRLZ44NPBF. У него порог срабатывания от 2 Вольт. То, что надо.
Как собрать ключ на мосфете — можно почитать тут.
По поводу конкретных силовых исполнительных устройств более-менее всё понятно. Однако нам ведь нужно ещё и каким-то образом «рулить» esp32 внешнего интернета!
То есть, задача в общем виде представляется следующей: некий интерфейс из внешнего интернета, зная IP адрес esp32, может отдавать ей команды.
Однако, подключение к устройству, находящемуся в сети за роутером, может стать неудобством, ввиду, как минимум, смены IP адреса у управляемого устройства, после каждой перезагрузки.
Да, вы скажете, что IP на самом деле не меняется, он может поменяться, только если кто-нибудь из домашних тоже подключится к сети, в тот момент, пока esp32 перезагружается, и ей придётся взять другой свободный IP.
Как бы там ни было, но все эти частности не важны, так как данный вопрос можно решить намного проще, чем выяснять какой текущий IP у платы и каким образом его сообщить во внешний интернет: для этого мы будем использовать протокол mqtt. Для тех, кто не сталкивался, вкратце можно сказать, что протокол предназначен для интернета вещей, «умного» дома и не только.
Использование протокола позволяет с лёгкостью обойти проблему прохода за роутер (тут следует сделать оговорку, что мы делаем допущение, что большая часть пользователей интернета, которая выходит в сеть, используя персональные компьютеры, имеют дома wi-fi точку доступа в виде роутера).
❒ В нашем случае, использование протокола будет выглядеть следующим образом:
Значение отправляемых цифр:
0 — «выключить компьютер»;
1 — «включить компьютер»;
2 — «перезагрузить компьютер»;
Как работать с клиентом: при запуске указанного выше mqtt-клиента — мы видим вот это окно. Ничего в нём не меняем, жмём кнопочку «Connect»:
Вводим топик и жмём «Subscribe»:
Топик, на который мы подписались — появился справа, наверху:
То есть, для работы всей системы нужны:
- компьютер с установленной в него сборкой на базе esp32;
- точка доступа wifi (домашний роутер);
- MQTT-брокер;
- публичный MQTT-клиент (который мы запускаем на смартфоне).
И работает оно так (текст оттуда же):
Модифицируем её для нашего случая:
Прошивка проекта написана в Arduino IDE и доступна на моём гитхабе.
Пробежимся по основным моментам.
Вы можете использовать любой другой — это вопрос исключительно предпочтений. Я выбрал этот и он у меня заработал. А так как я обычно иду по пути наименьшего сопротивления (в рамках парадигмы «и так сойдёт!» ), то искать что-то иное не было смысла. Ибо любая минута поиска — воровала у меня время, которое я мог бы с пользой провести, лёжа на диване, с думами о вечном :-))).
Для начала мы в блоке изначальной инициализации переменных указываем порт для подключения к mqtt брокеру, при необходимости — имя пользователя и его пароль(или имя и пароль оставляем пустыми, если брокер публичный — как в нашем случае):
Далее мы указываем два топика, — один из которых для публикации статуса компьютера в данный момент (то есть компьютер включён/выключен, или перезагружается):
Для подключения мосфет-транзисторов, я использовал пины, под номерами 19 и 21. Вы можете использовать, в принципе, любые допустимые пины, хорошее описание которых содержится по следующему адресу.
Из ещё одного интересного момента можно рассмотреть следующие три переменные:
В них мы задаем время в миллисекундах, в течение которого наше устройство будет держать нажатой соответствующую кнопку. Данные переменные вам нужно определить самостоятельно, опытным путём(если мои значения не будут работать)- для вашего конкретного компьютера, так как, вероятно, они могут отличаться в вашем конкретном случае. В прошивке значения переменных указаны для моего случая.
Ещё одним любопытным моментом, который некоторые могут не знать, является то, что встроенный в esp32 светодиод привязан к пину, под номером 2. Я решил, что «инженерия инженерией, но и красотень тоже должна быть». Поэтому наша esp-шка будет мигать встроенным светодиодом:
Теперь, что касается питания нашей сборки на esp32: единственный более-менее комфортный способ это осуществить,- запитать нашу сборку от дежурного питания компьютера. Так как наша сборка потребляет совсем немного, её подключение к дежурному питанию не должно вызвать проблемы с невозможностью включения компьютера из-за просадки напряжения.
А далее, когда компьютер включён — можно подключиться к нему, с помощью предварительно настроенных программ удалённого администрирования, удалённого рабочего стола и т.д. и т.п.
Ну, вот на этом кажется и всё. Ещё раз только остановлюсь на том факте, что вся эта идея со сборкой системы для удалённого управления компьютером была продиктована не только, и не столько потребностью в доступе к файлам (потому что, как альтернативу, можно купить в таком случае NAS), а скорее даже необходимостью иметь возможность доступа к своему пулу рабочих программ, которые установлены только на домашнем компьютере.
Сегодня хотел бы рассказать Вам о своём опыте переделки самого обычного китайского БП 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 фильтров.
Теперь, надеюсь, в целом картину вы себе представляете и мы можем идти дальше.
Начнем, как это ни странно, с конца — с выходной части микросхемы.
Сейчас всё внимание на выход элемента ИЛИ (помечен красным квадратом).
Выход этого элемента в конкретный момент времени напрямую управляет состоянием одного или обоих сразу ключей 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 пин) так и с встроенных усилителей ошибок(это обычные операционные усилители). Они тоже соединяются по схеме ИЛИ, но т.к. мы уже имеем дело с аналоговым сигналом — схема ИЛИ реализуется с использованием диодов. Таким образом контроль над коэффициентом заполнения захватывает тот усилитель ошибки, который просит меньший коэффициент заполнения. Состояние другого при этом не имеет значения.
Всё это работа для тех самых усилителей ошибок. На инвертирующий вход усилителя ошибки подается опорное напряжение(эталон), а на неинвертирующий заводится напряжение на выходе источника питания. Кстати внутри ШИМ контроллера есть источник опорного напряжения 5В, который является точкой отсчёта во всех измерениях.
Компенсация обратной связи
Даже не знаю как бы по-проще это объяснить. С обратной связью всё просто только в идеальном мире. На практике же если вы изменяете коэффициент заполнения — выходное напряжение меняется не сразу, а с некоторой задержкой.
К примеру усилитель ошибки зарегистрировал понижение напряжения на выходе, откорректировал коэффициент заполнения и прекратил вмешиваться в систему, но напряжение продолжает нарастать и потом усилитель ошибки вынужден снова корректировать коэффициент заполнения уже в другую сторону. Такая ситуация происходит из-за задержки реакции. Так система может перейти в режим колебаний. Они бывают затухающими и незатухающими. Блок питания в котором могут возникнуть незатухающие колебания сигнала обратной связи — долго не протянет и является нестабильным.
У обратной связи есть определенная полоса пропускания. Допустим полоса 100кГц. Это означает, что если выходное напряжение будет колебаться с частотой выше 100кГц — обратная связь этого просто не заметит и корректировать ничего не будет. Конечно, хотелось бы, чтобы обратная связь реагировала на изменения любой частоты и выходное напряжение было как можно стабильнее. Т.е. борьба идет за то, чтобы обратная связь была максимально широкополосной. Однако та самая задержка реакции не позволит нам сделать полосу бесконечно широкой. И если полоса пропускания цепи обратной связи будет шире чем возможности самого БП на отработку управляющих сигналов(прямая связь) — на некоторых частотах отрицательная обратная связь будет внезапно становиться положительной и вместо компенсации ошибки будет ее еще больше увеличивать, а это как раз условия возникновения колебаний.
Теперь от задержек в секундах давайте перейдем к частотам, коэффициентам усиления и фазовым сдвигам…
Полоса пропускания это максимальная частота, на которой коэффициент усиления больше 1.
С увеличением частоты коэффициент усиления уменьшается. В принципе это справедливо для любого усилителя.
Итак, чтобы наш БП работал стабильно должно выполняться одно условие: во всей полосе частот, где суммарное усиление прямой и обратной связи больше 1(0дБ), отставание по фазе не должно превышать 310 градусов. 180 градусов вносит инвертирующий вход усилителя ошибки.
Вводом в обратную связь различных фильтров добиваются того, чтобы это правило выполнялось. Если очень грубо, то компенсация обратной связи это подгонка полосы пропускания и ФЧХ обратной связи под реакции реального источника питания(под характеристики прямой связи).
От теории к практике
Теперь мы можем взглянуть на схему БП и понять что в ней много лишнего. В первую очередь я выпаял всё, что относится к контролю выходных напряжений(схема формирования сигнала Power good). Нейтрализовал встроенные в ШИМ контроллер усилители ошибок путем подачи +5vref на инвертирующие входы и посадив на GND неинвертирующие. Удалил штатную схему защиты от КЗ. Выпилил все не нужные выходные фильтры от напряжений которые не используются… Заменил выходные диоды на более мощные. Заменил трансформатор! Выпаял его из качественного БП где написанные 400W действительно означают 400W. Разница в размерах между тем, что стояло тут до этого говорит сама за себя:
Заменил дроссели в выходном фильтре(с того-же 400W БП) и конденсаторы поставил на 25В:
Далее я разработал схему, позволяющую регулировать стабилизацию выходного напряжения и устанавливать ограничение тока выдаваемого БП.
Схема реализует внешние усилители ошибок собранные на операционных усилителях LM358 и несколько дополнительных функций в виде усилителя шунта(INA197) для измерения тока, нескольких буферных усилителей для выдачи величины установленного и измеренного тока и напряжения на другую плату, где собрана цифровая индикация. О ней я расскажу в следующей статье. Выдавать на другую плату сигналы как есть — не лучшее решение т.к. источник сигнала может быть достаточно высокоомным, провод ловит шум, мешая обратной связи работать устойчиво. В первой итерации я с этим столкнулся и пришлось всё переделать. В принципе на схеме всё подписано, подробно комментировать ее не вижу смысла и думаю, что для тех кто понял теорию выше, должно быть всё довольно очевидно.
Ах да, обратите внимание на емкость C7! 1uF это довольно много. Сделано это для того, чтобы обратную связь по току зажать в быстродействии. Это такой грязный хак для преодоления нестабильности возникающей на границе перехода от стабилизации напряжения к стабилизации тока. В таких случаях применяют какие-то более навороченные приёмы, но так заморачиваться я не стал. Супер точная стабилизация тока мне не нужна, к тому же к моменту, когда я столкнулся с этой бедой — проект переделки БП успел здорово надоесть!
По этой схеме лазерным утюгом была изготовлена плата:
Она встраивается в БП вот таким образом:
В качестве шунта для измерения тока выбран кусок медной проволоки длинной сантиметров 10 наверно.
Корпус я использовал от довольно качественного БП Hiper. Кажется это самый проветриваемый корпус из всех что я видел.
Также возник вопрос о подключении вентилятора. БП ведь регулируется от 0 до 24В, а значит кулер придется питать от дежурки. Дежурка представлена двумя напряжениями — стабильными 5В, которые идут на материнскую плату и не стабилизированным, служебным питанием около 13.5В которое используется для питания самого ШИМ контроллера и для раскачки управляющего трансформатора. Я использовал обычный линейный стабилизатор чтобы получить стабильные +12В и завёл их на маленькую платку терморегуляции оборотов кулера, выпаянную с того-же Hiper'a. Платку закрепил на радиаторе шурупом просто из соображений удобства подключения кулера.
Радиаторы кстати пришлось изогнуть ибо они не вмещались в корпус нового формата. Лучше перед изгибанием их нагревать паяльной станцией, иначе есть шанс отломать половину зубов. Терморезистор регулятора закрепил на дросселе групповой стабилизации т.к. это самая горячая часть.
В таком виде БП прошел длительные испытания, питая кучу автомобильных лампочек дальнего света и выдерживал нагрузки током порядка 20А при напряжении 14В. А еще он гордо зарядил несколько автомобильных аккумуляторов, когда у нас в Крыму выключали свет.
Будущее уже рядом
Тем временем я задумал немного нестандартную систему индикации режимов работы БП, о чем в последствии немного сожалел, но всё-же она работает!
Так что в следующей статье вас ждет программирование ATMega8 на C++ с применением шаблонной магии, различных паттернов и самописная библиотека для вычислений с фиксированной точкой поверх которой реализовано усреднение отсчётов АЦП и перевод их в напряжение/ток по таблице с линейной интерполяцией. Каким-то чудом всё это уместилось в 5 с копейками килобайт флэша.
Не переключайте канал, должно быть интересно.
P.S. Надеюсь, изложенное выше окажется полезным. Строго не судите, но конструктивная критика приветствуется.
Added для RO пользователей которые не могут писать комментарии: email: altersoft_пёс_mail.ру
Схемы и способы управления питанием Windows 7. Возможность управлять питанием позволяет снизить потребление электроэнергии, улучшить качество работы, продлить срок службы, как отдельных устройств, так и компьютера в целом.
Современное управление питанием дает возможность включать или выключать оборудование, функционирование которого необходимо в зависимости от выполняемой задачи. Тем самым продлевается ресурс работы устройства.
Операционная система Windows 7 вобрала в себя опыт предыдущих разработок и достижений. Создатели семерки заявили, что такое управление питанием актуально и для портативных устройств, и для настольных компьютеров.
Спящий режим – это схема функционирования с низким потреблением электроэнергии. В данном случае управление питанием настраивается таким образом, что энергия расходуется только на оперативную память. Компьютер быстро просыпается и готов работать при движении мыши или при нажатии клавиши на клавиатуре.
Режим гибернации – это самый экономичный режим, потому что текущее состояние компьютера, открытые файлы и запущенные приложения сохраняются в отдельный файл на жестком диске или на носителе, а устройство полностью обесточиваются. Данный режим особенно подходит для портативных компьютеров: ноутбуков, нетбуков, планшетников.
Способы управления питанием
Первый способ позволяет настроить его с помощью специального раздела панели управлений, который так и называется "Электропитание" (Power Options). Он дает возможность выбрать оптимизированный профиль под максимальное быстродействие, сбалансированную работу оборудования, экономное потребление электроэнергии. Можно самостоятельно настроить функционирование устройств и составить свою схему питания компьютера.
Второй способ более сложный, но и более гибкий. Настройка питания производится с помощью консольной утилиты powercfg. Эта интегрированная программа предлагает широкие возможности по регулированию расхода электроэнергии отдельного устройства и позволяет провести диагностику и выявить неисправности. Тестирование комплектующих происходит около минуты, в это время замеряется энергопотребление всех устройств и проверяется поддержка разных функций управления питанием. Результатом проверки является файл отчета с именем energy-report.html, в котором записаны все результаты анализа текущей конфигурации. Более подробная справка этой утилиты вызывается командой «powercfg -?».
Читайте также: