

ホーム
このホームページは、M3で走行中に突然エンジンが絶不調になったことがあったので、走行中のエンジンの状態をモニターしたくなり、テレメータ(遠隔計測)を仕事としていた経験を活かして実現方法を検討した結果、それなりにできるようになったので内容などを紹介したものです。
ECUについて、勉強することになった経緯を示す。
[水温計故障]
- M3で走行中に、エンジンが突然絶不調となりしばらくすると回復するトラブルが発生したが、再現性が悪く直らなかった。
- 原因を水温計のトラブルと推定して、水温計のデータをモニターすることにより、異常時には水温計が断線状態になる事が分かった。
- ディーラで水温計(水温センサー)を交換して貰い、トラブルは解決した。
[配線確認]
- エンジン動作中にECU各ピンの信号波形を計測し、ECU周りの配線を推定した。
[プログラム簡易解読]
- ROMのデータを見比べ、CPUの種類やプログラムとデータ領域の判別などを行った。
[CPU周りの回路確認]
- CPUの種類が分かったことにより、ピンアサインから割り込みに使用している信号やA/Dコンバータで処理している信号が判明した。
[ECUモニター自作]
- ECUの動作状態をモニターする為、CPUのレジスタ値を解読して色々な形で表示できるECUモニターを自作した。
[エンジンシミュレータ自作]
- ECUの良否判定、プログラムの解読やECUモニターのデバックの為、エンジンの動作を簡易模擬できるエンジンシミュレータを自作した。
[ECUの改造]
- CPUの入力端子からレジスタ番号を読み込み、レジスタに記録されている値を出力端子から書き出すようにした。
- CPUの入力端子及び出力端子をECUモニターのシリアル出力信号でドライブできるよう、ECUのシリアル回路を改造した。
- ガソリンの種類を設定するPIN28をアナログ入力できるよう改造し、空燃比計のアナログ出力を接続して、空燃比をA/Dできるようにした。
[プログラム解読]
- エンジンシミュレータ及びECUモニターを使用し、ECUのプログラムを3割程度解読できた。
[M3Analyzerプログラム作成]
- GNSS(GPS)、可視カメラ及びECUモニターをパソコンに接続し、エンジン状況もモニターできるプログラム(M3Analyzer)を作成した。
[ECUコンバータ自作]
- CPUのレジスタ番号をECUにシリアル出力し、レジスタの値を解読してパソコンに出力できるECUコンバータを自作した。
[修理依頼]
- E30M3の整備会社から動作不良のECUの修理依頼があり、不具合調査及び対策を実施した。
エンジン系統に関する故障の、原因と対策を示す。
[水温計異常]
- 走行中に突然ギクシャクした動きとなり、吹き上がりが非常に悪いが、1分程で正常になり、その後発生しない。
- アクセルを戻しても、回転が下がりきらない。
[オイルトラップ異常]
- 渋滞で低速走行している時や信号で停止中に、エンストする。
- 一瞬トルクが抜ける。
[ECU異常]
- 炎天下において、トルク変動が激しくエンストする。
[パージバブル異常?]
- 炎天下において、トルク変動が激しくエンストする。
[点火コード異常]
- アイドリング時は回転が不規則で異常振動があり、走行する時はトルク変動が激しい。
[FUSE BOX発熱異常]
- リレーとフューズの発熱により、フューズボックスの蓋が変形する。
整備会社からの依頼で動作不調だったECUを修理する為、実施した調査/対策の内容である。
[始動できないECU]
現象
- 点火回路の部品が動作していない。
- 水温センサが断線状態の為、ガスが濃過ぎる。
対策
- 点火回路を補修した。
- 水温センサ配線を補修した。(依頼会社のオーナが作業)
[ハンチングするECU]
現象
- 回転が粗くハンチングしている。
- 空燃比データが、波打っている。
対策
- アイドルコントロールバルブを駆動している、トランジスタを交換した。
[回転が高すぎるECU]
現象
- アイドリング状態でも回転が高い。
- AirFlow値が30%程度と高く、回転数も1400rpm以上だった。
対策
- アイドルコントロールバルブを駆動している、トランジスタを交換した。
[始動直後に空燃比が高すぎる/低すぎるECU]
現象
- 始動直後に空燃比が17以上になる。
- 始動直後に空燃比が13以下になる。
結果
- 始動直後の動作環境で異なるが、時間が経過すれば(通常2分、最大10分程度)正常に戻るのでなにもすることはない。
ECUの動作状態をモニター(計測)する為、机上と実車での計測方法の内容である。
[仕組み]
[机上計測]
接続
- エンジンシミュレータにECUを接続し、ECUのモニターラインにECUモニターを接続し、そのシリアルラインをパソコンに接続する。
操作
- AirFlow、水温、吸気温、大気圧、回転数、O2状況はボリュームで設定する。
- スロットルポジションセンサー、エアコンコンプレサーON/OFF及びガス種類設定(PIN10)もスイッチで代用する。
表示
- 点火信号、燃料噴射信号、アイドルコントロールバルブ信号、燃料ポンプ信号、パージバルブ信号、燃料消費信号(FUEL RATE)をLEDで表示する。
- 液晶にAirFlow、電源電圧、大気圧、吸気温、水温、空燃比、回転数、燃料噴射時間、増量噴射時間、濃い/薄い、スロットルポジションセンサーの状態を表示する。
- ECUモニターから入力するシリアルデータを、M3Analyzerで波形、メータ、数値表示できる。
[実車計測]
接続
- エンジンにECUを接続し、ECUのモニターラインにECUコンバータを接続し、そのシリアルラインをパソコンに接続する。
- 必要であれば、パソコンに可視カメラとGNSS(GPSを含む)を接続する。
- ECUに空燃比計(LM2)経由でリニアO2データを取り込んでいるが、モニタするのみでエンジンの制御には無関係である。
- ECUコンバータに半導体加速度センサーを組み込んであり、X、Y、Z軸の加速度も測定できる。
操作
- パソコンでM3Analyzerを実行する。
- 記録時間は、ハードディスクの容量が許せば、何時間でも可能である。
表示
- ECUデータ、可視画像、GNSS(GPSを含む)データ及び加速度データを、表示できる。
[ECU比較(机上確認)]
発熱比較
赤外線サーモグラフィーで、正常なECUと発熱状況を比較することにより動作していない部分を特定できた。
- 基板のプリントパターンを確認し、点火系の部品に信号が来ていないことが分かった。
- エンジンが始動できないトラブルは、本原因が多い。
CPU内部データ比較
所有している複数のECUをエンジンシミュレータに接続して、各ECUのセンサ値や燃料噴射時間の違いを計測した。
- エンジンシミュレータの設定は同じでも、各ECUのA/Dなどの個体差により、センサ値が異なり結果も異なる。
- 例えば、M社から購入したECUは電源電圧が若干高めになっている。(当然、実車においても同等の結果となる)
[水温 対 燃料噴射時間(机上確認)]
エンジンシミュレータを100rpm以下に設定し、水温センサの設定を変化させ、再始動時の燃料噴射時間を計測した。
[吸気温 対 燃料噴射時間(机上確認)]
エンジンシミュレータを100rpm以下に設定し、吸気温度センサの設定を変化させ、再始動時の燃料噴射時間を計測した。
[排ガスコントロール(机上確認)]
エンジンシミュレータでO2センサ信号を変化させたり、ECUのプログラム変更でO2データを固定してみた。
通常のアイドリングを模擬
- 燃料噴射時間は、AirFlow値と回転数をベースに計算する。
- AirFlow値は一定でも吸気温、大気圧の値で酸素の密度が変化するので、吸気温及び大気圧値で補正し、インジェクターの動作遅れを電源電圧の値で補正する。
- また、エンジンが冷えている時のガソリンの気化遅れを水温の値で補正する。
センサ値&回転数を固定して模擬
- AirFlow、電源電圧、回転数を一定値にするようECUのプログラムを改造し、噴射時間のばらつきの状況を確認した。
- 回転数を固定すると、ばらつきが大幅に減る。
- 電源電圧の変化は、ばらつきにはさほど影響していないように見える。(変動幅にもよるが)。
O2センサの値を変化させて模擬
- AirFlow、電源電圧、水温、吸気温、大気圧、回転数をアイドリング時の値に固定し、O2センサのデータを濃い側から薄い側に変化させた時の燃料噴射時間変化を確認した。
- 燃料噴射時間を三角波のように変化させ、空燃比を制御している。
- 非常に薄い状態が続くと、ECUでO2センサが不良と判定し、三角波のような制御を止め燃料噴射時間を調整する。
[排ガスコントロール(実車確認)]
センサ値を固定したりO2センサを外したりした時の空燃比がどう変化するかモニターした。
通常のアイドリング
- アイドリング中の状況をモニターした。
センサ値&rpm値固定
- アイドリング中に大気圧センサのコネクタを外した時、センサ値(AirFlow、電源電圧、水温、吸気温、大気圧)と燃料噴射量の計算に使用しているrpm値(実際の回転数とは異なる)を一定値に固定するようECUのプログラムを改造し、途中でO2センサのコネクタを外したり繋いだりした場合の状況をモニターした。
[振動対策]
動機
- アイドリング中に不規則な振動があり、ECUの改修などで振動が減らせないか検討してみた。
対策1
- ECUのA/D入力のフィルタ時定数を長くする。
実車確認1
- 電源電圧、水温及び大気圧のバラツキがかなり減っている。
- 空燃比、回転数及び燃料噴射時間のバラツキも減っている。
- 振動も若干減ったように感じるが、加速度(Z軸)データでは違いが上手く現れていない。
対策2
- 回転数が1200rpm以下の時、変化が±40rpm以内の場合は前値置換となるようプログラムを改修する。
実車確認2
- AirFlowや回転数にバラツキが増え、噴射時間にもヒゲ状のノイズがある。
- 実際の回転数と噴射時間の計算に使用している回転数が違うことが、悪影響となっている。
[アイドルコントロールバルブ駆動回路]
エンジンシミュレータの水温センサ設定を変化させ、ECUのアイドルコントロールバルブ端子(33ピン、34ピン)の波形を計測した。1.正常なECUの机上計測
2.異常なECUの机上計測
青色(33ピン)の波形が異常な為、アイドルコントロールバルブの片側のコイル(モータ)が正常に駆動できないので、アイドル制御が不十分となる。
3.対策
34ピンの駆動信号(コレクタ)から33ピンのベース信号を作っているが、経年変化で足らなくなっているので、R561(2.2kΩ)の抵抗値を若干下げる事により、正常になる。
4.効果アイドルコントロールバルブの開閉度を測定した。
走行中の位置、映像及びエンジンの状態をモニタできる、ドライブレコーダもどきの画像などをYouTubeに投稿したもの。
[セッティング]
[水温計トラブル]
[炎天下エンストトラブル]
[通常走行昼間]
[通常走行夜間]
ECUを調査/解析する為のツールなどで、自作した物や購入した測定器などがある。
[エンジンシミュレータ:自作]
- ECUと接続することにより、ボリュームやスイッチでエンジンの動作状況を模擬できる。
[ECUモニター:自作]
- ECUから取り込んだデータを、液晶、LED及びメータに表示したり、パソコンに出力できる。
[ECUコンバータ:自作]
- ECUから取り込んだデータをパソコンに出力できる。
[Windowsプログラム:M3Analyzer]
- GNSS(GPS)、可視カメラ、ECUの動作状況をパソコンに表示できる。
[空燃比計]
- LM2(グリッド製)
[可視カメラ]
- VX6000(Microsoft製)
[GNSS(GPS)]
- GR-5013U(Navisys製)
[ノックセンサー&アナライザー]
- DK1s(グリッド製)
[ドライブレコーダ]
- KNA-DR350(KENWOOD製)
[ROMエミュレータ]
- EeRom-8U(EE TOOLS製)
[ミックスドドメインオシロスコープ]
- MOD3012(テクトロニクス製)
[赤外線サーモグラフィー:借用]
- TH9100、F30(日本アビオニクス製:販売終了している)
ECUのROMの情報
現有車の修理履歴
現有車の改修/改造履歴
購入した1年半落ちのM3を、前オーナーが改造した状態をノーマルに復元した履歴
今までに所有した車の紹介
[始動できない]
[アイドリング時に回転が不規則で異常振動があり、走行する時はトルク変動が激しい]
[アイドリング時にハンチングする/アイドリング時の回転数が高い]
[始動時にA/F値が高い/低い]
[走行中にエンストする]
[加速感など調子が悪い]
[停止時アクセルを戻しても回転が落ちない]
[走行中に突然ギクシャクした動きとなり、吹き上がりが非常に悪いが、1分程で正常になる]
[渋滞で低速走行している時や信号で停止中に、エンストする/急加速した時、一瞬トルクが抜ける]
[炎天下において、トルク変動が激しく、エンストする]
掲示板
[ドライブレコーダ加速度表示例]
ドライブレコーダで記録したファイルをM3Analyzerで表示したもの。
[ECUモニター表示例]
机上計測での表示例
[エンジンシミュレータ内部]
[ECUモニター内部]
[ECUコンバータ内部]
[シリアル入力回路変更]
[燃料種類入力回路変更]
[ヒューズデータ]
M3のヒューズの接続先
[アイドルコントロールバルブ]
[水温センサー]