思いっきり無保証!



ROMデータ解析にも書いてありますが、 ECUを動作させるためのプログラムもROMの中に入っています。 このプログラムを主な機能別に、どのような制御を行っているかまとめてみます。
当然、年式やグレード等によってプログラムの中身、それに伴いデータ領域 もアドレス等が違っていたりしますので参考程度にして下さい。

まだまだ工事中

・逆アセンブラ(予定)
・ブースト圧制御
・O2フィードバック制御(予定)






ブースト圧制御

ECUのプログラムでブースト圧の制御は、以下のように行っています。
  • エンジン回転数、アクセル開度から目標ブースト圧マップ(8x8)を参照して 目標となるブースト圧を決定する。
  • 目標ブースト圧と現在位のブースト圧の差を調べ、 ブーストのレベル(4段階)を決定する。
  • レベルにしたがい、エンジン回転数の増減を加味して過給圧制御を行うPWMの補正値(D)を決定する。
  • エンジン回転数、アクセル開度から最大デューティマップ(8x8)を参照して、 過給圧制御を行うPWMの最大デューティ(M)を決定する。
  • 前回計算時にセットしたPWMの設定値(B)に補正値(D)を加え、 最大デューティ(M)をオーバーしていたら最大デューティー値(M)に クリッピングして新規のPWM設定値(B)とする。
  • マイコンのPWM設定レジスタにPWM設定値(B)を書き込む。

    マップを変更してみた感じとしては、目標ブースト圧を高めに設定して 最大デューティでコントロールするのがやりやすかったように思います。 ただしPWMの補正値は段階的(4段階)なので、それを吟味する必要はあるでしょう。
    また上の流れでは見て取れませんが(自分が使用しているデータの場合)、 目標ブースト圧からPWMの補正値を計算するルーチンは10回に1回、 最大デューティを計算して新規PWMを決定するルーチンは20回に1回、 の割合で呼び出されています。 これらのルーチンの呼び出し間引きで適切なブースト圧のオーバーシュート特性や 応答特性を決定しているようです。


    気になる? 俗説
    マフラーを変えると最大ブースト圧が変化すると言う人がいるが...
    確かに排気の抜けは良くなるので制御系の応答特性は変化して、 オーバーシュートは出やすくなると思われる。 しかしブースト圧はインテークの圧力を基準に制御していることから、 発散しないかぎりは設定した過給圧に落ち着くはずです。 しかしそうならない場合には、どこかがおかしいはずなので、 ちゃんとトラブルシュートしましょう!

    また純正の過給圧をコントロールするソレノイドバルブが 制御が追い付かないと聞くことがあります。
    ソレノイド自身はまあ安定性のある部品で、 車載を考えられた設計であり値段もかなり張るんですが、
    ソレノイドバルブ 16102AA012 A9211-B9403   7,480
                     16102AA013 B9404-C9608   6,800
    圧力センサー     22012AA020 A9211-C9608  19,800
    

    圧力センサーとソレノイドバルブだけで上の値段である。 もちろん純正の保守部品であり価格は高めではあるんですが。 これらの部品でブーストコントローラーを作ると、 すでに原価計算が成り立たないかも。 それだけ純正はしっかりした部品を使っているということです。
    上記の問題はブーストアップをした時に、 関連するパラメーターを全て適切に書き替えれば良いのですが、 応答を考えずに一部のマップの変更で対処しようとすると おかしくなるのは当然と言えば当然である。 (確かにそのようなROMが市販されていたりするのでこれらによって 上の噂が出るのではないかと邪推してます)

    しかしちゃんとECUのプログラムを解析し、 設計意図を読み取りコントロールをさえすれば、 より細かい制御をECUで行え無駄な投資をせずに 思い通りの特性を作ることも出来る!(はず...)