それさえもおそらくは平穏な日々...Presents
Project EF8- 自作のすすめ

ECUデータエディタ EFED Ver2.10B
EF8−Rは、インテグラタイプRのエンジンを載せた1800cc。
これをコントロールするべく、ECUのデータを書き換えるためのソフトを自作。
専用にすることで、競技車両に必要な項目を絞り変更しやすくしたもの。

でもねぇ、古いので、N88-BASICなんですよぉ。。(^^;
PC98**シリーズでしか動かない。

C言語に移植してWin化!という話もあったが、需要の問題から現状維持。(爆)



1)これは、なんぞや?

近年の車のエンジンはそのほとんどが電子制御。
EFIとかEGIとかPGM−FIとかいうやつね。 アクセル開度により空気の吸入量を決め、それに見合っただけの燃料を噴射し、適性なタイミングで 点火を行なうもの。
噴射量と点火時期は、各センサー情報によりECU(ElectronicControleUnit)が決めている。 エンジンをチューニングしたり、EF8−Rのようにまったく違うものに載せ変えた場合、 設定を変更しなければまともに動作しなくなる。

この設定情報は、ECU内部のROM(ReadOnlyMemory)に記憶されており、 各モードによってパラメータテーブル(俗に言うマップ)として記述され制御で参照される。
このテーブル情報を書き換えることにより、燃料噴射量と点火時期の再調整が可能となる。
(俗にいうROMチューンのこと)

ROMの中のデータはバイナリ(16進)で記されており、そのままではなにがなにかわからない。
本ツール(EFED)は、データの中から必要なテーブル、パラメータのみを抽出し、 実数変換することで判りやすいデータとなるよう加工するものである。

2)特 徴(機能)

(1)燃料マップ、点火マップのグラフ表示。
データをグラフ化することで、前後の繋がりがビジブル化され、増減が視覚的に判断しやすい。 (もし、波(山、谷)が大きいと、制御が追いつかない場合があるのよねぇ。)
もちろん、グラフ表示のまま増減が可能。

(2)変更前のデータと比較グラフ表示。
読みこんだ初期のデータとの修正比較が可能。
ただし、別ファイルとの比較は残念ながら実現できていない。

(3)インジェクタ駆動時間、点火時期の実数値を表示。
テーブル(表)形式で、インジェクタ駆動時間(≒燃料噴射量)、点火時期(進角度)を実数値表示。 セルにカーソルを合わせ、実数値によりダイレクト変更。

(4)排気量アップにうれしい、係数による増減。
たとえば、1.6L→1.8Lのデータに変更する場合、係数1.125を掛けることで一発変換。
また、セル個別に係数変更も可能。

(5)燃料マップの係数補正。
ホンダ車の燃料マップには係数項があり、計算しなければ正規のマップにならない。
グラフ化するため、自動計算。

(6)各種リミッタの設定変更が可能。
スピードリミッタを始め、レブリミッタ、そしてVTECポイントまで設定変更が可能。
1000rpm〜8000rpmまでのワイドレンジで動作。(爆)

(7)ダイアグフェイル機能のカット。
不要なフェイルをカット。(サムチェック、O2フェイルなど)
コンバータによりダイアグ機能を復帰が可能なので安心。
(8)データのコメントが書ける。
創ったデータにコメントを埋め込むことができ、そのままROM化できるので、 何時のデータか、どういう仕様なのかが把握できる。

3)各種画面

う〜ん、綺麗に表示されない(涙)。仕方が無いのでクリックしてください。大きく表示します。

メニュー画面

燃料マップグラフ表示
点火マップグラフ表示
燃料マップ実数表示
各種リミッタ設定画面

4)動作環境

使用機種: NEC PC−9801シリーズ
    PC−9821シリーズ
    他、NEC製N88BASICが動作する機種。
システム: MS−DOS Ver3.1以上
N88−BASIC.LIB(Ver6.2以上)
(ランタイムパッケージ)

残念ながらこのソフトは、その性格およびメンテナンスの都合上、
公開していません。
否営利目的の純競技ユーザーに対して、個人的にサポートするのみです。
ご了承ください。


この内容に関する質問やお問い合わせは、メールにてお願いします。
また、ここに紹介する内容についての著作権は、作者にあり、無断での引用転載を禁止します。
 nakazaki@ceres.dti.ne.jp 
Copyright 1998-2001 Kenji-Nakazaki All Rights Reserved.

















って、せっかくここまで見てくれたんだから、
作成当時、公開用に書いた「プログラム説明書」を公開しましょう。
(当時はNiftyServeのライブラリに登録予定だったのだ。)

###################################
  B16A専用 ECUマップエディタ Vre 2.10            
              for EF系
       プログラム説明書
  〜開発の意図、特徴など、
    知っていても損はない?内容が記述されています。〜
         Copylight(C) 1994-1998  Kenji-Nakazaki
###################################


【目 的】
 このソフトは、ホンダEF系B16A(VTEC)のECUを書き換えるの
に適したエディタを提供するものです。

----------------------------------------------------------------------

【いきさつ】
 ホンダの名エンジンとも言われるB16A(VTEC)は、一つのエンジ
ンに2つの特性を持たせ自動的に切り替えるという、画期的な機構を持った
エンジンです。

 制御はホンダ独自の電子制御燃料噴射PGM−FI(ProGraMabl Fuel In
-jection)で、基本はBOSH社のDジェトロ方式とほぼ同じです。
 空気(酸素)量を計り、それに応じた燃料を供給するもので、供給データ
