JP2004340094A - Stroke distinction device for single cylinder four cycle internal combustion engine - Google Patents
Stroke distinction device for single cylinder four cycle internal combustion engine Download PDFInfo
- Publication number
- JP2004340094A JP2004340094A JP2003140468A JP2003140468A JP2004340094A JP 2004340094 A JP2004340094 A JP 2004340094A JP 2003140468 A JP2003140468 A JP 2003140468A JP 2003140468 A JP2003140468 A JP 2003140468A JP 2004340094 A JP2004340094 A JP 2004340094A
- Authority
- JP
- Japan
- Prior art keywords
- stroke
- value
- engine
- crank angle
- internal combustion
- 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.)
- Pending
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、単気筒の4サイクル内燃エンジン(以下単にエンジンと称する)の行程判別装置に関する。
【0002】
【従来の技術】
エンジンの行程を判別する装置として、特開2000−265894号に開示されている如き装置が知られている。この装置は、クランク角パルスを発生するパルス発生手段と、クランク軸(クランクシャフト)の2回転中に複数回測定する吸気管内圧値測定手段とを有し、エンジン始動時における吸気管内圧測定値の大小関係によってクランクの上死点がどの行程にあるかを判断するものである。
【0003】
【発明が解決しようとする課題】
しかしながら、従来の装置では、エンジンの運転条件が過渡状態すなわちエンジン回転数の変化率が大きい場合(例えば加速時または減速時など)において、吸気・圧縮行程での吸気管内圧値と膨張・排気行程での吸気管内圧値とが逆転することがある。特に、加速時においては、吸気・圧縮行程での吸気管内圧値が大気圧に近くなるため、直前の膨張・排気行程での吸気管内圧値よりもより大気圧に近い大きな値をとることがある。それ故、単に前後のエンジンサイクルの吸気管内圧値の大小関係のみで行程を判断すると、誤判別してしまう場合があった。
【0004】
そこで、本発明は、エンジンの安定状態を判断し正確なエンジンサイクルの行程判別が可能である行程判別装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明によるエンジンの行程判別装置は、前記エンジンの吸気管内圧を所定クランク角度位置毎に順次PM値として検出する吸気管内圧検出手段と、前記エンジンの負荷の安定状態を検知する検知手段と、前記検知手段によってエンジン負荷の安定状態を検知した場合にのみ、前記PM値の変化状態に基づいて前記エンジンの行程判別を実行する行程判別手段と、からなることを特徴とする。
【0006】
【発明の実施の形態】
以下に、本発明による行程判別装置の実施例について図面に基づいて説明する。
図1は、エンジン及びエンジン制御部の構成を示すブロック図を示している。エンジン10においては、吸気管12から吸入した空気と吸気管12に設けられたインジェクタ28から噴射された燃料との混合気が燃焼室20に吸入され、吸入した混合気が燃焼せしめられてピストン16が往復運動し、クランクシャフト(クランク軸)18が回転する。燃焼室20において燃焼した混合気は、排気ガスとして排気管14へ排出される。吸気管12には、吸入する空気量を制御するスロットル22及び吸気管内圧センサ26が設けられている。スロットル22にはスロットル開度センサ24が設けられており、スロットルの開度を検出しスロットル開度信号Stを発する。また、吸気管内圧センサ26は、吸気管内圧に対応する圧力信号Spを出力する。
【0007】
クランクシャフト18には、回転体30が、クランクシャフト18に連動するように設けられている。回転体30の外周部には、複数の被検出片である複数の磁性突起(図示せず)が設けられている。また、磁性突起の回転軌跡の近傍の位置には、クランク角センサ32が設けられている。クランク角センサ32は、所定のクランク角毎、例えばクランク角20度毎に、磁性突起による磁束の変化に応じて、磁性突起を検出したことを示す検出信号Sdを発する。
【0008】
スロットル開度センサ24、吸気管内圧センサ26及びクランク角センサ32から発せられた信号は、ECU(電子制御ユニット)50のインターフェース52に供給される。インターフェース52では、スロットル開度信号St及び圧力信号Spが適当な手段によって数値化され、クランク角信号Sdは、インターフェース52内の波形成形回路(図示せず)によってパルス列からなるクランク角パルスに波形整形される。インターフェース52からの数値データ信号及びクランク角パルスが、入出力バス56を介してCPU54に供給される。よって、CPU54は、所定のクランク角毎に後述するメインルーチンを実行することができる。
【0009】
CPU54は、入出力バス56を介してデータ信号又はアドレス信号をROM(リードオンリーメモリ)58、RAM(ランダムアクセスメモリ)60、インジェクタ駆動回路62及び点火プラグ駆動回路64との間で送受信する。インジェクタ駆動回路62は、インジェクタ28に接続されており、CPU54からの噴射指令に基づいて駆動電流Ijを供給する。同様に、点火プラグ駆動回路64は、点火プラグ34に接続されており、CPU54からの点火指令に基づいて駆動電流Igを供給する。駆動電流Igが点火プラグ34に供給されることによって、点火プラグ34から火花が発せられる。この火花は燃焼室20に吸入された混合気に引火し、混合気の燃焼によりエンジンの爆発行程が始まることになる。また、ROM58は、CPU54が実行するプログラム等を記憶しており、RAM60は、プログラムで用いられる変数データやフラグ値を記憶する。
【0010】
図2は、CPU54がクランク角センサ32から発せられるクランク角パルスを検知する毎に実行するエンジン行程判別メインルーチンを示すフローチャートである。エンジン行程判別メインルーチンにおいては、まず、エンジンのクランク角毎の吸気管内圧値(すなわちPM値)をCPU54のバッファRAM60に記憶するPM値記憶サブルーチンSS1を実行する。PM値記憶サブルーチンSS1は、バッファRAM60にPM値を記憶するとともに、本ルーチンの以後のステップで用いる現クランク角度位置から2回転前の同一のクランク角度位置でのPM値を示す2PMp、現クランク角度位置から1回転前の同一クランク角度位置でのPM値を示す1PMp、及び現在のPM値を示すPMcを設定する。PM値記憶サブルーチンSS1の動作については、後に説明する。
【0011】
エンジン行程判別メインルーチンでは、PM値記憶サブルーチンSS1において設定された2PMp、1PMp及びPMcを用いて、まず、2PMpが0であるか否かを判別する(ステップS1)。動作の初期状態において、バッファRAM60のメモリに初期値0が設定されているため、クランクが2回転するまでは、2PMp値は0となる。つまり、ステップS1では、クランク2回転分のPM値データが記憶されたか否かを判別するのである。よって、ステップS1において2PMpが0のときは、メインルーチンをそのまま終了する。ステップS1で2PMpが0でないときは、PM値記憶サブルーチンから与えられた2PMp及びPMcを用いて吸気管内圧差ΔPM2TDCを算出する(ステップS2)。ここで、ΔPM2TDCは以下の式を用いて算出される。
【0012】
ΔPM2TDC=|PMc−2PMp|
次に、算出されたΔPM2TDC値が所定の安定閾値より大か否かを判別する(ステップS3)。ΔPM2TDCが所定安定閾値より小さい場合は、エンジン運転状態が安定状態と判断して安定判定カウントを示す変数STcを1だけインクリメントする(ステップS4)。これに対して、ΔPM2TDCが所定安定閾値より大きい場合は、エンジン運転状態が不安定状態と判断して変数STcを1だけデクリメントする(ステップS5)。続いて、STcが所定数以上か否かを判別する(ステップS6)。STcが所定数以上である場合は、は、エンジン運転状態が十分に安定状態にあるとして、続くエンジン行程確認用PM値検索サブルーチンSS2を実行する。これに対して、STcが所定数に達していない場合は、エンジン運転状態が十分に安定状態ではないと判断してルーチンを終了する。ステップS6の判別においては、ある一定の時間内にSTcが所定数以上であるか否かを判別すること、もしくは別のカウンタ(図示せず)を用いて所定ルーチン実行回数中にSTcが所定数以上に達したか否かを判別すること、などを追加することができる。行程確認用PM値検索サブルーチンSS2を実行した後、続いて現在のクランク位置番号が所定番号であるか否かを判別する(ステップS7)。この所定番号は、クランク1回転中の任意の位置に対応する任意の数の番号を取り得る。現在のクランク位置番号が所定番号のときは、エンジン行程判別サブルーチンSS3へと進み、サブルーチンの実行後、メインルーチンへ戻りルーチンを終了する。現在のクランク位置番号が所定番号でないときは、そのままエンジン行程判別メインルーチンを終了する。
【0013】
行程確認用PM値検索サブルーチンSS2は、後に続くエンジン行程判別サブルーチンSS3において用いるいくつかの変数を設定するルーチンである。行程確認用PM値検索サブルーチンSS2の動作については、後に説明する。
図3は、PM値記憶サブルーチンSS1を示すフローチャートである。PM値記憶サブルーチンにおいては、まず、現在の吸気管内圧値PMを読み込む(ステップS31)。次に、バッファRAM60に記憶されているPM1Pn値をPM2Pnに上書きする(ステップS32)。ここで、nはクランク角パルスによって表されるエンジンのステージ番号であり、例えば初期値を1とする1から16の範囲の整数である。続いて、バッファRAM60に記憶されているPMCn値をPM1Pnに上書きし(ステップS33)、更に、ステップS31で読み込んだPM値をPMCnに上書きする(ステップS34)。例えば、n=1のとき、ステップS32では、PM1P1に記憶された値がPM2P1に上書きされる。続いて、ステップS33では、PMC1に記憶された値がPM1P1に上書きされ、ステップ34では、読み取られた現在PM値がPMC1に上書きされる。かかる動作を実行することによって、PMCnには、現在のPM値が記憶され、PM1Pn及びPM2Pnには、クランク1回転前のPM値及びクランク2回転前のPM値が、それぞれ記憶されるのである。
【0014】
次に、現在のPM2Pn値を2PMpとする(ステップS35)。続いて、現在のPM1Pn値を1PMpとし(ステップS36)、現在のPMCn値をPMcとする(ステップS37)。次に、nが所定数すなわち16に達したか否かを判別する(ステップS38)。nが所定数に達していない場合は、nを1だけ増加し(ステップS39)、サブルーチンを終了する。これに対して、nが所定数に達していた場合は、nを1に戻し(ステップS40)、サブルーチンを終了する。かかるサブルーチンを用いることによって、現在のクランク回転におけるPM値PMc、クランクの1回転前におけるPM値1PMp、及びクランクの2回転前におけるPM値2PMpを設定かつ記憶することが可能となる。
【0015】
図4は、行程確認用PM値検索サブルーチンSS2を示すフローチャートである。行程確認用PM値検索サブルーチンSS2においては、まず、F_CYCが1か否かを判別する(ステップS51)。F_CYCはエンジン行程が既に判別済みかどうかを表すフラグ値であり、エンジン行程が既に判別済みの場合は1、未判別の場合は0となる。よって、ステップS51において、F_CYCが1でない場合は、エンジン行程は未判別であるとしてそのままルーチンを終了する。一方、ステップS51においてF_CYCが1であると判別した場合は、クランク角度位置がエンジン行程基準位置か否かを判別する(ステップS52)。エンジン行程基準位置とは、4サイクルエンジンの1エンジンサイクルの4行程(吸気・圧縮・膨張・排気)を1単位としたときの基準位置であり、本実施例では、吸気行程の開始位置である。
【0016】
ステップS52において、クランク角度位置がエンジン行程基準位置ではない場合は、ENGDTCが0か否かを判別する(ステップS53)。ENGDTCは、エンジン行程を「吸気・圧縮行程」及び「膨張・排気行程」に分類したときの分類番号を表すものであり、吸気・圧縮行程の場合は0、膨張・排気行程の場合は1となる。よって、ステップS53においてENGDTCが0と判別した場合は、エンジンが吸気・圧縮行程として、現在PM値PMcがPMLOWより小さいか否かを判別する(ステップS54)。ここで、PMLOWは、メインルーチン動作中に検知した吸気管内圧の最小値であり、すなわち吸気・圧縮行程での吸気管内圧の最小値である。PMcがPMLOWより小さい場合は、現在のPMc値をPMLOWに上書き更新する(ステップS55)。
【0017】
続いて、現在クランク位置番号をPMPKSTGに上書き更新し(ステップS56)、サブルーチンを終了する。ここで、PMPKSTGは、上述のPMLOWを検出したクランク位置番号を記憶する変数である。ステップS53において、ENGDTCが0でないと判別した場合は、現在のクランク位置番号がPMPKSTGの番号と一致するか否かを判別する(ステップS57)。現在クランク位置番号がPMPKSTGと一致する場合は、PMc値をPMHIGHに上書き更新し(ステップS58)、サブルーチンを終了する。ここで、PMHIGHは、現在までに検知した吸気管内圧の最大値である。ステップS57において、現在クランク位置番号がPMPKSTGと一致しない場合は、そのままサブルーチンを終了する。
【0018】
一方、ステップS52において、クランク角度位置がエンジン行程基準位置である場合は、現在のPMc値をPMLOWに上書き更新し(ステップS59)、同様にPMc値をPMHIGHに上書き更新する(ステップS60)。続いて、現在クランク位置番号をPMPKSTGに上書き更新し(ステップS61)、サブルーチンを終了する。S59〜S61のステップを経ることによって、吸気行程の開始位置でのPM値の基準値が与えられる。
【0019】
図5は、エンジン行程判別サブルーチンSS3を示すフローチャートである。エンジン行程判別サブルーチンSS3においては、まず、F_CYCが1か否かを判別する(ステップS71)。F_CYCが1でない場合は、エンジン行程未判別として、現在PM値PMcが1回転前のPM値1PMpより大きいか否かを判別する(ステップS72)。PMcが1PMpより大きい場合は、PMc及び1PMpを用いて吸気管内圧差ΔPM1TDCを算出する(ステップS73)。ここで、ΔPM1TDCは以下の式を用いて算出される。
【0020】
ΔPM1TDC=PMc−1PMp
次に、算出されたΔPM1TDC値が所定閾値TH1より大か否かを判別する(ステップS74)。ΔPM1TDCがTH1より大きい場合は、エンジン行程が膨張・排気行程であると判断し、変数ENGDTCを1とする(ステップS75)。続いて、エンジン行程判別が行われたことを示すフラグ値F_CYCを1にして(ステップS76)、サブルーチンを終了する。ステップS72においてPMcが1PMより小さいと判別した場合、及びステップS74においてΔPM1TDCがTH1より小さいと判別した場合は、ともにエンジン行程が不明又は判別不能と判断して、フラグ値F_CYCを0とし(ステップS77)、サブルーチンを終了する。
【0021】
一方、ステップS71において、F_CYCが1であると判別した場合は、ENGDTCが1か否かすなわちエンジン行程が膨張・排気行程か否かを判別する(ステップS78)。ENGDTCが1でない場合は、エンジン行程の確認は実施せず、現在のF_CYC値及びENGDTC値を維持して(ステップS79)、サブルーチンを終了する。ステップS78において、ENGDTCが1である場合は、行程確認用PM値検索サブルーチンSS2で設定されたPMHIGH値がPMLOW値以上であるか否かを判別する(ステップS80)。PMHIGHがPMLOW以上である場合は、PMHIGH及びPMLOWを用いて吸気管内圧差ΔPM1TDCを算出する(ステップS81)。ここで、ΔPM1TDCは以下の式を用いて算出される。
【0022】
ΔPM1TDC=PMHIGH−PMLOW
次に、算出されたΔPM1TDC値が所定閾値THaより大か否かを判別する(ステップS82)。ΔPM1TDCがTHaより小さい場合は、続いてΔPM1TDCが所定閾値THbより大か否かを判別する(ステップS83)。ΔPM1TDCがTHbよりも小さい場合は、エンジン行程が不明又は判別不能と判断して、フラグ値F_CYCを0とし(ステップS84)、サブルーチンを終了する。また、ステップS80においてPMHIGHがPMLOWより小さいと判別した場合、及びステップS83においてΔPM1TDCがTHbより大きいと判別した場合は、エンジン行程の確認は実施せず、ステップS79に進んで現在のF_CYC値及びENGDTC値を維持し、サブルーチンを終了する。ステップS82において、ΔPM1TDCがTHaより大きいと判別した場合は、エンジン行程が膨張・排気行程であると判断し、変数ENGDTCを1とする(ステップS85)。続いて、エンジン行程判別が行われたことを示すフラグ値F_CYCを1にして(ステップS86)、サブルーチンを終了する。
【0023】
かかるサブルーチンを実行することによって、エンジン行程判別が行われていないすなわちF_CYCが0の場合は、ステップS71〜ステップS76までのステップを経て、エンジン行程が膨張・排気行程であることを判別し、エンジン行程が既に行われているすなわちF_CYCが1の場合は、ステップS71〜ステップS82〜ステップS86までのステップを経て、エンジン行程が膨張・排気行程であることを確認することができるのである。
【0024】
図6は、定常状態にあるエンジンのスロットル開度、エンジン行程、吸気管内圧及びクランク角パルスのタイミングを示している。クランク角パルスは、1つのエンジンサイクル(吸気・圧縮・膨張・排気)において32回検出される。従って、クランク角パルスは、クランク1回転毎に16回検出されることになる。定常状態にあるエンジンでは、スロットル開度はほぼ一定であり、吸気管内圧は1つのエンジンサイクル毎に周期的に増減を繰り返している。図2で示されたエンジン行程判別メインルーチンは、クランク角パルスを検知する毎に実行されるが、現在のPM値とクランク2回転前のPM値との差が小さいため、ステップS3で行われる判別は常に安定状態となる。例えば、A2を現在のクランク角度位置とした場合、A1はクランク2回転前のクランク角度位置、B1はクランク1回転前のクランク角度位置をそれぞれ示すことになる。このとき、ΔPM2TDCであるA1でのPM値とA2でのPM値との差の絶対値は、ほぼ0又は非常に小さい値となり、所定の安定閾値よりは小さいと判別されるのである。
【0025】
また、ステップS7で実行される判別の所定位置番号をそれぞれA1、B1、A2、B2とすると、一つの例として、現在クランク角度位置がA2でかつエンジン行程が未判別すなわちF_CYCが0である場合は、行程確認用PM値検索サブルーチンSS2においては、ステップS51の判別によりそのままの変数データを維持したままサブルーチンを終了する。エンジン行程判別サブルーチンSS3においては、ステップS71からステップS72に進む。ここで図6より、PMcすなわちA2での吸気管内圧は、1PMpすなわちB1での吸気管内圧より小さいため、ステップS77に進み、エンジン行程未判別すなわちF_CYCが0としてルーチンを終了する。別の例として、現在クランク角度位置がB2でかつF_CYCが0である場合は、エンジン行程判別サブルーチンSS3においては、ステップS71からステップS72に進む。ここでPMcすなわちB2での吸気管内圧は、1PMpすなわちA2での吸気管内圧より非常に大きいため、ステップS73〜ステップS76へと進んでENGDTC及びF_CYCをそれぞれ1に設定する。つまり現在のエンジン行程が膨張・排気行程であることを判別するのである。
【0026】
また、現在クランク角度位置がB2でかつF_CYC及びENGDTCがともに1である場合は、行程確認用PM値検索サブルーチンSS2においては、ステップS51〜ステップS58に進み、PMPKSTGのクランク位置番号(例えば今回すなわちB2)における吸気管内圧値をPMHIGHに設定する。続いて、エンジン行程判別サブルーチンSS3においては、ステップS71〜ステップS80と進む。このとき、PMLOWは以前のクランク角度位置における吸気管内圧の最小値(例えばA2における吸気管内圧値、図6参照)であるため、ステップS80〜ステップS82に進む。ここでステップS81において算出されるΔPM1TDCは所定閾値THaより大きくなり、ステップS85以降へと進んでENGDTC及びF_CYCをそれぞれ1に設定する。つまり現在のエンジン行程が膨張・排気行程であることを確認するのである。
【0027】
図7は、別の一例として、膨張行程中に加速すなわちスロットル開度を大きくしたときのエンジンのスロットル開度、エンジン行程、吸気管内圧及びクランク角パルスのタイミングを示している。加速状態にあるエンジンでは、スロットル開度の増加とともにエンジン回転数が増加するため、吸気管内圧はそれまでの定常状態より増加し、周期的な増減を示さなくなる。このとき、エンジン行程判別メインルーチンSS3は、ステップS3における判別で安定カウントダウンすなわち不安定状態と判別することになる。例えば、現在のクランク角度位置をA2とすると、PMcはA2におけるPM値となり、2PMpはA1におけるPM値となる。よってΔPM2TDCは大きな値となり、ステップS3における安定閾値を超えてしまう。また、A2近傍のクランク角度位置におけるPM値も、同様に2回転前のPM値よりも非常に大きいため、A2の前後の割り込み処理においてもメインルーチンは不安定状態と判別することになる。かかる場合には、本発明のエンジン行程判別装置は、安定カウンタSTcをデクリメントすることによって行程判別を実行しないことにして、システムがエンジン運転状態を誤判断しないように制御される。
【0028】
以上のような構成による装置を用いることによって、エンジンのエンジン行程を、エンジンの運転状態が定常状態又は過渡状態(加速・減速状態)にかかわらず、正しく判別することが可能となる。
【0029】
【発明の効果】
上記したことから明らかなように、本発明によるエンジンの行程判別装置は、エンジンの負荷の不安定状態における誤判断を回避することが可能となる。
【図面の簡単な説明】
【図1】エンジン及びエンジン制御部の構成を示すブロック図である。
【図2】エンジン行程判別メインルーチンを示すフローチャートである。
【図3】図2で示されたエンジン行程判別メインルーチン中に実行されるPM値記憶サブルーチンを示すフローチャートである。
【図4】図2で示されたエンジン行程判別メインルーチン中に実行される行程確認用PM値検索サブルーチンを示すフローチャートである。
【図5】図2で示されたエンジン行程判別メインルーチン中に実行されるエンジン行程判別サブルーチンを示すフローチャートである。
【図6】エンジンが定常状態にある場合における、スロットル開度、エンジン行程、吸気管内圧及びクランク角パルスの変化の関係を示すタイムチャートである。
【図7】エンジンが過渡状態すなわち膨張行程中の加速状態にある場合における、スロットル開度、エンジン行程、吸気管内圧及びクランク角パルスの変化の関係を示すタイムチャートである。
【符号の説明】
10 エンジン
12 吸気管
18 クランクシャフト
26 吸気管内圧センサ
32 クランク角センサ
50 電子制御ユニット(ECU)
54 中央処理装置(CPU)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a stroke determination device for a single-cylinder four-cycle internal combustion engine (hereinafter simply referred to as an engine).
[0002]
[Prior art]
As a device for determining the stroke of an engine, a device disclosed in Japanese Patent Application Laid-Open No. 2000-265894 is known. This device has a pulse generating means for generating a crank angle pulse and an intake pipe internal pressure value measuring means for measuring a plurality of times during two rotations of a crankshaft (crankshaft). It is to judge which stroke the top dead center of the crank is in on the basis of the magnitude relation.
[0003]
[Problems to be solved by the invention]
However, in the conventional device, when the operating condition of the engine is in a transient state, that is, when the rate of change of the engine speed is large (for example, during acceleration or deceleration), the intake pipe internal pressure value and the expansion / exhaust stroke in the intake / compression stroke are reduced. May be reversed with the intake pipe internal pressure value. In particular, during acceleration, since the intake pipe internal pressure value in the intake / compression stroke is close to the atmospheric pressure, it may take a larger value closer to the atmospheric pressure than the intake pipe internal pressure value in the immediately preceding expansion / exhaust stroke. is there. Therefore, if the stroke is determined only based on the magnitude relationship between the intake pipe internal pressure values of the preceding and following engine cycles, an erroneous determination may be made.
[0004]
Therefore, an object of the present invention is to provide a stroke determination device capable of determining a stable state of an engine and accurately determining a stroke of an engine cycle.
[0005]
[Means for Solving the Problems]
An engine stroke determination device according to the present invention includes: an intake pipe internal pressure detection unit that sequentially detects an intake pipe internal pressure of the engine as a PM value for each predetermined crank angle position; a detection unit that detects a stable state of the load of the engine; A stroke discriminating means for performing a stroke discrimination of the engine based on the change state of the PM value only when the stable state of the engine load is detected by the detecting means.
[0006]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of a stroke determination device according to the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of the engine and the engine control unit. In the
[0007]
The rotating
[0008]
Signals emitted from the throttle opening sensor 24, the intake pipe
[0009]
The
[0010]
FIG. 2 is a flowchart showing an engine stroke discrimination main routine executed each time the
[0011]
In the engine stroke determination main routine, it is first determined whether or not 2PMp is 0 using 2PMp, 1PMp and PMc set in the PM value storage subroutine SS1 (step S1). In the initial state of the operation, since the
[0012]
ΔPM2TDC = | PMc-2PMp |
Next, it is determined whether or not the calculated ΔPM2TDC value is larger than a predetermined stability threshold (Step S3). If ΔPM2TDC is smaller than the predetermined stability threshold, the engine operation state is determined to be stable, and the variable STc indicating the stability determination count is incremented by 1 (step S4). On the other hand, if ΔPM2TDC is larger than the predetermined stability threshold, the engine operation state is determined to be unstable, and the variable STc is decremented by 1 (step S5). Subsequently, it is determined whether or not STc is equal to or more than a predetermined number (step S6). If STc is equal to or more than the predetermined number, it is determined that the engine operation state is sufficiently stable, and the subsequent engine stroke confirmation PM value search subroutine SS2 is executed. On the other hand, if STc has not reached the predetermined number, it is determined that the engine operating state is not sufficiently stable, and the routine ends. In the determination in step S6, it is determined whether or not STc is equal to or more than a predetermined number within a certain time, or STc is determined to be a predetermined number during the execution of a predetermined routine by using another counter (not shown). Determining whether or not the above has been reached can be added. After executing the stroke confirmation PM value search subroutine SS2, it is subsequently determined whether or not the current crank position number is a predetermined number (step S7). The predetermined number can take an arbitrary number corresponding to an arbitrary position during one rotation of the crank. If the current crank position number is the predetermined number, the process proceeds to the engine stroke determination subroutine SS3, and after executing the subroutine, returns to the main routine and ends the routine. If the current crank position number is not the predetermined number, the engine stroke determination main routine ends.
[0013]
The stroke confirmation PM value search subroutine SS2 is a routine for setting some variables used in the subsequent engine stroke determination subroutine SS3. The operation of the stroke confirmation PM value search subroutine SS2 will be described later.
FIG. 3 is a flowchart showing the PM value storage subroutine SS1. In the PM value storage subroutine, first, the current intake pipe internal pressure value PM is read (step S31). Next, the PM1Pn value stored in the
[0014]
Next, the current PM2Pn value is set to 2PMp (step S35). Subsequently, the current PM1Pn value is set to 1 PMp (step S36), and the current PMCn value is set to PMc (step S37). Next, it is determined whether or not n has reached a predetermined number, that is, 16 (step S38). If n has not reached the predetermined number, n is increased by 1 (step S39), and the subroutine ends. On the other hand, if n has reached the predetermined number, n is returned to 1 (step S40), and the subroutine ends. By using such a subroutine, it is possible to set and store the PM value PMc at the current crank rotation, the
[0015]
FIG. 4 is a flowchart showing a process confirmation PM value search subroutine SS2. In the process confirmation PM value search subroutine SS2, first, it is determined whether or not F_CYC is 1 (step S51). F_CYC is a flag value indicating whether or not the engine stroke has already been determined, and is 1 if the engine stroke has already been determined, and 0 if not. Therefore, if F_CYC is not 1 in step S51, it is determined that the engine stroke has not been determined, and the routine ends. On the other hand, when it is determined in step S51 that F_CYC is 1, it is determined whether or not the crank angle position is the engine stroke reference position (step S52). The engine stroke reference position is a reference position when four strokes (intake, compression, expansion, exhaust) of one engine cycle of a four-cycle engine are defined as one unit, and in this embodiment, is a start position of the intake stroke. .
[0016]
If it is determined in step S52 that the crank angle position is not the engine stroke reference position, it is determined whether or not ENGDTC is 0 (step S53). ENGDTC represents a classification number when the engine stroke is classified into an “intake / compression stroke” and an “expansion / exhaust stroke”, and is 0 for an intake / compression stroke, and 1 for an expansion / exhaust stroke. Become. Therefore, when ENGDTC is determined to be 0 in step S53, it is determined whether or not the current PM value PMc is smaller than PMLOW as the engine is in the intake / compression stroke (step S54). Here, PMLOW is the minimum value of the intake pipe pressure detected during the main routine operation, that is, the minimum value of the intake pipe pressure during the intake / compression stroke. If PMc is smaller than PMLOW, the current PMc value is overwritten and updated with PMLOW (step S55).
[0017]
Subsequently, the current crank position number is overwritten and updated with PMPKSTG (step S56), and the subroutine ends. Here, PMPKSTG is a variable that stores the crank position number at which the above-mentioned PMLOW is detected. If it is determined in step S53 that ENGDTC is not 0, it is determined whether or not the current crank position number matches the PMPKSTG number (step S57). If the current crank position number matches PMPKSTG, the PMc value is overwritten and updated to PMHIGH (step S58), and the subroutine ends. Here, PMHIGH is the maximum value of the intake pipe internal pressure detected so far. If it is determined in step S57 that the current crank position number does not match PMPKSTG, the subroutine ends.
[0018]
On the other hand, if the crank angle position is the engine stroke reference position in step S52, the current PMc value is overwritten and updated to PMLOW (step S59), and similarly, the PMc value is overwritten and updated to PMHIGH (step S60). Subsequently, the current crank position number is overwritten and updated with PMPKSTG (step S61), and the subroutine ends. Through the steps S59 to S61, the reference value of the PM value at the start position of the intake stroke is given.
[0019]
FIG. 5 is a flowchart showing the engine stroke determination subroutine SS3. In the engine stroke determination subroutine SS3, first, it is determined whether or not F_CYC is 1 (step S71). If F_CYC is not 1, it is determined that the engine stroke has not been determined, and it is determined whether or not the current PM value PMc is larger than the
[0020]
ΔPM1TDC = PMc-1PMp
Next, it is determined whether the calculated ΔPM1TDC value is larger than a predetermined threshold value TH1 (Step S74). If ΔPM1TDC is larger than TH1, it is determined that the engine stroke is the expansion / exhaust stroke, and the variable ENGDTC is set to 1 (step S75). Subsequently, the flag value F_CYC indicating that the engine stroke has been determined is set to 1 (step S76), and the subroutine is terminated. If it is determined in step S72 that PMc is smaller than 1 PM, and if it is determined in step S74 that .DELTA.PM1TDC is smaller than TH1, it is determined that the engine stroke is unknown or cannot be determined, and the flag value F_CYC is set to 0 (step S77). ), End the subroutine.
[0021]
On the other hand, when it is determined in step S71 that F_CYC is 1, it is determined whether ENGDTC is 1 or not, that is, whether the engine stroke is an expansion / exhaust stroke (step S78). If ENGDTC is not 1, the engine stroke is not confirmed, the current F_CYC value and ENGDTC value are maintained (step S79), and the subroutine ends. In step S78, if ENGDTC is 1, it is determined whether or not the PMHIGH value set in the stroke confirmation PM value search subroutine SS2 is equal to or greater than the PMLOW value (step S80). If PMHIGH is equal to or higher than PMLOW, an intake pipe pressure difference ΔPM1TDC is calculated using PMHIGH and PMLOW (step S81). Here, ΔPM1TDC is calculated using the following equation.
[0022]
ΔPM1TDC = PMHIGH−PMLOW
Next, it is determined whether or not the calculated ΔPM1TDC value is greater than a predetermined threshold value THa (step S82). If ΔPM1TDC is smaller than THa, then it is determined whether ΔPM1TDC is larger than a predetermined threshold THb (step S83). If ΔPM1TDC is smaller than THb, it is determined that the engine stroke is unknown or cannot be determined, the flag value F_CYC is set to 0 (step S84), and the subroutine ends. If it is determined in step S80 that PMHIGH is smaller than PMLOW, and if it is determined in step S83 that ΔPM1TDC is greater than THb, the engine stroke is not confirmed, and the flow proceeds to step S79 to go to the current F_CYC value and ENGDTC. Keep the value and exit the subroutine. If it is determined in step S82 that ΔPM1TDC is larger than THa, it is determined that the engine stroke is the expansion / exhaust stroke, and the variable ENGDTC is set to 1 (step S85). Subsequently, the flag value F_CYC indicating that the engine stroke determination has been performed is set to 1 (step S86), and the subroutine ends.
[0023]
By executing such a subroutine, when the engine stroke is not determined, that is, when F_CYC is 0, the engine stroke is determined to be the expansion / exhaust stroke through steps S71 to S76, and the engine stroke is determined. If the stroke has already been performed, that is, if F_CYC is 1, it is possible to confirm that the engine stroke is the expansion / exhaust stroke through steps S71 to S82 to S86.
[0024]
FIG. 6 shows the timing of the throttle opening, the engine stroke, the intake pipe internal pressure, and the crank angle pulse of the engine in a steady state. The crank angle pulse is detected 32 times in one engine cycle (intake, compression, expansion, exhaust). Therefore, the crank angle pulse is detected 16 times for each rotation of the crank. In the engine in the steady state, the throttle opening is substantially constant, and the intake pipe pressure repeatedly increases and decreases periodically every engine cycle. The engine stroke determination main routine shown in FIG. 2 is executed every time a crank angle pulse is detected, but is performed in step S3 because the difference between the current PM value and the PM value two revolutions before the crank is small. The determination is always in a stable state. For example, if A2 is the current crank angle position, A1 indicates the crank angle position two rotations before the crank and B1 indicates the crank angle position one rotation before the crank. At this time, the absolute value of the difference between the PM value at A1 and the PM value at A2, which is ΔPM2TDC, is almost 0 or a very small value, and is determined to be smaller than the predetermined stability threshold.
[0025]
Assuming that the predetermined position numbers for the determination performed in step S7 are A1, B1, A2, and B2, respectively, as one example, the case where the current crank angle position is A2 and the engine stroke is not determined, that is, F_CYC is 0 In the subroutine SS2 for PM value search for process confirmation, the subroutine is terminated while maintaining the variable data as it is by the determination in step S51. In the engine stroke determination subroutine SS3, the process proceeds from step S71 to step S72. Here, from FIG. 6, since the intake pipe internal pressure at PMc, that is, at A2 is smaller than the intake pipe internal pressure at 1PMp, that is, at B1, the process proceeds to step S77, and the engine stroke is not determined, that is, F_CYC is set to 0, and the routine ends. As another example, when the current crank angle position is B2 and F_CYC is 0, the process proceeds from step S71 to step S72 in the engine stroke determination subroutine SS3. Here, since the intake pipe internal pressure at PMc, ie, B2, is much higher than 1 PMp, ie, the intake pipe internal pressure at A2, the process proceeds to steps S73 to S76, where ENGDTC and F_CYC are set to 1 respectively. That is, it is determined that the current engine stroke is the expansion and exhaust stroke.
[0026]
If the current crank angle position is B2 and both F_CYC and ENGDTC are 1, in the stroke confirmation PM value search subroutine SS2, the process proceeds to steps S51 to S58, and the crank position number of PMPKSTG (for example, this time B2 ) Is set to PMHIGH. Subsequently, in the engine stroke determination subroutine SS3, the process proceeds to steps S71 to S80. At this time, since PMLOW is the minimum value of the intake pipe internal pressure at the previous crank angle position (for example, the intake pipe internal pressure value at A2, see FIG. 6), the process proceeds to steps S80 to S82. Here, ΔPM1TDC calculated in step S81 becomes larger than the predetermined threshold value THa, and the process proceeds to step S85 and thereafter to set ENGDTC and F_CYC to 1 respectively. That is, it is confirmed that the current engine stroke is the expansion and exhaust stroke.
[0027]
FIG. 7 shows, as another example, the throttle opening of the engine, the engine stroke, the intake pipe internal pressure, and the timing of the crank angle pulse when the acceleration, that is, the throttle opening is increased during the expansion stroke. In an engine in an accelerated state, the engine speed increases with an increase in the throttle opening, so that the intake pipe internal pressure increases from the steady state up to that time, and does not show a periodic increase or decrease. At this time, the engine stroke determination main routine SS3 determines a stable countdown, that is, an unstable state in the determination in step S3. For example, if the current crank angle position is A2, PMc becomes the PM value at A2, and 2PMp becomes the PM value at A1. Therefore, ΔPM2TDC becomes a large value and exceeds the stability threshold value in step S3. Further, the PM value at the crank angle position near A2 is also much larger than the PM value two rotations before, so that the main routine determines that the state is unstable even in the interrupt processing before and after A2. In such a case, the engine stroke determination device of the present invention does not execute the stroke determination by decrementing the stability counter STc, and is controlled so that the system does not erroneously determine the engine operation state.
[0028]
By using the device having the above configuration, it is possible to correctly determine the engine stroke of the engine regardless of whether the operating state of the engine is a steady state or a transient state (acceleration / deceleration state).
[0029]
【The invention's effect】
As is clear from the above, the engine stroke determination device according to the present invention can avoid erroneous determination in an unstable state of the engine load.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an engine and an engine control unit.
FIG. 2 is a flowchart illustrating an engine stroke determination main routine.
FIG. 3 is a flowchart showing a PM value storage subroutine executed during an engine stroke determination main routine shown in FIG. 2;
FIG. 4 is a flowchart illustrating a stroke confirmation PM value search subroutine executed during an engine stroke determination main routine shown in FIG. 2;
FIG. 5 is a flowchart showing an engine stroke determination subroutine executed during the engine stroke determination main routine shown in FIG. 2;
FIG. 6 is a time chart showing a relationship among a throttle opening, an engine stroke, an intake pipe internal pressure, and a change in a crank angle pulse when the engine is in a steady state.
FIG. 7 is a time chart showing a relationship between a throttle opening, an engine stroke, an intake pipe internal pressure, and a change in a crank angle pulse when the engine is in a transient state, that is, in an acceleration state during an expansion stroke.
[Explanation of symbols]
10 engine 12 intake pipe 18
54 Central Processing Unit (CPU)
Claims (4)
前記4サイクル内燃エンジンの吸気管内圧を所定クランク角度位置毎に順次PM値として検出する吸気管内圧検出手段と、
前記4サイクル内燃エンジンの負荷の安定状態を検知する検知手段と、
前記検知手段によってエンジン負荷の安定状態を検知した場合にのみ、前記PM値の変化状態に基づいて前記4サイクル内燃エンジンの行程判別を実行する行程判別手段と、
からなることを特徴とする行程判別装置。A stroke discriminating device for a single cylinder 4 cycle internal combustion engine,
Intake pipe internal pressure detection means for sequentially detecting an intake pipe internal pressure of the four-cycle internal combustion engine as a PM value for each predetermined crank angle position;
Detecting means for detecting a stable state of the load of the four-cycle internal combustion engine;
Stroke discriminating means for performing stroke discrimination of the four-cycle internal combustion engine based on the change state of the PM value only when the stable state of the engine load is detected by the detecting means;
A stroke discriminating device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003140468A JP2004340094A (en) | 2003-05-19 | 2003-05-19 | Stroke distinction device for single cylinder four cycle internal combustion engine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003140468A JP2004340094A (en) | 2003-05-19 | 2003-05-19 | Stroke distinction device for single cylinder four cycle internal combustion engine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004340094A true JP2004340094A (en) | 2004-12-02 |
Family
ID=33529189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003140468A Pending JP2004340094A (en) | 2003-05-19 | 2003-05-19 | Stroke distinction device for single cylinder four cycle internal combustion engine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004340094A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010223136A (en) * | 2009-03-24 | 2010-10-07 | Honda Motor Co Ltd | Engine starting control device |
-
2003
- 2003-05-19 JP JP2003140468A patent/JP2004340094A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010223136A (en) * | 2009-03-24 | 2010-10-07 | Honda Motor Co Ltd | Engine starting control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0733891B1 (en) | Preignition detecting system | |
US5351528A (en) | Apparatus and method for detecting misfiring in an internal combustion engine | |
JP4420348B2 (en) | 4-cycle engine stroke discrimination device | |
JP4825786B2 (en) | 4-cycle engine stroke discrimination device | |
JP2007327406A (en) | Control device and control method for internal combustion engine | |
US5381689A (en) | Misfire detecting system for internal combustion engine | |
US6499460B2 (en) | Ignition timing control device for internal combustion engine | |
EP1184655B1 (en) | Stroke discriminator for an internal combustion engine | |
JP2004340094A (en) | Stroke distinction device for single cylinder four cycle internal combustion engine | |
JP2003176749A (en) | Atmospheric pressure detection device for internal combustion engine | |
JP2007040208A (en) | Controller for internal combustion engine | |
JP5279644B2 (en) | Control device for internal combustion engine | |
JPH01104973A (en) | Ignition timing controller for internal combustion engine | |
CN114810456A (en) | Method, device and equipment for correcting engine advance angle and storage medium | |
JP2007205319A (en) | Method for judging combustion condition of internal combustion engine | |
JP2008128119A (en) | Operating condition determination device for internal combustion engine | |
JP2007023834A (en) | Control device of internal combustion engine | |
JP2681771B2 (en) | Electronic ignition timing control method for internal combustion engine | |
JP4004747B2 (en) | Fuel injection control device | |
JP2675921B2 (en) | Misfire detection device for internal combustion engine | |
JP2000352348A (en) | Cylinder discrimination unit for internal combustion engine | |
JP2001295691A (en) | Cylinder-discriminating apparatus of internal combustion engine | |
JP2611473B2 (en) | Fuel injection amount control device for internal combustion engine | |
JP2006132334A (en) | Misfire detection device for internal combustion engine | |
JP3284396B2 (en) | Cylinder identification device for multi-cylinder engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Effective date: 20070109 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070308 |
|
A02 | Decision of refusal |
Effective date: 20070522 Free format text: JAPANESE INTERMEDIATE CODE: A02 |