Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F100 от батарейки, контроллер питания
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
(vS)
планирую девайс питающийся от батарейки телефона, 3.7V примерно 1700mAh
на какой элементарной базе собрать контроллер питания, контроллер заряда батарейки?
Егоров
Вместо девайса придется делать прибор. И не на элементарной базе, а на элементной.
Для начала посмотреть как такие приборы уже сделаны.
KnightIgor
Цитата((vS) @ Oct 13 2015, 10:36) *
планирую девайс питающийся от батарейки телефона, 3.7V примерно 1700mAh
на какой элементарной базе собрать контроллер питания, контроллер заряда батарейки?

Гляньте у TI, например - BQ24232.
(vS)
пробежался по даташиту, неплохой вариант, доступен в нашей деревне, попробую
Спасибо, Игорь

параллельный вопрос, как можно мониторить состояние батареи? т.е. текущий заряд, какой процент от полного
AlanDrakes
Если именно мониторить - то Вам нужен встраиваемый контроллер батареи, например, тот же bq27545. Последний должен быть постоянно подключен к батарее и, в идеале, откалиброван. Плюс, небольшая обвязка вокруг.
Опять же, плюс контроллер заряда (уже не Fuel Gauge, а именно чип, ограничивающий ток заряда и регулирующий напряжение).
SII
У нас в приборе BQ25060DQC стоит в компании с транзистором. До этого стоял BQ24070, но в конечном итоге он не подошёл из-за термистора, который в той батарее, на которой наша контора остановилась, поэтому заменили.

А с уровнем заряда тяжко. Проблема в том, что почти при любом заряде батарея выдаёт одно и то же напряжение, поэтому на него опираться нельзя. Приходится подсчитывать заряд, втекающий в батарею при зарядке и вытекающий при разрядке, а для этого в общем случае нужен более продвинутый контроллер, о чём выше написали.
jcxz
Цитата(SII @ Oct 14 2015, 12:36) *
А с уровнем заряда тяжко. Проблема в том, что почти при любом заряде батарея выдаёт одно и то же напряжение, поэтому на него опираться нельзя. Приходится подсчитывать заряд, втекающий в батарею при зарядке и вытекающий при разрядке, а для этого в общем случае нужен более продвинутый контроллер, о чём выше написали.

Странно... У меня в одном из моих устройств стоит литиевая батарейка. И напряжение на ней в процессе разрядки хоть и медленно, но всё же падает.
И индикация разряда батареи, по достижении некоторого уровня (измеренного АЦП МК), работает вполне нормально.
Речь не идёт именно о "уровне заряда" как размерной величине, а только о приблизительном достижении некоего порога.
Ga_ry
Цитата(SII @ Oct 14 2015, 09:36) *
А с уровнем заряда тяжко. Проблема в том, что почти при любом заряде батарея выдаёт одно и то же напряжение, поэтому на него опираться нельзя.

Вполне возможно для комнатных условий.
Себе для приемничка без индикатора заряда и 8-ми бит АЦП ставил такие точки:
#define U_1 206 //3.4 V critically low voltage
#define U_2 219 //3.6 V
#define U_3 231 //3.8 V
#define U_4 243 //4.0 V
#define U_5 252 //4.15 V highest possible voltage
Не утверждаю про какую-то точность, особенно в полевых условиях с большим "разбегом" температур но вполне можно оценить степень заряженности литиевого АК.
Соотв. 0-25-50-75-100 %
bloody-wolf
Присмотритесь к STNS01 от STMicroel.., единственно что ток в систему до 300мА, а так вполне прикольная штука, есть как раз и вывод для АЦП отключаемый, чтоб не жрало, и честное отрубание аккума от всей системы при сверх-разряде, с потреблением до 100нА. у себя в проектах ставили такой чип в связке с RF MCU CC2530 и похожими.
(vS)
спасибо
будет, чем завтра днем заняться )
AlanDrakes
Цитата(Ga_ry @ Oct 14 2015, 16:40) *
Вполне возможно для комнатных условий.
Себе для приемничка без индикатора заряда и 8-ми бит АЦП ставил такие точки:
#define U_1 206 //3.4 V critically low voltage
#define U_2 219 //3.6 V
#define U_3 231 //3.8 V
#define U_4 243 //4.0 V
#define U_5 252 //4.15 V highest possible voltage
Не утверждаю про какую-то точность, особенно в полевых условиях с большим "разбегом" температур но вполне можно оценить степень заряженности литиевого АК.
Соотв. 0-25-50-75-100 %


