Самодельный измеритель емкости кислотного аккумулятора. Приборы для измерения емкости аккумулятора. Измеритель емкости автомобильных аккумуляторов

Для того, что бы измерить ёмкость какого-нибудь аккумулятора, обычно поступают так: подключают к этому аккумулятору резистор определённого номинала, который разряжает этот аккумулятор, и записывая величины тока, протекающего через резистор и напряжение на нём, дожидаются полной разрядки аккумулятора. По полученным данным строится график разряда, из которого и выясняют ёмкость. Проблема только в том, что по мере снижения напряжения на аккумуляторе ток через резистор так же будет уменьшаться, так что данные придётся интегрировать во времени, поэтому точность такого способа измерения ёмкости аккумулятора оставляет желать лучшего.

Если же разряжать аккумулятор не через резистор, а через источник стабильного тока, то это позволит определить ёмкость аккумулятора с очень большой точностью. Но здесь есть одна проблема - напряжение на аккумуляторе (1,2..3,7 В) недостаточно для работы источника стабильного тока. Но эту проблему можно обойти, добавив в схему измерения дополнительный источник напряжения.

Рис. 1. Схема для измерения ёмкости аккумулятора
V1 - исследуемый аккумулятор; V2 - вспомогательный источник напряжения; PV1 - вольтметр;
LM7805 и R1 - источник стабильного тока; VD1 - защитный диод.

На рисунке 1 изображена принципиальная схема установки для измерения ёмкости аккумулятора. Здесь видно, что измеряемый аккумулятор V1 включён последовательно с источником тока (его образуют интегральный стабилизатор LM7805 и резистор R1) и вспомогательным источником питания V2. Поскольку V1 и V2 соединены последовательно, то сумма их напряжений оказывается достаточной для работы источника тока. Так как минимальное напряжение, необходимое для работы источника тока составляет 7 В (из них 5 В - это напряжение на выходе микросхемы LM7805, т.е. в данном случае это падение напряжения на резисторе R1, и 2 В - это минимально допустимое падение напряжения между входом и выходом LM7805), то для работы источника тока суммы напряжений V1 и V2 хватает с некоторым запасом.

Вместо стабилизатора LM7805 можно использовать другой интегральный стабилизатор, например, LM317 с выходным напряжением 1,25 В и минимальным падением напряжения 3 В. Так как минимальное рабочее напряжение источника тока будет равно 4,25 В, то напряжение второго источника напряжения V2 можно снизить до 5 В. В случае использования стабилизатор LM317 величина тока стабилизации будет определяться по формуле I = 1,25/R1

Тогда для разрядного тока 100 мА величина сопротивления R1 должна быть примерно 12,5 Ом.

Как производить измерение ёмкости аккумулятора

Вначале подбором резистора R1 нужно установить разрядный ток - обычно величину разрядного тока выбирают равной рабочему току разряда аккумулятора. Следует так же иметь в виду, что некоторые модели интегральных стабилизаторов напряжения 7805 могут потреблять небольшой управляющий ток порядка 2...8 мА, так что величину тока в схеме рекомендуется проверять амперметром. Далее полностью заряженный аккумулятор V1 устанавливают в схему, и замкнув выключатель SA1 начинают отсчёт времени до того момента, когда напряжение на аккумуляторе снизится до минимальной величины - для разных типов аккумуляторных батарей эта величина различна, например, для никель-кадмиевых (NiCd) - 1,0 В, для никель-металлогидридных (NiMH) - 1,1 В, для литий-ионных (Li-ion) - 2,5...3 В, для каждой конкретной модели аккумулятора эти данные нужно смотреть в соответствующей документации.

После достижения минимального напряжения на аккумуляторе выключатель SA1 размыкают. Следует помнить, что разряд аккумулятора ниже минимального напряжения может вывести его из строя. Перемножив величину разрядного тока (в Амперах) на время разряда (в часах) получаем ёмкость аккумулятора (А*ч):

C = I * t

Рассмотрим практическое применение этого способа измерения ёмкости аккумулятора на конкретном примере.

Измерение ёмкости аккумулятора NB-11L

