Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #103, ИЮЛЬ 2007 г.

Рецепты правильного питания

Крис Касперски

Хакер, номер #103, стр. 142

Советы по доработке дешевых блоков питания

Качественные блоки питания — не то чтобы редкость, но явление отнюдь не повсеместное. Китайские мастера ухитряются собирать блоки питания, выкинув из них максимум деталей, и при этом совершенно не заботятся о последствиях. Ну какое им дело до сбоев сервера или полного выгорания всех его узлов? Вот и приходится брать паяльник в свои лапы и доводить китайское чудо до технологического совершенства.

Бытует мнение, что в блок питания лучше вообще не соваться, а сразу покупать хороший и надежный, в котором все что нужно уже сделано. Увы! Таких блоков питания, по-видимому, просто не существует. Конкурентная борьба диктует свои схематические решения. И если качество фильтрации напряжения производители еще хоть как-то принимают во внимание (в противном случае тестовые лаборатории тут же забанят такой блок питания), то защита компьютера от перенапряжения практически никак и никем не реализована, что открывает огромный творческий простор для кустарной доработки, идущей блоку питания только на пользу.

Также говорят, что хороший блок питания отличить от плохого можно по... весу! Действительно, легкий блок питания с надписью «450 ватт» идет лесом вместе с китайскими колонками с заявленной мощностью в 1000 ватт, но сам по себе вес ничего не значит! Корпус из толстого металла, массивные радиаторы, добротные дроссели и трансформаторы — все это, безусловно, очень хорошо, но схемотехнические решения многих тяжелых блоков питания просто ужасны. И даже высокая цена отнюдь не показатель качества. До тех пор пока мы не заберемся вовнутрь и не пощупаем все узлы своими руками, ничего конкретного сказать нельзя. Кстати, практически все блоки питания построены по одному и тому же принципу, и потому их схемы довольно похожи.

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

Мы главным образом будем говорить о бюджетных блоках питания, установленных в домашних серверах или серверах небольших организаций. Работать им приходится в суровых условиях круглосуточного режима, зачастую при повышенных температурах, причем все это — без всякого присмотра! Неудивительно, что блоки питания, едва отработав гарантийный срок, выходят из строя, и здесь их может спасти только доработка.

Вентиляторы

Остановка (или замедление вращения) вентилятора не приводит к немедленному отказу блока питания, однако вызывает перегрев его элементов, ведущий к необратимой деградации кристаллов и ускоренному высыханию электролитов (примечание: на танталовые конденсаторы это не распространяется, но только в дешевых моделях их не встретишь). Электронные ключи уходят в утечку, еще больше усиливающую разогрев электролитов. В точке соединения их обкладок с выводами протекают деструктивные химические процессы, которые способствуют росту эквивалентного последовательного сопротивления (ESR). А сопротивление – это, прежде всего, тепло, рассеиваемое конденсатором и приводящее к его вспучиванию с отказом от выполнения своих прямых функциональных обязанностей. Хорошо, если дело кончится срабатыванием защиты и самоизоляцией блока питания. Хуже, если в нем что-то пробьет и вспыхнет локальный пожар, последствия которого довольно предсказуемы. Но не будем о грустном.

Берем любой (подходящий по габаритам) вентилятор с датчиком вращения и выводим его на материнскую плату, что позволяет вести постоянный мониторинг оборотов как штатными средствами (с помощью BIOS), так и различными утилитами. Не так уж сложно написать программу, отправляющую sms на телефон администратора, если обороты упадут ниже допустимого уровня.

Еще лучше — закрепить на передней стенке блока питания (той, что ближе к CD/DVD-приводу) второй вентилятор, дующий в том же направлении, что и первый (как правило, выдувающий воздух из корпуса наружу). Этот второй вентилятор настоятельно рекомендуется накрыть радиатором от процессора, чтобы его ребра (гнутые, конечно) превратились в своеобразную ловушку для пыли, которая будет оседать на ничего не охлаждающем радиаторе-сетке, а не на радиаторах внутри блока питания, теплоотдача которых от этого значительно уменьшается.

Устранение перекоса напряжения

