4.     エンジンコントロールコンピュータの仕様

4.1.     概要

純正ECUとイグニッションコイル、インジェクター間の配線に割り込んで、制御します。リレーで制御を純正ECUかH8で行うかを選択します。センサーは純正ECUと並列にH8側に接続します。ラジエターファンは純正ECUに制御させていますが、温度を取り込んでいるのでH8で制御するのは簡単でしょう。

ジョイスティックを使って、運転中に燃調を上下方向、点火時期を横方向で制御できるようにします。

4.2.     使用CPU

HITACHI H8/3048を使用します。

ボードは秋月のキットを使用しています。 http://akizukidenshi.com

 AKI-H8/3048開発キット(即使えるキット)[CPUボード・マザーボード・電源・アセンブラ・ライターソフト一式付]

H8/3048は、スタックレジスタを含めて32ビットのレジスタを7本もち、またレジスタを8ビット、16ビットに分割できます。これらのレジスタはデータ・アドレス共に使用できます。アセンブラは68kに近い書き方となっています。データバースは16bitとなっています。命令は、掛け算・割り算・ビット操作を行う命令も持っています。アドレス空間は24bit持っており、リニアにアクセスできます。内臓ROM128k、内臓RAM 4k、周辺IOは,パラレルポート、シリアルポート2本、タイマー5本、プログラムタイミングコントローラ出力16本、10ビットのADコンバーター入力8本、8ビットDA出力2本、DRAMリフレッシュ機能、DMA、ウォッチドッグタイマー等をもっています。詳しくはHITACHのホームページを見てください。

4.3.     各種信号の取り出し

純正ECUのコネクターの手前に割り込ませます。運転席のアクセルの上にあります。

ケーブル側から見た純正ECUのピン配置を 図1に示します。

図 1  純正ECUのピン配置

 

4.4.     クランク角センサー

クランク角センサーは、デストリュビュータの軸に装着されています。ということで、クランク角センサーと言っても実際にはカムシャフトに装着されています。電磁誘導式のセンサーでカム1回転につき図 2の様な信号を出力します。クランク180度置きに信号を出力し、#1が圧縮上死点の時に、気筒判別信号を出力します。信号レベルは、約1000rpm時で 3.9Vp1600rpm時で 11.2Vp 3000rpmで16Vpです。


クランク角信号は、入力保護回路、整形回路を経由してITU2のTIOCB2に入力される。(


図4)低回転時は、シュミットトリガ(実測でlow=2.6V、hi=3.2V)であり、アイドル時はhiにならないので回転数が検出できない。

 

 


図 2 クランク角センサーの出力電圧(両端)


図 3 クランク角センサーとエンジンの状態


よって、入力端子にバイアスを加えて2.5Vにする。この場合、クランク信号の交流分の0.7V以上でhi、0.1V以下でlowとなる。さらに500rpm以下ではhiにならないことが判明したので帰還抵抗をつけた。この抵抗は出力がhi状態の時、入力を2.9Vに持ち上げるのでクランク信号の交流分の0.3V以上でhiとなる。TIOCA3、TIOCA4は接続されていますが、使用はしていません。 写真3がデストリュビュータキャップをはずした状態の写真です。ローターの下側にクランク角センサーが見えます。


図 4 クランク角センサー入力回路

写真 3 クランク角センサー

 


4.5.     車速センサー

車速信号はミッションからケーブルを通してスピードメータにつながっている。車速センサーはリードスイッチであり、スイッチに抵抗を介して電気を送る必要がある。ECUを外すと電気が流れなくなり、車速パルスが取れなくなる。リードスイッチがOFFの時に車速センサの端子とGND間の電流を測ると0.2mA程度なので22kΩの抵抗をつける。

ケーブル1回転に付、4パルス出力されます。解説書によると車速 60kmの場合は637rpmとなっている。リードスイッチによるスピード検出なのでデジタル的な波形が得られる。637*4/60=42.2666パルス/sec

  60km/42.2666=1.4195

 すなわち1秒間に1パルスが発生した場合の車速は1.4195km/hとなる。ITUが余っていなかったのでIRQ0を使用する。

4.6.     吸気圧センサー・水温・O2センサー


 吸気圧とO2センサーは、保護用の抵抗とインピーダンスを高めるためにコンデンサーを接続します。水温センサーについては、5V以上の出力になる場合があるので抵抗による分圧回路を経由します。また、点火系のパルスから保護するために入力にダイオードを接続します。

 

図 5  AD変換入力回路


4.7.     イグニッションコイルの駆動回路

  VIVIO NAのイグニッションコイルは、ダイヤモンド電機のF-632です。といってもカタログを持っているわけではないので詳細はわかりません。整備解説書によると一次側1.5Ω、二次側26kΩただし発熱しているときは3Ω程度あるので電流が流せない。

イグニッションコイルに0.05Ωの抵抗を直列につないで波形を観測するとピークで5.6A流れている。通電時間は8.5msである。( 写真4)アイドル時なので明らかにリミッタが作動する領域になると能力不足になりそうである。電圧と電流の変化からインダクタンス17mHである。この値を知ってなんだといわれると、バッテリ電圧に応じて通電時間を変化させるときのシミュレーションのネタになると考えた。最終的に5.6Aの電流が流れるように制御すればよいと考えた。

