Imax B1, или тестер максимальной емкости батареек 18650

Блоки питания, преобразователи напряжения, UPS'ы - это здесь :)
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Andry_67 писал(а):Емкость считается из расчета 12 минут = 0.1 а/ч
Исходя с такой позиции ток должен быть 0.5А, но график разряда - кривая. Еще один нюанс, какой конечный объем у вас занимает код? Мне просто интересно, вижу что пишете на С'ях, а сам использую ассемблер, любопытно как "С" по оптимизации, там библиотеки и прочие подключаемые модули, как это сказывается на весе?
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Реклама
Аватара пользователя
Starichok51
Модератор
Сообщения: 19049
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Starichok51 »

не знаю, на сколько оптимально работают сегодняшние компиляторы, но около 25 лет назад у меня получилась разница примерно в 8 раз.
у меня тогда была еще советская "Искра-1030", часов у нее не было (ХТ-совместимая).
и тогда я только начинал изучать программирование.
я набрал простенькую программу из учебника по Паскалю для установки даты и времени. файл получился примерно 8 кБ.
вскоре начал осваивать ассемблер. и сделал на ассемблере практически полный аналог программы на Паскале. файл с ассемблера получился примерно 1 кБ.
возможно, сегодня компиляторы работают лучше, но полагаю, что не намного...
правда, и на ассемблере нужно уметь оптимально делать, а то можно такого насрать...
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Реклама
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Starichok51 писал(а):нужно уметь оптимально делать, а то можно такого насрать...
Каюсь, в проге три раза продублирован один и тот же код счетчика в 120 байт, и только потому что лень пилить разрядность в нескольких местах :facepalm: Но ничего не поделать, оно и влом, и так сошло :))) Пожалуй единственное что в ассемблере приятно, он никогда не возмущается...
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Аватара пользователя
Andry_67
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пн дек 15, 2014 19:04:08
Откуда: г. Пермь

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Andry_67 »

Я тоже пишу на ассемблере, но бывают в жизни случаи когда приходится писать на си. Дисплей ili9341 имеет довольно сложный протокол общения, поэтому писать программу на ассемблере утомительно. А на си есть библиотека и там все просто. Кстати в библиотеке только инициализация дисплея занимает около 100 строк, так что ассемблер здесь не катит. Конечного кода получилось много, еле впихнул в Мегу 8. Пришлось еще порезать библиотеки. Графические индикаторы всегда съедают много кода, потому как даже буквы нужно рисовать.
но график разряда - кривая
У литий-ионников график разряда всегда кривой, а вот у свинцовых аккумуляторов более-менее прямой.
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение forfrends »

Andry_67 писал(а):Если дисплей ST7920 уже подключен к Arduino и на него удалось вывести что-то типа "Hello world" то больше половины дела уже сделано, адаптировать скетч под другой дисплей несложно.
Дисплей свободно подключал к ардуино и работает без проблем. Надеюсь вскоре увидеть ваш скетч.
Сделать своими руками всегда интересней чем просто купить и пользоваться
Реклама
Аватара пользователя
Andry_67
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пн дек 15, 2014 19:04:08
Откуда: г. Пермь

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Andry_67 »

Вот мой проект для тестирования аккумуляторов с индикатором ili9341. В качестве компилятора использую Arduino IDE v1.5.7, эта версия Arduino IDE делает на 10% меньше кода. Поэтому появилась возможность добавить более тщательное измерение емкости аккумулятора. Также еще добавил функцию "подготовка аккумулятора к хранению". Суть ее в том, чтобы разрядить аккумулятор примерно до 3,8 вольт.
Внимание, в скетче обнаружил ошибку поэтому архив перезалил.
Вложения
Tester.zip
(32.45 КБ) 269 скачиваний
Реклама
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение forfrends »

Andry_67, спасибо за пример! Подскажите, а как идет процесс разряда? Что в качестве нагрузки?
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

forfrends писал(а):...Что в качестве нагрузки?
forfrends в качестве нагрузки - резистор 7 Ом, прибор рассчитан на ток 0.5А и не имеет "датчика тока" на данном этапе.

Andry_67 а можно выложить скомпилированный файл?
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
forfrends
Вымогатель припоя
Сообщения: 546
Зарегистрирован: Вс дек 30, 2012 00:32:06
Откуда: Николаев / Украина
Контактная информация:

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение forfrends »

Flash.#13 писал(а): в качестве нагрузки - резистор 7 Ом, прибор рассчитан на ток 0.5А и не имеет "датчика тока" на данном этапе.
То есть максимальная сила тока 500 мА? А как измеряется объем батареи? Сила тока ведь не статична. Ведь с разрядом падет напрядение и соответственно меняется сила тока. Может я просто неправильно понял код? Пример:

Код: Выделить всё

