RaceChrono & OBDLink LXでBRZ, 86のCAN-Busから情報取得

連休最終日、身延山に登りに行く道中で、昨晩ググって見つけたことを実験してみたところ、CAN-Busから情報を取得することに成功した。そしてそのリフレッシュレートに驚いた。((((;゚Д゚))))

対象のパラメータによって違うけど、回転数とかアクセルペダル位置とかは100Hz前後でデータが取れる!圧倒的なサンプリングレートだ!!(゚∀゚)

グラフにしてみると、いつものOBD2だと折れ線グラフの点が足りないな(シフトアップ時の一瞬のアクセルオフのペダル位置や回転数が1,2点しかないetc.)と思ってるところが、ちゃんとペダル操作や回転数の変化が見えるようになってる。アクセルペダルとかは逆に点が多すぎてギザギザになってるぐらいw。

  • 水色:エンジン回転数
  • 薄紫:アクセルペダル位置
  • 薄黄色:車速(CAN-Bus)
  • 薄赤:車速(スマホGPS(1Hz))
  • 薄緑:ブレーキペダル位置

OBD2でブレーキペダルや油温が取れるようになったことに喜んでたけど、こりゃ完全にCANBUS一択だな。

情報源はこちら。

リンク先を見ればいいんだけど、例によって自分メモとして大雑把な手順と画面キャプチャを貼っておく。

まず、「その他のデバイス」のところに「OBDLink LX/MX/MX+ Bluetooth (CAN-Bus)」を追加する。「OBD-IIリーダー」の方の「OBDLink LX」は無効にしておく。(両方ONになってるとうまく接続できない)

次に、車両情報のところの一番下の方で、CAN-Busチャネルを追加する。

チャネルの追加は、先ほどのリンク先のページをマネして、以下のように入力。

Channel nameCAN IDEquationNotes
Accelerator position (%)320A/2.55
Brake position (%)209min(C / 0.7, 100)The 0.7 divider seems to be a good value to get 100% at pressure slightly higher than those you’re likely to use on the track for cars with no aero. You can use 0.8 or 0.9 if you see 100% too often.
Brake pressure209C * 128
Coolant temperature864D - 40
Engine RPM320bitsToUIntLe(raw, 16, 14)
Engine oil temperature864C - 40
Speed209bytesToIntLe(raw, 0, 2) * 0.015694May want to check the multiplier against an external GPS aevice
Steering angle208bytesToIntLe(raw, 0, 2) * -0.1Positive value = turning left. You can remove the - if you prefer it the other way around.
Recommended CAN IDs

Channel nameCAN IDEquationNotes
Clutch position320B & 0x80 / 1.28Only 0% and “not 0%”, unfortunately.
Gear321(G & 0xf) * (1 - (min(G & 0xf, 7)) / 7)Car calculates it based on speed, RPM and clutch position. It’s pretty slow. I really doubt it’s worth wasting one CAN ID for this channel. It’s not that hard to see which gear you’re in based on speed and RPM in data.
Lateral acceleration208bytesToIntLe(raw, 6, 1) * 0.2Data is noisy.
Longitudinal acceleration208bytesToIntLe(raw, 7, 1) * -0.1Data is noisy.
Combined acceleration208sqrt(pow2(bytesToIntLe(raw, 6, 1) * 0.2) + pow2(bytesToIntLe(raw, 7, 1) * 0.1))
Throttle position320G / 2.55This is the throttle valve, not pedal.
Wheel speed FL212bytesToIntLe(raw, 0, 2) * 0.015694Use same multiplier as for “Speed”.
Wheel speed FR212bytesToIntLe(raw, 2, 2) * 0.015694Use same multiplier as for “Speed”.
Wheel speed RL212bytesToIntLe(raw, 4, 2) * 0.015694Use same multiplier as for “Speed”.
Wheel speed RR212bytesToIntLe(raw, 6, 2) * 0.015694Use same multiplier as for “Speed”.
Yaw rate208bytesToIntLe(raw, 2, 2) * -0.286478897
Advanced CAN IDs

エンジン回転数を入力した例。

とりあえず、ブレーキ以外にもステアリング角度とヨーレートは使えそう。動画に表示しても面白そう。

4輪の車輪速とか面白いなと思ったけど、さすがにそこまで細かく解析してらんないかな。でも、データを色々取得してもサンプリングレートは特に落ちないっぽいので、取れるだけ取ってやってもいいかも。

ギアは、ちょっとややこしい数式になってるけど、メーターに表示されてるギア段数が取れるようだ。つまり、4.5ファイナルのウチの場合、6速に入れれても5速と表示される(笑)。あと、Rに入れても1と表示された。

あとは、計測時に所望のデータを取るようにチェックを入れたり、動画に重ねるオーバーレイのメーターをOBD-IIじゃなくてCAN-Busの方にしたりすればOKのはず!

オマケ。身延山のYAMAP活動記録。

身延山の巨大な霜柱 / たぽさんの身延山の活動データ | YAMAP / ヤマップ
たぽ
  • たぽ
  • カレン(ST206 3S-GE VVT-i)、BRZ(ZC6 RAエアコン有)でサーキットを走ってます。
    クルマ弄りは基本的にDIY。そのため(?)にガレージ付きの家建てました。

    数年前から登山にも目覚め、時々アウトドアな日記・動画もアップしてます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。