Аккумулятор NB-11L (рис. 2.) был приобретён в интернет-магазине DealeXtreme за 3,7 доллара (SKU: 169532). На корпусе аккумулятора указана его ёмкость - 750 мА*ч. На сайте его ёмкость указана уже скромнее - 650 мА*ч. Какая же реальная ёмкость этого аккумулятора?

Рис. 2. Li-ion аккумулятор NB-11L ёмкостью якобы 750 мА*ч
Fits CAN.NB-11L 3.7V 750mAh
Use specified charger only

Что бы подключить проводники к контактам аккумулятора потребуются две скрепки, которые следует изогнуть так, как показано на рисунке 3, и подключить их к "+" и "-" выводам аккумулятора (рис. 4.). Необходимо избегать замыкания контактов, лучше их заизолировать.

Для измерения ёмкости аккумулятора NB-11L его разрядный ток был принят равным 100 мА. Для этого величина резистора R1 была выбрана чуть больше 50 Ом. Мощность, рассеиваемая на резисторе R1 определяется по формуле P = V 2 /R1 , где V - напряжение на резисторе R1. В данном случае P=5 2 /50=0,5 Вт. Стабилизатор LM7805 следует установить на радиатор, если же под рукой нет подходящего радиатора, то микросхему можно частично погрузить в стакан с холодной водой, но так, что бы выводы остались сухими (в случае корпуса TO-220).

После установки полностью заряженного аккумулятора NB-11L в схему и замыкания выключателя SA1 начался отсчёт времени с периодическим контролем напряжения по вольтметру PV1. Данные заносились в таблицу, по которой был построен график разряда аккумулятора NB-11L (рис. 5).

Рис. 5. График напряжения на аккумуляторе NB-11L в процессе его разряда током 100 мА

Отсюда видно, что за 5 часов разряда током 0,1 А напряжение на аккумуляторе снизилось до 3 вольт и стало быстро падать дальше.

C = I * t = 0,1 * 5 = 0,5 А = 500 мА*ч.

Так что реальная же ёмкость аккумулятора NB-11L оказалась в 1,5 раза ниже указанной на нём.

Свинцово-кислотные аккумуляторы, на первый взгляд, очень просты по конструкции. Но оборотной стороной такой простоты является необходимость точно выдерживать определенные правила по эксплуатации аккумулятора. Только тогда он реализует заявленное производителем количество циклов заряд-разряд, а иногда и покажет лучший результат. Для этого потребуется дополнительное оборудование, о котором и пойдет речь в статье.

Сульфатация пластин аккумулятора

Основная опасность, которая существует для свинцово-кислотного аккумулятора — хранение устройства в разряженном состоянии. При этом происходит процесс так называемой сульфатации — осаждения на пластинах сульфата свинца (PbSO4), являющегося диэлектриком. Минимально допустимое напряжение на клеммах аккумулятора обычно приводится в его документации. Например, для большинства свинцово-кислотных аккумуляторов с номинальным напряжением 12,6 В минимальное напряжение, после которого начинается процесс интенсивной сульфатации пластин аккумулятора, составляет 10,8 В.

Измерение напряжения и внутреннего сопротивления аккумуляторных батарей

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

Для контроля аккумулятора с возможностью оперативного обнаружения неисправности требуется специальный прибор. Помимо напряжения на клеммах, он должен измерять внутреннее сопротивление (или проводимость) аккумулятора. Сравнив измеренные значения с приведенными в документации на аккумулятор, можно сделать вывод о пригодности батареи для дальнейшей эксплуатации. Примером такого прибора является PITE 3915 . Его важным преимуществами являются наличие большого цветного ЖК-дисплея и удобной клавиатуры.


Зачастую для ускорения работы требуются не только сами данные, но и оценка, выходят ли они за допустимые пределы. В этом случае удачным выбором будут измерительные приборы Fluke серии BT500 .

