Arduinoで作るDIY MPPTソーラー充電コントローラー:太陽光発電の最適化
部品と材料
| Arduino Nano R3 | ×1 |
| MOSFETトランジスタ(スイッチング用) | ×4 |
| Espressif ESP8266 ESP-01 | ×1 |
| 英数字LCD(20×4文字) | ×1 |
| デュアルMOSFETドライバー(パワー用) | ×1 |
| SparkFun 低電流センサーブレークアウト - ACS712 | ×1 |
| TVSダイオード(2ピン) | ×1 |
| 汎用NPNトランジスタ | ×1 |
アプリとオンラインサービス
- Arduino IDE
プロジェクト概要
ArduinoベースのMPPT充電コントローラー | 代替エネルギー | 再生可能エネルギー源 | クリーンエネルギー
MPPT(最大電力点追従)とは?
MPPTアルゴリズムを使用して、特定の条件下で太陽電池モジュールから最大限の利用可能電力を抽出します。MPPTは、太陽エネルギー(再生可能エネルギー源)を効率的に活用するための最も一般的なツールです。二酸化炭素排出量のグラフを減らしたいなら、自然資源から得られる再生可能エネルギー(太陽光、水力、風力など)であるクリーンエネルギーへ移行する必要があります。そうでなければ、直接地球温暖化へ向かうことになります。
すべての国がグリーンエネルギーへ移行する必要があり、特に中国は二酸化炭素の63%を排出する主要な貢献国であるため、その動きが重要です。
MPPTの仕組み:なぜ150Wのソーラーパネルが150Wにならないのか?
例えば、市場で7アンペアの電流を供給できる新しいソーラーパネルを購入したとします。バッテリーの充電設定が12ボルトに設定されている場合:7アンペア × 12ボルト = 84W(P=V×I)。66W以上を失ってしまいますが、あなたは150W分の代金を支払っています。その66Wはどこにも行っていませんが、ソーラー出力電流とバッテリー電圧のミスマッチが原因です。
MPPTアルゴリズムを使用すると、バッテリーが受け取る最大電力は12アンペア、12ボルトとなり、出力電力は P = V×I = 12×12 = 144W になります。これでほぼ144ワットが得られ、誰もが満足できます。
プロジェクト仕様
- 充電状態の低・中・高レベルを示すLED表示
- 電力、電流、電圧などを表示するLCD(20×4文字)ディスプレイ
- 雷/過電圧保護
- 逆電力流保護
- 過負荷・短絡保護
- WiFi経由でのデータログ記録
- USBポートから携帯電話、タブレット、ガジェットを充電可能
電気仕様
- 定格電圧:12V
- 最大入力電流:5A
- 負荷電流サポート:最大10A
- 入力電圧:ソーラーパネル 12〜24V
- ソーラーパネル出力:50ワット
必要なパーツ
- 抵抗(3×200Ω、3×330Ω、1×1kΩ、2×10kΩ、2×20kΩ、2×100kΩ、1×470kΩ)
- TVSダイオード(2×P6KE36CA)
- Arduino Nano
- ACS712-5A 電流センサー
- バックコンバーター(LM2596)
- WiFiモジュール(ESP8266)
- LCDディスプレイ(20×4 I2C)
- MOSFET(4×IRFZ44N)
- MOSFETドライバー(IR2104)
- 3.3Vリニアレギュレーター(AMS1117)
- トランジスタ(2N2222)
- ダイオード(2×1N4148、1×UF4007)
- コンデンサ(4×0.1μF、3×10μF、1×100μF、1×220μF)
- インダクタ(1×33μH-5A)
- LED(赤、黄、緑)
- ヒューズ(5A)
Arduino IDEで必要なライブラリ
- TimerOne.h
- LiquidCrystal_I2C
注意: 新しいフォルダを作成し(フォルダ名はTimerOne、LiquidCrystal_I2Cと同じにする)、Arduino/librariesフォルダにペーストしてください。
ArduinoベースMPPTアルゴリズム充電コントローラーのモデル
Proteusソフトウェア8.6版で設計されたMPPT充電コントローラープロジェクトのシミュレーションです。ArduinoライブラリとProteusシミュレーションツールを使用して独自に作成できます。このプロジェクトのProteusシミュレーション源ファイルの購入をご希望の場合は、お問い合わせください。
ESP8266 WiFiモジュールによるデータログ記録
参考記事: Arduino IDEのみを使用してESP8266 WiFiモジュールをセットアップする方法を学ぶ
上記の記事を読んで、ESP8266モジュールをWiFiに正常に接続できたと仮定します。
- https://thingspeak.com/ でサインアップ
- 新しいチャネルを作成し、フィールド1に「Solar Panel Data」と入力、他は空白のまま保存
- APIキーを取得し、ソースコードに貼り付け
- 完了
回路図
回路図はプロジェクトに添付の画像を参照してください。
ソースコード
「Arduino Nanoにコードをアップロードする前に、必要なすべてのライブラリをインストールすることを忘れないでください」
このプロジェクトの作成中に困難があれば、躊躇せずに質問してください。私たちは24時間365日、いつでもお手伝いします。
製造プロセス
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
- Pixel Chaser: Arduino Nanoで作るワンタップLEDゲーム
- Alexa対応Arduinoホームコントローラー:音声でスマートホーム自動化
- Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
- ESP32-CAMで作るAI顔認識ドアロックシステム:ローカル処理でプライバシー保護
- DIY LEDルーレットゲーム – Arduino Nanoで作る1人用アーケードゲーム
- Arduino Mega と IoT センサによる高機能ホームモニタリングシステム
- Arduino駆動GrowBoxコントローラー - オープンソースファームウェア&ハードウェアガイド
- Arduinoで作るセキュリティシステム:超音波センサーとサーボで広範囲監視・アラート
- Arduinoテニスゲーム:NeoPixelマトリクス・9DoFセンサー・Bluetoothで作るバーチャルラケット体験