(57)【要約】【課題】  不揮発性メモリに推定温度データを書き込むことができなかった場合でも、過熱防止機能を維持しつつ、電動モータによる操舵機能が十分得られるようにする。【解決手段】  マイコンは、ＥＥＰＲＯＭのデータが異常である場合には、予め高温設定された仮基板温度Ｔｂmaxから温度センサにより検出された基板温度Ｔｂを減算した基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）を使って、モータ推定温度を計算するための各仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを補正する（Ｓ６１，Ｓ６２）。従って、基板温度Ｔｂに応じた初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を設定することができる。この場合、温度センサが異常である場合には、基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）を使った補正を行わない（Ｓ６３）。【選択図】  図９
2012046049.tif 000002
【特許請求の範囲】
【請求項１】
操舵トルクを発生する電動モータと、
前記電動モータの温度を逐次演算により推定する温度推定手段と、
操舵ハンドルの操舵状態を検出する操舵検出手段と、
前記推定された電動モータの推定温度に基づいた電流制限を加えながら、前記検出された操舵ハンドルの操舵状態に基づいて前記電動モータの目標通電制御量を演算し、前記演算された目標通電制御量に従って前記電動モータを駆動制御するモータ制御手段と、
前記電動モータの推定温度に関する推定温度データを記憶するための不揮発性記憶手段と、
前記電動モータの駆動制御の終了時に前記温度推定手段により推定された前記電動モータの推定温度に関する推定温度データを前記不揮発性記憶手段に書き込むとともに、次回の前記電動モータの駆動制御開始時に前記不揮発性記憶手段に記憶されている推定温度データを読み出す推定温度データ読み書き手段と
を備え、
前記温度推定手段は、前記電動モータの駆動制御開始時に前記推定温度データ読み書き手段により読み出された推定温度データを利用して前記電動モータの推定温度の演算を開始する操舵装置において、
前記電動モータの温度変化とともに温度が変化する部位の温度を関連温度として測定する関連温度測定手段と、
前記電動モータの駆動制御開始時に前記不揮発性記憶手段のデータが異常であるか否かを判断するデータ異常検出手段と、
予め過熱防止用高温度に設定された仮推定温度初期値を記憶しており、前記不揮発性記憶手段のデータの異常が検出された場合に、前記関連温度測定手段により測定される前記関連温度を取得し、前記仮推定温度初期値を前記関連温度が低いほど減少するように補正した補正推定温度初期値を演算する異常時補正推定温度初期値演算手段と
を備え、
前記温度推定手段は、前記不揮発性記憶手段のデータの異常が検出された場合、前記異常時補正推定温度初期値演算手段により演算された補正推定温度初期値を使って前記電動モータの推定温度の演算を開始することを特徴とする操舵装置。
【請求項２】
前記異常時補正推定温度初期値演算手段は、予め過熱防止用高温度に設定された仮関連温度初期値を記憶しており、前記仮関連温度初期値と前記関連温度測定手段により測定される関連温度との温度差に基づいて、前記仮推定温度初期値を前記温度差が大きいほど減少するように補正した補正推定温度初期値を演算することを特徴とする請求項１記載の操舵装置。
【請求項３】
前記電動モータの駆動制御の終了時に前記関連温度測定手段により測定された前記関連温度に関する関連温度データを前記不揮発性記憶手段に書き込むとともに、次回の前記電動モータの駆動制御開始時に前記不揮発性記憶手段に記憶されている関連温度データを読み出す関連温度データ読み書き手段と、
前記電動モータの駆動制御開始時に前記不揮発性記憶手段のデータの異常が検出されない場合には、前記関連温度データ読み書き手段により読み出された関連温度データで表される関連温度と前記関連温度測定手段により測定される関連温度との温度差に基づいて、前記推定温度データ読み書き手段により読み出された推定温度データで表される推定温度を前記温度差が大きいほど減少するように補正した補正推定温度初期値を演算する正常時補正推定温度初期値演算手段と
を備え、
前記温度推定手段は、前記不揮発性記憶手段のデータの異常が検出されない場合には、前記正常時補正推定温度初期値演算手段により演算された補正推定温度初期値を使って前記電動モータの推定温度の演算を開始することを特徴とする請求項１または２記載の操舵装置。
【請求項４】
前記関連温度測定手段が異常であるか否かを判断する温度測定異常検出手段を備え、
前記正常時補正推定温度初期値演算手段は、前記関連温度測定手段の異常が検出された場合には、前記推定温度データ読み書き手段により読み出された推定温度データで表される推定温度を補正することなく推定温度初期値として設定することを特徴とする請求項３記載の操舵装置。
【請求項５】
前記関連温度測定手段が異常であるか否かを判断する温度測定異常検出手段を備え、
前記異常時補正推定温度初期値演算手段は、前記関連温度測定手段の異常が検出された場合には、前記仮推定温度初期値を補正することなく推定温度初期値として設定することを特徴とする請求項１ないし請求項４の何れか一項記載の操舵装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動モータにより操舵トルクを発生させる電動パワーステアリング装置などの操舵装置に関する。
【背景技術】
【０００２】
従来から、この種の操舵装置としては、例えば、電動パワーステアリング装置が知られている。電動パワーステアリング装置は、操舵ハンドルの操舵操作に対して操舵アシストトルクを発生する電動モータと、この電動モータの通電を制御する電子制御ユニット（ＥＣＵと呼ぶ）とを備える。ＥＣＵは、主要部がマイクロコンピュータから構成され電動モータの目標通電制御量を演算する演算回路と、この演算回路からの指令信号に応じて電動モータに通電するモータ駆動回路を備える。
【０００３】
このような電動パワーステアリング装置においては、電動モータやモータ駆動回路が発熱して損傷してしまうことを防止するためにそれらの温度をモニターし、モニター温度が過熱防止用の設定温度を上回る場合には、電動モータに流す電流を制限するようにしている。この場合、電動モータの温度は、温度センサにより直接測定することが難しい。そこで、特許文献１に提案された電動パワーステアリング装置においては、電動モータに流れる電流値に基づいて演算により電動モータの温度を推定する。
【０００４】
この特許文献１に提案された電動パワーステアリング装置においては、アシスト制御中に、電動モータの推定温度を繰り返し演算し、イグニッションスイッチがオフされてアシスト制御を終了すると、そのときの推定温度に対応する推定温度データを不揮発性メモリに記憶する。ＥＣＵは、次回のアシスト制御開始時に、不揮発性メモリに記憶されている推定温度データを読み出して、それを推定温度の初期値として温度推定演算に利用する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１９５２４６号
【発明の概要】
【０００６】
しかしながら、推定温度データが不揮発性メモリに適正に書き込まれないことがある。例えば、アシスト制御が終了して推定温度データを不揮発性メモリに書き込んでいる途中で、イグニッションスイッチがオンされてクランキング動作が行われた場合には、バッテリの一時的な電圧降下により、ＥＣＵのマイクロコンピュータがリセットされてしまうことがある。このようなケースにおいては、推定温度データを不揮発性メモリに適正に書き込むことができない。
【０００７】
そこで、ＥＣＵは、このように不揮発性メモリに推定温度データを書き込むことができなかった場合には、アシスト制御を開始するときに、予め設定した仮の推定温度初期値を使って、推定温度の演算を開始する。しかし、仮の推定温度初期値は、どのような状況でアシスト制御が開始されても電動モータの過熱を防止できるように、電動モータのとり得る温度範囲の最高温度に設定されるため、実際には、モータ温度が低い状態であっても、演算された推定温度は高温となる。従って、必要以上に過熱防止機能が働いて電動モータに流す電流が制限されてしまう。このため、ハンドル操作が重くなり運転者の負担が増大してしまう。
【０００８】
本発明は、上記問題に対処するためになされたもので、不揮発性メモリに推定温度データを書き込むことができなかった場合でも、過熱防止機能を維持しつつ、電動モータによる操舵機能が十分得られるようにすることを目的とする。
【０００９】
上記目的を達成するために、本発明の特徴は、操舵トルクを発生する電動モータ（１５）と、前記電動モータの温度を逐次演算により推定する温度推定手段（Ｓ２１〜Ｓ２６）と、操舵ハンドルの操舵状態を検出する操舵検出手段（Ｓ１１）と、前記推定された電動モータの推定温度に基づいた電流制限を加えながら、前記検出された操舵ハンドルの操舵状態に基づいて前記電動モータの目標通電制御量を演算し、前記演算された目標通電制御量に従って前記電動モータを駆動制御するモータ制御手段（Ｓ１２〜Ｓ１９）と、前記電動モータの推定温度に関する推定温度データを記憶するための不揮発性記憶手段（４４）と、前記電動モータの駆動制御の終了時に前記温度推定手段により推定された前記電動モータの推定温度に関する推定温度データを前記不揮発性記憶手段に書き込むとともに、次回の前記電動モータの駆動制御開始時に前記不揮発性記憶手段に記憶されている推定温度データを読み出す推定温度データ読み書き手段（Ｓ５１，Ｓ３９，Ｓ４２）とを備え、前記温度推定手段は、前記電動モータの駆動制御開始時に前記推定温度データ読み書き手段により読み出された推定温度データを利用して前記電動モータの推定温度の演算を開始する操舵装置において、前記電動モータの温度変化とともに温度が変化する部位の温度を関連温度として測定する関連温度測定手段（２５）と、前記電動モータの駆動制御開始時に前記不揮発性記憶手段のデータが異常であるか否かを判断するデータ異常検出手段（Ｓ５２）と、予め過熱防止用高温度に設定された仮推定温度初期値（ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３max）を記憶しており、前記不揮発性記憶手段のデータの異常が検出された場合に、前記関連温度測定手段により測定される前記関連温度（Ｔｂ）を取得し、前記仮推定温度初期値を前記関連温度が低いほど減少するように補正した補正推定温度初期値（ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)）を演算する異常時補正推定温度初期値演算手段（Ｓ６１，Ｓ６２）とを備え、前記温度推定手段は、前記不揮発性記憶手段のデータの異常が検出された場合、前記異常時補正推定温度初期値演算手段により演算された補正推定温度初期値を使って前記電動モータの推定温度の演算を開始することにある。
【００１０】
この発明においては、温度推定手段が電動モータの温度を逐次演算により推定し、モータ制御手段がこの推定温度に基づいた電流制限を加えながら操舵ハンドルの操舵状態に基づいて電動モータの目標通電制御量を演算し、この目標通電制御量に従って電動モータを駆動制御する。こうして電動モータの駆動制御により操舵トルクが発生する。このとき、電動モータは、推定温度に基づいた電流制限によりその過熱が防止される。尚、電動モータの温度とは、電動モータそのものの温度に限らず、電動モータの温度上昇分であってもよい。どちらでも、電動モータの過熱を防止できるからである。
【００１１】
推定温度データ読み書き手段は、電動モータの駆動制御の終了時に推定された電動モータの推定温度データを不揮発性記憶手段に書き込み、次回の電動モータの駆動制御時に不揮発性記憶手段に記憶されている推定温度データを読み出す。この読み出された推定温度データは、モータ推定温度の演算を開始するために必要な初期値データとなる。
【００１２】
推定温度データを不揮発性記憶手段に書き込む途中で、マイコンリセットが生じた場合には、推定温度データを適正に不揮発性記憶手段に書き込むことができない。この場合には、モータ推定温度の演算に必要な適正な初期値データが得られない。そこで、本発明においては、関連温度測定手段と、データ異常検出手段と、異常時補正推定温度初期値演算手段とを備えている。
【００１３】
関連温度測定手段は、電動モータの温度変化とともに温度が変化する部位の温度を関連温度として測定する。関連温度測定手段は、電動モータの温度が時間経過とともに低下（上昇）していく場合には、これに伴って温度が低下（上昇）していく部位を温度測定すればよい。例えば、電動モータを駆動する駆動回路の基板温度は、電動モータの温度と関連性が高いため、基板温度を関連温度として用いることができる。
【００１４】
データ異常検出手段は、電動モータの駆動制御開始時に不揮発性記憶手段のデータが異常であるか否かを判断する。そして、不揮発性記憶手段のデータの異常が検出された場合に、異常時補正推定温度初期値演算手段が、モータ推定温度の演算を開始するために必要な初期値となる補正推定温度初期値を演算する。この補正推定温度初期値を演算するにあたって、異常時補正推定温度初期値演算手段は、仮推定温度初期値を記憶している。この仮推定温度初期値は、予め過熱防止用高温度に設定された温度である。つまり、仮推定温度初期値は、電動モータがどのような発熱状態であっても過熱防止を行えるような温度、例えば、電動モータがとり得る温度範囲の最高温度に設定されている。
【００１５】
異常時補正推定温度初期値演算手段は、不揮発性記憶手段のデータの異常が検出された場合に、関連温度測定手段により測定される関連温度を取得し、仮推定温度初期値を、関連温度が低いほど仮推定温度初期値が減少するように補正した補正推定温度初期値を演算する。
【００１６】
不揮発性記憶手段のデータが異常である場合には、仮推定温度初期値をそのまま用いて推定温度を計算すると、計算された推定温度が高温になる。このため、実際には電動モータの温度が低くても、電流制限が大きく働くようになり、電動モータの能力を十分に発揮させることができない。しかし、電動モータの駆動制御開始時における関連温度が低ければ、電動モータの温度もこれに合わせて低いと推測できる。そこで、本発明においては、異常時補正推定温度初期値演算手段が、仮推定温度初期値を、関連温度が低いほど仮推定温度初期値が減少するように補正した補正推定温度初期値を演算する。温度推定手段は、この異常時補正推定温度初期値演算手段により演算された補正推定温度初期値を使って電動モータの推定温度の演算を開始する。
【００１７】
従って、本発明によれば、不揮発性記憶手段への推定温度データの書き込み不良が生じた場合であっても、過熱防止機能を維持しつつ、電動モータによる操舵機能が十分得られるようなり、運転者の負担が低減する。
【００１８】
尚、本発明における推定温度に関する推定温度データとは、推定温度そのものを表すデータは勿論のこと、推定温度を導き出すことのできるデータをも含むものである。また、操舵検出手段は、操舵ハンドルの操舵状態を検出するものであって、例えば、操舵ハンドルに加えられる操舵トルク、操舵ハンドルの操舵角、操舵ハンドルの操舵角速度などの少なくとも１つを検出するものであればよい。
【００１９】
また、本発明の他の特徴は、前記異常時補正推定温度初期値演算手段は、予め過熱防止用高温度に設定された仮関連温度初期値（Ｔｂmax）を記憶しており、前記仮関連温度初期値と前記関連温度測定手段により測定される関連温度（Ｔｂ）との温度差（ΔＴ）に基づいて、前記仮推定温度初期値を前記温度差が大きいほど減少するように補正した補正推定温度初期値を演算することにある。
【００２０】
本発明においては、異常時補正推定温度初期値演算手段は、予め過熱防止用高温度に設定された仮関連温度初期値を記憶している。この仮関連温度初期値とは、電動モータが仮推定温度初期値相当の高温度となるときに関連温度がとる温度に相当する値であって、仮推定温度初期値に対応して設定されたものである。異常時補正推定温度初期値演算手段は、この仮関連温度初期値と関連温度測定手段により測定される関連温度との温度差に基づいて、仮推定温度初期値を、この温度差（仮関連温度初期値−測定関連温度）が大きいほど仮推定温度初期値が減少するように補正した補正推定温度初期値を演算する。従って、一層適正な補正推定温度初期値を演算することができる。この結果、更に適正に過熱防止を行うことができ、これに伴って操舵操作性が向上する。
【００２１】
本発明の他の特徴は、前記電動モータの駆動制御の終了時に前記関連温度測定手段により測定された前記関連温度に関する関連温度データを前記不揮発性記憶手段に書き込むとともに、次回の前記電動モータの駆動制御開始時に前記不揮発性記憶手段に記憶されている関連温度データを読み出す関連温度データ読み書き手段（Ｓ５３，Ｓ３９，Ｓ４２）と、前記電動モータの駆動制御開始時に前記不揮発性記憶手段のデータの異常が検出されない場合には、前記関連温度データ読み書き手段により読み出された関連温度データで表される関連温度（ＴＢｏ）と前記関連温度測定手段により測定される関連温度（ＴＢ）との温度差（ΔＴ）に基づいて、前記推定温度データ読み書き手段により読み出された推定温度データで表される推定温度（ＳＵＭ１ｏ，ＳＵＭ２ｏ，ＳＵＭ２ｏ）を前記温度差が大きいほど減少するように補正した補正推定温度初期値を演算する正常時補正推定温度初期値演算手段（Ｓ５７，Ｓ５８）とを備え、前記温度推定手段は、前記不揮発性記憶手段のデータの異常が検出されない場合には、前記正常時補正推定温度初期値演算手段により演算された補正推定温度初期値を使って前記電動モータの推定温度の演算を開始することにある。
【００２２】
本発明においては、不揮発性記憶手段のデータの異常が検出されない場合においても、一層適正な補正推定温度初期値を計算できるように、関連温度データ読み書き手段と正常時補正推定温度初期値演算手段とを備えている。関連温度データ読み書き手段は、電動モータの駆動制御の終了時に関連温度測定手段により測定された関連温度に関する関連温度データを不揮発性記憶手段に書き込むとともに、次回の電動モータの駆動制御開始時に不揮発性記憶手段に記憶されている関連温度データを読み出す。
【００２３】
電動モータの駆動制御開始時における関連温度が、前回の電動モータの駆動制御の終了時における関連温度に比べて低下している場合は、その温度低下に合わせて電動モータの温度も低下していると想定できる。そこで、正常時補正推定温度初期値演算手段は、電動モータの駆動制御開始時に不揮発性記憶手段のデータの異常が検出されない場合には、推定温度データ読み書き手段により読み出された推定温度データで表される推定温度を、関連温度データ読み書き手段により読み出された関連温度データで表される関連温度と関連温度測定手段により測定される関連温度との温度差が大きいほど推定温度が減少するように補正した補正推定温度初期値を演算する。つまり、前回の電動モータの駆動制御の終了時における推定温度を、前回の電動モータの駆動制御の終了時から次の電動モータの駆動制御を開始する時までの関連温度の温度低下を用いて、この温度低下が大きいほど、推定温度が減少するように補正し、この補正した値を補正推定温度初期値に設定する。このため、一層適正な補正推定温度初期値を演算することができる。
【００２４】
そして、温度推定手段は、不揮発性記憶手段のデータの異常が検出されない場合には、正常時補正推定温度初期値演算手段により演算された補正推定温度初期値を使って電動モータの推定温度の演算を開始する。この結果、電動モータの温度推定精度が向上し、良好な過熱防止性能と操舵操作性能とが得られる。
【００２５】
本発明の他の特徴は、前記関連温度測定手段が異常であるか否かを判断する温度測定異常検出手段（Ｓ５４）を備え、前記正常時補正推定温度初期値演算手段は、前記関連温度測定手段の異常が検出された場合には、前記推定温度データ読み書き手段により読み出された推定温度データで表される推定温度を補正することなく推定温度初期値として設定する（Ｓ５９，Ｓ５８）ことにある。
【００２６】
関連温度を適正に測定できない場合には、関連温度の温度低下を用いて補正してしまうと、適正な補正推定温度初期値を演算することができない。そこで、本発明においては、そうした場合、推定温度の補正を行わずに前回の電動モータの駆動制御の終了時における推定温度を推定温度初期値として設定する。この場合、温度推定手段は、この推定温度初期値を使って電動モータの推定温度の演算を開始する。これにより、関連温度測定手段が異常であっても、確実に過熱防止を行うことができる。
【００２７】
本発明の他の特徴は、前記関連温度測定手段が異常であるか否かを判断する温度測定異常検出手段（Ｓ５４）を備え、前記異常時補正推定温度初期値演算手段は、前記関連温度測定手段の異常が検出された場合には、前記仮推定温度初期値を補正することなく推定温度初期値として設定する（Ｓ６３，Ｓ６２）ことにある。
【００２８】
本発明においては、不揮発性記憶手段のデータが異常であり、かつ、関連温度測定手段が異常である場合には、仮推定温度初期値を補正することなく推定温度初期値として設定する。この場合、温度推定手段は、この推定温度初期値を使って電動モータの推定温度の演算を開始する。従って、確実に過熱防止を行うことができる。
【００２９】
尚、上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件を前記符号によって規定される実施形態に限定させるものではない。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態に係る電動パワーステアリング装置の全体構成図である。
【図２】電動パワーステアリング装置における制御システムおよび電源供給系を表す概略回路構成図である。
【図３】アシスト制御ルーチンを表すフローチャートである。
【図４】アシストトルクマップを表す特性図である。
【図５】上限電流値マップを表す特性図である。
【図６】モータ温度推定ルーチンを表すフローチャートである。
【図７】データ読み書き制御ルーチンを表すフローチャートである。
【図８】温度データの読み書きタイミングを示すタイミングチャートである。
【図９】推定温度初期値演算ルーチンを表すフローチャートである。
【発明を実施するための形態】
【００３１】
以下、本発明の一実施形態について図面を用いて説明する。図１は、本発明の操舵装置の実施形態としての車両の電動パワーステアリング装置を概略的に示し、図２は、その電動パワーステアリング装置における制御システムおよび電源供給系を概略的に示している。
【００３２】
この車両の電動パワーステアリング装置１は、大別すると、操舵ハンドル１１の操舵により転舵輪を操舵する操舵機構１０と、操舵機構１０に組み付けられ操舵アシストトルクを発生する電動モータ１５と、操舵ハンドル１１の操舵状態に応じて電動モータ１５の作動を制御する電子制御ユニット３０とから構成される。
【００３３】
操舵機構１０は、操舵ハンドル１１の回転操作により左右前輪ＦＷ１，ＦＷ２を操舵するための機構で、操舵ハンドル１１を上端に一体回転するように接続したステアリングシャフト１２を備える。このステアリングシャフト１２の下端には、ピニオンギヤ１３が一体回転するように接続されている。ピニオンギヤ１３は、ラックバー１４に形成されたラック歯と噛み合ってラックアンドピニオン機構を構成する。ラックバー１４の両端には、図示しないタイロッドおよびナックルアームを介して左右前輪ＦＷ１，ＦＷ２が操舵可能に接続されている。左右前輪ＦＷ１，ＦＷ２は、ステアリングシャフト１２の軸線回りの回転に伴うラックバー１４の軸線方向の変位に応じて左右に操舵される。従って、操舵ハンドル１１、ステアリングシャフト１２、ラックアンドピニオン機構１３，１４、タイロッド、ナックルアーム等により操舵機構１０が構成される。
【００３４】
ステアリングシャフト１２には減速ギヤ１６を介して電動モータ１５が組み付けられている。電動モータ１５は、本実施形態においては、ブラシ付モータが使用される。電動モータ１５は、ロータの回転により減速ギヤ１６を介してステアリングシャフト１２をその中心軸周りに回転駆動して、操舵ハンドル１１の回動操作に対してアシストトルクを付与する。
【００３５】
ステアリングシャフト１２には、操舵トルクセンサ２１が設けられる。操舵トルクセンサ２１は、操舵ハンドル１１の回動操作によってステアリングシャフト１２に作用する操舵トルクに応じた信号を出力する。この操舵トルクセンサ２１から出力される信号により検出される操舵トルクの値を、以下、操舵トルクＴｈと呼ぶ。操舵トルクＴｈは、正負の値により操舵ハンドル１１の操作方向が識別される。本実施形態においては、操舵ハンドル１１の右方向への操舵時における操舵トルクＴｈを正の値で、操舵ハンドル１１の左方向への操舵時における操舵トルクＴｈを負の値で示す。従って、操舵トルクＴｈの大きさは、その絶対値の大きさとなる。
【００３６】
電動モータ１５には、回転角センサ２３が設けられる。この回転角センサ２３は、電動モータ１５内に組み込まれ、電動モータ１５の回転子の回転角度位置に応じた検出信号を出力する。この回転角センサ２３の検出信号は、電動モータ１５の回転角および回転角速度の計算に利用される。一方、この電動モータ１５の回転角は、操舵ハンドル１１の操舵角に比例するものであるので、操舵ハンドル１１の操舵角としても共通に用いられる。また、電動モータ１５の回転角を時間微分した回転角速度は、操舵ハンドル１１の操舵角速度に比例するものであるため、操舵ハンドル１１の操舵角速度としても共通に用いられる。
【００３７】
以下、回転角センサ２３の出力信号により検出される操舵ハンドル１１の操舵角の値を操舵角θと呼び、その操舵角θを時間微分して得られる操舵角速度の値を操舵角速度ωと呼ぶ。尚、操舵角θおよび操舵角速度ωは、後述する電子制御回路４０のマイコン４１により演算される。操舵角θは、正負の値により操舵ハンドル１１の中立位置に対する右方向および左方向の舵角をそれぞれ表す。本実施形態においては、操舵ハンドル１１の中立位置を「０」とし、中立位置に対する右方向への舵角を正の値で示し、中立位置に対する左方向への舵角を負の値で示す。
【００３８】
次に、電子制御ユニット３０について図２を用いて説明する。電子制御ユニット３０（以下、ＥＣＵ３０と呼ぶ）は、電動モータ１５の目標通電制御量を演算し、演算された目標通電制御量にて電動モータ１５を駆動制御する電子制御回路４０と、電子制御回路４０からの制御指令により電動モータ１５を駆動するモータ駆動回路３２とを含んで構成される。
【００３９】
電子制御回路４０は、ＣＰＵ，ＲＯＭ，ＲＡＭ等からなるマイクロコンピュータ４１（以下、マイコン４１と呼ぶ）と、入力インタフェース４２と、出力インタフェース４３と、ＥＥＰＲＯＭ（Electric  Erasable  PROM）４４とから構成される。マイコン４１内のＲＯＭには後述する制御プログラムや各種データ等が記憶されている。
【００４０】
入力インタフェース４２は、バスを介してマイコン４１に接続されるとともに、操舵トルクセンサ２１、車速センサ２２、回転角センサ２３、電流センサ２４、温度センサ２５が接続され、マイコン４１に対して各センサの検出信号を供給するようになっている。また、入力インタフェース４２には、電子制御回路４０に供給された電源から、その電源電圧に応じたデジタル信号を生成してマイコン４１に供給するＡ／Ｄコンバータ（図示略）を備える。車速センサ２２は、車両の走行速度ｖｘを表す車速信号を出力する。
【００４１】
出力インタフェース４３は、バスを介してマイコン４１に接続されるとともに、モータ駆動回路３２および常開（ノーマル・オープン）型の電源リレー５７に接続されていて、マイコン４１からの指令に基づきこれらの導通状態を変更する信号を送出するようになっている。また、ＥＥＰＲＯＭ４４は、電源装置５０からの電源供給を受けない状態においてもデータを記憶・保持する不揮発性記憶手段であり、バスを介してマイコン４１と接続されていている。
【００４２】
モータ駆動回路３２は、ゲートが出力インタフェース４３にそれぞれ接続されたＭＯＳＦＥＴからなる４個のスイッチング素子Ｔｒ１〜Ｔｒ４と、２つの抵抗Ｒ１，Ｒ２とを備えている。抵抗Ｒ１の一端は、電源装置５０の電源ライン５５に接続され、抵抗Ｒ１の他端は、スイッチング素子Ｔｒ１，Ｔｒ２の各ソースに接続されている。スイッチング素子Ｔｒ１，Ｔｒ２のドレインは、スイッチング素子Ｔｒ３，Ｔｒ４のソースにそれぞれ接続され、スイッチング素子Ｔｒ３，Ｔｒ４のドレインは抵抗Ｒ２を介して接地されている。また、スイッチング素子Ｔｒ１とＴｒ３との間は電動モータ１５の一方の極に接続され、スイッチング素子Ｔｒ２とＴｒ４との間は電動モータ１５の他方の極に接続されている。抵抗Ｒ２とスイッチング素子Ｔｒ３，Ｔｒ４との間には電流センサ２４が設けられ、電動モータ１５に流れる電流値Ｉｍを表す検出信号を入力インタフェース４２に出力する。
【００４３】
モータ駆動回路３２は、電源が供給されている状態において、スイッチング素子Ｔｒ１，Ｔｒ４が選択的に導通状態（オン状態）とされたとき、電動モータ１５に所定方向の電流が流れて同モータ１５は右回転し、スイッチング素子Ｔｒ２，Ｔｒ３が選択的に導通状態とされたとき、電動モータ１５に前記所定の方向と反対方向の電流が流れて同モータ１５は左回転する。
【００４４】
また、モータ駆動回路３２には、各スイッチング素子Ｔｒ１〜Ｔｒ４が設けられる回路基板の温度を検出するためのサーミスタなどによって構成された温度センサ２５が設けられる。温度センサ２５は、スイッチング素子Ｔｒ１〜Ｔｒ４の発熱状態に応じた温度となる基板温度Ｔｂを検出し、基板温度Ｔｂを表す信号を出力する。また、スイッチング素子Ｔｒ１〜Ｔｒ４の発熱状態は、電動モータ１５の発熱状態と関連性を有する。つまり、電動モータ１５の発熱量が多いほど、基板温度Ｔｂは高温になる。従って、この基板温度Ｔｂは、本発明における「関連温度」に相当し、温度センサ２５は、本発明における関連温度測定手段に相当する。
【００４５】
次に、電子制御回路４０およびモータ駆動回路３２への電源供給回路構成について図２を用いて説明する。ＥＣＵ３０は、バッテリ５１と、エンジンの回転により発電するオルタネータ５２とからなる電源装置５０から電源供給される。バッテリ５１としては、定格出力電圧が１２Ｖの一般の車載バッテリが用いられる。
【００４６】
この電源装置５０は、電動パワーステアリング装置１だけでなくエンジン始動装置等を含む他の車載電気負荷への電源供給も共通して行う。バッテリ５１の電源端子（＋端子）に接続される電源供給元ライン５３には、イグニッションスイッチ６０が接続される。ＥＣＵ３０は、このイグニッションスイッチ６０の二次側から電子制御回路４０に電源供給する制御電源供給ライン５４と、イグニッションスイッチ６０の一次側（電源側）から主にモータ駆動回路３２に電源供給する駆動電源供給ライン５５とを備える。
【００４７】
制御電源供給ライン５４には、ダイオード５６が設けられる。このダイオード５６は、カソードを電子制御回路４０側、アノードを電源装置５０側に向けて設けられ、電源供給方向にのみ通電可能とする逆流防止素子である。駆動電源供給ライン５５には、その途中に電源リレー５７が設けられる。この電源リレー５７は、電子制御回路４０からの制御信号によりオンして電動モータ１５への電力供給回路を形成するものである。
【００４８】
駆動電源供給ライン５５には、この電源リレー５７よりも負荷側において連結ライン５８により制御電源供給ライン５４と接続される。この連結ライン５８は、制御電源供給ライン５４におけるダイオード５６と電子制御回路４０との間に接続される。連結ライン５８にはダイオード５９が接続される。このダイオード５９は、カソードを制御電源供給ライン５４側、アノードを駆動電源供給ライン５５側に向けて設けられ、駆動電源供給ライン５５から制御電源供給ライン５４に向けてのみ通電可能とする逆流防止素子である。このように構成された電源供給系においては、電源リレー５７がオン状態とされたときには、イグニッションスイッチ６０の状態にかかわらず、電子制御回路４０およびモータ駆動回路３２に電源が供給される構成となっている。
【００４９】
次に、ＥＣＵ３０の行う処理について説明する。ＥＣＵ３０は、運転者によるハンドル操作に対して適度なアシストトルクを付与するアシスト制御処理と、アシスト制御時において電動モータ１５の過熱防止を図るためにモータ温度を推定演算するモータ温度推定処理と、アシスト制御を終了したときにモータ推定温度および基板温度Ｔｂを表すデータをＥＥＰＲＯＭ４４に書き込み次回のアシスト制御を開始するときにそのデータを読み出すデータ読み書き制御処理と、読み出されたデータから電動モータ１５の推定温度初期値を演算する推定温度初期値演算処理とを行う。
【００５０】
まず、ＥＣＵ３０が実行するアシスト制御処理について説明する。図３は、マイコン４１により行われるアシスト制御ルーチンを表すもので、マイコン４１のＲＯＭ内に制御プログラムとして記憶され、短い周期で繰り返し実行される。この制御ルーチンは、イグニッションスイッチ６０がオンされて所定の初期診断が完了すると起動し、後述するモータ温度推定ルーチンと並行して実行される。
【００５１】
本制御ルーチンが起動すると、マイコン４１は、まず、ステップＳ１１において、車速センサ２２によって検出された車速ｖｘと、操舵トルクセンサ２１によって検出した操舵トルクＴｈを読み込む。
【００５２】
続いて、図４に示すアシストトルクテーブルを参照して、入力した車速ｖｘおよび操舵トルクＴｈに応じて設定される基本アシストトルクＴａｓを計算する（Ｓ１２）。アシストトルクテーブルは、マイコン４１のＲＯＭ内に記憶されるもので、操舵トルクＴｈの増加にしたがって基本アシストトルクＴａｓも増加し、しかも、車速ｖｘが低くなるほど大きな値となるように設定される。
【００５３】
尚、図４の特性グラフは、正領域すなわち右方向の操舵トルクＴｈおよび基本アシストトルクＴａｓの関係についてのみ示しているが、負領域すなわち左方向の操舵トルクＴｈおよび基本アシストトルクＴａｓに関しては、図４の特性グラフを原点を中心に点対称の位置に移動した関係になる。また、本実施形態では、基本アシストトルクＴａｓをアシストトルクテーブルを用いて算出するようにしたが、アシストトルクテーブルに代えて操舵トルクＴｈおよび車速ｖｘに応じて変化する基本アシストトルクＴａｓを定義した関数を用意しておき、その関数を用いて基本アシストトルクＴａｓを計算するようにしてもよい。また、基本アシストトルクＴａｓの算出に関しては、必ずしも車速ｖｘと操舵トルクＴｈとの組み合わせから算出する必要はなく、少なくとも操舵状態に応じた検出信号に基づいて行えばよい。
【００５４】
続いて、マイコン４１は、ステップＳ１３において、この基本アシストトルクＴａｓに補償トルクを加算して目標トルクＴ＊を算出する。この補償トルクは、基本アシストトルクＴａｓを補償するためのトルクであって、必ずしも必要としないが、例えば、戻しトルクとダンピングトルクとの和を用いることができる。戻しトルクは、運転者が操舵ハンドル１１の握りを緩めながら切り戻すときに、中立位置に向かって良好なアシストトルクが働くように設定したもので、操舵角θに応じて設定される。また、ダンピングトルクは、ステアリング系全体における振動を減衰させるもので、操舵角速度ωに応じて設定される。この計算に当たっては、回転角センサ２３にて検出した電動モータ１５の回転角θおよび電動モータ１５の角速度ω（操舵ハンドル１１の操舵角θを時間で微分した操舵角速度ωに相当）を入力して算出する。
【００５５】
続いて、マイコン４１は、ステップＳ１４において、目標トルクＴ＊を発生させるために必要な必要電流Ｉ＊を計算する。必要電流Ｉ＊は、目標トルクＴ＊をトルク定数で除算することにより求められる。
【００５６】
続いて、マイコン４１は、ステップＳ１５において、後述するモータ温度推定ルーチンにて計算した最新のモータ推定温度Ｔｍを読み込む。次に、ステップＳ１６において、このモータ推定温度Ｔｍから電動モータ１５に通電する上限電流値Ｉmaxを設定する。この上限電流値Ｉmaxは、図５に示す上限電流値マップを参照して求められる。この上限電流値マップは、マイコン４１のＲＯＭに記憶され、モータ推定温度Ｔｍが高いほど上限電流値Ｉmaxを小さな値に設定する。尚、この上限電流値Ｉmaxは、その大きさ、つまり電流を流す向きに関係しない絶対値を表す。
【００５７】
続いて、マイコン４１は、その処理をステップＳ１７に進め、ステップＳ１４で算出された必要電流Ｉ＊とステップＳ１６にて算出された上限電流値Ｉmaxとから最終的な目標電流Ｉ＊＊を求める。必要電流Ｉ＊の大きさ（絶対値）が上限電流値Ｉmax以下であれば、目標電流Ｉ＊＊は必要電流Ｉ＊と同一値に設定され、必要電流Ｉ＊の大きさが上限電流値Ｉmaxより大きければ、目標電流Ｉ＊＊は上限電流値Ｉmaxと同じ大きさに設定される。
【００５８】
続いて、マイコン４１は、その処理をステップＳ１８に進め、目標電流Ｉ＊＊と実電流Ｉｍとの偏差ΔＩを算出し、この偏差ΔＩに基づくＰＩ制御（比例積分制御）により目標指令電圧Ｖ＊を計算する。ステップＳ１５，Ｓ１８の演算に用いられる実電流Ｉｍは、電流センサ２４により検出した電動モータ１５に流れる電流値である。
目標指令電圧Ｖ＊は、例えば、下記式により計算する。
Ｖ＊＝Ｋｐ・ΔＩ＋Ｋｉ・∫ΔＩ  ｄｔ
ここでＫｐは、ＰＩ制御における比例項の制御ゲイン、Ｋｉは、ＰＩ制御における積分項の制御ゲインである。
【００５９】
そして、マイコン４１は、ステップＳ１９において、目標指令電圧Ｖ＊に応じたＰＷＭ制御電圧信号をモータ駆動回路３２に出力して本アシスト制御ルーチンを一旦終了する。本制御ルーチンは、所定の短い周期で繰り返し実行される。従って、本制御ルーチンの実行により、モータ駆動回路３２のスイッチング素子Ｔｒ１〜Ｔｒ４のデューティ比がＰＷＭ制御により制御されて、運転者の操舵操作に応じた操舵アシストトルクが得られる。また、このアシスト制御においては、モータ推定温度Ｔｍに応じた電流制限が加えられることにより、電動モータ１５およびモータ駆動回路３２の過熱損傷を防止することができる。
【００６０】
尚、上記アシスト制御ルーチンにおいて、温度センサ２５により基板温度Ｔｂを検出し、基板温度Ｔｂに基づいて上限電流値Ｉｂmaxを設定する処理をステップＳ１８の処理に追加するようにしてもよい。この場合、マイコン４１は、図５に示す上限電流値マップと同様なマップ（横軸はＴｂ、縦軸はＩｂmax）を使って、基板温度Ｔｂが高いほど上限電流値Ｉｂmaxを小さな値に設定する。そして、モータ推定温度Ｔｍから設定される上限電流値Ｉmaxと、基板温度Ｔｂから設定される上限電流値Ｉｂmaxとのうち、小さいほうの値を上限電流値Ｉmaxに設定する。従って、モータ駆動回路３２のスイッチング素子Ｔｒ１〜Ｔｒ４が、電動モータ１５よりも先に過熱防止温度に近づくような状況が発生するシステムにおいては、モータ駆動回路３２の過熱防止をも行うことができる。
【００６１】
次に、モータ温度推定処理について説明する。図６は、マイコン４１により行われるモータ温度推定ルーチンを表すもので、マイコン４１のＲＯＭ内に制御プログラムとして記憶され、短い周期で繰り返し実行される。このルーチンは、イグニッションスイッチ６０がオンされて所定の初期診断が完了すると起動し、後述するデータ読み書き制御ルーチンの終了とともに終了する。
【００６２】
モータ温度推定ルーチンが起動すると、マイコン４１は、まず、ステップＳ２１において、電流センサ２４により検出される電動モータ１５に流れる電流値Ｉｍを読み込む。続いて、ステップＳ２２において、ヒートマス温度推定用電流二乗積算値ＳＵＭ１（以下、ヒートマス温度値ＳＵＭ１と呼ぶ）を計算する。ヒートマス温度値ＳＵＭ１は、電動モータ１５の筐体の上昇温度に相当する値を表すもので、次式（１）により計算される。
ＳＵＭ１(n)＝ＳＵＭ１(n-1)＋Ｋa1・（Ｉｍ２−ＳＵＭ１(n-1)）  ・・・・（１）
【００６３】
ここで、Ｋa1は、電流値Ｉｍの二乗値に応じて電動モータ１５の筐体が温度変化する程度を表す予め設定した係数である。また、(n)は、所定の短い周囲にて繰り返し実行されるモータ温度推定ルーチンにおける今回の処理により演算される値であることを意味し、(n-1)は、モータ温度推定ルーチンにおける1演算周期前の処理で演算された値であることを意味する。従って、ＳＵＭ１(n)は、今回計算により求めようとするヒートマス温度値ＳＵＭ１であり、ＳＵＭ１(n-1)は、1演算周期前に算出したヒートマス温度値ＳＵＭ１である。以下の説明において、(n)，(n-1)は、演算周期を特定する必要が無い場合には記載しない。
【００６４】
続いて、マイコン４１は、ステップＳ２３において、コイル温度推定用電流二乗積算値ＳＵＭ２（以下、コイル温度値ＳＵＭ２と呼ぶ）を計算する。コイル温度値ＳＵＭ２は、電動モータ１５のコイルの上昇温度に相当する値を表すもので、次式（２）により計算される。
ＳＵＭ２(n)＝ＳＵＭ２(n-1)＋Ｋa2・（Ｉｍ２−ＳＵＭ２(n-1)）  ・・・・（２）
ここで、Ｋa2は、電流値Ｉｍの二乗値に応じて電動モータ１５のコイルが温度変化する程度を表す予め設定した係数である。
【００６５】
続いて、マイコン４１は、ステップＳ２４において、ブラシ温度推定用電流二乗積算値ＳＵＭ３（以下、ブラシ温度値ＳＵＭ３と呼ぶ）を計算する。ブラシ温度値ＳＵＭ３は、電動モータ１５のブラシの上昇温度に相当する値を表すもので、次式（３）により計算される。
ＳＵＭ３(n)＝ＳＵＭ３(n-1)＋Ｋa3・（Ｉｍ２−ＳＵＭ３(n-1)）  ・・・・（３）
ここで、Ｋa3は、電流値Ｉｍの二乗値に応じて電動モータ１５のブラシが温度変化する程度を表す予め設定した係数である。
【００６６】
続いて、マイコン４１は、ステップＳ２５において、モータ推定温度Ｔｍを計算する。モータ推定温度Ｔｍは、電動モータ１５の発熱による温度上昇分を表し、ヒートマス温度値ＳＵＭ１(n)，コイル温度値ＳＵＭ２(n)，ブラシ温度値ＳＵＭ３(n)に基づいて、次式（４）により計算される。
Ｔｍ＝Ｋb1・ＳＵＭ１(n)＋Ｋb2・ＳＵＭ２(n)＋Ｋb3・ＳＵＭ３(n)
・・・・（４）
ここで、Ｋb1，Ｋb2，Ｋb3は、それぞれ、ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３がモータ推定温度に影響する度合(ゲイン）を考慮した上昇温度換算係数である。
【００６７】
このように、本実施形態においては、電動モータ１５の発熱を、筐体における発熱要素と、コイルにおける発熱要素と、ブラシにおける発熱要素に分け、各発熱要素毎の上昇温度にゲインを乗じた値を加算してモータ推定温度Ｔｍを計算しているため、その推定精度が高い。
【００６８】
尚、本実施形態においては、モータ推定温度Ｔｍは、電動モータ１５の発熱による温度上昇分を表すものであり、電動モータ１５自身の温度を表すものではないが、例えば、外気温センサを設け、外気温センサにより検出される外気温に電動モータ１５の温度上昇分を加算した値をモータ推定温度とするなど、電動モータ１５自身の温度を推定するようにしてもよい。どちらでも過熱防止を図ることができるからである。
【００６９】
続いて、マイコン４１は、ステップＳ２６において、今回計算したヒートマス温度値ＳＵＭ１(n)，コイル温度値ＳＵＭ２(n)，ブラシ温度値ＳＵＭ３(n)を、１演算周期前のヒートマス温度値ＳＵＭ１(n-1)，コイル温度値ＳＵＭ２(n-1)，ブラシ温度値ＳＵＭ３(n-1)として記憶しておく。この処理は、１演算周期後のステップＳ４２，Ｓ４３，Ｓ４４の演算処理のために行うものである。
【００７０】
マイコン４１は、ステップＳ２６の処理を行った後、モータ温度推定ルーチンを一旦終了する。モータ温度推定ルーチンは、所定の短い周期で繰り返し実行されるため、モータ推定温度Ｔｍが所定時間毎に順次計算されることになる。こうして逐次計算される最新のモータ推定温度Ｔｍは、アシスト制御におけるモータ上限電流値Ｉmaxを決定するために利用される（Ｓ１６）。
【００７１】
モータ推定温度Ｔｍを算出するに当たっては、アシスト制御開始からの電動モータ１５の発熱量だけでは推定できず、アシスト制御開始時において電動モータ１５に残存していた熱も考慮しなければならない。従って、ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３の初期値が必要となる。そこで、本実施形態においては、アシスト制御ルーチンの終了時に、その時点におけるヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３、および、温度センサ２５により検出された基板温度Ｔｂを表す温度データをＥＥＰＲＯＭ４４に書き込み、次回のアシスト制御ルーチンを開始するときに、ＥＥＰＲＯＭ４４に記憶されている温度データを読み出す。そして、温度データで表される値に基づいて後述する推定温度初期値演算ルーチンを実行することにより、ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３の初期値を演算する。
【００７２】
本実施形態においては、ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３に基づいてモータ推定温度Ｔｍを演算するため、ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３を一組としたデータは、モータ推定温度Ｔｍを表すデータとなる。従って、以下、ＥＥＰＲＯＭ４４に記憶されたヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３をまとめてモータ推定温度データと呼ぶ。また、ＥＥＰＲＯＭ４４に記憶された基板温度Ｔｂのデータを基板温度データＴｂと呼び、基板温度データＴｂで表される温度の値を示す場合には、その値を基板温度Ｔｂｏと呼ぶ。
【００７３】
次に、マイコン４１の実行するデータ読み書き制御処理について説明する。図７は、マイコン４１の実行するデータ読み書き制御ルーチンを表す。このルーチンは、マイコン４１のＲＯＭ内に制御プログラムとして記憶されており、イグニッションスイッチ６０がオンすると起動する。また、図８は、その処理を時系列に表したタイミングチャートである。
【００７４】
イグニッションスイッチ６０がオフ状態からオン状態に切り替わると、電源装置５０からＥＣＵ３０に電源供給される。マイコン４１は、電源供給を受けると、本制御ルーチンを開始し（時刻ｔ０）、まず、ステップＳ３１において初期診断を行う。つまり、電動パワーステアリング装置１におけるシステム内の診断および初期設定等を行う。
【００７５】
続いて、マイコン４１は、ステップＳ５０において、推定温度初期値演算処理を行う（時刻ｔ１）。この推定温度初期値演算処理については、図９に示す推定温度初期値演算ルーチンを使って後述する。推定温度初期値演算ルーチンでは、ＥＥＰＲＯＭ４４からモータ推定温度データ（ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３）および基板温度データＴｂを読み込み、これらのデータに基づいて、モータ推定温度Ｔｍを計算するための初期値（（ヒートマス温度値ＳＵＭ１(n-1)，コイル温度値ＳＵＭ２(n-1)，ブラシ温度値ＳＵＭ３(n-1)）を算出する。尚、推定温度初期値演算処理は、電動パワーステアリング装置１の初期診断時において行われる。
【００７６】
マイコン４１は、初期診断が完了すると、ステップＳ３２において、上述したアシスト制御を開始する（時刻ｔ２）。このアシスト制御の開始時には、電源リレー５７がオンされて電動モータ１５への電源供給回路が形成される。このとき、アシスト制御と並行してモータ温度推定処理も開始される。
【００７７】
アシスト制御が開始されると、マイコン４１は、まずステップＳ３３において、フラグＦが「１」であるか否かを判断する。このフラグＦは、本制御ルーチンが起動されたときにはＦ＝０に設定され、後述のステップＳ３５の処理により仮温度データがＥＥＰＲＯＭ４４に書き込まれるとＦ＝１に設定されるものである。アシスト制御が開始された直後は、Ｆ＝０に設定されているため、ステップＳ３３の判断は「ＮＯ」となり、マイコン４１は、その処理をステップＳ３４に進める。
【００７８】
ステップＳ３４においては、仮温度データの書き込みタイミングか否かを判断する。この書き込みタイミングは、例えば、推定温度初期値演算処理（Ｓ５０）を行ってから設定時間（例えば、数秒）だけ経過した時点に設定されている。従って、ここでは、推定温度初期値演算処理（Ｓ５０）を行ってからの経過時間が設定時間に達したか否かを判断する。マイコン４１は、書き込みタイミングではない場合は、ステップＳ３７に処理を進めてイグニッションスイッチ６０がオフになったか否かを判断する。イグニッションスイッチ６０がオン状態を維持する間は、ステップＳ３３に戻り上述した判断を繰り返す。
【００７９】
こうした判断が繰り返され、仮温度データの書き込みタイミングとなると（Ｓ３４：Ｙｅｓ）、マイコン４１は、ステップＳ３５において、予めＲＯＭに記憶されている仮温度データを読み出してＥＥＰＰＲＯＭ４４に書き込む（時刻ｔ３）。ＥＥＰＰＲＯＭ４４には、後述するステップＳ３９，Ｓ４２において、アシスト制御の終了時におけるモータ推定温度データ（ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３）、および、基板温度データＴｂからなる温度データが書き込まれている。そして、この温度データを使ってステップＳ５０の推定温度初期値演算処理によりモータ推定温度Ｔｍを算出する。従って、ステップＳ３５においては、前回のアシスト制御終了時に書き込んだ温度データを仮温度データに書き換える処理である。
【００８０】
このステップＳ３５の処理は、アシスト制御途中でマイコン４１がリセットしてモータ推定温度Ｔｍを表す情報が消失してしまう事態に備えて行う処理であり、そうした事態が発生した場合にのみ、次のアシスト制御の開始時におけるモータ推定温度Ｔｍを演算するための初期値として仮温度データが使用される。
【００８１】
この仮温度データは、仮ヒートマス温度値ＳＵＭ１max，仮コイル温度値ＳＵＭ２max，仮ブラシ温度値ＳＵＭ３max、および、仮基板温度Ｔｂmaxから構成されており、過熱防止を図る観点でモータ推定温度Ｔｍが高い温度に演算されるような値に設定されている。つまり、仮ヒートマス温度値ＳＵＭ１max，仮コイル温度値ＳＵＭ２max，仮ブラシ温度値ＳＵＭ３maxは、ステップＳ２５の計算式（４）におけるＳＵＭ１(n)，ＳＵＭ２(n)，ＳＵＭ３(n)に代入して使用されるものであって、ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを代入して計算して得られたモータ推定温度Ｔｍが、電動モータ１５がどのような発熱状態であっても過熱防止できるような高温度（過熱防止用高温度）となるように予め設定されている。つまり、電動モータ１５のとり得る温度の最高温度に相当する値に設定されている。
【００８２】
また、仮基板温度Ｔｂmaxは、電動モータ１５がＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを用いて計算して得られたモータ推定温度Ｔｍとなるときに基板温度Ｔｂがとる温度に相当する値であって、基板温度Ｔｂがとり得る最高温度になるように予め設定されている。このステップＳ３５の処理は、マイコン４１がリセットしてアシスト制御が中断したときに、電動モータ１５がどのような発熱状態にあったかわからないため安全上の処置である。
【００８３】
マイコン４１は、ステップＳ３５にて仮温度データのＥＥＰＲＯＭ４４への書き込みが完了すると、続くステップＳ３６において、フラグＦをＦ＝１に設定する。従って、それ以降は、ステップＳ３３の判断は「ＹＥＳ」となり、ステップＳ３７のイグニッションスイッチ６０のオフ状態判定が継続されることになる。
【００８４】
そして、イグニッションスイッチ６０が操作されオフ状態が検知されると（時刻ｔ４）、ステップＳ３８においてアシスト制御を終了する。従って、これ以降、電動モータ１５は駆動制御されない。続いて、マイコン４１は、ステップＳ３９において、このアシスト制御終了時におけるモータ推定温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３）、および、温度センサ２５により検出された基板温度を表す基板温度データＴｂをＥＥＰＲＯＭ４４に書き込む。従って、先のステップＳ３５でＥＥＰＲＯＭ４４に書き込まれた仮温度データは、アシスト制御終了時における温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）に書き換えられる。
【００８５】
続いて、マイコン４１は、ステップＳ４０においてタイマを起動し、ステップＳ４１にて所定時間（例えば、１０分）の経過を判断する。そして、アシスト制御が終了して所定時間の経過が確認されると（Ｓ４１：ＹＥＳ）、マイコン４１は、ステップＳ４２において、その時点におけるモータ推定温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３）、および、基板温度データＴｂをＥＥＰＲＯＭ４４に書き込む（時刻ｔ５）。マイコン４１は、アシスト制御の終了後においてもモータ温度推定ルーチンによりモータ推定温度Ｔｍの演算を行っている。この場合、電動モータ１５には所定時間以上電流が流れていない状態となっているため、モータ推定温度データで表されるモータ推定温度Ｔｍおよび基板温度Ｔｂは、ステップＳ３９における値より小さな値となる。
【００８６】
こうして、先のステップＳ３９においてＥＥＰＲＯＭ４４に記憶された温度データは、最終的には、その所定時間経過後の温度データに書き換えられる。この温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）は、次回のイグニッションスイッチ６０がオンしたときに、ステップＳ５０の推定温度初期値演算処理において読み出され、モータ推定温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３）の初期値の演算に使用される。
【００８７】
ステップＳ４２にて温度データのＥＥＰＲＯＭ４４への書き込みが完了すると、マイコン４１は、ステップＳ４３において、電源リレー５７をオフして全ての処理を終了する。尚、所定時間の待機中（時刻ｔ４〜ｔ５）においてイグニッションスイッチ６０がオン状態に切り替わった場合には、マイコン４１は、最終的な温度データの書き込みを行うことなく上述した初期診断（Ｓ３１）からの処理を開始する。
【００８８】
次に、推定温度初期値演算処理について説明する。図９は、マイコン４１の実行する推定温度初期値演算ルーチンを表す。この推定温度初期値演算ルーチンは、データ読み書き制御ルーチンにおけるステップＳ５０のサブルーチンとして組み込まれている。
【００８９】
推定温度初期値演算ルーチンが起動すると、マイコン４１は、まずステップＳ５１において、ＥＥＰＲＯＭ４４に記憶されている温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）を読み出す。続いて、ステップＳ５２において、温度データの状態をチェックサム（Check  Sum：誤り検出符号）を使ってチェックする。
【００９０】
ＥＥＰＲＯＭ４４には、ヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３，基板温度Ｔｂを別々に記憶するための４つの温度データフィールドと、チェックサムを記憶するためのチェックサムフィールドが設けられている。マイコン４１は、温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）をＥＥＰＲＯＭ４４に書き込む場合、ヒートマス温度値ＳＵＭ１ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３，基板温度Ｔｂを各温度データフィールドに順番に書き込む。また、温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）からチェックサムを計算し、その計算したチェックサムをチェックサムフィールドに書き込む。
【００９１】
マイコン４１は、ステップＳ５２において、ＥＥＰＲＯＭ４４から読み出した温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）のチェックサムを計算し、このチェックサムがチェックサムフィールドに記憶されている値と同じであるか否かを判断することにより、温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）の状態が正常であるか否かを判定する。
【００９２】
例えば、アシスト制御が終了して温度データをＥＥＰＲＯＭ４４に書き込んでいる途中で、イグニッションスイッチ６０がオンされてクランキング動作が行われた場合には、バッテリ５１の一時的な電圧降下により、マイコン４１がリセットしてしまうことがある。そうした場合には、ＥＥＰＲＯＭ４４に温度データが正しく書き込めない。そこで、マイコン４１は、ステップＳ５２において、チェックサムを使って温度データ（ＳＵＭ１，ＳＵＭ２，ＳＵＭ３，Ｔｂ）の異常の有無を判別する。
【００９３】
続いて、マイコン４１は、ステップＳ５３において、温度センサ２５にて検出される現時点の基板温度Ｔｂを読み込む。続いて、ステップＳ５４において、温度センサ２５に異常が生じているか否かについてチェックする。例えば、温度センサ２５により検出される基板温度Ｔｂが、予め想定される範囲を超える異常値となる状態、電源ラインの異常（断線、短絡）等を検出することにより温度センサ２５の異常を判定する。
【００９４】
また、必ずしもセンサ異常とは言えないが、基板温度Ｔｂに応じてモータ推定温度を補正すべきでない状況にあるときにも、便宜上センサ異常であると判定する。この補正すべきでない状況としては、温度センサ２５により検出された基板温度Ｔｂが予め設定した推定温度補正許可基板温度よりも高くなっている状況、および、温度センサ２５により検出された基板温度ＴｂがＥＥＰＲＯＭ４４から読み出した基板温度データＴｂの表す基板温度Ｔｂｏに比べて高くなっている状況に設定されている。
【００９５】
続いて、マイコン４１は、ステップＳ５５において、温度データのチェック結果に基づいて、温度データが正常であったか否かを判断し、正常であった場合には、続くステップＳ５６において、温度センサ２５が正常であったか否かを判断する。そして、温度データ、温度センサ２５ともに正常であった場合には、ステップＳ５７において、基板温度変化値ΔＴを算出する。この場合、基板温度変化値ΔＴは、ＥＥＰＲＯＭ４４に記憶されている基板温度データＴｂが表す温度値である基板温度Ｔｂｏから、ステップＳ５３で温度センサ２５により検出された基板温度Ｔｂを減算した値（Ｔｂｏ−Ｔｂ）に設定される。
【００９６】
続いて、マイコンは、ステップＳ５８において、ヒートマス温度値ＳＵＭ１を計算するための初期値ＳＵＭ１(n-1)を次式（５）により計算し、コイル温度値ＳＵＭ２を計算するための初期値ＳＵＭ２(n-1)を次式（６）により計算し、ブラシ温度値ＳＵＭ３を計算するための初期値ＳＵＭ３(n-1)を次式（７）により計算する。
ＳＵＭ１(n-1)＝ＳＵＭ１ｏ−α・ΔＴ  ・・・・（５）
ＳＵＭ２(n-1)＝ＳＵＭ２ｏ−β・ΔＴ  ・・・・（６）
ＳＵＭ３(n-1)＝ＳＵＭ３ｏ−γ・ΔＴ  ・・・・（７）
【００９７】
ここで、ＳＵＭ１ｏは、ＥＥＰＲＯＭ４４に記憶されているヒートマス温度値ＳＵＭ１の値を表し、ＳＵＭ２ｏは、ＥＥＰＲＯＭ４４に記憶されているコイル温度値ＳＵＭ２の値を表し、ＳＵＭ３ｏは、ＥＥＰＲＯＭ４４に記憶されているブラシ温度値ＳＵＭ３の値を表す。また、α，β，γは、予め設定された補正係数である（例えば、０．５）。この補正係数α，β，γは、発熱要素の特性に合わせて別々の値に設定することが好ましいが、同一の値に設定してもよい。また、補正係数α，β，γは、必ずしも一定値にする必要はなく、基板温度変化値ΔＴに応じて変化させるようにしてもよい。
【００９８】
こうして算出された初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)は、上述したモータ温度推定ルーチン（図６）が開始されたときの最初のステップＳ２２，Ｓ２３，Ｓ２４において使用される。これにより、ステップＳ２５において、モータ推定温度Ｔｍが計算される。
【００９９】
また、ステップＳ５８の処理においては、基板温度変化値ΔＴに応じて、基板温度変化値ΔＴが大きいほど、初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)が小さくなくなるように、ＥＥＰＲＯＭ４４に記憶されている値（ＳＵＭ１ｏ，ＳＵＭ２ｏ，ＳＵＭ３ｏ)を補正して算出される。このことは、基板温度変化値ΔＴが大きいほど（検出した基板温度Ｔｂが低いほど）モータ推定温度Ｔｍの初期値を小さくする側に補正することを意味している。電動モータ１５の温度は、基板温度Ｔｂと関連性を有する。従って、アシスト制御の開始時において基板温度Ｔｂが前回のアシスト制御終了時における基板温度Ｔｂｏよりも低下していれば、その低下量に比例して低下すると推測される。そこで、基板温度変化値ΔＴに比例した温度だけ、モータ推定温度Ｔｍの演算に関わる項の値（ＳＵＭ１ｏ，ＳＵＭ２ｏ，ＳＵＭ３ｏ)を小さくするわけである。これにより、適正なモータ推定温度Ｔｍを演算することができる。
【０１００】
一方、温度センサ２５が異常であると判定された場合（Ｓ５６：Ｎｏ）には、ステップＳ５９において、基板温度変化値ΔＴをゼロ（ΔＴ＝０）に設定し、上記式（５）〜（７）を使って初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を計算する。従って、この場合は、次式のように、初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)は、基板温度変化値ΔＴにより補正されることなく、ＥＥＰＲＯＭ４４に記憶されているヒートマス温度値ＳＵＭ１ｏ，コイル温度値ＳＵＭ２ｏ，ブラシ温度値ＳＵＭ３ｏと同じ値に設定される。
ＳＵＭ１(n-1)＝ＳＵＭ１ｏ
ＳＵＭ２(n-1)＝ＳＵＭ２ｏ
ＳＵＭ３(n-1)＝ＳＵＭ３ｏ
【０１０１】
また、ステップＳ５５において、ＥＥＰＲＯＭ４４の温度データが異常であると判断された場合には、ステップＳ６０において、温度センサ２５が正常であったか否かを判断する。そして、温度センサ２５が正常であると判断した場合（Ｓ６０：Ｙｅｓ）、つまり、温度データが異常であり、かつ、温度センサ２５が正常であった場合には、ステップＳ６１において、基板温度変化値ΔＴを算出する。この場合、マイコン４１は、予めＲＯＭに記憶されている仮基板温度Ｔｂmaxを読み出して、この仮基板温度Ｔｂmaxから、ステップＳ５３で温度センサ２５により検出された基板温度Ｔｂを減算した値（Ｔｂmax−Ｔｂ）を基板温度変化値ΔＴに設定する。この仮基板温度Ｔｂmaxは、基板温度Ｔｂがとり得る最高の温度になるように予め設定されており、ステップＳ３５において使用したものと同一でよい。
【０１０２】
続いて、マイコンは、ステップＳ６２において、ヒートマス温度値ＳＵＭ１を計算するための初期値ＳＵＭ１(n-1)を次式（８）により計算し、コイル温度値ＳＵＭ２を計算するための初期値ＳＵＭ２(n-1)を次式（９）により計算し、ブラシ温度値ＳＵＭ３を計算するための初期値ＳＵＭ３(n-1)を次式（１０）により計算する。
ＳＵＭ１(n-1)＝ＳＵＭ１max−α・ΔＴ  ・・・・（８）
ＳＵＭ２(n-1)＝ＳＵＭ２max−β・ΔＴ  ・・・・（９）
ＳＵＭ３(n-1)＝ＳＵＭ３max−γ・ΔＴ  ・・・・（１０）
【０１０３】
ここで、ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxは、予めＲＯＭに記憶された仮ヒートマス温度値ＳＵＭ１max，仮コイル温度値ＳＵＭ２max，仮ブラシ温度値ＳＵＭ３maxであって、過熱防止を図る観点でモータ推定温度Ｔｍが高い温度に演算されるような値に設定されている。尚、仮ヒートマス温度値ＳＵＭ１max，仮コイル温度値ＳＵＭ２max，仮ブラシ温度値ＳＵＭ３maxは、ステップＳ３５において使用したものと同一でよい。
【０１０４】
こうして算出された初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)は、上述したモータ温度推定ルーチン（図６）が開始されたときの最初のステップＳ２２，Ｓ２３，Ｓ２４において使用される。これにより、ステップＳ２５において、モータ推定温度Ｔｍが計算される。
【０１０５】
上述したように、温度データをＥＥＰＲＯＭ４４に書き込んでいる途中でマイコン４１がリセットしてしまった場合には、ＥＥＰＲＯＭ４４には正しい温度データが書き込まれていない。そこで、ステップＳ６２においては、ＥＥＰＲＯＭ４４のモータ推定温度データに代えて、電動モータ１５がどのような発熱状態であっても過熱防止できるような高温度に設定された仮ヒートマス温度値ＳＵＭ１max，仮コイル温度値ＳＵＭ２max，仮ブラシ温度値ＳＵＭ３maxを用いる。
【０１０６】
この場合、そのまま各仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを用いてモータ推定温度Ｔｍを計算すると、実際には電動モータ１５が低温状態であってもアシスト制御における上限電流値Ｉmaxが低く設定され、ハンドル操作が重くなり運転者の負担が増大してしまう。
【０１０７】
そこで、マイコン４１は、モータ推定温度Ｔｍの計算にあたって、予め設定された仮基板温度Ｔｂmaxから温度センサ２５により検出された基板温度Ｔｂを減算した基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）を使って、各仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを補正した値を初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)に設定する。従って、モータ推定温度Ｔｍは、基板温度変化値ΔＴが大きいほど（検出した基板温度Ｔｂが低いほど）小さくなる側に補正される。
【０１０８】
尚、基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）は，ステップＳ５７で計算した基板温度変化値ΔＴ（Ｔｂｏ−Ｔｂ）よりも大きな値となるが、各仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxが各部の最高温度相当の値に設定されており、この仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）で補正するため、演算されたモータ推定温度Ｔｍは、適正値となる。このため、ＥＥＰＲＯＭ４４に温度データを書き込めず仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを使ってモータ推定温度Ｔｍを計算した場合であっても、過熱防止機能を維持できるとともに、電動モータ１５による操舵アシストが十分得られる。このため、運転者にとって使い勝手がよい。
【０１０９】
一方、ステップＳ６０において、温度センサ２５が異常であると判定された場合には、ステップＳ６３において、基板温度変化値ΔＴをゼロ（ΔＴ＝０）に設定し、上記式（８）〜（１０）を使って初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を計算する。従って、この場合は、次式のように、初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)は、基板温度変化値ΔＴにより補正されることなく、ＲＯＭから読み出した仮ヒートマス温度値ＳＵＭ１max，仮コイル温度値ＳＵＭ２max，仮ブラシ温度値ＳＵＭ３maxと同じ値に設定される。
ＳＵＭ１(n-1)＝ＳＵＭ１max
ＳＵＭ２(n-1)＝ＳＵＭ２max
ＳＵＭ３(n-1)＝ＳＵＭ３max
【０１１０】
マイコン４１は、ステップＳ５８あるいはステップＳ６２において、初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を演算すると、推定温度初期値演算ルーチンを終了する。従って、モータ温度推定ルーチン（図６）が開始されると、ステップＳ２２〜ステップＳ２４において、この初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を使ってヒートマス温度値ＳＵＭ１，コイル温度値ＳＵＭ２，ブラシ温度値ＳＵＭ３が計算され、ステップＳ２５において、それらの計算値からモータ推定温度Ｔｍが計算されることになる。
【０１１１】
以上説明した本実施形態の電動パワーステアリング装置１によれば、以下の効果を奏する。
１．電動モータ１５の温度を推定し、この推定温度Ｔｍに基づいて電動モータ１５に流すことのできる上限電流値Ｉmaxを設定しているため、電動モータ１５やモータ駆動回路３２の過熱防止を行うことができる。
【０１１２】
２．電動モータ１５の温度推定に当たっては、ＥＥＰＲＯＭ４４に記憶されている温度データのチェックを行い、温度データが異常である場合には、過熱防止用に高温度に設定された仮温度データ（ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３max）を用いてモータ推定温度Ｔｍの計算を開始するため、そうした場合であっても、過熱防止を確実に行うことができる。
【０１１３】
３．温度データが異常である場合には、基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）を使って、基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）が大きくなるほど、小さくなるように補正した初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を用いてモータ推定温度Ｔｍの計算を開始するため（Ｓ６１，Ｓ６２）、過熱防止機能を維持しつつ、電動モータ１５による操舵アシスト機能が十分得られ、運転者の負担が低減される。
【０１１４】
４．温度センサ２５の異常が検出された場合には、基板温度変化値ΔＴ（Ｔｂmax−Ｔｂ）による温度補正を行わないため（Ｓ６３）、確実に過熱防止を行うことができる。この場合、ハンドル操作が重くなるため、運転者に異常を気付かせることができる。
【０１１５】
５．温度データが正常である場合には、基板温度変化値ΔＴ（Ｔｂｏ−Ｔｂ）を使って、基板温度変化値ΔＴ（Ｔｂｏ−Ｔｂ）が大きくなるほど、小さくなるように補正した初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を用いてモータ推定温度Ｔｍの計算を開始するため（Ｓ５７〜Ｓ５８）、モータ推定温度Ｔｍを最適な値にすることができる。これにより、電動モータ１５の電流制限が一層適切に行われ、良好な過熱防止性能と操舵操作性能とが得られる。
【０１１６】
６．温度データが正常であっても温度センサ２５の異常が検出された場合には、基板温度変化値ΔＴ（Ｔｂｏ−Ｔｂ）による温度補正を行わないため（Ｓ５９）、確実に過熱防止を行うことができる。
【０１１７】
７．モータ温度を推定するに当たって、電動モータ１５の発熱を、筐体における発熱要素と、コイルにおける発熱要素と、ブラシにおける発熱要素とに分け、各発熱要素毎の上昇温度にゲインを乗じた値を加算してモータ推定温度Ｔｍを計算しているため（Ｓ２２〜Ｓ２５）、その推定精度が高い。また、初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)の計算にあたっては、補正係数α，β，γを発熱要素毎に設定しているため（Ｓ５８，Ｓ６２）、それぞれ最適な値にすることができる。この結果、精度の良い過熱防止を行うことができる。
【０１１８】
８．アシスト制御中にマイコン４１がリセットして推定温度データが失われる事態に備えて、ＥＥＰＲＯＭ４４に仮温度データを書き込むようにしているため、確実に過熱防止を行うことができる（Ｓ３５）。
【０１１９】
以上、本実施形態の電動パワーステアリング装置について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
【０１２０】
例えば、本実施形態においては、電動モータ１５の発熱を３つの発熱要素に分け、それぞれの温度上昇分からモータ推定温度Ｔｍを計算しているが、必ずしも、そのように発熱要素に分ける必要はなく、単に、電動モータ１５に流れる電流の二乗の積算値により計算するようにしてもよい。
【０１２１】
また、本実施形態においては、基板温度Ｔｂを使って仮温度値ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３maxを補正するようにしているが、必ずしも基板温度Ｔｂを用いる必要はなく、電動モータ１５の温度変化とともに温度が変化する部位の温度を検出し、その温度を使って補正するようにしてもよい。例えば、電動モータ１５の近傍に温度センサを設け、この温度センサにより検出されるモータ雰囲気温度を使って補正するようにしてもよい。
【０１２２】
また、本実施形態においては、基板温度変化値ΔＴを使って、温度値（ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３max、あるいは、ＳＵＭ１ｏ，ＳＵＭ２ｏ，ＳＵＭ３ｏ）を補正して初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)を演算しているが、基板温度変化値ΔＴを使わずに、単に、基板温度Ｔｂ（アシスト制御を開始するときの基板温度）に基づいて、基板温度Ｔｂが低いほど初期値ＳＵＭ１(n-1)，ＳＵＭ２(n-1)，ＳＵＭ３(n-1)が減少するように温度値（ＳＵＭ１max，ＳＵＭ２max，ＳＵＭ３max、あるいは、ＳＵＭ１ｏ，ＳＵＭ２ｏ，ＳＵＭ３ｏ）を補正する構成であってもよい。
【０１２３】
また、本実施形態においては、チェックサムを使って温度データの異常を検出しているが、データの異常検出に関しては、チェックサムに限らず種々の手法が知られているため、それらの任意のものを使用すればよい。
【０１２４】
また、本実施形態においては、温度データをＥＥＰＲＯＭ４４に記憶するようにしているが、必ずしもＥＥＰＲＯＭ４４を用いる必要はなく、他の不揮発性メモリに記憶するようにしてもよい。また、電動モータに関しても、ブラシモータに限らずブラシレスモータであってもよいし、単相モータに限らず３相モータであってもよい。
【０１２５】
また、本実施形態の電動パワーステアリングは、電動モータ１５でステアリングシャフト１２に回転力を付与するコラムアシストタイプであるが、電動モータ１５でラックバー１４に軸力を付与するラックアシストタイプに適用しても良い。
【０１２６】
また、本実施形態においては、ハンドル操作をアシストする電動パワーステアリング装置について説明したが、操舵ハンドルと転舵輪とを機械的に切り離したステアリングバイワイヤ方式の操舵装置にも適用できる。つまり、運転者のハンドル操作に対して操舵反力トルクを発生する電動モータと、転舵輪を操舵するための操舵トルクを発生する電動モータの少なくとも一方を備え、その少なくとも一方の電動モータの温度を推定し、その推定温度に基づいて電流制限を加えるようにして過熱防止を図るものであってもよい。
【符号の説明】
【０１２７】
１…電動パワーステアリング装置、１０…操舵機構、１１…操舵ハンドル、１５…電動モータ、２１…操舵トルクセンサ、２２…車速センサ、２３…回転角センサ、２４…電流センサ、２５…温度センサ、３０…電子制御ユニット（ＥＣＵ）、３２…モータ駆動回路、４０…電子制御回路、４１…マイコン、４２…入力インタフェース、４３…出力インタフェース、４４…ＥＥＰＲＯＭ、５０…電源装置、５１…バッテリ、６０…イグニッションスイッチ、ＦＷ１，ＦＷ２…左右前輪（操舵輪）、ＳＵＭ１…ヒートマス温度推定用電流二乗積算値、ＳＵＭ１max…仮ヒートマス温度値、ＳＵＭ１ｏ…ヒートマス温度値、ＳＵＭ２…コイル温度推定用電流二乗積算値、ＳＵＭ２max…仮コイル温度値、ＳＵＭ２ｏ…コイル温度値、ＳＵＭ３…ブラシ温度推定用電流二乗積算値、ＳＵＭ３max…仮ブラシ温度値、ＳＵＭ３ｏ…ブラシ温度値、Ｔｂ…基板温度、Ｔｂmax…仮基板温度、Ｔｂｏ…基板温度、Ｔｈ…操舵トルク、Ｔｍ…モータ推定温度、α，β，γ…補正係数、ΔＴ…基板温度変化値。
【図１】
2012046049.tif 000003
【図２】
2012046049.tif 000004
【図３】
2012046049.tif 000005
【図４】
2012046049.tif 000006
【図５】
2012046049.tif 000007
【図６】
2012046049.tif 000008
【図７】
2012046049.tif 000009
【図８】
2012046049.tif 000010
【図９】
2012046049.tif 000011