Пользователь может установить пороговые значения для 10 параметров, при прохождении каждого из которых прибор выдает предупреждение. Другой особенностью серии приборов Fluke BT500 является функция измерения пульсаций зарядного устройства. Возможно измерение циклов заряда-разряда сразу для нескольких аккумуляторов. При этом для каждого аккумулятора в памяти прибора заводится свой профиль, в котором накапливаются данные последовательно сделанных измерений. Помимо базовой модели Fluke BT510, в серию входят Fluke BT520 для измерения параметров аккумуляторов, установленных в шкафах и других труднодоступных местах, а также Fluke BT-521 с расширенными функциями. В комплект поставки Fluke BT520 и BT521 входят интерактивный зонд (BTL20 и BTL21 соответственно), а также сумка для переноски. Особенностью Fluke BT521 являются функции измерения температуры, а также беспроводной связи с мобильным устройством.

Зависимость силы тока, протекающего через аккумулятор, от разности потенциалов на его выводах, является нелинейной величиной. Поэтому внутреннее сопротивление аккумулятора, измеренное по постоянному току, носит скорее оценочный характер, так как зависит от многих факторов. Для многих практических применений такой точности достаточно — принимается решение исправен/неисправен аккумулятор. Но, если вы хотите понять, стоит ли возиться с восстановлением аккумулятора, требуется более точно измерить внутреннее сопротивление. Повысить точность измерения внутреннего сопротивления батареи можно, если производить это на переменном токе. Именно такой способ реализован в приборе PITE BT-301 . Другой важной особенностью прибора является наличие в нем дополнительной функции проверки никель-кадмиевых аккумуляторов.


Приборы для измерения ёмкости аккумулятора

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

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

Примером компактных и простых в использовании измерителей емкости аккумуляторов является серия приборов «Кулон» отечественного производства. Время измерения составляет 4 с. В процессе измерения на аккумулятор подается сигнал особой формы. По отклику определяется активная площадь пластин, на основании чего вычисляется емкость.

Следует отметить, что для критически важных применений измерение емкости аккумулятора следует проводить с помощью специально предназначенной для этого нагрузки, например PITE-3980 . Данный прибор способен передавать данные о разряде аккумулятора беспроводным способом.


«Умные» решения для проверки аккумуляторных батарей

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

Если вы не знаете, как проверить батарею мультиметром своими руками, то мы предлагаем вам ознакомиться с методами проведения тестирования.

Для начала рассмотрим способ контрольного разряда, его выполнение осуществляется в несколько шагов:

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

Данный метод тестирования подходит не всем, так как для его выполнения автовладелец должен не только правильно подойти к выполнению задачи, но и располагать свободным временем. Так что для тестирования можно применить простой тестер. При такой диагностике величина нагрузки должна быть такой, чтобы она смогла забрать 50% тока, который нужен для нормального функционирования батареи. Этот способ тестирования актуален тогда, когда АКБ полностью заряжена (видео опубликовано каналом Avto-Blogger.ru).


Чтобы разрядить устройство, можно применить обычную лампочку накаливания, к которой подключаются два провода, и которая впоследствии подсоединяется к АКБ. Если в ходе диагностики вы увидели, что освещение, которое выдает лампа, стало слишком тусклым, это говорит о том, что аккумулятор разрядился. Если в итоге тестирование показало, что показатель напряжения равен 12.4 вольтам, это свидетельствует о том, что ваша батарея имеет хорошую емкость.

Проверка напряжения АКБ?

Поскольку показатель напряжения на выводах АКБ транспортного средства составляет либо 12, либо 24 вольта, владельцу машины не обязательно соблюдать все меры безопасности. Чтобы получить наиболее точные результаты тестирования, сначала следует осуществить замер величины переменного, а также постоянного тока. Сам процесс замера выполняется с применением выводов, которые находятся на торцевой стороне девайса. Тестер подключается к выводам АКБ, а затем тестер следует настроить в режим измерения постоянного тока. 12.4-12.6 вольт — это самый оптимальный параметр напряжения на клеммах автомобильной батареи.

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

Каждый автовладелец задается вопросом, какой необходим прибор для измерения емкости аккумулятора. Измерение данной величины зачастую проводится при прохождении планового ТО, однако будет полезным научиться самому ее определять.

Прибор для измерения емкости аккумулятора

