JPS6248065B2 - - Google Patents

Info

Publication number
JPS6248065B2
JPS6248065B2 JP55014605A JP1460580A JPS6248065B2 JP S6248065 B2 JPS6248065 B2 JP S6248065B2 JP 55014605 A JP55014605 A JP 55014605A JP 1460580 A JP1460580 A JP 1460580A JP S6248065 B2 JPS6248065 B2 JP S6248065B2
Authority
JP
Japan
Prior art keywords
ignition timing
output
engine
signal
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP55014605A
Other languages
English (en)
Other versions
JPS56113048A (en
Inventor
Masakazu Ninomya
Juji Hirabayashi
Atsushi Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
NipponDenso Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NipponDenso Co Ltd filed Critical NipponDenso Co Ltd
Priority to JP1460580A priority Critical patent/JPS56113048A/ja
Priority to US06/159,435 priority patent/US4379333A/en
Priority to DE8080105154T priority patent/DE3069511D1/de
Priority to EP80105154A priority patent/EP0024733B1/en
Publication of JPS56113048A publication Critical patent/JPS56113048A/ja
Publication of JPS6248065B2 publication Critical patent/JPS6248065B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Electrical Control Of Ignition Timing (AREA)

Description

【発明の詳細な説明】
本発明は内燃機関の出力の向上及び燃料消費率
を向上させるべく点火時期を帰還制御する点火時
期制御方法に関する。 内燃機関の点火時期は、ノツキング、排気ガス
特性の問題等の特別の理由のない限り、内燃機関
の出力を最大限に発揮でき同時に燃料消費率を最
小に抑え得る様に内燃機関の運転状態に合せて、
回転数、吸気圧力等で点火時期調節を行つてい
る。しかしながらこれら従来の方法ではどうして
も限界があり、ある程度の出力及び燃料消費率の
損失がある。たとえば個々の機関のバラツキ、点
火時期補正のバラツキ、環境条件の変化等であ
る。 これらの損失をなくして内燃機関出力を最大限
に発揮させるべく、点火時期を帰還制御する方法
が考え出されており、たとえば米国特許第
3142967号明細書等により公知である。これによ
ると目標点火時期近傍の互いに異なる2点の点火
時期で運転し、この2点のうちまず遅れ側の点火
時期で運転したときの回転数Nrと、次に進み側
の点火時期で運転したときの回転数Naとを検出
し、両回転数の大小を比較し、Nr<Naのときは
目標点火時期を更に所定値だけ進め、Nr>Naの
ときは所定値だけ遅らすように修正することによ
つて、機関の最大トルクを与える最適点火時期に
制御するようになつている。 しかしながら、たとえば出力の変化を回転数に
よつて判別する場合その回転数が種々の要因で変
化するにもかかわらずこの方法においては、回転
数の変化が点火時期によるものか、外的要因(た
とえばアクセル操作)によるものかの判別能力が
ないため、加減速時、登降板等では回転数の最大
トルクを与える最適点火時期とは逆方向に点火時
期を修正制御してしまい、逆に回転数が低下し、
出力及び燃費の悪化を引き起す場合があつた。 本発明は上記問題点に鑑みてなされたもので、
目標点火時期の近傍でかつ互いに異なる少なくと
も2点の点火時期を選択し、この選択した少なく
とも2点の点火時期にて交互に所定の期間づつ内
燃機関を運転し、これら各点火時期にて運転した
ときの機関の回転数の信号を前記所定の期間の終
わりに近い期間で検出し、前記の少なくとも2点
の点火時期で運転したときの前記回転数の信号の
うちの少なくとも連続して運転した3点の信号を
比較することにより、前記の目標点火時期が機関
出力を最大限に発揮させる最適点火時期
(Minimum spark advancefor Best Torque:
MBT)より進み側にあるか遅れ側にあるか判定
し、かつ目標点火時期を修正することを特徴とし
ており、アクセル操作等の外的要因によつて回転
数が変化したのが、少なくとも異なる2点での点
火時期の変更によつて回転数が変化したのかを識
別でき、目標点火時期を誤りなく最適点火時期に
修正して機関出力を最大限発揮させ同時に燃料消
費率を最小に抑えるようにでき、さらに点火時期
の変更による機関回転数の変化を精度よく検出
し、前記少なくとも2点の点火時期の差を小さく
して機関運転上の点火時期による回転変動を少な
くできる点火時期制御方法の提供を目的としてい
る。 また、本発明は機関の気筒間には空燃比のバラ
ツキがあり、各気筒毎に軸出力に差が生じ回転数
に差がでたりするため、本発明は、前記所定の期
間の終わりに近い期間において機関の気筒数の整
数倍に等しい回数の燃焼に要する時間より回転数
の信号を検出することにより、これらの問題を解
決でき、点火時期の変更による回転数の変化分の
みを正確に検出できるようにすることを目的とし
ている。 以下本発明による方法を図に示す実施例により
説明する。第1図は4気筒内燃機関(以下エンジ
ンと呼ぶ)に本発明を適用した制御システムの構
成図であり、1は4気筒4サイクルエンジン、2
はエンジンの冷却水の温度を検出する水温センサ
である。3はスタータであり、31はスタータス
イツチである。5はエンジン1の回転角度位置を
測定する回転センサであり、エンジン1が回転し
て上死点位置になつた時に上死点信号を発生し、
上死点位置からエンジン1回転を等分した一定角
度(本実施例では30度クランク角度、以下すべて
角度単位はクランク回転角度とする)回転する毎
に回転角度信号を発生する。10は気化器、8は
制御コンピユータ6に内蔵された圧力センサであ
り、エンジン1の吸気マニホールド9から配管1
1により圧力が圧力入力口に伝達され、吸気マニ
ホールド圧力を測定する。4,7は本システムの
点火アクチユエータである。本実施例では、コイ
ルを2個用いたデイスレスダブルコイル方式を採
用しており、4が点火コイル、7がイグナイタで
ある。 制御コンピユータ6は、回転センサ5で発生さ
れる回転角度信号の時間間隔からエンジン回転数
を求め、又圧力センサ8の出力電圧から吸気マニ
ホールド圧力を計算して、エンジンの運転状態を
測定し、点火時期を制御する。又、エンジン始動
時は特定の点火時期に制御するため、スタータス
イツチ31からスタータ3へ供給される電圧がス
タータ信号として、制御コンピユータ6に入力さ
れる。又、点火コイル4の通電時間をバツテリー
電圧に応じて変えるため、バツテリー電圧がバツ
テリー電圧信号として制御コンピユータ6に取込
まれる。12は制御コンピユータ6の必要とする
電圧を車両が搭載するバツテリー13の電圧から
生成する電源である。 第2図は上記制御コンピユータ6を詳細に説明
するためのブロツク図を示す。60は点火時期を
算出する中央処理ユニツト(CPU)で16ビツト
構成のテキサスインスツルメント(TI)社製
TMS9900を用いている。70は制御プログラ
ム、制御定数を記憶している読出し専用記憶ユニ
ツト(ROM)、69はCPU60が制御プログラム
に従つて動作中、制御データの記憶に使用される
一時記憶ユニツト(RAM)を示す。71は目標
点火時期の2次元マツプを記憶しておく不揮発性
RAMで、イグニツシヨンスイツチを切つても
RAMの内容が残るように補助電源を持つRAMで
ある。 61は割込み制御部であり、3レベルの優先順
位をつけてCPU60に割込みの発生を知らせ
る。本実施例の割り込み要因は、エンジンの回転
センサ5の回転角度信号発生による割込み、
CPU60自身がデイジタル入出力ポート64の
プログラム割込み出力ポートのレベルを“0”レ
ベルにして起すプログラム割込み、およびタイマ
ーが8ms経過するごとに起すタイマー割込みの
3種類がある。 タイマー部62は8μsのクロツク信号をカウ
ントする16ビツトのカウンタと回転センサ5の回
転角度信号が発生する毎にカウンタの値を格納保
持するラツチから構成される。従つて、回転角度
信号発生の割込み処理にて、CPU60がクラン
ク角カウンタ部63の値を読み出してエンジンの
回転角度位置を知るとともに、タイマー部62の
ラツチの値を読出し、この操作を2つの回転角度
位置にて行い、ラツチの差を求めることにより、
2つの回転角度位置の間をエンジンが回転する時
間が測定でき、又エンジン回転数を測定できる。
クランク角カウンタ部63は下位桁12進、上位桁
4進のカウンタであり、回転センサ5の回転角度
信号でカウントアツプし、上死点信号の発生の次
の回転角度信号が発生した時、このカウンタは値
「0」にリセツトされ、エンジン回転と同期がと
れる。従つて、クランク角カウンタの値をCPU
60が読出すことにより、エンジン回転角度位置
を30度クランク角度単位で知ることができる。 デイジタル入出力ポート64は論理信号の入出
力に使用されるポートであり、エンジン始動用の
スタータ3が作動中であることを示すスタータス
イツチ31の信号を入力し、またプログラム割込
み信号を割込み制御部61へ発生するのに使用さ
れる。エンジン冷却水温センサ2、吸気管圧力セ
ンサ8、バツテリー13よりの各信号はアナログ
入力ポート65でアナログデイジタル(A/D)
変換され、DMA制御部66によりRAM69に
DMA転送される。したがつて本例では、CPU6
0はA/D変換に直接関与せず、計算上必要とな
つた時点でRAM69のあらかじめ定められたア
ドレスをアクセスすれば、必要な最新A/D変換
データを利用できる。なお、このシステムでは
DMA制御部66を用いて必要に応じ操作パネル
67を接続することにより、RAM69へのデー
タの書き込み、ROM70、RAM69、不揮発
RAM71のデータの読み出しが可能となる。ま
たCPU60の状態(RUN、HOLD)を操作パネ
ル67から制御できるようになつている。 以下上記各回路部のより詳細な内容を順次説明
していく。クランク角カウンタ部63の詳細回路
図を第4図に示す。クランク角カウンタ部63は
エンジンのクランクシヤフトの2回転に1回転す
る通常のデイストリビユータのシヤフトに取り付
けられた回転センサ50,51の信号によりクラ
ンクシヤフトの現在位置を12進数で示すものであ
る。回転センサ5のセンサ51のクランク角信号
5b(第3図b)はローパスフイルタ106,1
07及びトランジスタ109、シユミツト入力
NAND素子111により整形されD型フリツプフ
ロツプ114(例えばTI社製SN74LS74)に入力
される。フリツプフロツプ114はCPU60か
らのクランク角READ命令によるデータ転送中に
カウンタ125の内容がカウントアツプにより変
化するのを防ぐためのもので、クランク角READ
中(信号端子401が論理“0”)はクランク角
信号5bの取込みクロツク400の供給をAND
素子113により停止している。フリツプフロツ
プ114のQ出力は同期式4bitカウンタ125
(例えばRCA社製CD4520B)のCK(クロツク)
端子に入力されている。このカウンタ125は3
進部の2bitカウンタと4進部の2bitカウンタを
NANDゲート128,124と直列接続したもの
で全体として(3×4=)12進数のカウンタとし
て動作する。カウンタ125の内容はクランクシ
ヤフトの位置に対応し、クランク角信号5bのト
レーリングエツジ毎にカウントアツプされる。
CPU60からのクランク角READ命令により、
カウンタ125の内容がバツフア126(例えば
TI社製SN74LS244)を通してデータバス404
に出力される。回転センサ5のセンサ50の
TDC信号5a(第3図a)はクランクシヤフト
の#1、4気筒のTDC位置を示す信号であり、
クランクシヤフト#1、4気筒上死点を通過する
毎に、1パルスを出力している。このTDC信号
5aはクランク角信号5bと同様に、抵抗10
0、コンデンサ101、トランジスタ103、シ
ユミツト入力NAND素子105により波形整形さ
れ、D型フリツプフロツプ118(例えばRCA
社製CD4013B)のD(データ入力)端子に入力
される。フリツプフロツプ118のCK端子はク
ランク角信号が入力され、Q出力はD型フリツプ
フロツプ119のD端子に接続されている。した
がつてTDC信号5aが論理“1”に反転後の最
初のクランク角信号のトレーリングエツジでフリ
ツプフロツプ119,120、NAND素子121
により、1パルス(パルス幅はCK2信号407
の周波数で決まる)を発生させカウンタ125を
RESET(カウンタの内容=“0000”)する。すな
わちTDCが“0000”に対応し、クランク角90゜
CAは“0100”に対応する。カウンタ125の
RESETは、システムのイニシヤライズ信号であ
るT、RESET信号402、及びCPU60からの
RESET命令406からも行なわれる。尚、第4
図〜第12図までの回路図で*印のついたものは
TTL論理素子、その他の論理素子はC−MOS論
理素子を使用している。これはCPU60が高速
で動作するため、インタフエースがC−MOSで
は時間的に無理がある為である。 次にタイマー部62について第5図により説明
する。CPU60から端子400を介して供給さ
れる周波数3MHzのクロツクCK1はD型フリツプ
フロツプ200,201によつて3分周される。
このクロツクCK2はさらに4bitカウンタ202に
供給され、8分周された後、8bitカウンタ208
にクロツクとして供給される。8bitカウンタ20
7,208は16bitリアルタイムタイマーを構成
しており、0〜524280μsまでの時間をカウント
する。このタイマーは端子403を通してクラン
ク角カウンタ部63のクランク角パルスのリーデ
イングエツジにより8bitラツチ209,210
(例えばRCA社製CD4508B)にそのときの時間
(時刻)がラツチされる。ラツチされた時間は
CPU60から端子408を通して送られるタイ
マーREAD命令によりバツフア211,212さ
らにデータバス404を通じてCPU60に転送
される。フリツプフロツプ204,205は端子
403の信号のリーデイングエツジで2μsの幅
のラツチ用ストローブパルスを出力する。3入力
AND206は16bitタイマー207,208のカ
ウントアツプ時とタイムラツチ時が重なるのを防
ぐためのもので、カウンタ202のLSB出力が
“0”のときはラツチのタイミングを最大1μs
遅らせている。 次に第6図を参考にして割込み制御部61を説
明する。まず端子403よりクランク角信号が入
る度にギア割込フラグ(D型フリツプフロツプ)
302が“1”にSETされ、インバータバツフ
ア306をへて端子444を通してCPU60に
割込み要求信号を出す。この割込みが受けつけら
れると後述するギヤ割込処理プログラムにより端
子440を通してCPU60からギア割込フラグ
はresetされる。同様にギア割込プログラム中に
プログラム割込ポートが“1”にsetされると端
子441を通じてプログラム割込みフラグ(D型
フリツプフロツプ)301がsetされ、CPU60
に割込み要求を送る。このフラグもCPU60か
らの命令により端子442を通じてresetされ
る。さらにタイマー部62の16bitタイマー20
7,208から端子415を通じて供給された
8192msのクロツクにより8ms割込みフラグ
(D型フリツプフロツプ)がsetされ端子446に
よりCPU60に割込み要求が伝えられる。すな
わちこの割込みは8192msごとに生じ、ソフトウ
エアのタイムベースとして使用される。この割込
みもCPU60からの命令によりresetされる。 次にDMA制御部66を第7図、第8図、第1
0図に示す。端子409,410,411,41
2,413はCPU60に対してプログラムの実
行を一時停止させるためのHOLD要求信号(端子
437)を作るためのもので第5図のタイマー部
62からの出力信号が入力される。タイマー部6
2の16bitリアルタイムタイマー207,208
のビツト2(端子413)及びビツト3(端子4
12)がともに“1”のときANDゲート603
の出力は“1”となる。すなわち第8図oに示す
ような波形となる。同様に3入力AND605の
出力は第8図pに示される通りである。なお、6
18〜622,644〜646はCMOS入力保護
用の抵抗である。本例に示すDMAは8チヤンネ
ルをもつており、約1msごとに全てのチヤンネ
ルとRAM69間のデータ転送を行なう。8チヤ
ンネルのうち最初7チヤンネル(第8図oで
CHO〜6)はA/D変換されたデータの転送用
であり最後の1チヤンネル(CH7)は操作パネル
67とのデータ転送に用いられる。A/D変換デ
ータの場合第8図oで、最初の96μsecでA/D
変換し次の32μsecでデータ転送する。ANDゲー
ト603が“1”になると、操作パネル67から
コンピユータへの外部HOLD要求信号がない場合
(端子427が“1”)、ANDゲート605の出力
は“0”(したがつて608の出力が“1”)とな
るため、レジスタ624(例えばTI社製
74LS175)のD入力が“1”となる。レジスタ6
24のCK入力が“1”となる。レジスタ624
のCK入力にはCPU60から3MHzのクロツクが端
子426を通して供給されている。(第8図r)。
レジスタ624のD入力が“1”に変化した直後
はレジスタ624のQ出力が“0”であるため
ANDゲート642の出力が“0”、NANDゲート
601の出力が“1”となり、レジスタ624の
CK入力に3MHzクロツクがそのまま加わり、レジ
スタ624のD入力が“1”に変化した次のクロ
ツクで“1”がレジスタ624にとりこまれQ出
力は第8図qに示すごとく“1”となる。624
のQ出力が“1”になると、ANDゲート642
の出力が“1”に変化し、トライステート出力の
NANDゲート643(例えばTI社製74LS38)の
出力が“0”となり、CPU60に対し、DMA開
始のためのHOLD要求信号(“0”)を出力する
(第8図t参照)。CPU60は端子431からこ
のHOLD要求信号をそのとき実行しているマシン
サイクルの終了後、受けつけ端子425に
HOLDA信号“1”を出力する第8図u。端子4
37が“0”でHOLD要求信号が出力されていて
HOLDA(端子425)信号が“1”になるまで
はNANDゲート601の出力が“0”の為、3M
Hzクロツク(端子426)はレジスタ625の
CK端子に供給されない。HOLDAが“1”にな
るとレジスタ625のCK端子にクロツクが入力
され、“1”がレジスタ625に取りこまれ、Q
出力は“1”となる。さらに次のクロツクでレジ
スタ626のQ出力が“1”、その次のクロツク
でレジスタ627の出力が“0”となる。レジ
スタ627の出力が“0”になるとNANDゲー
ト643の出力はハイインピーダンスとなり、
HOLD要求が解除され、DMAサイクルが完了す
る。HOLDA信号が“1”になると、ANDゲート
638が“1”となり、トライステート出力
NANDゲート641の出力が、HOLD要求信号
()が“0”HOLDA信号が“1”期間中
だけ“0”となり第8図vに示すようにRAM6
9にメモリー使用選択信号(、436)
を出す。さらにレジスタ625のQ出力が
“1”、レジスタ626の出力が“1”の時だ
け、ANDゲート639が“1”となり、CHO〜
CH6が選択されている間は3入力ANDゲート6
05の出力は“0”であるから、インバータ61
2の出力は“1”であり、トライステートNAND
ゲート640には第8図wに示すようにメモリの
RAM69へのWRITE信号(、端子435)
が出力される。またメモリ使用選択信号
が“0”の間は、NANDゲート628の出力、す
なわちメモリーへのREAD信号(DBIN、端子4
31)は“0”である。HOLDA信号が“1”の
間(DMAサイクル中)は、CPU60は停止して
おり、、DBIN、等の制御ライン、
アドレスバス、データバスのCPU側からのドラ
イブは“ハイインピーダンス”状態にある。した
がつてこの間はDMA制御部66からRAM69に
対して直接データ転送を行なう。CH0〜CH6の
A/D変換データの転送の場合、インバータ60
6の出力は“1”であり、端子420、すなわち
NANDゲート629の出力には第8図vの
と同様な信号が出力され、その信号は第
9図のA/D変換データレジスタ518,519
第10図A/D変換アドレスレジスタ530,5
31のストロープ入力に加えられている。つまり
が“0”の期間、A/D変換されたデー
タはデータバス404上に出力され、またCH0〜
6に対応するアドレスがアドレスバス440上に
出力される。これらバス上に出力されたデータは
信号により、RAM69に書き込まれる。操
作パネル17からの外部HOLD要求信号(端子4
27)がある。(“1”)場合にはCH0〜CH6の
A/D変換DMAサイクルは行なわない。すなわ
ち、NANDゲート607の出力が“0”となり、
ANDゲート603の出力が“1”となつてもレ
ジスタ624のD入力は“0”の状態のままであ
るため、DMAサイクルは開始されない。次に操
作パネル67とRAM69とのデータ転送を行な
うCH7のDMAサイクルを説明する。端子428
は操作パネルからのR/、端子429はデータ
転送要求信号、端子430は連続READ信号、端
子414はタイマー部62から供給される約128
msのクロツク信号が入力される。まず操作パネ
ル67からRAM69へデータ書込み要求が生じ
た場合、端子428,429,430は“0”と
なる。ANDゲート605及び603の出力が
“1”、(第8図o,p)となりCH7のDMAサイク
ルが開始される。レジスタ615,616によ
り、端子429の“1”から“0”への立ち上が
りで幅1.0msの正極性パルスがANDゲート61
7の出力に一つ生じる。このパルスはNANDゲー
ト609で128μsの負極性パルスとなり、
NANDゲート608、ANDゲート604をへて
レジスタ624のD入力に32μsの正極性パルス
として入力される。操作パネル67からRAM6
9へのWRITE要求の場合、、HOLDA、
、、DBINの各制御ラインは、前記
A/D変換データのDMAデータ転送とまつたく
同様に駆動される。(第8図t〜w)さらに操作
パネル67に対し、RAM69に転送すべきアド
レス、データを格納しているレジスタの内容をそ
れぞれアドレスバス、データバス上に出力させる
信号端子434,432にが“0”の期
間、第8図xに示すように正極性のパルスを出力
する。操作パネル67からRAM69、ROM70
に対するデータ読込み要求があつたときは、端子
429,430が“0”、428が“1”とな
る。この場合のDMAサイクルでは、コンピユー
タ制御ラインのうち信号(端子435)はメ
モリ使用選択信号(端子436)が
“0”である期間も“1”のままであるかわり
に、ANDゲート611の出力は“1”であるた
めDBIN信号(端子431)が“1”である。そ
の他の制御ライン、HOLDA、に
ついては、前記A/D変換データの転送サイク
ル、操作パネル67からのデータ書込みサイクル
と同様である。連続READ信号(端子430)が
“1”のときはNAND613の出力は128msのク
ロツクが発生する。これはNANDゲート614に
より、128msごとの操作パネル67からRAM6
9、ROM70に対するデータ読込み要求と等価
なので、128msに1回、RAM69、ROM70
から操作パネル67へのDMAデータ転送サイク
ルが前記のごとく生じる。なお、操作パネル67
よりのDMAサイクルは外部HOLD要求信号(端
子427)があつても実行される。 次にアナログ入力ポート65について第9図を
参照しながら説明する。各センサーの入力端子の
すぐ後に接続された抵抗とコンデンサのフイルタ
ー500〜506は、信号ラインに重畳している
雑音成分を除去するためのものである。3つのセ
ンサ入力は8チヤンネルのマルチプレクサ514
(例えばCD4051B)の入力(C0〜C2)にそれぞ
れ接続され、そのうちの1つの入力がアドレス入
力A、B、Cのレベルにより選択される。すなわ
ち例えばA、B、Cが“0”、“0”、“0”のとき
CO入力が選ばれ、“1”、“0”、“0”のときC1
入力が選ばれる。マルチプレクサ514のアドレ
ス入力A、B、Cはレベルコンバータ(例えば
CD40109B)515を経て、タイマー部62のリ
アルタイマー207,208を接続されている。
したがつて128μsごとにC0→C1→C2→……C0
と選択されるチヤンネルがスイツチされ、1つの
チヤンネルは1msに1回選択される。端子41
2もリアルタイムタイマー207,208に接続
されており、64μsのクロツクを発生する。すな
わちマルチプレクサ514のアドレスがスイツチ
されると同時に端子412は“0”から“1”に
立ち上がる。そのときインバータ520,52
4、NAND素子523、抵抗521、コンデンサ
522により数μsのA/Dスタートパルスが発
生し、逐次比較型A/Dコンバータ517(例え
ばBur Brown社製ADC80AG)のCONV、CMD端
子に入力され、A/D変換が始まる。マルチプレ
クサ514の出力にはアドレス入力A、B、Cの
値に応じて選択された1つの入力がそのまま出力
されオペアンプ516(例えば日本電気製μ
PC151A)による電流増幅後、A/Dコンバータ
517のアナログ入力端子に入力される。A/D
コンバータ517はCONV、CMD端子に変換ス
タート信号が印加された後、約40μsかけて前記
アナログ入力を12bitデイジタルデータに変換
し、B0〜B11に出力する。変換されたデイジタル
データは前記DMA制御部66により、変換スタ
ート信号印加後96μs後に始まるDMAデータ転
送サイクルでRAM69の選択されたチヤンネル
に対応するアドレスにB0〜B11の12bitデータが
バツフア518,519を通じて書き込まれる。 次に通電点火制御部68を第11図、第12図
及び第3図により詳述する。CPU60はクラン
ク角カウンタ部63からの情報及びクランク角信
号が入る度に生じる割込み(ギア割込み)によ
り、クランクシヤフトの現在位置を360÷12=30
(℃A)の精度で認識している。プログラムによ
り計算された最適な通電時期、点火時期をどのよ
うにして実現するかを#1、4気筒について説明
する。#2、3気筒についても同様に説明でき
る。まず通電については最適通電角θを次式に示
すように分解する。 θ=θ+θ τ=τ(θ、N) (1) θ:通電角 θ:30℃A単位でCPUの認識できる通電開始
クランク角(0〜11×30℃A)すなわち回転角
センサー5の各ギア位置と対応 θ:30℃A以下の端数 τ:30℃A以下の端数θをそのときの回転数N
に基づき8μsの単位で時間に換算したもの。 そして、上式により算出されたギア位置θ
り1つ手前のギア位置(θ1-1)で生じた前記ギア
割込みにおいてCPU60は第3図cの如く
#1、4コイル通電命令(端子453)及び通電
ダウンカウンタ値セツト命令(端子450)を出
力する。また端子450に印加されたパルスによ
り、そのとき同時にデータバス404にCPUか
ら出力されたτの内容が16bit通電ダウンカウン
タ900,901にセツトされる。900,90
1はそれぞれ8bitのダウンカウンタ(例えばRCA
社製CD40103B)で直列に接続して16bitダウンカ
ウンタを構成している。この16bitのダウンカウ
ント値は8μsの精度で0〜0.52428secの値が可
能である。したがつて3rpm程度の回転数までオ
ーバーフローなしに1義的にダウンカウントが可
能である。フリツプフロツプ909がセツトされ
ると出力は“0”となりNANDゲート910の
出力、すなわちD型フリツプフロツプ911のD
入力は“1”となる。フリツプフロツプ911の
CK(クロツク)入力は端子403を通してクラ
ンク角信号に接続されているので、#1、4コイ
ル通電命令及び通電ダウンカウンタ値セツト命令
の出力後、次のクランク角パルスでフリツプフロ
ツプ911はセツトされる。第3図dはフリツプ
フロツプ911のQ出力の信号波形を示す。フリ
ツプフロツプ911がセツトされると出力は
“0”となるのでダウンカウンタ900,901
はダウンカウント可能となり、又4ビツト分周期
925のリセツト入力を解除するのでダウンカウ
ンタ900,901のCK入力にダウンカウント
用クロツクが供給され、カウントが開始される。
分周器925(例えば、RCA社製CD4520B)は
タイマー部62の4bitダウンカウンタ202から
端子445により2μsのクロツクの供給を受
け、これを4分周して8μsのダウンカウントク
ロツクを発生させている。リアルタイムタイマー
207,208から直接8μsのクロツクを利用
していないのは、精度、特にτ=0、1のときの
精度を確実にするためである。さて16bitダウン
カウンタ900,901がダウンカウントを終了
すると、その終了信号“0”がダウンカウンタ9
00のCO/ZD端子から出力されインバータ90
4、ANDゲート906、NANDゲート907、
NANDゲート915をへて、フリツプフロツプ9
09,911をリセツトし(第3図d参照)、さ
らにインバータ914をへてダウンカウンタ90
0,901をリセツトするのでCO/ZD端子は再
び“1”にもどる。したがつてANDゲート90
6の出力、すなわち端子456には第3図eに示
すようなパルスを出力する。又、フリツプフロツ
プ911の出力は“1”となるのでダウンカウ
ンタ900,901のカウントはストツプし、カ
ウントダウンクロツクの供給もストツプする。な
お、ANDゲート906のもう一方の入力にはダ
ウンカウントクロツクをインバータ905で反転
したものが印加されており、ANDゲート906
の出力はダウンカウント終了信号より4μs遅れ
で“1”となる。これはカウントダウンクロツク
印加直後、ダウンカウント900のCO/ZD端子
に生じる可能性のある負極性のパルス(200ns程
度)による誤動作を防止するためのものである。
ANDゲート906の出力パルスは端子456を
通して第12図のANDゲート933,935に
加わる。今、第11図のフリツプフロツプ909
のQ出力はR(リセツト)入力が“1”に反転す
るまで“1”であり、第12図のANDゲート9
33の入力は端子457により、フリツプフロツ
プ909のQ出力に接続されているのでANDゲ
ート933の出力には端子456に印加されたパ
ルスがそのまま生じ、#1、4コイル(コイル
B)制御フリツプフロツプ938がセツトされ
る。フリツプフロツプ938の出力が“1”に
変化すると、インバータバツフア939の出力は
“0”、したがつてトランジスタ942,947は
OFF、トランジスタ952はONとなり第1イグ
ナイタ80の入力端子とGND端子82間に電流
が流れ、#1、4気筒用のコイルは通電を開始す
る。なお、ダイオード948,953はトランジ
スタ保護用であり、抵抗940,941,943
〜946,949〜951,954は点火ノイズ
の減衰のためのソリツド抵抗である。第11図の
NANDゲート907の一方の入力は分周器925
の2μsのクロツクを供給する端子に接続されて
いる。したがつてANDゲート906の出力が
“1”に変化しても、ダウンカウンタ900,9
01、フリツプフロツプ909,911のリセツ
トは2μsだけ遅れて実施される。これはフリツ
プフロツプ938のセツトパルスのパルス幅を確
保するためである。点火角(時期)θBXについ
ても(1)式と同様に分解する。 θBX=θBX1+θBX2 τx=τx(θBX2、N) (2) θBX:#1、4コイル(コイルB)の点火角 θBX1:30℃A単位でCPUの認識できる点火クラ
ンク角、(0〜11×30℃A) θBX2:30℃A以下の端数 τx:30℃A以下の端数θBX2をそのときの回転
数Nに基づき8μsの単位で時間に換算したも
の (2)式で算出されたギア位置(θBX1)より1つ
手前のギア位置(θBX1-1)にエンジンのクラン
クシヤフトが到達したとき生じる回転センサ5
(センサ51)のクランク角信号5bの立ち上が
りによるギア割込みでCPU60は点火命令(端
子454、第3図f)を出力し、16bit点火ダウ
ンカウンタ902,903にτxを設定する。ク
ランクシヤフト位置がθBX1に到達するとフリツ
プフロツプ922がセツトされる。16bitダウン
カウンタ902,903は8μsのクロツクでダ
ウンカウントを開始し、ダウンカウントが終了す
ると同時に第3図hに示すような正極性パルスが
端子459に生じる。第3図gはフリツプフロツ
プ922のQ出力の波形であり、ダウンカウント
中のみ“1”となる。第12図のデコーダ930
(例えばRCA社製のCD4556B)のA、B入力はそ
れぞれ第4図のクランク角カウンタ部61のカウ
ンタ125の上位2ビツト(ビツト2、3)に端
子405を介して接続されている。したがつてク
ランク角が0〜90℃A、270〜360℃Aのとき、
NANDゲート931の出力が“1”に、90〜270
℃AのときNANDゲート932の出力が“1”と
なる。#1、4気筒の点火クランク角は通常290
〜360℃Aであり、#2、3気筒の点火クランク
角は110〜180℃Aである。したがつて点火につい
ては、CPUからの識別信号がなくても、どちら
のコイルの点火命令かは上記のごとく、クランク
角がわかれば、特定できるわけである。さて今の
場合NANDゲート931の出力の方が“1”とな
りANDゲート934の出力に端子459からの
パルスが生じフリツプフロツプ938をリセツト
し出力は“1”に第3図iに示すように変化す
る。したがつてトランジスタ942,947が
ON、トランジスタ952がOFFとなり、第1イ
グナイタ80の入力端子とGND端子82間に流
れている電流は遮断され、#1、4気筒のうちい
ずれか圧縮工程にある気筒の点火プラグに高圧が
発生し、点火が行なわれる。以上#1、4気筒用
のコイルBイグナイタ信号について説明したが
#2、3気筒用のコイルAイグナイタ信号につい
ても全く同様にして制御される。 以上で本発明を適用した制御システムのハード
ウエアの説明を終了し、以下制御アルゴリズムす
なわちソフトウエアを説明する。 本例のシステムは、それぞれ優先順位をもつ3
つの割込みを持つ。それを第1表に示す。3つの
割込みは優先レベルの高い順に、ギア割込み、プ
ログラム割込み、8ms割込みである。メインル
ーチンはこれら各割込み処理中でないときに実行
され、計4階層の処理で構成される。
【表】 以下、各プログラム処理について順次説明す
る。第13図にギア割込み処理ルーチンのフロー
チヤートを示す。ギア割込みは最も優先順位の高
い割込みで、最優先に処理される。このギア割込
みの起動は、前記の第6図に示す割込み制御部6
1の端子444からのクランク角パルスによつて
行なわれる。したがつてギア割込みは、#1気
筒、又は#4気筒の上死点位置を0度として30度
クランク角度毎に発生する。起動されるとステツ
プ1100でギア割込みをリセツト(第6図のフリツ
プフロツプ302のリセツト)し、ステツプ1200
で第4図に示すクランク角カウンタ部63のクラ
ンク角カウンタ125のREAD操作により、
CPU60は現在のクランク位置を読み取り、エ
ンジンの回転角度位置を知る。ステツプ1300の通
電処理で後述するプログラム割込みのステツプ
2140で計算された通電点火制御データに従つて、
通電点火制御部68にデータを設定して通電点火
制御をする。次にステツプ1400の固定位置処理で
は決められた固定のクランク位置での処理を行
う。 第14図に通電点火処理ルーチン1300のフロー
チヤートを示す。ステツプ1305で2つの点火コイ
ルのうち、後述のプログラム割込みのステツプ
2140で求まるコイルAの通電開始用ダウンカウン
トを開始する角度と、ステツプ1200で求めた現在
のクランク角度位置とを比較して、一致したなら
ばステツプ1310で第11図のコイルA通電用のダ
ウンカウンタ900に初期値を設定すると同時
に、コイルA通電命令が出力される。このダウン
カウンタは8μsecのクロツク信号でダウンカウ
ントして「0」になつたとき、コイルAの通電信
号を“0”にして通電を開始させる。ステツプ
1315ではコイルAの点火用ダウンカウントを開始
する角度と、ステツプ1200で求めた現在のクラン
ク角度位置を比較して、一致したならばステツプ
1320で第11図のコイルA点火用ダウンカウンタ
902に初期値を設定すると同時に、コイルA点
火命令が出力される。このダウンカウンタ902
は8μsecのクロツク信号でダウンカウントして
「0」になつた時、点火コイルの通電を停止する
ことが点火に相当するので、コイルA通電信号を
論理“1”にして点火コイルAの通電が停止され
る。コイルBについてもステツプ1325、1330、
1335、1340で同様に通電点火制御が行われる。 次に固定位置処理ステツプ1400がどの回転角度
位置で行われるかを第15図に示す。通電点火処
理ステツプ1300がプログラム割込みで計算した値
によつて実効的に処理が働く角度位置が変動する
のに対して、固定位置処理ステツプ1400は定めら
れた角度位置で処理が行われる。クランク角度0
度、180度で、180度クランク角度を回転するのに
要する回転時間の計測、吸気管圧力の計測、プロ
グラム割込みの発生を行い、その他の角度では何
もせずに処理を終了する。この処理を詳細に説明
するとステツプ1410で回転角度を判断し、0度、
180度の時はステツプ1411に進み180度回転時間の
計測を行う。第5図のタイマー部62を使用した
ラツチされているリアルタイムタイマー値をステ
ツプ1411で取込み、ステツプ1412で前回取込まれ
た(180度前)タイマー値をTp1とすると180度回
転時間Tmは、 Tm=Tp2−Tp1 (3) で求められる。ステツプ1413ではTp2の値をTp1
に移しておく。ステツプ1414では吸気脈動対策の
ために、吸気管圧力のA/D変換値を取込む。
又、ステツプ1415ではデイジタル入出力ポート6
4のプログラム割込み出力ポートをレベル“0”
にした後、再びレベル“1”にしてプログラム割
込み信号を発生させ、プログラム割込み処理ルー
チンを起動する。 次に第16図にプログラム割込み処理ルーチン
を示す。まずステツプ2100では第6図に示す割込
み制御部61の端子442にリセツト信号を印加
してフリツプフロツプ301をリセツトし、プロ
グラム割込み要求信号端子445を“1”にもど
す。次にステツプ2111に進み、前記ギア割込み処
理ルーチンでもとめた180度回転時間を(4)式によ
り回転数Nに変換する。 N(r.p.m)=107×3/Tm(μs) (4) ステツプ2112では前記ギア割込み処理ルーチン
でクランク角度0度、180度で取込んだ吸気管圧
力のA/D変換値Vpmを(5)式により吸気管圧力
Pm(mmHg単位) Pm=A1×Vpm+A2 (5) A1、A2:変換係数 に変換する。ステツプ2120では第1図に示すスタ
ータスイツチ31からの信号を調べ、ONならば
ステツプ2150で固定進角10度を最終点火角θxと
してステツプ2140に移り、通電点火制御部68へ
の出力値計算を行う。またスタータ作動時でない
時は、ステツプ2130に進み、最終点火時期θxを
もとめ、同様にステツプ2140で通電点火時期制御
部68への出力値計算を行う。 ここで第17図に、あるアクセル開度の点火時
期とエンジン回転数の関係を示す。点火時期は上
死点前角度(゜BTDC)で表現されており、値が
大きい程進角している。アクセル開度αはアク
セル全開に近い状態を示し、θM1はアクセル開
度αにおけるエンジン出力を最大限に発揮させ
る最適点火時期(MBT)である。この最適点火
時期がトルク、燃料消費率の点で最良である。α
はアクセル開度の少ない場合のグラフである。 第18図は第2図の不揮発RAM71に位置さ
れている2次元の進角マツプTmapで、以下の様
な構成になつている。横軸はエンジン回転数Nで
あり1000r.p.m以下の低回転域では横軸に対応す
る欄番号Xに対して、エンジン回転数Nの増分は
小さく全体に単一の1次関数型にはなつていな
い。Tmapの縦軸は吸気管出力Pmであり、縦軸
に対応する行番号Yに対して比例関係になつてい
る。このTmapは後述のフイードバツク学習処理
で常に書き換えられ、最大トルクかつ燃料消費率
の最低の点火時期になつている。まずステツプ
2130の点火時期計算の詳細を第19図で説明す
る。ステツプ2131では回転数Nから欄番号Xへ(6)
式に従つて変換する。 X=0(N<500r.p.m) X=xi+△X (6) △X=N−Nxi/Nxi+1−Nxi(Nxi≦N<Nxi
+1) X=15(N≧6000r.p.m) ここで、NxiはNを越えない最大のマツプ横軸
に指定された回転数、xiはNxiに対応する欄番号
で整数、Xの小数点部はマツプの横軸に指定され
た回転数の中間の回転数であることを示す。 またステツプ2132で吸気管圧力Pmから行番号
Yへ(7)式に従つて変換される。 Y=0(Pm<85mmHg) Y=yi+△Y (7) △Y=Pm−Pmyi/Pmyi+1−Pmyi(Pmyi
≦Pm<Pmyi+ 1) Y=15(Pm≧760mmHg) ここで、PmyiはPmを越えない最大のマツプ縦
軸に指定された吸気管圧力、yiはPmyiに対応す
る行番号で整数、Yの小数点部はマツプの縦軸に
指定された吸気管圧力の中間の圧力であることを
示す。 ステツプ2133ではX、Yに対応して進角マツプ
(Tmap)より進角値θmapを(8)式により4点補
間して求める。 θmap=(1−△X)・(1−△Y)・Tmap(xi、yi)+(1−△Y)・△X・Tmap(xi+1、yi) +△Y・(1−△X)・Tmap(xi、yi+1)+△Y・△X・Tmap(xi+1、yi+1) (8) ただし、X=xi+△X(0≦△X<1) Y=yi+△Y(0≦△Y<1) ステツプ2134ではイグナイタによる点火信号の
遅れをクランク角度に換算し、点火遅延角(θ
DLY)とする。関係式は(9)式の通りである。 θDLY=tDLY×180(度CA)/Tm(μs) (9) tDLY:イグナイタによる点火信号の遅れ時間
(40〜100μs) Tm:180度回転時間(μs) 次にステツプ2135ではMBTフイードバツク制
御を行う。まず、MBTフイードバツクの制御を
説明する。本実施例は目標点火時期の近傍で運転
させた場合、連続して運転された3点の点火時期
(ベース、アドバンス、リタード)での回転数を
比較して、さらに最適点火時期に近づけるように
制御している。ここで3点の点火時期でベースと
は前記ステツプ2133で求まる点火時期で、その点
火時期に△θ(通常2゜〜3゜)だけ進角させた
のがアドバンス、△θだけ遅角させたのがリター
ドである。このようにベース、アドバンス、リタ
ードと進角値をふることをデイザーと呼ぶ。これ
ら各々3点で所定時間(例えば40〜60点火分)運
転させた時の終わりに近い期間における回転数を
NBA、NAD、NRT(クロツクパルス数で表わし
たもの)とする。つまり、a/NBA、a/
NAD、a/NRT(aは定数)が回転数である。
例えば、第20図の状態のように目標点火時期
θがエンジンのトルクを最大限に発揮させ得る
最適点火時期(MBT)より遅角側に存在すると
きは、NAD<NBA<NRTの関係が成り立ち進角
側に点火時期を制御する必要がでてくる。また、
状態のようにMBTより進角側に存在するとき
は、NRT<NBA<NADの関係が成り立ち、遅角
側に制御する必要がでてくる。一定点火回数づつ
のベースの点火時期、アドバンスの点火時期、リ
タードの点火時期の1周期を1フイードバツク周
期とする。 第18図のMBT進角マツプの一部分を第21
図に示す。例えばある運転状態(2000r.p.m、
400mmHg)の点のフイードバツクエリアを回転数
1750r.p.mから2250r.p.m、吸気管圧力377.5mmHg
から422.5mmHgまでとする。この実施例では、1
フイードバツク周期中の運転状態がA点から始ま
つてB点で終ると仮定する。この間に始点である
A点を含むフイードバツクエリアのまわり8点の
フイードバツクエリア(回転数1250r.p.mから
2750r.p.m、吸気管圧力332.5mmHgから467.5mm
Hg)の範囲で運転状態の変化があれば、定常と
判断する。また、フイードバツクエリアからはず
れた運転状態(C点)が一度でもあれば非定常と
判定し、この場合はC点を中心として8点のフイ
ードバツクエリア(回転数1750r.p.m.から3250r.
p.m、吸気管圧力232.5mmHgから377.5mmHg)を
新たに定常範囲として始め(ベース)から制御を
やり直す。 1フイードバツク周期中、運転状態が定常であ
れば、最も多く運転した(最も使用頻度が高い)
フイードバツクエリアを算出し、後述のフイード
バツク時にその8つのエリアの点の点火時期を進
角または遅角させて修正する。また最も多く運転
したフイードバツクエリアが1フイードバツク周
期中の60%以上存在しなければ修正しない。回転
数と吸気管圧力に対するあるエンジンの軸出力最
大の最適点火時期は第22図に示すような特性で
あり、求まつた代表点Eの点火時期のまわり8点
{例えば第23図で2000r.p.m、400mmHgが代表点
であるとすると、低圧力、低回転から順にa1
(1500r.p.m、355mmHg)、a2(1500r.p.m、400mm
Hg)、a3(1500r.p.m、445mmHg)、a4(2000r.p.
m、355mmHg)、a5(2000r.p.m、455mmHg)、a6
(2500r.p.m、355mmHg)、a7(2500r.p.m、400mm
Hg)、a8(2500r.p.m、445mmHg)の各8点}
は、(10)式により修正して近づける。 Eの修正量 △T a1の修正量△T1=0.15×△T a2 〃 △T2=0.10×△T a3 〃 △T3=0.05×△T a4 〃 △T4=0.20×△T ……(10) a5 〃 △T5=0.10×△T a6 〃 △T6=0.40×△T a7 〃 △T7=0.20×△T a8 〃 △T8=0.15×△T このようにして、すみやかに各運転状態の点火
時期を最適値に修正することができる。 また、アイドル域は最適点火時期まで制御する
と失火が発生することがあり、高負荷域ではノツ
キングが発生しエンジンに悪影響を与えたりノツ
キング音が運転者に騒音となつて不快を感じるこ
とがあるので、これらの領域ではフイードバツク
制御をしないようにしている。 次に第19図のMBTフイードバツクステツプ
2135の詳細な説明を第24図に示す。ステツプ
2141では第18図のマツプのどのフイードバツク
エリアに対応するかを第21図で説明した様に、
回転数Nに対応する欄番号Xと吸気管圧力Pmに
対応する行番号Yを算出する。ステツプ2142では
後述のメインルーチンのステツプ4200で求まる水
温が70℃より高温だつたら、ステツプ2143へ低温
なら2180に進む。ステツプ2143ではステツプ2141
で求まつたマツプエリアがフイードバツクする範
囲であるか否かを判断する。例えば進角をMBT
に合致させるとアイドル域では失火したりし、高
負荷域ではノツクゾーンに入りかえつてエンジン
に悪影響を与えたりする。それを防ぐために、あ
らかじめ第18図のマツプと同じきざみのフイー
ドバツク判断テーブルを用意して、フイードバツ
クするエリアは0、フイードバツクしないエリア
は0以外の数をセツトしておき、0のエリアでは
フイードバツクし、0でないエリアではフイード
バツクを中止するように制御している。 ステツプ2143では前述ステツプ2141で求まつた
X、Yのエリアがフイードバツクエリアかどうか
判断し、フイードバツクエリアならばステツプ
2144へ、フイードバツクエリアでない時はステツ
プ2180にそれぞれ分岐される。ステツプ2144は前
述した定常か非定常かを判断するステツプであ
る。第21図で説明したように定常範囲であると
判断されたならば、ステツプ2145からステツプ
2148はスキツプされ、ステツプ2149に移る。非定
常と判断された場合は、ステツプ2145からステツ
プ2148で初期化される。ステツプ2145ではその時
の欄番号Xと行番号Yの値をおのおのxi、yiに移
す。次回からはこのxiとyiが中心となつて定常、
非定常の判断をする。ステツプ2146では点火回数
を数えるカウンタn1を0にセツトし、ステツプ
2147ではデイザーフラツグFDSRをFDSR=−
1、デイザー進角θDSRを0℃A(θDSR=
0)にセツトし、再びベースの点火時期より制御
を開始する。ステツプ2148ではおのおのベース、
アドバンス、リタードでのタイマーカウント値
NBA、NAD、NRTを0にセツトする。 次にステツプ2149では、ステツプ2190にて1フ
イードバツク周期中の最も使用頻度の高い2次元
マツプの運転領域を検出するために、前期X、Y
の使用回数をおのおのカウントする。カウントす
るのはxi、yiを中心としたまわり8点{(xi−
1、yi−1)、(xi−1、yi)、(xi−1、yi+1)、
(xi、yi−1)、(xi、yi+1)、(Xi+1、yi−
1)、(xi+1、yi)、(xi+1、yi+1)}である。
ステツプ2142と2143で分岐したステツプ2180から
2182では、前記ステツプ2146から2148までと同
様、制御をベースにして初期化する。そしてフイ
ードバツクをせずに、このMBTフイードバツク
処理を終了する。 次にステツプ2149以後は第25図に示す。ステ
ツプ2149では現在ベース、アドバンス、リタード
のどの状態にあるかを判断し、おのおのその状態
中のクロツクパルスをカウントする。まず、
FDSR=−1すなわちベースである時はステツプ
2150に、FDSR=0すなわちアドバンスである時
はステツプ2160に、FDSR=1すなわちリタード
にある時はステツプ2170に進む。 ここで第26図は本発明になる方法を用いて点
火時期を制御したときの回転数の変化を示す。目
標点火時期θBに対して進角させた点火時期θA
と遅角させた点火時期θRに対応する回転数(平
均値が、)は図に示す様に徐々に変化し、
所定時間TBA、TAD、TRTの終りの部分で検出
するのが最も有利であることがわかる。ここで、
θBとθAの差又はθBとθRの差は、回転変動
によるサージングが問題なく、かつ回転数の変化
(約1r.p.m)を検出できる量として2゜〜3℃A
とする。また各点火時期(θB、θA、θR)の期
間TBA、TAD、TRTは共に等しく、K=40〜60点
火に相当する期間とする。 第27図は4気筒エンジンの各気筒間の回転数
の変化をθBとθAについて表示したものである。
回転数は気筒間で数r.p.mから数十r.p.mのバラ
ツキが出てくる。この原因は気筒間に軸出力の差
等があるためである。この問題は使用エンジンの
気筒数の整数倍の点火に要する期間tの平均回転
数を検出することにより解決でき、本実施例では
4点火に相当する期間で検出している。 第25図に戻り、最初にステツプ2150からのベ
ースについて説明する。ステツプ2150では点火回
数n1が最後の4点火(K−4)以上か否かを判断
して、以上ならばステツプ2151へ、以上でなけれ
ばステツプ2152に分岐する。ステツプ2151では
180゜回転時間Tmとベースの最後の4点火分タ
イマーカウント値NBAをNBAに加算する。ステツ
プ2152ではデイザー進角を0℃A(θDSR=0)
にセツトし、ステツプ2153で指定点火数Kになる
までを計数するカウンタをカウントアツプする。
つまりn1=n1+1式を実行する。これをK点火分
(40〜60点火分)繰り返す。ステツプ2154でn1
KすなわちK点火分のクロツクパルスをカウント
したならば、ステツプ2155でそのカウンタ値を0
に戻し、ステツプ2156で次のアドバンスに制御を
移すためにFDSR=0(アドバンス)にセツト
し、デイザー進角θDSRを△θ進角させるために
θDSR=△θにセツトする。その他の時はステツ
プ2155、2156の処理はスキツプする。 ステツプ2149′でFDSR=0のアドバンスのとき
はステツプ2160に進む。ステツプ2160ではステツ
プ2150と同様に、最後の4点火分のみ次のステツ
プ2161を実行する。ステツプ2161ではステツプ
2151と同様に180゜回転時間Tmをアドバンスの
最後の4点火分のタイマーカウント値NADに加算
し再びNADとする。ステツプ2162ではデイザー進
角を△θさせるために、θDSR=△θにセツトす
る。ステツプ2163はステツプ2153と同様にn1をカ
ウントアツプし、ステツプ2164ではn1=Kすなわ
ち、最後の4点火分のクロツクパルスをカウント
したか否かを判別し、ステツプ2165でそのカウン
タ値を0に戻す。ステツプ2166では次のリタード
の状態に制御を移すためにFDSR=1(リター
ド)にセツトし、デイザー進角θDSRを△θ遅角
させるために、θDSR=−△θにセツトする。そ
の他の時は、ステツプ2165、2166の処理はスキツ
プする。 ステツプ2149′にてFDSR=1のリタードの時は
ステツプ2170に進む。このステツプ2170もステツ
プ2150と同様に最後の4点火分のみ次のステツプ
2171を実行する。ステツプ2171ではステツプ2151
と同様に180゜回転時間Tmをリタードの最後の
4点火分タイマーカウント値NRTに加算しNRT
する。ステツプ2172ではデイザー進角を△θ遅角
させるために、θDSR=−△θにセツトする。ス
テツプ2173ではステツプ2163と同様にn1をカウン
トアツプする。ステツプ2174でn1=Kすなわち最
後の4点火分のクロツクパルスをカウントしたな
らば、ステツプ2175ではそのカウンタ値を0に戻
す。ステツプ2176では次のベース状態に制御を移
すために、FDSR=−1(ベース)にセツトし、
またデイザー進角θDSRも0にセツトする。その
他の時はステツプ2175、2176の処理はスキツプす
る。 ここで第28図のステツプ2190に進み前記ステ
ツプ2149をもとに1フイードバツク周期(ベー
ス、アドバンス、リタード)中で最も使用頻度の
高い2次元マツプの領域を算出し、その欄番号を
XM、行番号をYMとする。ステツプ2191ではこ
の最も使用頻度の高い領域が1フイードバツク周
期の例えば60%以上存在したか否かを判定し、存
在したならばステツプ2192に進む。60%以下の場
合はステツプ2198に進み修正は行わない。例えば
第20図の状態のように点火時期がその時の機
関状態における機関出力を最大限に発揮させ得る
最適点火時期より遅角側に存在するときで、かつ
機関運転状態に変化がない場合において、上述の
処理ステツプのごとく、まずデイザー進角θDSR
=0で点火したときは、回転数はa/NBA(ただ
しaは定数)となり、次にベースよりアドバンス
側の点火時期θDSR=△θで点火した時の回転数
はa/NADとなり、次にリタード側の点火時期θ
DSR=−△θで点火した時の回転数はa/NRT
なつて、回転数を比較するとa/NRT<a/NBA
<a/NADつまりNAD<NBA<NRTとなる。従つ
て、NAD<NBA<NRTなる関係が成立するとき
は、これをステツプ2192にて判別して、ステツプ
2193に進み修正進角T=△T(例えば1゜〜2℃
A)とする。なお、NAD<NBA<NRTが成立しな
いときはステツプ2194に進む。また例えば第20
図の状態のように点火時期がトルクを最大限に
発揮させ得る最適点火時期より進み側にある時
は、逆にa/NAD<a/NBA<a/NRTつまりN
RT<NBA<NADとなる。従つて、NRT<NBA<N
ADが成立したときはステツプ2194にて判別してス
テツプ2195に進み、修正進角T=−△Tとする。
AD<NBA<NRTおよびNRT<NBA<NADの関係
が成立しない時はステツプ2198に進み修正は行な
わない。NAD<NBA<NRTおよびNRT<NBA<N
ADなる関係が成り立つた時はステツプ2196に進
み、前記ステツプ2190で求めた最も使用頻度の高
い前記マツプの領域のXM、YM進角値をNAD
BA<NRTの時は△T進角させ、NRT<NBA<N
ADの時は△T遅角させるように第18図のTmap
を書き換える。ステツプ2196ではこの領域のまわ
り8点(第23図a1〜a8点)を以下の様に補正す
る。 a1の修正量△T1=0.15×△T a2 〃 △T2=0.10×△T a3 〃 △T3=0.05×△T a4 〃 △T4=0.20×△T a5 〃 △T5=0.10×△T a6 〃 △T6=0.40×△T a7 〃 △T7=0.20×△T a8 〃 △T8=0.15×△T 次にステツプ2198でおのおののクロツクパルス
数(NBA、NAD、NRT)を0にする。以上で第1
9図のステツプ2135のMBTフイードバツク計算
を終了する。そして第19図のステツプ2136で最
終点火時期θXを(11)式により計算する。 θX=θmap+θDLY+θDSR ……(11) 以上で点火時期の算出は終了し、第16図のス
テツプ2140で後述する8ms割込み処理ルーチン
で計算するコイル通電時間TONとエンジン回転数
Nによりコイル通電角度を計算する。また最終点
火時期θXから通電開始角度θONを求め、前記コ
イルA,Bについて通電開始クランク角度のダウ
ンカウント値、点火クランク角度のダウンカウン
ト値を求め、前述のギア割込みルーチンのステツ
プ1300の通電、点火処理に使用する。スタータ作
動時のステツプも同様の処理である。 以上でプログラム割込み処理を終了する。 第29図に8ms割込み処理ルーチンのフロー
チヤートを示す。ステツプ3100で第6図に示す割
込み制御部61の端子443にリセツト信号を印
加し、フリツプフロツプ300をリセツトして、
8ms割込み要求信号端子446を“1”にもど
す。ステツプ3110ではアナログ入力ポート65か
らバツテリー電圧VBを取り込み、第31図に示
す通電時間特性によりコイル通電時間TONを計算
する。 第30図はメインルーチンのフローチヤートを
示す。ステツプ4100では初期化処理を行い、
RAM領域のクリア、各種初期パラメータの入
力、割込みの許可を行う。ステツプ4200は水温の
A/D変換値を算出する処理である。このステツ
プは割込み処理のない時は常に実行される。 なお本実施例では4気筒エンジンで所定期間最
後の4燃焼に要する時間から回転数を検出するよ
うにしていたが、同様に4気筒エンジンでは8燃
焼、16燃焼等に要する時間から回転数を検出して
も良い。 また、本実施例では所定時間を燃焼回数で定め
ていたが、時間で定めることも可能である。 以上詳細に説明したように本発明は、外的要因
によつて回転数、トルク等が変化したのか、ある
いは少なくとも異なる2点での点火時期の変更に
よつてそれらが変化したのかを識別でき、目標点
火時期を最適点火時期に修正して機関出力を最大
限発揮させ、同時に燃料消費率を最小に抑えるこ
とができ、さらに回転数の検出を各所定期間の終
わりに近い期間で検出しているので、点火時期の
変更による回転数の変化を精度よく検出でき、前
記少なくとも2点の点火時期の差を小さくして機
関の点火時期の変更による回転変動を少なくでき
るという優れた効果がある。 また、本発明は、前記所定期間の終わりに近い
期間において機関の気筒数の整数倍に等しい回数
の燃焼に要する時間より回転数を検出しているの
で、回転数検出のバラツキを非常に少なくできる
という優れた効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す制御システム
の構成図、第2図は第1図中の制御コンピユータ
の構成図、第3図、第8図は第2図各部の説明の
ための波形図、第4図乃至第7図、第9図乃至第
12図はそれぞれ第2図各部の電気回路図、第1
3図乃至第16図、第19図、第24図、第25
図、第28図乃至第30図は第1図に示す制御コ
ンピユータの演算処理手順を示すフローチヤー
ト、第17図、第20図、第22図、第26図、
第27図、第31図は本発明の作動説明に供する
特性図、第18図、第21図、第23図は本発明
の作動説明に供する2次元マツプ模式図である。 1……4気筒4サイクルエンジン、2……水温
センサ、3……スターター、4……点火コイル、
5……回転センサ、6……制御コンピユータ、7
……イグナイタ、8……圧力センサ、60……中
央処理ユニツト。