Практически все бюджетные блоки питания имеют крайне примитивную цепь обратной связи, приводящую к перекосу напряжений по линиям +5 и +12 В. Стабилизатор, собранный на ШИМ-микросхеме (ШИМ расшифровывается как «широтно-импульсный модулятор»), в очень грубом приближении можно уподобить операционному усилителю, охваченному отрицательной обратной связью, соединяющей вход с выходом. При увеличении напряжения на выходе сигнал на входе уменьшается, в результате чего выходной сигнал падает. И, соответственно, наоборот, за счет чего и обеспечивается стабилизация.

Если бы блок питания выдавал только одно напряжение (или в нем стояло бы две ШИМ-микросхемы), никаких проблем не было бы. Но у нас есть всего одна ШИМ-микросхема и два выходных напряжения: +5 и +12 В (линию 3,3 В мы в расчет не берем, поскольку она обычно запитывается от отдельного стабилизатора, а линии -5 и -12 В чаще всего вообще не стабилизированы, впрочем, от китайцев можно ожидать всего, в том числе и нестабилизированных 3,3 В).

Что мы имеем? Чтобы хоть как-то заставить стабилизатор функционировать, по обратной связи на ШИМ-микросхему подается усредненное напряжение, снимаемое делителем с линий +5 и +12 В. При равномерном распределении нагрузки между обеими линиями блок питания работает нормально. Но в том-то и дело, что нагрузка редко бывает равномерной, и потому блоки питания искусственно затачиваются производителем под типичную конфигурацию рабочей станции, которая существенно отличается от конфигурации сервера, доверху забитого жесткими дисками, запитанными от линии +12 В.

Как следствие, в линии +12 В возникает провал, и среднее напряжение падает. Стабилизатор реагирует на это повышением напряжения на линии +12 В, но вместе с ней поднимается и +5 В, причем значительно сильнее! С другой стороны, если линия +5 В недогружена, на ней образуется избыток напряжения, а на +12 В возникает провал, приводящий к нестабильной работе жестких дисков и зачастую к потере данных.

В серверных блоках питания эта проблема решается введением второго трансформатора и второй микросхемы ШИМ, которые, между прочим, стоят денег! Вот китайцы на них и экономят. Тем не менее установить дополнительный стабилизатор на линию +12 В можно и самостоятельно. Почему именно на +12 В, а не на +5 В? Дело в том, что максимальный ток на линии +5 В по ATX-спецификации может достигать 30 ампер, стабилизация которых является сложной инженерной задачей, фактически требующей создания второго блока питания. В то же время предельно допустимый ток на линии +12 В составляет всего 3-4 ампера, с которыми легко справляется дешевый линейный стабилизатор.

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

Конденсаторы и все, что с ними связано

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

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

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

Для этого достаточно емкости в 1 мкФ (или чуть большей) с пробивным напряжением конденсатора в 50 В. Однако со временем емкость постепенно уменьшается, и, когда она достигает 0,1-0,5 мкФ, в паузах между коммутативными импульсами напряжение на базе вплотную приближается к нулевой отметке, в результате чего транзисторы закрываются только при запирающих импульсах. Учитывая, что конец и начало импульсов всегда сопровождается коммутационными выбросами, которые могут быть как положительными, так и отрицательными, ключевые транзисторы становятся практически неуправляемыми и начинают хаотично открываться и закрываться, в результате чего возникает угроза одновременного открытия обоих ключей сразу, а это сквозной ток и пробой.

Так что если блок питания уже поработал какое-то время, все электролитические конденсаторы рекомендуется поменять на танталовые или просто любые достойные. При этом следует проверить емкость конденсаторов во входных фильтрах. Жадные китайцы обычно ее не «добирают». Для стабильной работы блока питания необходимо иметь как минимум 1 мкФ на каждый ватт (то есть 470 мкФ для 400-ваттного блока питания вполне достаточно). Пробивное напряжение должно быть не ниже 400 В.

