Кулон Монитор - программа для логирования работы и управления Кулон-912

Автор DoctorS, 26 Фев. 2020 в 21:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

DoctorS

Цитата: iw от 03 Июнь 2020 в 16:44Жду возможность запуска программы в фоновом режиме для Android
Держу эту задачу в голове!

DoctorS

Встречайте новую версию!

2020.06.18 Версия 1.1.4
Программа научилась переводить компьютер в спящий режим на 5-30 минут при медленно меняющихся процессах. Время сна выбирается автоматически из расчёта, чтобы запись происходила примерно каждые 0.05 В, но не реже, чем раз в пол часа. Таким образом, можно здорово сэкономить на электроэнергии при почти постоянно работающей программе! :)
Важно! Чтобы компьютер мог не только заснуть, но и проснуться, нужно чтобы в настройках электропитания были разрешены таймеры пробуждения и спящий режим!

Скачать на Яндекс.Диске: https://yadi.sk/d/21zD_H-DghxsdQ

DoctorS

Встречайте новую версию после долгого перерыва!

2020.08.02 Версия 1.1.5
- Добавил поддержку импульсного режима БП.
- Доработал алгоритмы автоматического засыпания так, чтобы не пропускать важные события по разряду до 12 и 10.5-8В.
- После пробуждения пользователем, компьютер снова заснет не ранее чем через 1 минуту.

Скачать на Яндекс.Диске: https://yadi.sk/d/6jj1-A2MylAtoA

DoctorS

Перезалил последнюю версию, так как в архиве не хватало версии для Android.

WERAS


DoctorS


rlr72

Приветствую [user]DoctorS[/user],  сделайте пошире окошко для ввода "IP-адрес Кулон 912:", а то запись с нестандартным портом вида ХХХ.ХХХ.ХХХ.ХХХ:ХХХХ не влезает) Чисто для эстетики..

DoctorS

Цитата: rlr72 от 23 Дек. 2020 в 05:36
Приветствую [user]DoctorS[/user],  сделайте пошире окошко для ввода "IP-адрес Кулон 912:", а то запись с нестандартным портом вида ХХХ.ХХХ.ХХХ.ХХХ:ХХХХ не влезает) Чисто для эстетики..

Без проблем, скоро выложу новую версию ;)

DoctorS

Встречайте новую версию после долгого перерыва!

2020.12.23 Версия 1.1.6
- В очередной раз доработал механизмы прерывания заряда и объединил их в один. Теперь программа сама выбирает, какой из алгоритмов следует применить: если текущее напряжение меньше на 0.05 В максимально заданного - используется алгоритм прерывания заряда по напряжению, иначе по току.
- В упрощенном виде новые алгоритмы можно описать так:
- Алгоритм прерывания заряда по напряжению сработает, если за последние два часа (настраивается) напряжение перестало расти (как учил Виктор, значит заряд больше не идёт).
- Алгоритм прерывания заряда по току сработает, если за последние два часа (настраивается) ток увеличился хотя бы на 0.01 А.
- После срабатывания алгоритмов прерывания заряда в сообщении об этом событии теперь будет выводиться дополнительная информация. Обычным пользователям на неё можно не обращать внимание.
- Версия под Windows научилась писать Debug.txt, который помогает анализировать работу алгоритмов прерывания заряда\разряда. Для включения лога, создайте файл WriteDebug (без расширения) и через 5 минут появится файл с отладочной информацией (само собой для этого должны быть включены функции прерывания заряда\разряда (при напряжении ниже 12.2 В)).
- Были сделаны другие незначительные доработки, большинство из которых останутся незаметными :)

Скачать на Яндекс.Диске: https://yadi.sk/d/zi5o-0zfC7Lf5Q

Всех с наступающий Новым годом!

rlr72

Цитата: DoctorS от 23 Дек. 2020 в 07:27
Без проблем, скоро выложу новую версию ;)

Уже лучше, но можно было бы еще пошире, место есть. Вместо IP может быть днс запись, например: домен2уровня.динамик_днс.org:XXXX
Не все используют локальное подключение и не у всех есть выделенный белый IP адрес.

Цитата: DoctorS от 23 Дек. 2020 в 07:27- Алгоритм прерывания заряда по напряжению сработает, если за последние два часа (настраивается) напряжение перестало расти (как учил Виктор, значит заряд больше не идёт).
- Алгоритм прерывания заряда по току сработает, если за последние два часа (настраивается) ток увеличился хотя бы на 0.01 А.