Claims (1)

    【特許請求の範囲】
  1. 1 目標点火時期の近傍でかつ互いに異なる少な
    くとも2点の点火時期を選択し、この選択した少
    なくとも2点の点火時期にて交互に所定の期間づ
    つ複数の気筒を有する内燃機関を運転し、これら
    各点火時期にて運転したときの機関の回転数の信
    号を検出し、前記少なくとも2点の点火時期にて
    運転したときの前記回転数の信号のうち少なくと
    も連続して運転した3点の回転数の信号を比較す
    ることにより前記目標点火時期が機関出力を最大
    限に発揮させる最適点火時期より進み側にあるか
    遅れ側にあるか判定しかつ目標点火時期を修正
    し、さらに前記回転数の信号は、前記所定の期間
    の終わりに近い期間において機関の気筒数の整数
    倍に等しい回数の燃焼に要する時間より検出する
    ことを特徴とする点火時期制御方法。
JP1460580A 1979-08-29 1980-02-07 Ignition timing control method Granted JPS56113048A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1460580A JPS56113048A (en) 1980-02-07 1980-02-07 Ignition timing control method
US06/159,435 US4379333A (en) 1979-08-29 1980-06-13 Method and system for operating a power-producing machine at maximum torque under varying operating conditions
DE8080105154T DE3069511D1 (en) 1979-08-29 1980-08-29 Method and system for operating an internal combustion engine at maximum torque under varying operating conditions
EP80105154A EP0024733B1 (en) 1979-08-29 1980-08-29 Method and system for operating an internal combustion engine at maximum torque under varying operating conditions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1460580A JPS56113048A (en) 1980-02-07 1980-02-07 Ignition timing control method