Когда-то делал нечто похожее на, вроди бы, мелкой ATTiny. Но ограничился 3 светодиодами, показывающими 5 уровней:
Мигающий жёлтый - заряд высокий (более 80%)
Жёлтый - 60-80
Зелёный - 40-60
Красный - 20-40
Мигающий красный - < 20
Замерял точно так же, по напряжению. Точных значений даже не вспомню, но отталкивался от величин 3.5V ~ 4.2V Всё, что было выше 4.05 считал перебором.
(vS)
меня беспокоит, что для измерения напряжения батареи на ней будет постоянно "висеть" нагрузка и высаживать её, как можно продлить жизнь батарейки и при этом иметь возможность ее мониторить?
aaarrr
Цитата((vS) @ Oct 19 2015, 01:32) *
меня беспокоит, что для измерения напряжения батареи на ней будет постоянно "висеть" нагрузка и высаживать её, как можно продлить жизнь батарейки и при этом иметь возможность ее мониторить?

Так отключайте её:
Нажмите для просмотра прикрепленного файла
jcxz
Цитата(aaarrr @ Oct 19 2015, 05:16) *
Так отключайте её:

А если без доп. компонентов?
aaarrr
Цитата(jcxz @ Oct 19 2015, 08:30) *
А если без доп. компонентов?

Можно, если напряжение батареи не превышает допустимого на выводе АЦП. В случае Li-Ion это маловероятно.
digital
Цитата(SII @ Oct 14 2015, 09:36) *
У нас в приборе BQ25060DQC стоит в компании с транзистором. До этого стоял BQ24070, но в конечном итоге он не подошёл из-за термистора, который в той батарее, на которой наша контора остановилась, поэтому заменили.

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



Под нагрузкой нужно измерять
drum1987
Цитата(jcxz @ Oct 19 2015, 11:30) *
А если без доп. компонентов?

а сколько вольт будет на ноге АЦП при отключенном делителе?
Obam
Если тока через R2 нет, то всё напряжение батареи.
AlanDrakes
Цитата(aaarrr @ Oct 19 2015, 12:55) *
Можно, если напряжение батареи не превышает допустимого на выводе АЦП. В случае Li-Ion это маловероятно.


Подбором номиналов делителя можно выбирать измеряемое напряжение в широких пределах. Например, для 1:1, допустимое напряжение равняется 2*Vcc. Для 2:1 - уже 3*Vcc, и так далее.
Опять же, уже говорили про постоянный ток, протекающий через делитель, что не есть хорошо.
И лучше исользовать готовый контроллер питания - он всяко окажет меньшее воздействие на АКБ и длительность работы.
jcxz
Цитата(AlanDrakes @ Oct 19 2015, 14:36) *
Подбором номиналов делителя можно выбирать измеряемое напряжение в широких пределах. Например, для 1:1, допустимое напряжение равняется 2*Vcc. Для 2:1 - уже 3*Vcc, и так далее.
Опять же, уже говорили про постоянный ток, протекающий через делитель, что не есть хорошо.

aaarrr писал про мою схему. И максимальное напряжение батареи в этом случае не должно превышать макс.напряжения для входа АЦП, ни от какого делителя это не зависит.
Если превышает - для защиты можно применить нелинейный элемент от средней точки делителя.
Постоянного тока нет, смотрите внимательнее - "выход ОК" - выход с открытым коллектором, вроде должно быть ясно.
aaarrr
Цитата(jcxz @ Oct 19 2015, 12:29) *
Если превышает - для защиты можно применить нелинейный элемент от средней точки делителя.
Постоянного тока нет, смотрите внимательнее - "выход ОК" - выход с открытым коллектором, вроде должно быть ясно.

