24時間ごとにタイマーでArduinoをオンにする


9

私は現在、1日1回、ESP8266を介して車のバッテリーの充電量を送信するArduinoプロジェクトに取り組んでいます。冬の間は車を運転せず、バッテリーが臨界値を下回ったときに通知を受けたいので、充電して損傷を防ぐことができます。

したがって、エネルギー効率はプロジェクトにとって重要であり、バッテリー自体を放電しません。スリープモード、効率的なドロップダウンレギュレーターなどについてよく読みます。これらすべてに共通して、電圧レギュレーターは常に実行されているので、これは私が望んでいることではありません。

なんらかの「スイッチオンタイマー回路」を探しています。24時間カウントダウンしてから、電圧レギュレータを電源に接続するリレーまたはMOSFETをオンにして、ArduinoとESP8266をオンにします。Arduinoが送信を完了すると、タイマーをリセットし、電圧レギュレータを電源から切断します。もちろん、タイマー回路はごくわずかな電力しか使わないはずです。

誰かがそのような回路を知っていますか?私は思いついた言葉のすべてのバリエーションを使ってAliExpressを検索しましたが、成功しませんでした。あるいは、そのような回路を作成するために(簡単に)使用できるICでしょうか?


1
すべての電圧レギュレータが同じというわけではありません。一部は数マイクロアンプしか使用しません。
Gerben 2016年

箱から出して考える...標準のタイマースイッチで十分ではありませんか?
user31208 2017年

回答:


5

1つのアプローチは、DS3231(Precision Real Time Clock)モジュールの使用です。このようなモジュールは1ドル未満でEbayで販売されています。を検索しds3231 arduinoます。

通常、これらのモジュールには6ピンコネクタがあり、ピンには32K、SQW、SCL、SDA、VCC、およびGNDというラベルが付いています。DS3231仕様に記載されているように、INT / SQWピンは方形波出力または割り込み出力のいずれかに使用されます。仕様の13ページの「制御レジスタ」セクションで、次のように述べています。

ビット2:割り込み制御(INTCN)。このビットはINT / SQW信号を制御します。INTCNビットをロジック0に設定すると、方形波がINT / SQWピンに出力されます。INTCNビットがロジック1に設定されている場合、計時レジスタといずれかのアラームレジスタが一致すると、INT / SQW出力がアクティブになります(アラームも有効な場合)。

最初に、DS3231を設定するためにスケッチを実行します:毎日のアラームをオンにし、方形波ではなく割り込みを有効にし、現在時刻を設定します。次に、実行するたびにカーバッテリー電圧を読み取る運用プログラムをロードします。 、適切に行動します。

DS3231 INT / SQWピンは、12V電力をArduinoに切り替えるPチャネルMOSFETのゲートに配線されます。P-fetは、アラームのオープンドレイン出力ピンINT / SQWがオンになるとオンになります。運用プログラムはその仕事をし、次にDS3231割り込みフラグをクリアして、次のアラームが発生するまで電源をシャットダウンします。(デバッグの場合は、1日より短い間隔を設定します。たとえば、仕様の12ページの表2のアラームマスクビットで説明されているように、1分に1回です。)

通常、DS3231は、3.3Vバッテリーで動作する場合は0.84μA、5Vの場合は1μAを消費します。仕様の3ページの電気的特性を参照してください。


1
P-fetゲートは、おそらく1メガオームの抵抗のようなものを介して+12にプルアップする必要があります。それ以外の場合は、INT / SQWピンがオフのときに効果的に開き、任意のレベルにフロートする可能性があります
James Waldby-jwpat7

3

タイマーまたはタイマー回路自体が電流を引き込む必要があります。私が正しく思い出せば、ピコパワーAVRチップはどれも、スリープモードではほとんど電流を消費しません。最小の電流引き込みでAVRをスリープさせるには、ウォッチドッグタイマーを除くほぼすべてのシャットダウンが必要です。最大WDT期間は8秒です。Narcolepticのようなライブラリーは、より長い期間を管理します。ただし、Arduinoボードに組み込まれている電源よりもはるかに効率的な安定化電源を提供する必要があります(それが使用する場合)。完了したら、Arduinoの車のバッテリーへの負荷は微視的でなければなりません。

効率的な電源の考えられる設計の1つは、アルカリ電池の配列です。たとえば、直列に3つ直列に接続して、4.5出力(フレッシュ時)に2つ以上のそのようなストリングを並列に接続し、5vバスに直接接続します。

私は、必要な容量と、Dセルが必要か、それともAAなどの小さいセルから実用的なアレイを作成できるかを把握するためのパワーバジェットを行っていませんが、これは自動車のバッテリーにゼロ負荷をかける方法です(カーバッテリー電圧センサーの要件を割引します)。Arduinoバッテリーアレイの正常性を日次レポートに含めたり、いくつかのアルカリの価格でArduinoバッテリーを過度に設計して、監視が不要になるようにすることができます。

いくつかのデータポイントは、個別のバッテリーが実現可能なアプローチであることを示唆しています。

  • 単一の9vアルカリは、加熱されていない屋根裏部屋での越冬を含めて、1年以上にわたって煙探知器を実行します。9vアルカリは、その容量について知られていません
  • 私のデジタルセットバックサーモスタットは、2つのAAセルで2年間動作しました。その前に、a)セルが死亡し、b)賢くなり、毎年交換を開始しました。:)

私は、ATmega48(328Pに非常に似ています)を2012年6月からいくつかのAAセルで実行しています。それは、1日4分強で起きており、残りの時間は眠っています。これまでのところ電池を交換していません。
Edgar Bonet、2016年

それは印象的なランタイムです-追加のデータポイント、@ EdgarBonetに感謝します!私は、スリープ状態のArduinoとアルカリ電池パックが「設定して忘れる」システムになることを期待していましたが、エネルギー消費量を計算しなければ、それがうまく機能するとは思いませんでした。@DirkPitt、実際のサポートデータがいくつかあります。
JRobert 2016年

それは完全なArduinoではありません:私のUnoでは〜40 mAを下回ることができませんSLEEP_MODE_PWR_SAVEでしたが、非同期タイマーのみがアクティブな状態での裸のATmegaは2 µAのようなものでした。
Edgar Bonet、2016年


-1

タイマースイッチを使用できます。ebayから約5ユーロで購入できます。私はこれを使っています

https://www.ebay.com/itm/CN101-DC-12V-16A-Digital-LCD-Power-Programmable-Timer-Time-Relay-Switch-New/401190616827?hash=item5d68d2fefb:g:K3sAAOSwNRdX3ggT

私もds3231を試しましたが、arduinoはスタンバイモードにあり、エネルギーを消費します。これは私が見つけた最高の解決策です

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.