Будет ли проверка резервного напряжения на RTC сбрасывать резервную батарею?

Я работаю над проектом ATMega, который будет держать время, и я пытаюсь сделать так, чтобы у вас была возможность использовать либо программное обеспечение (на основе миллисов ()), DS1307, либо DS3231 (ChronoDot) RTCs.

В самом основном, что я хотел бы сделать, есть заголовки для ChronoDot, доступные для припаивания, а затем как-то в программном обеспечении обнаруживают, что ChronoDot подключен и переключается на его использование. Обычно было бы достаточно просто проверить, присутствует ли DS1307 или DS3231, поскольку они используют один и тот же регистр I2C, но после этой первоначальной проверки они немного отклоняются друг от друга, а у последнего больше возможностей. Поэтому я все еще хочу определить, что связано. В общем, я планирую иметь место непосредственно на борту для припаивания в DS1307 в качестве опции по умолчанию, а поддержка DS3231 будет с полным ChronoDot только через два 4-х контактных разъема. ChronoDot будет по существу соответствовать месту, где обычно будет проходить DS1307 (в этом случае он не будет заполнен). Основная причина, по которой я сосредоточен на ChronoDot, заключается в том, что она популярна, проста в приобретении и не требует пайки SMD для конечного пользователя (это, если для набора). Итак, вот что я думаю ...

Оба DS1307 и DS3231 имеют линию Vbat на чипе, но на самом деле это ничего не нужно. Однако у ChronoDot есть фактический вывод VBat на плате прорыва. Я мог бы подключить только Vbat от заголовка ChronoDot, а не DS1307 и подключить его к цифровому входному выводу на моем ATMega. Но у этого входного штыря вытащили на землю резистор (не совсем уверен, какое значение ... возможно 4.7k?). Если моя теория EE правильна, я могу прочитать этот вывод, и если я получу низкий уровень, то нет хронодота, но если я получу высокий уровень, есть.

Что-то вроде этого:

schematic

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

Мой главный вопрос здесь, если это только закончится тем, что он разрядит резервную батарею на RTC? Обычно не будет тока, взятого из резервной батареи, в то время как основной, 5 В, питание подается, но будет ли это подключаться к цифровому входу, чтобы он постоянно потреблял энергию от батареи? Или, есть ли режим, который мне понадобится, чтобы поместить штырь в него после прочтения, чтобы «отключить» его, так сказать? Я знаю, что могу изменить его на вывод, но я считаю, что если он будет установлен как выходной и низкий, я бы в основном заземлял батарею.

В любом случае, мои курсы EE были long . Любая помощь по теории здесь будет оценена.

8 голосов | спросил Adam Haile 12 MarpmTue, 12 Mar 2013 17:56:46 +04002013-03-12T17:56:46+04:0005 2013, 17:56:46

3 ответа


8

Конечно, вы разрядите аккумулятор через резистор. Количество тока, которое вы нарисуете, будет регулироваться законом Ома: I = V /R. Допустим, ваше напряжение батареи составляет 3 В (т. Е. Обычный хронодот Vbat). С резистором 4,7 кОм вы будете непрерывно рисовать 3/4700 = 638 микроампер. Если вы сделаете резистор 1 МОм, вы вместо этого нарисуете 3/1000000 = 3 микроампера. И если вы сделаете резистор 10 МОм, вместо этого вы нарисуете 3 /1e7 = 300 наномамп.

Чем больше значение резистора вы выбираете, тем меньше тока вы будете рисовать непрерывно, но чем дольше будет переход на ваш цифровой контакт для перехода (думайте, что постоянная времени R * C определяется сопротивлением и емкостью контактов и следов) , До тех пор, пока вы будете ждать достаточно долго (или периодически проверяйте) после запуска, вы должны быть в порядке с резистором 10 МОм. Теоретически, вы могли бы получить больше шума с большим значением (как он начинает все больше и больше выглядеть как разомкнутая цепь), но я думаю, что все будет в порядке. Я мог бы даже подумать о повышении до 100 МОм.

Типичный CR1632 имеет 130 миллиампер часов (мАч) энергии, хранящейся в нем, и, возможно, 80% этого срока полезного использования, поэтому просто назовите его 100 мАч для удобства расчета. Грубая оценка вашего времени автономной работы - это миллиампер часов /миллиампер.

  • С вашим резистором 4,7 кОм, который равен 100 /.638 = 156 часов = 6.5 дней.
  • С резистором 1 МОм, который равен 100 /0,003 = 33333 часа = 3,8 года.
  • С резистором 10 МОм, который равен 100 /0,0003 = 333333 часа = 38 лет.

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

ответил vicatcu 12 MarpmTue, 12 Mar 2013 18:13:51 +04002013-03-12T18:13:51+04:0006 2013, 18:13:51
1

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

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

Для цифрового теста это может быть так же просто, как использование внутреннего, настраиваемого программного обеспечения, и только его настройка в течение короткого периода времени вокруг теста. Тем не менее, вам нужно будет изучить возможные осложнения наличия напряжения на штыре, когда MCU, выполняющий измерение, не включен /находится в спящем режиме.

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

ответил Chris Stratton 12 MarpmTue, 12 Mar 2013 19:33:45 +04002013-03-12T19:33:45+04:0007 2013, 19:33:45
1

DS3231 имеет внутреннюю температуру, которую вы можете прочитать. Вы можете написать команду над I2C для чтения температуры, если у вас есть ответ, у вас есть DS3231, если у вас нет DS1307.

ответил Scott Goldthwaite 2 62013vEurope/Moscow11bEurope/MoscowSat, 02 Nov 2013 16:57:25 +0400 2013, 16:57:25

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

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

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