Тестер аккумуляторных батарей на ардуино своими руками

Добавил пользователь Валентин П.
Обновлено: 05.10.2024

Ранее мы рассматривали различные схемы на основе набора ARDUINO. В этой статье, сегодня мы будем конструировать индикатор уровня заряда батареи. В ней ряд из 6-ти разноцветных светодиодов показывают уровень заряда батареи. Эта схема может пригодится для контроля вашего 12 В аккумулятора. Есть много схем на этом сайте более простых, но у нас цель собрать схему на основе ARDUINO, рассмотреть её работу.

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

Предлагаемая ниже, схема покажет Вам, сколько энергии осталось в аккумуляторе. Схема может быть подключена к батарее, когда эта схема указывает на низкий заряд батареи, Вы можете подключить батарею для зарядки. Схема имеет 6 светодиодов разных цветов, один светодиод светится, указывая уровень напряжения батареи.

Если ваш аккумулятор полный заряда — самый левый светодиод загорается, а если аккумулятор разрядился — светится правый светодиод.

Схема индикатора уровня:

Индикатор уровня заряда батареи на ARDUINO

Таблица уровня заряда батареи:

Светодиод led №1 – 100% до 80%

Светодиод №2 – 80% до 60%

Светодиод №3 – 60% до 40%

Светодиод №4 – 40% до 20%

Светодиод №5 – 20% до 5%

Светодиод №6 —
//--------Program developed by R.Girish---------//
int analogInput = 0;
int f=2;
int e=3;
int d=4;
int c=5;
int b=6;
int a=7;
int s=13;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000;
float R2 = 10000;
int value = 0;
void setup()
Serial.begin(9600);
pinMode(analogInput,INPUT);
pinMode(s,OUTPUT);
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
digitalWrite(s,LOW);
digitalWrite(a,HIGH);
delay(500);
digitalWrite(b,HIGH);
delay(500);
digitalWrite(c,HIGH);
delay(500);
digitalWrite(d,HIGH);
delay(500);
digitalWrite(e,HIGH);
delay(500);
digitalWrite(f,HIGH);
delay(500);
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
>
void loop()
value = analogRead(analogInput);
vout = (value * 5.0) / 1024;
vin = vout / (R2/(R1+R2));
Serial.println("Input Voltage text-align: center;">Калибровка:

Калибровка для этого Ардуино "6 светодиодный индикатор уровня заряда батареи" должна быть выполнена тщательно. Если Вы не правильно откалибруете, схема будет показывать неверный уровень напряжения батареи.

При включении, схема начинает со светодиодного тест. Здесь светодиоды горят последовательно с некоторой задержкой. Это может помочь при отладке ошибок. Далее:

1) Установить напряжение регулируемого источника питания точно 12,50 в.

2) Откройте монитор.

3) Поверните подстроечным резистором по часовой стрелке или против часовой стрелки и выведите показание до 12,50 в.

4) Теперь уменьшите регулируемым источником питания до 12,00 в, показания на серийном мониторе должны показать тоже 12,00 В.

5) Теперь увеличим напряжение до 13,00 В - показания на мониторе должны показать то же самое или очень близко к 13В.

6) При увеличении или уменьшении напряжения, каждый светодиод включается/выключается с разными уровнями напряжения.

Если указанные выше шаги выполнены успешно, Ваш Индикатор уровня заряда батареи настроена!

Тестер емкости батареек

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

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

Схема устройства достаточно проста, т.к. основана на платформе Arduino UNO SMD. Принципиальная схема платформы Arduino UNO показана на Рисунке 1. На схеме изображен микроконтроллер Atmel ATmega8, автор использовал вариант платы с микроконтроллером ATmega328, но конфигурация выводов и подключение в схеме для этих микроконтроллеров идентичны.

Принципиальная схема Arduino UNO
Рисунок 1. Принципиальная схема отладочной платы Arduino UNO.

К плате Arduino подключается модуль 2-строчного ЖК индикатора, цифровой датчик температуры DS18B20 и держатель батареи с нагрузочным резистором (Рисунок 2).

