BMSを作るにあたって、周辺環境まで自前で用意するのは大変です。
スマホアプリとかLCDモニタなどの周辺機器を使いまわせないか調べてみました。
こんな感じで、送受信しています。フレームは0xDDで始まり0x77で終わるようです。
データは繰り返して流れますので、書き出して眺めているとなんとなく見えてきます。
なんとスマートBMSの本家HPにたどり着いてしまいました(/・ω・)/
さすがに全てのコマンドが載っているわけではありませが、最低限のコマンドは載っています。
BMSを作るにあたって、周辺環境まで自前で用意するのは大変です。
スマホアプリとかLCDモニタなどの周辺機器を使いまわせないか調べてみました。
助っ人を召喚しました。
USB-CAN デバッガアダプタ。
適当に安いのを選んだためか、中国語しか対応していません。( ゚Д゚)
なんとか使えているので良しとするか・・・。
バランス実行無し、29℃、29℃、29℃、29℃、29℃
S1:3.885mV、S2:3.750mV、S3:3.886mV、S4:3.888mV
S5:3.889mV、S6:3.886mV、S7:3.880mV、S8:3.891mV
未使用
0x611については諸説あるのであれですが、612~614の電圧はあっているように見えます。
最後にバランスコマンドのテストを・・・
あれ? マニュアル通りに設定しているのにちゃんと送れない。
ロジアナで確認すると拡張IDでRTR形式で送信している。なぜだ( ゚Д゚)
原因判明 なんとIDタイプとRTRの指定を中国語のまま保存する仕様になっており、文字化けで誤動作していました。該当の文字をコピペしてなんとか設定完了。
0x611のバランス情報が0xFDとなり2セル以外バランスしていることが分かります。
0.149405400,16,DATA,0x3C3,0x8,0x0F 0x10 0x01 0x04 0x03 0x00 0x00 0x00,0x67F1,ACK
0.184412000,18,DATA,0x611,0x8,0xFD 0x30 0x51 0x51 0x51 0x51 0x51 0xFF,0x10FC,ACK
0.184710400,19,DATA,0x612,0x8,0x0F 0x2B 0x0E 0xA3 0x0F 0x2D 0x0F 0x2D,0x20B0,ACK
0.185008800,20,DATA,0x613,0x8,0x0F 0x2E 0x0F 0x2D 0x0F 0x2D 0x0F 0x31,0x28B6,ACK
左がバランスなし、右がバランスありです。セル2が低いので他7セルを抵抗で消費しています。
動画はこちら。バランスコマンドは1回送ればいいのではなく、コマンドの都度数ミリ秒実行されるようです。ある程度環境も整ってきたので、LEV40-8 CMU基板について調べてみました。
よく見るとCANコネクタ側とBMS側がUM1402Wとフォトカプラで分離された構造になっています。
間違いも多々あると思うのでざっくりでずか、回路はこんな感じ。う~ん、同じデータしか流れてこない。バッテリに対してなにかコマンドが必要なのかもしれません。DATA,0x671,0x8,0x00 0x30 0x4F 0x4F 0x4E 0x4E 0x4E 0xFF,0x2143,NAK
ということで、
困った時の海外頼み(^^♪
Mag ID 6X1はバランスステータスと温度センサ1~5らしい。
Mag ID 6X2と6X3でセル電圧みたいなのですが、いまだ出し方分からず((+_+))
※MsgID 0x3C3 を送信することで電圧を返してくれるようです。また、目標セル電圧とバランス開始指示でCMUは指定電圧目指してバランス動作するようです。
ACKが返っていないだけでした。受信ノードを追加すれば、正常な通信になります。
・DIY ELECTRIC CAR Using the Mitsubishi CMU / BMS on LEV40 packs
マイコンとかやってると色々細かな部分が気になってくる。
そんなときに助けてくれるのがロジックアナライザ(^^♪
スマートBMS用に組まれたボードですが、
Arduino環境での開発が出来そうだったので試してみました。
マイコンはATmega328P。
ICSP端子も付いているのでAVRISP mkIIがあればそのままArduino IDEからROM書き可能。
LCDパネルは、JLX19296G-380
・マニュアルを確認すると、LCDコントローラはST75256。
・よかった。u8g2ライブラリでサポートされている。
テストプログラムを書いてみた。
自分はTL866IIPlusしかもっていないので、
・Arduino IDE ⇒ Arduino UNO
・TL866IIPlus ICSP UNO読込み ⇒ TL866IIPlus ICSP LCDスクリーン書込み
と面倒なので、素直にAVRISP mkIIを買おう。
・メイン基板⇒液晶コントローラケーブルにてコネクタ破損あり
7/30発注から2週間、
小型の封筒で頼りないですが、プチプチパワーで無事届きました。(*´ω`*)
コネクタ端子面の確認、問題なし。
純正とは異なり、片面しか黒テープが貼られていません。
同じように取り付けて完了。