Все электролитические конденсаторы настоятельно рекомендуется зашунтировать керамическими с емкостью порядка 0,33 мкФ и пробивным напряжением, взятым с запасом. Дело в том, что электролиты крайне плохо пропускают высокочастотную составляющую, оказывая ей большое сопротивление, а сопротивление, как уже говорилось, означает рассеивание тепла и неминуемый разогрев, в результате которого процессы высыхания идут ударными темпами. Керамические конденсаторы же беспрепятственно пропускают высокочастотную составляющую, просто и элегантно решая эту суровую проблему. Кстати, количество керамики в блоке питания косвенно позволяет судить о качестве последнего. Чем ее больше, тем лучше.

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

Защита блока питания от «козы»

Короткое замыкание (сокращенно КЗ) — одна из самых неприятный вещей, которые могут случиться с блоком питания. С «козой» обычно справляются посредством плавкого предохранителя. Проблема в том, что если БП поддерживает несколько входных напряжений (а, как правило, он их поддерживает, во всяком случае в конструктиве), то номинал предохранителя рассчитывается на ток наименьшего напряжения (обычно 110 В). А поскольку мощность равна произведению тока на напряжение, то при переходе на 220 В предохранитель работает с большим запасом, который можно было бы и уменьшить, если бы не... начальный ток заряда электролитических конденсаторов.

Решение состоит во включении резистора на несколько десятков омов последовательно с предохранителем. Ток последнего теперь можно уменьшить или же... вовсе исключить его из схемы, поскольку резистор будет работать как предохранитель, ограничивая ток короткого замыкания. Естественно, мощность резистора должна быть достаточна для того, чтобы он... сгорел при «козе», если же он не сгорит, за него сгорят другие, гораздо более дорогостоящие элементы.

Рассчитать необходимый номинал резистора очень просто. Берем datasheet на ключевые транзисторы и смотрим предельно допустимый ток. Например, для блока питания, собранного на базе 2SC4242, технические характеристики можно почерпнуть отсюда: www.datasheetarchive.com/search.php?q=2SC4242&sType=part. Из спецификации следует, что предельно допустимый ток равен 7 амперам. Делим 370 В на 7 ампер и получаем, что резистора на 60 Ом будет вполне достаточно.

Спрашиваешь, откуда взялась величина 370 В, когда в сети у нас всего 220 В? Так ведь на мостовом выпрямителе после сглаживания фильтром действующее напряжение увеличивается в 1,7 раз, а 220 В х 1,7 == 374 В. Естественно, чем выше сопротивление, тем больше на нем падение напряжения, и если перестараться, блоку питания придется очень туго. В лучшем случае он будет работать в нештатном режиме, в худшем — просто не сможет обеспечить надлежащее качество питания. Поэтому брать сопротивление с запасом не стоит. Здесь лучше недобрать, чем перебрать. С другой стороны, даже резистор в 10 Ом ограничит ток короткого замыкания, и защита (если таковая предусмотрена) имеет все шансы сработать до того, как вылетят ключевые транзисторы. А вот плавкий предохранитель, увы, очень часто расплавляется уже после того, как погаснут последние языки пламени и блок питания выгорит дотла.

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

Заключение

Разумеется, мы охватили далеко не все аспекты доработки серверных блоков питания, однако заваливать читателя массой готовых рецептов тоже не лучший вариант. Главное — дать толчок. Показать, что бюджетные схемотехнические решения далеки от совершенства и могут быть улучшены весьма простыми и дешевыми средствами. А уж за выбором конкретных реализаций дело не станет!

INFO

Отличия серверного БП от обычного

* раздельная стабилизация линий +5 и +12 В;

* защита электронных ключей от пробоя или входа в разнос;

* защита БП от катастрофического перегрева и/или возгорания;

* усиленная система вентиляции для круглосуточного режима работы;

* ограничение зарядного тока электролитов на материнской плате и жестких дисках;

* защита блока питания от коротких замыканий (как внутренних, так и внешних).

6 аргументов против обычного БП в серверах

1. Обычные БП ухудшают качество питания уже после нескольких лет эксплуатации.

2. Обычные БП подвержены возгоранию и лишены противопожарных средств.

3. Обычные БП не рассчитаны на круглосуточную работу без присмотра.

4. Обычные БП страдают хроническим перекосом по линиям +5 и +12 В.

5. Обычные БП не справляются с питанием множества жестких дисков.

6. Обычные БП не отвечают ТУ, предъявляемым для серверов.

Содержание