(57)【要約】【課題】アイドルストップ制御に影響を与えることのないエンジンロストルク学習装置の提供。【解決手段】アイドルストップ制御手段を備えた車両に用いられて、エンジンのロストルクを学習するエンジンロストルク学習装置は、エンジンの始動時における該エンジンの図示トルクを記憶する図示トルク記憶手段と、エンジンの始動時に、エンジンのクランク軸に発生するトルクであるクランク軸発生トルクを検出するトルク検出手段（Ｓ２５０，Ｓ２６０）と、図示トルク記憶手段に記憶されている図示トルクと、トルク検出手段により検出されたクランク軸発生トルクとの差分を、エンジンのロストルクとして算出するロストルク算出手段（Ｓ２７０〜Ｓ２９０）と、を備える。【選択図】図５
2015175277.tif 000002
【特許請求の範囲】
【請求項１】
所定の自動停止条件が成立するとエンジン（５）を自動停止させ、その後、所定の自動始動条件が成立すると前記エンジンを自動始動させるアイドルストップ制御手段（６１，Ｓ１１０〜Ｓ１６０）を備えた車両（３）に用いられ、前記エンジンのロストルクを学習するエンジンロストルク学習装置であって、
前記エンジンの始動時における該エンジンの図示トルクを記憶する図示トルク記憶手段（６２ａ）と、
前記エンジンの始動時に、前記エンジンのクランク軸に発生するトルクであるクランク軸発生トルクを検出するトルク検出手段（６１，Ｓ２５０，Ｓ２６０）と、
前記図示トルク記憶手段に記憶されている前記図示トルクと、前記トルク検出手段により検出された前記クランク軸発生トルクとの差分を、前記エンジンのロストルクとして算出するロストルク算出手段（６１，Ｓ２７０〜Ｓ２９０）と、
を備えることを特徴とするエンジンロストルク学習装置。
【請求項２】
請求項１に記載のエンジンロストルク学習装置において、
前記トルク検出手段は、前記クランク軸発生トルクを算出することで検出する手段であり、前記エンジンの始動時におけるエンジン回転数に基づいて前記クランク軸発生トルクを算出すること、
を特徴とするエンジンロストルク学習装置。
【請求項３】
請求項１又は請求項２に記載のエンジンロストルク学習装置において、
前記図示トルクは、前記エンジンの始動時における最大図示トルクであり、
前記トルク検出手段が検出する前記クランク軸発生トルクは、前記エンジンの始動時において前記クランク軸に発生する最大トルクであること、
を特徴とするエンジンロストルク学習装置。
【請求項４】
請求項３に記載のエンジンロストルク学習装置において、
前記トルク検出手段は、前記クランク軸発生トルクを算出することで検出する手段であり、前記エンジンの始動時において、上昇してから下降するエンジン回転数の最大値である始動時ピーク回転数を検出し、その検出した始動時ピーク回転数から前記クランク軸発生トルクを算出すること、
を特徴とするエンジンロストルク学習装置。
【請求項５】
請求項１ないし請求項４の何れか１項に記載のエンジンロストルク学習装置において、
前記図示トルクは、シリンダ吸気率が最大の状態で測定されたトルクであり、
前記エンジンの停止中に前記エンジンのスロットル（４１）を開き側に制御することにより、前記エンジンの始動時におけるシリンダ吸気率を最大にする調整手段（６１，Ｓ２２０）を備えること、
を特徴とするエンジンロストルク学習装置。
【請求項６】
請求項５に記載のエンジンロストルク学習装置において、
前記エンジンにより駆動されるオルタネータの負荷トルクを所定値に制御して、前記エンジンの始動時におけるエンジン回転数の吹き上がりを抑制する抑制手段（６１，Ｓ３１０）を備え、
前記ロストルク算出手段は、算出する前記ロストルクを、前記所定値だけ減量補正する機能（Ｓ２８５）を有すること、
を備えることを特徴とするエンジンロストルク学習装置。
【請求項７】
請求項１ないし請求項６の何れか１項に記載のエンジンロストルク学習装置において、
前記ロストルク算出手段は、算出する前記ロストルクを、前記エンジンの始動時にスタータが発生するトルクの分だけ増量補正する機能（Ｓ２９０）を有すること、
を特徴とするエンジンロストルク学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンのロストルクを学習する装置に関する。
【背景技術】
【０００２】
エンジンの出力トルク（クランク軸に発生させるトルク）を制御するには、エンジンのロストルク（トルクの損失）を考慮する必要がある。ロストルクは、エンジンのポンピングロス（吸排気損失）やフリクションロス（摩擦損失）によって生じるが、例えば冷却水温などのエンジン運転状態や、エンジンの個体差、経時変化等を要因として刻々と変化していく。このため、エンジンのトルク制御の精度を上げるためには、ロストルクを適宜学習していく必要がある。そして、従来のエンジン制御装置では、ロストルクの学習を、エンジンが暖められた状態で且つ車両が停止している間の、エンジンのアイドル運転中に行っていた（例えば、特許文献１参照）。
【０００３】
また近年、車両においては、自動停止条件が成立するとエンジンを自動停止させ、その後、自動始動条件が成立するとエンジンを自動始動させる、アイドルストップ制御（自動停止始動制御）の機能が普及している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７８２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の技術では、ロストルクを学習するための処理が完了するまでエンジンを運転状態（アイドル運転状態）にしておく必要がある。このため、アイドルストップ制御によるエンジンの自動停止を禁止しなければならない場合があり、燃費の悪化を招くこととなる。
【０００６】
そこで、本発明は、アイドルストップ制御に影響を与えることのないエンジンロストルク学習装置の提供を目的としている。
【課題を解決するための手段】
【０００７】
第１発明のエンジンロストルク学習装置が用いられる車両は、アイドルストップ制御手段を備える。そのアイドルストップ制御手段は、所定の自動停止条件が成立するとエンジンを自動停止させ、その後、所定の自動始動条件が成立するとエンジンを自動始動させる。
【０００８】
そして、第１発明のエンジンロストルク学習装置は、図示トルク記憶手段と、トルク検出手段と、ロストルク算出手段とを備える。
図示トルク記憶手段には、エンジンの始動時における該エンジンの図示トルクが記憶されている。そして、トルク検出手段は、エンジンの始動時に、エンジンのクランク軸に発生するトルクであるクランク軸発生トルクを検出し、ロストルク算出手段は、図示トルク記憶手段に記憶されている図示トルクと、トルク検出手段により検出されたクランク軸発生トルクとの差分を、エンジンのロストルクとして算出する。
【０００９】
このエンジンロストルク学習装置によれば、ロストルク算出手段により算出されたロストルクを、ロストルクの学習値として、メモリに記憶したりエンジンの制御に用いたりすることができる。そして、ロストルクを学習するための処理をエンジンの始動時に行うことになるため、アイドルストップ制御によるエンジンの自動停止を禁止する必要がない。このため、アイドルストップ制御の実行に影響を与えることがない。また、車両が使用されている最中において、アイドルストップ制御によりエンジンが自動停止されてから再始動される毎にロストルクの学習を行うことができるため、十分な学習頻度も確保することができる。
【００１０】
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図２】スロットルを説明する説明図である。
【図３】アイドルストップ制御処理を表すフローチャートである。
【図４】電子制御装置の作用を説明する説明図である。
【図５】第１実施形態のロストルク学習処理を表すフローチャートである。
【図６】第２実施形態の吹き上がり抑制処理を表すフローチャートである。
【図７】第２実施形態のロストルク学習処理を表すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明が適用された実施形態の電子制御装置について説明する。本実施形態の電子制御装置（以下、ＥＣＵという）は、車両に搭載されたエンジン（内燃機関）と該エンジンの補機を制御する。
【００１３】
［第１実施形態］
図１に示すように、本実施形態のＥＣＵ１が搭載される車両３では、エンジン５のクランク軸７に発生するトルク（即ち、エンジン５の出力トルク）が、トランスミッション（本実施形態では自動変速機）９を介して、４つの車輪１１〜１４に伝達される。この例では、車両３が４輪駆動車であるが、前輪駆動車であれば、エンジン５の出力トルクは、車輪１１〜１４のうち、前輪１１，１２だけに伝達され、後輪駆動車であれば、エンジン５の出力トルクは、車輪１１〜１４のうち、後輪１３，１４だけに伝達されることとなる。
【００１４】
ＥＣＵ１は、当該ＥＣＵ１の動作を司るマイコン（マイクロコンピュータ）２１と、当該ＥＣＵ１の外部から内部へ信号を取り込むための入力回路２３と、当該ＥＣＵ１の外部へ信号を出力するための出力回路２５と、を備える。
【００１５】
入力回路２３は、クランク軸７の回転角度であるクランク角やエンジン回転数を検出するためのクランク角センサ３１からのクランク角信号や、カム角センサ３２からの気筒判別用信号や、車速（車両３の走行速度）を検出する車速センサ３３からの車速信号や、車両３の運転者によるアクセルペダル３５の操作量を検出するアクセルセンサ３６からのアクセル信号や、運転者によりブレーキペダル３７が踏まれたことを検出するブレーキセンサ３８からのブレーキ信号や、運転者が自らの意志でエンジン５を始動させたいときに操作する始動スイッチ３９からのユーザ始動信号や、エンジン５のスロットル４１（図２参照）の開度（以下、スロットル開度ともいう）を検出するスロットル開度センサ４２からの信号等、エンジン５の制御に必要な各種信号を、マイコン２１に入力させる。
【００１６】
出力回路２５は、マイコン２１からの制御信号に応じて、インジェクタ４３に燃料噴射を実施させるための駆動電流を出力したり、イグナイタ４４に点火を実施させるための点火信号を出力したり、エンジン５を始動のためにクランキングするスタータ４５に駆動電流を出力したり、スロットル４１の開度を調節するスロットルモータ４６に駆動電流を出力したり、エンジン５によって駆動されるオルタネータ４７に発電能力（発電量）を調節するための励磁電流を出力したりする。
【００１７】
尚、インジェクタ４３とイグナイタ４４は、本実施形態ではエンジン５の気筒毎に設けられているが、図１では１組だけ図示している。また、図２に示すように、スロットル４１は、エンジン５のインテークマニホールド５１において、サージタンク５２よりも上流側に設けられており、スロットルモータ４６によって開度が調節される。つまり、スロットル４１とスロットルモータ４６は、いわゆる電子スロットル５３を構成している。図２において、「５４」は、エンジン５のシリンダ５５内で往復運動するピストンであり、「５６」は、吸気バルブであり、「５７」は、排気バルブである。
【００１８】
図１に戻り、マイコン２１は、プログラムを実行するＣＰＵ６１と、ＣＰＵ６１によって実行されるプログラムやプログラムの実行時に参照されるデータ等が記憶されたＲＯＭ６２と、ＣＰＵ６１による演算結果等が記憶されるＲＡＭ６３と、記憶内容の書き換えが可能な不揮発性メモリ（例えばフラッシュメモリやＥＥＰＲＯＭ等）６４と、Ａ／Ｄ変換器（ＡＤＣ）６５と、入出力ポート（Ｉ／Ｏ）６６と、を備える。また、ＲＯＭ６２の記憶領域のうちの一部である図示トルク記憶部６２ａには、エンジン５の図示トルクが記憶されている。
【００１９】
次に、マイコン２１のＣＰＵ６１が行う処理について説明する。尚、ＣＰＵ６１が行う処理は、ＲＯＭ６２内のプログラムによって実現される。また、マイコン２１は、車両がイグニッションオン状態になって、当該ＥＣＵ１に動作用電源としてのバッテリ電圧（車載バッテリの電圧）が供給されると、図示しない電源回路から一定の電源電圧（例えば５Ｖ）が供給されて起動する。イグニッションオン状態とは、車両におけるイグニッション系電源ラインにバッテリ電圧が供給される状態である。例えば、車両のイグニッションスイッチがオンされることで、車両はイグニッションオン状態になる。
【００２０】
ＣＰＵ６１は、エンジン５を運転状態にするための処理として、インジェクタ４３からの燃料噴射を制御する噴射制御処理と、イグナイタ４４による点火を制御する点火制御処理と、スロットル開度を制御するスロットル制御処理とを行う。
【００２１】
更に、ＣＰＵ６１は、運転者の始動用操作（本実施形態では、始動スイッチ３９をオンする操作）に応じてエンジン５を始動させるためのユーザ始動用処理や、エンジン５の自動停止／自動再始動を行うアイドルストップ制御の機能を実現するアイドルストップ制御処理や、エンジン５のトルク制御処理や、オルタネータ４７に関する発電制御処理や、エンジン５のロストルクを学習するためのロストルク学習処理も行う。
【００２２】
〈ユーザ始動用処理〉
ＣＰＵ６１は、起動した後、始動スイッチ３９からのユーザ始動信号が入力されたことを検知すると、ユーザ始動用処理を行う。
【００２３】
ユーザ始動用処理として、ＣＰＵ６１は、まずスタータ４５を動作させる。すると、スタータ４５によりエンジン５がクランキングされ、ＣＰＵ６１は、スロットル制御処理によりスロットル開度をエンジン始動用の所定開度に制御すると共に、噴射制御処理及び点火制御処理によりエンジン５に対する燃料噴射と点火とを実施することとなる。
【００２４】
そして、ＣＰＵ６１は、クランク角信号から算出されるエンジン回転数に基づいて、エンジン５が完爆状態（始動が完了した状態であり、いわゆるエンジン５がかかった状態）になったと判定すると、スタータ４５の動作を停止させる。尚、ユーザ始動とは、運転者の始動用操作に応じてエンジン５を始動させることである。
【００２５】
〈アイドルストップ制御処理〉
ＣＰＵ６１は、図３のアイドルストップ制御処理を例えば一定時間毎に実行する。
図３に示すように、ＣＰＵ６１は、アイドルストップ制御処理の実行を開始すると、まずＳ１１０にて、エンジン５が運転中であるか否かを、例えばエンジン回転数に基づいて判定し、エンジン５が運転中であれば、Ｓ１２０に進む。
【００２６】
ＣＰＵ６１は、Ｓ１２０では、自動停止条件が成立したか否かを判定する。自動停止条件は、例えば、下記の全条件が満たされていることである。ブレーキペダル３７が踏まれている。アクセルペダル３５が踏まれていない（アクセルペダル３５の操作量が０）。車速が所定値（例えば５ｋｍ／ｈ）以下である。
【００２７】
ＣＰＵ６１は、自動停止条件が成立したと判定した場合には、Ｓ１３０に進み、エンジン５を自動停止させる処理を行う。その処理としては、例えば、インジェクタ４３からの燃料噴射を停止する。更に、例えばスロットル開度を０にしても良い。
【００２８】
ＣＰＵ６１は、上記Ｓ１３０でエンジン５を停止させるか、あるいは、上記Ｓ１１０でエンジン５が運転中ではない（エンジン５が停止している）と判定した場合には、Ｓ１４０に進み、アイドルストップ中であるか否かを判定する。アイドルストップ中とは、Ｓ１３０の処理によってエンジン５が自動停止された状態のことである。
【００２９】
ＣＰＵ６１は、アイドルストップ中であると判定した場合には、Ｓ１５０に進み、自動始動条件が成立したか否かを判定する。自動始動条件は、例えば、下記の条件の何れかが満たされたことである。ブレーキペダル３７が放された。アクセルペダル３５が踏まれた（アクセルペダル３５の操作量が０ではなくなった）。
【００３０】
ＣＰＵ６１は、自動始動条件が成立したと判定した場合には、Ｓ１６０に進み、エンジン５を自動始動させる（つまり、自動的に再始動させる）処理を行う。その処理としては、例えば前述のユーザ始動用処理と同じ処理を行う。
【００３１】
そして、ＣＰＵ６１は、その後、当該アイドルストップ制御処理を終了する。
また、ＣＰＵ６１は、上記Ｓ１２０にて自動停止条件が成立していないと判定した場合、あるいは、上記Ｓ１４０にてアイドルストップ中ではないと判定した場合、あるいは、上記Ｓ１５０にて自動始動条件が成立していないと判定した場合には、そのまま当該アイドルストップ制御処理を終了する。
【００３２】
このようなアイドルストップ制御処理により、例えば図４における時刻ｔ０で自動停止条件が成立したとすると、時刻ｔ１に示すようにエンジン５が自動的に停止される。そして、図４における時刻ｔ２で自動始動条件が成立したとすると、エンジン５が自動的に再始動されることとなる。尚、図４における「ブレーキオン期間」は、ブレーキペダル３７が踏まれている期間である。また、図４における「アイドルストップ期間」は、エンジン５がアイドルストップ制御によって停止されている期間（自動停止期間）である。
【００３３】
〈トルク制御処理〉
ＣＰＵ６１は、運転者の要求を示す要求情報（例えばアクセルペダル３５の操作量）やエンジン回転数等の運転情報から、エンジン５の目標出力トルク（クランク軸７に発生させる目標のトルク）を決定する。そして、ＣＰＵ６１は、目標出力トルクを実現するための燃料噴射量、燃料噴射タイミング、点火タイミング及びスロットル開度を、噴射制御処理、点火制御処理及びスロットル制御処理の、制御目標値として設定する。
【００３４】
また、ＣＰＵ６１は、目標出力トルクを、エンジン５のロストルクの学習値（以下、ロストルク学習値ともいう）を考慮して決定する。クランク軸７に実際に発生するトルクは、ロストルクの分だけ小さくなるという観点から、ＣＰＵ６１は、例えば、上記要求情報や運転情報から算出した目標出力トルクを、ロストルク学習値の分だけ増量補正して、最終的な目標出力トルクを決定する。尚、ロストルク学習値は、後述するロストルク学習処理によって更新される。
【００３５】
〈発電制御処理〉
ＣＰＵ６１は、オルタネータ４７が発電する電力量（発電量）が目標値となるように、オルタネータ４７に流す励磁電流を制御する。発電量の目標値は、例えば車載バッテリの電力収支から決定されるが、ＣＰＵ６１が演算により算出しても良いし、他の電子制御装置から受け取るようになっていても良い。
【００３６】
〈ロストルク学習処理〉
ＣＰＵ６１は、エンジン５の始動時において、クランク軸７に発生するトルクであるクランク軸発生トルクを推定演算により検出する。尚、エンジン５の始動時（以下単に、始動時ともいう）とは、エンジン５のクランキングが開始されてから、エンジン５の始動が完了するまで（エンジン５が完爆状態になってエンジン回転数がアイドル回転数になるまで）の期間を意味している。
【００３７】
そして、ＣＰＵ６１は、ＲＯＭ６２の図示トルク記憶部６２ａに記憶されている図示トルクと、検出したクランク軸発生トルクとの差分を、エンジン５のロストルクとして算出し、その算出したロストルクを、ロストルク学習値として例えば不揮発性メモリ６４に更新記憶する。
【００３８】
図示トルクは、燃焼によってクランク軸７に発生するトルクであり、エンジンベンチでの計測装置により、筒内圧に基づいて算出することができる。
そして、本実施形態において、図示トルク記憶部６２ａに記憶されている図示トルクは、シリンダ吸気率が最大（１００％）の状態（換言すれば、シリンダ５５内に最大空気量を入れた状態）で予め測定されたトルクである。更に、図示トルク記憶部６２ａに記憶されている図示トルクは、少なくとも、エンジン５の始動時における最大図示トルクＮｉを含む。
【００３９】
また、エンジン５の始動時において、エンジン回転数は、一旦上昇してから下降してアイドル回転数になる。このようなエンジン回転数の吹き上がりは、フレアと呼ばれる。
始動時におけるエンジン回転数はロストルクの影響を受ける。例えば、始動時におけるフレアの最大値（上昇してから下降するエンジン回転数の最大値）のことを、始動時ピーク回転数ＳＰと称することにすると、ロストルクが大きいほど、始動時ピーク回転数ＳＰが小さくなる。
【００４０】
このため、ＣＰＵ６１は、始動時ピーク回転数ＳＰを検出し、その検出した始動時ピーク回転数ＰＳからクランク軸発生トルクを算出する。その算出されるクランク軸発生トルクＮｃは、エンジン５の始動時においてクランク軸７に発生する最大トルクである。そして、ＣＰＵ６１は、図示トルク記憶部６２ａに記憶されている最大図示トルクＮｉと、始動時ピーク回転数ＳＰから算出したクランク軸発生トルクＮｃとの差分（Ｎｉ−Ｎｃ）を、エンジン５のロストルクとして算出する。
【００４１】
また、燃焼が不安定な始動時におけるクランク軸発生トルクをより正確に知るためと、比較対象の図示トルクと同じ条件でのクランク軸発生トルクを知るために、ＣＰＵ６１は、エンジン５の始動時おけるシリンダ吸気率が最大となるようにする。具体的には、ＣＰＵ６１は、エンジン５の停止中にスロットル４１を開き側に制御する。この例では、スロットル４１を全開（スロットル開度＝１００％）にする（図４における時刻ｔ１〜ｔ２の期間を参照）。エンジン５の停止中にスロットル４１が開いていれば、インテークマニホールド５１のスロットル４１よりも下流側であるサージタンク５２内が大気圧となり、エンジン５の始動時においてシリンダ５５内に入る空気（図２において点線楕円で図示）の量は、シリンダ５５内に入り得る最大空気量となる。尚、エンジン５の停止中に制御するスロットル開度は、１００％でなくても良いが大きいほどよく、特にスロットル４１を全開にすれば、サージタンク５２内の大気圧化が素早く行われるため効果が高い。
【００４２】
また、エンジン５の始動時においては、スタータ４５が発生するトルクＮｓが、クランク軸７を回転させるトルクとして加わる。このため、ＣＰＵ６１によって算出されるクランク軸発生トルクＮｃには、トルクＮｓが加算されることとなる。よって、ＣＰＵ６１は、算出するロストルクをトルクＮｓの分だけ増量補正するための補正処理も行う。その補正処理としては、例えば、ロストルクを算出した後、そのロストルクの算出値にトルクＮｓを加算する処理でも良いし、また、ロストルクを算出前に、ロストルクの算出に用いるクランク軸発生トルクＮｃから、トルクＮｓを減算する処理でも良い。何れも結果は同じである。
【００４３】
以上のことを踏まえて、ＣＰＵ６１が実行するロストルク学習処理を、図５を用い説明する。ＣＰＵ６１は、図５のロストルク学習処理を例えば一定時間毎に実行する。
図５に示すように、ＣＰＵ６１は、ロストルク学習処理の実行を開始すると、まずＳ２１０にて、エンジン５が停止しているか否かを判定する。ＣＰＵ６１は、エンジン５が停止していると判定した場合には、次のＳ２２０にて、スロットル４１を開き側に制御して全開にし、その後、Ｓ２３０に進む。尚、Ｓ２２０の処理は、前述のスロットル制御処理よりも優先される。そして、Ｓ２２０でスロットル４１が全開にされると、その全開状態は、後述のＳ２４０で解除されるまで継続する。
【００４４】
また、ＣＰＵ６１は、上記Ｓ２１０にて、エンジン５が停止していない（エンジン５が運転状態である）と判定した場合には、そのままＳ２３０に進む。
ＣＰＵ６１は、Ｓ２３０では、エンジン５の始動が開始されたか否か（即ち、スタータ４５によるクランキングが開始されたか否か）を判定する。本実施形態では、ＣＰＵ６１がスタータ４５を制御しているため、例えば、ＣＰＵ６１は、スタータ４５への通電を開始すると、エンジン５の始動が開始されたと判定する。また、ＣＰＵ６１は、エンジン５の始動が開始されたか否かを、クランク角信号に基づいて判定しても良い。
【００４５】
ＣＰＵ６１は、Ｓ２３０にて、エンジン５の始動が開始されていないと判定した場合には、そのまま当該ロストルク学習処理を終了する。このため、エンジン５が運転状態である場合、あるいは、エンジン５が停止したままである場合には、Ｓ２３０で「ＮＯ」と判定されて、当該ロストルク学習処理は終了する。
【００４６】
また、ＣＰＵ６１は、Ｓ２３０にて、エンジン５の始動が開始されたと判定した場合には、Ｓ２４０に進み、スロットル４１を全開にする制御を解除する。すると、スロットル開度に関しては、スロットル制御処理によって制御する状態に戻る。
【００４７】
そして、ＣＰＵ６１は、次のＳ２５０にて、エンジン回転数をモニタして、始動時ピーク回転数ＳＰを検出する。
次に、ＣＰＵ６１は、Ｓ２６０にて、Ｓ２５０で検出した始動時ピーク回転数ＳＰから、クランク軸発生トルクＮｃを算出する。前述したように、Ｓ２５０で算出されるクランク軸発生トルクＮｃは、エンジン５の始動時においてクランク軸７に発生する最大トルクである。また、Ｓ２６０では、例えば、始動時ピーク回転数ＳＰを、エンジン５の出力特性に基づいて設定された計算式（回転数をトルクに換算する式）に代入することにより、クランク軸発生トルクＮｃを算出する。他の例として、例えば、回転数をトルクに換算するためのデータマップを用意しておき、ＣＰＵ６１は、そのデータマップを用いて、クランク軸発生トルクＮｃを算出しても良い。
【００４８】
ＣＰＵ６１は、次のＳ２７０にて、図示トルク記憶部６２ａから、前述の最大図示トルクＮｉを読み込み、次のＳ２８０にて、その最大図示トルクＮｉと、Ｓ２６０で算出したクランク軸発生トルクＮｃとの差分（Ｎｉ−Ｎｃ）を、エンジン５のロストルクＮＬとして算出する。
【００４９】
ＣＰＵ６１は、次のＳ２９０にて、Ｓ２８０で算出したロストルクＮＬを、始動時にスタータ４５が発生するトルクＮｓの分だけ補正する。具体的には、Ｓ２８０で算出したロストルクＮＬにトルクＮｓを加算した値（ＮＬ＋Ｎｓ）を、補正後のロストルクＮＬとする。また、トルクＮｓは、例えば、予め定められた設定値でも良いが、スタータ４５に流れる駆動電流を計測して、その計測値から算出しても良い。また、スタータ４５の駆動電流を測定することに代えて、電源としてのバッテリ電圧を計測し、その計測値からトルクＮｓを算出しても良い。
【００５０】
そして、ＣＰＵ６１は、次のＳ３００にて、Ｓ２９０で算出したロストルクＮＬを、ロストルク学習値として例えば不揮発性メモリ６４に更新記憶し、その後、当該ロストルク学習処理を終了する。
【００５１】
尚、Ｓ２９０の処理は、当該ロストルク学習処理で算出するロストルクＮＬを、トルクＮｓの分だけ増量補正するための補正処理であるが、その補正処理としては、Ｓ２９０に代えて、Ｓ２８０でロストルクＮＬの算出に用いるクランク軸発生トルクＮｃをトルクＮｓの分だけ小さくする処理を行っても良い。このように変形しても結果は同じである。
【００５２】
以上のようなＥＣＵ１では、アイドルストップ制御によりエンジン５が自動停止した後、例えば図４における時刻ｔ２で自動始動条件が成立して、アイドルストップ制御によりエンジン５が自動的に再始動されると、その始動時において、始動時ピーク回転数ＳＰが検出される（Ｓ２５０）。そして、始動時ピーク回転数ＳＰからクランク軸発生トルクＮｃが算出され（Ｓ２６０）、更に、そのクランク軸発生トルクＮｃと最大図示トルクＮｉとからエンジン５のロストルクＮＬが算出されて（Ｓ２７０〜Ｓ２９０）、ロストルク学習値が更新されることとなる（Ｓ３００）。また、図４では図示を省略しているが、エンジン５の自動的な再始動時だけでなく、ユーザ始動時においても、同様にロストルクＮＬが算出されてロストルク学習値が更新される。
【００５３】
このようなＥＣＵ１によれば、ロストルクを学習するための処理をエンジン５の始動時に行うため、アイドルストップ制御によるエンジン５の自動停止を禁止する必要がない。  例えば、図４における点線の波形は、エンジン５のアイドル運転中にロストルクの学習を実施する従来装置の場合を表している。従来装置では、図４における時刻ｔ０で自動停止条件が成立したとしても、ロストルクを学習するための処理が完了するまでは、エンジン５の自動停止を禁止して、エンジン５を運転状態（アイドル運転状態）にしておく必要がある。図４において、点線の矢印で示す期間のうち、「ＴＬｏ」の期間は、従来装置において、ロストルクを学習するための処理が実施される期間であり、「ＴＳｏ」の期間は、従来装置を用いた場合のアイドルストップ期間である。「ＴＳｏ」の期間は、本実施形態のＥＣＵ１を用いた場合のアイドルストップ期間よりも短くなってしまう。よって、従来装置では燃費の悪化を招くこととなる。
【００５４】
これに対して、本実施形態のＥＣＵ１によれば、アイドルストップ制御の実行に影響を与えることがなく、燃費の悪化を招くことがない。また、ＥＣＵ１によれば、車両３が使用されている最中において、アイドルストップ制御によりエンジン５が自動停止されてから再始動される毎にロストルクの学習を行うことができるため、十分な学習頻度も確保することができる。
【００５５】
また、ロストルクを算出するのに用いるクランク軸発生トルクは、例えばトルクセンサを設けて検出しても良い。これに対し、ＥＣＵ１では、始動時におけるエンジン回転数に基づいてクランク軸発生トルクを算出しているため、そのようなトルクセンサ（クランク軸発生トルクを検出するセンサ）を設ける必要がない。
【００５６】
また例えば、ロストルクを算出するのに用いる図示トルクとクランク軸発生トルクとの各々は、エンジン５の始動が開始された時（クランキングの開始時）から所定時間が経過した時の値としても良い。これに対し、ＥＣＵ１では、ロストルクを算出するのに用いる図示トルクとクランク軸発生トルクとの各々を、始動時における最大値としている。具体的には、ロストルクを算出するのに用いる図示トルクを、始動時における最大図示トルクとし、ロストルクを算出するのに用いるクランク軸発生トルクも、始動時においてクランク軸７に発生する最大トルクとしている。このため、比較対象が一層明確となり、延いてはロストルクの算出精度が向上する。
【００５７】
また、ＥＣＵ１では、始動時において、上昇してから下降するエンジン回転数（フレア）の最大値である始動時ピーク回転数を検出し、その始動時ピーク回転数からクランク軸発生トルク（即ち、始動時におけるクランク軸発生トルクの最大値）を算出している。このため、始動時におけるクランク軸発生トルクの最大値を簡単に精度良く算出することができる。例えば、エンジン回転数の上昇挙動（上昇のしかた）をモニタし、その上昇挙動から、始動時におけるクランク軸発生トルクの最大値を算出することもできるが、そのように構成するよりも処理が簡単になる。
【００５８】
また、ＥＣＵ１において、ロストルクを算出するのに用いる図示トルクは、シリンダ吸気率が最大の状態で測定されたトルクである。そして、エンジン５の停止中にスロットル４１を全開にして、始動時におけるシリンダ吸気率を最大にすることにより、ロストルクの算出に用いるクランク軸発生トルクの方も、シリンダ吸気率が最大の状態での値となるようにしている。このため、比較対象の図示トルクとクランク軸発生トルクとを同じ条件での値にすることができると共に、燃焼が不安定な始動時におけるクランク軸発生トルクをより正確に求めることができる。よって、ロストルクの算出精度を良好にすることができる。
【００５９】
更に、ＥＣＵ１では、算出するロストルクを、始動時にスタータ４５が発生するトルクの分だけ増量補正するため、ロストルクの算出精度を向上させることができる。
［第２実施形態］
次に、第２実施形態のＥＣＵについて説明するが、ＥＣＵの符号としては、第１実施形態と同じ“１”を用いる。また、第１実施形態と同様の構成要素や処理についても、第１実施形態と同じ符号を用いる。
【００６０】
前述したように、第１実施形態のＥＣＵ１では、エンジン５の停止中にスロットル４１を全開にして、始動時におけるシリンダ吸気率を最大にするため、エンジン５の種類によっては、始動時におけるフレアの最大値が大きくなり過ぎる可能性がある。
【００６１】
このことを勘案して、第２実施形態のＥＣＵ１では、第１実施形態のＥＣＵ１と比較すると、下記の《１》,《２》の点が異なる。
《１》マイコン２１のＣＰＵ６１は、エンジン５の始動時において、図６の吹き上がり抑制処理を実行する。図６に示すように、ＣＰＵ６１は、吹き上がり抑制処理では、オルタネータ４７の負荷トルク（クランク軸７に対して負荷となるトルク）を所定値Ｎｇに制御することにより（Ｓ３１０）、始動時におけるエンジン回転数の吹き上がりを抑制する。尚、オルタネータ４７の負荷トルクは、オルタネータ４７への励磁電流によって制御することができる。
【００６２】
《２》ＣＰＵ６１は、図５のロストルク学習処理に代えて、図７のロストルク学習処理を実行する。図７のロストルク学習処理は、図５のロストルク学習処理と比較すると、Ｓ２８０とＳ２９０との間にＳ２８５が追加されている点が異なる。
【００６３】
図７に示すように、ＣＰＵ６１は、Ｓ２８５では、Ｓ２８０で算出したロストルクＮＬを、上記所定値Ｎｇの分だけ補正する。具体的には、Ｓ２８０で算出したロストルクＮＬから所定値Ｎｇを減算した値（ＮＬ−Ｎｇ）を、補正後のロストルクＮＬとする。そして、ＣＰＵ６１は、Ｓ２８５で算出したロストルクＮＬを、次のＳ２９０にて前述の通り更に補正する。
【００６４】
尚、Ｓ２８５の処理は、当該ロストルク学習処理で算出するロストルクＮＬを、オルタネータ４７の負荷トルク（所定値Ｎｇ）の分だけ減量補正するための補正処理であるが、その補正処理としては、Ｓ２８５に代えて、Ｓ２８０でロストルクＮＬの算出に用いるクランク軸発生トルクＮｃを所定値Ｎｇだけ大きくする処理を行っても良い。このように変形しても結果は同じである。また他の変形例として、Ｓ２８５の処理は、Ｓ２９０の後に行っても良い。
【００６５】
このような第２実施形態のＥＣＵ１によれば、始動時における過大なフレアを抑制しつつ、ロストルクの良好な算出精度も確保することができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。
【００６６】
例えば、上記実施形態では、車両３のトランスミッション９が自動変速機であり、アイドルストップ制御によるエンジン５の自動始動時においては、トランスミッション９のシフトレンジがドライブレンジ（Ｄレンジ）になっていると考えられる。このため、エンジン５の自動始動時において、ロストルク学習処理で算出するエンジン５のロストルクとして、トランスミッション９によるトルクの損失分（以下、トランスミッションロストルクという）を除いた値を得たいのであれば、下記のように構成すれば良い。
【００６７】
即ち、図５、図７のＳ２９０で算出したロストルクＮＬから、トランスミッションロストルクを減算した値を、最終的に算出したロストルクとすれば良い。減算に用いるトランスミッションロストルクとしては、例えば、実験的に求めた一定値を用いても良いし、また、エンジンの冷却水温や油温やＡＴＦ（オートマチックトランスミッションフルード）の温度や外気温等に応じて可変設定しても良い。
【００６８】
また、上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述したＥＣＵの他、当該ＥＣＵを構成要素とするシステム、当該ＥＣＵとしてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、ロストルクの学習方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００６９】
３…車両、５…エンジン、６１…マイコンのＣＰＵ、６２ａ…ＲＯＭの図示トルク記憶部
【図１】
2015175277.tif 000003
【図２】
2015175277.tif 000004
【図３】
2015175277.tif 000005
【図４】
2015175277.tif 000006
【図５】
2015175277.tif 000007
【図６】
2015175277.tif 000008
【図７】
2015175277.tif 000009