Тогда через "нелинейный элемент" все и вытечет.
jcxz
Цитата(aaarrr @ Oct 19 2015, 15:39) *
Тогда через "нелинейный элемент" все и вытечет.

Рассчитываем делитель на получение примерно 2/3 от шкалы АЦП при макс. напруге на батарейке, нелинейный элемент ставим на напряжение чуть ниже макс.допустимого для входа АЦП.
Когда ОК-нога в сост. "0" - напряжение на входе АЦП не превысит 2/3 и соотв. будет гораздо ниже порога отпирания защитного элемента.
А микротоками утечки на закрытом нел. элементе, в таком деле как неточное измерение заряда батарейки, можно пренебречь.
aaarrr
Цитата(jcxz @ Oct 19 2015, 13:18) *
Когда ОК-нога в сост. "0" - напряжение на входе АЦП не превысит 2/3 и соотв. будет гораздо ниже порога отпирания защитного элемента.

А когда не в "0"? Потечет ведь через верхнее плечо делителя и тот самый элемент.
AlanDrakes
Хорошо. Теперь посчитаем следующее:
Напряжение батареи - 4.1V. Допустим, полностью заряженная ячейка LiIon.
Питание контроллера идёт через микромощный стабилизатор (тот же TPS76333) на 3.3V. Ток его собственного потребления порядка 0.1mA.
Теперь. Допустим, контроллер находится в состоянии останова и потребляет ещё 0.1mA.
Расчитаем нелинейные элементы и резисторы.
Допустим, R1 - 10kOhm, а R2 (на землю) - 5kOhm (например, составленный). Тогда суммарный ток через них будет (4.1 / (10000+5000)) = 4.1 / 15000 = 0.27mA. Неплохо. Даже больше, чем потребляет контроллер в режиме останова (остановлена переферия в том числе... по большей части).
Нелинейный элемент тут вообще не потребуется.
Теперь подключаем по схеме +Cell -> R1 -> R2 -> GPIO.
Выход с ОК в состоянии "1", то есть, не притянут к земле. Получаем ток (4.1 - 3.3 / (10000) = 0.08mA в сторону Vcc через защитный диод. Фактически, даже меньше (4.1 - (3.3 + 0.4)) = 0.4V / 10000Ohm = 0.04mA, которыми можно в принципе пренебречь, выставив порт ADC в режим GPIO.
Опять же, второй случай - выход с ОК в состоянии "0". Аналогично подключению +Cell -> R1 -> R2 -> GND, описанному выше. На входе ADC будет не более 2/3 Vcell (4.1 * 0.66 = 2.7V), но ток "утечки" будет чуть больше.
Нелинейный элемент можно поставить и на 2.5 и на 3V, но это излишки.
При выбранных номиналах потребуется только поставить небольшой блокировочный конденсатор паралельно R2 (где-то 10-100nF) для корректной работы ADC.
aaarrr
Цитата(AlanDrakes @ Oct 19 2015, 13:57) *
0.1mA ... ещё 0.1mA.

Лихо считаете, я бы сказал. Вот 0.05mA на все - это годится для батарейного изделия.
AlanDrakes
Цитата(aaarrr @ Oct 19 2015, 17:50) *
Лихо считаете, я бы сказал. Вот 0.05mA на все - это годится для батарейного изделия.


Это не на всё. Это только ток, протекающий через резистивный делитель.
Но в целом, можно добиться похожих показателей.
Удавалось запустить STM32L152 + LCD (Nokia 1110i) в режиме работы и отображения времени при рабочем токе в 0.71mA. Если обесточить экран - 0.3mA. Остновить ядро полностью, и перевести его в Standby - не смог измерить точно, но менее 0.1mA.
(vS)
Цитата(AlanDrakes @ Oct 20 2015, 03:58) *
Удавалось запустить STM32L152 + LCD (Nokia 1110i) в режиме работы и отображения времени при рабочем токе в 0.71mA. Если обесточить экран - 0.3mA. Остновить ядро полностью, и перевести его в Standby - не смог измерить точно, но менее 0.1mA.


похвально
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.