Как сделать простой UPS для NAS
Сборка любого железа само по себе интересное занятие. Особенно, если что-то делается не совсем как у других и для души. Взять, например, NAS — процессор x86 или ARM, конструктив, количество и тип дисков и т.д., каждый выбирает тот путь, который ему ближе и понятней. Причем часто хочется сделать не только мощно, но и компактно, и тихо. Поэтому, любое дополнительное внешнее устройство может свести на нет все старания. Так и с UPS (ИБП — Источник Бесперебойного Питания), который для NAS является очень нужным элементом, поддерживая его в рабочем состоянии во время кратковременных, а то и длительных перебоев питания, не всё так просто.
Как известно, большинство UPS подключаются между розеткой 220В и NAS. При этом ничто не мешает разместить UPS внутри корпуса NAS или хотя бы позаботиться об этом заранее. Даже известные компании редко интегрируют UPS внутрь корпуса, но при этом старательно проводят отбор среди лучших производителей и раздают советы по поводу выбора UPS.
Рассмотрим вариант дизайна такого UPS, который можно разместить внутри корпуса и ограничимся теми NAS, которые для работы требуют только одного напряжения питания 12В. Забегая вперед сразу отмечу, что можно зарезервировать даже стандартное ATX питание, но это несколько другая тема, больше относящаяся к разработке DC/DC преобразователей.
Итак, пусть требуется обеспечить бесперебойным питанием NAS на основе ARM процессора, напряжением питания 12В, четырьмя-пятью дисками и временем работы не менее 20 минут.
Если прикинуть потребляемую мощность такой системы, то это примерно 60Вт в полной нагрузке. Соответственно, для часа работа от батарей необходим источник с запасом 60Втч, а для 20 минут в три раза меньше, т.е. 20Втч.
В пересчете на хорошие промышленные Li-ion аккумуляторы, это примерно составляет два элемента 18650 ёмкостью 2,6Ач:
Таким образом, возьмем за основу два элемента 18650 и разработаем на их основе простой UPS, который можно собрать только из готовых модулей и доступных деталей, легко поддающихся пайке в домашних условиях.
Чтобы плавно перейти к основной схеме UPS, давайте сначала её представим в упрощенном виде и рассмотрим принцип работы.
Упрощенная структурная схема UPS
Как можно видеть, есть два пути подачи питания на выход, которые коммутируются двумя диодами. Если входное напряжение есть, то оно поступает через верхний диод на выход — это обычный режим работы. При этом нижний диод закрыт и батарея заряжается. Далее при пропадании входного напряжения, нижний диод открывается, верхний диод закрыт и напряжение начинает поступать на выход с повышающего преобразователя.
Напряжение на выходе повышающего преобразователя должно быть чуть меньше входного, чтобы нижний диод оставался в закрытом состоянии при наличии входного питания.
Коммутация диодов происходит автоматически и для этого никаких дополнительных элементов не требуется. Однако, на открытых диодах возникает падение напряжения, которое при достаточно высоком токе вызывает нагрев диодов. К примеру, при мощности нагрузки 60Вт и напряжении питания 12В, диоду придется рассеивать мощность не менее 2Вт. Не смертельно, но и хорошего мало.
Попробуем улучшить эффективность UPS, не особо усложняя дизайн за счет специализированных контроллеров O-Ring диодов и схем защиты от обратного тока. Для этого параллельно диодам подключим тройник реле, так чтобы при наличии входного напряжения реле было бы под током и напряжение поступало бы на выход через нормально разомкнутый контакт реле (NO), а при пропадании — через нормально замкнутый контакт (NC). При таком включении, контакты реле будут шунтировать открытые диоды, предотвращая их нагрев.
Логика переключения реле может быть задана следующей диаграммой:
Логика переключения реле UPS
Включением реле управляет детектор пропадания входного напряжения, который включает реле при напряжении на входе свыше 11.7В и выключает при снижении напряжения до 11.4В. Гистерезис гарантирует стабильное включение и выключение реле, без него реле может включиться, а может и дребезжать начать (переходить из одного состояние в другое) вместо включения.
Полная структурная схема
Добавив блок управления реле, а также необходимый функционал согласно нашим желаниям, приходим к следующей структурной схеме:
Полная структурная схема UPS
Как можно видеть, схема состоит из нескольких основных блоков:
модуль заряда батарей (Charger)
мощное реле (Relay)
повышающий преобразователь (Boost DCDC)
модуль балансировки батарей (BMS 2S)
модуль индикации заряда (Charge Status)
детектор пропадания напряжения (Off-Line Detector)
два диода
кнопка сна (Sleep)
Для того, чтобы соответствовать курсу на простоту сборки, найдем для каждого блока соответствующий готовый модуль. Я не занимаюсь рекламой, поэтому буду приводить лишь фото модулей и их описание, по которым очень просто найти их в многочисленных магазинах электроники или заказать у китайцев. Ещё я заметил, что очень часто часть функционала чипов в китайских модулях просто не задействована и даже соответствующие ноги никуда не выведены.
Модуль заряда батарей
Например, в модуле зарядки, который я использовал, установлен китайский контроллер TP5100 в минимальном подключении. В результате без существенных доработок не подключить термистор для контроля температуры батарей, а также упущена возможность существенно упростить схему перехода на резервное питание. С одной стороны для большинства применений эти функции может быть и не так важны, но в случае с UPS очень пригодились бы. Дело за малым — сделать свой собственный модуль, но не сейчас, не для этого прототипа.
Модуль заряда
В итоге вся доработка зарядника свелась к двум вещам:
— Была запаяна перемычка, которая устанавливает напряжение заряда 8.4В, это как раз нужно для 2S подключения батарей;
— Выпаял один из двух резисторов-шунтов, которые задают ток заряда, чтобы снизить ток заряда с 2А до 1А. Можно сделать еще меньше, но для этого нужен шунт новый искать или монтировать резисторы «домиком» — последовательно. По опыту чип резисторы ужасно чувствительны к любым стрессам, что выливается в отслоение терминала, которое можно даже не заметить, поэтому, не рискуем.
Доработка модуля заряда
Мощное реле
Следующим модулем на доработку идет модуль реле с выбираемым уровнем управления. Хотя достаточно было бы простого драйвера с транзистором, но плата оказалась очень удобной как в плане доработки, так и выборе нужного уровня управления.
Модуль реле
Доработка модуля сводится к пайке сдвоенного диода с общим катодом снизу платы к площадкам тройника реле:
Доработка модуля реле
Диод MBR20100CT был куплен в ближайшем магазине радиодеталей, видимо очень ходовой:
O-Ring диод
Диоды нужны только для коммутации питания на выход в момент переключения реле. Это десятки миллисекунд, за это время они не успевают даже нагреться.
Последнее, что надо будет сделать с модулем реле, это установить перемычку, которая задает уровень срабатывания реле, в положение L:
Джампер выбора уровня срабатывания реле
Повышающий преобразователь
Напряжения на двух батареях недостаточно для стабильного питания NAS. Чтобы его увеличить до 12В необходим Boost DC/DC — повышающий преобразователь.
Я нашел два модуля с подходящими габаритами и параметрами. Один из них построен на TPS61088 — чип от TI, который я уже применял, а другой на LTC1871.
Второй модуль на основе LTC1871 удалось купить в тот же день:
Повышающий преобразователь Boost DC/DC
Судя по разводке — это точно Boost преобразователь, а по маркировке выходного диода (SD1040CS — 40В, 10А) и транзистора (MOSFET D4184 — 40В, 50А) становится понятно, что заявленный ток 7А ограничен фактически катушкой. Что я не могу понять до сих пор, это то, как китайцы умудряются делать копеечные модули на чипах, стоимость которых в несколько раз выше самого модуля.
У модуля также есть встроенный вольтметр, который позволяет контролировать входное и выходное напряжение с помощью индикатора. Удобно крутить многооборотный резистор и выставлять напряжение. На всякий случай проконтролировал установку с помощью Fluke, как и ожидалось точность ±0.1В, что вполне достаточно для данного UPS.
Одно, но — подписи к кнопкам не соответствуют действительности. IN — включение / выключение индикатора, а OUT — выбор измерения входного / выходного напряжения.
Дорабатывать модуль нет необходимости, достаточно предварительно выставить напряжение 11.7В.
Модуль балансировки батарей
Для балансировки Li-ion батарей существует огромное количество всевозможных модулей. Китайцы как правило делают их на своих собственных чипах и даже ставят правильные шунты. Так что просто нашел модуль типа 2S — на два аккумулятора и запаял его как есть.
Модуль балансировки батарей
У модуля балансировки есть очень полезная функция — напряжение на выходе не появляется до тех пор, пока к нему не будет приложено напряжение заряда. Это позволяет хранить батарею с установленным модулем без опасения замкнуть входные клеммы, а также можно в любой момент обесточить батарею кратковременно отсоединив любой из терминалов B+ / B-.
Кнопка Sleep на структурной схеме как раз и переводит батарею в неактивное состояние. При сборке NAS эта функция реально себя оправдает, так как не придется выполнять сборочные работы под напряжением.
Самое главное — это:
Модуль индикации заряда (напряжения)
Пожалуй самое сложное с точки зрения обслуживания батарей — это оценка их реальной ёмкости. Скажу сразу, я сделал все очень просто как в старых добрых мобилах. Ведь никого особо не напрягает тот факт, что индикатор уровня заряда батареи в мобиле / смартфоне отличается от реальности и со временем ситуация только ухудшается. Вот и я подумал, что для простого UPS достаточно будет измерить только напряжение на батареях.
В качестве индикатора напряжения был выбран простой индикатор с четырьмя фиксированными уровнями:
Модуль индикатора напряжения
Лучше всего постараться найти индикатор с диапазоном напряжений (6.6–8.4)В. Тогда нижний уровень 6.6В — это суммарное напряжение двух практически разряженных аккумуляторов, а 8.4В — уровень напряжения, которое используется для заряда и его можно использовать как индикатор наличия входного напряжения.
Алгоритм работы системы питания NAS можно представить следующей диаграммой:
Алгоритм работы системы питания NAS
Сам по себе индикатор вещь не очень нужная, однако его можно использовать для сигнализации пропадания питания и работы от батарей. В этом случае верхний светодиод или 100% показывает, что есть напряжение заряда 8.4В или то, что батарея еще достаточно свежая. Нижний светодиод или 25% показывает, что напряжение батареи еще достаточно для работы повышающего преобразователя, но уже пора запускать механизм выключения. Это позволит корректно завершить работу NAS перед тем как батарея полностью сядет.
Дорабатывать модуль не надо, нужно только припаять провода к контактам питания (+/-) и к площадкам светодиодов, которые показывают нижний и верхний уровни напряжения:
Название | Цвет провода | Уровень напряжение, В |
+ | красный | 8.4 |
- | черный | GND |
25% | зеленый | 0 — светодиод не горит 2.7 — светодиод горит |
100% | фиолетовый |
В теории, цепи 25% и 100% можно подключить к GPIO контактам процессора напрямую, если они рассчитаны на 3.3В логику. Но даже в этом случае существует вероятность «запитывания» процессора через контакты GPIO, если процессор находится в выключенном состоянии.
Чтобы избежать любых негативных последствий, подключать цепи 25% и 100% к процессорным GPIO, лучше через схему согласования уровней:
Простая схема подключения индикатора к GPIO
Искать в точности такой модуль или делать его самому может быть и не надо. Существует достаточно удобная плата согласования уровней, которую можно подключить следующим образом:
Схема подключения индикатора с помощью готовой платы
Площадки GND справа и слева соединены на плате, достаточно только подключения со стороны платы процессора. Подключение к площадке HV также не требуется, так как нам не нужно двунаправленное согласование и используются только интегрированные диоды в транзисторах. Следует выпаять только резисторы подтяжки, обозначенные на рисунке.
Детектор пропадания напряжения
Для того, чтобы включить или выключить реле в зависимости от величины входного напряжения, необходимо установить соответствующий детектор.
Такой детектор можно сделать, например, на модуле с LM393, у которого можно установить необходимый порог срабатывания. Однако, я не стал заказывать и ждать его с Али, а сделал сам на макетке, учитывая, что времени на это ушло порядка часа.
В качестве компаратора с гистерезисом также можно использовать управляемый стабилитрон TLVH431:
Схема детектора входного напряжения с гистерезисом
На схеме резисторы R1 и R2 задают напряжение включения реле, в данном случае это:
У открытого стабилитрона напряжение на катоде составляет порядка 0.9В. Этого достаточно чтобы включить реле. Вместе с реле открывается транзистор и подключает резистор R4 параллельно резистору R1. С учетом этого, стабилитрон теперь закроется только при входном напряжении существенно ниже 11.7В:
Схема детектора была смонтирована на макетке для SOIC-8 / MSOP-8:
Мотаж схемы детектора напряжения на макетке
Сборка
После доработки всех модулей можно переходить к сборке всего в корпус. Каких то рекомендаций давать не буду, так как все зависит от того, что есть под рукой и желания сделать хорошо.
За основу общей платы лучше взять текстолит без фольги, он не горит и обрабатывается легко. Сечение проводов минимум 0.75 мм^2 для мощных цепей и 0.35 мм^2 для остальных. На корпусе нужно будет разместить два разъема питания для входного и выходного напряжения, индикатор питания и кнопку Sleep. Кнопка может быть без фиксации на разъединение, хотя можно использовать и с фиксацией. Главное, чтобы контакты кнопки выдерживали ток не менее 4–5А.
Также следует уделить внимание тому, что модуль зарядки батарей может незначительно греться, особенно в самом начале. Поэтому, рекомендую его сразу приклеить обратной стороной платы на двусторонний термоскотч к небольшому радиатору.
Я все разместил на фанерке (не лучший выбор), закрепил модули и все спаял по месту:
Нижняя сторона монтажа UPS
Вид сверху на смонтированные модули UPS
Вид спереди на корпус UPS
Вид сзади на корпус UPS
Настройка и проверка
После того как все собрано можно переходить к первому включению. Но для начала я бы рекомендовал обязательно выполнить следующие операции:
— Зарядить аккумуляторы внешним зарядником и только после этого вставить их в отсек. Напомню, что напряжение на выходе модуля балансировки не появится до тех пор пока не будет подано внешнее напряжение, поэтому можно спокойно работать дальше.
— Далее следует выставить / проверить выходное напряжение повышающего преобразователя без нагрузки. Для этого нужно отсоединить провод от выходного терминала OUT+ и подав внешнее питание, выставить триммером напряжение 11.7В. Контроль можно проводить как встроенным индикатором, так и подключив тестер. Не забыть, что кнопка IN — включает / выключает индикатор, а кнопка OUT — выбирает напряжение для измерения — вход либо выход.
— Также необходимо проверить, что реле включается при напряжении 11.7В и выключается при 11.4В, ну или хотя бы выключается. Если реле включается, но не выключается, то следует проверить монтаж и номиналы компонентов детектора.
— Обязательно надо проверить не греются ли диоды при включенном и выключенном реле. Если греются, то это явно ошибка монтажа. Диоды греться не должны.
Остальные проверки можно проводить уже по месту или выполнить их заранее до сборки. Тут каждый себе мастер и настройщик.
Тестирование
Лучше всего проводить тестирование не на боевом железе. Все таки NAS вещь дорогая и необходимо убедиться заранее, что все функционирует согласно ожиданиям.
Основное, что надо проверить, это:
— заряд аккумуляторов без нагрузки и под нагрузкой (на всякий случай);
— переход на резервную батарею после пропадания входного напряжения;
— время работы батарей под нагрузкой.
Для тестирования обязательно понадобятся хорошие кабели питания. Проще всего их сделать из готовых компьютерных кабелей:
Пример кабеля питания для тестирования UPS
В качестве нагрузки можно использовать электронную нагрузку (обычный такой домашний прибор). Также можно подключать мощные резисторы для проверки под нагрузкой, начиная с 1А и далее по желанию.
Что можно улучшить
Несмотря на все достоинства и положительные эмоции, стоит сказать, что представленная конструкция блока UPS во многом нуждается в улучшении.
В первую очередь, необходимо улучшить схему контроля ёмкости батарей и организовать более информативную связь с процессором.
Возможно следует добавить универсальности в подключении различных типов соединения батарей, таких как 2S2P, 2S3P, 3S1P и т.д.
В случае с последовательным соединением трех и более батарей, потребуется замена повышающего преобразователя на преобразователь, который способен не только повышать напряжение, но и снижать его — SEPIC или Buck/Boost.
В перспективе хочется добавить стандартный интерфейс связи UPS с материнской платой, такой как USB или UART. Для этого понадобится микроконтроллер, например, RP2040.
Подведение итогов
Честно говоря, просматривая текст, я понял, что решение то не очень простое оказалось. Вроде бы и модули готовые, а вот все равно много чего надо учесть и внимательно повторить.
С другой стороны, голова боится, а руки делают. Так что не вижу проблем, почему бы не повторить конструкцию самостоятельно. На сборку и отладку уйдет не больше недели с учетом всех закупок и подготовки.
Как результат сборки, получится довольно компактный UPS, который можно разместить практически в любом корпусе:
Рамка с защелками для крепления UPS
Размещение UPS внутри корпуса mini-ITX
Стоит отметить, что для сборки были использованы только готовые модули, которые можно найти в большинстве радиолюбительских магазинов или заказать на Али. Даже то, что один из модулей все таки пришлось собрать практически на коленке, говорит о простоте и возможности повторения. Вместе с тем, UPS способен резервировать напряжение питания небольшого NAS с 4–5 дисками в течении минимум 20 минут, сигнализируя процессор в нужный момент о переходе на резервное питание и необходимости завершения работы при глубокой разрядке батарей.
Отмечу, что данный UPS был разработан специально для проекта NAS, над которым мы работаем целой командой. Наша цель состоит в разработке такой конструкции, которая будет модульной и удобной в плане модернизации и улучшения, начиная с вычислительного модуля, заканчивая дизайном корпуса. Проект открытый и всей информацией о ходе разработки, включая этапы дизайна, тесты, любые детали конструкции и всё, что нам интересно, мы обсуждаем с подписчиками в нашем Telegram канале.
В данной статье была рассмотрена только одна часть задачи — это аппаратное решение. Понятно, что этого явно недостаточно, так как UPS необходимо интегрировать в NAS не только аппаратно, но и программно. Поэтому, в следующий раз будем исследовать вопрос, связанный с программными решениями подключения UPS к процессору и организацию их взаимодействия.