// ================= измеряет и выводит напряжение
  Read_A();
  ahsum += var;
  aht = ahsum / 3600 / rn; // Формула подсчёта ампер часов

...

int Read_A() {
  var = analogRead(A5);
  Serial.println(var);
  var = var * 210;
  var = var / (100 + 365 * tmp);
...
}
Можете объяснить эту часть кода:
var = var * 210; 210 - это опорное напряжение?
var = var / (100 + 365 * tmp); что за числа 100 и 365
и чему равен tmp если батарея 3.7 вольт?

Скомпилированный файл вряд ли получится выложить - проект на Ардуино, а там код компилируется и сразу записывается в Ардуину, "без участия человека" так сказать, и без хекс-файла. Хотя где-то читал что можно "достать" как-то...
Сделать своими руками всегда интересней чем просто купить и пользоваться
Аватара пользователя
Andry_67
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пн дек 15, 2014 19:04:08
Откуда: г. Пермь

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Andry_67 »

В качестве нагрузки у меня резистор 7.2 Ом, датчик тока не нужен так как ток можно вычислить зная напряжение и сопротивление. На переменную tmp не смотрите это переключатель, tmp=1 для литий-ионных аккумуляторов.
Схему измерения напряжения наверно придется подстраивать. Так чтобы при напряжении 3,7 вольта прибор тоже показывал 3,7 вольта. Это можно сделать двумя способами: подобрать сопротивления резисторов в делителе напряжения или "поиграться" числом 210 в формуле var = var * 210;. Если подключен аккумулятор с напряжением 3,7 вольта тогда на выходе из процедуры int Read_A() переменная var должна содержать число 370 (т.е. напряжение*100).
hex файл прилагаю, но лучше создавать его самим. Так у вас будет возможность что нибудь поменять для себя. Файл после компиляции лежит в папке Temp. Найдите папку темп и там ищите *.hex файлы.
Вложения
tester_akkum.hex
(19.1 КБ) 451 скачивание
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Andry_67 извините, но у меня нубский вопрос, у меги8 8кб ПЗУ, как залить прошивку на 19кб?
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Аватара пользователя
Andry_67
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Пн дек 15, 2014 19:04:08
Откуда: г. Пермь

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Andry_67 »

https://ru.wikipedia.org/wiki/Intel_HEX

На самом деле там 6946 байт.
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Andry_67 да, забыл, там же префиксы, суффиксы, вечно путаю эту архитектуру((

Ребята, пришло время подумать о "зарядке" батареек. Проведя некоторое время в раздумиях в голову пришло несколько идей, в целом требуется чтобы МК мог заряжать батарейку, и желательно показывать силу зарядного тока с его контролем, так же необходимо отключить батарейку по завершении заряда. Для зарядки литиевых батарей требуется источник довольно стабильного напряжения в 4.2-4.25В, первое что приходит в голову - ШИМ, но делать его с управлением МК топорно, да и пищать будет в выполнении "без кварца". Еще как альтернатива это создать отдельный стабилизированный источник зарядного напряжения с током, и коммутировать его на АКБ, но это опять лепить огород нужно. И вот тут, вспомнил, что проблема не нова, и существуют уже "готовые" решения, чипы специально разработанные для зарядки литиевых батарей, к примеру, они массово применяются в схемах зарядки повер банков, и многих мобил. Посмотрел что есть "не дорогого и доступного" остановился на TP4056, это дешевая (0.15$) микросхемка предназначенна именно для разядки таких батарей. На борту имеет гнотовую схему контроля за напряжением и током, и главное - вход разрешения работы, тоесть можно управлять с ТТЛ логики самой микрухой, даже ключ ставить не нужно. Так же подпайкой резистора можно управлять силой тока, что можно использовать для установки тока заряда, и если поставить транзисторную развязку то будет "цифровой контроль". В целом прелесть...

Изображение
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Sergey3a23
Встал на лапы
Сообщения: 82
Зарегистрирован: Ср сен 12, 2012 19:05:02

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Sergey3a23 »

Приветствую! Огромное спасибо за Проделанную работу, очень полезная схема.! Завтра поеду покупать Резистор 0.1 Ома - Единственное, что не нашёл дома.
Со своей стороны, хочу подсказать одну мелкую идею, вдруг поможет... На микросхеме 4056 - есть уже готовые платки типа такой - http://www.ebay.com/itm/5V-Mini-MICRO-U ... SwLqFV7kt5 Она сама контролирует ток заряда и отсекает заряд при достижении 4.2 В на аккумуляторе. По окончании заряда на плате загорается синий светодиод, с него можно брать сигнал для команды Атмеге8 на конец цикла подсчёта.
Но есть ещё более интересная плата, Я заказал 5 штук таких - http://www.ebay.com/itm/400665524431?_t ... EBIDX%3AIT Её отличие - в том, что на ней стоит и контроллер разряда. То есть, разряд идет через эту же плату, и при снижении напряжения аккумулятора до 2.5 В, плата сама отсекает цепь разряда. А по отсечке напряжения Атмега поймёт, что цикл закончился. Как Вам такая идея? И программа упростится, наверно.
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Sergey3a23 готовые платы на ТР4056 выдел, только оно как бы одинаково, чип имеет 8 ног, две с которых на земле, одна задает ток, к батарейке, питание, ненужные моргалки и контроль. Оно одинаково что микруху садить, что плату с ней, а вот цены разные. По поводу плат с разрядом, это называется "защита", еще пишут "защищенная батарея". Эта защита от глубокого разряда, как бы последний шанс, она не представляет возможности регулировать напряжение отсечки, и не управляется МК, такой обвес не помешает, но и не поможет.

Есть другая проблема, как организовать контроль напряжения "заряда", с минимальными проблемами, и не дорого.
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Sergey3a23
Встал на лапы
Сообщения: 82
Зарегистрирован: Ср сен 12, 2012 19:05:02

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Sergey3a23 »

Flash.#13 писал(а): Есть другая проблема, как организовать контроль напряжения "заряда", с минимальными проблемами, и не дорого.
Может, я неверно понял вопрос, но в Атмеге8 же - 4 канала 10-битных АЦП.. один занят, три свободно..
Или вопрос в том, как управлять напряжением заряда?
P.S. ...купил сегодня среди прочего Резисторы керамические 5 ватт 0.1 Ом. Глупость сделал. Подсчитал - при токе в 1 Ампер - мощность на этом резисторе выделяется всего 0.1 Ватт. Хорошо, что на всякий случай одноваттные купил.))
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Извините, опечатался, имел ввиду контроль тока. Ток разряда замеряется как падение напряжения на резисторе, при чем резистор между землей и минусом АКБ, это удобно, но как быть в случае зарядки АКБ? Есть вариант поставить еще один шунт между землей и ТР4056, замерять весь ток на микросхеме. Другого пока не придумал... :?
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Sergey3a23
Встал на лапы
Сообщения: 82
Зарегистрирован: Ср сен 12, 2012 19:05:02

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Sergey3a23 »

