(57)【要約】【課題】不揮発性記憶手段に書き込まれた推定温度を確実に読み出すことができるモータ制御装置を提供する。【解決手段】モータ制御装置は、モータを駆動するモータ駆動回路と、モータ制御回路の素子の温度を推定する温度推定部と、第１領域および第２領域を有するＥＥＰＲＯＭとを備えている。温度推定部は、推定した推定温度Ｔｅを、１回の書き込み要求に対して、ＥＥＰＲＯＭの第１領域および第２領域の両方にそれぞれ書き込む。仮に、第１領域および第２領域の一方の領域に対する推定温度Ｔｅの書き込み中、リセットが発生することにより、当該書き込みが失敗したとする。この場合、リセットによる再起動時、温度推定部は、他方の領域に記憶されている推定温度Ｔｅを読み出し、この値に基づいて推定温度Ｔｅの算出を行うことができる。【選択図】図５
2016019449.tif 000002
【特許請求の範囲】
【請求項１】
モータ（８０）を制御するモータ制御装置（１０）であって、
前記モータを駆動するモータ駆動回路（１２）の素子の推定温度（Ｔｅ）または前記モータの巻線の推定温度を算出する温度推定手段（２１）と、
前記推定温度を記憶する第１領域および第２領域を有する不揮発性記憶手段（２６）と、を備え、
前記温度推定手段は、前記第１領域および前記第２領域の両方に前記推定温度を書き込むことができることを特徴とするモータ制御装置。
【請求項２】
前記推定温度は、書き込み要求が発生する毎に、前記第１領域および前記第２領域の両方に書き込まれることを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記推定温度は、書き込み要求が発生する毎に、前記第１領域および前記第２領域のいずれか一方に交互に書き込まれることを特徴とする請求項１に記載のモータ制御装置。
【請求項４】
前記推定温度が前回書き込まれた時点の値から所定の温度差（ΔＴ）以上を有する値に変化したとき、前記温度推定手段は前記書き込み要求が発生したと判断することを特徴とする請求項２または３に記載のモータ制御装置。
【請求項５】
車両に搭載され、操舵トルクをアシストするモータ（８０）と、
請求項１〜４のいずれか一項に記載のモータ制御装置と、を備えることを特徴とする電動パワーステアリング装置（１）。
【請求項６】
前記モータ制御装置は、
前記モータ駆動回路への電流指令値を演算する演算手段（２０）と、
前記推定温度に基づいて前記電流指令値の上限を制限する電流制限演算手段（２２）と、を備え、
エンジン停止状態の発生後、前記電流制限演算手段は、前記電流指令値の上限をエンジン稼働時の値に保つことを特徴とする請求項５に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置およびそれを用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
従来、モータを制御するモータ制御装置において、モータの巻線の温度やモータ駆動回路の素子の温度を推定し、この推定温度が過熱防止のための閾値を超えないように、モータに通電可能な最大電流を制限するという過熱保護制御が知られている（例えば、特許文献１参照）。このような過熱保護制御を行うモータ制御装置は、モータの制御を終了するとき、その直前に推定していた推定温度を不揮発性記憶手段に書き込む。その後、モータの制御を再開するとき、不揮発性記憶手段に書き込まれている推定温度の情報に基づいて、温度推定を再開する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３２８５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１等の従来技術では、不揮発性記憶手段への推定温度の書き込みを失敗した場合、書き込み中であったデータが破損する。データが破損したまま次にモータの制御を再開する場合、不揮発性記憶手段から推定温度の情報を読み出すことができず、正確な温度推定を行うことができない。これにより、過熱保護制御についての信頼性が失われる。
【０００５】
本発明は、上述の課題に鑑みてなされたものであり、その目的は、不揮発性記憶手段に書き込まれた推定温度を確実に読み出すことができるモータ制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、モータを制御するモータ制御装置であって、モータを駆動するモータ駆動回路の素子の推定温度またはモータの巻線の推定温度を算出する温度推定手段と、推定温度を記憶する第１領域および第２領域を有する不揮発性記憶手段と、を備えている。ここで、温度推定手段は、第１領域または第２領域の両方に推定温度を書き込むことができる。
【０００７】
上記構成によれば、第１領域および第２領域のいずれか一方の領域に対する推定温度の書き込みを失敗した場合、当該一方の領域から推定温度を読み出すことができなくとも、他方の領域から推定温度を読み出すことができる。
したがって、本発明のモータ制御装置は、不揮発性記憶手段に書き込まれた推定温度を確実に読み出すことができる。これにより、読み出した推定温度に基づいて推定温度を算出し、その値に基づいてモータ駆動回路の素子やモータの巻線に対する過熱保護を適切に行うことが可能である。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態によるモータ制御装置を示すブロック図である。
【図２】本発明の第１実施形態による電動パワーステアリング装置が適用されるステアリングシステムを示す模式図である。
【図３】本発明の第１実施形態による推定温度の書き込み処理を示すフローチャートである。
【図４】本発明の第１実施形態による推定温度の読み出し処理を示すフローチャートである。
【図５】本発明の第１実施形態による推定温度の書き込み処理および読み出し処理の一例を説明するためのタイムチャートである。
【図６】本発明の第２実施形態によるモータ制御装置の動作を説明するためのタイムチャートである。
【図７】本発明の第３実施形態による推定温度の書き込み処理を示すフローチャートである。
【図８】本発明の第３実施形態による推定温度の読み出し処理を示すフローチャートである。
【図９】本発明の第３実施形態によるモータ制御装置の動作を説明するためのタイムチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明によるモータ制御装置を車両の電動パワーステアリング装置に適用した実施形態について、図面に基づいて説明する。
（第１実施形態）
本発明の第１実施形態による電動パワーステアリング装置について図１〜図５を参照して説明する。
図２は、電動パワーステアリング装置１を備えたステアリングシステム９０の全体構成を示す。ハンドル９１に接続されたステアリングシャフト９２には、操舵トルクを検出するためのトルクセンサ９４が設置されている。ステアリングシャフト９２の先端にはピニオンギア９６が設けられており、ピニオンギア９６はラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が回転可能に連結されている。ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換され、ラック軸９７の直線運動変位に応じた角度について一対の車輪９８が操舵される。
【００１０】
電動パワーステアリング装置１は、モータ制御装置１０、モータ８０、および、減速ギア８９を含む。
モータ制御装置１０は、トルクセンサ９４からの操舵トルク信号Ｔｑや、車速センサ９９からの車速信号Ｖｅｌ等に基づいてモータ８０を制御する。本実施形態のモータ８０は、ＤＣモータであり、運転者によるハンドル９１の操舵を補助するための操舵アシストトルクを発生し、減速ギア８９を正逆回転させる。減速ギア８９は、モータ８０の出力軸の回転を減速してステアリングシャフト９２に伝達する。
【００１１】
次に、モータ制御装置１０の制御ブロックについて、図１を参照して説明する。
モータ制御装置１０は、制御部１１、モータ駆動回路１２、モータ電流検出回路１３、および、温度センサ１４を備えている。
【００１２】
制御部１１は、マイコンや駆動回路（プリドライバ）等で構成されており、操舵トルク信号Ｔｑおよび車速信号Ｖｅｌ等の入力信号に基づいて、制御に係る各演算値を演算し、電圧指令値Ｖｒｅｆをモータ駆動回路１２に出力する。
【００１３】
本実施形態のモータ駆動回路１２は、複数のスイッチング素子により構成されたＨブリッジ回路であり、電圧指令値Ｖｒｅｆに基づいてモータ８０への通電を行う。スイッチング素子は、例えばＭＯＳＦＥＴ（金属酸化物半導体電界効果トランジスタ）である。
モータ電流検出回路１３は、モータ駆動回路１２からモータ８０に供給されるモータ電流を検出し、モータ電流検出値Ｉｍを後述の減算部２３に入力する。
【００１４】
温度センサ１４は、例えばモータ駆動回路１２の基板に実装されており、モータ駆動回路１２を構成するスイッチング素子（以下、単に「モータ駆動回路１２の素子」と称する）の発熱を検出する。温度センサ１４が検出した検出温度Ｔｓは、後述の温度推定部２１に入力される。なお、温度センサ１４による検出温度Ｔｓは、モータ駆動回路１２の素子の温度を直接検出したものではなく、その周囲温度である。
【００１５】
次に、制御部１１の詳細について、図１を参照して説明する。
制御部１１は、電流指令値演算部２０、温度推定部２１、電流制限演算部２２、減算部２３、比例積分部２４、ＰＷＭ部２５、および、「不揮発性記憶手段」としてのＥＥＰＲＯＭ２６を含んでいる。
電流指令値演算部２０は、トルクセンサ９４から入力された操舵トルク信号Ｔｑおよび車速センサ９９から入力された車速信号Ｖｅｌ等に基づいて、電流指令値Ｉｒｅｆを演算する。
【００１６】
温度推定部２１は、温度センサ１４から入力された検出温度Ｔｓに基づいて、モータ駆動回路１２の素子の推定温度Ｔｅを算出する。推定温度Ｔｅの算出方法は、周知技術であるため、詳細な説明を省略する。温度推定部２１は、モータ制御装置１０がモータ８０を制御する間、推定温度Ｔｅを連続的に算出する。
【００１７】
電流制限演算部２２は、電流指令値Ｉｒｅｆの上限となる電流制限値Ｉｒｅｆ*を演算する。特に本実施形態では、電流制限演算部２２は、モータ駆動回路１２の素子の過熱を防止するため、温度推定部２１から入力された推定温度Ｔｅが上昇した場合に電流制限値Ｉｒｅｆ*を低下させるような演算を行う。
【００１８】
減算部２３、比例積分部２４、および、ＰＷＭ部２５は、周知の電流フィードバック制御に係る構成である。減算部２３は、電流制限値Ｉｒｅｆ*とモータ電流検出値Ｉｍとの差分を比例積分部２４に入力する。比例積分部２４は、入力された差分をゼロに収束させるように電圧指令値Ｖｒｅｆを演算する。ＰＷＭ部２５は、電圧指令値Ｖｒｅｆに基づいて、ＰＷＭ信号をモータ駆動回路１２に出力する。
【００１９】
ＥＥＰＲＯＭ２６は、推定温度Ｔｅを記憶可能な２つの領域を有している。この２つの領域のうち、一方を第１領域と称し、他方を第２領域と称する。第１領域と第２領域とは、例えばアドレスにより区別されている。
【００２０】
上述の構成を有するモータ制御装置１０には、イグニッションスイッチ５２等を介して電源が供給される。イグニッションスイッチ５２がオフ操作される等して制御部１１への電源供給が遮断されたとき、制御部１１はリセットされる。なお、イグニッションスイッチ５２がオフ操作されたとき、所定時間、制御部１１への電源供給が維持される「パワーラッチ」が実行されてもよい。
また、エンジンストール（以下、エンストと称する）後にクランクキングが発生したとき、セルモータを始動させるための大電流が流れ、電源電圧Ｖが大きく低下する。これによって、制御部１１はリセットされる。
【００２１】
制御部１１がリセットされると、温度推定部２１がそれまで算出していた推定温度Ｔｅは消去される。そこで、本実施形態の温度推定部２１は、算出した推定温度Ｔｅをリセットの発生前に適宜、ＥＥＰＲＯＭ２６に書き込む。その後、制御部１１が再起動するとき、温度推定部２１は、ＥＥＰＲＯＭ２６に記憶されている最終書き込み時の推定温度Ｔｅを読み出し、この値を初期値として利用して推定温度Ｔｅの算出を再開する。この書き込み処理および読み出し処理について、以下に詳細を説明する。
【００２２】
（書き込み処理）
図３に示すフローチャートを参照して、温度推定部２１が実行する推定温度Ｔｅの書き込み処理について説明する。以下、フローチャートの説明で記号「Ｓ」はステップを意味する。
【００２３】
まず、温度推定部２１は、推定温度Ｔｅの書き込み要求の発生の有無を判断する（Ｓ１１）。書き込み要求の具体例については、第２実施形態にて詳細を説明するが、制御部１１がリセットされる前に少なくとも１回発生する。
【００２４】
温度推定部２１は、書き込み要求が発生したと判断した場合（Ｓ１１：ＹＥＳ）、その時点で推定されている推定温度Ｔｅを、ＥＥＰＲＯＭ２６の第１領域に書き込み（Ｓ１２）、続いて第２領域に書き込む（Ｓ１３）。以上により、書き込み処理が終了する。
【００２５】
一方、温度推定部２１は、書き込み要求が発生していないと判断した場合（Ｓ１１：ＮＯ）、書き込み要求が発生したと判断するまでＳ１１を繰り返す。
【００２６】
上述の書き込み処理は、モータ制御装置１０がモータ８０を制御する間、繰り返し行われる。２回目以降の書き込み処理によれば、第１領域および第２領域に推定温度Ｔｅが上書きされる。
【００２７】
（読み出し処理）
次に、図４のフローチャートを参照して、推定温度Ｔｅの読み出し処理について説明する。
まず、温度推定部２１は、推定温度Ｔｅの読み出し要求の有無を判断する（Ｓ２１）。例えば、温度推定部２１は、制御部１１の再起動時に読み出し要求が発生したと判断する。
【００２８】
温度推定部２１は、読み出し要求が発生したと判断した場合（Ｓ２１：ＹＥＳ）、ＥＥＰＲＯＭ２６の第１領域の読み出しを実行する（Ｓ２２）。
一方、Ｓ２１にて読み出し要求が発生していないと判断した場合（Ｓ２１：ＮＯ）、読み出し要求が発生したと判断するまでＳ２１を繰り返す。
【００２９】
Ｓ２２の後、温度推定部２１は、第１領域から推定温度Ｔｅを正しく読み出したか否かを判断する（Ｓ２３）。正しく読み出したか否かの判断は、例えばチェックサム方式による。以下、同様とする。第１領域から推定温度Ｔｅを正しく読み出したと判断した場合（Ｓ２３：ＹＥＳ）、読み出し処理を終了する。
【００３０】
一方、Ｓ２３にて第１領域から推定温度Ｔｅを正しく読み出せなかったと判断した場合（Ｓ２３：ＮＯ）、Ｓ２４に移行する。Ｓ２４にて、温度推定部２１は、ＥＥＰＲＯＭ２６の第２領域の読み出しを実行する。
Ｓ２４の後、温度推定部２１は、第２領域から推定温度Ｔｅを正しく読み出せたか否かを判断する（Ｓ２５）。第２領域から推定温度Ｔｅを正しく読み出せたと判断した場合（Ｓ２５：ＹＥＳ）、読み出し処理を終了する。
【００３１】
一方、Ｓ２５にて第２領域から推定温度Ｔｅを正しく読み出せなかったと判断した場合（Ｓ２５：ＮＯ）、すなわち、ＥＥＰＲＯＭ２６の第１領域および第２領域のいずれからも推定温度Ｔｅを読み出せなかった場合、Ｓ２６に移行する。Ｓ２６では、温度推定部２１は、推定温度Ｔｅの代わりに設計値を設定し、読み出し処理を終了する。
【００３２】
（温度推定部２１の動作例）
次に、図５のタイムチャートを参照して、温度推定部２１の動作例について説明する。
図５のタイムチャートは、共通の時間軸を横軸として、縦軸に上から順に、推定温度Ｔｅの時間変化、ならびに、ＥＥＰＲＯＭ２６への推定温度Ｔｅの書き込みおよび読み出しのタイミングを示している。推定温度Ｔｅは、連続的に繰り返し算出されているため、図５では実線により示されている。また、図５に示す推定温度Ｔｅの書き込みおよび読み出しのタイミングについて、対象領域が第１領域である場合は「１」を、第２領域である場合は「２」を四角で囲って示している。
【００３３】
例えば、図５に示すように、時刻ｔ１にて書き込み要求が発生したとする。このとき、温度推定部２１は書き込み要求が発生したと判断し（Ｓ１１：ＹＥＳ）、Ｓ１２以降のステップを行う。これにより、時刻ｔ１にて算出されている推定温度ＴｅがＥＥＰＲＯＭ２６の第１領域および第２領域にそれぞれ書き込まれる。
【００３４】
その後、時刻ｔ２にて、次の書き込み要求が発生したとする。このとき、温度推定部２１は書き込み要求が発生したと判断し（Ｓ１１：ＹＥＳ）、Ｓ１２以降のステップを開始する。
ところが、時刻ｔ２の推定温度ＴｅがＥＥＰＲＯＭ２６の第１領域へ書き込まれている最中、時刻ｔ３にて制御部１１がリセットされた場合、第１領域への書き込みは失敗し、第１領域のデータは破損する。また、その後の第２領域への書き込みは行われない。推定温度Ｔｅの算出は、時刻ｔ３にて一旦終了する。
【００３５】
その後、時刻ｔ４にて、制御部１１が再起動すると、温度推定部２１は読み出し要求が発生したと判断して（Ｓ２１）、Ｓ２２以降のステップを行う。ここで、温度推定部２１は、データが無事に記憶されている第２領域から推定温度Ｔｅを読み出す。
時刻ｔ５にて、温度推定部２１は、読み出した推定温度Ｔｅに基づいて、推定温度Ｔｅの算出を再開する。
【００３６】
（効果）
以上のように、第１実施形態では、書き込み要求が発生する毎に、ＥＥＰＲＯＭ２６の第１領域および第２領域の両方に推定温度Ｔｅが書き込まれる。
したがって、第１実施形態では、第１領域および第２領域のいずれか一方の領域への書き込みを失敗した場合であっても、制御部１１の再起動時には他方の領域に記憶されている推定温度Ｔｅを確実に読み出すことができる。よって推定温度Ｔｅを確実に読み出すことができる。また、読み出された値に基づいて推定温度Ｔｅの算出を行うことにより、モータ駆動回路１２の素子の過熱保護制御を適切に行うことができる。すなわち、第１実施形態によれば、モータ駆動回路１２の素子の過熱保護制御に対する信頼性が向上する。
【００３７】
〔第２実施形態〕
本発明の第２実施形態について、図６を参照して説明する。
第２実施形態のモータ制御装置１０は、第１実施形態の書き込み処理のタイミングおよび電流制限演算部２２の電流制限方法に特徴を有する。なお、モータ制御装置１０の構成については、第１実施形態の構成と実質的に同一である。
【００３８】
第２実施形態のモータ制御装置１０の動作について、図６のタイムチャートを参照して説明する。
図６のタイムチャートは、共通の時間軸を横軸とし、縦軸に上から順に、電源電圧Ｖ、エンジン回転数ＮＥ、電流制限値Ｉｒｅｆ*、および、推定温度Ｔｅの時間変化、ならびに、ＥＥＰＲＯＭ２６への推定温度Ｔｅの書き込みおよび読み出しのタイミングを示している。なお、図６中の推定温度Ｔｅ、ならびに、推定温度Ｔｅの書き込みおよび読み出しのタイミングについて、図示の仕方は図５と同様である。
【００３９】
例えば、時刻ｔ１にてエンストが発生すると、エンジン回転数ＮＥが０になる。このとき、温度推定部２１は、エンジン回転数センサ４２から入力されたエンジン回転数ＮＥに基づいてエンジン停止を検出することにより、書き込み要求が発生したと判断し（Ｓ１１：ＹＥＳ）、Ｓ１２以降のステップを行う。これにより、時刻ｔ１にて算出されている推定温度ＴｅがＥＥＰＲＯＭ２６の第１領域および第２領域にそれぞれ書き込まれる。
【００４０】
ここで、従来のモータ制御装置は、エンスト後、電流制限値Ｉｒｅｆ*をゼロにして、モータの制御を終了する。図６では、従来技術による電流制限値Ｉｒｅf*の時間変化を点線で示している。
これに対し、第２実施形態のモータ制御装置１０では、電流制限演算部２２が電流制限値Ｉｒｅｆ*を通常駆動時の定格値Ｉｍａｘに維持している。以下では、エンスト中にモータ８０が駆動され、推定温度Ｔｅが上昇する場合について説明する。
【００４１】
エンスト中の時刻ｔ２１にて、推定温度Ｔｅが、前回書き込み時（時刻ｔ１）の値から所定の温度差ΔＴを有する値まで上昇したとする。このとき、温度推定部２１は書き込み要求が発生したと判断し（Ｓ１１：ＹＥＳ）、Ｓ１２以降のステップを開始する。これにより、時刻ｔ２１にて算出されている推定温度ＴｅがＥＥＰＲＯＭ２６の第１領域および第２領域にそれぞれ上書きされる。
【００４２】
その後、エンスト中の時刻ｔ２２にて、推定温度Ｔｅが、前回書き込み時（時刻ｔ２１）の値からさらに所定の温度差ΔＴを有する値まで上昇したとする。このとき、温度推定部２１は書き込み要求が発生したと判断し（Ｓ１１：ＹＥＳ）、Ｓ１２以降のステップを開始する。
ところが、時刻ｔ２２の推定温度ＴｅがＥＥＰＲＯＭ２６の第２領域へ書き込まれている最中、時刻ｔ３にて、クランキングが発生したとする。このとき、制御部１１はリセットされるため、第２領域への書き込みは失敗する。これにより、第１領域に記憶される推定温度Ｔｅは上書きされるが、第２領域のデータは破損する。
【００４３】
また、時刻ｔ３にて制御部１１がリセットした後、推定温度Ｔｅの算出は一旦終了し、電流制限値Ｉｒｅｆ*はゼロになる。なお、図６は、推定温度Ｔｅの算出終了時の値と算出再開時の値とを繋ぐ仮想値を点線で示している。
【００４４】
その後、時刻ｔ４にて、制御部１１が再起動することにより、温度推定部２１は読み出し要求が発生したと判断し（Ｓ２１）、Ｓ２２以降のステップを行う。ここで、温度推定部２１は、データが無事に記憶されている第１領域から、時刻ｔ２２時点の推定温度Ｔｅを読み出す。
【００４５】
時刻ｔ５にて、温度推定部２１は、読み出した推定温度Ｔｅに基づいて、推定温度Ｔｅの算出を再開する。また、電流制限演算部２２は、算出された推定温度Ｔｅに基づいて、電流制限値Ｉｒｅｆ*の演算を行う。これにより、モータ制御装置１０は、モータ駆動回路１２の制御を再開する。
【００４６】
（効果）
（１）第２実施形態では、エンスト中、算出された推定温度Ｔｅが前回書き込み時の値から所定の温度差ΔＴを有する値にまで変化したとき、書き込み要求が発生したと判断され、その時点の推定温度ＴｅがＥＥＰＲＯＭ２６の第１領域および第２領域に上書きされる。
このような書き込み処理によれば、なるべくリセット時に近い時点で推定された推定温度ＴｅがＥＥＰＲＯＭ２６に記憶される。このため、制御部１１の再起動時、より正確な推定温度Ｔｅを算出することができる。例えば、図６では、エンスト時（時刻ｔ１）の値に基づいて算出された場合の推定温度Ｔｅと、その後の最終書き込み時（時刻ｔ２２）の値に基づいて算出された場合の推定温度Ｔｅとの差を、白抜き矢印によって示している。図６に示す例では、この差の分だけ、より正確な値に近い推定温度Ｔｅが算出されている。
また、推定温度Ｔｅが変化しない場合にはＥＥＰＲＯＭ２６への上書きを行わないため、書き込み回数が抑制される。これにより、ＥＥＰＲＯＭ２６の寿命を延ばすことができる。
【００４７】
さらに、第１領域および第２領域のいずれか一方の領域への上書き処理中にクランキングが発生し、書き込みを失敗した場合であっても、制御部１１の再起動時には他方の領域に記憶されている推定温度Ｔｅを読み出すことができる。よって、第１実施形態と同様、推定温度Ｔｅを確実に読み出すことができる。
【００４８】
（２）従来のモータ制御装置は、エンスト時の推定温度ＴｅをＥＥＰＲＯＭに書き込んだ後、エンスト中には推定温度Ｔｅの上書きを行っていない。仮にエンスト中に上書き処理を行うとしても、クランキングによるリセットが上書き処理中に発生した場合、推定温度Ｔｅのデータを読み出せなくなる。そこで、従来のモータ制御装置では、再起動時、推定温度Ｔｅの算出を正確に再開するために、モータ駆動回路の素子の温度を、エンスト時にＥＥＰＲＯＭに記憶された推定温度Ｔｅの値から乖離させないことが必要である。よって、従来のモータ制御装置では、モータ駆動回路の素子の温度がエンスト時の値から上昇するのを防ぐため、エンストが発生すると電流制限値Ｉｒｅｆ*をゼロにして、モータの制御を終了している。
【００４９】
これに対して、第２実施形態のモータ制御装置１０は、エンスト中にも、電流制限値Ｉｒｅｆ*を通常駆動時の値に維持し、モータ８０の制御を続行している。これを可能にする理由は、上記（１）に記載しているように、推定温度Ｔｅが読み出せなくなる危険性なしに、エンスト中にモータ駆動回路１２の素子の温度が上昇した場合には推定温度Ｔｅを上書きすることができるためである。このため、従来のように電流制限値Ｉｒｅｆ*をゼロにする必要はない。
したがって、第２実施形態によれば、走行中にエンストしたとき、車両を路肩に寄せる車両退避（退避走行）等のために、電動パワーステアリング装置１がアシストを行うことが可能である。
【００５０】
（３）エンスト中、車両退避等のため電動パワーステアリング装置１がステアリング操作のアシストを行った場合、モータ８０に大電流が流れるため、推定温度Ｔｅは図６に示すように上昇する。エンジン稼働時であれば、推定温度Ｔｅが上昇することに応じて電流制限値Ｉｒｅｆ*は低下するが、第２実施形態ではエンスト中の電流制限値Ｉｒｅｆ*を、通常駆動時の定格値Ｉｍａｘに維持している。これにより、車両退避のためのアシストを過熱保護よりも優先させることができる。
【００５１】
［第３実施形態］
本発明の第３実施形態について、図７〜図９を参照して説明する。
第３実施形態のモータ制御装置１０は、第１実施形態の書き込み処理および読み出し処理をさらに応用した処理を実行する。また、ＥＥＰＲＯＭ２６は、「前回書き込み領域」が第１領域であるか第２領域であるかの設定を記憶する設定記憶領域をさらに有する。その他、第３実施形態のモータ制御装置１０の構成については、第１実施形態の構成と実質的に同一である。
【００５２】
（書き込み処理）
以下、図７のフローチャートを参照して、温度推定部２１が実行する推定温度Ｔｅの書き込み処理について説明する。
【００５３】
まず、温度推定部２１は、推定温度Ｔｅの書き込み要求の発生の有無を判断する（Ｓ３１）。書き込み要求の具体例については、第２実施形態と同様である。
温度推定部２１は、書き込み要求が発生したと判断した場合（Ｓ３１：ＹＥＳ）、ＥＥＰＲＯＭ２６の設定記憶領域を参照し、「前回書き込み領域」が第１領域および第２領域のいずれに設定されているかを判定する（Ｓ３２）。
一方、書き込み要求が発生していないと判断した場合（Ｓ３１：ＮＯ）、Ｓ３１に戻り、書き込み要求が発生したと判断するまでＳ３１を繰り返す。
【００５４】
Ｓ３２にて「前回書き込み領域」が第２領域に設定されていると判断した場合（Ｓ３２：第２領域）、温度推定部２１は、その時点で推定している推定温度Ｔｅを、ＥＥＰＲＯＭ２６の第１領域に書き込む（Ｓ３３）。その後、温度推定部２１は、「前回書き込み領域」を第１領域に設定する（Ｓ３４）。以上により、書き込み処理が終了する。
【００５５】
また、Ｓ３２にて、「前回書き込み領域」が第１領域に設定されていると判断した場合（Ｓ３２：第１領域）、温度推定部２１は、その時点で推定している推定温度Ｔｅを、ＥＥＰＲＯＭ２６の第２領域に書き込む（Ｓ３５）。その後、温度推定部２１は、「前回書き込み領域」を第２領域に設定する（Ｓ３６）。以上により、書き込み処理が終了する。
【００５６】
上述の書き込み処理は、モータ制御装置１０がモータ８０を制御する間、繰り返し行われる。２回目以降の書き込み処理によれば、第１領域および第２領域に推定温度Ｔｅが上書きされる。
【００５７】
（読み出し処理）
以下、図８のフローチャートを参照して、温度推定部２１が行う推定温度Ｔｅの読み出し処理について説明する。
まず、温度推定部２１は、推定温度Ｔｅの読み出し要求の発生の有無を判断する（Ｓ４１）。例えば、温度推定部２１は、制御部１１の再起動時に読み出し要求が発生したと判断する。
【００５８】
温度推定部２１は、読み出し要求が発生したと判断した場合（Ｓ４１：ＹＥＳ）、ＥＥＰＲＯＭ２６の設定記憶領域を参照し、「前回書き込み領域」が第１領域および第２領域のいずれに設定されているかを判断する（Ｓ４２）。
一方、読み出し要求が発生していないと判断した場合（Ｓ４１：ＮＯ）、Ｓ４１に戻り、書き込み要求が発生したと判断するまでＳ４１を繰り返す。
【００５９】
Ｓ４２にて「前回書き込み領域」が第２領域に設定されていると判断した場合（Ｓ４２：第２領域）、温度推定部２１は、ＥＥＰＲＯＭ２６の第１領域の読み出しを実行する（Ｓ４３）。
【００６０】
その後、温度推定部２１は、第１領域から推定温度Ｔｅを正しく読み出したか否かを判断する（Ｓ４４）。第１領域から推定温度Ｔｅを正しく読み出したと判断した場合（Ｓ４４：ＹＥＳ）、読み出し処理を終了する。
一方、Ｓ４４にて、第１領域から推定温度Ｔｅを正しく読み出せなかったと判断した場合（Ｓ４４：ＮＯ）、Ｓ４５に移行する。Ｓ４５にて、温度推定部２１は、ＥＥＰＲＯＭ２６の第２領域の読み出しを実行する。
【００６１】
Ｓ４５の後、温度推定部２１は、第２領域から推定温度Ｔｅを正しく読み出したか否かを判断する（Ｓ４６）。推定温度Ｔｅを正しく読み出したと判断した場合（Ｓ４６：ＹＥＳ）、処理を終了する。
一方、Ｓ４６にて第２領域から推定温度Ｔｅを正しく読み出せなかったと判断した場合（Ｓ４６：ＮＯ）、すなわち、ＥＥＰＲＯＭ２６の第１領域および第２領域のいずれからも推定温度Ｔｅを読み出せなかった場合、Ｓ４７に移行する。Ｓ４７では、温度推定部２１は、推定温度Ｔｅの代わりに設計値を設定し、処理を終了する。
【００６２】
また、Ｓ４２にて「前回書き込み領域」が第１領域に設定されていると判定した場合（Ｓ４２：第１領域）、温度推定部２１は、上述のＳ４３〜４７で説明した処理を、「第１領域」と「第２領域」とを入れ替えて行う（Ｓ４８〜Ｓ５２）。
【００６３】
（温度推定部２１の動作例）
次に、図９に示すタイムチャートを参照して、温度推定部２１の動作例について説明する。なお、図９に示すタイムチャートの説明は、図６に関して第２実施形態で説明したものと同様である。また、図９に示す書き込み処理のタイミングおよび電流制限演算部２２の電流制限方法は、第２実施形態と同様である。以下の説明では、第２実施形態にて説明した動作と異なる点を中心に説明する。
【００６４】
時刻ｔ１にてエンストが発生すると、温度推定部２１は、書き込み要求が発生したと判断し（Ｓ３１）、Ｓ３２以降のステップを行う。ここで、前回書き込み領域が「第２領域」に設定されている場合、温度推定部２１は時刻ｔ１にて算出されている推定温度ＴｅをＥＥＰＲＯＭ２６の第１領域に書き込み、前回書き込み領域を「第１領域」に設定する。
【００６５】
エンスト中の時刻ｔ２１にて、推定温度Ｔｅが前回書き込み時（時刻ｔ１）の値から所定の温度差ΔＴを有する値まで上昇したとする。このとき、温度推定部２１は書き込み要求が発生したと判断し（Ｓ３１）、Ｓ３２以降のステップを実行する。これにより、時刻ｔ２１にて算出されている推定温度ＴｅがＥＥＰＲＯＭ２６の第２領域に書き込まれ、前回書き込み領域が「第２領域」に設定される。
【００６６】
その後、エンスト中の時刻ｔ２２にて、推定温度Ｔｅが前回書き込み時（時刻ｔ２１）の値からさらに所定の温度差ΔＴを有する値まで上昇したとする。このとき、温度推定部２１は書き込み要求が発生したと判断し（Ｓ３１）、Ｓ１２以降のステップを開始する。
ところが、時刻ｔ２１の推定温度ＴｅがＥＥＰＲＯＭ２６の第１領域へ書き込まれている最中、時刻ｔ３にてクランキングが発生したとする。このとき、制御部１１はリセットされるため、第１領域への書き込みは失敗する。これにより、第１領域のデータは破損し、「前回書き込み領域」の情報は更新されないままである。
【００６７】
その後、時刻ｔ４にて、制御部１１が再起動し、温度推定部２１は読み出し要求が発生したと判断して（Ｓ４１）、Ｓ４２以降のステップを行う。ここで、温度推定部２１は、「前回書き込み領域」に設定されている第２領域から、時刻ｔ２１時点の推定温度Ｔｅを読み出す。
【００６８】
（効果）
（１）以上のように、第３実施形態によれば、書き込み要求が発生する毎に、第１領域および第２領域のいずれか一方に対して交互に推定温度Ｔｅが書き込まれる。
しがたって、第３実施形態のモータ制御装置１０は、第１実施形態と同様、第１領域および第２領域のいずれか一方の領域への書き込みを失敗した場合であっても、制御部１１の再起動時、他方の領域に記憶されている推定温度Ｔｅを読み出すことができる。これにより、推定温度Ｔｅを確実に読み出すことができる。また、読み出した値に基づいて推定温度Ｔｅの算出を行うことにより、モータ駆動回路１２の素子の過熱保護制御を適切に行うことができる。すなわち、第３実施形態によっても、モータ駆動回路１２の素子の過熱保護制御に対する信頼性が向上する。
【００６９】
（２）また、第３実施形態では、第２実施形態と同様、エンスト中、推定温度Ｔｅが前回書き込み時の値から所定の温度差ΔＴを有する値にまで変化したときに、書き込み要求が発生したと判断される。ここで、第３実施形態では、書き込み要求毎に、第１領域および第２領域の一方に交互に書き込み処理を行っているため、第２実施形態と比べて、各領域への書き込み回数は約半分になる。
よって、第３実施形態によれば、なるべくリセット時に近い時点で推定された推定温度ＴｅをＥＥＰＲＯＭ２６に記憶しつつ、ＥＥＰＲＯＭ２６の寿命をより延ばすことができる。
【００７０】
［他の実施形態］
（ア）上記実施形態では、モータ８０はＤＣモータであるが、本発明はこれに限られず、どのようなモータであってもよい。例えば、他の実施形態では、モータ８０は、ブラシレスモータであってもよい。この場合、モータ駆動回路１２はインバータであり、モータ駆動回路１２の素子は、インバータを構成するスイッチング素子とすることができる。
（イ）上記実施形態では、温度推定部２１がモータ駆動回路１２の素子の推定温度Ｔｅを算出しているが、他の実施形態では、モータ８０の巻線等の推定温度Ｔｅを算出してもよい。
【００７１】
（ウ）上記実施形態では、温度推定部２１は、温度センサ１４による検出温度Ｔｓに基づいて推定温度Ｔｅを算出しているが、本発明はこれに限られない。他の実施形態では、温度推定部２１は、モータ電流検出回路１３が検出したモータ電流検出値Ｉｍに基づいて、推定温度Ｔｅを算出してもよい。
【００７２】
（エ）第２および第３実施形態では、エンスト発生時、および、エンスト中に推定温度Ｔｅが前回書き込み時点の値から所定の温度差ΔＴを有する値になったとき、書き込み要求が発生したと判断されている。しかし、書き込み要求が発生したと判断されるタイミングはこれらの実施形態に説明したものに限られない。
例えば、制御部１１が制御を開始したとき、および、エンストに限らずエンジンが停止状態になったとき、温度推定部２１は書き込み要求が発生したと判断することができる。エンジン停止については、イグニッションスイッチ５２のオンオフ状態を示すＩＧ信号、電源電圧検出部３１により検出された電源電圧Ｖ、および、エンジン回転数センサ４２により検出されたエンジン回転数ＮＥのうち、いずれかの信号に基づいて判断することができる。
また、エンスト中に限られず、推定温度Ｔｅを算出している間であれば、推定温度Ｔｅが前回書き込み時点の値から所定の温度差ΔＴを有する値になったとき、書き込み要求が発生したと判断されてもよい。
【００７３】
（オ）他の実施形態では、温度推定部２１による書き込み要求の判断（Ｓ１１、Ｓ３１）は、モータ８０の制御中、一定時間毎に行われてもよい。この場合、書き込み要求の判断時に推定温度Ｔｅが前回書き込み時の値に対して所定の温度差ΔＴ以上変化した値であれば、書き込み要求が発生したと判断することができる。
（カ）他の実施形態では、推定温度Ｔｅの変化について判断するための所定の温度差ΔＴは、例えば推定温度Ｔｅの温度域等によって異なる値であってもよい。
【００７４】
（キ）第１実施形態では、電流制限値Ｉｒｅｆ*の制御方法は特に限定されない。また、第２および第３実施形態では、エンスト発生時からクランキング発生時までの間、電流制限値Ｉｒｅｆ*を定格値Ｉｍａｘに維持しているが、本発明はこれに限られず、エンジン稼働時の値を一定の間維持すればよく、定格値Ｉｍａｘより低下させてもよいし、途中でゼロにしてもよい。
また、第２および第３実施形態で説明した電流制限値Ｉｒｅｆ*の制御方法は、エンスト発生時のことに限られず、イグニッションスイッチ５２をオフ操作したことによるエンジン停止状態の発生時に適用してもよい。
【００７５】
（ク）上記実施形態では、ＥＥＰＲＯＭ２６の第１領域および第２領域がアドレスによって区別されているが、第１領域および第２領域は、互いに異なる素子によって構成されてもよい。また、不揮発性記憶手段は、ＥＥＰＲＯＭ２６であることに限られず、電源が供給されなくともデータを保持することができれば、他のメモリであってもよい。
【００７６】
（ケ）上記実施形態では、書き込み中のリセット発生を書き込み失敗の原因として説明しているが、本発明はこれに限られず、他の要因による書き込み失敗に対しても、推定温度Ｔｅの読み出しを確実にし、適切な過熱保護制御を可能にするという効果を発揮する。
【００７７】
（コ）上記実施形態では、電動パワーステアリング装置１はコラム式であるが、ラック式であってもよい。また、他の実施形態では、モータ制御装置１０は、電動パワーステアリング装置以外に用いられてもよい。この場合、上述の説明におけるイグニッションスイッチ５２のオンオフは、電源のオンオフに読み替えて適用することができる。
以上、本発明はこのような実施形態に限定されるものではなく、発明の趣旨を逸脱しない範囲において、種々の形態で実施することができる。
【符号の説明】
【００７８】
１・・・電動パワーステアリング装置
１０・・・モータ制御装置
１２・・・モータ駆動回路
２１・・・温度推定部（温度推定手段）
２６・・・ＥＥＰＲＯＭ（不揮発性記憶手段）
８０・・・モータ
【図１】
2016019449.tif 000003
【図２】
2016019449.tif 000004
【図３】
2016019449.tif 000005
【図４】
2016019449.tif 000006
【図５】
2016019449.tif 000007
【図６】
2016019449.tif 000008
【図７】
2016019449.tif 000009
【図８】
2016019449.tif 000010
【図９】
2016019449.tif 000011