
Я тестирую батарейки и аккумуляторы в проекте Batterytest.ru, но все модели, имеющиеся в продаже, протестировать невозможно, к тому же одни и те же батарейки из разных партий могут отличаться.
С помощью моего прибора каждый сможет протестировать любые батарейки и сравнить их между собой. Кроме того прибор поможет компаниям, выбирающим поставщика батареек и не доверяющим испытательным лабораториям.
Возможно у вас возник вопрос, зачем разрабатывать новый прибор, ведь в продаже можно встретить множество приборов для измерения ёмкости элементов питания. К сожалению все они либо очень дорогие, либо неточные, либо не универсальные, либо неудобные. Я постарался сделать простой, дешёвый, универсальный и точный прибор.
Основные параметры Народного измерителя BatteryTest:
- измерение ёмкости любых батареек (AA, AAA, CR2032, LR44, Крона и других);
- возможность измерения ёмкости аккумуляторов при условии своевременного ручного отключения после завершения теста;
- постоянный резистор в качестве нагрузки (это проще и точнее, чем электронная нагрузка);
- ток нагрузки от 1 до 800 мА (зависит от номинала сменного резистора);
- напряжение батареи от 1 до 15 вольт;
- время теста от 10 секунд до 1000 часов (около 42 суток);
- измеряемая энергия от 1 до 99999 мВтч;
- измеряемая ёмкость от 1 до 99999 мАч;
- постоянное отображение на экране напряжения, тока, ёмкости (мАч), энергии (мВтч) и времени;
- автоматическое определение напряжения окончания теста в зависимости от типа элемента питания;
- передача на компьютер данных тестирования (можно сохранять их и строить графики разряда);
- бесконечное отображение результатов после завершения теста;
- полное отсутствие органов управления.
Измерение напряжения и тока производится с помощью модуля на микросхеме Texas Instruments INA226.
В процессе теста батарейка полностью разряжается, поэтому протестированные батарейки придётся утилизировать.
В приборе не предусмотрено отключение нагрузочного резистора после окончания теста, поэтому если использовать прибор для тестирования ёмкости аккумуляторов придётся отслеживать момент завершения теста и вручную отключать аккумулятор, чтобы он не переразрядился.
При включении прибора на экране отображается заставка, номер версии и напоминание о необходимости подключить нагрузочный резистор и батарейку или аккумулятор. Как только резистор будет подключён, а батарейка установлена в держатель, на экране отобразится напряжение окончания разряда и параметры калибровки датчика напряжения и тока.

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

В процессе теста каждые 5 секунд данные передаются в компьютер через кабель USB и виртуальный COM-порт (скорость обмена 74880, именно такая скорость нужна, чтобы неотключаемая отладочная информация ESP8266 выводилась не кракозябрами).

Эти данные можно сохранить и использовать для построения графика разряда, например с помощью Excel.

На корпусе прибора установлены две контактные колодки. К центральным контактам подключается нагрузочный резистор. Для тестирования некоторых распространенных элементов питания используются следующие номиналы резисторов:
12 Ом — тест максимальной ёмкости батареек AA и AAA (75-130 мА);
3.9 Ом — тест батареек AA с повышенной нагрузкой (230-410 мА);
5.1 Ом — тест батареек AAA с повышенной нагрузкой (176-310 мА), тест NiMh аккумуляторов (176-235 мА);
230 Ом — тест батареек Крона (23-42 мА);
1 кОм — тест батареек CR2032 (2-3 мА).
К крайним контактам подключается сменный держатель элемента питания. Держатель для CR2032 подходит и для маленьких батареек-таблеток.

