(57)【特許請求の範囲】
【請求項１】
内燃機関（１０）又はその近傍に設けられ所定の検出機能又は動作機能を有する電気的な機能部品（２９，６０）と、前記機能部品の検出機能又は動作機能を用いて前記内燃機関の運転状態を制御する内燃機関の制御装置（７０）において、
前記内燃機関の温度変化と相関を有する前記機能部品の抵抗体（６１）の抵抗値を検出する抵抗検出手段と、
前記抵抗値の検出結果に基づき前記抵抗体の温度である抵抗温度を算出する抵抗温度算出手段と、
前記内燃機関の冷間状態下で外気温を推定する温度検出手段（７４ｂ）から検出温度を取得する取得手段と、
所定の条件下で、前記抵抗温度算出手段により算出した抵抗温度と、前記取得手段により取得した前記検出温度との差を学習値として算出する学習値算出手段と、
前記学習値による補正後の前記抵抗温度である補正抵抗温度に基づいて、前記内燃機関の温度を算出する機関温度算出手段と、
を備え、
前記機能部品の交換時における作業手順として、前記機能部品の抵抗値を正常状態では使用されない非常値とする作業が定められており、
前記制御装置の起動時において前記機能部品の抵抗値が前記非常値であることに基づいて、前記機能部品が交換されたと判定する交換判定手段を備え、
前記学習値算出手段は、前記交換判定手段により前記機能部品が交換されたと判定された場合に、現時点の前記学習値を消去し、その後、新たな前記学習値を算出する、ことを特徴とする内燃機関の制御装置。
【請求項２】
前記温度検出手段による検出温度が外気温と同等であるか否かを判定する第１判定手段を備え、
前記学習値算出手段は、前記検出温度と前記外気温とが同等であると判定された状況下で、前記学習値を算出する請求項１に記載の内燃機関の制御装置。
【請求項３】
前記制御装置の起動時において前記検出温度と前記補正抵抗温度との温度差が所定以上であるか否かを判定する第２判定手段を備え、
前記学習値算出手段は、前記第２判定手段により前記温度差が所定以上であると判定される発生頻度が所定の高頻度となる場合に、現時点の前記学習値を更新する請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
前記制御装置の起動時において前記検出温度と前記補正抵抗温度との温度差が所定以上であるか否かを判定する第２判定手段を備え、
前記学習値算出手段は、前記第２判定手段により前記温度差が所定以上であると判定される発生頻度が所定の高頻度となる場合において、前記検出温度と前記外気温とが同等であると判定された場合に、前記学習値を消去し、新たな前記学習値を算出する請求項１又は２に記載の内燃機関の制御装置。
【請求項５】
前記機能部品は、前記温度検出手段に比べて前記内燃機関の熱の影響を受けやすい位置に設けられており、
前記学習値算出手段は、前記検出温度が外気温と同等である状況下で、前記補正抵抗温度が、前記検出温度よりも低温の所定の低温域に入っている場合に、それら補正抵抗温度と検出温度との差に基づいて、現時点の前記学習値を更新する請求項１乃至４のいずれか１項に記載の内燃機関の制御装置。
【請求項６】
前記学習値算出手段は、前記補正抵抗温度が、前記検出温度よりも高温の所定の高温域に入っている場合に、それら補正抵抗温度と検出温度との差に基づいて、現時点の前記学習値を更新する請求項１乃至５のいずれか１項に記載の内燃機関の制御装置。
【請求項７】
前記学習値算出手段による学習値の算出に関して、少なくとも、学習値の新たな算出を要する状態であること、学習値の算出が完了した状態であることを、報知手段（８１，８２）により報知する報知制御手段を備える請求項１乃至６のいずれか１項に記載の内燃機関の制御装置。
【請求項８】
前記機能部品は、前記内燃機関の機関本体に設けられ、該内燃機関の回転を検出する回転検出センサ（６０）であり、
前記回転検出センサは、前記抵抗体として、前記内燃機関の回転に連動するロータ（５０）の回転を検出し所定の回転角度周期で回転角信号を出力する検出コイル（６１）を有しており、
前記検出コイルを通電する通電手段（７２）を備え、
前記抵抗検出手段は、前記通電手段により前記検出コイルを通電した状態で、当該検出コイルの抵抗値を検出し、
前記温度算出手段は、前記検出した検出コイルの抵抗値に基づいて、前記内燃機関の温度を算出する請求項１乃至７のいずれか１項に記載の内燃機関の制御装置。
【請求項９】
制御基板に実装され、かつ実装状態で収容部（７０ａ）に収容される制御装置（７０）であって、
前記温度検出手段は、前記収容部に設けられる温度センサ（７４ｂ）である請求項１乃至８のいずれか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関の温度が内燃機関の燃焼状態に及ぼす影響が大きいことに鑑みて、内燃機関の温度に基づいて、燃料噴射制御など、内燃機関の各種の制御が実施されている。例えば、内燃機関の温度と相関を持つ内燃機関の冷却水温を検出するために、内燃機関に温度センサを取り付け、温度センサによる温度の検出結果に基づいて燃料の噴射が制御されている。
【０００３】
しかし、内燃機関の温度を把握するために温度センサを設ける場合、内燃機関に温度センサを取り付けるための加工工程が追加されることや、配線用のワイヤ等の取り付け部品が追加されることに起因して、内燃機関の制御装置のコストが増加してしまう。
【０００４】
そこで、特許文献１では、エンジン本体に直接搭載され、エンジン温度と相関を有するクランク角センサのコイル抵抗値を用いて、エンジン温度を算出することが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２０６１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クランク角センサのコイル抵抗値は個体差によるばらつきがある。またコイル抵抗は経年劣化等により変化する可能性がある。そのためクランク角センサのコイル抵抗値を用いてエンジン温度を算出する場合には、このようなコイル抵抗値のばらつきを考慮する必要がある。
【０００７】
本発明は上記に鑑みてなされたものであり、その目的は、構成の簡略化を図りつつ、エンジン温度を精度よく推定できる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、内燃機関（１０）又はその近傍に設けられ所定の検出機能又は動作機能を有する電気的な機能部品（２９，６０）と、前記機能部品の検出機能又は動作機能を用いて前記内燃機関の運転状態を制御する内燃機関の制御装置（７０）において、前記内燃機関の温度変化と相関を有する前記機能部品の抵抗体（６１）の抵抗値を検出する抵抗検出手段と、前記抵抗値の検出結果に基づき前記抵抗体の温度である抵抗温度を算出する抵抗温度算出手段と、前記内燃機関の冷間状態下で外気温を推定する温度検出手段（７４ｂ）から検出温度を取得する取得手段と、所定の条件下で、前記抵抗温度算出手段により算出した抵抗温度と、前記取得手段により取得した前記検出温度との差を学習値として算出する学習値算出手段と、前記学習値による補正後の前記抵抗温度である補正抵抗温度に基づいて、前記内燃機関の温度を算出する機関温度算出手段と、を備えることを特徴とする。
【０００９】
本発明によれば、学習値による補正後の抵抗温度である補正抵抗温度に基づいて、内燃機関の温度を算出するようにしたため、機能部品の抵抗体の個体差によるばらつきを取り除いた状態で、内燃機関の温度を精度よく算出することができる。
【図面の簡単な説明】
【００１０】
【図１】エンジン制御システムの構成図。
【図２】制御部の回路構成を示す電気的構成図。
【図３】制御部の回路の実装状態を示す図。
【図４】エンジン運転状態と各種温度との関係を示すタイムチャート。
【図５】コイル抵抗値とコイル温度との関係を示す図。
【図６】エンジン停止からの経過時間と補正値αとの関係を示す図。
【図７】コイル温度上昇値と温度加算値βとの関係を示す図。
【図８】ＥＣＵの処理手順を示すフローチャート。
【図９】ＥＣＵの処理手順を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明にかかる制御装置を空冷式のエンジン（内燃機関）が搭載された車両に適用した一実施形態について、図面を参照しつつ説明する。なお本実施形態では、吸気、圧縮、膨張、排気の４行程を、１燃焼サイクルとして運転される４ストロークガソリンエンジンを想定している。また車両としては、自動二輪車であるスクータを想定し、エンジンは単気筒エンジンとしている。スクータにおいては、シートの下方にエンジンが搭載され、そのエンジンがシュラウド（カバー部材）により覆われる構成となっている。
【００１２】
図１において、エンジン１０の吸気通路１２には、上流側から順に、エアクリーナ１４、スロットルバルブ１６、スロットルバルブ１６の開度を検出するためのスロットルセンサ１７、吸気通路１２の圧力（吸気圧）を検出する吸気圧センサ１８が設けられている。スロットルバルブ１６は、その開度（スロットル開度）が調節されることで、エンジン１０の燃焼室２０への吸気量を調節するための部材である。スロットル開度は、ユーザによって操作される図示を略すスロットルグリップの操作に応じて調節される。また吸気通路１２には、スロットルバルブ１６の上流側と下流側とが連通するようにバイパス通路２２が接続されている。バイパス通路２２には、エンジン１０のアイドル運転時におけるエンジン回転速度を制御すべく、バイパス通路２２を流れる吸気量を調節する電磁弁２４が設けられている。
【００１３】
吸気通路１２のうち、吸気圧センサ１８の下流側の吸気ポート近傍には、燃料ポンプ２６によって燃料タンク２８から汲み上げられた燃料を、上記吸気ポート近傍に噴射供給する燃料噴射弁２９が設けられている。燃料噴射弁２９から噴射供給された燃料と吸気との混合気は、吸気バルブ３２の開動作によって燃焼室２０に供給される。
【００１４】
燃焼室２０に供給された混合気は、燃焼室２０に突出する点火プラグ３４の放電火花によって着火され、燃焼に供される。混合気の燃焼によって発生するエネルギは、ピストン３６を介してエンジン１０の出力軸（クランク軸３８）の回転エネルギとして取り出される。なお、点火プラグ３４には、点火装置としての点火コイル３５により点火用の高電圧が印加される。燃焼に供された混合気は、排気バルブ４０の開動作によって、排気として排気通路４２に排出される。
【００１５】
クランク軸３８には、外周にクランク位置信号用の突起を備えた磁石式発電機（以下ロータ５０と記す）が取り付けられている。図２に示されるように、ロータ５０は、その外周部が被検出部分となっており、その外周部には所定の回転角度ごとに複数の突起５１が設けられている。また、ロータ５０の外周部には、等間隔で配置される複数の突起５１の１つ（又は２つ）を欠落させることで、基準位置としての欠歯部５２が設けられている。本実施形態では、突起５１は基本的に３０°ＣＡで等間隔に設けられ、欠歯部５２でのみ６０°ＣＡ間隔となっている。なお、突起５１の数及び間隔は任意であり、１０°ＣＡ間隔とする構成、又は６０°ＣＡ間隔とする構成であってもよい。
【００１６】
エンジン１０のシリンダブロック１１（機関本体）には、ロータ５０の外周（突起５１）に対向する位置に、回転検出センサとしてのクランク角センサ６０が設けられている。より具体的には、クランク角センサ６０は、シリンダブロック１１のクランクケース部に設けられている。クランク角センサ６０は、公知の電磁ピックアップ方式のセンサであり、鉄心（図示を略す）と、鉄心の周りに設けられた検出コイル（以下コイル６１と記す）と、コイル６１を貫く磁束が発生される磁石（図示を略す）とを備えている。
【００１７】
ロータ５０は、クランク軸３８の回転に連動して回転される。ロータ５０の外周にある突起５１がクランク角センサ６０の位置を通過すると、突起５１の凹凸によってクランク角センサ６０のコイル６１を通る磁束が変化し、電磁誘導の作用によってコイル６１に起電力が生じる。この場合、コイル６１では、突起５１の通過を検出することで、所定の回転角度周期で交流信号（回転角信号）を出力する。なお、クランク角センサ６０は、シリンダブロック１１（エンジン本体）に直接搭載されるもの以外に、エンジン近傍に設けられた発電機（ＡＣＧ）のステータコイルのベースに取り付けられ、そのＡＣＧのロータの回転を検出するセンサや、クランクケースカバー側に取り付けられているクランク角センサであってもよい。
【００１８】
排気通路４２には、排気中のＮＯｘ、ＨＣ及びＣＯ等を浄化する三元触媒４６が設けられている。三元触媒４６の上流側には、排気中の酸素濃度に応じて２値的に出力値を変化させる酸素濃度センサ（以下、Ｏ２センサ４８）が設けられている。
【００１９】
また、本実施形態の車両（スクータ）においては、シュラウド内に配置されたエンジン１０を強制冷却するための冷却装置（冷却手段）４９が搭載されている。冷却装置４９は、エンジン１０の回転により駆動される機械式のファン装置を備えるものであり、クランク軸３８に接続された周知の冷却ファンを有している。なお、シュラウドには、外部から冷却風を取り込むための取入口と、その冷却風を排出するための排出口とが設けられており、冷却装置４９が駆動されると、それら取入口と排出口とを通じてシュラウド内を冷却風が通過する。
【００２０】
ＥＣＵ７０は、マイクロコンピュータ７１を備える電子制御ユニットとして構成されている。マイクロコンピュータ７１は、記憶部に記憶された各種プログラムや演算式に基づいて、各種のエンジン制御を実施する。この場合、上述した各種センサで取得された信号に基づき燃料噴射弁２９や点火コイル３５の動作を制御することにより、エンジン１０の運転状態を制御する。本実施形態では、燃料噴射弁２９や点火コイル３５が所定の動作機能を有する機能部品に相当し、クランク角センサ６０が所定の検出機能を有する機能部品に相当する。
【００２１】
なお、ＥＣＵ７０は、エンジン１０の温度の影響を受けにくい箇所に搭載されており、例えば車両のシート下においてエンジン１０よりも上方位置に設置されている。ＥＣＵ７０には、車両のフロント部分に設けられた表示部におけるランプ８１，メータ８２等が接続されている。
【００２２】
ＥＣＵ７０内にはＥＣＵ温度を検出するサーミスタ７４ａ，７４ｂが設けられている。サーミスタ７４ａ，７４ｂが温度検出手段に相当する。各サーミスタ７４ａ，７４ｂの温度の検出値（以下、ＥＣＵ温度と称する）は、エンジン１０の冷間始動時において外気温の推定に使用されたり、燃料噴射の増加量（始動時増量）の算出に使用されたりする。
【００２３】
図３に示すように、各サーミスタ７４ａ，７４ｂは、ＥＣＵ７０の筐体７０ａ内に収容された制御基板ＣＢ上に実装されている。なおサーミスタ７４ａ，７４ｂがＥＣＵ７０に内蔵されている場合、検出温度に対する外乱の影響が抑えられるため、外気温を精度よく推定できる。
【００２４】
また制御基板ＣＢ上には、マイクロコンピュータ７１の他、エンジン運転に伴って発熱するスイッチング素子等の発熱素子ＰＤが実装されている。サーミスタ７４ａは、発熱素子ＰＤから距離ｄ１離れた位置に実装されている。サーミスタ７４ｂは、発熱素子ＰＤから距離ｄ２離れた位置に実装されている。なお距離ｄ１＜ｄ２であるとする。この場合、各サーミスタ７４ａ，７４ｂに対する発熱素子ＰＤの発熱の影響が異なるため、エンジン運転状態においては、サーミスタ７４ａで検出されるＥＣＵ温度Ｔｈ１と、サーミスタ７４ｂで検出されるＥＣＵ温度Ｔｈ２とに差が生じることとなる。
【００２５】
詳しくは図４において、サーミスタ７４ａのＥＣＵ温度Ｔｈ１と、サーミスタ７４ｂのＥＣＵ温度Ｔｈ２とが外気温に一致している状態から、時刻ｔ１でエンジン１０が始動されると、エンジン運転に伴って、発熱素子ＰＤの発熱によりＥＣＵ温度Ｔｈ１，Ｔｈ２が次第に上昇する。この際、ＥＣＵ温度Ｔｈ２よりも、ＥＣＵ温度Ｔｈ１の温度上昇が大きいため、ＥＣＵ温度Ｔｈ１，Ｔｈ２に温度差ΔＴｈが生じることとなる。
【００２６】
その後、時刻ｔ２でエンジン１０が停止すると、発熱素子ＰＤの発熱も停止し、ＥＣＵ温度Ｔｈ１，Ｔｈ２が次第に低下する。そして時刻ｔ３で、ＥＣＵ温度Ｔｈ１，Ｔｈ２が車両の外気温まで低下した際に、両ＥＣＵ温度Ｔｈ１，Ｔｈ２が一致することとなる。
【００２７】
そのため、本実施系形態のＥＣＵ７０は、サーミスタ７４ａ，７４ｂのこのような温度特性を利用して、エンジン１０がソーク状態であるかを判定する。すなわち、エンジン停止後において、サーミスタ７４ａ，７４ｂの温度差が所定温度未満（例えば３℃未満）となった際に、エンジン１０が十分に冷却された状態（ソーク状態）であると判定する。
【００２８】
またＥＣＵ７０は、エンジン１０の停止時及び運転状態下においてクランク角センサ６０のコイル６１の抵抗値を検出し、その検出したコイル抵抗値ＲＳに基づいて、エンジン温度Ｔｅを算出する。すなわち、クランク角センサ６０はシリンダブロック１１（エンジン本体）に直接搭載されており、エンジン温度Ｔｅとの相関を有している。そこで本実施形態では、そのクランク角センサ６０を用いて、エンジン１０の温度を検出することとしている。以下、その構成を説明する。
【００２９】
まずは、クランク角センサ６０の基本機能である回転検出機能について説明する。ＥＣＵ７０には、波形整形回路６２が設けられており、クランク角センサ６０から出力された交流信号は、波形整形回路６２においてパルス信号に変換される。そして、マイクロコンピュータ７１は、波形整形回路６２から入力されるパルス信号の間隔（時間間隔）に基づいてエンジン回転速度を算出する。
【００３０】
また、ロータ５０において欠歯部５２とそれ以外の部位とで、回転角信号の角度間隔が相違しており、マイクロコンピュータ７１は、回転角信号の角度間隔に応じてパルス信号の間隔に相違が生じることに基づいて、欠歯位置（基準位置）の検出を実施する。
【００３１】
次に、クランク角センサ６０のコイル抵抗値を検出することによる、エンジン温度Ｔｅの算出機能について説明する。ＥＣＵ７０は、コイル６１を通電するための通電手段である通電部７２と、通電部７２によるコイル通電時に当該コイル６１にかかる電圧値を検出する電圧検出部７３としてＡ／Ｄ回路とを備えており、マイクロコンピュータ７１は、電圧検出部７３で検出された電圧値（コイル抵抗の相当値）と、コイル６１に流れる電流値とに基づいて求められるコイル抵抗値に基づいて、エンジン温度Ｔｅを算出する。
【００３２】
通電部７２は、定電圧電源７２ａ(電圧Ｖｃｃ)と、ＰＮＰ型のトランジスタ７２ｂ及び７２ｃと、抵抗部７２ｄ(抵抗値Ｒ１)及び抵抗部７２ｅ（抵抗値Ｒ１）と、スイッチ７２ｆとを備えている。トランジスタ７２ｂ及び７２ｃはカレントミラー回路を形成しており、トランジスタ７２ｂ及び７２ｃのベースが互いに接続され、そのベースの接続部がトランジスタ７２ｃのコレクタに接続されている。そして各トランジスタ７２ｂ及び７２ｃのエミッタは、それぞれ定電圧電源７２ａに接続されている。トランジスタ７２ｃのコレクタ側には抵抗部７２ｅが接続されおり、抵抗部７２ｅの他端には電圧検出部７３と、コイル６１と、波形整形回路６２とが並列接続されている。一方、トランジスタ７２ｂのコレクタ側には抵抗部７２ｄが接続されており、抵抗部７２ｄの他端にはスイッチ７２ｆが接続されている。スイッチ７２ｆは、例えば半導体スイッチであり、マイクロコンピュータ７１からの指令信号に基づいて、トランジスタ７２ｂの導通状態と非導通状態とを切り換える。
【００３３】
以上の構成により、スイッチ７２ｆがＯＮとなりトランジスタ７２ｂが導通状態となると、トランジスタ７２ｃも導通状態となり、トランジスタ７２ｂからは電流ＩＳ（ＩＳ＝Ｖｃｃ／Ｒ１）が出力される。トランジスタ７２ｃからは電流ＩＳ２（≒ＩＳ）が出力される。この電流ＩＳ２がコイル６１に供給されるコイル電流となる。なお電流ＩＳ≒ＩＳ２であり、コイル電流は、ＩＳ２＝ＩＳ＝Ｖｃｃ／Ｒ１として求められる。また電圧検出部７３によってコイル６１に掛かるコイル電圧ＶＲＳが検出される。以上によりマイクロコンピュータ７１は、コイル抵抗値ＲＳをＲＳ＝ＶＳＲ／ＩＳ２として算出する。
【００３４】
図４に、エンジン温度Ｔｅとコイル温度Ｔｃとの変化を示すタイムチャートを示す。なお、ここでのエンジン温度Ｔｅは燃焼室２０付近でのエンジン本体の温度、すなわちシリンダヘッドやシリンダブロックの燃焼室周りの温度等である。本チャートでは、時刻ｔ１においてエンジン１０が冷間状態で始動され、その後、時刻ｔ２でエンジン１０の運転が停止されるとしている。時刻ｔ２以降は、エンジン停止状態（ソーク状態）となっている。
【００３５】
図４において、時刻ｔ１のエンジン始動時には、エンジン温度Ｔｅとコイル温度Ｔｃとが一致している。また、これらの温度Ｔｅ，Ｔｃは外気温（すなわち、エンジン始動時のＥＣＵ温度）に一致している。そして、エンジン１０の運転が開始されることに伴い、エンジン温度Ｔｅ、コイル温度Ｔｃがそれぞれ上昇する。エンジン運転中（ｔ１〜ｔ２）には、冷却装置４９によるエンジン１０の空冷が実施され、その空冷により各温度Ｔｅ，Ｔｃの温度上昇が制限される。この場合、エンジン本体とクランク角センサ６０とでは冷却の程度に相違が生じており、クランク角センサ６０では、エンジン全体に比べてファン冷却による冷却作用が大きく働く。それ故に、エンジン温度Ｔｅとコイル温度Ｔｃとに温度差が生じている。つまり、エンジン本体において燃焼室付近は十分な冷却が行われないことが考えられ、図示のとおり温度差が生じる。
【００３６】
一方、時刻ｔ２以降のエンジン停止状態では、冷却装置４９によるエンジン空冷が停止された状態で、自然放熱によりエンジン１０が冷却される。また、コイル温度Ｔｃは、エンジン停止直後におけるシュラウド内のこもり熱により一時的に上昇し、エンジン温度Ｔｅ近くに到達した後、エンジン温度Ｔｅと共に徐々に低下する。この場合、エンジン運転中とは異なり、エンジン温度Ｔｅとコイル温度Ｔｃとはほぼ一致する。
【００３７】
上記のとおりエンジン１０の運転中と停止後とでは、エンジン温度Ｔｅとコイル温度Ｔｃとの関係が相違している。そのため、エンジン運転中には、エンジン温度Ｔｅとコイル温度Ｔｃとには相関はあるものの、冷却装置４９による冷却（走行風による冷却も含まれる）により、エンジン温度Ｔｅとコイル温度Ｔｃとに温度差が生じている（温度が同様にならない）。これに対して、エンジン停止後は、停止直後の所定期間を除いて、エンジン温度Ｔｅとコイル温度Ｔｃとが概ね一致している（温度が同様となる）。
【００３８】
本実施形態では、マイクロコンピュータ７１は、クランク角センサ６０のコイル抵抗を用いてエンジン温度Ｔｅを算出する場合、エンジン運転中であれば、冷却装置４９による冷却分を加味しつつ、コイル抵抗値ＲＳに基づいてエンジン温度Ｔｅを算出する。また、エンジン停止状態であれば、冷却装置４９による冷却分を加味することなく、コイル抵抗値ＲＳに基づいてエンジン温度Ｔｅを算出する。
【００３９】
より具体的には、マイクロコンピュータ７１は、エンジン停止状態では、図５に示すクランク角センサ６０の温度特性ＲＡ（コイル抵抗値ＲＳとコイル温度Ｔｃとの相関関係）を用いて、コイル抵抗値ＲＳからコイル温度Ｔｃを算出する。なお図５の温度特性ＲＡは、クランク角センサ６０の仕様から予め設定されている。そして、コイル温度Ｔｃ≒エンジン温度Ｔｅであることから、コイル温度Ｔｃをエンジン温度Ｔｅとする。なお、コイル温度Ｔｃ≒エンジン温度Ｔｅであることを前提にして、コイル抵抗値ＲＳからエンジン温度Ｔｅを直接算出する構成であってもよい。本実施形態では、電圧検出部７３による検出電圧値を、コイル抵抗の相当値としている。
【００４０】
ただし、エンジン１０の停止直後には、コイル温度Ｔｃがエンジン温度Ｔｅの付近まで到達していない期間が存在する（図４参照、時刻ｔ２の直後）。そのため、エンジン停止直後に限って、エンジン温度Ｔｅの算出を一時的に禁止するか、又はＴｅ＝Ｔｃ＋αとして、エンジン温度Ｔｅを算出するとよい。αは、例えば図６の関係に基づいて算出される補正値である。図６では、エンジン停止からの経過時間に基づいて、その経過時間が小さいほど、補正値αとして大きい値が算出される。
【００４１】
これに対し、マイクロコンピュータ７１は、エンジン運転中には、図５の関係を用いて、コイル抵抗値ＲＳからコイル温度Ｔｃを算出するとともに、そのコイル温度Ｔｃに、冷却装置４９の冷却による放熱分である温度加算値βを加算して、エンジン温度Ｔｅを算出する（Ｔｅ＝Ｔｃ＋β）。この場合、温度加算値βは、エンジン始動時における初期温度を基準にして、その初期温度からのコイル温度Ｔｃの上昇値に応じて算出されるとよい。具体的には、温度加算値βは、例えば図７の関係に基づいて算出されるとよい。図７では、コイル温度上昇値に基づいて、その上昇値が大きくなるほど、温度加算値βとして大きい値が算出される。この場合、コイル温度上昇値と温度加算値βとが比例関係にあってもよい。
【００４２】
図４で説明すると、エンジン始動時における初期温度が「Ｔｉ」であり、エンジン運転中の時刻ｔｘで、コイル温度上昇値が「ΔＴｃｏ」、温度加算値βが「β１」であるとする。この場合、時刻ｔｘでのエンジン温度Ｔｅは「Ｔｉ＋ΔＴｃｏ＋β１」として算出される。
【００４３】
なお、エンジン運転中においては、ロータ５０が回転している状態下でクランク角センサ６０のコイル６１を一時的に通電し、その通電状態において、交流信号である回転角信号が出力されていない期間（信号非出力期間）でコイル抵抗値ＲＳを検出すればよい。
【００４４】
ところで、クランク角センサ６０のコイル抵抗Ｒｃには製品個体差によるばらつき（公差）がある。そのため、図５に示すように、あるコイル抵抗Ｒｃに対するコイル温度Ｔｃの算出値が、温度特性ＲＡＳから温度特性ＲＳＢの間で変化する可能性がある。特に、コストダウンを図るために安価な（低精度の）クランク角センサ６０が使用される場合には、ばらつき（公差）が大きくなるおそれがある。
【００４５】
そのため、予め設定された温度特性ＲＡに基づいて、コイル抵抗値ＲＳからコイル温度Ｔｃを算出した場合に、コイル温度Ｔｃの算出値に誤差が生じ、その影響がエンジン温度Ｔｅの算出値に及ぶおそれがある。
【００４６】
そこで本実施形態では、車両の工場製造後において、コイル温度Ｔｃと、基準温度としてのサーミスタ７４ａ，７４ｂの検出温度（すなわちＥＣＵ温度）との温度差に基づいて、コイル温度Ｔｃを補正するための学習値ＬＮを算出する。そして、その学習値ＬＮによる補正後のコイル温度Ｔｃ（以下、補正コイル温度と称する）を用いてエンジン温度Ｔｅを算出することで、クランク角センサ６０の製品個体差によるコイル温度Ｔｃの誤差分を補正した状態でのエンジン温度Ｔｅの算出を可能にしている。なお、基準温度としてのＥＣＵ温度は、サーミスタ７４ａ，７４ｂのいずれで検出されたものでもよいが、本実施形態では、発熱素子ＰＤによる影響の小さいサーミスタ７４ｂにより検出された温度をＥＣＵ温度とし、以下それをＥＣＵ温度Ｔｈとする。
【００４７】
車両の市場出荷前における初期学習は以下のとおりである。まず車両の市場出荷前においてＥＣＵ７０が初めて起動（ＩＧオン）され、新しく搭載されたクランク角センサ６０が初めて使用される際に、マイクロコンピュータ７１は、サーミスタ７４ｂにより検出されたＥＣＵ温度Ｔｈを取得するとともに、図５の温度特性ＲＡを用いてクランク角センサ６０の出力電圧（コイル抵抗値ＲＳ）からコイル温度Ｔｃを算出する。そして、ＥＣＵ温度Ｔｈとコイル温度Ｔｃとの差分ΔＴを算出し（ΔＴ＝Ｔｃ−Ｔｈ）、それを学習値ＬＮとして記憶する。
【００４８】
そして、車両の市場出荷後においては、マイクロコンピュータ７１は、コイル温度Ｔｃを学習値ＬＮで補正することにより算出した補正コイル温度に基づいて、エンジン温度Ｔｅを算出する（Ｔｅ＝Ｔｃ−ＬＮ）。このように、補正コイル温度を用いてエンジン温度Ｔｅを算出することで、クランク角センサ６０の製品個体差に起因するばらつきを抑えた状態で、エンジン温度Ｔｅを算出できる。
【００４９】
ところで、仮に学習値ＬＮが正しく算出されていないと、エンジン温度Ｔｅが誤って算出されることになる。例えば、学習値ＬＮの算出時において、エンジン１０が暖機状態にあり、ＥＣＵ温度Ｔｈやコイル温度Ｔｃがその影響を受けていると、誤った学習値ＬＮが算出されてしまう。
【００５０】
そこで、マイクロコンピュータ７１は、学習値ＬＮの算出後において、ＥＣＵ７０が起動される毎に、ＥＣＵ温度Ｔｈと補正コイル温度との温度差が所定以上であるか否かを判定し、温度差が所定以上であると判定される発生頻度が所定の高頻度となる場合に、現時点の学習値ＬＮを更新する。すなわち、ＥＣＵ温度Ｔｈと補正コイル温度との温度差として、所定範囲内の温度差、すなわち同等の温度差が繰り返し生じている場合に、学習値ＬＮについて再学習を実施する。
【００５１】
つまり、ＥＣＵ７０の起動時にＥＣＵ温度Ｔｈと補正コイル温度との温度差が所定以上となることが頻発する場合には、その温度差の生じる原因が、エンジン１０の暖機に起因するものとは想定し難く、学習値自体に問題がある可能性が高いと考えられる。この場合、再学習処理を実施する。例えば、複数回のＥＣＵ７０の起動時で連続して、ＥＣＵ温度Ｔｈと補正コイル温度との温度差が所定以上となる場合、再学習処理を実施する。
【００５２】
また、車両の長期の使用に際しては、クランク角センサ６０の経年劣化（コイル抵抗やワイヤーハーネス等の配線部材の劣化等）に伴ってコイル抵抗Ｒｃの温度特性が変化しうる。図５を参照して説明すると、クランク角センサ６０の経年劣化に伴って、コイル抵抗Ｒｃとコイル温度Ｔｃとの相関関係が変化する（例えば温度特性ＲＳＢ側にシフトする）ことが生じうる。この場合、学習値ＬＮを修正することが必要となる。
【００５３】
そこで本実施形態では、学習値ＬＮの更新条件を定めておき、その更新条件が成立した際に、学習値ＬＮを更新する更新処理を行う。具体的には、以下の（ａ），（ｂ）に示す更新条件が成立した際に、ＥＣＵ温度Ｔｈと補正コイル温度との温度関係が正常状態ではないとみなし、学習値ＬＮを更新する。
【００５４】
（ａ）ＥＣＵ温度Ｔｈが外気温と同等であると判定される状況下において、補正コイル温度がＥＣＵ温度Ｔｈよりも低温の所定の低温域（例えばＴｈよりも３℃以下）に入っている場合に、更新条件が成立しているとして学習値ＬＮを更新する。すなわち、ＥＣＵ７０は自己発熱や日射等の影響により、ＥＣＵ７０のみが温度上昇する場合もあるが、クランク角センサ６０の温度よりも所定温度以上に高くなることはない。また、クランク角センサ６０はシリンダブロック１１に取り付けられており、エンジン１０の発熱の影響を受けるため、コイル温度Ｔｃが許容誤差分（例えば３℃）を超えて、ＥＣＵ温度Ｔｈよりも低くなることはない。そこで、補正コイル温度がＥＣＵ温度Ｔｈに対して所定以上に低温となる場合に、コイル抵抗Ｒｃの温度特性が変化したとして、学習値ＬＮを更新する。
【００５５】
（ｂ）エンジン１０の運転状態で、補正コイル温度がＥＣＵ温度Ｔｈよりも高温の所定の高温域（例えばＴｈよりも４０℃以上）に入っている場合に、更新条件が成立しているとして学習値ＬＮを更新する。すなわち、エンジン運転時にはエンジン冷却が行われることを考えると、エンジン運転中であっても、コイル温度ＴｃがＥＣＵ温度Ｔｈに対して所定の温度差上限値（例えば４０℃）を超えて高温になることはない。そこで、補正コイル温度がＥＣＵ温度Ｔｈに対して所定以上に高温となる場合に、コイル抵抗Ｒｃの温度特性が変化したとして、学習値ＬＮを更新する。
【００５６】
更新条件が成立した場合には、現時点の学習値ＬＮ（ｉ−１）を、ＥＣＵ温度Ｔｈとコイル温度Ｔｃとの差分ΔＴ（ΔＴ＝Ｔｃ−Ｔｈ）に基づき更新して、新たな学習値ＬＮ（ｉ）を算出する。例えば、ΔＴに、所定の重み係数を乗算し、その積を学習値ＬＮ（ｉ−１）に加算することで、新たな学習値ＬＮ（ｉ）を算出する。１回当たりの更新値を一定値としてもよい。また、更新幅には上限を定めておくとよい。
【００５７】
なお（ｂ）の場合には、クランク角センサ６０の経年劣化に伴うコイル温度Ｔｃの増加と、エンジン暖機によるコイル温度Ｔｃの増加とを区別する必要がある。そこで本実施形態では、ＥＣＵ温度Ｔｈと補正コイル温度との温度関係が正常ではない状態が、エンジン始動毎に複数回繰り返されることが判定された際に、学習値ＬＮを更新する。この場合、エンジン暖機の影響によるコイル抵抗Ｒｃの変化と、経年劣化に伴うコイル抵抗Ｒｃの変化とを区別して、学習値ＬＮを更新できる。
【００５８】
更に、車両の市場出荷後には、ユーザやディーラ作業者等によりクランク角センサ６０が交換される場合が想定され、その交換に際して学習値ＬＮの消去及び再算出が行われる。すなわち上述したように、クランク角センサ６０のコイル抵抗には個体差がある（図５参照）。そのため、クランク角センサ６０が交換され、コイル抵抗の温度特性が変わる場合には学習値ＬＮを算出しなおす必要が生じる。この際、車両メンテナンスにおけるコスト削減するためには、専用のダイアグツールを使用せずに自車両における既存の構成部品を用いて、クランク角センサ６０が交換されたと判定されることが望ましい。
【００５９】
本実施形態では、クランク角センサ６０の交換手順が予め規定されており、ユーザ等はその交換手順に従って、クランク角センサ６０の交換作業を実施する。具体的には、クランク角センサ６０の交換時における作業手順として、クランク角センサ６０の出力値（コイル電圧ＶＲＳ）を正常状態では使用されない非常値とする作業が定められており、マイクロコンピュータ７１は、ＥＣＵ７０の起動時においてクランク角センサ６０の抵抗値が正常状態ではない非常値であることに基づいて、クランク角センサ６０が交換されたと判定する。そして、クランク角センサ６０が交換されたと判定された場合に、現時点の学習値ＬＮを消去し、その後、新たな学習値ＬＮを算出する（すなわち再学習を実施する）。
【００６０】
例えば、クランク角センサ６０の交換時において、クランク角センサ６０を外した状態でイグニッションオンすることを作業手順として定めておく。この場合、イグニッションオン直後のセンサ出力は、断線時の出力電圧（例えば５Ｖ）となる。そこで、マイクロコンピュータ７１は、この異常な出力電圧を検出した際に、クランク角センサ６０の抵抗値が非常値であるとして、クランク角センサ６０の交換が行われたと判定する。
【００６１】
その他に、クランク角センサ６０を外した後に、センサ用コネクタに、特殊信号を出力する出力装置を接続することを作業手順として定めておいてもよい。出力装置は、例えばオンオフ信号（０Ｖ、５Ｖ）を交互に出力する。この場合、イグニッションオン直後のセンサ出力は、通常ではあり得ない非常値となる。そこで、マイクロコンピュータ７１は、その非常値に基づいてクランク角センサ６０の交換が行われたと判定してもよい。
【００６２】
クランク角センサ６０の交換が行われたと判定された場合には、現時点の学習値ＬＮを消去し、その後、新たな学習値ＬＮを算出する。例えば、学習値ＬＮの消去に伴う一連の手順として、イグニッションがオフに切り替えられる前に新たな学習値ＬＮを算出する。または、学習値ＬＮが消去されてから、一旦イグニッションがオフとされた後、次回イグニッションがオンとされた際（所定の条件が成立した際）に、新たな学習値ＬＮを算出するようにしてもよい。
【００６３】
上記のようにすると、専用のダイアグツールを使用せずとも再学習を実施できる。またユーザ等による所定の交換手順が実施されたことを条件として再学習が実施されるため、ユーザ等がクランク角センサ６０の交換以外の目的でクランク角センサ６０を取り外した際に、誤って再学習が実施されることを回避できる。
【００６４】
またマイクロコンピュータ７１は、学習値ＬＮの算出に関して、少なくとも、学習値ＬＮの新たな算出（再学習）を要する状態であること、学習値ＬＮの算出が完了した状態であることを、報知手段を用いてユーザに報知する。例えば、自車両の表示部に設けられたランプ８１の点滅状態や、メータ８２におけるコード表示等により学習状態を報知する。これによりユーザは、表示部の情報を確認することで、再学習の要否や再学習の実施状況などを認識することができる。
【００６５】
次にマイクロコンピュータ７１が実施する各種処理の手順について説明する。図８は、学習処理のフローチャートである。図９はクランク角センサ６０の交換判定処理に関するフローチャートである。なお以下の処理は、図示を略すイグニッションスイッチがオンに切り替えられた後に実施される。
【００６６】
図８の学習処理において、まずイグニションスイッチがオンに切り替えられた直後であるか否かを判定する（Ｓ１０）。そして、切り替え直後であれば、クランク角センサ６０のコイル電圧ＶＲＳを取得するとともに（Ｓ１１）、そのコイル電圧ＶＲＳに基づいて、クランク角センサ６０のコイル温度Ｔｃを算出する（Ｓ１２）。また、ＥＣＵ温度Ｔｈを取得する（Ｓ１３）。
【００６７】
その後、初回学習の実施条件が成立しているか否かを判定する（Ｓ１４）。初回学習の実施条件は、クランク角センサ６０の組み付け後に実施される初回学習を実施するか否かを判定する条件であり、車両の工場出荷前において初回のイグニッションオン時（初回起動時）に条件成立の旨が判定される。また本実施形態では、クランク角センサ６０の交換に伴い学習値ＬＮが消去されることになっており、そのクランク角センサ６０の交換後において初回のイグニッションオン時等にも条件成立の旨が判定される。
【００６８】
Ｓ１４を肯定する場合、初回学習を実施する（Ｓ１５）。このとき、ＥＣＵ温度Ｔｈが外気温と同等であることを条件に、ＥＣＵ温度Ｔｈとコイル温度Ｔｃとの差分ΔＴにより学習値ＬＮを算出しメモリに記憶する。その後、初回学習が完了した旨を、ランプ８１の点滅等により報知する（Ｓ１６）。学習値ＬＮの算出後は、この学習値ＬＮを用いた補正後のコイル温度Ｔｃ（補正コイル温度）に基づいて、エンジン温度Ｔｅが算出される。
【００６９】
また、Ｓ１４を否定する場合に、再学習の実施条件が成立するか否かを判定する（Ｓ１７）。再学習の実施条件は、学習値ＬＮが既に存在している場合にその学習値ＬＮが正しく算出されたものか否かを判定する条件であり、例えば初回学習において学習値ＬＮが誤って算出された場合に肯定される。その判定に関して具体的には、ＥＣＵ７０の起動時において、ＥＣＵ温度Ｔｈと、補正コイル温度との温度差が所定以上であるか否かを判定し、その温度差が所定以上であると判定される発生頻度が所定の高頻度となる場合に、学習値ＬＮが正しく算出されたものでないと判定する。
【００７０】
Ｓ１７を肯定する場合、現在の学習値を更新する（Ｓ１８）。このとき、現時点の学習値ＬＮを消去するとともに、ＥＣＵ温度Ｔｈとコイル温度Ｔｃとの差分ΔＴにより新たな学習値ＬＮを算出してメモリに記憶する（再学習する）。その後、再学習が完了した旨を、ランプ８１の点滅等により報知する（Ｓ１９）。なお、初回学習が完了した時の報知（Ｓ１６）と、再学習が完了した時の報知（Ｓ１９）とは同じ報知態様で実施されてもよいし、各々区別できるように異なる報知態様で実施されてもよい。
【００７１】
また、Ｓ１４，Ｓ１７を共に否定する場合、学習値ＬＮの更新条件が成立するか否かを判定する（Ｓ２０）。学習値ＬＮの更新条件は上述のとおりであり、ＥＣＵ温度Ｔｈ≒外気温となる状況下において、コイル温度ＴｃがＥＣＵ温度Ｔｈよりも低温の所定の低温域（例えばＴｈよりも３℃以下）に入っている場合に、更新条件が成立しているとされる。又は、エンジン１０の運転状態で、補正コイル温度がＥＣＵ温度Ｔｈよりも高温の所定の高温域（例えばＴｈよりも４０℃以上）に入っている場合に、更新条件が成立しているとされる。
【００７２】
Ｓ２０を肯定する場合、学習値ＬＮの更新処理を実施する（Ｓ２１）。このとき、現時点の学習値ＬＮ（ｉ−１）と、ＥＣＵ温度Ｔｈ及びコイル温度Ｔｃの差分ΔＴとに基づいて、新たな学習値ＬＮ（ｉ）を算出し、その学習値ＬＮ（ｉ）により現時点の学習値ＬＮ（ｉ−１）を更新する。なお、学習値ＬＮの更新時にもランプ８１等による報知を行うようにしてもよい。
【００７３】
また、図９のクランク角センサ６０の交換判定処理では、イグニションスイッチがオンに切り替えられた直後であるか否かを判定する（Ｓ３０）。そして、切り替え直後であれば、クランク角センサ６０のコイル電圧ＶＲＳを取得する（Ｓ３１）。その後、コイル電圧ＶＲＳが、正常状態では使用されない非常値であるか否かにより、クランク角センサ６０の交換が実施されたか否かを判定する（Ｓ３２）。
【００７４】
ステップＳ３２を肯定する場合、学習値ＬＮを消去する（Ｓ３３）。その後、学習値ＬＮが消去されたことを、ランプ８１の点滅等により報知するとともに、交換履歴をメモリに記憶する（Ｓ３４）。なお、学習値ＬＮの消去時の報知態様は、初回学習時や再学習時の報知態様と異なっているとよい。
【００７５】
上記によれば以下の優れた効果を奏することができる。
【００７６】
・エンジン１０の温度変化と相関を有するクランク角センサ６０のコイル抵抗Ｒｃの抵抗値から、コイル抵抗Ｒｃの温度（コイル温度Ｔｃ）を算出し、そのコイル温度Ｔｃからエンジン温度Ｔｅを算出することができる。しかし、クランク角センサ６０のコイル抵抗Ｒｃの抵抗値は、製品個体差によるばらつきがある。そのため、コイル温度Ｔｃを用いてエンジン温度Ｔｅを算出する場合には、コイル抵抗Ｒｃの製品個体差によるばらつきの影響を考慮する必要がある。そこで、所定の条件下で、ＥＣＵ温度Ｔｈ（サーミスタ７４ａ，７４ｂによる検出温度）とコイル温度Ｔｃとの温度差を学習値ＬＮとして算出する。そして、学習値による補正後のコイル温度Ｔｃに基づいて、エンジン温度Ｔｅを算出するようにした。そのため、クランク角センサ６０のコイル抵抗Ｒｃの個体差によるばらつきを取り除いた状態で、エンジン温度Ｔｅを精度よく算出することができる。
【００７７】
・ＥＣＵ温度Ｔｈが外気温と同等であると判定される場合には、エンジン１０が十分に冷却された状態であると推定される。この場合、エンジン１０が十分に冷却された状態では、ＥＣＵ温度Ｔｈとコイル温度Ｔｃとが同等となっていると考えられ、その状況下においては学習値ＬＮを適正に算出することができる。
【００７８】
・ＥＣＵ７０の起動時にＥＣＵ温度Ｔｈ補正コイル温度との温度差が所定以上となることが頻発する場合には、その温度差の生じる原因が、エンジン１０の暖機に起因するものとは想定し難く、学習値自体に問題がある可能性が高いと考えられる。この場合、学習値ＬＮを算出しなおすことにより、エンジン温度Ｔｅの算出精度を高めることができる。
【００７９】
・クランク角センサ６０はエンジン１０のシリンダブロックに取り付けられており、エンジン１０の発熱の影響を受けるため、補正コイル温度が許容誤差分（例えば３℃）を超えて、ＥＣＵ温度Ｔｈよりも低くなることはない。この点を考慮すると、経時変化等が原因でコイル温度Ｔｃの算出精度が低下してきたことを把握でき、学習値ＬＮについて必要に応じた更新処理を実施できる。
【００８０】
・エンジン運転時にはエンジン冷却が行われることを考えると、エンジン運転中であっても補正コイル温度がＥＣＵ温度Ｔｈに対して所定の温度差上限値（例えば４０℃）を超えて高温になることはない。この点を考慮すると、経時変化等が原因でコイル温度Ｔｃの算出精度が低下してきたことを把握でき、学習値ＬＮについて必要に応じた更新処理を実施できる。
【００８１】
・コイル抵抗Ｒｃの抵抗値には個体差があるため、クランク角センサ６０が交換された際にはコイル抵抗値ＲＳが変わる。そこで、クランク角センサ６０の交換に伴い学習値ＬＮを算出しなおすようにした。この場合、交換後のクランク角センサ６０のコイル抵抗値ＲＳに合わせて、適切な学習値ＬＮを取得できる。また、二輪車においては、コスト低減を図るべく、ダイアグツール等を使用せずとも、ＥＣＵ７０が車両の各種状態を認識できる構成であることが望ましい。この点、上記構成によれば、クランク角センサ６０の交換時において、クランク角センサ６０の出力を利用して当該交換をＥＣＵ７０で認識できる。
【００８２】
・学習値ＬＮが消去された場合、及び学習値ＬＮが新たに算出された場合に、その旨をユーザに報知する構成にした。これにより、ユーザは車両における学習の実施状況について把握できる。
【００８３】
・ＥＣＵ７０の筐体７０ａ内に収容されているサーミスタ７４ａ，７４ｂは、クランク角センサ６０に比べて外部環境の影響を受けにくく、信頼性が比較的高いものであると考えられる。したがって、このサーミスタ７４ａおよび７４ｂの少なくともいずれかを基準にして学習値ＬＮを算出することで、学習値ＬＮの信頼性を高めることができる。
【００８４】
なお本発明は上記に限定されず以下のように実施してもよい。なお以下の説明において上記と同様の構成には同じ図番号を付し詳細な説明は省略する。
【００８５】
・上記の図８のＳ１７の処理が肯定される場合、すなわち、ＥＣＵ温度Ｔｈと、学習値ＬＮによる補正後のエンジン温度Ｔｅとの温度差が所定以上であると判定される発生頻度が所定の高頻度となる場合には、ＥＣＵ温度Ｔｈが外気温と同等であること（ソーク状態であること）を条件として、現時点での学習値を消去するとともに、新たな学習値ＬＮを算出してもよい。
【００８６】
・上記の図８のＳ１４の処理において、学習値ＬＮがユーザによって意図的に消去された履歴がある場合にも、初回学習の実施条件が成立したと判定されてもよい。
【００８７】
・上記において、マイクロコンピュータ７１がクランク角センサ６０を通電していないにもかかわらず、クランク角センサ６０に所定電圧がかかっていることが検出された場合に、クランク角センサ６０の出力値が正常状態では使用されない非常値であると判定されてもよい。
【００８８】
・上記では、ＥＣＵ７０に設けられた２つのサーミスタ７４ａ，７４ｂの温度差を用いて、エンジン１０がソーク状態であるかを判定している。これ以外にも、二輪車に搭載された温度センサのうち、エンジン１０の温度検出用以外であって、エンジン１０のソーク状態の際に、外気温を検出可能な温度センサ（例えば外気温センサ）を用いて、エンジン１０がソーク状態であるかが判定されてもよい。
【００８９】
・上記では、クランク角センサ６０が持つコイル６１の抵抗値に基づいて、エンジン１０の温度を算出する例を説明した。これ以外にもエンジン１０又はその近傍に備え付けられており、エンジン温度Ｔｅと温度特性に相関を持つ電気的な機能部品の抵抗体の抵抗値に基づいて、エンジン温度Ｔｅを算出できる。例えば、本来の動作機能として、燃料と吸気との混合気を燃焼室２０に噴射供給する燃料噴射弁２９の抵抗体の抵抗値を用いて、エンジン温度Ｔｅを算出してもよい。この場合、燃料噴射弁２９の噴射供給動作（本来の動作機能）が行われないエンジン１０の始動時等のタイミングで、通電部７２によって燃料噴射弁２９の抵抗体（例えばコイル）を一時的に通電し、電圧検出部７３で検出した電圧値（又は抵抗値）に基づいてエンジン温度Ｔｅを算出する。これ以外にも、機能部品として、エンジン１０のシリンダブロック１１に設けられたカム角センサなどの抵抗体の抵抗値を用いて、エンジン温度Ｔｅを算出してもよい。
【００９０】
・また、機能部品として、アイドル空気量を調整するＩＳＣ弁（電磁弁２４）、触媒暖機のための二次エアを排気通路４２に供給する二次エアバルブ、キャニスタに吸着したエバポガスを吸気通路１２に供給するパージ弁を用いることが可能である。これらの各機能部品について、本来の動作機能を行わない休止時に、抵抗体への通電により抵抗値を取得する。そして抵抗値に基づきエンジン温度を算出することができる。なお、上記のＩＳＣ弁や二次エアバルブ、パージ弁は、いずれもエンジン本体に直接搭載されるものでなく、エンジン本体の近傍に設けられるものとなっている。
【００９１】
・抵抗値を検出するための通電部７２による機能部品への通電が、機能部品の本来の動作機能に影響しない場合には、機能部品の本来の動作機能と、エンジン温度Ｔｅの検出機能とが同時に行われてもよい。また抵抗体としては、コイル以外にも、機能部品を構成する銅線を用いることができる。
【００９２】
・上記では、ＥＣＵ７０がソーク状態であるかを判定することを前提として、ＥＣＵ７０内に設けられた複数のサーミスタ７４ａ，７４ｂによる温度の検出結果に基づき外気温を推定する例を示したがこれに限定されない。例えば、ＥＣＵ７０の発熱が外気温を推定することに対して影響が少ない場合には、ＥＣＵ７０内に設けられた１つのサーミスタの温度の検出結果に基づいて外気温を推定することも可能である。
【００９３】
・本発明は、エンジンが搭載された各種車両や機械に適用でき、例えば四輪自動車や、産業用車両、クレーン車等の建設機械、トラクター等の農業機械等への適用が可能である。また、コジェネレーション等のエネルギ供給システムに用いられるエンジンにも適用可能である。更には、本発明は、水冷タイプのエンジン、多気筒エンジン等、エンジンの種類に関わらず、周知のエンジンが搭載された車両に適用することができる。
【符号の説明】
【００９４】
１０…エンジン、２９…燃料噴射弁、６０…クランク角センサ、６１…コイル、７０…ＥＣＵ、７４ａ…サーミスタ、７４ｂ…サーミスタ。
【図１】
0006519306.tif 000002
【図２】
0006519306.tif 000003
【図３】
0006519306.tif 000004
【図４】
0006519306.tif 000005
【図５】
0006519306.tif 000006
【図６】
0006519306.tif 000007
【図７】
0006519306.tif 000008
【図８】
0006519306.tif 000009
【図９】
0006519306.tif 000010