Это устройство предназначено для измерения ёмкости аккумуляторов 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 байт результат предыдущего измерения емкости.

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

Автор: Гапонов Сергей


Архив для статьи "Зарядное устройство/тестер аккумуляторов на Atmega8"
Описание: Проект AVRStudio 6
Размер файла: 60.56 KB Количество загрузок: 3 690 Скачать

Комментарии  

-1 #101 dima82 13.06.2019 20:00
выяснилось -не происходит фактического замера напряжения на резисторе 3,3 ом(I разряда) ,но показания тока на дисплее имеются зависящие от остаточного напряжения на аккумуляторе,ме нял напряжение на выв.25 показания не изменялись, так понимаю ток .это нормально для данного устройства?
Сообщить модератору
+1 #102 dima82 13.06.2019 20:11
первоначальная прошивка должна работать в последней схеме( с полевыми)? что то не запускается :sad:
Сообщить модератору
0 #103 andrei913 05.05.2020 14:57
Здравствуйте! Можно ли где то скачать файл платы от gms?
Сообщить модератору
0 #104 KOn 10.05.2020 16:10
Повторил устройство, появились осмысленные показания на экране, описанная логика работы. Но при калибровке напряжения аккумулятора удалось добиться совпадения с эталонным вольтметром только с расхождением 0,1В. Процесс зарядки прекращается через 1,5мин., зато разрядка продолжается после 2,6В (ниже не пробовал, угроблю аккумулятор). Я так понимаю не правильная калибровка. Но сама калибровка довольно проста, ошибиться сложно. Видимо дело в измерительной цепи, но и там два резистора и всё. На первом фото в статье, измерительные резисторы 10кОм (как я понимаю, что именно они образуют измерительную цепь) с допуском 0,05%, может дело именно в точности номиналов, хотя сомнительно. Может кто подскажет куда копать.
Сообщить модератору
0 #105 KOn 02.08.2020 16:05
Отвечаю самому себе, первоначально устройство выполнил на макетной плате МК в DIP корпусе, приобрёл переходник TQFP-DIP и заменил МК на smd аналог и всё заработало. Предположительн ый вывод в первом МК был неисправен АЦП (МК был приобретён на AliExpress как новый и успешно поработал в часах-термостат е на макетной плате, там АЦП не использовался). Окончательно устройство выполнил на smd элементах, за исключением резисторов 5,1Ом 1Вт. Резисторы специально не подбирал. Вместо транзистора 2SA614 применил 2SA2023, перепробовал около 10 разных, но нормально заряд заработал на указанном. Достоверность измерения ёмкости оценить пока не могу.
Сообщить модератору
+1 #106 MegaVT 07.08.2020 02:00
Всем привет. Повторил данное устройство по схеме из статьи (не мод. из поста 88 от sergang) , работают только кнопки "+" и "-". Включаю, вставляю 18650, распознается как литий, выставляю напругу, жму "тест" 2 (и более пробовал) секунды, реакции нет. Кнопки "заряд" и "тест" недоступны. Монтаж перепроверял, контроллер перепрошивал (понька), при вставленном акке (4.08V) на выводе РС1 - 2,03V... Заметил, что при включении со вставленным 18650 при нажатии и удерживании "тест" или "заряд" раз в сек. моргает значок акк (сразу после напряжения). Фьюзы по фотке. Сталкивался кто-нить?
Сообщить модератору
0 #108 MegaVT 10.08.2020 03:38
Накидал платку, собрал версию из поста 88. Что сказать - работает. Подсветку кинул через 2N7002 (их в sot-23 полно на матерях - S72,702), у меня зелено-желтый, подсветка 100мА жрет, но 7002 почти не греется, резистор 10 ом 0805 (на других цветах не проверял за неимением, осторожнее!). На заряде стоит IRFL9014 в паре с тем же 7002, при 400мА нагрев незначительный, на разряде APM2054 все с тех же материнок. Разрядный резистор - 2 плеча по 8*24R, в итоге 6 ом, ток разряда 0,68А.
Сообщить модератору
0 #109 MegaVT 10.08.2020 04:10
Вот плата. Поскольку разрабатывал для корпуса из текстолита, монтаж весь "на роже"), т.е. на поверхности. У атмеги в ДИП-е ноги обрезал и пришил... остальное элементарно... yadi.sk/i/N2sPOKOijM3sMA
Сообщить модератору
0 #111 Евгений 47 31.12.2020 16:15
С наступающим или наступившим Новым годом, повторяю схему использовал atmegy в корпусе MLF, переназначил ножки, собрал на плате атмегу прошил Понипрогом первыми двумя файломи с архива ,фьюзы выставил как выше на сайте указано. подключил дисплей к плате, подключил зарядник от сотового и нечего, замер напряжения на атмеги показал один вольт, оказалось пины на разьеме микро usb перевернуты переполюсовка, взял лабораторник БП, ограницел ток, подключаю правильно питания к атмеги потребления 1 мАм норм, плата молчит, нашлась вторая ошибка на дисплее 1602 отчёт начинается от 15, 16, 1-14 ноге ,
Сообщить модератору
0 #112 Евгений 47 31.12.2020 16:15
питания 5 вольт пошло на + на 13 ногу - на 14 , после устранения распайки дисплея подключил питания на дисплее верхняя строчка светится полностью все пиксели, нижняя мутно тоже все, распоял МК в програматор прочитался , попробывал без дисплея посмотреть будет ли идти процес зарядки разрядки нечего . Как можно проверить МК ,могла она выйти из строя но при этом возможно читать запрограмирован ые в ней данные и програмироватся , что посоветываете проверить?
Сообщить модератору
0 #113 Евгений 47 31.12.2020 17:59
дисплей проверил с помощью Ардуино Леонардо дисплей жив.
Сообщить модератору
0 #114 Евгений 47 01.01.2021 12:34
Извиняюсь за кучу комментариев.
Программировал МК PonyProgom после прогр. МК проверялась ,тест выдов. OK.
После программировани я AVRDUDEPROG схема заработала.
Сообщить модератору
0 #115 Евгений 47 02.01.2021 13:29
выявилась очередная проблема , напряжения АКБ калибруется с большими рывками, определяется не точно зависает, заряд прекращается через 20 сек.
Сообщить модератору
0 #116 Евгений 47 12.01.2021 20:01
Разобрался, если будете повторять схему в MLF корпусе , учтите что 23 ного DIP это 23 нога MLF, также и 24 нога 24.
Сообщить модератору
0 #117 andrei913 12.01.2021 20:37
где можно скачать файл платы?
Сообщить модератору
0 #119 Евгений 47 13.01.2021 19:07
надо уточнить на дисплее нумерацию контактов ,у меня начиналось с 15,16,1-14.
вместо резистора 47 Ом , поставил SMD дроссель
Сообщить модератору