В программе, работающей в приборе, я постарался учесть все нюансы и нештатные ситуации: при отсутствии или сбое модуля измерения напряжения и тока на экране появится сообщение «Нет INA226», если батарейка подключена, а нагрузочный резистор нет, на экране появится сообщение «Подключите нагрузочный резистор», если за час после включения прибора батарейка и резистор так и не будут установлены, прибор сообщит «Долгий простой. Перезапуск». Если напряжение батарейки окажется выше допустимого, появится сообщение «Напряжение выше 15 вольт». Если время теста превысит предел, вместо времени появится надпись ">1000 часов". Через 1 минуту 45 секунд отображения итога измерения яркость экрана снижается для защиты OLED-экрана от выгорания.
В приборе используются недорогие компоненты: дешёвый микроконтроллер D1 mini на основе ESP8266, OLED-экран 0.96", готовый модуль INA226. Прибор может питаться от компьютера через USB-кабель или от любого адаптера питания 5 вольт с разъёмом USB, а также от некоторых пауэрбанков, способных не отключаться при небольшом потреблении (при питании 5В через разъём USB прибор потребляет 27 мА).
Я назвал прибор народным потому, что его сможет повторить любой желающий, способный спаять десяток проводов. Схема соединения трёх основных модулей и клеммных колодок очень проста.

Прошивку, исходный текст программы и ссылки на все детали для сборки прибора я разместил на странице проекта https://ammo1.ru/btest.
Для удобства экран устанавливается вверх ногами, контактами вниз (в программе экран перевёрнут, при желании можно установить экран как обычно и убрать из программы две строки, переворачивающие экран).
Модуль INA226 устанавливается как можно ближе к плюсовой клеммной колодке.
При желании можно установить в прибор аккумулятор формата 18650, плату зарядки и защиты, а также преобразователь напряжения, дающий на выходе 3.3 В (его выход подключается к линии питания 3.3 V, к которой подключены контакты питания экрана и модуля INA226) и выключатель между плюсовым контактом аккумулятора и входом преобразователя.

