工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

部品と用品

部品数量備考
Arduino UNO1
SparkFun CAN-BUS Shield1
Male-Header 36 Position 1 Row Long (0.1")1SparkFun CAN-Bus Shield用
SparkFun OBD-II to DSUB-9 ケーブル1海外メーカー向け
OBD-II to DSUB-9 ケーブル1ドイツ/欧州メーカー向け
CANdiy-Shield v2 CAN-Bus Shield1IO電圧 3.3V/5V 切替可能、3.3Vボードでも使用可
Arduino用ケース1Arduinoストアでは在庫切れ、一部ディストリビュータで入手可能

アプリとオンラインサービス

このプロジェクトについて

目的

私は電気自動車(Smart fortwo electric drive)に乗っています。駆動用バッテリーの健康状態はバッテリーマネジメントシステム(BMS)によって維持され、充放電時に全93セルを監視し、電圧バランスを均等に保っています。通常、このECUから情報を読み取れるのはサービスツールのみです。

車両にはGSMモデムが搭載され、充電状態(SOC)、航続可能距離などの基本データにアクセスできます。一時的に拡張モードで診断情報を収集していたため、CANバスをスニッフィングして送信内容を調べました。

日産リーフなど他のEVで同様のプロジェクトに触発され、走行中や充電中のCANバストラフィックを全て記録しました。最初に取得したストリームには確かに診断データが含まれていましたが、どうデコードすればよいのでしょうか?

CANバスのスニッフィングとリバースエンジニアリングの詳細は、別記事で解説しています。

必要なもの

現代の車では物理層にCANバスが使われています。少なくとも2種類のCANバスシールドが入手可能です(部品リスト参照)。車両の診断ポート(OBDコネクタ)に接続するため、ケーブルを購入するか自作してください。注意:OBD-DSUB9ケーブルには2つの規格があります。正しい方を選んでください。 以下の写真を参照してください。

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット
ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット
ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット
ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

自作する場合、古いツイストペアLANケーブルを利用すると良いでしょう。対になった線の1組をCAN-HとCAN-Lに割り当てると信号品質が向上します。また、ケーブル長は1m以内に抑え、信号反射を最小限にしてください。

始め方

ステップ1:ハードウェアの準備とケースへの収納

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット
ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

ステップ2:ソフトウェアのダウンロードと書き込み

GitHubリポジトリからプロジェクトをダウンロードし、詳細なインストール手順に従ってください。コードをコンパイルしてArduinoに書き込みます。

ステップ3:車両への接続と診断開始

車両に接続し、電源を入れます。診断セッションを開始して、バッテリーパックの有用な情報を取得します。

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット
ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

ステップ4:データ分析

スプレッドシートソフトを使って相関データを見つけます。例えば、ダッシュボード表示のSOCとBMSからの実SOCを比較したり、セル電圧をプロットして充電時にどのセルが最初にカットオフ電圧に達し、パック全体を制限しているかを確認したりできます。

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット
ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

ステップ5:機能拡張と独自開発

コードを改良して自分なりのハックを加えてください。SparkFunシールドにはSDカードリーダーが搭載されているため、独自のCANバスロガーを構築できます。また、データを表示するフロントエンドやアプリを開発するのも良いでしょう。

このツールがお役に立てば幸いです。Enjoy!

コード

ED_BMSdiag Arduino ソフトウェア

https://github.com/MyLab-odyssey/ED_BMSdiag.git

回路図

SparkFun CAN-Bus Shield用

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

CANdiy-Shield用

ED BMSdiag – Arduino CAN-BUS & OBD-II 診断キット

製造プロセス

  1. ILI9341 2.4インチTFTタッチシールドでのビットマップアニメーション実装ガイド
  2. Web制御DMX照明システム:Arduino Megaマスターコントローラー
  3. Bluetooth操作のArduinoスパイボットを自作する
  4. FlickMote:ジェスチャー操作のIRリモコンでスマートホームを制御
  5. 自作Arduino TV-B-Gone:全テレビ対応の万能リモコン
  6. 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
  7. HSVクロック:Arduino愛好家向けの鮮やかでカスタマイズ可能な時計
  8. Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携
  9. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  10. Arduinoプロジェクトのための最適化電源ソリューション
  11. Arduino三目並べ:MAX7219 LEDマトリクスと段ボールケースで自作