Контроль батареи посредством АЦП и встроенного 1.1V BangGap
Контроль батареи посредством АЦП и встроенного 1.1V BangGap
Вычитал в инете такую интересную идею с контролем батареи:
на вход АЦП подцепляется BangGap, а в качестве референса - питание. Круто.
Но вот что меня смутило:
АЦП последовательного приближения предполагает, что у него стабильная опора и сам оцифровываемый сигнал. Последнее достигается устройством samplehold но входе. Без SH, с плывущим входным сигналом АЦП будет очень даже врать.
Естественно замерять батарею логично нагрузив ее. Быстро она не просядет так как есть конденсатор по питанию. Ждать этого успокоения и сажать батарею или ставить конденсатор по питанию на постоянную времени в десяток микросекунд?
Или замерять ненагруженную батарею, что в принципе почти то же самое что поставить конденсатор достаточно большой емкости?
Я конечно понимаю что для замера батарейки не требуется самая высокая точность, но все же.
на вход АЦП подцепляется BangGap, а в качестве референса - питание. Круто.
Но вот что меня смутило:
АЦП последовательного приближения предполагает, что у него стабильная опора и сам оцифровываемый сигнал. Последнее достигается устройством samplehold но входе. Без SH, с плывущим входным сигналом АЦП будет очень даже врать.
Естественно замерять батарею логично нагрузив ее. Быстро она не просядет так как есть конденсатор по питанию. Ждать этого успокоения и сажать батарею или ставить конденсатор по питанию на постоянную времени в десяток микросекунд?
Или замерять ненагруженную батарею, что в принципе почти то же самое что поставить конденсатор достаточно большой емкости?
Я конечно понимаю что для замера батарейки не требуется самая высокая точность, но все же.
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Совершенно непонятно, что Вы хотите получить от этого "измерения батареи". Если уровень заряда, то не надо ничего нагружать. Если внутреннее сопротивление, то тут метод измерения сильно зависит от того зачем вам это сопротивление.
- bodriy2014
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Пн янв 04, 2016 17:23:59
- Контактная информация:
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Батарею мерить можно раз в 10сек например, для измерения использовать внутренний источник опорного напряжения 1,1В или в старых 2,56В. Мерить сразу 10 значений и усреднять. Тогда вам даже случайно неправильный замер не повредит.
регистр ADMUX.
регистр ADMUX.
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
На самом деле тема скорее как предупреждение, потому что имхо неочевидно, что это эквивалент АЦП без sample&hold и можно огрести невылавливаемых глюков не понимая их механизма.
Мерить я буду наверное раз в 2 минуты, что на фоне 5-10лет службы достаточно часто.
Батарейка предполагается CR2032 или CR2045.
Вот нашел даташит, конец литиевой батарее наступает почти мгновенно.
http://data.energizer.com/PDFs/cr2032.pdf
Насколько я понял - эдс держится до самого конца на постоянном уровне.
сопротивление ближе к концу начинает по более-менее неотвесной кривой расти начиная с 20 Ом. Но и оно практически постоянно до 3/4 емкости батареи.
Хорошо когда устройство потребляет равномерно и более менее внятную нагрузку обеспечивает, а не так:
1) спим с потреблением 1мка
2) раз в полсекунды потребляем 30мА в течении 30мкс. это добавляет 2мка к общему потреблению. На осциллографе видны отчетливые треугольные провалы. Но замерять, что либо во время провала не удастся по озвученной причине - хз, что намеряешь. Да и АЦП не так быстр. Видимо нужно увеличивать емкость и как-то мерить на зарядной кривой после отключения нагрузки.
3) раз в 3дня серия импульсов 5мА по хз сколько мс - чтобы можно было нормально видеть этот светодиод в помещении. Например 10 раз по 5мс. Это добавляет 1мка к среднему потреблению.
Мерить я буду наверное раз в 2 минуты, что на фоне 5-10лет службы достаточно часто.
Батарейка предполагается CR2032 или CR2045.
Вот нашел даташит, конец литиевой батарее наступает почти мгновенно.
http://data.energizer.com/PDFs/cr2032.pdf
Насколько я понял - эдс держится до самого конца на постоянном уровне.
сопротивление ближе к концу начинает по более-менее неотвесной кривой расти начиная с 20 Ом. Но и оно практически постоянно до 3/4 емкости батареи.
Хорошо когда устройство потребляет равномерно и более менее внятную нагрузку обеспечивает, а не так:
1) спим с потреблением 1мка
2) раз в полсекунды потребляем 30мА в течении 30мкс. это добавляет 2мка к общему потреблению. На осциллографе видны отчетливые треугольные провалы. Но замерять, что либо во время провала не удастся по озвученной причине - хз, что намеряешь. Да и АЦП не так быстр. Видимо нужно увеличивать емкость и как-то мерить на зарядной кривой после отключения нагрузки.
3) раз в 3дня серия импульсов 5мА по хз сколько мс - чтобы можно было нормально видеть этот светодиод в помещении. Например 10 раз по 5мс. Это добавляет 1мка к среднему потреблению.
- bodriy2014
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Пн янв 04, 2016 17:23:59
- Контактная информация:
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
А что за прибор собираете?какой MK?какая частота?
Вы ничего о проекте не говорите((
Вы ничего о проекте не говорите((
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
любопытно, зачем устройству, автономно работающему 5 лет, знать состояние его батареи? если устройство просыпается раз в 2 секунды, то проще и однозначно энергетически эффектнее считать количество пробуждений. когда количество достигнет некоего критического порога (2х60х60х24х365х5=315 360 000) делать ровно то самое, что хотели делать по результатам контроля батареи 
или боитесь, что из-за разброса параметров батареек не получится? так можно число в счетчике меньше для запаса сделать.
или боитесь, что из-за разброса параметров батареек не получится? так можно число в счетчике меньше для запаса сделать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Прибор - регистратор. В случае возникновения проблем с него считывают данные, что он накопил за последние недели-месяцы. Но если проблем нет - собираемые данные по кругу перезаписываются и устаревшие никого не интересуют. Данных мало - хватило бы полЕПРОМА.
Однако периодически - в среднем раз в неделю его навещают и посредством кнопки проверяют исправность - он должен моргнуть светодиодом. Если моргнул значит все в порядке. Если не моргнул - либо сбой (он должен как-то надежно встать, чтобы не запороть что насобирал (тема "вачтог наоборот") тогда что-то можно вытянуть программатором и расшифровать в лабе) либо начала садится батарея. В последнем случае он будет работать и встанет только когда батарея станет совсем слаба. Если батарея еще не совсем сдохла данные вытягиваются по компорту обычным образом клиентом. В любом случае прибор в ремонт - так как батарея запаяна, сбои не предполагаются нормальным явлением, хотя могут быть попытки компрометации и поэтому нужно заглохнуть надежно, чтобы можно было восстановить и историю и вычислить момент сбоя (соответственно и кого заподозрить если обнаружится система в сбоях).
Сейчас частота 921,6кГц. (для того чтобы работать по компорту на стандартной скорости) Можно и на 8Мгц - не сильно принципиально, но потребление будет несколько выше. Ну и часовой кварц 32кГц на асинхронном таймере.
В общем - да - можно считать тупо времяработы батареи, тем более что оно и так ведется. Можно добавить это как ИЛИ условие.
Но - кто знает - может какие утечки по плате будут или батарея некачественная..
Вот результат измерения описанным способом, сразу после провала после снятия нагрузки 30мА х 30мкс, емкость по питанию стоит 8 мкф:
питание 3,3В - выход 73 в десятичной системе (8-битный режим, выход стабильный)
питание 3,3 подключаем через 100ом - выход 85
Почему выход увеличивается при увеличении внутреннего сопротивления источника понятно - сигнал стабилизирован - референс просаживается.
Но расчетные значения напряжения питания получаются невразумительными.
U=255*1,1/73=3,84V или
U=255*1,1/85=3,29V
что в общем-то не особо укладывается в +-10%погрешность BandGap.
Учитывая кривую разряда батарейки, что-то сложно как-то все. Калибровать опору как-то не входило в мои планы. Можно конечно следить за динамикой изменения измеряемого числа..
А если замерять напряжение перед нагрузкой во времени - разницы нет никакой - значение 73 и с резистором и без.
Но! в это время референс стабилен, и АЦП должен работать нормально, со своими приближениями.. чтож 3,84В то получается.. +15% погрешность.
Тестер показывает 3,36 и до резистора и после.
Однако периодически - в среднем раз в неделю его навещают и посредством кнопки проверяют исправность - он должен моргнуть светодиодом. Если моргнул значит все в порядке. Если не моргнул - либо сбой (он должен как-то надежно встать, чтобы не запороть что насобирал (тема "вачтог наоборот") тогда что-то можно вытянуть программатором и расшифровать в лабе) либо начала садится батарея. В последнем случае он будет работать и встанет только когда батарея станет совсем слаба. Если батарея еще не совсем сдохла данные вытягиваются по компорту обычным образом клиентом. В любом случае прибор в ремонт - так как батарея запаяна, сбои не предполагаются нормальным явлением, хотя могут быть попытки компрометации и поэтому нужно заглохнуть надежно, чтобы можно было восстановить и историю и вычислить момент сбоя (соответственно и кого заподозрить если обнаружится система в сбоях).
Сейчас частота 921,6кГц. (для того чтобы работать по компорту на стандартной скорости) Можно и на 8Мгц - не сильно принципиально, но потребление будет несколько выше. Ну и часовой кварц 32кГц на асинхронном таймере.
В общем - да - можно считать тупо времяработы батареи, тем более что оно и так ведется. Можно добавить это как ИЛИ условие.
Но - кто знает - может какие утечки по плате будут или батарея некачественная..
Вот результат измерения описанным способом, сразу после провала после снятия нагрузки 30мА х 30мкс, емкость по питанию стоит 8 мкф:
питание 3,3В - выход 73 в десятичной системе (8-битный режим, выход стабильный)
питание 3,3 подключаем через 100ом - выход 85
Почему выход увеличивается при увеличении внутреннего сопротивления источника понятно - сигнал стабилизирован - референс просаживается.
Но расчетные значения напряжения питания получаются невразумительными.
U=255*1,1/73=3,84V или
U=255*1,1/85=3,29V
что в общем-то не особо укладывается в +-10%погрешность BandGap.
Учитывая кривую разряда батарейки, что-то сложно как-то все. Калибровать опору как-то не входило в мои планы. Можно конечно следить за динамикой изменения измеряемого числа..
А если замерять напряжение перед нагрузкой во времени - разницы нет никакой - значение 73 и с резистором и без.
Но! в это время референс стабилен, и АЦП должен работать нормально, со своими приближениями.. чтож 3,84В то получается.. +15% погрешность.
Тестер показывает 3,36 и до резистора и после.
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Полагаю, есть опасения, что во второй половине этого срока стоимость контрольных поездок и замен, плюс стоимость недоиспользованных миллиамперчасов намного превысит стоимость искомого в этом топике решения. Может и ошибаются, но мысель явно именно в том, чтобы вычерпать батарейку до конца и ехать на змену один раз в конце её срока.ARV писал(а):или боитесь, что из-за разброса параметров батареек не получится? так можно число в счетчике меньше для запаса сделать.
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
"Мысель" ваша неверна. Батарейку менять в поле не предполагается и никаких контрольных поездок тоже. Подходы делаются не к устройству, а наоборот блок в котором стоит устройство приходит периодически для выполнения основной функции в определенное место. Кнопки как таковой тоже нет, есть сенсор, что вот сейчас нужно мигнуть светодиодом. т.е на устройство нужно только взглянуть в определенный момент и если оно не мигнуло то принимать меры. Время жизни блока максимум лет3-5. Так что в конце концов - или демонтаж/ремцентр/рефербиш или на выброс.
Смысл контроля питания путем АЦП еще в том чтобы убедится, что устройство не замучали. Если оно постоянно будет находится в режиме индикации и коммуникаций, то срок жизни батареи будет не 10лет, а скажем месяц.
Смысл контроля питания путем АЦП еще в том чтобы убедится, что устройство не замучали. Если оно постоянно будет находится в режиме индикации и коммуникаций, то срок жизни батареи будет не 10лет, а скажем месяц.
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Что-то вы, любезный, путаетесь в показаниях, то пишете о выездах к устройству:

то, что их не предусмотрено:VAT писал(а):периодически - в среднем раз в неделю его навещают и посредством кнопки проверяют исправность
Разберитесь уже, что же на самом деле в планах относительно девайса.VAT писал(а):Батарейку менять в поле не предполагается и никаких контрольных поездок тоже. Подходы делаются не к устройству, а наоборот
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Возникает подозрение, что VAT собирает какое то античеловеческое устройство.
Угу. 300 часов по графику из даташита.
Мигание светодиодом требует всего 1 мкФ ёмкости если так боитесь батарейку просадить. Напряжение батарейки падает очень плавно. Можно не только факт разряда определять, но и предсказывать его заранее основываясь на динамике напряжения.
Только надо учитывать, что у некоторых AVR минимальный порог напряжения для EEPROM выше чем для самого МК (такие забавные баги).
VAT писал(а):Вот нашел даташит, конец литиевой батарее наступает почти мгновенно.
Угу. 300 часов по графику из даташита.
Мигание светодиодом требует всего 1 мкФ ёмкости если так боитесь батарейку просадить. Напряжение батарейки падает очень плавно. Можно не только факт разряда определять, но и предсказывать его заранее основываясь на динамике напряжения.
Только надо учитывать, что у некоторых AVR минимальный порог напряжения для EEPROM выше чем для самого МК (такие забавные баги).
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
В принципе да, направленное против некоторого типа людей.
Какая разница - устройство к человеку или человек к устройству, если вопрос о способе контроля батареи конкретном?
300 часов - это всего 12 дней - да это мгновенно)) Хорошо бы 3 месяца. А еще лучше 6. Период контроля устройства человеком может варьироваться в очень широких пределах. От дня до месяцев.
Вот в этой емкости и дело. Чтобы контролировать батарею (литиевую) у которой ЭДС меняется только в начале и в конце , а вовсе не плавно, нужно ловить момент когда поплывет внутреннее сопротивление.
А для этого нужно нагрузить и дождаться когда емкость примет новое напряжение.
Если уменьшать емкость и дожидаться ее разряда за время нагрузки - то получится какой то ужасно стремный вид напряжения на контроллере, с провалами до вольта в конце службы)). Хотя формально ничего не нарушено..
Если увеличить емкость и задавить провалы - то ничего не намеришь пока не станет поздно.
Промежуточный вариант, как у меня сейчас будет зависеть от емкости - а там разброс немалый.
Видимо придется таки ориентироваться на динамику снижения напряжения и ее увеличение считать концом + по абсолютному значению, так как динамика и в начале присутствует. А вырубаться уже по абсолютному если как-то откалиброваться придумать занедорого. Или BOD в конце включить.
А сколько там между этими событиями пройдет - надеюсь до полугода-таки дотянет.
Ну и непонятно откуда такая погрешность.. настораживает.
да мк - мега48ра
Какая разница - устройство к человеку или человек к устройству, если вопрос о способе контроля батареи конкретном?
300 часов - это всего 12 дней - да это мгновенно)) Хорошо бы 3 месяца. А еще лучше 6. Период контроля устройства человеком может варьироваться в очень широких пределах. От дня до месяцев.
Вот в этой емкости и дело. Чтобы контролировать батарею (литиевую) у которой ЭДС меняется только в начале и в конце , а вовсе не плавно, нужно ловить момент когда поплывет внутреннее сопротивление.
А для этого нужно нагрузить и дождаться когда емкость примет новое напряжение.
Если уменьшать емкость и дожидаться ее разряда за время нагрузки - то получится какой то ужасно стремный вид напряжения на контроллере, с провалами до вольта в конце службы)). Хотя формально ничего не нарушено..
Если увеличить емкость и задавить провалы - то ничего не намеришь пока не станет поздно.
Промежуточный вариант, как у меня сейчас будет зависеть от емкости - а там разброс немалый.
Видимо придется таки ориентироваться на динамику снижения напряжения и ее увеличение считать концом + по абсолютному значению, так как динамика и в начале присутствует. А вырубаться уже по абсолютному если как-то откалиброваться придумать занедорого. Или BOD в конце включить.
А сколько там между этими событиями пройдет - надеюсь до полугода-таки дотянет.
Ну и непонятно откуда такая погрешность.. настораживает.
да мк - мега48ра
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
12 дней это при потреблении 190 мкА, а если брать расчётные 4 мкА, то это уже 570 дней (полтора года).
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
так я же не знаю откуда вы взяли 300часов безотносительно потребления))
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Способ контроля - не цель, а лишь инструмент для ее достижения. Цель же кроется за такими, например, словами:VAT писал(а):Какая разница - устройство к человеку или человек к устройству, если вопрос о способе контроля батареи конкретном?
Получается, что цель в том, чтобы использовать "батарею (литиевую)" насколько удастся полно. Т.о., нет противоречия со словами:VAT писал(а):Чтобы контролировать батарею (литиевую) ... нужно ловить момент когда поплывет внутреннее сопротивление.
Pnjom-Penb писал(а):чтобы вычерпать батарейку до конца
Re: Контроль батареи посредством АЦП и встроенного 1.1V Band
Нужно отключить индикацию когда батарея покажет признаки конца.
Отсутствие индикации - само по себе индикация того что с устройством что-то не то и выведет его из обращения при первом осмотре.
Когда достигается нижний порог (а устройство не вывели из обращения) нужно просто заблокировать CPU чтобы он не смог попортить то что насобирал.
Просто как хороший тон. Но алгоритм какой-то выходит непростой учитывая неточность измерения.
Можно сделать, чтобы устройство автокалибровалось при первом включении по батарейке. Начальное напряжение на свежей не-левой батарейке будет на порядок точнее этого BandGap..
По прикидкам батарея никогда не вычерпает и половины емкости.
Отсутствие индикации - само по себе индикация того что с устройством что-то не то и выведет его из обращения при первом осмотре.
Когда достигается нижний порог (а устройство не вывели из обращения) нужно просто заблокировать CPU чтобы он не смог попортить то что насобирал.
Просто как хороший тон. Но алгоритм какой-то выходит непростой учитывая неточность измерения.
Можно сделать, чтобы устройство автокалибровалось при первом включении по батарейке. Начальное напряжение на свежей не-левой батарейке будет на порядок точнее этого BandGap..
По прикидкам батарея никогда не вычерпает и половины емкости.
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Контроль батареи посредством АЦП и встроенного 1.1V Band
А тогда нужен ли весь этот сыр-бор?VAT писал(а):По прикидкам батарея никогда не вычерпает и половины емкости.
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
это я уже раза два писал тоже.
И вообще тема не об этом.
И вообще тема не об этом.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
а о чем?VAT писал(а):И вообще тема не об этом.
метод контроля напряжения батареи путем переворачивания с ног на голову (т.е. измеряем "опорное", а в качестве опорного берем измеряемое напряжение батареи) известен давно, вполне нормально себя показывает. плюс его в том, что нет лишних делителей, которые жрут энергию.
если делитель сделать отключаемый - можно и традиционным способом мерить, не проблема. по энергетике будет так же экономно, но лишние резисторы на плату ставить придется.
если надо мерить в момент просадок - так кто мешает? запускаете EEPROM на запись, оно там пишет, если я не ошибаюсь, 4 мс, сразу после этого стартуете АЦП - выборку АЦП сделает как раз в момент просадки.
все известно давным давно, о чем можно так долго рассуждать? вам ведь не надо ТОЧНО измерять, вам надо просто узнать, что напряжение достигло (а точнее - приблизилось к нему) опасного уровня. поэтому насчет "врать" можно не париться - просто методом теста определить среднее значение, которое метод выдает в конце срока жизни батарейки, и прошить его в программе.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Контроль батареи посредством АЦП и встроенного 1.1V Bang
Что-то мне не показалось что это всем давным давно известно и понятно..
Еще раз:
- АЦП последовательного приближения предполагает, что опора и сигнал совершенно стабильны во время измерения (для этого у него выборка хранения схема на входе), а вы предлагаете делать замер как раз когда оно поплыло.. S&H в этой схеме оказался не на сигнале где он необходим, а на опоре - где он не нужен.
Вы предлагаете занести какие-то один раз замеренные коэффициенты в МК и не обращаете внимание чтоBandGap +-10% по даташит, что вобщем-то делает его бесполезным без калибровки ибо не отличишь новую литиевую батарейку от дохлой с такими погрешностями.
Еще раз:
- АЦП последовательного приближения предполагает, что опора и сигнал совершенно стабильны во время измерения (для этого у него выборка хранения схема на входе), а вы предлагаете делать замер как раз когда оно поплыло.. S&H в этой схеме оказался не на сигнале где он необходим, а на опоре - где он не нужен.
Вы предлагаете занести какие-то один раз замеренные коэффициенты в МК и не обращаете внимание чтоBandGap +-10% по даташит, что вобщем-то делает его бесполезным без калибровки ибо не отличишь новую литиевую батарейку от дохлой с такими погрешностями.