Я тут подумал - может, этот прибор и АА ААА элементы сможет мерить? Вот только мин. напряжение на элементе 0,9 в. Наверно, в программе цифирку надо изменить какую-то? Вы же сами говорили - прибор меряет ток и время... Ему же всё равно. откуда ток берётся? Можно так изменить программу. чтобы кнопочками напряжение уменьшить можно было до 0,9?
И ещё... Вы собирались
а если переставить циферку на 244(сделаю в следующей прошивке), то будет секунда на пол часа. Такой точности хватит для любых замеров
. Я просто так, напоминаю..
Аватара пользователя
Flash.#13
Держит паяльник хвостом
Сообщения: 965
Зарегистрирован: Сб апр 12, 2014 23:46:03
Откуда: Киев

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Flash.#13 »

Правильно понимаете, "своя" программа удобна тем, что ее хорошо допиливать под любые идеи :idea:. Поменял предел регулировки отсечки до 0.8-3.7В(при включении активно 2.7В), но осталась не удобность, шаг 0.05В в 1с :facepalm:. Добавил отображение пределов амперметра, от 0.00А до 9.99А и с 10.0А до 49.9А, правда отсечка превышения предела не введена, есть недоучет при пересчете в мА*ч, там разрядность сейчас стоит максимум на 30 ампер, и при токах больше 30А начнутся проблемы, но это потом :)))

Еще никак не дойдут руки допилить обработчик кнопок, чтобы они были больше подобны китайским будильникам, ускорялись при долгом удержании, и более четко срабатывали. Сейчас там достаточно простой код, кратковременное нажатие обрабатывается верно, удержание идет как непрерывный счет, но "залипает" сброс, и медленно считать по 0.05В в 1с, нужно ускоряться..а
Вложения
Imax.rar
Очередной файл прошивки с исходниками. Изменена регулировка отсечки, добавлен предел амперметра, немного уменьшен код, чуток улучшен таймер.
(154.98 КБ) 215 скачиваний
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
Sergey3a23
Встал на лапы
Сообщения: 82
Зарегистрирован: Ср сен 12, 2012 19:05:02

Re: Imax B1, или тестер максимальной емкости батареек 18650

Сообщение Sergey3a23 »

Спасибо, очень оперативно! Я так понимаю, делать печатку ещё преждевременно )) . Впереди - много улучшений. Скоро будет зарядка, вероятно. А там - и до четырёх каналов недалеко.. )
Я так смотрю, код занимает 3300 байт. То есть, до предела в 8 Кб - ещё много вкусностей в Ваш замечательный прибор можно запихать.
Ответить

Вернуться в «Питание»