は、読み出し専用のメモリ(ROM)に記憶されています。

 このデータを書き換えること=ROMチューンなのですが、よく知られて
いる(?)日産車と違い、ホンダの場合はマップサイズが異なっているので
、市販のバイナリエディタ(通常は16×16)での編集は困難です。

 マップサイズが変更できるものであれば、点火マップはなんとかなります
が、燃調マップにおいては、データに列ごとの係数を掛けてやらなければ、
正規のマップにはならないのです。
(正確には、係数のべき乗計算というややこしい計算)

 このため、データだけ(バイナリイメージ)を観て変更するという芸当は
神業の部類に入り、通常のバイナリエディタだけでは不可能に近いでしょう。

 また、2つのカムを持つVTECということで、マップもカムにあわせて
燃料・点火それぞれ2面あり、カムが切り替わると同時にマップを比較、噴
射量の多いマップになるように切り替わるという、複雑な制御をしています。

 あと、ホンダはROMのサムを常時観ており、これが異なるとエラーとな
り、フェイルセーフモードに入ってしまいます。悪戯にデータのみを変更す
ると、サムデータ(1byte)とROMのサム(総和)がアンマッチング
となるのです。
 このため、データを変更すると必ずチェックサムも合わせるため、計算し
差分を求める必要があるのです。


 この辺が面倒きわまりないのでこのエディタを作成しました。



【特徴&短所等々...】

 VTECと言えども基本はNAのエンジンですので、データの変更による
劇的な効果は望めません。
 しかし、データのつながり(カーブ)をスムーズにすることで、フィーリ
ングが向上します。(これはT/Cでも一緒ですね。)

 このエディタでは、このデータのつながりをスムーズにすることを主体に
考えてあます。


 操作は簡単で、3Dグラフィック画面状態で格子にカーソルを合わせ、2
つのキーにより データ1bitづつのアップ・ダウンをさせることが可能です。

 また、直接データを変えれるように、申し訳程度に3*3の窓(のつもり)
で実データ(hex)表示もさせ、バイナリ入力も可能....
 ・・・にしていたのですが、誤操作(データUP時、Xキーのつもりが隣の
Cキーを押してしまう)で、とんでもない値が入る場合があったので、現在は
無くしています。

 ちょっとした技(!?)として、3Dエディット中はエディット前のデータと
ビジブルに比較することができます。(「R」キー)
 これでどこまでも増量・減量していく(し過ぎる)ことが防げるでしょう。

 専用としたことでアドレスが固定できるのがメリットです。
 もちろん、VTECのポイント、REVの変更もわずらわしい計算なしで
設定したい回転数を入力するだけでできます。


 設定項目は4種類有り、
    ・過回転設定  (要するに回転リミッタ)
    ・低水温設定  (始動時の高回転・高負荷を防止)
    ・高水温設定  (オーバーヒート時のエンジン保護)
    ・過速度設定  (車速判定値以上での回転リミッタ)
    ・車速判定値設定(いわゆるスピードリミッタ)
    ・VTEC設定 (Lo/Hiバルタイ切り替え回転数)
 の変更ができます。

   ※過速度設定は、車速判定値設定(ノーマルは181Km)以上での
    エンジン回転数を制御しています。
    (リミッタのかかる速度は、ギア比から計算すると割り出せます。)

 各設定回転数は、VTECを除き、制御のかかる回転数を表しています。
 復帰する回転数は、設定回転数−500rpm固定としています。
 (過速度設定は、設定速度−5Km/h)



 このエンジンの特徴であるVTECとは、通常走行を目的(!?)とした低回
転に適したプロファイルをもつカムと、高出力・高回転に適したプロファイ
ルを持つカムを油圧で切り替えるシステムで、それぞれのバルブタイミング
合わせてに点火・燃調マップを持っています。

 VTECポイントを境に点火・燃調マップを切り替えているのでこの設定
を変えると、必然的に燃料&点火のデータも変えてやらなければなりません。

 このVTECがくせ者でして、マップが途中で切り替わるため、2つのマ
ップを切り貼りしなければ、本来のCPUが読むマップにはなりません。
(普段は読まない場所も多い)
 また、EF系では設定範囲にヒステリシスを持たせ、ロー・ハイバルタイ
の切り替えを、設定回転数範囲内で噴射量(時間)が大きい方を読むような
ロジックになっているようで、この辺のマッチングも大事になってきます。

 1.14までのバージョンでは、この辺も対応していました。
 しかし、各バルタイ個別にセッティングし、切り替えるポイントで出力特
性がマッチするようにすればいいので必要ないと思い、削除しました。

 2.00以降からは、個別のマップのみを表示させています。
 また、VTEC切り替え設定ポイントは設定範囲をもたせ、切り替え時の
落ち込みを減らすべく範囲内で噴射量を比較していますが、このエディタで
は設定回転数に併せて、噴射量(マップデータ)も変更することを前提にし
ていますので、設定範囲は±50rpm固定としています。



【ファイル形式】
 ファイルはインレックHEX形式のみ対応しています。
 読み込みは拡張フォーマットも対応しているのですが、出力は標準フォー
