Контроллер аккумулятора

А что мы делаем?
Qic
Сообщения: 985

Сообщение Qic » 08 окт 2013, 22:44

Представляю вашему вниманию начатый мною сегодня проектик под названием "Контроллер аккумулятора".
Изначально он должен был мерять сколько именно ватт*час в данный момент в акб, сколько пришло, сколько ушло, и сколько времени в таком режиме останется.
Сейчас я представлю то как я это сегодня покинул. В следующей версии я вероятно выкину экран как таковой. Оставлю консольный вывод. Экран лучше пусть будет на чем попроще и удалённо.
Хочется сделать несколько управляемых (вкл/выкл) выходов. Пока авр, как механика будет отработана я перейду на stm32 и речь пойдет о микропотреблении.
Пока будет предполагаться SLA акб, также походу дела родилась функция UPS. Ток аккумулятора читается индуктивным холл-датчиком. Соответственно + или - и мы понимаем что идет заряд или разряд.
Питание МК через 78l05, lm317 играют роль ограничителя тока зарядки и тока нагрузки. При достаточном питании будет включаться байпасс, а ток зарядки и напряжение будут ограничиваться ШИМ-ом.
Плюс защита по току. Калиброва емкости, тренировка. Дип переключателями возможно сделаю тип акб. Короче планов громадьё.
ЗЫ Былокод прилагается ;)
Безымянный.jpg

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 08 окт 2013, 23:00

Что-то прямо ну все на STM32 переходят, даже я себе платку Дискавери заказал, хотя недавно еще был суперфанатом AVR. :mrgreen:

Qic
Сообщения: 985

Сообщение Qic » 09 окт 2013, 07:06

Ну вот смотри, хотя бы одна причина - в стм32 нативно 32 бита и привычны операции с плавающей запятой.
А у меня флоат вполне используется. Может можно и без него, но смысл дополнительно извращаться?
Ну и всё остальное логично - цена фарш память разрядность быстродействие.
Но я пока еще не осваивал их, и пишу для авр, пока так, будет что пересаживать - пересажу.
Про платку и супер фаната - аналогично. Платка правда давно лежит.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 09 окт 2013, 14:02

Да, у меня тоже была лажа с плавающими, что забавно, некоторые люди в принципе уверены, что на AVR считать double нельзя, это расово-неверно, из-за чего к примеру в крякнутом Codevision 2.05 никто не разлочил доступную в платной версии работу с double, а если спросить где-нить на форуме, как посчитать double на 8-битном МК, то тебя засмеют! :)
Двойной точности с плавающей запятой? На этом? Да вы, сударь, видимо головой повредились! :mrgreen:

Хотя, как показывает практика, double считается без проблем, только вот из-за ненативности операции и 8-битности АЛУ считается она порядком 20-30 мс, что дохрена, но ведь считается же! А значение на экране чаще двух раз в секунду обновлять и не надо.
Так что я решил STM32 опробовать скорее из любопытства, чем из-за конкретно тесности и тормознутости 8-битных МК, да и вообще хотелось бы хоть что-то кроме AVR попробовать, и если мне понравится, то цена STM'ок очень даже привлекает.

P.S.
Понимаю, что свое сделать всегда прикольней, но вот если нужен реально хороший зарядник, то я бы вот эту штуку собрал, документы и прошивка уже давно витают в инете:
http://www.youtube.com/watch?v=3LfU4mjgpyM
Ну, или купил, эта штука по моему баксов 20 стоит. ;)

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 09 окт 2013, 17:01

Я себе такой взял: http://www.aliexpress.com/item/Free-shi ... 14451.html
Сорь за оффтоп :)

Qic
Сообщения: 985

Сообщение Qic » 09 окт 2013, 17:30

Ни один ни второй не соответствуют задаче. Да заряжает, да меряет, но не управляет разрядкой в нагрузку, ибо мой носит характер бесперебойника. А терминальный вывод нужен чтобы умный потребитель знал сколько ему еще осталось и что можно погасить.
Видимо я прикручу 74hc595 с полевиками чтобы рулить 8ю каналами. Воткнуть предполагается в моё жалкое подобие NAS/router на базе mr3020.
Простаивает допустим девайс, отключаем жесткий диск, ну или еще чтонибудь. Я думаю понятно в общих принципах.
Достаточно четко изложить мысль не могу, формируется походу =)

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

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 09 окт 2013, 20:12

