Arduinoで実現する低コスト・リアルタイム太陽光パネル監視システム
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | データ取得用マイコン |
| Electric Imp TDC-M20-36 PVパネル | 1 | 測定対象の太陽電池 |
| Adafruit B25 0-25V 電圧センサーモジュール | 1 | パネル電圧測定用(分圧回路内蔵) |
| Adafruit INA169 アナログDC電流センサー | 1 | パネル電流測定用(シャント抵抗方式) |
| Electric Imp リオスタット 330Ω | 1 | 負荷可変用(I-V特性測定用) |
必要なツール・ソフトウェア
- Parallax PLX-DAQ(Excelマクロベースのデータ取得ツール)
- Arduino IDE
プロジェクト概要
本プロジェクトは、低コストなArduinoベースのデータ取得システムにより、太陽光パネルの電圧・電流・電力特性をリアルタイムで監視・記録する仮想計装システムです。市販の安価な電圧・電流センサーを用い、取得データをPLX-DAQマクロを通じてExcelシートにリアルタイムプロットします。
システム構成
- PVパネルの電流・電圧をそれぞれセンサーで取得
- Arduino UNOのアナログ入力(A0:電圧, A1:電流)で読み取り
- マイコン内部で電力(電圧×電流)を計算
- シリアル通信でPCへ送信、PLX-DAQがExcelに記録・グラフ化
- 可変抵抗(0-330Ω)で負荷を変化させ、I-V曲線・P-V曲線を描画
- ピラノメータで日射量測定も可能(オプション)
測定結果の例
- 最大出力:17.07W(14.15V, 1.20A)を記録
- 最小出力:822.2mW(18.23V, 45.1mA)
- 測定間隔1秒と100msの比較:100msではデータ点数増えるがノイズも増加。用途に応じた間隔設定が重要
- フィールドでの定期的なPVシステム監視にも応用可能
ソースコード
/*****************************************************************************
* Real-time data acquisition of solar panel using Arduino and Excel
* Written by: Aboubakr El Hammoumi
* Date: 04/05/2018
* Email: aboubakr.elhammoumi@usmba.ac.ma
*****************************************************************************/
void setup() {
Serial.begin(9600);
Serial.println("CLEARDATA"); // PLX-DAQ: データクリア
Serial.println("LABEL,t,voltage,current,power"); // 列見出し
}
void loop() {
// 電圧測定: B25センサー (0-25V -> 0-5V分圧)
// analogRead値(0-1023) * 5V / 1023 * 5(分圧比) = 実電圧
float voltage = analogRead(A0) * 5.0 * 5.0 / 1023.0;
// 電流測定: INA169センサー
// 出力電圧を直接読み取り(校正式はセンサー仕様による)
float current = analogRead(A1) * 5.0 / 1023.0;
float power = voltage * current;
// PLX-DAQ形式で送信
Serial.print("DATA,TIME,");
Serial.print(voltage);
Serial.print(",");
Serial.print(current);
Serial.print(",");
Serial.println(power);
delay(1000); // 1秒間隔
}
回路図とセットアップ
センサー接続
- 電圧センサー:負荷と並列接続
- 電流センサー:PVパネルのプラス側と負荷の間に直列接続
PLX-DAQのセットアップ手順
- PLX-DAQをダウンロード・インストール(自動的に「PLX-DAQ Spreadsheet」ショートカット作成)
- Excelでスプレッドシートを開く
- PLX-DAQウィンドウでシリアルポートとボーレート(9600)を設定(Arduino側と一致必須)
- 「Connect」クリックでリアルタイム取得開始
参考文献
本プロジェクトは研究論文と関連しています。説明動画も公開予定です。
製造プロセス
- Firebase経由で2台のArduino間を温湿度データで連携するIoTチュートリアル
- Arduinoで作るモニター用Ambilightシステム:没入感アップの自作ガイド
- ArduinoとInfineon 3D磁気センサーで作る無線磁気データ転送
- Arduinoとスマホで作るスマート電圧計 – 簡単DIYプロジェクト
- ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
- Arduino UNO WiFi Webサーバー:ブラウザからLEDをON/OFF制御
- Arduino、高圧ブースト、20x4 LCDで自作ガイガー・ミュラー計数管を作る
- ソーラートラッカー V2.0 – 高度なDIYソーラーパネル追尾システム
- Arduinoで自動化するChrome恐竜ゲーム – LDRとPythonで障害物を検知してジャンプ
- Arduino NanoとRDA5807Mで作るコンパクトFMラジオ
- Arduino UNOとEthernetシールドで太陽放射を測定する自作ピラノメーター