マットのみです。これはただ単にテキスト(ASCII)形式なのと、私の持ってい
る自作のROMライタがその仕様しか受け付けてくれないためです。
 ファイルサイズが大きくなるのがデメリットですが...。(;_;)

 <インテレックHEX形式> (正確にはINTELLEC-HEX)
  こんなのです。
 
    :10000000D816FF16FB168F0084156700FF16C21561
    :10001000CA1541017116D700FF16DB00FF16FF1647
    :10002000FF169B16FF16FC006D2DCB2DA72DB92DAD
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    :107FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
    :107FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91


 ホンダのECUは、ROMデータのサム(総和)チェックを常時行ってい
るので、マップや設定値を書き換えた場合、ノーマルベースではこれを合わ
せてやらないとエラーとなり、フェイルモードに突入してしまいます。
(腕のあるチューニング屋さんのROMだとチェックルーチンを外してある)

 もちろん、このサム合わせにも対応させています。
 具体的には、比較している値を変更するのではなく、設定値に対してズレ
た値だけ補正するというものです。
 256KbitのROMの中で下位128kbyteしか使用していないので、上位128kb
yteの中に補正する値を書き込むことでゲリラ的に対応させています。
    チェックサムの比較する値を変える、もしくはチェックルーチン
   を外すというのが本筋ではありますが...。(^^;
   (どうやら、デバッグ用に1bitの変更で可能らしい)
 --*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--

 Ver2.01以降では、サム合わせを解除しました。
 理由は、セッティングする上では必要がないのと、計算させている時間が
もったいないという理由の他に、メモリ容量が足りなくなった・・・という
現実的なものがあります。(涙)

 ただし、サムチェックを外すと、ダイアグ機能まで外されてしまう(開発
用のため?)ので、最終仕様ROMとした時に、センサー類の不具合が検出
しづらくなるかもしれませんね。
 不調の原因はセンサーが壊れているのにもかかわらず、すべてROMのせ
いにされてしまうこともあるのです。(;_;)

 ダイアグ機能を有効にするためのフィルタみたいなモノを、別プログラム
で用意したほうがいいかもしれませんね。

  ==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==

 Ver2.10では、ダイアグ機能をONにするためのデータ(ファイル)コン
バータを作成しました。
 メモリサイズの問題でエディタ本体には入れられなかったのですが、一度
ファイルとしたデータをこのコンバータを使って変換することで、ダイアグ
機能をONにすることができます。
  ==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==*==


【その他 欲望...】
 ここまで作ってみて、マップの絶対値的な表示ができたら電脳的なセッテ
ィングもできるかな??...という欲まで出てきました。
 ホンダの場合、点火は4bit=約1度、燃調は計算値がインジェクタのオン
タイムに相当するので、変換誤差さえ何とかすればできるんです。

 実際は、この値に各種の補正がプラスされるので、目安にしかなりません。
 補正ルーチンを外せば別ですけど。(^^;

 ある筋の方から組立て方の助言をいただき、一応の数値変換が出来るよう
になりました。(Ver1.12から対応)

 ただ、これが見れたからと言って、やりやすいかというと、そういうモン
でもないようです。
 ただ、理論的に的外れなデータになっていないことを確認する術になりま
すので、基本は3Dグラフで創り、数値を確認する・・もしくは、数値で限
度値を入れ、3Dグラフでそれに合わせる・・という方法も採れます。
 これは結構便利かもしれません。使い方次第ですね。


 今はEF専用ですが、基本が同じDA(初代VTECインテグラ)も、アドレ
ス設定を変更するだけで対応できると思ってます。

 EG系へは、VTECポイントがマッピングされているので、このエディ
ットルーチンの追加が必要ですが、基本は一緒でしょう。
 (マップサイズは現状でも可変出来ます。(^_^))
 ただ、CPUが変わっているので、制御方法、分解能も変わっているため
そう単純ではないようです。


【落書き(笑)】
 作り始めたのが93年くらいでして、すでに5年が経ってしまいました。
 友達が「TIチャレンジカップのN1−1600にEF9で出るっ!」と
いうところが始まりでした。

 いろいろといじろうとするんですが、汎用のバイナリエディタではとにか
くデータの変換が面倒でした。これをどうにかしたい!と思い、専用のエデ
ィタを創り始めました。

 当時私はは電子部品製造の試験機開発・メンテナンスを担当しており、職
業柄、コンピュータユニットに対する抵抗は少なく、目的が明確なものだけ
にある意味では楽でした。反面、専用の為独特の制御・工夫があり、ある一
線からは困難を究めました。

 それでも、Niftyのフォーラム(当時は「愛車整備Do it yo
r self」)で知り合った同志と情報交換する間にいろいろと霧も晴れ
てきました。本気で通信をやっていて良かったと思えます。

 そのうち、自分の乗っているEF8をジムカーナC車両として余生を送る
ための下準備も兼ねるようになり、ますます本格化してきました。


 まだ知識がそんなに無い時分に始めたものなので、稚出な、しかもBASICと
いうお粗末なプログラムになってしまいました。(^^;

 当初は、思いつきでプログラムを組むのはBASICの方がやりやすかったので、
実験的に組んでみて、それからCでコーディングし直そう....と思ってたん
ですが、ここまで大きくなると面倒くさくなってしまいました。(^^;
 すでに、Out of memoryの恐怖に襲われています。(^^)

 それでも、CPUの速度が速くなるにつれて、BASICでも充分な速度で動作
するようになりました。
 なんたって、創りはじめたときのマシンは、PC-9801DX(80286-16MHz)でした
から、今から考えるとかなり遅いですねぇ。
 表示なんか、3Dグラフを書いているのが一生懸命なので、妙にいとおしく
なったり。(*^^*)


 何故か、9月の秋口になると、いじりたくなってくるという、季節モノの
ため、少しづつ、少しづつじっくりと時間をかけて熟成してきました。
 不思議なもので、時間が経てば経つほど、正確な情報が入るようになって
きましたので、かなり正確なものになっていると思います。
 もっとも、時間が経ちすぎて車両のホモロゲーション(公認)が切れてし
まいましたのはご愛敬でしょう。
 すでに、旧車になっちゃいましたねー。

 それでも、当初の目的であった、EF8(CR−X)のC車(改造車)計
画は既に進行中で、期を同じくして、B18C 96SpecRが手に入っ
た事により、EFのECUで排気量違いのB18Cをコントロールすべく、
このエディタが大活躍しています。

 しかし、今や世間一般はWindows時代。マシンは高速のDOS/V
マシンが主流・・・。けれども、このエディタは使用言語の関係により時代
の波に乗り損ねています。(;_;)
 DOS/Vでも動くように・・・と移植も考えましたが、グラフィック画
面の難しさと、1500ライン(しかもメモリ確保の為のマルチステートメ
ント多様)の量に呆れ、やめました。


閑話休題..。
 実際の所、水温による補正(60℃以下だとVTEC動作禁止、アイドル
補正など)や吸気温の補正マップ、スロットルポジションセンサーの角速度
(1定時間での変化量)による加速増量・全開増量補正係数、吸気圧センサ
ーのマップへの割付、O2センサ補正の有無、学習機能の有無など、ECU
をイジるのに必要な項目はまだまだあるのですが、詳細がまったく判明して
いませんのでその辺がなければ本当の完成とは言えないのかも知れません。

 しかし、ノーマルベースの場合、燃調と点火だけできれば、我々プライベ
ーターが望む一通りのことは出来ると思います。

 各々のポイントが解り次第、順次追加していきたいなぁって思ってます。

 が、「動作すればいいや」ってなノリで作ったモノですので、あまり多く
を望まないようにして下さいね。(^^;;
 すでに、Out of memoryの恐怖が迫っています。


【おまけ】
 このプログラムを使って書き換えたROMだとすぐ分かるように、ある部
分(プログラムには関係のないところ)にコメントを入れています。

 だからといって、使用制限があるわけではないのですが、巡り巡って自分
の所に来たROMがこのエディタで書かれていたら、やっぱり、うれしいで
すよね。まぁ、こういうしょうもない動機でいれてみました。
 探して観て、笑ってやって下さいませ。

 実はここもバージョンアップしていまして、当初(Ver2.0まで)はコピーライ
ト表示のみでした。
 ところが、いろいろとROMを創るうちに、どれがどのROMかよく解ら
なくなってしまったのです。
 このため、空いている領域に、REVおよびVTECの設定回転数、作成日
付、ファイル名、そしてコメント(16文字×2行)を記述するようにしまし
た。これはアスキーコードにて記述されますので、通常のバイナリエディタで
見ることができます。
 記述してある場所は・・・・・ROMを焼いて確認して下さい。(^^;
 ほんのお遊びですから。(^^;


【最後に】
 それでは、電卓片手の苦行から解放された、快適?なNAチューンを楽しんで
下さいね。
 使用感など、感想を報告してもらえたらうれしいです。


     ☆中崎健治/健さん!/EF8改&AE86/主に舗装屋/SPACE/姫路☆
       Nifty :CXK04732
        E-MAIL:nakazaki@ceres.dti.ne.jp


【作者近況..<1998.1>..】
 EF8をジムカーナC車両とし、インテグラR用B18C 96Spec-Rのエンジンに
艦装し、EFのECUでコントロール。
 このためのエディタだったりします。(^^;
 現在、ノーマルインテR並みの状態までなんとかたどり着いています。


【改変履歴】
------------------------------------------------------------------------
Ver2.01からの変更点                               1998. 2. 5  Ver2.10   
------------------------------------------------------------------------
今回は主にメニュー画面など操作方法の改善を行いました。

 ・メニュー画面からの操作をファンクションキーに変更。
    従来は、メニュー番号入力していました。
    その実体はただ単に手を抜いていただけです。(^^;
 ・リミッタなど設定操作方法の変更。
    これもメニュー画面と同じく番号入力していたのですが、番号入力を辞
    めるために、見直しました。
 ・ファイルロード&セーブ画面での画面を変更。
 ・サムチェック有無選択を廃止。
    あまり必要の意味がなかったのと、メモリ不足により削除しました。
    しかしながら、サムチェックを外すとダイアグが機能しなくなるので
    最終仕様ROMとして使用する場合は不便でしょうか。
    フィルタ的なものでも創りましょうかねぇ。(^^;
 ・各画面で、[f10]キーによりメニュー画面に戻れるようにしました。
    また、[ESC]キーで一つ前の画面に戻れます。
    ただし、メニュー画面には[f10]キーでないと戻れません。
    当初は[ESC]キーで戻れるようにしていたのですが、キースキャン
    の関係でクロックスピードに依存するようで、一つ前のつもりが一気
    にメニューに戻る・・という不具合のためやめました。
 ・ダイアグをONにするためのファイルコンバータ作成。(添付)
    ダイアグ機能を有効とするために、専用のコンバータ(フィルタ)を
    作成しました。これにより、センサー類の不具合を把握できます。
------------------------------------------------------------------------
Ver1.13からの変更点                                1998. 1. 6 Ver2.01   
------------------------------------------------------------------------
 ・各マップを独立して表示。
    従来は、VTECポイントで表示を切り替えていましたが、不便を感じたため、
    それぞれに表示出来るようにしました。
 ・ファンクションキーによる入力
    3D画面・実数値画面から、直接点火・燃料マップを切り替えるように
    しました。これにより、各マップ間での比較がしやすくなりました。
 ・サムチェック有無の設定
    ファイルのロード時間短縮のため、サムチェックルーチン解除を可能に
    しました。
    また、サムチェックは一種のプロテクトとしても有効なので、データ保
    存時に選択出来るようにしています。
 ・ROMライタへのパラレル転送を可能。
    ROMライタへ直接ファイルを送れるようにしました。
    ただし、プリンタポートを使用してのパラレル送信で、INTELLIC.HEXのみ
    に対応しています。
 ・VTECポイントの確立
    あいまいだった、VTECポイントを確実なモノにしました。

------------------------------------------------------------------------
                                             End Edit   1998. 2.24

    本ファイルの内容を無断で印刷・転載・引用・複写する事を禁じます。
               Copyright(C) 1993-1998 Kenji.Nakazaki

満足していただけました?(^^;







まだ?







んじゃぁ、これでどうだっ!
これまた作成時に書いた
「ちょっとだけ良い話 〜ROMチューン読本 HONDA版〜」も公開しましょう。
(これも当時はNiftyServeのライブラリに登録予定だったのだ。)

------------------------------------------------------------------------
<ちょっとだけいいお話し>
 〜ROMチューン読本 ホンダ版(笑)〜

------------------------------------------------------------------------

【概 要】
 ホンダの名エンジンとも言われるB16A(VTEC)は、一つのエンジ
ンに2つの特性を持たせ自動的に切り替えるという、画期的な機構を持った
エンジンです。

 制御はホンダ独自の電子制御燃料噴射PGM−FI(ProGraMed Fuel In
-jection)で、基本はBOSH社のDジェトロ方式とほぼ同じです。
 空気(酸素)量を計り、それに応じた燃料を供給するもので、供給データ
は、読み出し専用のメモリ(ROM)に記憶されています。

 このデータを書き換えること=ROMチューンなのですが、よく知られて
いる(?)日産車とはシステムが異なり、各種制御そしてマップサイズが異
なっているのです。

 燃料噴射の制御方法も、一般に知られている日産車とは異なっています。
 日産車(EGI)の場合、エアフローメータにより基本噴射時間を演算し
、アクセル開度、負圧(ブースト)、回転数などによる変換テーブル(俗に
言うマップ)により各種補正を掛け合わせてインジェクタの実駆動時間(パ
ルス)を得ています。
 一般にみなさんがROMチューンと称して変更しているマップデータは、
実は補正用のデータなのです。

 一方、ホンダ(PGM−FI)は、基本噴射時間は存在せず、吸気管圧力
(負圧)と回転数の変換テーブル(マップ)により、基本噴射量とも言える
A/F=14.7(推定)のインジェクタ駆動時間を基に、加速・全開増量
、気温、水温などの補正係数を掛け合わせて実駆動時間(パルス)を算出し
ています。
 そう、すなわち、マップデータ=インジェクタの駆動時間という単純なも
のとなっているのです。
 ホンダのROMチューン=直接インジェクタの駆動時間を変える・・とい
うことになります。

 また、2つのカムを持つVTECという独自の機構(システム)が組み込
まれており、これもECUにて電子制御されています。
 そのため、燃料・点火マップもLoバルブタイミング、Hiバルブタイミ
ングの2種類もっています。

 あと、ホンダはROMのサムを常時確認しているようで、動作時を含め、
データが初期のもの(初期の比較サム値は記入済み)と異なると異常判定
してしまいます。
 このため、データを変更すると必ずチェックサムを計算し、合わせる必要
があるのです。

このように、情報が豊富な日産車に比べると、ややこしいプログラミングと
なっているのです。(一種のプロテクト?)


【PGM−FIについて】
 ホンダの燃料噴射制御方式である、「ProGraMabl−FuelInjection」
は基本的にはBOSH社のDジェトロ方式に類似しており、吸排気系を含む
エンジン一式が同じであれば、ある回転における、ある負圧時の空気流量は
温度、気圧等の条件が一定であれば常に同じはず....という制御方式です。

 ようするに、日産車のようにエアーフローメータで空気量(もしくは供給
酸素量)を直接計測して理論的に燃料を吹いているのではなく、回転と負圧
から空気量を推定し、それに相当する燃料を吹いているのです。
      ~~~~

 空気量の推定は、圧力センサによりインテークマニホールド(スロットル
チャンバー)内の負圧を電気信号に変え、回転−負圧による変換テーブル(
俗に言うマップ制御)により行われます。

 この変換テーブルは、大まかには計算でも求められますが、スロットルチ
ャンバー内の負圧の発生状態は複雑で、計算では求めにくく、ベンチテスト
により細かく合わせ込む(マッチング)ことで求めています。


 具体的には、まずインテーク・エキゾーストを決め(最終的にはノーマル
形状)、実験ベンチにて実負荷をかけて回転と負圧によるマップ格子ポイン
トを決め、データを一つづつ合わせ込んでいくのです。

 この結果、吸・排気ともノーマルの状態において最適バランスが得られる
ようになっています。
 このため、お手軽なエアクリーナや、マフラーの交換程度でも、このバラ
ンスが崩れてしまいやすく、結果的にパワーダウンになるのです。

 巷で囁かれている「ホンダの吸・排気(特に吸気)を変えると、パワーダ
ウンする」というのは、まんざら嘘でもなく、こういうところからきている
のです。


【VTECについて】
 VTECとは、通常走行を目的(!?)とした低回転に適したプロファイルを
もつカムと、高出力・高回転に適したプロファイルを持つカムを油圧で切り
替えるシステムで、それぞれのバルブタイミング合わせてに点火・燃調マッ
プを持っています。

 VTECポイントを境に点火・燃調マップを切り替えているのでこの設定
回転数を変えると両マップも書き換えてやらないと高回転カムなのに低回転
カムのマップを読むというミスマッチングが生じることになりますね。

   一時期、巷で流行ったVTECコントローラなるものは、昔のリ
  ミッタカッターのように疑似信号を入力して機械的に動作させると
  いうものでして、上記のようなミスマッチングは避けられないもの
  でしたが、切り替わるだけでなんとなく高出力になった気がしたも
  のです。(笑)

 このVTECがくせ者でして、マップが途中で切り替わるため、2つのマ
ップを切り貼りしなければ、本来のマップにはなりません。
 また、EF系ではロー・ハイバルタイの切り替えを、設定回転数範囲内で
噴射量(時間)が大きい方を読むように動作しますので、この辺のマッチン
グも大事になってきます。



--------------------------------------------------------------------
--------------------------------------------------------------------
<ちょっとだけ具体的な話>  〜EF系に限定〜

 マップは、燃料・点火とも2面づつあり、それぞれLoバルタイ用とHi
バルタイ用です。
 ガソリンの種別(レギュラー・ハイオク)はなく、ハイオク専用データを
なっています。(レギュラー判定時は、点火時期リタードのみで対応)

 点火マップは、ATDC=5度を基準とし、1bitあたり約4度CAの
計算になります。(360÷256÷4)
 単位は度CA(クランクアングル)です。
 燃料マップは独特で、負荷軸に合わせて係数があり、マップデータにこの
係数をべき乗(2の補数)し、クロック周期を掛けることで実際の噴射時間
(インジェクタの無効時間を除いた基本駆動時間)となります。

 おそらくは、低負荷時と大負荷時で分解能を変えることにより、必要な状
態(短いパルス幅ではより細かく、長いパルス幅ではそれなりに)でよりき
め細やかな制御を行うことと同時に8bit(=256)の分解能で制御を
可能にするための、苦肉の策なのでしょう。
 いやぁ、よく考えてありますね。さすがはホンダさん。

 実は回転軸にも、分解能による変換が施されていました。
 回転を4分割し、それぞれのつながりで矛盾が出ないように設定してあり
ます。これならば、低回転〜高回転の必要に合わせて細かい制御も可能です
ね。恐れ入りました。


 具体的なインジェクタサイズは不明ですが、推定では265cc/min
程度。変換テーブル(マップ)のデータが、理論空燃比狙いのものだと仮定
するとすれば、マップから理論的なA/Fが算出できるかもしれませんね。

<算出式(例)>
      1気筒容積×体積効率×空気密度    3
 A/F=−−−−−−−−−−−−−−−−−×10 ÷ガソリン密度
       噴射時間×インジェクタゲイン

          ・・式が合っているかはわかりません(無責任もーど)

 けれども、一番わからないのが、体積効率です。
 これは主に吸排気システムによって変動するところであり、カムプロファ
イルにも影響されます。
 日産車等の場合、エアーフローメータで体積効率も含めて直接空気の量を
計測するので、考える必要はないのですが、Dジェトロ方式の場合は推定で
空気量を算出しているので体積効率という考えが必要になってくるのです。

 先にも書いたように、燃料データは実噴射量なので、この時点ですでに体
積効率を吸収しているのです。なので、システムが変わらない限り、気にす
る必要はないでしょう。
 しかしながら、このシステムというのは、手始めチューンの代表であるマ
フラーや、エアークリーナをも含めた物ですので、これらを変更する場合は
システム=すなわち体積効率までも変化してしまうことになります。
 このため、イジルにはちょっと厄介な制御方法と言えるでしょう。


 余談ですが、似た機構を持つMIVECは、体積効率を変換テーブルとし
てもっており、システムの変化に対して柔軟性をもたせているようです。


 VTECに関しては、回転数の設定範囲があり、その設定範囲内であれば
負圧に応じて各々のマップデータを読み、データの大きい方(噴射時間の長
いほう)のバルタイ(マップ&カム)に切り替わるという複雑な制御をして
いるようです。
 おそらくは、切り替わった時のパワーの落ち込みを嫌ってのものだと思わ
れます。

 このため、VTEC切り替え回転数を変える場合、各条件に対して矛盾が
生じないように配慮する必要があります。 めんどくさいですねー。
 それでも、単純に切り替わる回転数が一定であれば、マップデータを切り
替わりでも落ち込まないようにデータを合わせ込むコトで対応が可能になり
ますね。

 実際、無限をはじめとしたレース屋さんのROMは、この設定範囲を狭め
(ほぼ同一)とすることで切り替え回転数を一定とし、この制御をキャンセ
ルするようになっていました。

 EG系では、負圧と回転数の変換テーブルのみにより、バルタイの切り替
え判断を行うようになりました。それだけ切り替え条件が熟成されたのでし
ょう。たしかに、フィーリングはハイバルタイになったからといって急激さ
はなくなりました。(ちょっと物足りないですね。)


--------------------------------------------------------------------

【データ変更の勘所】
 先にも書きましたが、結局の所「ノーマルで一番バランスされている。」
というこのデータ。マフラーやエアークリーナーの変更をも影響が生じるほ
どシビアな物です。

 ところが、最近は「ROMだけを変えてもパワーがアップする!」という
題目だけが一人歩きをし、残念なことにエンジンの基礎知識すら持たない一
般ピープルには、「手を汚さずにチューン=パワーアップ!できる」という
お手軽ものとして捉えられている傾向があります。

 もっとも、実際にお手軽と言えばそうかもしれません。
 しかしながら、少しデータを変えたところで、劇的な変化はそう多く望め
ません。世の中、そんなに甘くはないのです。
 近年の電子制御エンジンは、機械と電気をミックスしたメカトロニクスの
一つとも考えられ、内部的な基本制御はすでにメーカーで決められています。
(プログラムされている)
 これはあらゆる運転者や周囲環境のなかで常に最適化されるようにプログ
ラムされており、変化のあるもの(各種センサー類情報)はデータ領域によ
り最適なデータを選択できるようになっています。

 このデータ(主にマップデータ)を変更するのが、ROMチューンなので
すが、そもそも、メーカーが膨大な費用と人員と日数を駆けて開発したもの
です。そのバランス(何人が乗っても問題ないという意味)は絶妙なものが
あります。当然です。

 「じゃぁ、なんでROMを変えちゃうの?」

 ノーマルが吸・排気系を同一としてマッチング(バランスを取る)してあ
るっていうのは最初に書きましたが、このシステムの一部を意図的に変える
ことで、そのバランスが崩れるのです。
 それを補正する意味でROMデータを変更する必要性が生じるのです。

 「でも、ノーマルのままでもROMを変えると速くなるよ」

 ・・はい、間違いではありません。しかし、それはある限られたシチュエ
ーションでのことです。極寒冷地とか、高地ではマイナスとなって現れるで
しょう。なぜなら、メーカーではそういう使用条件をも考えてデータを作成
されているのです。
 もちろん、我々メーカー以外の人間でも同じ様な条件を創り、データを煮
詰めればその領域のセッティングを出すことは可能です。
 ただ、とぉっても気の遠くなるような時間と費用がかかる覚悟が必要です。

 「だったら、変更に合わせてマップデータを書き換えてやればいいんでし
ょ?」という考えになるのは、パワーユーザーの自然な発想でしょうね。


 まわりくどくなりましたが、ようするにちゃんとした目的・シチュエーシ
ョンを明確にした時に初めて有効になるものというコトを頭の隅にでも入れ
ておいてください。
 「目的があって、初めて効果が現れるもの」なのです。


 これからいじってみようと思われている方、少なくともエンジンの基礎知
識くらいは、頭にたたき込んでおいてください。
 初心者へのおすすめは、オートメカニック誌でしょうか。この本を臨時増
刊も合わせて1年間熟読すれば、車についての大抵の基礎知識は付きます。

 どうしてエンジンがまわるのか、エアクリーナ・マフラーを変えると何故
燃調が崩れるのか、が理論的に突き詰められる程度の知識は欲しいところで
す。これらの知識すらなく、イジッてしまうと、最悪エンジンはブローして
しまい、その原因すらわからず、同じコトを繰り返す・・・そう、高〜い勉
強代となるでしょう。

 ただ、NAの場合、T/C車のように一気に壊れることは無いんですね。
 これがNAチューンのいいところでもあるし悪いところでもあります。
 どっちかというと、フィーリングが悪くなってしまい、とても乗れない仕
様になっちゃいますのですぐにわかると思いますけど。

 ・・・この「ROMデータを変える」・・・。言葉にすれば簡単なコトの
ように思えますが、その実、かなりの苦労を体験することになります。
 ある程度、変えるための目的を明確にしておかないと、改悪になりかねま
せん。


 実走行では負荷は必ずしも一定ではなく、負圧も常時変動しています。
 ノーマルのROMのデータはベンチで格子毎のA/Fを合わせ、点火時期
の特性を合わます。そして、いろいろな条件の実走行でフィーリングという
スパイスを効かせデータを煮詰めるのです。

 ところが、吊るしのチューンROMは、そのほとんどがレース屋から流れ
てきたもの(コピー物)が多く、中速〜高回転を重要視し、モア・パワーを
求めているので、街乗り域(=フィーリング)は度外視している物が多いの
です。

 この辺は、データを変更する上で、一番気を付けなければならないところ
です。負圧はアクセルに敏感で、想像以上に変化しており、マップスケール
に換算すると、あっと言う間に端から端まで行ってしまいます。

 読んでいるマップの位置がわからないことには、むやみにデータを変えて
も効果は得られません。最悪、フィーリングが悪くなり、ギクシャクしたも
のになるでしょう。
 この負圧は、乗る人の操作と道路状況(登り・下り坂)にも影響されます。
 それだけ一定にはなりにくいのです。

 また、前述のとおり、ホンダ車は燃料噴射は複雑な計算をしなければ正規
の値にはならず、適当に変更するととんでもないデータになりがちです。

 内容がよくわからずに変更する事は、危険であり、最悪の場合エンジンを
破壊することにもなりかねません。

 実際、私が収集し観てきたデータも、大きな変更をしている物は少なく、
ノーマルのカーブ(凸凹のまま)を踏習したものばかりでした。
(大半が無限のデータに酷似していました。)


 それでもほんの少しの変更により、データのつながり(カーブ)をスムー
ズにすることで、フィーリングは向上します。
 これはマップデータを読む時、最大4つのデータにより補間という演算を
しているためで、隣のデータ同士が極端な増減があれば、噴射量が急激に変
化(=ギクシャク)することにもなります。
 また、負圧の動きが俊敏なので、凸凹の尖ったマップデータ、すなわちあ
まり極端な増減には追従できません。

 マップの尖った所を削り、なめらかな曲線を描けるようにすることで、デ
ータはスムーズに増減することになり、負圧の動きに対しても自然な増減を
行うようになるのです。
 この程度の変更であれば、大きく増・減量するわけではないので、読んで
いる位置がわからなくてもなんとかなります。

 私が作成した専用エディタでは、この辺を重要視し、増減カーブをスムー
ズにすることを主目的として製作しました。


 なんか、タイトルのデータ変更の勘所からはずれちゃいましたね。(^^;
 話をもとにもどして・・・。

 パワーを出すには、まず燃料をできる限り多く入れてください。
 多すぎる場合、失火してギクシャクしてしまいます。(一種のノッキング)
 特に気を付けるのは、加速増量・全開増量の補正が加わるという点です。

 加速増量補正は、アクセル開度の変化量がある値を超えると、ある決めら
れた時間だけ燃料を増量し、制御遅れを補償するものです。
 この補正はピックアップ(レスポンス)に影響するところなので安易には
外せません。
 全開増量は、アクセル全開時にパワー空燃比に持っていくためのものです。
 これは外しても、マップデータの方で合わせてやればよさそうです。

 この辺に気を付けて、加速増量・全開増量補正が入っているかどうかを見
極める必要があります。・・・これらは、人間の動作=アクセル操作により
発生する物ですので、人間の感性が重要になりますね。

 ホンダの場合、負圧と回転数でテーブル変換しているって書きました。
 ということは、回転数はタコメータでわかるのであと負圧さえわかれば
マップのどの辺を読んでいるかがわかるはずですね。
 マップセンサの出力は、電圧出力です。この電圧を読めばおおよその負圧
がわかります。数値で出る電圧計でもいいですが、変化が速いのでレベルメ
ータの方がいいでしょうね。
 これで、むちゃくちゃ濃い仕様はできるでしょう。(笑)

 また、排気音も重要で、乾いた甲高い音だと、燃料が少めです。
 音が低くなるとパワー空燃比に近づいています。

 A/F計があれば、それに頼るにこしたことはないのですが、そう簡単に
手に入る(借りれる)物ではありませんので、こういう五感に頼るしかない
のでしょう。

リーンバーンエンジン用のLAFセンサでもあれば、工夫次第で流用可能で
しょう。(まだまだ高価ですね。)

 これ以上燃料を入れるとギクシャクするっというところが出れば、次は点
火時期です。これも進める方向になりますが、進めすぎるとノッキングが発
生します。特に高回転域では注意してください。

 VTEC切り替え後のあたりは、進めてやることでフィーリングが向上す
るでしょう。


 以上、かい摘んでホンダのROMチューンに関することを書いてみました。
 私自身、制御の一般的なことしかわかっていないので、抜けや間違いも多
いかもしれません。
 しかしながら、プライベートではこの程度でも充分すぎるくらいの情報が
あると思います。

 実際、私はこの情報を手がかりに、EF系(シビック・CR−X)の専用
エディタを作成し、CR−X(EF8)にB18C−98SpecRを載せ
、回しています。現状ではエンジンそのものはまだ手をいれてませんので、
やっとノーマルインテRを超えたかな?という程度です。

 全開増量補正だけをカットし、全域でパワー空燃比となるように燃料を入
れる方向で合わせています。
 細かいところでは、アイドル域は燃費確保のためにリーン方向に、低回転
域は発進時のクラッチミートに影響がでるので、リッチ方向にしています。

 それも、用途が限定(ジムカーナ競技車両)としているからに他なりませ
んが、ナンバーのあるうちに街乗りで大まかなセッティングを出しましたの
で、街乗りにも充分使える仕様になっています。(極めて普通です。)
 いまのところ、特に問題になる不具合は発生していません。


 一度わかってしまえば、エンジンの基本制御はどれも一緒です。
 もともと、構造の簡単なキャブレタで動いていた物ですから、回すだけな
らばそんなに複雑な制御はいりません。
 制御のほとんどが、アイドルコントロール、そしてエミッションコントロ
ールです。燃料・点火に関する制御自体はとても簡単なのです。

 特に、回転と負圧のマップで制御されていますので、負圧の代わりにスロ
ットルセンサの信号を入れることで、レスポンスアップという改造も可能で
す。(Th−Ne制御)

 さぁ、あとは、これを読んだあなた次第なのです。
 どのようにでも応用はききます。がんばってください。

 
-------------------------------------------------------------------
    本ファイルの内容を無断で印刷・転載・引用・複写する事を禁じます。
               Copyright(C) 1993-1998 Kenji.Nakazaki

内容的には、訳あってちょっとボヤかしたところもありますが、
概要はこんなモンです。(昔のコンテンツなので、文章が下手ですね)


この内容に関する質問やお問い合わせは、メールにてお願いします。
また、ここに紹介する内容についての著作権は、作者にあり、無断での引用転載を禁止します。
 nakazaki@ceres.dti.ne.jp 
Copyright 1998-2001 Kenji-Nakazaki All Rights Reserved.