rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

APC Smart-UPS 500(SMT500J)でsmart protocol(J606)を使う

2020-10-11 19:00:00 | UPS
APC Smart-UPS 500(SMT500J)のバッテリー定数( Battery Constant )を確認設定をするため、modbus経由のシリアルインターフェースでsmart protocolが使える方法を探していた。

Post-smart protocol, pre-MODBUS APC UPS Communication using a COM port on a 2010 APC SMT2200 running firmware 7.1(2016/3/21)」で基板上のコネクタJ606にUARTを接続してsmart protocolが扱えるビデオ記事を見つけた。その情報から「Hacking the newer APC ups's(2016/9/24)」で基板上のJ606コネクタのRxD/TxD/GNDのピン番号の特定方法を公開してくれた。
特定方法

初めにJ606のGNDピンを見つける。デジタルマルチメータを導通モード(導通時にビープ)にしてシャーシとJ606のピン間で導通のあるピンを探す(UPSをオフにして全ての入力ソースを外しておく)。3ピン2列のどちらかの真中を確認する。どちらかでビープ音がするはず。そのピンが5番ピン。5番ピンが自分に近い側に配置されているように基盤を観て、上側の真中のピンが2番ピン。2番ピンの左側が1番ピン。USB-TTL-uartのTXを1番ピンに、RXを2番ピンに、GNDを5番ピンへ接続する。 
基盤上のシルク印刷されたピン番号と異なるので注意が必要(なぜ番号を変えたか不明)。APC Smart-UPS 1500Iの基板写真と思われるがJ606の5番ピン(解説の1番ピン)印刷がボンヤリと観える。

(1)APC Smart-UPS 500 LCD 100(SMT500J)でJ606を探す
SU500を分解した事がある。SMT500JもSU500と同様に基板がバッテリー収納部上方から出力トランスの上方部にかけて取り付けられている。インバーターのFET類放熱板がトランスなどの固定金具と一体になっていたので取り外しに難儀する。とりあえず、バッテリー収納部の上方にある基盤を目視、どの辺にコネクタがあるか確認してみた。

操作パネル接続用ケーブルコネクタの右側に6ピンのコネクタが一つ。右の奥の方に6ピンのコネクタが1つ。奥のシャーシーにバッテリー接続用のコネクタが確認出来る。iPhoneのカメラを使って基盤を写した。

J606発見!一番取り扱いのしやすい位置にある。基盤を分解せずに済む。


奥のコネクタも確認。iPhoneのレンズ位置を上手く配置できないので、コネクタ番号を写すことが困難。


Olympusのデジカメで写す。「J602」。


「J606」のピン番号をシルク印刷のピン番号とする

デジタルマルチメータ で4番ピンGNDと各ピンを計測してみた。1,2番ピンは、+5ボルト安定。3,5番ピンは、変化し3.3~7ボルト。6番ピンは、3.3ボルト安定。3,5,6番ピンは、USB-uartのCMOS系入出力と思われる。
(1) V+(5.004V)
(2) V+(5.003V)
(3) RxD (3.7xV variable)
(4) GND (0V)
(5) TxD (3.27xV variable )
(6) Control (3.352V stable)

(2)USB to/from UART変換
DSD TechSH-U09C2 USB to TTL Adaptorを使用した。

信号データの確認は、Debian10にcuをインストールして行った。2400bps 8N1で接続。Windowsでは、TeraTerm等を使う。USB to TTL AdaptorのTTL Levelは、3.3Vとした
root@debian10:~# sg dialout 'cu -s 2400 -l /dev/ttyUSB0'
3番ピンにRxD/4番ピンにGNDラインを接続して確認

この文字列が流れつづける。smart protocolの応答データ。

5番ピンにRxD/4番ピンにGNDラインを接続して確認

この文字列が流れつづける。smart protocolのコマンド。各コマンドの応答がRxDに流れている。3番ピンには、コマンド応答以外のデータも流れている。

Hacking the newer APC ups's」によれば、3番ピンにRxD/5番ピンにTxD/4番ピンにGNDラインを接続し、「Shift+Y」をキーインさせると信号が切り替わり「SM」応答が出力され、smart protocolが使えると記載されている。
が、「Shift+Y」を何度キーインさせても止まらない。

6番ピンの存在を思い出した。変化しない「3.3V」。制御入力の予感。「0V」信号を入れてみる。5番ピンの信号が停止。3番ピンの信号応答も停止。「Shift+Y」をキーイン。「SM」応答!
「1<pause 4 sec>1」「PROG」これで設定変更が可能。

Battery Constantを調べてみた
「4=09」「5=B4」「6=10」「0=BA」
何回かBatteryをRBC20J-Sと入れ替えているので「0=BA」が初期値か判らない。

5番ピンのコマンドを入れてみた「'8B\/bCulosqkX0LFPjOGf」「l」を忘れた。3番ピンの結果と符合する。

最終的に、6番ピンは、RTSラインを接続し、「cu」で接続するとRTS信号が0Vになり切り替わるよう接続した。
USB to Serial--------J606
RxD -------------------- (3)
TxD -------------------- (5)
RTS -------------------- (6)
GND ------------------- (4)

接続すると、SMT500J背面に接続した「USB」と「Serial」が切断されると共にフロントパネルの表示も止まる。

接続を断とすると「USB」と「Serial」が復活し、フロントパネルの表示も再開する。
フロントパネルの下からUSB-uart接続用のフラットケーブルが取り出せる。常時使用する事も無いのでフロントパネル裏に入れて置くか、使用する毎にJ606に接続するのでも良いかと思う。

(3)smart protocolでしか出来ない事
・Battery Constant の確認調整
純正品以外の高容量バッテリーを使う場合、SU500では、キャリブレーションで設定出来なかった
「Battery Constant」の設定が必要だった。
SMT500Jでは、不明だが、設定手段が確保できた。

・Trickle(float) 充電の電圧調整
バッテリー寿命に大きく影響してくる。過去の記事などでは、この電圧が高目でバッテリー交換頻度が高くなる設定がされているのではないか?との記事が見受けられた。最近では、「バッテリー保証」が含まれた製品を出しているのでどうなのだろうか?
調達したSMT500JのBATTVは、27.0V-27.1Vと低い設定だった。温度変化で27.0V-27.6Vの範囲に収まるか要確認
SU500のBATTVは、27.6Vで上限値だったが、27.3Vに変更した。この設定で時々BCHARGEが99%になる事がある。夏場から冬場への温度変化でどうなるか要確認。

「5=B4」:プロトコル「5」は、バッテリーと制御ボード間の配線抵抗に関連したパラメータ
「6=10」:プロトコル「6」は、バッテリー不良の判断に使用されるパラメータ
これらのパラメータに関する資料が無いので変更しない方が良いとコメントされている

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする