バッテリーから排出されるガスの量を見るために設置したペットボトルが、晴れた日は水素と酸素の混合ガスで満たされて浮きます。
一方、使用電力量の多い器具に繋いだままにすると、過放電によってバッテリーの寿命が短くなります。
この問題を解決するために、バッテリーが満充電になったら電力使用利用の多い器具を動かし、電圧が下がったら器具の動作を停止する装置を作りました。
今回はこの装置の作り方を説明します。
使用したもの
ソーラーチャージコントローラ
LANケーブルかモジュラーケーブルで接続して、情報を取得できるチャージコントローラです。MPPTチャージコントローラー Tracer-2210RN
インバーター(COTEK SK1500-124)
モジュラーケーブルで接続して、制御可能なインバーターです。COTEK(コーテック) 正弦波インバーター 出力1500W/24V 周波数50/60Hz 歪み率3%以下 SKシリーズ SK1500-124
電気温水器
余剰電力を利用するためにヤフオクで購入しました。新品はこちら: LIXIL(リクシル) INAX ゆプラス 洗髪用・ミニキッチン用 スタンダードタイプ EHPN-H25N2
フレキ管や混合蛇口を利用して設置しました。
スーパー フレキ管ツバ出し工具(ギアレンチ式) TH1320G
スーパー ステンレスフレキ管専用カッター TC105NF
TOTO 浴室用 壁付サーモスタットシャワー金具 スパウト長170mm TMGG40E
SK11 シールテープ 15M巻 13mm幅×0.1mm厚 SST-1315
SK11 スーパーワイドモンキーレンチ 最大口幅 38mm SWM-38S
分岐継ぎ手
ステンレス巻フレキパイプ
フレキ用ゴムパッキン
フレキ用袋ナット
Arduino
小さく収めたかったので、今回はArduinoNANOを使いました。Arduino Nano
到着に1週間以上かかりましたが、今回は5個セットで安い互換機を使ってみました。
5Pcs ATmega328P Nano V3 Controller Board Compatible Arduino Improved Version
ArduinoNANOとPCの接続には、USBminiBケーブルが必要です。
ちなみに、Arduinoの消費電力を少しでも減らしたい場合は、電源が入った時に点灯するLEDか、それの抵抗を外すとLED分のエネルギーを節約できます。
ブレッドボード
パーツを組み合わせます。ブレッドボード
ピンソケット
部品にジャンパワイヤをさせるようにする土台です。あると便利です。
分割ロングピンソケット(細ピン用) 1x40 (40P)
ジャンパワイヤ
ブレッドボードに付けた部品同士を繋げたり、ブレッドボードと外部の部品を繋げたりします。ブレッドボード・ジャンパーワイヤ
リレー
許容電流量が大きめのリレーを選びました。コードはノーマリーオープンにハンダ付けし、信号側はピンソケットを付けしました。
大電流大型リレーモジュールキット
延長コード
切断して、リレーのノーマリーオープンにハンダ付けしました。4芯モジュラーケーブル 2本
最低4芯必要です。2芯はダメですが、6芯は大丈夫です。
チャージコントローラはLANケーブルでも良いです。
モジュラージャックDIP化キット 2個
先ほど用意したケーブルをブレットボードに繋ぎます。6極6芯モジュラージャックDIP化キット
チャージコントローラにLANケーブルを利用する場合は、LANのDIP化キットが必要です。
LANコネクタDIP化キット
3.3V500mAスーバー三端子レギュレーター
モジュラーケーブルから取れる12VをArduinoのために3.3Vに変換します。3.3Vを使うとArduinoの消費電力量を減らせるらしいので、5Vではなく3.3Vを選択しています。
スーパー3端子レギュレータ 3.3V500mA R-78E3.3-0.5
RS232レベル変換基板
インバータとの通信に使います。3V・3.3V・5V系-RS232レベル変換基板
接続方法
チャージコントローラ
チャージコントローラ EP Solar Tracerシリーズのケーブルにおけるピンの役割は、それぞれのこうなっています。Pin Number | Role |
---|---|
1 | +12V |
2 | GND |
3 | +12V |
4 | GND |
5 | TXD(3.3V) |
6 | RXD(3.3V) |
7 | GND |
8 | GND |
Arduinoにはこのように接続します。
+12v -> 3.3v レギュレーター -> Arduino 3.3v
GND -> Arduino GND
TXD -> Arduino D10 (SoftwareSerial RX)
RXD -> Arduino D11 (SoftwareSerial TX)
インバーター
インバータのケーブルにおけるピンの役割は、それぞれこうなっています。Pin Number | Role |
---|---|
1 | Not used |
2 | GND |
3 | RXD |
4 | TXD |
5 | Remote Control |
6 | VCC |
Arduinoにはこのように接続します。
TXD -> RS232 レベル変換 -> Arduino D8 (SoftwareSerial RX)
RXD -> RS232 レベル変換 -> Arduino D9 (SoftwareSerial TX)
GND -> Arduino GND
自分のブレッドボードでは、こういう配線になりました。
リレー
信号端子はこのように接続します。VCC -> チャージコントローラのケーブルから取れる12V
SIG -> Arduino D14
GND -> Arduino GND
ArduinoのD14がONになると、リレーが動作します。
電源コードは下記のように接続します。
オス -> インバーター
メス -> 電気温水器
Arduinoのプログラム
メインプログラム
#include <SoftwareSerial.h> #include "TracerSolarChargeController.h" #include "CotekInverter.h" int RELAY_PIN = 12; int LED_PIN = 13; CotekInverter inverter(8, 9); // RX, TX TracerSolarChargeController charge_controller(10, 11); // RX, TX int i; void setup() { //Serial.begin(57600); pinMode(RELAY_PIN, OUTPUT); pinMode(LED_PIN, OUTPUT); // init status digitalWrite(RELAY_PIN, LOW); digitalWrite(LED_PIN, LOW); inverter.power_off(); } void loop() { digitalWrite(LED_PIN, HIGH); charge_controller.update(); digitalWrite(LED_PIN, LOW); //charge_controller.serial_out(&Serial); if ( charge_controller.battery > 26.4 ) { digitalWrite(RELAY_PIN, HIGH); inverter.power_on(); } else if ( charge_controller.battery < 24.8 ) { digitalWrite(RELAY_PIN, LOW); inverter.power_off(); } delay(5000); }5秒に1回チャージコントローラからバッテリーの電圧を取得しています。
電圧が26.4Vを超えたら、リレーとインバータをONにし、電圧が24.8Vを下回ったらリレーとインバータをOFFにするようにしています。
チャージコントローラの出力をArduinoのシリアル通信で確認したい場合は、下記のコメントアウトを外してください。
Serial.begin(57600); charge_controller.serial_out(&Serial);
ライブラリ
下記ライブラリのzipファイルをダウンロード・解凍して、Arduinoのlibrariesフォルダに置いてください。TracerSolarChargeController
チャージコントローラから情報を取得するプログラムは、既に作られている方がいらっしゃったので、それを参考に再構成しました。zipファイル: TracerSolarChargeController-1.0.2.zip
github: asukiaaa/TracerSolarChargeController
CotekInverter
COTEKのSシリーズとSPシリーズの説明書を元に、電源のON OFFができるコントローラを作成しました。zipファイル: CotekInverter-1.0.1.zip
github: asukiaaa/CotekInverter
動作確認
全ての装置を接続します。
チャージコントローラのケーブルを接続すると、Arduinoの電源が入るはずです。
電気温水器とインバーターの電源を入れます。
Arduinoのリセットボタンを押します。
Arduinoから信号が送られて、インバーターがoffになります。
Arduinoの取得した電圧が上限値(26.4V)を超えると、インバーターとリレーがonになります。
Arduinoの取得した電圧が下限値(24.8V)を下回ると、インバーターとリレーがoffになります。
以上です。
面白がってもらえたり、何かの参考になれば幸いです。
参考
Communication Interface for Tracer MT-5Use Arduino to Communicate with Tracer MT5 Charge Controller
S1500_Manual_Aug2009.pdf
sp-series-manual.pdf
0 件のコメント :
コメントを投稿