Все же лучше было бы раздельно и с ползунком задания величины тока. Напряжение может не расти, а ток продолжать падать. 0.01 имхо для кулона вообще не о чем. Измерения у него скачут даже усредненные..
И еще вопрос, как сделать чтобы при нажатии кнопки начать опрос, диаграмма начиналась с чистого листа?

DoctorS

Цитата: rlr72 от 24 Дек. 2020 в 19:11Все же лучше было бы раздельно и с ползунком задания величины тока. Напряжение может не расти, а ток продолжать падать.
Если Вы правильно зададите максимальное напряжение, то именно так это и будет работать.

Цитата: rlr72 от 24 Дек. 2020 в 19:110.01 имхо для кулона вообще не о чем. Измерения у него скачут даже усредненные..
Программа делает усреднение сотен опросов за 10 минут работы, чтобы нивелировать все скачки и получить действительно точное среднее значение для принятия решения.

Цитата: rlr72 от 24 Дек. 2020 в 19:11Уже лучше, но можно было бы еще пошире, место есть.
Место есть, но ограничено - программа используется и на телефонах, а там ширина совсем небольшая при альбомной ориентации. В следующем обновлении постараюсь еще немного увеличить.

Цитата: rlr72 от 24 Дек. 2020 в 19:11И еще вопрос, как сделать чтобы при нажатии кнопки начать опрос, диаграмма начиналась с чистого листа?
Перед этим нажать на кнопку удаления базы данных =)

rlr72

Цитата: DoctorS от 24 Дек. 2020 в 21:25Цитата: rlr72 писал Сегодня в 19:11
Если Вы правильно зададите максимальное напряжение, то именно так это и будет работать.
Программа делает усреднение сотен опросов за 10 минут работы, чтобы нивелировать все скачки и получить действительно точное среднее значение для принятия решения.
Да вообще там много нюансов, может например начаться терморазгон и напряжение не дойдет (начнет падать) и ток начнет расти и в таком случае уже нет смысла ждать 2 часа. Смысл каждый раз переписывать алгоритм, если пользователь сам мог бы настроить необходимые для конкретно его случая (при восстановлении АКБ).

Цитата: rlr72 от 24 Дек. 2020 в 19:11Перед этим нажать на кнопку удаления базы данных =)
База пусть будет прежняя, можно ведь работать с одной батареей. Зачем менять базу? А график полный не нужен, к примеру делали заряд, наблюдали график заряда, потом включили разряд, смотрим график разряда, конечно можно масштабировать и таскать полный график, но у вас там внизу есть кнопочки "ток", "напряжение", "ток и напряжение" (они будут сбрасывать масштаб), хотим посмотреть кривую разряда, надо опять график таскать. Хотя наверно можно потом базы объединить..

DoctorS

Цитата: rlr72 от 24 Дек. 2020 в 22:14Да вообще там много нюансов, может например начаться терморазгон и напряжение не дойдет (начнет падать) и ток начнет расти и в таком случае уже нет смысла ждать 2 часа.
Прочитайте еще раз описание: программа сама выбирает, какой из алгоритмов следует применить: если текущее напряжение меньше на 0.05 В максимально заданного - используется алгоритм прерывания заряда по напряжению, иначе по току.

Если Вы поставили ток С/50 и напряжение 16.3 В (например), то пока напряжение не дойдет до 16.25 В, будет работать алгоритм прерывания по напряжению (так как ток у Вас всегда постоянный = С/50 и его мониторить бессмысленно), если же напряжение поднялось до 16.3 В (+-0.05В), то программа начинает мониторить ток, и в случае его роста - прерывает заряд. Разве Вы сами не тоже самое делаете?
То что Вы пишите: "напряжение не дойдет (начнет падать) и ток начнет расти" невозможно, так как пока Кулон не дойдет до заданного напряжения, ток всегда будет максимальный (заданный в настройках) - он не может начать рости, так как ограничен прибором. А вот если напряжение дошло, то ток сначала начинает снижаться, а через какое-то время расти и эту ситуацию программа отлично отрабатывает.

rlr72