Простаивает допустим девайс, отключаем жесткий диск

Жесткий диск питанием отключать нельзя. Сначала нужно файловую систему сбросить на диск (она очень сильно кешируется и почти все хранится в оперативке), потом припарковать головки и только после этого рубить питание.

Или я зря напрягаюсь?

Если зарядка потянет нагрузку, то зря. Аккумулятор зарядится, зарядка перейдет в CV режим и будет питать себе нагрузку.

Qic
Сообщения: 985

Сообщение Qic » 09 окт 2013, 21:15

Я в курсе про жесткий диск. Разве что не знаю как принудительно парковать после отмонтирования.
Касаемо зарядки - ведь какраз контроллер знает что есть откуда кушать и может включить все нагрузки, ток будет большой, а аккумулятору может поплохеть.
Хотя если стабилизировать ток через аккумулятор...

Ладно, попробую пока причесать до более реального соответствия.

Qic
Сообщения: 985

Сообщение Qic » 12 окт 2013, 00:12

Встречаем версию 1.1
Работает логика зарядки и байпаса. Уже может работать в железе (после реализации ключей).
Надо допилить ваттчасметр и придумать ограничение тока зарядки. Ну и еще управление нагрузками...

ЗЫ Сам контроллер питается через кренку от самого аккумулятора, подразумевается что АКБ будет больше 6В т.к. например опорное используется 5В.
Если в протеусе убрать батарейку и подключить на АКБ, то будет ахинея, чего в реальности не будет. Так что на батарейку не смотрим.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 окт 2013, 00:31

Предлагаю топистартеру освоить меркуриал и битбакет или гит и гитхаб, и тогда в исходнии, возможно, даже кто-то посмотрит :)

Qic
Сообщения: 985

Сообщение Qic » 12 окт 2013, 00:43

Ну, в принципе идея хорошая, просто не сильно геморроиться хотелось по остальным поводам и заниматься сутью, но раз есть спрос, то займемся предложением.
BSVi, а ты как ведешь документацию по симпл* проектам и вообще? =)

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 окт 2013, 00:50

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

Qic
Сообщения: 985

Сообщение Qic » 12 окт 2013, 15:04

BSVi, я попробовал меркурикал с битбакетом, не понравилось (может я еще "не дорос"), я лучше по-старинке буду.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 окт 2013, 15:38

Qic, хозяин-барин :) Пока один разрабатываешь, просто нумеруя версии еще можно жить.

andrey
Сообщения: 12

Сообщение andrey » 12 ноя 2013, 12:39

Интересно.
У меня была попытка сделать что то похожее, но то скорее зарядное устройство
на АВР ке сделал.
Последний раз редактировалось andrey 13 ноя 2013, 13:46, всего редактировалось 1 раз.

Qic
Сообщения: 985

Сообщение Qic » 12 ноя 2013, 12:57

Ну то контроллер, а я хочу больше знать состояние аккумулятора, сколько осталось, сколько ему осталось,.
Пришел к выводу что надо переходить сразу в железо и делать функции по нарастающей - ватт*часы, оставшееся время работы/заряда, отключение нагрузки (опционально) и в последнюю очередь функция бесперебойника.
Пока дело встало за тем чтобы раздобыть индуктивный датчик тока.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 ноя 2013, 19:42

Вообще, определение заряда аккумулятора - это сложная тема. Я ей немного занимался, и могу сказать что без адской математики, кучи часов эксперементов, хитрого железа (хотябы, счетчика заряда), точно определить состояние заряда не так и просто. Возможно, стоит поискать готовые микросхемы в которых есть модели аккумуляторов и которые это делают, а не городить свое.

Qic
Сообщения: 985

Сообщение Qic » 12 ноя 2013, 20:39

Но погоди, а мы разве не можем сказать что энный акб после нескольких циклов (температуру берем постоянной) содержит энное количество ватт*часов?

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 ноя 2013, 20:44

