Главная - Советы
Цифровой измеритель ёмкости и внутреннего сопротивления аккумуляторов. Зарядное устройство-тестер аккумуляторов на Atmega8 Как сделать прибор самостоятельно

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

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

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

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

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

К примеру, мультиметр можно использовать, как прибор для измерения емкости аккумулятора автомобиля, но с его помощью точных показаний вы не получите. Обязательным условием для данного метода (его называют методом контрольной разрядки) является полный заряд батареи. Для начала необходимо подключить к аккумулятору мощный потребитель (вполне подойдет обычная лампочка мощностью 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 Вольт. Для измерения потребуется вставить аккумуляторы в устройство, и на дисплее появятся все необходимые параметры.

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

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

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


Предлагаемое устройство предназначено для измерения ёмкости и внутреннего сопротивления Ni-Cd и Ni-MH аккумуляторов. Предусмотрена звуковая индикация чрезмерно низкого напряжения аккумулятора, а также момента окончания его разряда.

Измерение ёмкости аккумулятора основано на его разрядке стабильным током, измерением времени разрядки и перемножением этих значений. При измерении внутреннего сопротивления прибор измеряет напряжение аккумулятора без нагрузки, затем под нагрузкой током 1 А и на основе этих данных вычисляет внутреннее сопротивление аккумулятора.

Схема прибора показана на рис. 1. Его основа - микроконтроллер АТмедав (DD1). Клавиатура с однопроводным интерфейсом состоит из шести кнопок SB1-SB6. Информация об измеренных параметрах аккумулятора выводится на девятиразрядный светодиодный индикатор HG1. Для разрядки подключаемого аккумулятора использован источник тока, управляемый напряжением (ИТУН) на ОУ DA2, транзисторе VT1, резисторах R9, R10, R19-R21, R23 и конденсаторах С7, С9.

Если напряжение подключённого аккумулятора ниже 1 В, клавиатура прибора заблокирована, а капсюль BF1 излучает три прерывистых звуковых импульса на частоте 600 Гц. Если напряжение аккумулятора выше 1 В, капсюль BF1 излучает два прерывистых звуковых импульса на частоте 3000 Гц при подключении аккумулятора, а также по окончании его разрядки до установленного напряжения

После подключения аккумулятора устанавливают напряжение, до которого его нужно разрядить нажатием на кнопки SB3 и SB4. Шаг установки при кратковременном нажатии - 0,1 В. При удержании кнопки первые десять значений шага - 0,1 В, затем - 1 В. Далее нажатием на кнопки SB1 и SB2 устанавливают ток разрядки. Если эти кнопки удерживать менее пяти секунд, значение тока не изменяется и отображается его текущее значение, как показано на фото рис. 2 (символ і в нижней позиции). Если же кнопки SB1 и SB2 удерживать более пяти секунд, значение тока будет изменяться с переменным шагом: вначале 50 мА, затем 150 мА. При этом символ і будет отображаться в верхней позиции, как показано на фото рис. 3.

Максимальное значение разрядного тока - 2,55 А Как только ток разряда примет значение больше нуля (при напряжении аккумулятора больше установленного порога или равном ему), звуковой сигнал исчезнет а светодиод HL1 начнёт мигать с частотой 0,25 Гц. При нажатии на кнопку SB5 измеряется и запоминается напряжение без нагрузки, затем под нагрузкой, вычисляется внутреннее сопротивление в омах, которое выводится в младшие разряды индикатора с символом г, как показано на фото рис. 4.

При нажатии на кнопку SB6 в старших разрядах индикатора HG1 отображается текущее напряжение аккумулятора. Когда ни одна кнопка не нажата, в старших разрядах индикатора HG1 показано напряжение, до которого необходимо разрядить аккумулятор, а в младших - ёмкость в формате XX,XX ампер-часов. Незначащие нули десятков вольт и ампер-часов погашены программно.

Большая часть деталей смонтирована на печатной плате из односторонне фольгированного стеклотекстолита, чертёж которой показан на рис. 5 Тонкими прямоугольниками показаны компоненты поверхностного монтажа R7, R8 и С5, установленные со стороны печатных проводников.

Для обеспечения линейности тока ИТУН во всём интервале необходимо применять ОУ DA2 с возможно меньшим напряжением смещения нуля и транзистор VT1 с небольшим пороговым напряжением. В экземпляре автора напряжение смещения нуля ОУ DA2 около 4 мВ и транзистор VT1 с напряжением порога 1,85 В при токе стока 1 А, нелинейность тока ИТУН не превышала 10 %. Минимальное значение тока ИТУН - не более 2 мА. Транзистор VT1 установлен без теплоотвода. Для его охлаждения применён вентилятор от компьютерного процессора. Вентилятор и прибор получают питание от нестабили-зированного сетевого адаптера с выходным напряжением 9.. 12 В и током нагрузки не менее 0,5 А.

Налаживание заключается в подборе резисторов R6 и R9. Подбором резистора R6 устанавливают по образцовому вольтметру показания старших разрядов индикатора HG1. Далее нажатием на кнопки SB1 и SB2 выводят на индикаторе HG1 требуемое значение тока разрядки, измеряют ток ИТУН образцовым амперметром и подбором резистора R9 устанавливают измеренный ток равным показаниям индикатора HG1.

P.S. В случае отсутствия самовозбуждения тактового генератора микроконтроллера его выводы 9 и 10 следует соединить с общим проводом через конденсаторы одинаковой ёмкости 12...22 пФ.

Программы микроконтроллера можно скачать .


Дата публикации: 07.06.2012


Мнения читателей
  • [email protected] / 18.07.2019 - 21:40
    Уважаемый Озолин М.А. Построил макет вашей схемы Радио №7, 2015 на ATtiny26 В схеме я так понял ошибка с кварцем. На схеме указан часовой резонатор 32768Hz. А фьюзы (H-17, L-EE) У меня начал работать с кварцем 4 MHz. Может фьюзы неверно указаны? Подскажите пож.. Где опечатка? Чтобы светодиод мигал с частотой 0,5Hz как в описании. Может кварц нужно меньше? Типа 3,2MHz/3,579575/3,68640/ Резонатор пьезокерамический ZTA 3.58 MHz? Схемка простая и класная. Лишнего нет ничево. Работает пока на 4MHz. Вам благодарность. Если подскажите с кварцем то будет вообще супер. С уважением Роман.
  • Озолин М. А / 11.05.2015 - 10:26
    Сопротивление R8 должно быть 1, а не 10 кОм! ОШИБКА РЕДАКТОРОВ ЖУРНАЛА РАДИО И ТОГО, КТО НЕ ГЛЯДЯ ВЫЛОЖИЛ СТАТЬЮ СЮДА. Я им на эту ошибку указывал, сразу после выхода статьи и исправление было опубликовано в разделе "наша консультация". Ссылка на рабочую схему http://maxoz.ru/newAk/newAk.gif
  • Озолин М. А / 11.05.2015 - 10:13
    Господа Борис и Александр К.Г, проверяйте исправность деталей, либо ищите ошибки в монтаже! Прошивка рабочая и многократно проверена!
  • Александр Г.К. / 23.04.2015 - 10:02
    Согласен с Борисом - схема НЕ работает! После "танцев с бубном", так и не запустилась. Единственно,что определяется - это напряжение выше-ниже 1 в. (три или два "бипа").Господин М. Озолин не отзывайтесь(!) - *.HEX просить не буду. Плохой бизнес....
  • Сергей / 18.09.2013 - 07:36
    Как выставить фьюзы для прошивки контроллера?
  • Борис / 28.05.2013 - 06:59
    Схема не работает, при нажатии все кнопки отображает одни и те же цифры в двух младших разрядах. Господин М. Озолин отзовитесь?
  • Виталий / 16.11.2012 - 03:55
    В (ИТУН)- для получения хорошей линейности, ОУ LM357N лучше заменить на MCP601.
  • Александр / 22.10.2012 - 17:10
    А аккумуляторы Li-ion и Li-pol этим измерителем можно проверять?

Модульный вариант наглядного и точного измерителя Ампер-часов аккумуляторов, собранный с минимальными затратами из компьютерного мусора.
Это мой отклик на статью .

Небольшая прелюдия…
Под моим покровительством находится парк из 70 компов, разных годов выпуска и состояния. Естественно на подавляющем количестве имеются источники бесперебойного питания (по тексту – ИБП). Организация бюджетная, денег конечно не дают, типа - делай, что хочешь, но должно всё работать. После коротких тестов с нагрузкой в виде лампочки на 150 Ватт выявил что 70% ИБП не держат нагрузку больше 1 минуты, ИБП фирмы АРС грешат контактами реле переключения (он переходит на АКБ, гудит-пищит, а на выходе полный ноль). Конечно никто мне не давал все ИБП проверить разом. Выход оказался прост: раз в пол года – год забирал компы на чистку, смазку, заодно и ИБП на тест и осмотр потрохов.

Конечно ИБП разных марок и мощностей (есть старичек на 600 Ватт 1992 года выпуска, АКБ родная сдохла этой осенью, до этого делал реанимацию 4 года назад). Если кто не в курсе в бытово-оффисных ИБП применяются АКБ разных типов, корпусов, напряжений и ёмкостей. Типовой представитель - это GP1272F2 (12 Вольт, 7 А/ч). Но попадаются и на 6В - 4,5 А/ч.

Цены на аккумуляторы часто превышаю половину цены нового ИБП. Да ещё в конторке (в которой подрабатываю) тоже скапливаются дохлые батарейки. Возник вопрос, а какова реальная ёмкость до и после поднятия из мусорной корзины, сколько минут работы можно ожидать от ИБП. И тут попалась на глаза статейка И. Нечаева в журнале "Радио" 2/2009 о подобном измерителе.
Конечно, некоторые моменты мне не понравились, такая вот я сволочь .
И так начнём-с…

Это оригинальная схема из статьи


ТТХ: ток разряда 50, 250, 500 ма, напряжение отсечки 2,5-27,5 Вольт.
Перечислю, что не понравилось: ток разряда максимальный всего 0,5а (да и ждать когда разрядится 7 ач не интересно), диапазон отсечки слишком широк и его легко сбить, на пуск через кнопку идёт весь ток, стабилизатор тока на полевике для светодиода это перебор, диод в управляющем выводе увеличивает требуемое падение на токовых резисторах до 1,8В и в случае пробоя 317 ходикам каюк.

Про ток разряда: у аккумов бывает что активная масса как бы запечатывается в намазке (не путать с сульфатацией), при этом подвижность электролита снижается и если разряжать его малым током, то он может отдать ёмкость полностью, а при установке в ИБП тест не пройдёт. Ну тогда надо разряжать его малым током и заряжать, т.е. лечить.
Модульность того, что у меня получилось, хороша тем что можно изготовить 2 и больше разрядных модуля (можно 1 и переключать токовые резисторы) разной мощности или даже типа и 2 отсекателя для 6-ти и 12-вольтовых батарей или 1 с переключателем.

Фотки моего измерителя:


Видим: блок отсекателя, токовая нагрузка, ходики китайские.
Повторюсь, работаю сисАДмином, починяю иногда материнские платы, поэтому имеется некоторая горка дохлого железа.
Начну в обратном порядке: ходики маленько модифицируются, что бы ходили при питании от 1,5 до 25 Вольт.
Схема модификации ходиков:


1117 дёрнул с дохлой материнской платы.
Резистор на 2 кОм это минимальная нагрузка стабилизатора.




соответственно схема:


Это на 2 ампера. Так как R1 оказался больше 0,75 ом пришлось добавить 2 сопротивления (это R3, два в одном на фото) что бы ток был 2 ампера. Если кто то не заметил, прокладок между микрой с транзистором на радиатор нету. Можно конечно использовать и другую схему, типа как в радио 3/2007 стр. 34, только добавьте опорное напряжение.
Токовая и термозащита в 317 (настоящей) есть.

Ну и самая страшная часть, это отсекатель.



Супер 3D-монтаж, зато всего 3см кубических, на печатке будет гораздо крупнее. Полевик, если на 6В АКБ, то очень желательно с логическим управленим.
Данная часть почти не отличается от первоначальной, кнопка пуск перенесена с сток-исток на коллектор-эммитер, переменник заменён на фиксированный делитель, китайский сверхяркий светодиод через резистор.

Возможные вариации: верхнее плечо (по исходной схеме это R4) заменить на сопротивление + переменник, ограничив таким образом диапазон настройки (требуется когда ток разряда соизмерим с ёмкостью АКБ); возможны иные идеи.

Для формул Uref=2.5v для обычных 431, а для 431L оно равно 1.25v.

Отсекатель с фиксированным напряжением:


Формула для расчета: Uотс= Uref(1+R4/R5)
или R5=(Uотс- Uref)/(Uref*R4)

Отсекатель с регулируемым напряжением:

Формула для расчета: Uотс = Uref(1+(R4+R6)/R5)
или R5 = (Uотс- Uref) / (Uref*(R4+R6))

Но тут надо считать от переменника, на нём при разряде 0,1с должно падать (Uдельта) 1,15v для 6в акб и 2,30v для 12v акб.
Поэтому формулы преобразуются и расчет несколько иной.
Uмин смотрим в таблице ниже.
R5 = Uref * R6 / Uдельта
R4 = ((Uмин -Uref) * R5) / Uмин

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

Сама идея, лежащая в основе работы устройства, крайне проста: есть заряженный аккумулятор и нагрузка в виде резистора, нужно лишь измерять ток, напряжение и время в ходе разряда АКБ, и по полученным данным рассчитать его емкость. В принципе, можно обойтись вольтметром и амперметром, но сидеть за приборами несколько часов удовольствие сомнительное, поэтому намного проще и точнее можно сделать это используя регистратор данных. Я в качестве такого регистратора использовал платформу 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 мА.

Это устройство предназначено для измерения ёмкости аккумуляторов Li-ion и Ni-Mh , а также для заряда Li-ion аккумуляторов с выбором начального тока заряда.

Управление

Подключаем устройство к стабилизированному блоку питания 5в и током 1А (например от сотового телефона). На индикаторе в течении 2 сек отображается результат предыдущего измерения емкости "ххххmA/c" а на второй строке значение регистра OCR1A "S.xxx". Вставляем аккумулятор. Если нужно зарядить аккумулятор то кратко жмём кнопку ЗАРЯД, если нужно измерить ёмкость то кратко жмём кнопку ТЕСТ. Если нужно изменить ток заряда (значение регистра OCR1A) то долго(2 сек) жмем кнопку ЗАРЯД. Заходим в окно регулировки регистра. Отпускаем кнопку. Кратко нажимая на кнопку ЗАРЯД меняем по кругу значения (50-75-100-125-150-175-200-225) регистра, в первой строке показывается ток заряда пустого аккумулятора при выбранном значении (при условии что у вас в схеме стоит резистор 0,22 Ом). Кратко жмём кнопку ТЕСТ значение регистра OCR1A запоминаются в энергонезависимой памяти.
Если вы проделывали разные манипуляции с устройством и вам надо сбросить показания часов, измеренной ёмкости то долго жмём кнопку ТЕСТ (значение регистра OCR1A не сбрасываются). Как только заряд окончен подсветка дисплея отключается, для включения подсветки кратко нажмите кнопку ТЕСТ или ЗАРЯД.

Логика работы устройства следующая:

При подаче питания, на индикаторе отображается результат предыдущего измерения ёмкости аккумулятора и значение регистра OCR1A, хранящееся в энергонезависимой памяти. Через 2 секунды устройство переходит в режим определения типа аккумулятора по величине напряжения на клемах.

Если напряжение более 2В то это Li-ion аккумулятор и напряжение полного разряда составит 2,9В, иначе это Ni-MH аккумулятор и напряжение полного разряда составит 1В. Только после подключения аккумулятора доступны кнопки управления. Далее устройство ожидает нажатия кнопок Тест или Заряд. На дисплее отображается "_STOP". При нажатии кратко кнопки Тест подключается нагрузка через MOSFET.

Величина тока разряда определяется по напряжению на резисторе 5,1Ом и, каждую минуту суммируется с предыдущим значением. В устройстве используется кварц 32768Гц для работы часов.

На дисплее отображается текущая величина емкости аккумулятора "ххххmA/c" и тора разряда "А.ххх", а также время "хх:хх:хх"с момента нажатия кнопки. Показывается также анимированный значок разряда аккумулятора. По окончании теста для Ni-MH аккумулятора появляется надпись "_STOP", результат измерения отображается на дисплее "ххххmA/c" и запоминается.

Если аккумулятор Li-ion, то также результат измерения отображается на дисплее "ххххmA/c" и запоминается, но сразу включается режим заряда. На дисплее отображается содержимое регистра OCR1A "S.xxx". Показывается также анимированный значок заряда аккумулятора.

Регулировка тока заряда осуществляется с помощью ШИМ и ограничивается резистором 0,22Ом. Апаратно ток заряда можно уменьшить увеличив сопротивление 0,22Ом до 0,5-1Ом. В начале заряда ток плавно нарастает до значения регистра OCR1A или до достижения напряжения на клемах аккумулятора 4,22В (если аккумулятор был заряжен).

Величина тока заряда зависит от значения регистра OCR1A - больше значение - больше ток заряда. При превышении напряжения на клемах аккумулятора 4,22В значение регистра OCR1A уменьшается. Процесс дозаряда продолжается до величины регистра OCR1A равного 33, что соответствует току около 40 mA. На этом заряд заканчивается. Подсветка дисплея отключается.

Настройка

1. Подключаем питание.
2. Подключаем аккумулятор.
3. Подключаем вольтметр к аккумулятору.
4. Временными кнопками + и - (PB4 и PB5)добиваемся совпадения показания вольтметра на дисплее и на эталонном вольтметре.
5. Длительно нажимаем на кнопку ТЕСТ (2 сек), происходит запоминание.
6. Извлекаем аккумулятор.
7. Подключаем вольтметр к резистору 5,1Ом (по схеме около транзистора 09N03LA).
8. Подключаем регулируемый БП к клемам аккумулятора, выставляем на БП 4В.
9. Нажимаем кратко кнопку ТЕСТ.
10. Измеряем напряжение на резисторе 5,1Ом - U.
11. Высчитываем ток разряда I=U/5,1
12. Временными кнопками + и - (PB4 и PB5) устанавливаем на индикаторе"А.ххх" рассчитанный ток разряда I.
13. Длительно нажимаем на кнопку ТЕСТ (2 сек), происходит запоминание.

Устройство питается от стабилизированного источника напряжением 5 Вольт и током 1А. Кварц на 32768Гц предназначен для точного отсчета времени. Контроллер ATmega8 тактируется от внутреннего генератора частотой 8 МГц, также необходимо установить защиту от стирания EEPROM соответствующими битами конфигурации. При написании управляющей программы были использованы обучающие статьи с данного сайта.

Текущие значения коэффициентов напряжения и тока (Ukof . Ikof) можно увидеть если подключить дисплей 16х4 (16х4 предпочтительно для отладки) на третьей строке. Или в Ponyprog если открыть файл прошивки EEPROM (считать с контроллера EEPROM).
1 байт - OCR1A , 2 байт - I_kof, 3 байт - U_kof, 4 и 5 байт результат предыдущего измерения емкости.

Видео работы прибора:

 


Читайте:



Автомобильный усилитель – экономные варианты создания звука в салоне Как сделать автомобильный усилитель

Автомобильный усилитель – экономные варианты создания звука в салоне Как сделать автомобильный усилитель

Здравствуйте! Хочу представить вашему вниманию схему, фотографии и печатные платы автомобильного усилителя. Схемы эти легко встретить в интернете....

Щелкаем реле правильно: коммутация мощных нагрузок Реле разомкнутое

Щелкаем реле правильно: коммутация мощных нагрузок Реле разомкнутое

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

Разница между вольтом и ваттом

Разница между вольтом и ваттом

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

Генератор импульсных токов

Генератор импульсных токов

Требования к генераторам импульсов (ГИ) включают в себя необходимость достижения высокого КПД. Кроме того, они определяются свойствами...

feed-image RSS