Емкость аккумулятора - это параметр, который определяет объем энергии, отдаваемый батареей при определенном напряжении за один час. Измеряется он в А/ч (Ампер в час), и зависит от которую определяют специальным устройством - ареометром. При покупке новой батареи все технические параметры производитель указывает на корпусе. Но эту величину можно определить и самому. Для этого существуют специальные приборы и методы.

Самый простой способ - это взять специальный тестер, например "Кулон". Это современный прибор для измерения емкости автомобильного аккумулятора, а также его напряжения. В этом случае вы затратите минимальное количество времени и получите достоверный результат. Для проверки необходимо подключить прибор к клеммам батареи и в течение нескольких секунд он определит не только емкость, а также напряжение аккумулятора и состояние пластин. Однако существуют и другие емкости АКБ.

Первый метод (классический)

К примеру, мультиметр можно использовать, как прибор для измерения емкости аккумулятора автомобиля, но с его помощью точных показаний вы не получите. Обязательным условием для данного метода (его называют методом контрольной разрядки) является полный заряд батареи. Для начала необходимо подключить к аккумулятору мощный потребитель (вполне подойдет обычная лампочка мощностью 60Вт).


После необходимо собрать цепь, которая состоит из мультиметра, АКБ, потребителя, и подать нагрузку. Если лампочка в течение 2 минут не меняет своей яркости (в противном случае аккумулятор восстановлению не подлежит), снимаем показания прибора в определенные интервалы времени. Как только показатель упадет ниже стандартного напряжения батареи (под нагрузкой она составляет 12В), начнется ее разряд. Теперь, зная промежуток времени, который потребовался на полное опустошение запаса энергии и ток нагрузки потребителя, необходимо перемножить эти значения. Произведение этих величин и является реальной емкостью АКБ. Если полученные значения отличаются от паспортных данных в меньшую сторону, необходима замена батареи. Этот метод дает возможность определить емкость любой АКБ. Недостатком данного метода являются большие затраты времени.

Второй метод

Также можно воспользоваться методом, при котором аккумулятор разряжают через резистор, применяя специальную схему. Используя секундомер определяем время, затраченное на разряд. Так как энергия будет теряться при напряжении в пределах 1 Вольта, мы с легкостью определим воспользовавшись формулой I=UR, где I - сила тока, U - напряжение, R - сопротивление. При этом необходимо избежать полной разрядки батареи, используя, например, специальное реле.

Как сделать прибор самостоятельно

При отсутствии возможности приобретения готового устройства, всегда можно собрать прибор для измерения емкости аккумулятора своими руками.

Для определения степени заряда и емкости АКБ можно воспользоваться В продаже имеется много моделей уже готовых вилок, однако можно собрать ее собственноручно. Далее рассматривается один из вариантов.

В данной модели используется расширенная шкала, благодаря чему достигается высокая точность измерений. Имеется встроенное нагрузочное сопротивление. Шкала разделена на два диапазона (0-10 В и 10-15 В), что дает дополнительное снижение погрешности измерений. Устройство также имеет 3-х вольтовую шкалу и другой вывод измерительного приспособления, давая возможность проверки отдельных банок АКБ. Шкала на 15В достигается благодаря снижению на диоде и стабилитроне напряжения. Величина тока устройства возрастает, если значение напряжения превышает уровень открытия стабилитрона. При подаче напряжения ошибочной полярности защитную функцию выполняет диод.

На схеме: R1- передает стабилитрону требуемый ток; R2 и R3 - резисторы, подобранные для микроамперметра М3240; R4 - определяет ширину узкого диапазона шкалы; R5 - нагрузочное сопротивление, включается тумблером SB1.

Сила тока нагрузки определяется по закону Ома. В расчет принимается нагрузочное сопротивление.

Прибор для измерения емкости аккумулятора АА

Емкость аккумуляторов типа АА измеряется в мА/ч (миллиампер в час). Для измерения таких батарей можно применять специальные зарядные устройства, которые определяют ток, напряжение и емкость батареи. Примером такого устройства является прибор для измерения емкости аккумулятора AccuPower IQ3, который имеет блок питания с диапазоном напряжения от 100 до 240 Вольт. Для измерения потребуется вставить аккумуляторы в устройство, и на дисплее появятся все необходимые параметры.

