Мониторинг низкого тока батареи

Я хочу запустить микроконтроллер с 1S липо через линейный регулятор 3V. Однако мне нужно измерить напряжение батареи. Проблема с использованием делителя напряжения заключается в том, что он будет терять батарею во времени, которая может иметь или не иметь встроенную схему защиты. Поскольку AVR, который я использую, имеет рекомендуемое входное сопротивление не выше 10 К, я не могу сделать слишком большой делитель.

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


В итоге я использовал решение Hanno и Andy. Спасибо за все входные данные. К сожалению, можно выбрать только один ответ.

12 голосов | спросил s3c 5 AMpFri, 05 Apr 2013 11:56:17 +040056Friday 2013, 11:56:17

3 ответа


15

Делитель напряжения должен подключиться к MCU в режиме глубокого сна, тогда ... Это может быть достигнуто с помощью P-канала FET (например) .... Когда MCU просыпается, он захочет измерить батарею так что он может сделать, это включить схему, образованную вокруг П-канала FET, который соединяет аккумулятор + V с делителем напряжения: -

введите описание изображения здесь>> </p>

<p> Вход АЦП показан справа и не будет достигнуто напряжение, если MCU не активирует BC547 через резистор 10k. Без активации P-канал FET выключается и практически разомкнут. Если вы можете запрограммировать MCU на выключение на его контрольном штыре, когда он спит, то должен добавить другой (скажем) 10k резистор от этой точки к земле - это гарантирует, что P-канал FET полностью отключен. </P >

<p> Небольшое слово предупреждения, выберите фетр P-канала с низким током утечки, когда он выключится, будет небольшой отток батареи, но большинство fets будут находиться под 100nA и многие в области 1nA. </p >

<p> Одна последняя вещь - как регулятор напряжения работает на его резервном токе, когда микро выключен - вам также нужно позаботиться об этом? </p></body></html>

ответил Andy aka 5 PMpFri, 05 Apr 2013 12:23:36 +040023Friday 2013, 12:23:36
2

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

В зависимости от его реальных возможностей вы можете сделать это без использования делителя напряжения. Например, просмотрите таблицу ADC для PIC12F1822, ( на стр. 141): Блок-схема АЦП

ПИК имеет внутренний источник опорного напряжения, и может измерить его значение (далее «FVR буфер», который проходит в мультиплексор). Но он также может использовать напряжение питания в качестве эталона для измерений АЦП (селектор ADPREF сверху).

Учитывая это, можно просто измерить опорный сигнал напряжения относительно напряжения питания и получить в результате напряжение питания. В случае 12F1822 внутренняя ссылка составляет 2.048 В, а АЦП имеет 10-битное разрешение. Поэтому, когда напряжение питания падает ниже 3,0 В, результат АЦП превышает 699:

$$ ADCresult = 1024 * \ гидроразрыва {V_ {в}} {V_ {ссылка}} $$ который в нашем случае $$ ADCresult = 1024 * \ гидроразрыва {2.048V} {V_ {питания}} $$

Обратите внимание, что более низкое напряжение питания означает более высокие результаты АЦП, так как напряжение на входе и опорное напряжение меняются местами с обычным способом. Вы можете преобразовать эту формулу, чтобы узнать фактическое напряжение питания, учитывая результат АЦП.

ответил hli 5 PMpFri, 05 Apr 2013 13:49:32 +040049Friday 2013, 13:49:32
0

Вам действительно нужен линейный регулятор? Запуск μC при полном напряжении батареи значительно упростит работу. Кроме того, регулятор и μC будут всегда потреблять электроэнергию, даже в режимах энергосбережения, непрерывно разряжая батарею. Взгляните на листы данных и учтите это.

Поскольку вход АЦП (общего АЦП с выборкой и удерживанием, как и в AVR μC) будет только тонуть, когда фактическая выборка значения, низкий входной импеданс переходный может быть скомпенсирован просто добавив конденсатор:

schematic

имитировать эту схему - Схема, созданная с использованием CircuitLab

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

Время перезарядки конденсатора может быть установлено путем изменения его емкости и /или R1. Больше R1 = меньше «потеря» энергии + ниже макс. частота дискретизации. Меньшая емкость будет заряжаться быстрее для данного резистора и т. Д.
Вы захотите максимизировать значение R1, и тогда может потребоваться свести к минимуму значение C1 для достижения желаемой частоты дискретизации.

Минимальная емкость зависит от величины заряда, который АЦП будет рисовать для образца, который, в свою очередь, определяется емкостью буфера выборки АЦП. Для устройств AVR я, похоже, помню, что это значение указано в таблице данных. Для других μC я не могу сказать, но 1μF на диаграмме, вероятно, будет более чем достаточно в любом случае и может быть уменьшен примерно в 10 раз. Спецификации ADC расскажут.

Edit:

Я нашел это в техническом описании Atmel для ATmega1284p. Конденсатор буфера S & H задан для 14 pico -farads, поэтому пара nano -фарад для C1 должна быть достаточной.

Схема аналогового ввода из таблицы ATmega1284p

См. например, обсуждение здесь .

ответил JimmyB 5 PMpFri, 05 Apr 2013 13:19:03 +040019Friday 2013, 13:19:03

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132