1.充電器遠隔監視開発開始
(1)充電器の購入理由
|
購入した充電器はJNGE Power Co.,Ltd の JN-MPPT-AL 40A。 この充電器を選んだ理由は、 太陽光パネルが4枚、最大で840W、開放電圧が4枚直列接続で122.8(V)だった。 充電器を調査してみるとほとんどがPV(太陽光パネル電圧)が100(V)である事が判り、途中太陽光パネルを2枚並列、 2枚直列接続で使用しなけれならないかと思っていました。 このまま太陽光パネルを2枚並列でシステムを構築すると最大電流が18(A)になり、接続するケーブルも太くなるため、 PVが130(V)以上の物で、コストはケーブルの費用と比較して18千円程度までの物が無いか探していました。
時間が多少かかりましたが、24V蓄電池使用時PVが145(V)、しかも当時内容を判っていなかったのですが、購入前にインターネットで取得した
取扱い説明書に右図の様なシステム図が掲載されており、文書にもRJ45コネクターがありRS485でPC(パーソナルコンピュータ)に接続できると言う
記事が有ったので『太陽光発電システムの遠隔監視ができそうだ』とぬか喜びで今回の商品を購入しました。なお販売店のシリーズには電流値の違いしか無く、取扱い説明書のオプション品(PCと接続出来るアダプター、アプリケーション)など付属した物が無く、本体だけの購入でした。 当時購入した価格や設定などは左メニュー[充電器]のページをご確認下さい。 |
(2)PC接続資料を見つけた
|
ぬか喜びから約2年間の時が過ぎて行きました。 そしてついに最近インターネットで接続するための資料を探す事が出来ました。 URLは https://github.com/syssi/esphome-jnge-mppt-controller です。 そこにはRJ45の線種やRS485を使った信号がModBusである事が記載されていました。 ModBusのアドレスとデータの内容なども記載されているPDFへのリンク先も記載されていました。 しかし残念ながら当方が今回購入したものと多少違っていたので、以下に調査した内容や調査するために作成したプログラムを記載することにしました。 接続方法など多少違っていたとしても、上記URLの資料により接続するための調査を進める事ができ、PCと接続出来たことは確かで、 上記URLに資料を掲載された方へ感謝したいと思います。 (ModBusである事のメーカーのPDFなどメーカーのサイトで探す事が出来なかったので、その資料を見た時は非常に驚きました。) 注意が必要なのは『多少違っていた』ので同じ購入品の型番でも以下調査内容と違っていると思われるので、くれぐれもPCと接続してデータの読書をされる場合は調査を自己責任でしてください。 |
2.接続(ハード)調査
(1)RJ45端子調査
|
調査した結果を下表に示す。
同じ型式の製品で幾つかの取扱い説明書があるようで線種が下表の調査した内容と違っていたので、同じようなデータが記載された説明書を探しました。 調査した結果、下表と同じようなメーカーの資料が有りましたのでそれを右下に掲載します。
|
(2)RS485でPCに接続方法
|
3.接続(ソフト)調査
|
接続はModBusと言うことで、以前[計測器][3.電力量計][032_kWS-AC310][ModBus]でも記載しました。 しかしそれともわずかですが違いが有るのでこの充電器のModBusについて判った事を記載する。 |
(1)ModBusについて
a.マスターフレーム構造
フレーム構造は変更有りません。下表のとおりです。
![]() b.スレーブフレーム構造 スレーブの構造も変更ありません。下表のとおりです。 ![]()
|
(2)ソフト1
|
プログラムは python を使用しています。
マスターフレームデータはソフト中の配列 txdh [ ] のデータを変更することにより、
ソフトでCRC値を生成付加してスレーブデバイスへ情報を送信します。 下記のプログラムリストは デバイスアドレスを確認するデータです。 ソフトはスレーブから送られてきた情報を示し、受信データのCRCを生成します。 スレーブデータ呼出しのマスターデータ変更付近のプログラム def tx_modbus(self): print( "Tx data=", end=" " ) txdh =[0xff,0x03,0x10,0x30,0x00,0x01] 上記プログラムをVisual Studio Codeで実行した状況を下記に添付します。 ![]() |
(3)ソフト2
|
プログラムは python を使用しています。
マスターフレームデータはソフト中の配列 txdh [ ] のデータを変更することにより、
ソフトでCRC値を生成付加してスレーブデバイスへ情報を送信します。 下記のプログラムリストでは スレーブ側のレジスターアドレス0x1000~0x101Fの複数(32個)入力データを取得するものです。 ソフト2では複数のデータを表示するためにプログラムを修正しています。 ソフトはスレーブから送られてきた情報を示し、受信データのCRCを生成します。 スレーブデータ呼出しのマスターデータ変更付近のプログラム def tx_modbus(self): global stad print( "Tx data =", end=" " ) txdh =[0x06,0x04,0x10,0x00,0x00,0x20] 上記プログラムをVisual Studio Codeで実行した状況を下記に添付します。 ![]() レジスタの内容が違っているようなので今後これを調査したいと思います。 その後、遠隔監視システムを完成したいと思います! |
4.ModBusデータ
現時点で判っているデータ名を記載(値は4月27日15時)(1)読み込み専用データ 0x04
|
(2)読み書き込みデータ 読み込み 0x03 書き込み 0x06
|

時間が多少かかりましたが、24V蓄電池使用時PVが145(V)、しかも当時内容を判っていなかったのですが、購入前にインターネットで取得した
取扱い説明書に右図の様なシステム図が掲載されており、文書にもRJ45コネクターがありRS485でPC(パーソナルコンピュータ)に接続できると言う
記事が有ったので『太陽光発電システムの遠隔監視ができそうだ』とぬか喜びで今回の商品を購入しました。



