На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

Проект TinyUPS - источник бесперебойного питания на ATtiny13A

Stefan Wagner

github.com

Общие сведения

TinyUPS – это простой источник бесперебойного питания (ИБП) 5 В/2.5 А с Li-Ion аккумулятором в качестве буфера, системой управления питанием (распределением нагрузки) и микроконтроллером (МК) ATtiny13A для контроля питания и уровня заряда аккумулятора, а также для связи с подключенным устройством (Рисунок 1). Устройство может использоваться в качестве источника бесперебойного питания для одноплатных компьютеров, например Raspberry Pi [1].

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

TinyUPS - источник бесперебойного питания с Li-Ion аккумулятором.
TinyUPS - источник бесперебойного питания с Li-Ion аккумулятором.
Рисунок 1. TinyUPS – источник бесперебойного питания с Li-Ion аккумулятором.

Блок схема ИБП TinyUPS изображена на Рисунке 2.

Рисунок 2. Блок схема ИБП TinyUPS.

Принцип работы

Если к ИБП подключен внешний источник питания (блок питания), то входное напряжение или напряжение питания МК (VCC) берется от этого источника, в противном случае – от аккумулятора (АКБ). МК контролирует входное напряжение и сообщает подключенному устройству о необходимости выключения, переводя линию SHUTDOWN в низкий уровень, когда входное напряжение падает ниже определенного порога (SHUTDOWNLEVEL). Это происходит, когда внешний источник питания отключен, а уровень заряда батареи падает ниже этого порога. После ожидания определенного времени (SHUTDOWNTIMER), чтобы подключенное устройство смогло безопасно завершить работу, МК ATtiny13A деактивирует повышающий преобразователь и отключает питание подключенного устройства.

Если входное напряжение снова восстанавливается и становится выше определенного порогового значения (POWERONLEVEL), то МК активирует повышающий преобразователь и подает питание на подключенное устройство.  После того как было подано питание, начинает отсчет специальный таймер (BOOTUPTIMER), который определяет время, необходимое на полную загрузку подключенного устройства. Если в это время произойдет отключение внешнего источника питания (т.е. до завершения загрузки устройства), то оставшееся время добавляется к SHUTDOWNTIMER, чтобы подключенное устройство загрузилось и выключилось. Выключение также можно инициировать, нажав и удерживая кнопку, или установив линию REQUEST в высокий уровень (>0.7 В) на 2 секунды. Однако после такого отключения не произойдет автоматического включения устройства при подаче внешнего питания (при восстановлении внешнего питания). Питание на подключенное устройство можно включить вручную, нажав  кнопку или установив высокий уровень на линии REQUEST, при условии, что уровень заряда АКБ превышает определенный порог (USERPOWERLEVEL) или подключен внешний источник питания.

Вывод SHUTDOWN ИБП TinyUPS является выходом с открытым коллектором. Подключенное устройство должно иметь внутренний или внешний подтягивающий резистор на линии SHUTDOWN. Это необходимо из-за разных уровней напряжения.

Принципиальная схема ИБП изображена на Рисунке 3.

Принципиальная схема ИБП TinyUPS на микроконтроллере ATtiny13A.
Рисунок 3. Принципиальная схема ИБП TinyUPS на микроконтроллере ATtiny13A.

МК ATtiny13A большую часть времени находится в режиме пониженного энергопотребления (power-down sleep mode). Сторожевой таймер переводит МК в активный режим каждые 8 секунд.  МК также выйдет из режима сна при нажатии кнопки или изменении уровня на линии REQUEST. После выполнения всех необходимых функций МК снова уходит в спящий режим.

Текущее состояние и режим работы ИБП TinyUPS отображается 5 светодиодами (Таблица 1):

Таблица 1. Состояние и режим работы ИБП TinyUPS.
Светодиод: состояние Режим работы ИБП TinyUPS
VIN: включен Внешнее питание подключено
CHARGE: включен АКБ заряжается
FULL: включен АКБ полностью заряжена (светодиод будет включен, только если внешнее питание
подключено)
STATUS: включен Нормальный режим работы
STATUS: мигает Выполняется этап SHUTDOWN
STATUS: короткие вспышки В режиме ожидания (короткие вспышки каждые 8 с)
VOUT: включен Выход ИБП включен

Для зарядки АКБ используется микросхема TP4056, которая представляет собой контроллер зарядки Li-Ion и Li-Po АКБ со встроенным термодатчиком, поддерживающий режим  линейного заряда по принципу «постоянное напряжение/ постоянный ток». Напряжение зарядки фиксировано на уровне 4.2 В, зарядный ток (1000 мА макс.) регулируется внешним резистором R3. Контроллер автоматически завершает цикл зарядки, когда зарядный ток падает до 0.1 от запрограммированного значения после достижения конечного значения напряжения. Кроме того, микросхема содержит монитор тока, схему блокировки при пониженном напряжении и поддерживает автоматическую перезарядку.