Для того, чтобы сказать состояние заряда нужно знать сколько в аккумулятор втекло кулон и сколько вытекло. Это можно сделать в тупую счетчиком заряда, но это байда, которая всегда должна быть подключена к аккумулятору.

Вторая возможность построить полную мат.модель аккумулятора и по известным данным пытаться из нее что-то вытащить. У больших компаний есть такие модели, которыми они не спешат делиться - ImpedanceTrack у TI и ModelGauge у maxim (гугляться).

andrey
Сообщения: 12

Сообщение andrey » 12 ноя 2013, 20:46

У нас есть аккумулятор например свинцовый, теоретически напряжение предельного разряда у нас 10.8 В,
есть нагрузка например на 1А. подключаем нагрузку и считаем время до 10.8В в результате получаем
АмперЧасы, и так же теоретически зарядив аккум до 14.4В , мы приблзительно будем знать в следующий раз что действительно при токе 1А он
разрядится за N часов. Как вариант.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 ноя 2013, 20:52

Отличный способ, но не учитывает температуры, того, что реальная нагрузка не будет постоянно потреблять 1А, того что аккум стареет и емкость его зависит от разрядного тока. Это только краткий список. В реальности есть еще переходные процессы при изменении нагрузки притом, они еще и нелинейны. Есть еще куча эффектов, про которые я забыл. Вообщем, точное определение вполне на докторскую тянет.

Попробуйте подключить к аккумулятору нагрузку, порязряжать его пол часика, а потом отключить и позаписывайте выходное напряжение каждую минуту. Окажется, что напряжение возрастает после отключения нагрузки. Это, к примеру, переходной процесс.

Qic
Сообщения: 985

Сообщение Qic » 12 ноя 2013, 21:02

А десятые доли А*ч это "точно"? Или надо оценивать в процентах от номинальной емкости акб?
Тогда упростим задачу и будем считать примерное время работы и запоминать графики заряда разряда, чтобы потом из ипромки считать и проанализировать, при необходимости.
Тогда я пока заморочусь сбором данных о работе акб, напряжение, ток, температура.
Я вообще планировал что контроллер будет подключен к акб постоянно. Взять специально мк с микропотреблением, циклами по прерыванию анализировать.
Байду планируется вешать начиная с гдето 20 Вт*ч. Хочу взять пачку LiFePO4 , собрать батарею и следить за её жизнью.

Про возрастание напряжения вкурсе.

Впрочем, я в своем репертуаре, думал простой вопрос, а снова копнул в области докторских высеров и промышленных тайн :D
Это уже вошло в традицию.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 12 ноя 2013, 21:06

Или надо оценивать в процентах от номинальной емкости акб?

А процентах, конечно. 1% - это очень точно, точнее сейчас просто не бывает. Если у вас аккумулятор 200А*ч, то 2А*ч - это нынешний потолок погрешности.

Тогда упростим задачу и будем считать примерное время работы и запоминать графики заряда разряда, чтобы потом из ипромки считать и проанализировать, при необходимости.

При изменении температуры напряжения изменяются очень значительно. Это было первое что я сделал и получил полную фигню с погрешностью в 50% :)

Я вообще планировал что контроллер будет подключен к акб постоянно.

Тогда лучший выход - счетчик заряда (гуглить Coulomb Counter).

andrey
Сообщения: 12

Сообщение andrey » 13 ноя 2013, 11:56

"Отличный способ, но не учитывает температуры, того, что реальная нагрузка не будет постоянно потреблять 1А,"

А на что тогда датчик тока? Хотя там дейсвтивиельно много нюансов, но с какойто долей точности
есть возможность знать что аккум хороший или совсем плохой:)

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 13 ноя 2013, 12:49

А на что тогда датчик тока?

А чем он поможет?

с какойто долей точности есть возможность знать что аккум хороший или совсем плохой

Подозреваю, автор имел ввиду не индикатор - "аккумулятор более полон чем пуст/аккумулятор более пуст чем полон". Подозреваю, речь шла о индикации более-менее точного уровня заряда.

Вернуться в «Наши проекты»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей