RTCのバックアップ電圧をチェックすると、バックアップバッテリーが消耗しますか?


8

私は時間を維持する予定のATMegaプロジェクトに取り組んでおり、ソフトウェア時間(millis()ベース)、DS1307、またはDS3231(ChronoDot)RTCのオプションを選択できるようにしています。

最も基本的に、私がやりたいのは、はんだ付けに使用できるChronoDotのヘッダーを用意し、ソフトウェアでなんとかしてChronoDotが接続されているかどうかを検出し、それを使用するように切り替えることです。通常、DS1307またはDS3231が同じI2Cレジスターを使用しているため、DS1307またはDS3231が存在することを確認するのは簡単ですが、最初の確認後は少しずれ、後者にはより多くの機能があります。したがって、どちらが接続されているかを判断したいと思います。一般的に、私はデフォルトのオプションとしてDS1307をはんだ付けするためにボード上に直接配置することを計画しており、DS3231サポートはデュアル4ピンヘッダーを介してのみ完全なChronoDotを使用します。ChronoDotは基本的に、DS1307が通常行く場所に適合します(この場合は装着されません)。私が特にChronoDotに焦点を合わせている主な理由は、普及しており、入手が簡単で、エンドユーザー(これはキットの場合)にSMDはんだ付けを必要としません。だから、これが私が考えていることです...

DS1307とDS3231はどちらもチップにVbatラインがありますが、実際には何も必要ありません。ただし、ChronoDotにはブレイクアウトボード上に実際のVBatピンがあります。DS1307ではなくChronoDotヘッダーからVbatのみを接続して、それをATMegaのデジタル入力ピンに接続することができます。しかし、その入力ピンは抵抗によってグランドにプルダウンされていますか(本当にどの値なのかわかりません...おそらく4.7k?)。私のEE理論が正しければ、そのピンを読み取ることができます。ローになった場合、クロノドットはありませんが、クロノドットはあります。

このようなもの:

概略図

この回路のシミュレーションCircuitLabを使用して作成された回路

ここでの私の主な質問は、これを行うと、RTCのバックアップバッテリーが消耗してしまうかどうかです。通常、メインの5V電源が供給されている間はバックアップバッテリーから電流が引き出されませんが、これをデジタル入力に接続すると、常にバッテリーから電力が引き出されますか?または、いわばピンを「切断」するために、ピンを読み取った後にピンを挿入する必要があるモードはありますか?出力に変更できることはわかっていますが、出力とローに設定されている場合、基本的にはバッテリーを接地していると思います。

とにかく、私のEEコースはずっと前のことです。ここでの理論に関するどんな助けもいただければ幸いです。

回答:


8

あなたは確かに抵抗を通してバッテリーを消耗します。引き込む電流の量は、オームの法則(I = V / R)によって決まります。バッテリー電圧が3V(通常のクロノドットVbat)であるとしましょう。4.7 kOhm抵抗を使用すると、3/4700 = 638マイクロアンペアが連続して消費されます。これを1メガオームの抵抗にすると、代わりに3/1000000 = 3マイクロアンペアが消費されます。そして、10 Mオームの抵抗を作成すると、代わりに3 / 1e7 = 300ナノアンペアを消費します。

選択する値の抵抗値が大きいほど、継続的に流れる電流は少なくなりますが、デジタルピンが遷移するのにかかる時間が長くなります(R * C時定数は、抵抗とピンおよびトレースの静電容量によって決まります)。起動後、十分に待機する(または定期的に確認する)限り、10 Mオームの抵抗で問題ありません。理論的には、より大きな値でより多くのノイズを拾うこともできます(それはますます開回路のように見え始めるため)、私はあなたは大丈夫だと思います。私は100 MOhmまで行くことを検討するかもしれません。

典型的なCR1632には130ミリアンペア時(mAh)のエネルギーが蓄えられており、その80%が耐用年数である可能性があるため、計算を簡単にするために100 mAhと呼ぶことにします。バッテリー寿命の大まかな見積もりは、ミリアンペア時/ミリアンペアの消費です。

  • 100 / .638 = 156時間= 6.5日の4.7 kOhm抵抗を使用
  • 100 / 0.003 = 33333時間= 3.8年である1 Mオームの抵抗を使用
  • 100 / 0.0003 = 333333時間= 38年の10 MOhm抵抗を使用

これらは、システムの残りの部分が電力を消費しないと仮定する上限数です。これらは、システムの電源がオフになっていて、バッテリが抵抗を通じて単純に消耗しているときのシステムの寿命を表しています。考慮されていない2次的な影響もたくさんあります(電圧の減衰、内部バッテリーの漏れの化学など)。抵抗器は、達成したい寿命によっては、最大の問題になることはほとんどありません。


ええと...私が直接バッテリーを接地しているという事実に気づかなかったなんて信じられないでしょう:Pこれを行う別の方法について何か提案はありますか?
Adam Haile

私はあなたのアプローチはうまくいくと思います、十分に大きな抵抗が与えられれば、漏れ電流はあなたのバッテリー寿命に大きな影響を与えません、私はいくつかの数学で更新します。
vicatcu 2013年

1
賛成票:主な質問に答えます。@AdamHaileあなたが役立つかもしれない技術:デジタル電圧計はFETを使用しており、オーダまたはモームで抵抗と同等のわずかなドレインを提供します。
Shimofuri 2013年

1
@AdamHaile 1つの簡単なこと...私はあなたのシステムが別のコメントで5Vであるというあなたのコメントに気づきました。デジタルの電圧入力の高しきい値が、消耗したバッテリーに登録するのに十分高い(CR1632の場合はおそらく約2Vになる)ことに注意してください-マイクロコントローラーのデータシートを確認してください
vicatcu

1

抵抗器を含むこれらの測定方式のほとんどは、永久に接続したままにすると、これらのデバイスに電力を供給する小さなリチウム電池の許容できない電流引き込みと寿命の低下を引き起こします。

その場合の解決策は、実際に測定を行っているときに、測定回路に電流を引き込むのはまれに、わずかな間隔で行うことです。

デジタルテストの場合、これは内部のソフトウェアで構成可能なプルダウンを使用して、テストを取り巻く短い期間のプルダウンとしてのみ構成するのと同じくらい簡単です。ただし、測定を実行しているMCUに電力が供給されていない、またはスリープモードになっている場合、ピンに電圧が存在することで起こり得る複雑さを調べる必要があります。

アナログ測定はトリッキーになりますが、同様のアイデアを適用できます。たとえば、(I / Oに比べて高インピーダンス)分圧器の下側抵抗を出力ピンに接続し、測定を取り巻く時間の間だけそれをLowに駆動することができます。または、小さな低リークコンデンサと出力としてローに駆動できる単一のI / Oピンを備えたRC回路を構築し、アナログ入力として構成して、一定期間後の電圧を測定することもできます。デバイスのデジタルしきい値電圧が一定している場合(温度に注意してください!)、コンデンサがしきい値電圧まで充電するのにかかる時間を測定することにより、デジタル入力でアナログ測定をこのように行うこともできます。


うーん...内部のプルダウンができるといいのですが、残念ながら内部のプルアップ抵抗しかありません。私は物事を過度に複雑にしようとしているのかもしれません。どちらかのモードを使用するためにブリッジする必要があるはんだパッドは、おそらく許容されます。
Adam Haile

別のI / Oピンへの抵抗を使用して、ソフトウェアで構成可能な独自のプルダウンを作成できます。または、RC回路回路のアイデアを使用して、測定する入力として再構成する同じピンを駆動することができます。
Chris Stratton

実際、内部プルダウンを使用することは非常に悪い考えです。I / Oピンは、通常、ダイオードを使用してVddおよびGNDに接続され、ピンの電圧が電源電圧の外部に浮遊するのを防ぎます。チップに電力が供給されていない場合、ピンは基本的に2つの並列ダイオードでGNDに接続され、ダイオードのしきい値電圧を超える電圧を印加すると、非常に大きな電流が流れます。より良いアイデアは、ゲートがグランドへのNMOSトランジスタによって制御される直列のPMOSトランジスタを使用することです。これにより、マイクロコントローラーに電源が供給されていないときの漏れが最小限に抑えられます。
alex.forencich 2014年

1

DS3231には読み取り可能な内部温度があります。I2Cを介してコマンドを発行して温度を読み取ることができます。応答が得られた場合はDS3231があり、そうでない場合はDS1307があります。


1
これが質問に答える方法はないと思います。
shimofuri 2013年

そうだと思います。OPのAdamは、DS3231またはDS1307が自分の回路に接続されているかどうかを確認しようとしています。彼はvbatピンでこれをやろうと考えていました。私は、デバイスが温度を返すかどうかを確認することでそれを行うことをお勧めします。それがうまくいくように私には思えます。
スコットゴールドスウェイト2013年

これは問題を解決するものだと思います。質問された問題ではなく、根本的な問題の説明です。面白い。少し具体化し、参照を追加すると、私の賛成票が得られます。
Anindo Ghosh 2013

マキシムのデータシートは、内部温度のためのレジスタ(11&12)を示している11ページの図1を参照してください。
Scott Goldthwaite 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.