Определение емкости с помощью зарядного устройства

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

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

В последнее время я начал замечать, что мой смартфон стал разряжаться быстрее. Поиски программного «пожирателя» энергии плодов не принесли, поэтому стал задумываться, не пришло ли время заменить АКБ. Но абсолютной уверенности в том, что причина в батарее не было. Поэтому прежде чем заказывать новый аккумулятор решил попробовать измерить реальную емкость старого. Для этого было решено собрать простой измеритель емкости АКБ, тем более что идея эта вынашивалась уже давно – уж очень много батареек и аккумуляторов окружает нас в повседневной жизни, и было бы неплохо иметь возможность время от времени тестировать их.

Сама идея, лежащая в основе работы устройства, крайне проста: есть заряженный аккумулятор и нагрузка в виде резистора, нужно лишь измерять ток, напряжение и время в ходе разряда АКБ, и по полученным данным рассчитать его емкость. В принципе, можно обойтись вольтметром и амперметром, но сидеть за приборами несколько часов удовольствие сомнительное, поэтому намного проще и точнее можно сделать это используя регистратор данных. Я в качестве такого регистратора использовал платформу Arduino Uno.

1. Схема

С измерением напряжения и времени в Arduino проблем нет – есть АЦП, но чтобы измерить ток нужен шунт. У меня появилась идея использовать сам нагрузочный резистор в качестве шунта. То есть, зная на нем напряжение и предварительно измерив сопротивление, мы всегда можем рассчитать ток. Поэтому простейший вариант схемы будет состоять лишь из нагрузки и АКБ, с подключением к аналоговому входу Arduino. Но было бы неплохо предусмотреть отключение нагрузки по достижению порогового напряжение на батарее (для Li-Ion это обычно 2,5-3В). Поэтому я предусмотрел в схеме реле, управляемое цифровым пином 7 через транзистор. Конечный вариант схемы на рисунке ниже.

Все элементы схемы я разместил на кусочке макетной платы, которая устанавливается прямо на Uno. В качестве нагрузки использовал спираль из нихромовой проволоки толщиной 0,5мм, имеющей сопротивление около 3 Ом. Это дает расчетное значение тока разряда 0,9-1,2А.

2. Измерение тока

Как было сказано выше ток рассчитывается исходя из напряжения на спирали и её сопротивления. Но стоит учесть, что спираль нагревается, а сопротивление нихрома довольно сильно зависит от температуры. Чтобы компенсировать ошибку я просто снял вольт-амперную характеристику спирали, используя лабораторный блок питания и давая ей прогреться перед каждым измерением. Далее вывел в Excel уравнение линии тренда (график ниже), которое дает довольно точную зависимость i(u) с учетом нагрева. Видно, что линия не прямая.

3. Измерение напряжения

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

4. Программа

Код не представляет из себя ничего сложного:

Текст программы