Publications (2)

Publication Number Publication Date
JPS56113048A JPS56113048A (en) 1981-09-05
JPS6248065B2 true JPS6248065B2 (ja) 1987-10-12

Family

ID=11865826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1460580A Granted JPS56113048A (en) 1979-08-29 1980-02-07 Ignition timing control method

Country Status (1)

Country Link
JP (1) JPS56113048A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58172466A (ja) * 1982-04-02 1983-10-11 Nippon Denso Co Ltd 多気筒内燃機関の点火時期制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6135379A (ja) * 1984-07-27 1986-02-19 Matsushita Electric Ind Co Ltd 電波探知器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6135379A (ja) * 1984-07-27 1986-02-19 Matsushita Electric Ind Co Ltd 電波探知器

Also Published As

Publication number Publication date
JPS56113048A (en) 1981-09-05

Similar Documents

Publication Publication Date Title
US4347570A (en) Method and apparatus for controlling ignition coil energization
US4379333A (en) Method and system for operating a power-producing machine at maximum torque under varying operating conditions
JPS6248066B2 (ja)
US4873958A (en) Engine ignition timing control system
JPS6410663B2 (ja)
JPS61272470A (ja) 内燃エンジンの点火時期制御方法
US4510910A (en) Ignition timing control method and apparatus for internal combustion engines
JP3191676B2 (ja) 内燃機関の点火時期制御装置
JPS61275585A (ja) 内燃機関の点火時期制御装置
JPS61275572A (ja) 内燃エンジンの点火時期制御方法
JP4375685B2 (ja) エンジン制御装置
JPS6126082B2 (ja)
JPH0320592B2 (ja)
JPS6248065B2 (ja)
US5093793A (en) Method of transferring signals within electronic control system for internal combustion engines
JPS61169666A (ja) 内燃エンジンの点火時期制御方法
JPS6231189B2 (ja)
JPH0826838B2 (ja) 内燃機関の点火時期制御方法
JP2625763B2 (ja) 内燃機関の点火時期制御装置
JPH0240082A (ja) 内燃機関の点火時期制御装置
JPS61291774A (ja) 内燃エンジンの電子点火時期制御装置
JPH0762462B2 (ja) 内燃エンジンの制御装置の異常検出装置
JPS63106364A (ja) 内燃機関の点火時期制御方法
JPS6331668B2 (ja)
JPS6285174A (ja) 内燃機関の点火制御装置