GWお休みいただいていますが個人的には自動車整備を遂行しないといけません。弊方の’93型FIATがシリンダーヘッドをOHした後、アイドリング途中でエンジンが停止する事象が発生し続けています。
’80年以降のFI車なら通常ISC:Idle Speed Contorl によりアイドリング回転数はECUにより制御されています。ソレノイド(デューティ信号制御)とステッパーモータ制御(モータ専用信号制御)の2種類があり、後者の方が応答性が早いが制御が複雑になりハード面もコストUPになります。当FIATは後者です。
ここはダイアグ (故障診断もしくはスキャン)ツールで状態を確認したいところです。しかし他メーカにも同じく、FIATの2000年以前は通信プロトコルが車両メーカ固有で市販品は使えません。メーカ専用はディーラ以外では持っていないし、購入ルートがありません。
C#でのこの種のアプリ学習もかねて、オープンソースWindowsアプリのIAW_SCAN2:ダイアグ ツールを準備しました。機能を理解するため、当Project貢献のため日本語化をしました。これまでの記事は以下です。
その後、2024.1月の実車で試し、再開できていませんでした。まずその時の結果を整理します。
通信ケーブルの用意
PC側は市販のFT232R搭載のUSB→K-LINEケーブル を使います。UART( 全二重2線式5V非同期クロックシリアル通信 )をK-LINE( 半二重1線式ISO9141/BATT電圧の非同期クロックシリアル通信 )に変換するものです。K-LINE は変換には専用ICを使いますが電気的に電圧レベルを変換してUART送受信ラインを接続しているだけでロジックは載ってません。 K-LINE はBUS型でL-LINEという信号ラインもありますが平たいところ無視してもよいです。

USB→K-LINEケーブルの仮想COMは、デフォルトで1回の送信で16msecディレイがあるので最小にしておきます。これはPC側は細かい通信インターバルを刻めないため、ここで調整できるようにしてあるのだと思います。

ODBII→FIAT用コネクタ は何故かアマゾンで売っていました。そのままでは使えませんでした。2点加工が必要です。
- PINの幅が実写より幅太でした。削って細くする。
- OBDII側コネクタが、KLINE変換側よりRが大きいので、削って小さくする。


実車との接続
エンジンルーム内の以下のダイアグコネクタと接続します。

一般的にダイアグコネクタよりBATTが来ているですが当FIATは来ないようです。ODBII→FIAT用コネクタ のワニ口をバッテリとボディアースに接続します。
初回接続
割とすんなりECUと接続でき、ECU機種を認識しました。ECU機種は自動判別です。

ケーブル接触が微妙なのか通信が断線時は以下のようになります。

ケーブル接触不良を物理的に見るため、ケーブル内に接続中LEDを追加します。出力はFT232Rのオプションポートを使います。


LEDを観察しつつ電気的に接続している最中でもよく接続が切れます。一度切れると次に接続しにくくなり、下図のように約20secでタイムアウトします。ECU機種は自動判別をしない方が調子いいようです。

アイドルスロットル開度の確認
アイドル維持できない場合、アイドル時のスロットル開度が怪しいです。基本ECUが学習するのですが規定値を外れすぎていると学習しません。アイドル時スロットル開度の規定値が何Voltかは、メーカ整備書にも、ヘインズのマニュアルにも未記載で、ダイアグツールを使うようにとしが記載がないです。
スロットル開度は確認できました。このままではまずそうです。しかし一瞬モニタはできるのですがすぐ切れ、その後再接続できません。モニタしながな調整ができないですね。一晩待つと接続できる傾向がみられます。アプリの問題か、ECUが接続解除命令を受けとれておらず、新しい接続を拒否しているのかも、、、

故障表示
一瞬見えた故障表示ですが、FAILが立っていました。

一応、FAILをクリアしました。

メンテナンス機能
実施しなければならない機能項目がないかみてみました。本ツールは、アクティブテストと市場調整機能までサポートしているようです。なかなかです。なおこれらの項目は車両毎に変わってきます。


以上、割と使えそうですが、連続モニタリングと再接続性に課題があります。次記事では、それを解析していきます。しかしこの種のアプリを開発していた時期もあり懐かしいです。