Для защиты АКБ (от перезаряда, глубокого разряда, перегрузки по току и короткого замыкания) используется микросхема DW01A в комбинации с двумя сдвоенными MOSFET FS8205. Микросхема DW01A постоянно измеряет напряжение на АКБ, а также входной (при зарядке) и выходной (при разрядке) ток. Если что-то идет не так, она «исключает» АКБ из схемы, закрывая MOSFET ключи, которые действуют как переключатель между отрицательным полюсом АКБ и землей. Защита от перегрузки по току  работает путем сравнения падения напряжения на транзисторах с внутренним опорным напряжением DW01A (125 мВ). Поскольку сопротивление сток-исток открытого канала (RDS(on)) транзистора FS8205 составляет около 2×25 мОм=50 мОм, микросхема DW01A закроет транзистор при токе 150 мВ / 50 мОм =3 А; это в случае, если будет использоваться только один транзистор FS8205. При использовании в схеме двух параллельных транзисторов сопротивление уменьшится вдвое, поэтому DW01A закроет транзисторы при 150 мВ / 25 мОм = 6 А, и через один транзистор будет протекать только половина этого тока (3 А), что находится в пределах его спецификации. Таким образом от АКБ до повышающего преобразователя может протекать ток до 6 А с максимальным падением напряжения 150 мВ.

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

Подключать нагрузку (наше устройство) непосредственно к Li-Ion АКБ и одновременно заряжать ее можно, но крайне не рекомендуется. В таком случае контроллеры заряда, такие как TP4056, не смогут определить, полностью ли заряжена АКБ, потому что ток никогда не упадет ниже 1/10 установленного значения зарядного тока, что говорит о прекращении цикла зарядки. АКБ будет заряжаться вечно, что в конечном итоге разрушит ее. Поэтому была интегрирована схема распределения нагрузки, которая отключает АКБ от нагрузки при наличии внешнего источника питания. Пока АКБ заряжается, подключенное к ИБП устройство питается от внешнего источника. Дополнительно о системе распределения нагрузки можно узнать в [2].  

Технические характеристики и эффективность

Внешний источник питания должен обеспечивать достаточную мощность для зарядки АКБ и одновременного питания подключенного устройства. Максимальный ток зарядки АКБ установлен на уровне 1000 мА, но вы можете уменьшить это значение, выбрав другой номинал резистора R3. Выходное напряжение внешнего источника питания не должно превышать 5.2 В!

Для ИБП выбирайте Li-Ion АКБ типоразмера 18650 хорошего качества, с низким внутренним сопротивлением, способный выдавать ток до 6 А.

Основные технические характеристики ИБП TinyUPS приведены в Таблице 2.

Таблица 2. Основные технические характеристики ИБП TinyUPS.
Параметр Значение
Входное напряжение 4.5 В - 5.2 В
Выходное напряжение 4.8 В - 5.2 В
Выходной ток макс. 2.5 А
Ток заряда Li-Ion АКБ макс. 1000 мА
Ток потребления в режиме ожидания 95 мкА

На Рисунке 4 приведена осциллограмма выходного напряжения ИБП при отключении внешнего источника питания и переходе на резервный АКБ. Канал 1 (желтый) – напряжение внешнего источника питания, канал 2 (голубой) - выходное напряжение ИБП. На Рисунке 5 – осциллограмма выходного напряжения ИБП при включении внешнего источника питания (переключение с резервного АКБ на внешний источник). Пульсации напряжения на выходе при выходном токе 1 А показаны на Рисунке 6.

Осциллограмма выходного напряжения ИБП при переходе на резервный АКБ.
Рисунок 4. Осциллограмма выходного напряжения ИБП при переходе на резервный АКБ.
 
Осциллограмма выходного напряжения ИБП при включении внешнего источника питания.
Рисунок 5. Осциллограмма выходного напряжения ИБП при включении внешнего
источника питания.
 
Пульсации напряжения на выходе ИБП TinyUPS при выходном токе 1 А.
Рисунок 6. Пульсации напряжения на выходе ИБП TinyUPS при выходном токе 1 А.

Схема и печатная плата проектировались в онлайн редакторе EasyEDA [3]; и схема, и проект печатной платы доступны пользователям. Дополнительно проектные файлы печатной платы доступны для скачивания в разделе загрузок. При установке компонентов на печатную плату особое внимание следует уделить микросхеме FP6277: подложка микросхемы должна иметь надежный проводящий контакт с соответствующим печатным проводником на плате.

Дополнительно автор предоставляет пример подключения ИБП к одноплатному компьютеру Raspberry Pi и вариант программы на Python, выполняющей отключение системы по команде от ИБП. Скрипт Python (с комментариями) и инструкции по установке службы в ОС доступны для скачивания в разделе загрузок.

Ссылки

  1. Страница проекта на сайте github.com
  2. Designing A Li-Ion Battery Charger and Load Sharing System
  3. Проект в онлайн среде проектирования EasyEDA

Загрузки

  1. Принципиальная схема и проектные файлы печатной платы, скетч Arduino, ПО (скрипт Python) и инструкции для Raspberry Pi

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: TinyUPS - Uninterruptible Power Supply based on ATtiny13A

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя