以前、太陽光エネルギーでRaspberry Piに電力を供給する方法と、リレーを使用してそのようなシステムをオン/オフにして電力を節約する方法を検討しました。 これにより、特にPiが実行する必要があるアクション間の時間が長い場合に、大幅な電力節約が可能になりますが、リレーをオンにしたままにするだけで約70mAが必要になるという欠点があります。これに対し、Pi自体は約130mAで動作します。また、システムはオフのときに約5mAを消費します。これは、 電力効率の高いATtiny85 「スリープ コプロセッサ」のみから予想される値よりも大きいです。
電力効率のためのMOSFET
もっと良い解決策はありますか?磁気的に動作するスイッチ(リレーなど)のシンプルな動作に勝るものはありませんが、低電力 MOSFETトランジスタ などのソリッドステート デバイスを使用すると、使用量をさらに削減できます。
これをテストするために、FQP30N0L MOSFETを選択しました。この特定のコンポーネントの最大ゲートしきい値電圧は2.5Vであるため、Arduino、ATtiny85などのデバイスを介して完全に切り替えることができます。ドレイン-ソース間ブレークダウン電圧は最低60Vで、22.6Aの連続電流を処理できます。どちらもPi Zero W (または、実際のところどのPiでも) の要件をはるかに上回っています。この優れた性能にもかかわらず、この記事の執筆時点では まだ入手可能であり、以前使用されていたリレー モジュールに比べて大幅なコスト削減を意味します。
MOSFETスイッチ
このMOSFETで電力を制御するには、正極ラインではなく、接地パスのオン/オフを切り替えます (リレー実装の場合と同様)。ここで、Piに送られるUSBのプラス側は5Vバスに接続され、マイナス側はMOSFETのゲート ピンに接続されます。MOSFETソースはグランド バスに接続され、ゲートはATtiny85の出力ピンに接続されます。
結果
この新しい設定により、リレーを使用する場合と比較して大幅な電力節約が実現しました。
· Pi Zero Wオン時の合計消費電流は136 mA (追加LEDを含む)
· Piオフで2.75mA
· Pi/リレーオン(200mA)状態に対する節約:64mA
これは、リレー設定で約32パーセントの電力低下 (オン時) となり、オフ時には約2mA (40パーセント) の低下となります。Piの電源サイクルの長さに関係なく、これによりパフォーマンスが大幅に向上します。低電力アプリケーションの場合、スイッチング ハードウェアを考慮する必要があります。そうでない場合は、より大きなソーラーパネルやバッテリー機器の形で支払う必要があります。
パワーサイクルコード
以前の実験と同じコードを使用しましたが、数時間にわたってテストしたところ、ATtiny85が最終的に正常に動作しなくなることがわかりました。長いdelay() 関数に問題があった可能性があるため、新しいコードではタイミングにmillis() を使用します。millis() の使用は一般に良いプログラミング方法と考えられていますが、約50日後にロールオーバーされます。これは問題になる場合とそうでない場合がありますが、非常に長期間にわたるプロジェクトの場合は考慮する必要があります。
Raspberry Piコードと、ATtiny85シャットダウン コードの両方のバージョンは、 GitHubで入手できます。テスト中に電流測定機器を使用すると、わずかな電圧降下が発生することに注意してください。評価中は、補償のために2200µF コンデンサ が適用されました。