Аккумулятора 2600 мАч хватит приблизительно на 50-90 часов работы прибора (время работы зависит от типа преобразователя напряжения и его КПД).
Некоторые нюансы для тех, кто захочет собрать такой же прибор.
Можно использовать модули INA226 или INA231 (этот модуль вдвое дороже, у него лучше сделана разводка печатной платы, присутствуют сглаживающие помехи конденсаторы в линии измерения тока).
К сожалению на Aliexpress можно встретить плохие модули INA226 и INA231, в которых установлены отбракованные или поддельные микросхемы, в которых неправильно работает внутренний источник опорного напряжения, из-за чего напряжение и ток измеряются с большой ошибкой. У нормальных модулей отклонение напряжения не должно превышать двух знаков в третьем разряде после запятой (0.999 В — 1.001 В при измерении напряжения 1 В). Я добавил возможность корректировки напряжения в программу, чтобы можно было использовать бракованные модули, но лучше заказывать заведомо хорошие.
Точность измерения тока зависит от точности номинала резистора шунта 0.1 Ом, установленного в модуле. Желательно рассчитать калибровочное значение тока (calibrI в программе) с помощью хорошего мультиметра.
Готовая прошивка сделана для микроконтроллера D1 mini. Можно использовать любую версию с разъёмом Micro USB или Type C. Я рекомендую использовать D1 MINI V4.0.0, так как она самая дешёвая и у неё есть отверстия для крепления.
Можно использовать любую другую плату микроконтроллера (например, NodeMCU или Arduino Nano), достаточно откомпилировать программу под ваш контроллер и если в нём нет Wi-Fi, убрать команды, его отключающие.
Нагрузочные резисторы должны иметь большой запас по мощности, чтобы во время тестирования они не нагревались.
Не рекомендую использовать дешёвые колодки (холдеры) для батареек с красными проводами — из-за низкого качества контактов и проводов они могут иметь настолько большое сопротивление, что это существенно исказит результаты.
Это первая отлаженная и работоспособная версия прибора. В будущем я хочу добавить следующие возможности:
- удобная калибровка прибора по напряжению и току двумя кнопками, скрытыми внутри корпуса;
- отображение на экране уровня заряда аккумулятора при его наличии;
- сохранение данных тестирования на SD-карту;
- передача данных тестирования по Wi-Fi.
Если вы хотите присоединиться к разработке, буду рад.
Кроме того, планируется создание многоканальной версии прибора для одновременного тестирования нескольких батареек или аккумуляторов.
Для тех, кто хочет получить готовый прибор или повторить его, я постараюсь сделать два варианта: готовый откалиброванный прибор и набор для самостоятельной сборки с прошитым и откалиброванным контроллером.
Если найдутся энтузиасты, готовые тестировать батарейки с помощью этого прибора, подумаем о том, чтобы сделать на batterytest.ru раздел с народными результатами, и конечно же таким энтузиастам я готов предоставить приборы бесплатно.
© 2024, Алексей Надёжин
Комментарии (45)
 - gleb_l10.04.2024 17:00- Супервещь! Вам бы еще коммутировать банк нагрузочных резисторов не с помощью отвертки, а скажем, поляризованными реле (чтобы обмотки не потребляли ток вместе с разрядом элементов)..  - AlexeyNadezhin Автор10.04.2024 17:00+4- В этом нет необходимости. Я не думаю, что кто-то будет с помощью прибора постоянно тестировать разные батарейки. 
 Возможно в будущих версиях будет просто электронная нагрузка, но пока так. - Xander_d10.04.2024 17:00- Мне кажется проще установить резисторы параллельно и переключать цепь между ними 
 
  - jar_ohty10.04.2024 17:00+4- У этого реле будет свое и притом нестабильное сопротивление контактов. Так что лучше отвертки тут ничего нет из простого.  - gleb_l10.04.2024 17:00+2- Да ну, не такие уж реле и несовершенные, как Вы представляете, тем более на большом токе. Это может проявляться при коммутации микровольтовых цепей, а здесь - все достаточно стандартно. Типичное сопротивление контактной пары - сотые доли Ома, а изменение во времени/температуры - уж точно меньше такового для обычного углеродного резистора даже 5% линейки. - Этот прибор по сути - почти индикатор, точность выше 5% здесь малоосмысленна (тем более, что товарные партии батарей могут запросто отличаться на больший процент); а вот реле применяются успешно и в достаточно прецизионной аппаратуре - так что не в том стане ловим предателей ;)  - FelixTheMagnificent10.04.2024 17:00+1- Он хоть и индикатор, но для сравнительного теста, имхо, хорош весьма. 
 
 
 
 - AvArAr10.04.2024 17:00+1- Здравствуйте, хороший проект, тоже заморачивался таким, но я делал с измерением внутреннего сопротивления. Для сортировки скажем 18650  - AlexeyNadezhin Автор10.04.2024 17:00+2- Для измерения внутреннего сопротивления есть хороший готовый прибор YR1035+.  - AvArAr10.04.2024 17:00- Да, согласен, но он стоит порядка 3000 руб, а на базе Вашего практически ничего не будет стоить, разве что немного добавить кода. Получится более универсально) Просто это даст возможность быстрой сортировки / отбраковки.  - AlexeyNadezhin Автор10.04.2024 17:00+1- Это будет совсем другое устройство. Измерить внутреннее сопротивление с неотключаемой резистивной нагрузкой не получится.  - AvArAr10.04.2024 17:00- Вам нужно померять напряжение под нагрузкой и без нагрузки. Ток в цепи вы уже и так измеряете. И знать точное сопротивление нагрузочного резистора, но я думаю Вы и без меня разберетесь, просто хотел подкинуть идею усовершенствования)  - sergeyns10.04.2024 17:00- С таким подходом вы получите точность плюс-минус тапок, что в принципе и так известно...  - AvArAr10.04.2024 17:00- Вся точность на самом деле зависит от точности измерения сопротивления резистора, точности ващего опорного напряжения и точности резисторов в делители, если например измерения будут отностительно внутреннего опорного напряжения микроконтроллера 1.1v через делитель, точность в 3 знака после нуля Вам обеспечена! Сравнивал таким образом показания с эталонным мультиметром (Fluke, UT). 
 
 
 
 
 
 
 - Winnie_The_Pooh10.04.2024 17:00- Алексей, а зачем видеть начальные сообщения при старте 8266 на нестандартной скорости? Всегда использую 115200 или больше, ну да, начальные сообщения видятся кракозябрами, ну и что? - Предлагаю использовать стандартную скорость 115200 для обмена с компом.  - AlexeyNadezhin Автор10.04.2024 17:00+1- Чтобы не было кракозябр.) 
 Если хочется другую скорость, её можно изменить в скетче. - serafims10.04.2024 17:00- Не всякий монитор COM порта имеет такую скорость в числе штатных. Зато можно посылать ESC команду очистки терминала. Кстати, для Esp8266 есть библиотека remote debug, чтобы по Telnet подключаться через Putty и до эмуляторами и терминала по WiFi. 
 
 
 - iqp10.04.2024 17:00- Народный измеритель ёмкости батареек и аккумуляторов - На пилюле-клоне STM32 вроде как народные устройства такого типа делаются. И без дополнительных аналоговых измерительных модулей, - точности встроенных вроде как должно хватить. Базовый вариант как по мне должен через MAX232 подключаться к натуральному COM разъему мат.платы, он есть на многих компьютерах все еще, в т.ч. на новых. Да и без дисплея можно обойтись в базовом варианте, весь вывод на компьютер кроме как на несколько светодиодов на устройстве. При всем этом плюс в статью.  - AlexeyNadezhin Автор10.04.2024 17:00+2- Основных задач у меня было две: 
 - сделать устройство, которым сможет пользоваться неквалифицированный пользователь. Без подключений к компьютеру и настроек: вставил батарейку, подождал, показало результат.
 - сделать устройство, которое очень легко повторить без каких-либо настроек. Если использовать АЦП микроконтроллера, во-первых понадобится это всё настраивать, во-вторых понадобится дополнительная электроника в виде операционного усилителя и его обвязки. - iqp10.04.2024 17:00+2- Основных задач у меня было две:- сделать устройство, которым сможет пользоваться неквалифицированный пользователь. Без подключений к компьютеру и настроек: вставил батарейку, подождал, показало результат.- сделать устройство, которое очень легко повторить без каких-либо настроек. Если использовать АЦП микроконтроллера, во-первых понадобится это всё настраивать, во-вторых понадобится дополнительная электроника в виде операционного усилителя и его обвязки. - Я бы так приоритеты расставил: - Прочитавший статью мог бы стартовать с минимумом усилий, необязательно сверхдешево. Компьютер есть у всех, COM-порт на мат.плате - почти у всех. Взять макетную плату, впаять в нее MAX232, светодиоды с резисторами, разъемы, подключить к компьютеру и убедиться, что на C# можете мигать светодиодами на этой платке. - Теперь надо определиться с микроконтроллером, ESP8266 из другой оперы, я бы ее не тащил сюда на этом этапе. Как по мне, так какая-нибудь 8-пиновая STM32G030J6M6 была бы уместна здесь. Если нет опыта с программированием STM32, то тогда бы купил Nucleo с этим микроконтроллером. Из-за санкций - не особо дешево, но можно быстро стартовать. АЦП у этого STM32G030 12-битное, с возможностью нарастить до 16-битного разными ухищрениями, оп. усилитель навряд ли понадобится в этом проекте. - Собираете на этом тандеме - макетная плата с MAX232 плюс Nucleo прототип, запускаете его. Теперь можно купить STM32G030J6M6, установить ее на макетную плату с MAX232. Можно приклеить ее к плате вверх ногами и тонкими проводами развести эти 8 ног. Когда все это работает, можно взять CAD, и набрать макет уже там, послать в Китай, получить платки, собрать и вместе с кодом на C# представить хабро-общественности. Простейшее, без корпуса изделие, народ сам соорудит корпус, можно и свой предложить, но это уже следующий этап. - Проходить этапы неплохо бы инкрементально, если намешать все в кучу, то потом тяжелее продать свои скилы, выглядеть со стороны будет так себе.  - Kudriavyi10.04.2024 17:00+2- Com порт у каждого компьютера? Я никогда им не пользовался, единственный раз хотел его использовать, когда ковырял 486 с помойки. А все микроконтроллеры программирую с ноутбука, и usb uart за 100 рублей - мой друг. Статья, все-таки, про любительский проект, а не про пром автоматизацию. 
  - IDDQDesnik10.04.2024 17:00- COM-порт на мат.плате - почти у всех. - Почти ни у кого. К примеру статистика по моделям из Регарда: - Материнские платы - 7 из 345; - Неттопы: 30 из 159; - Ноутбуки: 1 из 1577; - Понятно, что если надо, то всегда можно выкрутиться с помощью usb переходника, но может в 2024 году сразу заложить usb в базу? 
  - axe_chita10.04.2024 17:00+1- Даже если COM порт есть на материнке, то скорее всего он существует в виде гребенки, которой потребуется планка с разъёмом и кабелем. А она дефицит, поскольку востребована магазинами всех масштабов от мелких до супермаркетов, для связи со всякими легаси устройствами. 
 Так что нужно смотреть в сторону USB реализации, программной или аппаратной.
  - DvoiNic10.04.2024 17:00- голые MAX232 +STM32G030J6M6 будут стоить примерно столько же, сколько стоят использованный WeMos D1 Mini, имеющий на борту и контроллер, и CH340G, + INA219. И без всяких кадов, заказов плат в китае, пайки микросхем и smd, и т.п. - паяется проводками (а то и соединяется шлейфами с разъемами) без дополнительных знаний и умений. Т.е. "неэстэтично - зато дёшево, надежно и практично"®. 
 
 
 
 - DGN10.04.2024 17:00+1- А оно не умеет переключать mAh в Ah? Как бы 41236 mAh выглядит менее читабельно чем 41.24 Ah - А с учетом непрецезионной точности прибора, ещё и идеологически неверно. - Знает ли оно про lifepo4? Что кроны бывают 6 и 7 банковыми? - Внутреннее сопротивление по ВЧ, не всегда эквивалентно сопротивлению по постоянному току. Хорошо бы иметь замер свежей батарейки, 50% и на уровне разряда.  - AlexeyNadezhin Автор10.04.2024 17:00- Оно сделано в первую очередь для батареек АА и ААА, где счёт идёт не более, чем до 3500 Мач. Никогда не видел 7-баночные кроны.  - jar_ohty10.04.2024 17:00- Крона-ВЦ воздушно-цинковая была семибаночной, потому что воздушно-цинковый элемент дает 1,3 В. 
 
 
 - Jury_7810.04.2024 17:00- Почему не используете wifi, если взяли esp? Можно еще упростить жизнь если использовать micropython.  - AlexeyNadezhin Автор10.04.2024 17:00- В будущем возможно будет использоваться. Сейчас я хотел сделать максимально простое в использовании устройство. 
 
 - fio10.04.2024 17:00- Алексей, огромный респект за ваш труд. - Немного нескромно назвать его народным. Скорее "открытый", "опенсорсный". Звание народного он и сам заслужит - когда будет много форков, улучшений.  - AlexeyNadezhin Автор10.04.2024 17:00+2- Возможно Вы правы. "Народный" в смысле дешёвый и легкоповторяемый. Ну и как преемственность "Народного измерителя пульсации". 
 
 - siberianlaika10.04.2024 17:00- Исходный код имеет смысл выложить на какой-нибудь хостинг с контролем версий. На международный github.com или если хочется в России, то есть gitflic.ru и др. Это сильно упростит внесение изменений и сделает более прозрачным контроль их приема. И в целом, когда код в публичной системе контроля версий, с ясно обозначенной лицензией, это вызывает больше доверия в собществе. 
 - Zara650210.04.2024 17:00- Прочитал заголовок и первый абзац, посмотрел на гору своих батареек, кинулся собирать инструменты и готовиться к пайке, а потом читаю "В процессе теста батарейка полностью разряжается, поэтому протестированные батарейки придётся утилизировать", хнык. 
 - Tomasina10.04.2024 17:00- На всякий случай оставлю ссылочку, кому-то может аукнуться. 
 https://mysku.club/blog/aliexpress/98541.html
 
           
 





falcon4fun
Надежкин, как обычно, хорош :) Делаешь вещи. Спасибо банально за тесты :)
AlexeyNadezhin Автор
Спасибо!
Spaceoddity
Да, за таблицу спасибо)) Недавно выбирал себе лампы с Ra повыше - пригодилась (Navigator Supervision взял).