#define A_PIN 1 #define NUM_READS 100 #define pinRelay 7 const float typVbg = 1.095; // 1.0 -- 1.2 float Voff = 2.5; // напряжение выключения float I; float cap = 0; float V; float Vcc; float Wh = 0; unsigned long prevMillis; unsigned long testStart; void setup() { Serial.begin(9600); pinMode(pinRelay, OUTPUT); Serial.println("Press any key to start the test..."); while (Serial.available() == 0) { } Serial.println("Test is launched..."); Serial.print("s"); Serial.print(" "); Serial.print("V"); Serial.print(" "); Serial.print("mA"); Serial.print(" "); Serial.print("mAh"); Serial.print(" "); Serial.print("Wh"); Serial.print(" "); Serial.println("Vcc"); digitalWrite(pinRelay, HIGH); testStart = millis(); prevMillis = millis(); } void loop() { Vcc = readVcc(); //считывание опорного напряжения V = (readAnalog(A_PIN) * Vcc) / 1023.000; //считывание напряжения АКБ if (V > 0.01) I = -13.1 * V * V + 344.3 * V + 23.2; //расчет тока по ВАХ спирали else I=0; cap += (I * (millis() - prevMillis) / 3600000); //расчет емкости АКБ в мАч Wh += I * V * (millis() - prevMillis) / 3600000000; //расчет емкости АКБ в ВтЧ prevMillis = millis(); sendData(); // отправка данных в последовательный порт if (V < Voff) { //выключение нагрузки при достижении порогового напряжения digitalWrite(pinRelay, LOW); Serial.println("Test is done"); while (2 > 1) { } } } void sendData() { Serial.print((millis() - testStart) / 1000); Serial.print(" "); Serial.print(V, 3); Serial.print(" "); Serial.print(I, 1); Serial.print(" "); Serial.print(cap, 0); Serial.print(" "); Serial.print(Wh, 2); Serial.print(" "); Serial.println(Vcc, 3); } float readAnalog(int pin) { // read multiple values and sort them to take the mode int sortedValues; for (int i = 0; i < NUM_READS; i++) { delay(25); int value = analogRead(pin); int j; if (value < sortedValues || i == 0) { j = 0; //insert at first position } else { for (j = 1; j < i; j++) { if (sortedValues <= value && sortedValues[j] >= value) { // j is insert position break; } } } for (int k = i; k > < (NUM_READS / 2 + 5); i++) { returnval += sortedValues[i]; } return returnval / 10; } float readVcc() { // read multiple values and sort them to take the mode float sortedValues; for (int i = 0; i < NUM_READS; i++) { float tmp = 0.0; ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); ADCSRA |= _BV(ADSC); // Start conversion delay(25); while (bit_is_set(ADCSRA, ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both tmp = (high << 8) | low; float value = (typVbg * 1023.0) / tmp; int j; if (value < sortedValues || i == 0) { j = 0; //insert at first position } else { for (j = 1; j < i; j++) { if (sortedValues <= value && sortedValues[j] >= value) { // j is insert position break; } } } for (int k = i; k > j; k--) { // move all values higher than current reading up one position sortedValues[k] = sortedValues; } sortedValues[j] = value; //insert current reading } //return scaled mode of 10 values float returnval = 0; for (int i = NUM_READS / 2 - 5; i < (NUM_READS / 2 + 5); i++) { returnval += sortedValues[i]; } return returnval / 10; }

Каждые 5 секунд данные о времени, напряжении батареи, токе разряда, текущей емкости в мАч и ВтЧ, а также напряжении питания передаются в последовательный порт. Ток рассчитывается по полученной в п. 2 функции. По достижении порогового напряжения Voff тест прекращается.
Единственным, на мой взгляд, интересным моментом в коде я бы выделил использование цифрового фильтра. Дело в том, что при считывании напряжения значения неизбежно «пляшут» вверх-вниз. Сначала я пытался уменьшить этот эффект просто сделав 100 измерений за 5 секунд и взяв среднее. Но результат по-прежнему меня не удовлетворил. В ходе поисков я наткнулся на такой программный фильтр. Работает он похожим образом, но вместо усреднения он сортирует все 100 значений измерений по возрастанию, выбирает центральные 10 и высчитывает среднее из них. Результат меня впечатлил – флуктуации измерений полностью прекратились. Я решил использовать его и для измерения внутреннего опорного напряжения (функция readVcc в коде).

5. Результаты

Данные из монитора последовательного порта в несколько кликов импортируются в Excel и выглядят следующим образом:

В случае с моим Nexus 5 заявленная ёмкость аккумулятора BL-T9 – 2300 мАч. Измеренная мной – 2040 мАч при разряде до 2,5 В. В реальности контроллер вряд ли позволяет сесть батарее до такого низкого напряжения, скорее всего пороговое значение 3В. Ёмкость в этом случае 1960 мАч. Полтора года службы телефона привели к просадке емкости примерно на 15%. С покупкой новой АКБ было решено повременить.
С помощью данного тестера было разряжено уже несколько других Li-Ion аккумуляторов. Результаты выглядят очень реалистично. Измеренная емкость новых АКБ совпадает с заявленной с отклонением менее 2%.
Данный тестер подойдет и для металл-гидридных пальчиковых аккумуляторов. Ток разряда в этом случае составит около 400 мА.