ED BMSdiag
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> ![]() |
|
このプロジェクトについて
意図
私は電気自動車を運転しています-2つの電気ドライブのためのスマート。トラクションバッテリーの健全性は不可欠であり、バッテリー管理システム(BMS)によって維持されます。充電/放電中に93個のセルすべてを監視し、均等な電圧レベルのバランスを考慮します。通常、このECUから情報を読み取ることができるのはサービスツールのみです。
車には、充電状態(SOC)、利用可能な範囲、その他の簡単な情報などのステータスデータにアクセスするためのGSMモデムが装備されています。一定期間、モデムは拡張モードで車に関する診断情報を収集していました。何が送信されたかを知るためにCANバスにスニッフィングしようとしたコンテンツに興味があります。
日産リーフのような他の電気自動車の同様のプロジェクトに触発されて、私は運転中または車の充電中に完全なCANバストラフィックを記録しました。最初にスニッフィングされたストリームには、実際にそれらの診断データが含まれていましたが、それをデコードする方法は?
CANバススニッフィングとリバースエンジニアリングの詳細については、別の記事をご覧ください。
必要なもの
必要なハードウェアを入手してください。現代の車では、物理層はCANバスを介して行われます。少なくとも2つのCANバスシールドが利用可能です-コンポーネントリストを参照してください。車の診断ポート(OBDコネクタ)に接続する必要があるため、ケーブルを購入するか、自分でケーブルを作成してください。注:OBDからDSUB-9へのケーブルには2つの規格があります-正しいものを選んでください!下の写真を参照してください:




独自のケーブルを作成する場合は、古いツイストペアネットワークケーブルを使用することをお勧めします。 CAN-HとCAN-Lには、これらのペアワイヤの1つを使用してください。これにより、シグナルインテグリティが向上します。また、信号の反射を最小限に抑えるために、長さが1mを超えないようにしてください。
はじめに
ステップ1
ハードウェアを準備し、ボードの適切なケースを見つけます。
ステップ2
githubリポジトリからプロジェクトをダウンロードします。インストールの詳細については、こちらをご覧ください。コードをコンパイルして、Arduinoにフラッシュします。
ステップ3
車に接続して電源を入れます。診断セッションを開始し、バッテリーパックに関する有用な情報を入手してください...


ステップ4
スプレッドシートプログラムを使用して、相関データを見つけます。たとえば、SOC(ダッシュボードの充電状態)をBMSの実際のSOCと比較します。または、セル電圧をプロットして、充電中に一部のセルがパックを制限していることを確認します。これは、最初にカットオフ制限に達したためです...


ステップ5
必要に応じてコードを改善します-独自のハッキングを行います。 SpakfunシールドにはSDカードリーダーが搭載されているため、独自のCANバスロガーを作成できます。
または、データを表示する優れたフロントエンド/アプリを作成します...
このツールがお役に立てば幸いです-楽しんでください!
コード
ED_BMSdiagArduinoソフトウェア
https://github.com/MyLab-odyssey/ED_BMSdiag.git 回路図
SparkfunCAN-Busシールド用 

製造プロセス