バッテリーから排出されるガスの量を見るために設置したペットボトルが、晴れた日は水素と酸素の混合ガスで満たされて浮きます。
一方、使用電力量の多い器具に繋いだままにすると、過放電によってバッテリーの寿命が短くなります。
この問題を解決するために、バッテリーが満充電になったら電力使用利用の多い器具を動かし、電圧が下がったら器具の動作を停止する装置を作りました。
今回はこの装置の作り方を説明します。
使用したもの
ソーラーチャージコントローラ
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 件のコメント :
コメントを投稿