Цитата: DoctorS от 24 Дек. 2020 в 22:37Прочитайте еще раз описание: программа сама выбирает, какой из алгоритмов следует применить: если текущее напряжение меньше на 0.05 В максимально заданного - используется алгоритм прерывания заряда по напряжению, иначе по току.
Пример не практический а философский, может я утрирую: у кулона задается два параметра, "максимальное напряжение" и "напряжение начала снижения тока", выставили мы к примеру 16.5 и 16.1 (или человек вообще 15 поставил), после 16.1 ток начнет снижаться, но через какое то время может опять начать расти и напряжение так и не дойдет до 16.45?, какой алгоритм сработает? По напряжению? Или к примеру он начал расти но не критично, застабилизировался и потом опять плавно начал снижаться и время N еще не закончилось, отсчет запуска времени N измениться?
Может где то просигнализировать в шапке, что запущен таймер в такое то время (маркер на графике) и пусть тикает.
И когда алгоритм сработает по напряжению или по току, дальше отключение сразу или через N минут? Просто у меня на версии 1.1.5 на повторном запуске заряда после отстоя, заряд прерывался по току сразу по непонятным причинам (может я что-то делаю не так), хотя до окончания заряда по графику было далеко. Пришлось снять галки "прерывания заряда".
Ну и ток пользователем не обязательно будет задан С/50, может быть и С/30.

rlr72

Вот нашел прошлогодние графики тока в дозаряде, графики напряжения похоже не сохранил.
Спойлер




Цитата: DoctorS от 23 Дек. 2020 в 22:05как учил Виктор
И раз уж вы Виктора упомянули, посмотрите еще раз его видео с проблемным аккумулятором.
Спойлер

DoctorS

Цитата: rlr72 от 25 Дек. 2020 в 00:32Вот нашел прошлогодние графики тока в дозаряде, графики напряжения похоже не сохранил.
Прокомментируйте, пожалуйста, графики, раз уж Вы их тут приводите. В чем они противоречат выше мною сказанному?

DoctorS

Цитата: rlr72 от 24 Дек. 2020 в 23:56
Пример не практический а философский, может я утрирую: у кулона задается два параметра, "максимальное напряжение" и "напряжение начала снижения тока", выставили мы к примеру 16.5 и 16.1 (или человек вообще 15 поставил), после 16.1 ток начнет снижаться, но через какое то время может опять начать расти и напряжение так и не дойдет до 16.45?, какой алгоритм сработает? По напряжению? Или к примеру он начал расти но не критично, застабилизировался и потом опять плавно начал снижаться и время N еще не закончилось, отсчет запуска времени N измениться?
В этом случае будет работать алгоритм по напряжению, НО важно понимать, что когда Вы ставите на Кулоне большую вилку по напряжению в основном заряде, то напряжение и ток становятся взаимосвязанными. То есть не может быть такого, что напряжение и ток растут или падают одновременно - всегда один параметр уменьшается, а другой увеличивается. И в описанном примере отлично отработает алгоритм по напряжению - если оно перестанет расти, то значит и ток перестанет снижаться и через два часа (настраивается) заряд будет прерван.

На остальные вопросы отвечу позже на работе.

DoctorS

Цитата: rlr72 от 24 Дек. 2020 в 23:56Может где то просигнализировать в шапке, что запущен таймер в такое то время (маркер на графике) и пусть тикает.
И когда алгоритм сработает по напряжению или по току, дальше отключение сразу или через N минут? Просто у меня на версии 1.1.5 на повторном запуске заряда после отстоя, заряд прерывался по току сразу по непонятным причинам (может я что-то делаю не так), хотя до окончания заряда по графику было далеко. Пришлось снять галки "прерывания заряда".
Ну и ток пользователем не обязательно будет задан С/50, может быть и С/30.
Алгоритмы прерывания заряда в прошлых версиях были не столь совершенны, именно по этому я их постоянно дорабатываю или вообще переделываю, как в этот раз (а вовсе не от нечего делать). Я сам каждый день пользуюсь своей программой и вношу в неё правки на основе многомесячных наблюдений в разных ситуациях.

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

Кроме того, важно отметить, что программа «думает» не как человек. Она не анализирует график, как мы с Вами. Она находит минимальные, максимальные значения параметров за два интервала, берет среднее арифметическое за +-5 минут во круг них для усреднения данных, чтобы исключить случайные колебания и сравнивает с усреднённым значением за последние 10 минут. Именно это позволяет не бояться случайных всплесков и провалов, так как они будут нивелированы окружением. А так же позволяет измерять параметры с точностью до 0.01А и 0.002В и очень точно отслеживать их динамику, что человеку просто физически не под силу.

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

Ну и в заключении добавлю, что сила тока С/50 или С/30 вообще не имеет значения. Программа «смотрит» не на величину тока, а на его изменение (то же самое касается напряжения). Так что можете задавать хоть 1С - всё будет работать точно так же, лишь бы аккумулятор не помер 😊


PS: видео Виктора с удовольствием пересмотрю, когда будет время.