В этой статье я публикую в свободный доступ мой тестер и измеритель 8шт часовых аккумуляторов-таблеток форм-фактора CR2032. Надеюсь, он пригодится тем, кто делает портативную электронику и различный IoT. В статье я опишу схему моего тестера и расскажу как он работает. Приведу результаты измерения аккумуляторов LIR2032. И проверю восемь CR2032 от разных производителей. Также поделюсь богатым опытом: какие аккумуляторы лучше не брать, а какие — хорошие. Бонусом распишу опасные моменты: и как самому не пострадать и не сжечь дом, как это любит делать Креосан.
Оглавление:
Для чего?
Основные параметры и алгоритм проверки
Индикация и лог работы
Микроконтроллер и как его прошивать
Схема целиком
Схема питания
Схема одного из восьми каналов LIR2032/CR2032
Про зарядку и контроллер заряда
Плата
Результаты аккумуляторов LIR2032
Результаты проверки 8 разных батареек CR2032
Итоги и про качество аккумуляторов
Про технику безопасности
Заключение и ссылка на мой проект на гитхабе
Для чего?
В целях самозанятости и в качестве хобби мы c другом-схемотехником делаем наручные устройства, которые работают в двух режимах: активном и режиме ожидания. В активном режиме требуется красивый, плавный и отзывчивый интерфейс, поэтому потребление в пределах 10-15 мА. В режиме ожидания работают только часики, потребление — единицы микроампер. В устройстве есть синхронизация данных по USB, следовательно, оно должно уметь заряжаться. Поэтому мы применяем перезаряжаемые батарейки таблетки в форм-факторе CR2032, они называются LIR2032.
Устройства продаются в Европу. Эти заказчики более требовательны к качеству, чем отечественные потребители, и поэтому важно чтобы все устройства работали долго и примерно одинаковое время. И самая большая проблема — это контроль качества аккумуляторов. Быстро их не проверить, а объём вырос настолько, что пришлось сделать этот тестер. О чём я и расскажу далее.
Основные параметры
- Питание USB 5V, 400mA.
- Тип аккумуляторов и батарей LIR2032, CR2032 (с ограничениями)
- Количество одновременно проверяемых аккумуляторов: 8 шт
- Индивидуальная двух цветовая индикация статуса у каждого аккумулятора
- Одноцветный светодиод общего состояния.
- Посекундный текстовый лога по каждому аккумулятору.
- Измерители: напряжения и скорости его изменения, времени, ёмкости в мкА/ч.
- Разрядная нагрузка: 250 Ом (~10мА).
- Зарядный ток: 30мА
- Время цикла проверки: 4-6 часов.
Алгоритм проверки
Разница между LIR2032 и CR2032 в том, что CR2032 батарейки, а LIR перезаряжаемые аккумуляторы. И они имеют более высокий рабочий диапазон напряжений, но почти в 10 раз меньшую ёмкость.
CR2032: диапазон напряжений 2000-3300 мВ, ёмкость 200+ мА/ч.
LIR2032: диапазон напряжений 3300-4200 мВ, ёмкость 35 — 45 мА/ч.
- Первичная дозазрядка, окончание — сигнал #STAT зарядника в Z. Максимум 3 часа.
- Разряд, до 3300 мВ, время: минимум 2 часа, максимум 5 часов.
- Финальная полная зарядка, окончание — сигнал #STAT зарядника в Z. Максимум 3 часа.
Аккумулятор считается годным, если все эти лимиты по времени соблюдаются.
Напряжение не должно проседать ниже 3000 мВ или превышать 4300 мВ — т.е. те лимиты, при которых аккумуляторы быстро портятся или считаются негодными.
Индикация
Индивидуально у каждого держателя батареи:
- часто мигает зелёным — Первичная дозазрядка
- часто мигает красным — Разряд
- медленно мигает зелёным — Финальная зарядка
- постоянно горит зелёный — Тест окончен, батарея годная
- постоянно горит красный — Тест окончен, батарея не годная
Общий у USB порта:
- Светится — проверка в процессе работы, как минимум один тестируется.
- Погас — проверка окончена, все 8 аккумуляторов проверены.
Лог работы
Выводится в UART. Если впаять CP2103, то его можно считывать, иначе придётся подключать сторонний преобразователь UART в USB.
Устройство запоминает в свободной флеш памяти (около 50кб) параметры всех ранее измеренных аккумуляторов и выдаёт их при каждой перезагрузке.
После перезагрузки и инициализации начинает выдаваться каждую секунду:
- Время в секундах
- Отладочные статусы зарядника и тд, три группы символов по 8 шт.
- Напряжения на аккумуляторах в милливольтах, точность 30мВ, 8шт
- Прошло времени в тиках (~8 миллионов)
- Напряжение аналогового питания (удобно для проверки и отладки питания)
- Скорость изменения питания в микровольтах в сек, 8 шт. точность 5 мкВ/сек.
После того как все аккумуляторы проверены выдаётся измеренные значения по всем аккумуляторам.
- Ёмкость в мкА/ч (норма от 25 и выше)
- Время в сек., напряжение в мВ начала и напряжение в мВ окончания периода.
- Периодов три: первичный заряд, разряд, финальный заряд.
пример:
LIR_1 capacity 40943 uAh
LIR_1 #0 Charge_A 2203 4078 4217
LIR_1 #1 Load_250 9755 4172 3297
LIR_1 #2 Charge_B 6542 3470 4220
Микроконтроллер и как его прошивать
Для тестера батареек я выбрал микроконтроллер STM32F100R8 это ARM Cortex M3.
Выбран большой 64-х выводной корпус, т.к. на все 8 каналов не хватало выводов, а делать костыли с расширяемыми GPIO и регистрами не хотелось. МК работает от внутреннего генератора без использования PLL и делителей, т.е. на 8Мгц.
Прошивка сделана в gcc и makefile в среде Eclipse Kepler и плагине CDT.
Настройка не требуется. Достаточно прошить и уже можно использовать.
Можно прошивать внешним UART программатором, для этого на отдельную PLS'ку выведены сигналы RX TX BOOT0 RST и земля.
Можно прошивать моим встроенным USB-UART программатором о котором я рассказывал ранее, но для этого на каждый экземпляр придётся ставить CP2103.
Схема целиком
функциональный уровень:
электрическая схема (увеличение по клику):
Схема питания
Две ветки питания на двух линейных стабилизаторах LM1117 с 5 до 3.3В.
Отдельное питание для цифровой и аналоговой части.
С защитой от взаимных помех катушечками — индуктивностями на входе каждого стабилизатора.
ВНИМАНИЕ в плате есть ошибка: забыли установить и развести общий электролит по питанию USB, впаяйте параллельно USB хотя-бы 4000мкФ х 6В. Иначе при включении одного зарядника, сбрасываются остальные из за сильной просадки по питанию.
Схема одного из восьми каналов LIR2032/CR2032
функциональный уровень:
электрическая схема:
Слева направо:
- Ключ включения питания контроллера заряда (цепь ON1)
- Контроллер заряда (микросхема MCP73831T)
- Вывод статуса зарядки: в процессе заряда=GND или закончен=Z (цепь STAT1)
- Вертикальный держатель батарейки
- Делитель напряжения на 2 и датчик напряжения на ОУ (цепь ADC1)
- Нагрузка 250 Ом, которая включается полевым транзистором (LOAD1)
Про зарядку и контроллер заряда
Заряжать Li-ion аккумуляторы необходимо в двух режимах:
- быстрый заряд в режиме константного тока;
- далее дозаряд в режиме константного напряжения.
Для этого использован готовый контроллер заряда который умеет всё это делать — MCP73831T. Он используется как в тестере питания так и в целевом устройстве.
Его характеристика заряда по времени:
Также имеется два дополнительных вывода:
- Вывод #STAT — индикация что заряд в процессе, во время зарядки там GND, по окончанию он переходит в высокий импеданс. Обычно к нему подключают катод светодиода.
- Вывод #Prog — задаёт ограничение тока, для универсальности и зависит от простой формулы:
Ireg = 1000V / Rprog;
Плата
Четырёхслойная, средние слои: земля и питание, внешние верх и низ — сигнальные.
Зазоры и толщина дорожек по 0.2мм. Все резисторы 0805 рекомендую ставить с 1% точностью.
Увеличение по клику
Результаты аккумуляторов LIR2032
Вот график заряда и разряда, построен по логам тестера
В течении 64 циклов разряжал и заряжал 8 шт аккумуляторов и построил график того, как меняется средняя ёмкость у 8 аккумуляторов по мере накопления циклов и "износа".
Далее, стало интересно, есть ли зависимость между измеренной ёмкостью и временем заряда или временем разряда. Для этого я взял накопленную статистику с 500+ рабочих и годных аккумуляторов:
Оказалось что да, зависимость есть, но только по времени разряда на нагрузку.
По времени заряда слишком косвенно. А при малых ёмкостях в пределах 25-30мА видно наступает таймаут минимального времени заряда у микросхемы зарядника — образовалась гор. полочка.
Так же заметны две группы батареек: одна — новые фирменные EEMB с ёмкостью 34-40мА/ч, другие — тоже EEMB, но 13-ого года выпуска с ёмкостью 25-30 мА/ч. Вторую группу я случайно нашёл среди своих запасов пока делал статью и решил тоже прогнать и отдать на сборку годные.
Сделал анимацию первых 65 измерений разных аккумуляторов:
верхний график — напряжение в мВ, горизонтальная шкала времени шириной 16000 сек
нижний график — скорость изменения верхнего графика в мкВ/сек.
Результаты проверки 8 разных батареек CR2032
Сразу предупреждаю, что тестер батареек не предназначен для CR2032. Они рассчитаны под разряд микроамперами и единицами миллиампер, притом и нагрузку менееьше 1 кОма не рекомендуют подключать. Но у меня есть дешевые китайские изделия где это нарушается, например, игрушки для детей и кошек с светодиодами. И я на помню, что именно в таком случае хуже всего себя показали фирменные батарейки, а дешевые ширпотребные хорошо.
При желании, можно выпаять три из четырёх однокилоомных резисторов — для этого в плате нагрузка так и сделана. Или впаять другой вообще резистор побольше, например 10к. Если сообществу интересно, то могу заняться, но результаты будут Очень не скоро.
Результаты сделал в виде таблицы по пороговым срезам, начиная с 2000 мВ до 2900 мВ с шагом в 100 мВ.
Т.е. ёмкость в миллиамер-часах измерена так, если бы они разряжались до 2000 мВ, или 2100 мВ и тд до 2.9 В. Чем выше порог, тем меньше ёмкость.
Единица измерения мА/ч.
Зелёно-красный градиент индивидуален по каждому столбцу и независим от соседних столбцов.
Да, действительно, простые и дешёвые батарейки типа ЭРА, megamag и Трофи, лучше в этой ситуации. Что и подтвердило мой прежний опыт их использования.
Но ещё раз повторю — батарейки не обязаны выдавать такой ток!
Часто батарейки CR2032 крепятся при помощи миниатюрных магнитов, например, в фитнес браслете misfit shine, и поэтому должны уметь хорошо магнитится. И да, действительно все 8 батареек притягиваются магнитом отлично.
Итоги и про качество аккумуляторов
Мне лично тестер понравился, очень удобно пользоваться. А цикл в 4 часа хорошо сочетается с личной жизнью — с утра поставил — в обед сменил следующий, после работы ещё раз все 8 шт поменял, и на ночь ещё 8 шт. Много времени не требуют, особенно если по терминалу не подключаться и лог не вести.
Проблема с аккумуляторами была решена.
Мы ранее покупали китайские "ноунейм" аккумуляторы, но они оказались почти 100% браком.
На голову лучше себя повели фирменные от EEMB — у них стабильные параметры и брака 2-3%. А в некоторых палеттах из 50-40 шт ни одной бракованной. Также они отлично переживают долгое хранение в течении 3-4 лет, но процент брака повышается до 10%.
Для сравнения скриншот первых 100 шт, где EEMB а где заказанные на алиэкспрессе думаю наглядно виден будет сразу.
тут три партии: первые 40шт — новые EEMB, вторая — свежий "ноунейм" китай, последние 15 шт — EEMB три года лежали без использования. Заметно что даже немного деградировавшие 15 шт EEMB лучше китайских.
Про технику безопасности
- Помните, что при коротком замыкании и батарейки и аккумуляторы ощутимо греются. Да, даже такие маленькие, маломощные и малоёмкие. Особенно, если работаешь с большим количеством, то не самая лучшая идея даже бракованные скидывать в одну кучу. Если Вы конечно не Креосан.
- Аккумуляторы плоские, так и хочется их взять стопкой, но даже в разряженном аккумуляторе напряжение 3-4В, а в стопке может достигать опасных 50-70В. Стопкой их складывать нельзя, даже бракованные. Если, конечно, не хотите стать ещё одним доказательством теории Дарвина.
- Китайские аккумуляторы часто вспухают и текут неприятной на запах жидкостью, от которой болит голова и чешутся пальцы. Если иметь дело с китайским ширпотребом, то перчатки и хорошо вентилируемое нежилое помещение обязательно.
Заключение и ссылка на мой проект на гитхабе
Я не хотел статью писать, т.к. думал, что раз тема IoT популярна на Хабре, то и про такие батарейки точно есть обзоры, но не нашел.
Кстати, я ищу работу и на данный момент также принимаю разовые заказы на разработку или производство.
Ссылка на проект гитхаба:
https://github.com/Mirn/LIR2032_tester/
Лицензия MIT, используйте на здоровье!
Также я не против поговорить про опыт использования. И помочь советом.
Автор: Mirn