Принципиальная схема тестера батареек на базе Arduino
Рисунок 2. Принципиальная схема тестера батареек на базе платформы Arduino UNO

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

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

Тестер смонтирован в подходящий корпус, в котором размещается плата Arduino, модуль ЖК индикатора и плата на которой установлены внешние компоненты (датчик температуры, резистор регулировки контрастности индикатора, нагрузочные резисторы).

Работа с тестером

Отображение данных на индикаторе тестера батареек
Рисунок 3. Отображение данных на ЖК индикаторе тестера батареек

При достижении напряжения батарейки уровня 0.2 В тестирование прекращается и на экране индикатора отображаются конечные результаты.

Результаты тестирования батареек различных производителей

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

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

В основном для теста в магазинах приобретались батарейки в комплекте из 4 шт., поэтому интерес представляет соотношение стоимости батарейки и ее емкости.

Тестер аккумуляторов v 2 на Ардуино ( Arduino )

Первая версия тестера -ОПИСАНИЕ - ВИДЕО.

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

Б ы ло не удобно заряжать АКБ потом подключать к тестеру, после теста снимать и опять заряжать.

Во второй версии все доработал.

Работает по такому алгоритму.

-Подключили АКБ и нажали кнопку, старт заря дки или дозаря дки АКБ.

-после полной зарядки, разряжает током 160-200мАм считает е м кость.

-После разрядки выводит заначение емкости на экран и снова заряжает уже с использованием капельного режима

(окончание заряда показывает си н ий светодиод.)

-Сняли АКБ вставили новое , нажали кнопку и по новой.

Ниже привел - схему, скетч, фото печатки и готового устройства, а также видео работы.






После того как снял видео добавил в скетч на кнопку три режима включающихся по нажатиям.
1режим-заряд-разряд(замер емкости)-капельный заряд
2--разряд(замер емкости)--капельный заряд
3--капельный заряд
Первая версия тестера

в заголовок


Понадобилось мне измерить оставшуюся ёмкость кислотного аккумулятора, зимой ведь каждый Ампер на счету, может пора и заменить батарею? Простые тесты с нагрузочной вилкой и измерением плотности меня не устраивали, они не давали мне информации о том, хватит ли мне энергии прогреть автомобиль 40 минут на ПЖД (примерно 8 А/ч) и потом запустить автомобиль стартером.

Содержание / Contents

↑ Схема тестера ёмкости АКБ

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.



Контроллер управляемого разряда



Расстановка фьюзов при программировании МК ATmega8A

↑ Как работает наш тестер АКБ?

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

Ток разряда (10 А) поддерживается регулятором на полевом транзисторе и операционном усилителе, в качестве шунта используется резистор 0,1 Ом 10 Вт.
На ЖК-дисплее отображается ток разряда, напряжение на аккумуляторе, текущее время разряда и предыдущее измерение в А/ч.


Ток разряда на дисплей я вывел не от дурной головы (он стабилен и всегда 10 А), при настройке прибора, выяснилось, что проводники мультиметра очень серьёзно искажают результат измерения, пришлось ввести измерение тока в сам прибор и выполнять настройку по дисплею.

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

В программу введена коррекция на погрешность измерения по собственному потреблению и остаточной ёмкости.

↑ Сборка тестера АКБ

Собран тестер АКБ в корпусе БП АТХ. Радиатор на транзистор регулятора взял от охладителя процессора старого компьютера (очень удобно, сразу с кулером).
При этом места в корпусе остаётся маловато.









Плату развёл криво, на выставку не рассчитывал, на двустороннем стеклотекстолите (при этом ещё 4 перемычки вышло).



Под лампы пришлось вырезать отверстия в крышке, получилось интересно, вид как у лампового усилителя.

↑ Важно!

Исключён фрагмент. Полный вариант статьи доступен меценатам и полноправным членам сообщества. Читай условия доступа.

5. Все номиналы деталей указаны на ПП.

↑ Итого

Читайте также: