Давно уже пользуюсь простым самодельным тестером для батарей роботов-пылесосов, но всё не было времени и повода довести его до логического завершения. А тут чего-то добрые люди подбили на подвиги и вот теперь его можно и народу показать.
Рис.1. Схема тестера батарей.
Тестер построен на микроконтроллере Atmel ATMega8A, для вывода информации используется стандартный символьный дисплей на 2 строки по 16 символов. Мощные p-канальные полевые транзисторы любые с подходящими рабочими напряжениями и токами.
Тестер позволяет провести от 1-го до 3-х подряд циклов заряда-разряда с измерением ёмкости для литиевых, никелевых и свинцовых батарей напряжением 6, 7.2, 10.8, 12, 14.4 и 18 В.
Супер-пуперские алгоритмы заряда-разряда не используются - аккумулятор заряжается током, который может выдать БП, и потом разряжается на мощные резисторы. Поэтому используемый БП должен уметь ограничивать ток заряда на нужной величине и при этом не отключаться при его превышении (источник тока). В первом случае я использовал стандартный БП от iRobot Roomba с ограничением по току в 1.25 А, во втором - простенький китайский с ограничением по току в 1 А.
Сопротивление нагрузочных резисторов можно выбрать, исходя из требуемого разрядного тока.
При первом включении потребуется настроить "железо" тестера, введя 3 параметра - напряжение внутреннего опорного источника АЦП (сильно "гуляет" от контроллера к контроллеру и измеряется на 21-й ноге), сопротивление нагрузочного резистора и максимальный ток БП.
Эти значения, как и выбранные тип батареи и режим работы, сохраняются в энергонезависимую память контроллера и используются при следующих включениях (и с этим надо быть крайне осторожным, т.к. можно запороть батарею, если её тип будет настроен неправильно).
По умолчанию выставляются 2.56В для внутреннего опорника, 10 Ом для нагрузки и 1.25 А для тока блока питания.
Т.к. изначально прибор проектировался для тестирования батарей роботов-пылесосов, для его работы необходимо наличие терморезистора в батарее. Если в тестируемой батарее нет терморезистора, на 28 ногу можно повесить внешний терморезистор или простой резистор на 10к.
У прибора есть программное ограничение на время одного цикла работы в 6 часов для литиевых и никелевых батарей и 80 часов для свинцовых.
Рис.2. Рабочий экран.
Часы, измеряющие длительность текущего цикла заряда-разряда, реализованы программно. Поэтому мигание разделителя-двоеточия в часах можно трактовать как индикатор нормальной работы контроллера. Если вдруг с какого-то будуна контроллер зависнет, двоеточие мигать не будет.
Значение ёмкости батареи при разряде считается точно, тогда как значение ёмкости при заряде и значение температуры весьма ориентировочные. Если это напрягает, значения емкостей при зарядах можно "подогнать", меняя ток БП в начальных настройках.
Рис.3. Финальный экран:
По завершении работы на дисплей будут попеременно выводиться два экрана. Первый - рабочий экран со словом "END", рассчитанной ёмкостью при последнем разряде и текущим напряжением на батарее. Второй - с рассчитанными во всех циклах заряда-разряда емкостями.
На второй экран можно переключиться и во время работы, нажав кнопку "OK".
Рис.4. Меню выбора типа батареи:
По нажатию кнопки "Вниз" переходим в меню выбора типа батареи. Возможные варианты выбираются кнопками "Вниз" и "Вверх":
" 7.2V-LiIon 2S " - 2-х элементная литиевая батарея с рабочим напряжением 7.2В;
"10.8V-Li3S, Ni9S" - 3-х элементная литиевая батарея или 9-ти элементная никелевая с рабочим напряжением 10.8В;
"14.4V-LiIon 4S " - 4-х элементная литиевая батарея с рабочим напряжением 14.4В;
"18.0V-Li5S,Ni15S" - 5-и элементная литиевая батарея или 15-ти элементная никелевая с рабочим напряжением 18В;
" 7.2V-NiMh 6S " - 6-и элементная никелевая с рабочим напряжением 7.2В;
"14.4V-NiMh 12S " - 12-и элементная никелевая с рабочим напряжением 14.4В;
" 6.0V-Pb3S, Ni5S" - 3-х элементная свинцовая батарея или 5-ти элементная никелевая с рабочим напряжением 6В;
"12.0V-Pb6S,Ni10S" - 6-и элементная свинцовая батарея или 10-ти элементная никелевая с рабочим напряжением 12В.
Выход из меню кнопкой "Ок", если тип батареи меняется, то все циклы заряда-разряда начинаются сначала.
Рис.5. Меню выбора режима работы:
По нажатию кнопки "Вверх" переходим в меню выбора режима работы. Возможные варианты выбираются кнопками "Вниз" и "Вверх":
"C D C D C D C " - 3 цикла заряда/разряда и заряд;
"C D C D C " - 2 цикла заряда/разряда и заряд;
"C D C " - 1 цикл заряда/разряда и заряд;
"C - charge only" - только заряд.
Выход из меню кнопкой "Ок", если режим работы меняется, то все циклы заряда-разряда начинаются сначала.
Рис.6. Меню настройки железа тестера:
По одновременному нажатию кнопок "Вниз" и "Вверх" переходим в меню настройки "железа" тестера. Необходимо последовательно с помощью кнопок "Вниз" и "Вверх" настроить напряжение внутреннего опорного источника АЦП контроллера, сопротивление нагрузочного резистора, максимальный ток БП и тип батареи,
Переход в следующее меню кнопкой "Ок".
Рис.7. Тестер в корпусе Румба-зарядки:
В качестве корпуса для тестера я использовал корпус старой "настольной" зарядки для iRobot Roomba 300-й серии.
Рис.8. Контакты батареи новых Румб:
Потроха из неё выкинуты, для дисплея, кнопок, контактов батареи новых Румб и кнопки включения прорезаны соответствующие дырки.
Рис.9. Внутренний мир тестера:
Рис.10. Румба-батарея в тестере:
Для закрепления новых Румба-батарей используются ленты-липучки.
Рис.11. Переходник для прочих батарей:
Переходник для работы прочими батареями изготовлен из пустого корпуса от батареи Румба 300-й серии, родной терморезистор сохранён.
Прошивка и все файлы кучкой - https://yadi.sk/d/Fa0pqwTf3Vnsie
Фьюзы установить для работы с внешним высокочастотным кварцевым осциллятором.