Исходя с такой позиции ток должен быть 0.5А, но график разряда - кривая. Еще один нюанс, какой конечный объем у вас занимает код? Мне просто интересно, вижу что пишете на С'ях, а сам использую ассемблер, любопытно как "С" по оптимизации, там библиотеки и прочие подключаемые модули, как это сказывается на весе?Andry_67 писал(а):Емкость считается из расчета 12 минут = 0.1 а/ч
Imax B1, или тестер максимальной емкости батареек 18650
- Flash.#13
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Сб апр 12, 2014 23:46:03
- Откуда: Киев
Re: Imax B1, или тестер максимальной емкости батареек 18650
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
- Реклама
- Starichok51
- Модератор
- Сообщения: 19049
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Imax B1, или тестер максимальной емкости батареек 18650
не знаю, на сколько оптимально работают сегодняшние компиляторы, но около 25 лет назад у меня получилась разница примерно в 8 раз.
у меня тогда была еще советская "Искра-1030", часов у нее не было (ХТ-совместимая).
и тогда я только начинал изучать программирование.
я набрал простенькую программу из учебника по Паскалю для установки даты и времени. файл получился примерно 8 кБ.
вскоре начал осваивать ассемблер. и сделал на ассемблере практически полный аналог программы на Паскале. файл с ассемблера получился примерно 1 кБ.
возможно, сегодня компиляторы работают лучше, но полагаю, что не намного...
правда, и на ассемблере нужно уметь оптимально делать, а то можно такого насрать...
у меня тогда была еще советская "Искра-1030", часов у нее не было (ХТ-совместимая).
и тогда я только начинал изучать программирование.
я набрал простенькую программу из учебника по Паскалю для установки даты и времени. файл получился примерно 8 кБ.
вскоре начал осваивать ассемблер. и сделал на ассемблере практически полный аналог программы на Паскале. файл с ассемблера получился примерно 1 кБ.
возможно, сегодня компиляторы работают лучше, но полагаю, что не намного...
правда, и на ассемблере нужно уметь оптимально делать, а то можно такого насрать...
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
- Flash.#13
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Сб апр 12, 2014 23:46:03
- Откуда: Киев
Re: Imax B1, или тестер максимальной емкости батареек 18650
Каюсь, в проге три раза продублирован один и тот же код счетчика в 120 байт, и только потому что лень пилить разрядность в нескольких местахStarichok51 писал(а):нужно уметь оптимально делать, а то можно такого насрать...
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
- Andry_67
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Пн дек 15, 2014 19:04:08
- Откуда: г. Пермь
Re: Imax B1, или тестер максимальной емкости батареек 18650
Я тоже пишу на ассемблере, но бывают в жизни случаи когда приходится писать на си. Дисплей ili9341 имеет довольно сложный протокол общения, поэтому писать программу на ассемблере утомительно. А на си есть библиотека и там все просто. Кстати в библиотеке только инициализация дисплея занимает около 100 строк, так что ассемблер здесь не катит. Конечного кода получилось много, еле впихнул в Мегу 8. Пришлось еще порезать библиотеки. Графические индикаторы всегда съедают много кода, потому как даже буквы нужно рисовать.

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