トランジスタには2SD650Hを使用した。これはイグナイタ用である。VCE(sat)が1.5V時にIBが60mAなのでドライブ用にトランジスタを必要とする。VIVIOの場合、高回転の場合パルス幅がすくなくなるので、パワーアップを目的としてレブリミット時もアイドル時と同じ時間コイルを駆動すると、消費電力は、8.5ms*5.6A*1.5V/2*8000*2/60=9.52Wになる。実際には低回転時は駆動時間がありすぎで高回転時は不足していると考えることからもっと通電時間を減らせると思われる。場合によってはコイルの発熱の問題からコイルを2個にしてグループ点火をする必要があるかもしれない。こうなったらダイレクト点火を試みるかもしれない。実際のところ通電時間を長くすると発熱の影響でコイルの抵抗が増えいくら駆動時間を増やしても電流は逆に減ってしまう。最適値がある。

 放熱板の設計をする。

  Pmax=9.52W PC=80W Tj=150℃ Ta=80℃(周囲温度)Qcs=1℃/Wとすると

  150/80=1.875℃/W  150-80=1.875*9.52+1*9.52+Qsamax*9.52

  Qsamax=(70-1.875*9.52-9.52)/9.52=4.47℃/W

200㎝2程度となるが、ケースにつけるので手持ちの84㎝2程度でよいと考えた。実際にこの回転数を長時間まわすことはないだろうし、多分もっと駆動時間を減らせると思われるからである。ドライバーのコレクタは12Vにつなぐ。5Vでも電圧的には良いがボード上の5Vレギュレータの発熱が激しいからやめた。もし、イグナイタのコレクタにつなぐとVCEの飽和電圧が異常に少なくなるので駆動できない可能性があるのと逆起電力によって壊れる可能性があるからである。P=8.5ms*(5-2)*0.06/2*8000*2/60=0.204W

エミッタで駆動する。消費電力の関係で小信号用は使えないので特価品の 2SC2235Y(PC=800mW)を使用する。周囲温度80度とすると450mWまで使用できる。ECU側のイグナイタのコレクタはオープンになるが、もし逆起電力により点火を確認していると異常と判断されることもありうる。トラブルコードからみて点火の確認はしていないようであるのでそのままにしておく。2SD650は、イグナイタ用なので内部にクランプ用のダイオードも内蔵しておりしかもダーリントン接続されているのでドライブも簡単である。(中止品です。)ドライバのベース抵抗を8.3kΩとしたら、IB1=0.33mApVB1=2.25Vp IC1=62mAp VBE2=1.6Vp IB2=62mAp IC2=4.5Ap VCE2=0.9Vminであった。このときは、コイルの発熱の性で電流が流せなかった。が、ドライブの能力は問題ない。なお、H8の保護に余った74HCを2SC2235Yのドライブに使用した。

TP0から直接2SC3335Yドライブできなかったのであまっている74HC14経由で2SC959をドライブする。ICmax=60mAとなるので、H8からのドライブは楽であろう。

 

図 6 イグニッションコイル駆動回路


写真 4  イグニッションコイルの電流(2A/DIV 5ms/DIV)


図 7 通電をOFFした後の詳細波形


4.8.     インジェクター駆動回路

コイルの抵抗が12~16Ωである。ちなみに1.5A流れているが( 写真5 )これは2個分なので0.75Apである。IC=1.5Ap VCE=3VとするとIC-VCEよりIB=350μAで駆動できる。よって、余った74HC14でドライブする。VBE=1.5程度である。74HC14の出力を4.3V程度とすると、RB=8kΩとなる。余裕をみて6.8kΩとする。

最大開弁率を 90%とすると 3*1.5/2*0.9=2W周囲温度を80度とすると(150-80)/2=35℃/W

 35-1=34℃/W 放熱板10㎝^2程度が必要になる。

図 8 インジェクター駆動回路


写真 5 インジェクター駆動電流


図 9 ジョイッスティック入力回路


 

4.9.     ジョイスティック入力回路

図9に様な、何の変哲のない入力回路である。入力ポートは内部MOS抵抗でプルアップする。

 

4.10.  LCD表示

ハードウェアは、秋月マザーボードの液晶のR/WがGNDに接続されているためこれをカットし、P3-6に接続しました。これにより液晶のR/Wが制御でき、コマンド終了を検出できるのでプログラムが高速に動作します。

 

4.11.  純正ECUとH8の制御切り替え用のリレー


H8で制御する場合はP8-4をhiにしてリレーをonします。これによりプログラムを書き換えている場合は、純正ECUでエンジンを回すことが可能となります。なお、リレーは1個100mAも電流を消費するため、H8CPUボードの放熱板なし78M05では駆動できそうもないので7805をマザーボードの7812と並べて設置しました。7812もかなり熱くなるので合わせて放熱板をつけました。

図 10 リレー制御回路