2020年9月3日木曜日

LEV40-8 CMUの信号を覗いてみた その2

助っ人を召喚しました。

USB-CAN デバッガアダプタ。

適当に安いのを選んだためか、中国語しか対応していません。( ゚Д゚)
なんとか使えているので良しとするか・・・。


繋いだらCMUの動作に変化が見られました!

接続前
0.000036600,0,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.000298600,1,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.000560600,2,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.000822800,3,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.001084800,4,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.001346800,5,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.001608800,6,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK
0.001871000,7,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,NAK

接続後
0.018130200,0,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,ACK
0.018432600,1,DATA,0x612,0x8,0x0F 0x2D 0x0E 0xA6 0x0F 0x2E 0x0F 0x30,0x3924,ACK
0.018739000,2,DATA,0x613,0x8,0x0F 0x31 0x0F 0x2E 0x0F 0x30 0x0F 0x33,0x684E,ACK
0.019043200,3,DATA,0x614,0x8,0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF,0x2D67,ACK
0.058140800,4,DATA,0x611,0x8,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF,0x7DD4,ACK
0.058443200,5,DATA,0x612,0x8,0x0F 0x2D 0x0E 0xA7 0x0F 0x30 0x0F 0x30,0x0061,ACK
0.058745600,6,DATA,0x613,0x8,0x0F 0x31 0x0F 0x30 0x0F 0x30 0x0F 0x33,0x0DF9,ACK
0.059049800,7,DATA,0x614,0x8,0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF,0x2D67,ACK

ロジアナ上でも変化が! 連続して送信し続けていたのが、間欠送信となりました。


CANバスの仕組みとして、データを受信したノードがCRCを計算して問題なければACKを返す仕組みがあり、送信側はACKが無いので同じデータを送り続けていたようです。

では送られてきたデータを読み取ってみましょう。
0x611,0x00 0x30 0x4F 0x4F 0x4F 0x4F 0x4F 0xFF
バランス実行無し、29℃、29℃、29℃、29℃、29℃
0x612,0x0F 0x2D 0x0E 0xA6 0x0F 0x2E 0x0F 0x30
S1:3.885mV、S2:3.750mV、S3:3.886mV、S4:3.888mV
0x613,0x0F 0x31 0x0F 0x2E 0x0F 0x30 0x0F 0x33
S5:3.889mV、S6:3.886mV、S7:3.880mV、S8:3.891mV 
0x614,0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
未使用

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回送ればいいのではなく、コマンドの都度数ミリ秒実行されるようです。
停止⇒連続⇒停止⇒連続⇒頻度小⇒頻度中と変化させてみました。



2 件のコメント:

  1. また勉強しないといけないのか\(^o^)/
    ありがとうございます\(^o^)/

    返信削除
    返信
    1. プログラムとかできますか? 是非一緒にやりましょう。

      削除