-
forfrends
- Вымогатель припоя
- Сообщения: 546
- Зарегистрирован: Вс дек 30, 2012 00:32:06
- Откуда: Николаев / Украина
- Контактная информация:
Re: Imax B1, или тестер максимальной емкости батареек 18650
Дисплей свободно подключал к ардуино и работает без проблем. Надеюсь вскоре увидеть ваш скетч.Andry_67 писал(а):Если дисплей ST7920 уже подключен к Arduino и на него удалось вывести что-то типа "Hello world" то больше половины дела уже сделано, адаптировать скетч под другой дисплей несложно.
Сделать своими руками всегда интересней чем просто купить и пользоваться
- Реклама
- Andry_67
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Пн дек 15, 2014 19:04:08
- Откуда: г. Пермь
Re: Imax B1, или тестер максимальной емкости батареек 18650
Вот мой проект для тестирования аккумуляторов с индикатором 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
Andry_67, спасибо за пример! Подскажите, а как идет процесс разряда? Что в качестве нагрузки?
Сделать своими руками всегда интересней чем просто купить и пользоваться
- Flash.#13
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Сб апр 12, 2014 23:46:03
- Откуда: Киев
Re: Imax B1, или тестер максимальной емкости батареек 18650
forfrends в качестве нагрузки - резистор 7 Ом, прибор рассчитан на ток 0.5А и не имеет "датчика тока" на данном этапе.forfrends писал(а):...Что в качестве нагрузки?
Andry_67 а можно выложить скомпилированный файл?
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
-
forfrends
- Вымогатель припоя
- Сообщения: 546
- Зарегистрирован: Вс дек 30, 2012 00:32:06
- Откуда: Николаев / Украина
- Контактная информация:
Re: Imax B1, или тестер максимальной емкости батареек 18650
То есть максимальная сила тока 500 мА? А как измеряется объем батареи? Сила тока ведь не статична. Ведь с разрядом падет напрядение и соответственно меняется сила тока. Может я просто неправильно понял код? Пример:Flash.#13 писал(а): в качестве нагрузки - резистор 7 Ом, прибор рассчитан на ток 0.5А и не имеет "датчика тока" на данном этапе.
Код: Выделить всё
// ================= измеряет и выводит напряжение
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
В качестве нагрузки у меня резистор 7.2 Ом, датчик тока не нужен так как ток можно вычислить зная напряжение и сопротивление. На переменную tmp не смотрите это переключатель, tmp=1 для литий-ионных аккумуляторов.
Схему измерения напряжения наверно придется подстраивать. Так чтобы при напряжении 3,7 вольта прибор тоже показывал 3,7 вольта. Это можно сделать двумя способами: подобрать сопротивления резисторов в делителе напряжения или "поиграться" числом 210 в формуле var = var * 210;. Если подключен аккумулятор с напряжением 3,7 вольта тогда на выходе из процедуры int Read_A() переменная var должна содержать число 370 (т.е. напряжение*100).
hex файл прилагаю, но лучше создавать его самим. Так у вас будет возможность что нибудь поменять для себя. Файл после компиляции лежит в папке Temp. Найдите папку темп и там ищите *.hex файлы.
Схему измерения напряжения наверно придется подстраивать. Так чтобы при напряжении 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
Andry_67 извините, но у меня нубский вопрос, у меги8 8кб ПЗУ, как залить прошивку на 19кб?
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
- Flash.#13
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Сб апр 12, 2014 23:46:03
- Откуда: Киев
Re: Imax B1, или тестер максимальной емкости батареек 18650
Andry_67 да, забыл, там же префиксы, суффиксы, вечно путаю эту архитектуру((
Ребята, пришло время подумать о "зарядке" батареек. Проведя некоторое время в раздумиях в голову пришло несколько идей, в целом требуется чтобы МК мог заряжать батарейку, и желательно показывать силу зарядного тока с его контролем, так же необходимо отключить батарейку по завершении заряда. Для зарядки литиевых батарей требуется источник довольно стабильного напряжения в 4.2-4.25В, первое что приходит в голову - ШИМ, но делать его с управлением МК топорно, да и пищать будет в выполнении "без кварца". Еще как альтернатива это создать отдельный стабилизированный источник зарядного напряжения с током, и коммутировать его на АКБ, но это опять лепить огород нужно. И вот тут, вспомнил, что проблема не нова, и существуют уже "готовые" решения, чипы специально разработанные для зарядки литиевых батарей, к примеру, они массово применяются в схемах зарядки повер банков, и многих мобил. Посмотрел что есть "не дорогого и доступного" остановился на TP4056, это дешевая (0.15$) микросхемка предназначенна именно для разядки таких батарей. На борту имеет гнотовую схему контроля за напряжением и током, и главное - вход разрешения работы, тоесть можно управлять с ТТЛ логики самой микрухой, даже ключ ставить не нужно. Так же подпайкой резистора можно управлять силой тока, что можно использовать для установки тока заряда, и если поставить транзисторную развязку то будет "цифровой контроль". В целом прелесть...

Ребята, пришло время подумать о "зарядке" батареек. Проведя некоторое время в раздумиях в голову пришло несколько идей, в целом требуется чтобы МК мог заряжать батарейку, и желательно показывать силу зарядного тока с его контролем, так же необходимо отключить батарейку по завершении заряда. Для зарядки литиевых батарей требуется источник довольно стабильного напряжения в 4.2-4.25В, первое что приходит в голову - ШИМ, но делать его с управлением МК топорно, да и пищать будет в выполнении "без кварца". Еще как альтернатива это создать отдельный стабилизированный источник зарядного напряжения с током, и коммутировать его на АКБ, но это опять лепить огород нужно. И вот тут, вспомнил, что проблема не нова, и существуют уже "готовые" решения, чипы специально разработанные для зарядки литиевых батарей, к примеру, они массово применяются в схемах зарядки повер банков, и многих мобил. Посмотрел что есть "не дорогого и доступного" остановился на TP4056, это дешевая (0.15$) микросхемка предназначенна именно для разядки таких батарей. На борту имеет гнотовую схему контроля за напряжением и током, и главное - вход разрешения работы, тоесть можно управлять с ТТЛ логики самой микрухой, даже ключ ставить не нужно. Так же подпайкой резистора можно управлять силой тока, что можно использовать для установки тока заряда, и если поставить транзисторную развязку то будет "цифровой контроль". В целом прелесть...
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
-
Sergey3a23
- Встал на лапы
- Сообщения: 82
- Зарегистрирован: Ср сен 12, 2012 19:05:02
Re: Imax B1, или тестер максимальной емкости батареек 18650
Приветствую! Огромное спасибо за Проделанную работу, очень полезная схема.! Завтра поеду покупать Резистор 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 В, плата сама отсекает цепь разряда. А по отсечке напряжения Атмега поймёт, что цикл закончился. Как Вам такая идея? И программа упростится, наверно.
Со своей стороны, хочу подсказать одну мелкую идею, вдруг поможет... На микросхеме 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
Sergey3a23 готовые платы на ТР4056 выдел, только оно как бы одинаково, чип имеет 8 ног, две с которых на земле, одна задает ток, к батарейке, питание, ненужные моргалки и контроль. Оно одинаково что микруху садить, что плату с ней, а вот цены разные. По поводу плат с разрядом, это называется "защита", еще пишут "защищенная батарея". Эта защита от глубокого разряда, как бы последний шанс, она не представляет возможности регулировать напряжение отсечки, и не управляется МК, такой обвес не помешает, но и не поможет.
Есть другая проблема, как организовать контроль напряжения "заряда", с минимальными проблемами, и не дорого.
Есть другая проблема, как организовать контроль напряжения "заряда", с минимальными проблемами, и не дорого.
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
-
Sergey3a23
- Встал на лапы
- Сообщения: 82
- Зарегистрирован: Ср сен 12, 2012 19:05:02
Re: Imax B1, или тестер максимальной емкости батареек 18650
Может, я неверно понял вопрос, но в Атмеге8 же - 4 канала 10-битных АЦП.. один занят, три свободно..Flash.#13 писал(а): Есть другая проблема, как организовать контроль напряжения "заряда", с минимальными проблемами, и не дорого.
Или вопрос в том, как управлять напряжением заряда?
P.S. ...купил сегодня среди прочего Резисторы керамические 5 ватт 0.1 Ом. Глупость сделал. Подсчитал - при токе в 1 Ампер - мощность на этом резисторе выделяется всего 0.1 Ватт. Хорошо, что на всякий случай одноваттные купил.))
- Flash.#13
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Сб апр 12, 2014 23:46:03
- Откуда: Киев
Re: Imax B1, или тестер максимальной емкости батареек 18650
Извините, опечатался, имел ввиду контроль тока. Ток разряда замеряется как падение напряжения на резисторе, при чем резистор между землей и минусом АКБ, это удобно, но как быть в случае зарядки АКБ? Есть вариант поставить еще один шунт между землей и ТР4056, замерять весь ток на микросхеме. Другого пока не придумал... 
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
-
Sergey3a23
- Встал на лапы
- Сообщения: 82
- Зарегистрирован: Ср сен 12, 2012 19:05:02
Re: Imax B1, или тестер максимальной емкости батареек 18650
Я тут подумал - может, этот прибор и АА ААА элементы сможет мерить? Вот только мин. напряжение на элементе 0,9 в. Наверно, в программе цифирку надо изменить какую-то? Вы же сами говорили - прибор меряет ток и время... Ему же всё равно. откуда ток берётся? Можно так изменить программу. чтобы кнопочками напряжение уменьшить можно было до 0,9?
И ещё... Вы собирались
И ещё... Вы собирались
. Я просто так, напоминаю..а если переставить циферку на 244(сделаю в следующей прошивке), то будет секунда на пол часа. Такой точности хватит для любых замеров
- Flash.#13
- Держит паяльник хвостом
- Сообщения: 965
- Зарегистрирован: Сб апр 12, 2014 23:46:03
- Откуда: Киев
Re: Imax B1, или тестер максимальной емкости батареек 18650
Правильно понимаете, "своя" программа удобна тем, что ее хорошо допиливать под любые идеи
. Поменял предел регулировки отсечки до 0.8-3.7В(при включении активно 2.7В), но осталась не удобность, шаг 0.05В в 1с
. Добавил отображение пределов амперметра, от 0.00А до 9.99А и с 10.0А до 49.9А, правда отсечка превышения предела не введена, есть недоучет при пересчете в мА*ч, там разрядность сейчас стоит максимум на 30 ампер, и при токах больше 30А начнутся проблемы, но это потом 
Еще никак не дойдут руки допилить обработчик кнопок, чтобы они были больше подобны китайским будильникам, ускорялись при долгом удержании, и более четко срабатывали. Сейчас там достаточно простой код, кратковременное нажатие обрабатывается верно, удержание идет как непрерывный счет, но "залипает" сброс, и медленно считать по 0.05В в 1с, нужно ускоряться..а
Еще никак не дойдут руки допилить обработчик кнопок, чтобы они были больше подобны китайским будильникам, ускорялись при долгом удержании, и более четко срабатывали. Сейчас там достаточно простой код, кратковременное нажатие обрабатывается верно, удержание идет как непрерывный счет, но "залипает" сброс, и медленно считать по 0.05В в 1с, нужно ускоряться..а
- Вложения
-
- Imax.rar
- Очередной файл прошивки с исходниками. Изменена регулировка отсечки, добавлен предел амперметра, немного уменьшен код, чуток улучшен таймер.
- (154.98 КБ) 215 скачиваний
Немного файлов по зажиганию: ФУОЗ 2.2 + программа правки таблиц 0.987, монтажка
-
Sergey3a23
- Встал на лапы
- Сообщения: 82
- Зарегистрирован: Ср сен 12, 2012 19:05:02
Re: Imax B1, или тестер максимальной емкости батареек 18650
Спасибо, очень оперативно! Я так понимаю, делать печатку ещё преждевременно )) . Впереди - много улучшений. Скоро будет зарядка, вероятно. А там - и до четырёх каналов недалеко.. )
Я так смотрю, код занимает 3300 байт. То есть, до предела в 8 Кб - ещё много вкусностей в Ваш замечательный прибор можно запихать.
Я так смотрю, код занимает 3300 байт. То есть, до предела в 8 Кб - ещё много вкусностей в Ваш замечательный прибор можно запихать.


