"操舵ハンドルから入力された操舵トルクを検出する操舵トルク検出手段と、ステアリング機構に設けられて操舵アシストトルクを発生するためのモータと、複数のスイッチング素子によりブリッジ回路を構成して前記モータの通電を制御するモータ駆動回路と、前記操舵トルク検出手段により検出された操舵トルクに基づいて前記モータの制御量を演算し、前記演算した制御量にしたがって前記モータ駆動回路のスイッチング素子に制御信号を出力することにより前記モータを駆動制御するモータ制御手段と、前記モータ駆動回路から前記モータへ電流を流す通電路を開閉する開閉リレーと、前記開閉リレーが閉状態に固着されてしまう閉故障を検出するリレー故障検出手段とを備え、前記モータ制御手段は、前記リレー故障検出手段により前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記モータ駆動回路のスイッチング素子が故障しにくくなるように前記モータの制御態様を変更して、前記モータの駆動制御を継続するリレー故障時制御態様変更手段を備えたことを特徴とする電動パワーステアリング装置。前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記モータの制御量を低減することを特徴とする請求項1記載の電動パワーステアリング装置。前記モータ制御手段は、前記モータ駆動回路のスイッチング素子をPWM制御して前記モータの通電を制御するものであり、前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記スイッチング素子のスイッチング周波数を低減することを特徴とする請求項1または2記載の電動パワーステアリング装置。前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記モータ駆動回路の短絡を防止するために設定されたデッドタイムを長くすることを特徴とする請求項1ないし請求項3の何れか一項記載の電動パワーステアリング装置。前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記モータの制御応答性を低下させることを特徴とする請求項1ないし請求項4の何れか一項記載の電動パワーステアリング装置。前記モータ駆動回路の温度を検出する温度検出手段と、前記温度検出手段により検出された前記モータ駆動回路の温度が基準温度よりも高くなると、前記モータの制御量の上限値を通常上限値よりも小さくして前記モータ駆動回路の過熱防止を行う発熱時上限値低減手段とを備え、前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記基準温度を低くすることを特徴とする請求項1ないし請求項5の何れか一項記載の電動パワーステアリング装置。前記モータの回転角速度を検出する回転角速度検出手段と、前記回転角速度検出手段により検出された回転角速度に基づいて、前記モータで発生する逆起電圧による印加電圧不足を補償するための逆起電圧補償制御量を演算し、前記逆起電圧補償制御量をモータの制御量に含める逆起電圧補償手段とを備え、前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記閉故障が検出されていない正常時に比べて、前記逆起電圧補償制御量を増加させることを特徴とする請求項1ないし請求項6の何れか一項記載の電動パワーステアリング装置。舵角を検出する舵角検出手段を備え、前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障が検出された場合には、前記舵角が舵角範囲の両端となる最大舵角に近い大舵角領域に入っている場合において、前記閉故障が検出されていない正常時に比べて、前記モータの制御量を低減することを特徴とする請求項2記載の電動パワーステアリング装置。舵角を検出する舵角検出手段を備え、前記リレー故障時制御態様変更手段は、前記舵角が舵角範囲の両端となる最大舵角に近い大舵角領域に入っている場合において、前記舵角が前記大舵角領域に入っていない場合に比べて、前記モータの制御量を低減する度合を増やすことを特徴とする請求項2記載の電動パワーステアリング装置。前記リレー故障時制御態様変更手段は、前記開閉リレーの閉故障の検出により前記モータの制御量を低減した後、前記モータの制御量を低減する度合いを徐々に増やしていくことを特徴とする請求項2または請求項6または請求項8または請求項9記載の電動パワーステアリング装置。以下、本発明の一実施形態に係る電動パワーステアリング装置について図面を用いて説明する。図1は、同実施形態に係る車両の電動パワーステアリング装置の概略構成を表している。この電動パワーステアリング装置は、操舵ハンドル11の操舵操作により転舵輪を転舵するステアリング機構10と、ステアリング機構10に組み付けられ操舵アシストトルクを発生するモータ20と、操舵ハンドル11の操作状態に応じてモータ20の作動を制御する電子制御ユニット100とを主要部として備えている。以下、電子制御ユニット100をアシストECU100と呼ぶ。ステアリング機構10は、操舵ハンドル11の回転操作により左右前輪FW1,FW2を転舵するための機構で、操舵ハンドル11を上端に一体回転するように接続したステアリングシャフト12を備える。このステアリングシャフト12の下端には、ピニオンギヤ13が一体回転するように接続されている。ピニオンギヤ13は、ラックバー14に形成されたギヤ部14aと噛み合って、ラックバー14とともにラックアンドピニオン機構を構成する。ラックバー14は、ギヤ部14aがラックハウジング16内に収納され、その左右両端がラックハウジング16から露出してタイロッド17と連結される。このラックバー14のタイロッド17との連結部には、ストロークエンドを構成するストッパ18が形成され、このストッパ18とラックハウジング16の端部との当接によりラックバー14の左右動ストロークが機械的に規制されている。左右のタイロッド17の他端は、左右前輪FW1,FW22に設けられたナックル19に接続される。こうした構成により、左右前輪FW1,FW2は、ステアリングシャフト12の軸線回りの回転に伴うラックバー14の軸線方向の変位に応じて左右に操舵される。ステアリングシャフト12には減速ギヤ25を介してモータ20が組み付けられている。モータ20は、その回転により減速ギヤ25を介してステアリングシャフト12をその軸中心に回転駆動して、操舵ハンドル11の回動操作に対してアシスト力を付与する。このモータ20は、ブラシ付直流モータである。ステアリングシャフト12には、操舵ハンドル11と減速ギヤ25とのあいだに操舵トルクセンサ21が組みつけられている。操舵トルクセンサ21は、例えば、ステアリングシャフト12の中間部に介装されたトーションバー図示略の捩れ角度をレゾルバ等により検出し、この捩れ角に基づいてステアリングシャフト12に働いた操舵トルクtrを検出する。操舵トルクtrは、正負の値により操舵ハンドル11の操作方向が識別される。例えば、操舵ハンドル11の左方向への操舵時における操舵トルクtrを正の値で、操舵ハンドル11の右方向への操舵時における操舵トルクtrを負の値で示す。尚、本実施形態においては、トーションバーの捩れ角度を、トーションバーの両端に設けた2つのレゾルバにより検出するが、エンコーダ等の他の回転角センサにより検出することもできる。また、ステアリングシャフト12には、操舵ハンドル11と操舵トルクセンサ21とのあいだに舵角センサ22が組み付けられている。舵角センサ22は、ステアリングシャフト12の回転角度に基づいて、舵角ゼロとなる中立位置からの回転角度を表す舵角θを検出する。舵角θは、正負の値により中立位置からの操舵方向が識別される。例えば、中立位置から左方向の舵角θを正の値で、中立位置から右方向の舵角θを負の値で示す。尚、操舵トルクtr、舵角θについて、その大きさを論じる場合には、絶対値を用いる。舵角センサ22は、後述する複数の実施形態の一部において使用するものである。また、舵角センサ22を用いなくても舵角θに相当する値を検出できる場合には、舵角センサ22を設けなくても良い。例えば、操舵トルクセンサ21がトーションバーの両端の回転角度絶対角度を検出して、両端の回転角度差から操舵トルクtrを検出する構成のものであれば、トーションバーの片側の回転角度の検出値を利用して舵角θを検出するようにしてもよい。次に、アシストECU100について図2を用いて説明する。アシストECU100は、モータ20の目標制御量を演算し、演算された目標制御量に応じたスイッチ駆動信号を出力する電子制御回路50と、電子制御回路50から出力されたスイッチ駆動信号にしたがってモータ20に通電するモータ駆動回路40とを含んで構成される。電子制御回路50は、CPU,ROM,RAM等からなる演算回路と入出力インタフェースを備えたマイクロコンピュータ60以下、マイコン60と呼ぶと、マイコン60から出力されるスイッチ制御信号を増幅してモータ駆動回路40に供給するスイッチ駆動回路51と、マイコン60から出力されるリレー制御信号を増幅して後述する開閉リレー48に供給するリレー駆動回路52とを備える。アシストECU100は、電源装置200から電力供給される。この電源装置200は、図示しないバッテリと、エンジンの回転により発電するオルタネータとから構成される。この電源装置200の定格出力電圧は、例えば12Vに設定されている。尚、図中においては、電源装置200からモータ駆動回路40への電源供給ラインである電源ライン210のみを示しているが、電子制御回路50の作動電源も電源装置200から供給される。モータ駆動回路40は、電源ライン210とグランドライン220との間に設けられる。モータ駆動回路40は、スイッチング素子Q1Hとスイッチング素子Q2Hとを並列にして電源ライン210に接続した上アーム回路45Hと、スイッチング素子Q1Lとスイッチング素子Q2Lとを並列にしてグランドライン220に接続した下アーム回路45Lとを直列に接続し、上アーム回路45Hと下アーム回路45Lとの接続部から、モータ20への電力供給を行うための通電ライン47a,47bを引き出したHブリッジ回路である。このモータ駆動回路40では、スイッチング素子Q1Hとスイッチング素子Q1Lとが電源-グランド間に直列接続され、スイッチング素子Q2Hとスイッチング素子Q2Lとが電源-グランド間に直列接続される。モータ駆動回路40に設けられるスイッチング素子Q1H,Q2H,Q1L,Q2Lとしては、例えば、MOS-FETMetalOxideSemiconductorFieldEffectTransistorが使用される。スイッチング素子Q1H,Q2H,Q1L,Q2Lは、各ソース-ドレイン間に電源電圧が印加されるように上下のアーム回路45H,45Lに設けられ、また、各ゲートが電子制御回路50のスイッチ駆動回路51に接続される。以下、スイッチング素子Q1H,Q2H,Q1L,Q2Lについて、その何れかを特定しない場合には、単に、スイッチング素子Qと呼ぶ。尚、図中に回路記号で示すように、MOS-FETには構造上、ダイオードが寄生している。このダイオードを寄生ダイオードと呼ぶ。各スイッチング素子Qの寄生ダイオードは、電源ライン210からグランドライン220への電流の流れを遮断し、グランドライン220から電源ライン210へ向かう電流のみを許容する逆導通ダイオードである。また、モータ駆動回路40は、寄生ダイオードとは別の逆導通ダイオード電流遮断方向は寄生ダイオードと同じであって、電源電圧方向に対して逆方向にのみ導通するダイオードをスイッチング素子Qに並列に接続した構成であってもよい。また、スイッチング素子Qは、MOS-FETに限るものではない。マイコン60は、スイッチ駆動回路51を介してモータ駆動回路40の各スイッチング素子Qのゲートに独立した駆動信号を出力する。この駆動信号により、各スイッチング素子Qのオン状態とオフ状態とが切り替えられる。モータ駆動回路40においては、スイッチング素子Q2Hとスイッチング素子Q1Lとがオフに維持された状態でスイッチング素子Q1Hとスイッチング素子Q2Lとがオンすると、図中の方向に電流が流れる。これにより、モータ20は、正回転方向のトルクを発生する。また、スイッチング素子Q1Hとスイッチング素子Q2Lとがオフに維持された状態でスイッチング素子Q2Hとスイッチング素子Q1Lとがオンすると、図中の-方向に電流が流れる。これにより、モータ20は、逆回転方向のトルクを発生する。モータ駆動回路40からモータ20への電力供給を行うための通電ライン47a通電ライン47bでもよいには、開閉リレー48が介装されている。開閉リレー48は、電子制御回路50のリレー駆動回路52に接続され、リレー駆動回路52から出力されるリレー制御信号により開閉制御される。アシストECU100は、モータ20に流れる電流を検出する電流センサ31を備えている。この電流センサ31は、下アーム回路45Lとグランドとを接続するグランドライン220に設けられる。電流センサ31は、例えば、グランドライン220にシャント抵抗図示略を設け、このシャント抵抗の両端に現れる電圧をアンプ図示略で増幅し、増幅した電圧をA/Dコンバータ図示略によりデジタル信号に変換してマイコン60に供給する。以下、電流センサ31により検出されるモータ20に流れる電流の値を、モータ実電流Imと呼ぶ。尚、モータ実電流Imの検出にあたっては、電流センサ31側にA/Dコンバータを設けずに、マイコン60側にA/Dコンバータを設けた構成であってもよい。つまり、電流センサ31でアナログ電圧信号を出力し、マイコン60でデジタル信号に変換する構成であってもよい。また、電流センサ31を設ける位置は、グランドライン200に限らず、例えば、電源ライン210でも良いし、通電ライン47aまたは47bでもよい。また、アシストECU100は、モータ駆動回路40の温度を検出する基板温度センサ32を備えている。基板温度センサ32は、モータ駆動回路40におけるスイッチング素子Qが設けられる基板の温度を表す信号をマイコン60に供給する。基板温度センサ32により検出される温度の値を、基板温度Tbと呼ぶ。基板温度Tbは、スイッチング素子Qの発熱状態に応じた温度を表す。従って、基板温度Tbを検出することで、スイッチング素子Qの発熱状態を検出することができる。また、アシストECU100は、車速センサ33を接続している。車速センサ33は、車速vxを表す検出信号をアシストECU100に出力する。また、アシストECU100は、ウォーニングランプ34を接続している。ウォーニングランプ34は、アシストECU100から出力される故障検出信号により点灯する。次に、マイコン60の制御処理について説明する。図2は、マイコン60の機能ブロックを表している。マイコン60は、その機能に着目すると、モータ制御部70と、リレー故障検出部61と、リレー制御部62とを備えている。各機能部における処理は、マイコン60に記憶された制御プログラムを所定の周期で繰り返し実行することにより行われる。モータ制御部70は、モータ20の目標制御量を演算し、その目標制御量に応じたスイッチ駆動信号を出力するブロックである。モータ制御部70は、目標電流演算部71と、電圧指令値演算部72と、PWM制御部73と、制御態様変更部80とを備えている。図3は、目標電流演算部71の行う目標電流演算ルーチンを表すフローチャートである。目標電流演算ルーチンは、所定の短い周期で繰り返し実行される。目標電流演算ルーチンが起動すると、目標電流演算部71は、ステップS11において、車速センサ33よって検出された車速vxと、操舵トルクセンサ21によって検出された操舵トルクtrと、基板温度センサ32により検出された基板温度Tbとを読み込む。続いて、ステップS12において、図4に示すアシストマップを参照して、車速vxおよび操舵トルクtrに応じて設定される目標アシストトルクtrを計算する。アシストマップは、代表的な複数の車速vxごとに、操舵トルクtrと目標アシストトルクtrとの関係を設定した関係付けデータであり、目標電流演算部71に記憶されている。アシストマップは、操舵トルクtrが大きくなるにしたがって目標アシストトルクtrが増加し、車速vxが低くなるにしたがって目標アシストトルクtrが増加する特性を有している。尚、図4は、左方向の操舵時におけるアシストマップであって、右方向の操舵時におけるアシストマップは、左方向のものに対して操舵トルクtrと目標アシストトルクtrの符号をそれぞれ反対つまり負にしたものとなる。続いて、目標電流演算部71は、ステップS13において、目標アシストトルクtrを発生させるために必要な電流である基本目標電流I0を計算する。基本目標電流I0は、目標アシストトルクtrをトルク定数で除算することにより求められる。続いて、目標電流演算部71は、ステップS14において、目標電流Iに上限制限を加えるための上限値である上限電流Imaxを設定する。目標電流演算部71は、図5に示すような上限電流マップを記憶しており、この上限電流マップを参照して、基板温度Tbに応じて定められる上限電流Imaxを設定する。上限電流マップは、基板温度Tbが基準温度T1以下の場合には、上限電流Imaxを一定の通常上限電流Imax0に設定し、基板温度Tbが基準温度T1よりも高い範囲においては、基板温度Tbの上昇にともなって上限電流Imaxが通常上限電流Imax0から低下し、基板温度Tbが最大温度T1maxを超えると上限電流Imaxをゼロに設定する特性を有する。この最大温度T1maxは、モータ駆動回路40のスイッチング素子Qの許容温度よりもやや低い温度に設定されている。続いて、目標電流演算部71は、ステップS15において、基本目標電流I0が上限電流Imaxよりも大きいか否かを判断し、基本目標電流I0が上限電流Imaxよりも大きい場合には、ステップS16において、上限電流Imaxを目標電流Iに設定するI←Imax。また、基本目標電流I0が上限電流Imax以下となる場合には、ステップS17において、基本目標電流I0を目標電流Iに設定するI←I0。尚、本明細書において、方向符号により方向を表す検出値について大きさを論じる場合には、その絶対値を用いる。従って、ここでは、電流の流す向きに関係しない絶対値の比較となる。目標電流演算部71は、目標電流Iを計算すると、ステップS18において、目標電流Iを電圧指令値演算部72に出力して、目標電流演算ルーチンを一旦終了する。次に、電圧指令値演算部72の処理について説明する。図6は、電圧指令値演算部72の行う電圧指令値演算ルーチンを表すフローチャートである。電圧指令値演算ルーチンは、所定の短い周期で繰り返し実行される。電圧指令値演算ルーチンが起動すると、電圧指令値演算部72は、ステップS21において、電流センサ31により検出されるモータ実電流Imと、目標電流演算部71の出力した目標電流Iとを読み込む。続いて、ステップS22において、目標電流Iからモータ実電流Imを減算した偏差ΔIを算出し、この偏差ΔIを使ったPI制御比例積分制御により、モータ実電流Imが目標電流Iに追従するようにモータ20に印加する目標電圧を表す基本電圧V0を計算する。つまり、電流フィードバック制御により基本電圧V0を計算する。基本電圧V0は、例えば、下記式1により計算する。V0=KpΔIKi∫ΔIdt1ここでKpは、PI制御における比例項の制御ゲイン、Kiは、PI制御における積分項の制御ゲインである。続いて、電圧指令値演算部72は、ステップS23において、基本電圧V0が上限電圧Vmaxよりも大きいか否かを判断する。この上限電圧Vmaxは、電圧指令値Vの上限制限値である。基本電圧V0が上限電圧Vmaxよりも大きい場合には、ステップS24において、上限電圧Vmaxを電圧指令値Vに設定するV←Vmax。また、基本電圧V0が上限電圧Vmax以下となる場合には、ステップS25において、基本電圧V0を電圧指令値Vに設定するV←V0。このステップS23~S25の処理は、電圧指令値Vの上限制限処理である。続いて、電圧指令値演算部72は、ステップS26において、モータ供給電力Pが上限電力Pmaxより大きいか否かを判断する。モータ供給電力Pは、目標電流Iと電圧指令値Vとを乗算IVして求めてもよいし、目標電流Iにモータ回転速度ωを乗算Iωして求めてもよい。この上限電力Pmaxは、モータ供給電力の上限制限値である。モータ供給電力Pが上限電力Pmaxよりも大きい場合には、ステップS27において、上限電力Pmaxを目標電流Iで除算した値を最終的な電圧指令値Vに設定するV←Pmax/I。また、モータ供給電力Pが上限電力Pmax以下となる場合には、ステップS27の処理をスキップする。このステップS26~S27の処理は、供給電力の上限制限処理である。電圧指令値演算部72は、電圧指令値Vを計算すると、ステップS28において、電圧指令値VをPWM制御部73に出力して、電圧指令値演算ルーチンを一旦終了する。PWM制御部73は、電圧指令値演算部72から出力された電圧指令値Vを入力し、電圧指令値Vで表される電圧がモータ20に印加されるようなデューティ比を設定したPWMPulseWidthModulation制御信号をスイッチ駆動回路51に出力する。スイッチ駆動回路51は、入力したPWM制御信号を増幅してモータ駆動回路40に出力する。これにより、モータ制御部70にて計算された電圧指令値Vに応じたデューティ比のパルス信号列がPWM制御信号としてモータ駆動回路40に出力される。このPWM制御信号により、各スイッチング素子Q1H,Q2H,Q1L,Q2Lのデューティ比が制御され、モータ20の駆動電圧が電圧指令値Vに調整される。こうして、モータ20には、操舵操作方向に回転する向きに電流が流れ、モータ20が操舵トルクを発生して運転者の操舵操作をアシストする。PWM制御部73は、正回転用のスイッチング素子Q1H,Q2Lと、逆回転用のスイッチング素子Q2H,Q1LとにPWM制御信号を交互に出力することによりモータ20を駆動する。例えば、電圧指令値Vがゼロ、つまり、モータに通電しないときには、50のデューティ比のPWM制御信号を、正回転用のスイッチング素子Q1H,Q2Lと、逆回転用のスイッチング素子Q2H,Q1Lとに交互に出力する。この場合、モータ20には電流が流れない。そして、モータ20を正回転駆動する場合には、正回転用のスイッチング素子Q1H,Q2Lに出力するPWM制御信号のデューティ比を逆回転用のスイッチング素子Q2H,Q1Lに出力するPWM制御信号のデューティ比よりも大きくする。例えば、正回転用のスイッチング素子Q1H,Q2Lに出力するPWM制御信号のデューティ比を60、逆回転用のスイッチング素子Q2H,Q1Lに出力するPWM制御信号のデューティ比を40にする。逆に、モータ20を逆回転駆動する場合には、正回転用のスイッチング素子Q1H,Q2Lに出力するPWM制御信号のデューティ比を逆回転用のスイッチング素子Q2H,Q1Lに出力するPWM制御信号のデューティ比よりも小さくする。例えば、正回転用のスイッチング素子Q1H,Q2Lに出力するPWM制御信号のデューティ比を40、逆回転用のスイッチング素子Q2H,Q1Lに出力するPWM制御信号のデューティ比を60にする。そして、電圧指令値Vが大きい絶対値ほど、50から離れたデューティ比のPWM制御信号を出力することにより、モータ20に印加する電圧を増大させる。PWM制御部73は、PWM制御信号のデューティ比の可変幅が予め決められており、その制限内でデューティ比を設定する。デューティ比の可変幅は、例えば、10~90に設定されている。制御態様変更部80は、後述するリレー故障検出部61により開閉リレー48の閉故障が検出されている場合に、目標電流演算部71、電流指令値演算部72、PWM制御部73のうちの1つに対して、あるいは、任意の組み合わせに対して、制御態様の変更を指令するブロックである。この制御態様変更部80によって変更される制御態様については後述する。次に、リレー制御部62について説明する。リレー制御部62は、イグニッションスイッチ図示略の信号IGを入力し、イグニッションスイッチがオンされると、リレー駆動回路52にリレーオン信号を出力する。尚、イグニッションスイッチがオンされた時には、マイコン60の初期診断部図示略が制御システム内の診断を行う。リレー制御部62は、この初期診断時が行われて操舵アシスト制御が許可されると、リレー駆動回路52にリレーオン信号を出力する。また、リレー制御部62は、イグニッションスイッチがオフされると、リレー駆動回路52にリレーオフ信号を出力する。リレー駆動回路52は、リレー制御部62、リレー故障検出部61、あるいは、初期診断部からリレー制御信号を入力し、リレー制御信号がリレーオン信号であれば、開閉リレー48を閉状態にするリレー駆動信号を出力し、リレー制御信号がリレーオフ信号であれば、開閉リレー48を開状態にするリレー駆動信号を出力する。開閉リレー48は、リレー駆動信号により、閉状態と開状態とが選択的に切り替えられ、閉状態であれば、モータ駆動回路40からモータ20への通電路を形成し、開状態であれば、モータ駆動回路40からモータ20への通電路を遮断する。リレー故障検出部61は、開閉リレー48の故障を検出するブロックで、イグニッションスイッチがオンすると初期診断の一部として作動し、開閉リレー48の故障の有無を判定する。図7は、リレー故障検出部61の実行するリレー故障診断ルーチンを表すフローチャートである。リレー故障検出部61は、イグニッションスイッチがオンすると、リレー故障診断ルーチンを実行する。つまり、車両の起動時において、毎回、リレー故障診断ルーチンを実行する。リレー故障診断ルーチンは、故障診断の一部として作動するため、この時点では、操舵アシスト制御が開始されていない。リレー故障診断ルーチンが起動すると、リレー故障検出部61は、ステップS31において、リレー駆動回路52に対してリレーオフ信号を出力する。尚、開閉リレー48は、イグニッションスイッチがオフされたときに開成されるため、本ルーチンの起動時には開状態となっているはずであるが、ここでは、開閉リレー48の故障を正確に検出するためにリレーオフ信号を出力する。続いて、リレー故障検出部61は、ステップS32において、PWM制御部73に対して、予め設定された故障診断用の電圧指令値Vtestを出力する。この電圧指令値Vtestは、モータ20に微弱な電流を流す程度の電圧値に設定されている。続いて、リレー故障検出部61は、ステップS33において、電流センサ31により検出されたモータ実電流Imを読み込み、モータ実電流ImがゼロであるIm=0か否かを判断する。開閉リレー48が溶着等により閉状態に固着されていればモータ20に電流が流れ、閉状態に固着されていなければモータ2に電流が流れない。リレー故障検出部61は、モータ実電流Imがゼロでない場合にはS33:No、ステップS34において、開閉リレー48が閉故障をしていると判定し、ステップS35において、故障判定フラグFfailを1に設定する。閉故障とは、リレーオフ信号を出力しても、開閉リレー48が開成しない故障をいう。つまり、開閉リレー48を開成するための信号を出力しても、開閉リレー48が開成しなく閉状態を維持してしまう故障をいう。一方、モータ実電流Imがゼロである場合にはS33:Yes、続くステップS36において、リレー駆動回路52に対してリレーオン信号を出力する。開閉リレー48が正常であれば、この時点からモータ20に微弱な電流が流れる。リレー故障検出部61は、ステップS37において、電流センサ31により検出されたモータ実電流Imを読み込み、モータ実電流ImがゼロでないIm≠0か否かを判断する。リレー故障検出部61は、モータ実電流Imがゼロでない場合にはS37:Yes、ステップS38において開閉リレー48が正常であると判定し、ステップS39において、故障判定フラグFfailを0に設定する。一方、モータ実電流Imがゼロである場合にはS37:No、ステップS40において開閉リレー48が開故障をしている判定し、ステップS41において、故障判定フラグFfailを2に設定する。開故障とは、リレーオン信号を出力しても、開閉リレー48が閉成しない故障をいう。つまり、開閉リレー48を閉成するための信号を出力しても、開閉リレー48が閉成しなく開状態を維持してしまう故障をいう。リレー故障検出部61は、故障判定フラグFfailを設定すると、ステップS42において、PWM制御部73に対して出力していた電圧指令値Vtestを停止してモータ20への通電を停止する。続いて、ステップS43において、故障判定フラグFfailをモータ制御部70の制御態様変更部80に出力してリレー故障診断ルーチンを終了する。尚、リレー故障検出部61は、開閉リレー48の開故障、あるいは、閉故障を検出した場合には、ウォーニングランプ34を点灯して運転者に異常を知らせる。次に、制御態様変更部80について説明する。制御態様変更部80は、リレー故障検出部61により得られたリレー故障診断結果に基づいて、目標電流演算部71、電流指令値演算部72、PWM制御部73に対して制御態様を指令する。図8は、制御態様変更部80の実行する制御態様指令ルーチンを表すフローチャートである。制御態様指令ルーチンは、リレー故障診断ルーチンが終了すると起動する。制御態様変更部80は、ステップS51において、リレー故障検出部61から出力される故障判定フラグFfailを読み込む。続いて、ステップS52において、故障判定フラグFfailを確認し、故障判定フラグFfailが0Ffail=0の場合、つまり、開閉リレー48の故障が検出されなかった場合には、ステップS53において、目標電流演算部71、電流指令値演算部72、PWM制御部73に対して、通常操舵アシスト制御を実行する指令を出力する。この通常操舵アシスト制御は、上述した図3の目標電流演算ルーチンと図6の電圧指令値演算ルーチンを実行するものである。これにより、モータ制御部70は、通常操舵アシスト制御を実行する。また、故障判定フラグFfailが2Ffail=2の場合、つまり、開閉リレー48の開故障が検出されている場合には、モータ20に通電することができないため、制御態様変更部80は、ステップS54において、目標電流演算部71、電流指令値演算部72、PWM制御部73に対して、操舵アシスト制御を停止する指令を出力する。これにより、モータ制御部70は、操舵アシスト制御を停止する。また、故障判定フラグFfailが1Ffail=1の場合、つまり、開閉リレー48の閉故障が検出されている場合には、制御態様変更部80は、ステップS55において、目標電流演算部71、電流指令値演算部72、PWM制御部73に対して、回路故障抑制操舵アシスト制御を実行する指令を出力する。これにより、モータ制御部70は、回路故障抑制操舵アシスト制御を実行する。尚、回路故障抑制操舵アシスト制御を実行する指令は、後述する回路故障抑制操舵アシスト制御に態様に応じて、目標電流演算部71、電流指令値演算部72、PWM制御部73の何れか1つに対して、あるいは、任意の組み合わせにて出力される。制御態様変更部80は、制御態様の指令を出力すると本ルーチンを終了する。ここで、回路故障抑制操舵アシスト制御について説明する。回路故障抑制操舵アシスト制御は、開閉リレー48が閉故障しているときに実行される制御態様で、モータ駆動回路の各スイッチング素子Qが、通常時の操作アシスト制御に比べて故障しにくくなる制御態様である。以下、回路故障抑制操舵アシスト制御の実施形態を複数挙げて説明する。回路故障抑制操舵アシスト制御は、通常操舵アシスト制御図3,図6に対して一部が相違するのみであるため、その相違する部分についてのみ、通常操舵アシスト制御と対比して説明する。まず、回路故障抑制操舵アシスト制御を行う必要性について説明する。マイコン60は、スイッチング素子Qのショート故障、オープン故障を検出する回路故障検出部図示略を備えており、スイッチング素子Qの故障を検出した場合には、その時点で操舵アシストを停止する。また、同時に、開閉リレー48を開成する。従って、スイッチング素子Qがショート故障しても、開閉リレー48が開成されるため、モータ20とモータ駆動回路40とを切り離すことができる。しかし、スイッチング素子Qのショート故障が発生する前から開閉リレー48が閉故障している場合には、それ自体では操舵アシストを継続しても問題はないが、その状態から、更に、モータ駆動回路40の4つのスイッチング素子Qの何れかがショート故障すると、開閉リレー48を開成することができないため、モータ20とモータ駆動回路40とにより閉回路が形成される。つまり、モータ20の端子間が短絡状態となる。これにより、運転者がハンドル操作を行うと、それによりモータ20が回されモータ20が発電する。従って、閉回路に発電電流が流れてモータを停止させようとする制動力が発生し、ハンドル操作にブレーキがかかる。一方、スイッチング素子Qが正常であるのに、開閉リレー48が閉状態に固着されたということだけで、操舵アシストを中止してしまうと、その時点からハンドル操作が重くなってしまう。そこで、回路故障抑制操舵アシスト制御は、開閉リレー48が閉故障している場合には、モータ駆動回路40の4つのスイッチング素子Qが通常時に比べて故障しにくくなるようにして、操舵アシストを継続して運転者の不便を解消する。尚、4つのスイッチング素子Qの故障検出を行う回路故障検出部は、例えば、操舵アシスト制御中において、電流センサ31にて検出されるモータ実電流Imと目標電流Iとを比較し、モータ実電流Imが目標電流Iに対して少なすぎる状態が続く場合にはオープン故障と判定し、モータ実電流Imが目標電流Iに対して多すぎる状態が続く場合にはショート故障と判定する。あるいは、モータ20の2つの端子電圧を測定して、その電圧に基づいて回路故障を検出することもできる。<実施形態1:制御量の低減>スイッチング素子Qに流れる電流を低減してスイッチング素子Qの電気的負担を軽減すれば、モータ駆動回路40の故障を抑制することができる。そこで、この実施形態1では、モータ20の制御量を低減する例を挙げる。<実施形態1-1:上限電流の低減>実施形態1-1における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて上限電流Imaxを低下させたものである。この上限電流Imaxは、図3の目標電流演算ルーチンのステップS14~S16で使用するものである。モータ制御部70の目標電流演算部71は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、通常操舵アシスト制御で使用する上限電流ImaxステップS14で設定された上限電流Imaxに低減係数Kimax<1を乗じ、この乗算結果KimaxImaxを目標電流Iの上限値Imaxとして設定するImax←KimaxImax。これにより、モータ20の制御量の上限制限が厳しくなり、モータ20に大電流が流れなくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-2:上限電圧の低減>実施形態1-2における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて上限電圧Vmaxを低下させたものである。この上限電圧Vmaxは、図6の電圧指令値演算ルーチンのステップS23~S24で使用するものである。モータ制御部70の電圧指令値演算部72は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、通常操舵アシスト制御で使用する上限電圧Vmaxに低減係数Kvmax<1を乗じた値を、電圧指令値Vの上限値Vmaxとして設定するVmax←KvmaxVmax。これにより、モータ20の制御量の上限制限が厳しくなり、モータ20に大電流が流れなくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-3:上限電力の低減>実施形態1-3における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて上限電力Pmaxを低下させたものである。この上限電力Pmaxは、図6の電圧指令値演算ルーチンのステップS26~S27で使用するものである。モータ制御部70の電圧指令値演算部72は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、通常操舵アシスト制御で使用する上限電力Pmaxに低減係数Kpmax<1を乗じた値を、モータ供給電力Pの上限値Pmaxとして設定するPmax←KpmaxPmax。これにより、モータ20の制御量の上限制限が厳しくなり、モータ20に大電流が流れなくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-4:目標電流の低減>実施形態1-4における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて目標電流Iを低下させたものである。モータ制御部70の目標電流演算部71は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、図3の目標電流演算ルーチンのステップS18で計算された目標電流Iに低減係数Ki<1を乗じ、この乗算結果KiIを最終的な目標電流Iに設定してI←KiI、この目標電流Iを電圧指令値演算部72に出力する。これにより、モータ20の制御量が低減されてモータ20に流れる電流が少なくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-5:電圧指令値の低減>実施形態1-5における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて、電圧指令値Vを低下させたものである。モータ制御部70の電圧指令値演算部72は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、図6の電圧指令値演算ルーチンのステップS28で計算された電圧指令値Vに低減係数Kv<1を乗じ、この乗算結果KvVを最終的な電圧指令値Vに設定してV←KvV、この電圧指令値VをPWM制御部73に出力する。これにより、モータ20の制御量が低減されてモータ20に流れる電流が少なくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-6:低アシスト特性への変更>実施形態1-6における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて低アシスト特性となるアシストマップを使ったものである。モータ制御部70の目標電流演算部71は、図9に示すように、実線で示した通常操舵アシスト用のアシストマップと、破線で示した回路故障抑制用のアシストマップとを記憶しており、制御態様変更部80からの指令に応じて、アシストマップを選択する。回路故障抑制用のアシストマップは、通常操舵アシスト用のアシストマップに比べて、操舵トルクtrに対する目標操舵アシストトルクtrが小さくなる特性に設定される。目標電流演算部71は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、この回路故障抑制用のアシストマップを使用して目標操舵アシストトルクtrを計算する。これにより、モータ20の制御量が低減されてモータ20に流れる電流が少なくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-7:デューティ比の可変幅の縮小>実施形態1-7における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べてPWM制御のデューティ比の可変幅を狭くしたものである。モータ制御部70のPWM制御部73は、通常操舵アシスト制御において、スイッチング素子QをPWM制御するときのデューティ比の可変幅を10~90に制限する。一方、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、デューティ比の可変幅を正常時に比べて狭くする。例えば、デューティ比の可変幅を30~70に制限する。上述したように、PWM制御部73は、正回転用のスイッチング素子Q1H,Q2Lと、逆回転用のスイッチング素子Q2H,Q1LとにPWM制御信号を交互に出力する。この場合、デューティ比50を基準として、例えば、モータ20を正回転駆動する場合には、この基準に対してAを加算したデューティ比のPWM制御信号を正回転用のスイッチング素子Q1H,Q2Lに出力し、同じAを基準に対して減算したデューティ比のPWM制御信号を逆回転用のスイッチング素子Q2H,Q1Lに出力する。従って、デューティ比が基準50から離れるほど、つまり、Aが大きくなるほど、大きな電圧をモータ20に印加することができる。そこで、回路故障抑制操舵アシスト制御時においては、通常操舵アシスト制御に比べてPWM制御のデューティ比の可変幅を狭くすることで、モータ20の印加電圧が低減されてモータ20に流れる電流が少なくなる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態1-8:ストッパ当たりおけるモータ回転変動の抑制>操舵ハンドル11をストロークエンドまで回すと、ストッパ18とラックハウジング16の端部との当接によりラックバー14の左右動ストロークが機械的に規制される。この状態をストッパ当たりと呼ぶ。操舵ハンドル11を速く回して舵角位置がストロークエンドに達すると、ストッパ当たりにより、モータ20の回転が急激に停止状態となるためモータ20の逆起電圧が急激に消滅し、その影響でモータ20に流れる電流が急増してスイッチング素子Qに過電流が流れることがある。そのため、スイッチング素子Qの耐久性能を低下させてしまう。そこで、実施形態1-8における回路故障抑制操舵アシスト制御は、舵角θが大舵角領域に入るときに、モータ20の制御量を通常操舵アシスト制御に比べて低減する。モータの制御量を低減するに当たっては、上述の実施形態1-1~1-7を適用すればよい。つまり、通常操舵アシスト制御に比べて、上限電流Imax、上限電圧Vmax、上限電力Pmax、目標電流I、電圧指令値Vの何れかを、または、それらを任意に組み合わせて低減する、あるいは、低アシスト特性のアシストマップを使用する、あるいは、デューティ比の可変幅を狭くするようにすればよい。図10は、実施形態1-8におけるモータ制御部70の構成である。このモータ制御部70は、上述した目標電流演算部71、電圧指令値演算部72、PWM制御部73、制御態様変更部80に加えて、舵角対応制限指令部74を備えている。舵角対応制限指令部74は、図11に示すような低減係数マップを記憶している。低減係数マップは、舵角|θ|舵角θの絶対値を表すがゼロから設定角度θ1までの範囲において低減係数Kθを1に設定し、舵角舵角|θ|が設定角度θ1からストロークエンドθend近傍の設定角度θ2>θ1までの範囲において、舵角|θ|の増加にしたがって減少する低減係数Kθを設定し、舵角|θ|が設定角度θ2より大きくなる範囲において、低減係数Kθを最小値Kθminに設定する特性を有している。従って、低減係数マップは、舵角|θ|が設定角度θ1より大きくなる領域を大舵角領域として設定し、舵角|θ|が大舵角領域に入る場合には、大舵角領域に入らない場合に比べて低減係数を小さくするように設定する。舵角対応制限指令部74は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行指令を入力した場合、舵角センサ22により検出される舵角θを読み込み、低減係数マップを参照して、低減係数Kθを計算する。そして、舵角対応制限指令部74は、計算した低減係数Kθを、目標電流演算部71、電圧指令値演算部72、PWM制御部73の何れか1つ、あるいは、複数に出力する。例えば、目標電流演算部71は、通常操舵アシスト制御で使用する上限電流Imaxに低減係数Kθを乗じた値を目標電流Iの上限値Imaxとして設定する。例えば、電圧指令値演算部72は、通常操舵アシスト制御で使用する上限電圧Vmaxに低減係数Kθを乗じた値を電圧指令値Vの上限値Vmaxとして設定する。例えば、電圧指令値演算部72は、通常操舵アシスト制御で使用する上限電力Pmaxに低減係数Kθを乗じた値をモータ供給電力Pの上限値Pmaxとして設定する。例えば、目標電流演算部71は、目標電流Iに低減係数Kθを乗じた値を最終的な目標電流Iに設定する。例えば、電圧指令値演算部72は、目標電流演算部71は、電圧指令値Vに低減係数Kθを乗じた値を最終的な電圧指令値Vに設定する。例えば、目標電流演算部71は、低減係数Kθが1未満であれば、回路故障抑制用のアシストマップを選択して目標操舵アシストトルクtrを計算する。例えば、PWM制御部73は、低減係数Kθが小さいほど、デューティ比の可変幅を通常時に比べて狭くするように設定する。また、舵角対応制限指令部74は、制御態様変更部80から通常操舵アシスト制御の実行指令を入力した場合、低減係数Kθを1に設定して目標電流演算部71、電圧指令値演算部72、PWM制御部73に出力する。また、舵角対応制限指令部74は、制御態様変更部80から操舵アシスト制御の停止指令を入力した場合、目標電流演算部71、電圧指令値演算部72、PWM制御部73に作動停止指令を出力する。この実施形態1-8によれば、舵角θがストロークエンドθend近傍となる大舵角領域に入る場合に、モータ20の制御量を通常時に比べて制限する。これにより、ストッパ当たりが発生する前から操舵アシストが弱められてハンドル操作が重くなり、操舵速度が遅くなる。従って、ストッパ当たり発生時におけるモータ回転の急変が抑制される。この結果、ストッパ当たりに伴ってスイッチング素子Qに過電流が流れることが抑制され、モータ駆動回路40の故障を抑制することができる。尚、上述した例では、舵角θが大舵角領域に入らなければ、モータ20の制御量の低減を行っていないが、舵角θに関係なくモータ20の制御量の低減を行い、更に、舵角θが大舵角領域に入る場合には、制御量の低減度合を大きくするようにしてもよい。この場合、例えば、図12に示すような低減係数マップを使って、舵角|θ|が大舵角領域に入らないθ1以下の範囲においては、低減係数Kθを1より小さな値例えば、0.8に設定し、大舵角領域に入る場合には、低減係数Kθをさらに小さくするように設定すればよい。<実施形態2:スイッチング回数の低減>実施形態2における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べてスイッチング素子QをPWM制御するときのキャリア周波数を低くしたものである。モータ制御部70のPWM制御部73は、通常操舵アシスト制御においては、例えば、20kHzのキャリア周波数でスイッチング素子QをPWM制御する。一方、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、例えば、5kHzのキャリア周波数でスイッチング素子QをPWM制御する。これにより、スイッチング素子Qのオンオフする回数が減りこの例では1/4、スイッチング素子Qの耐用期間を長くすることができる。従って、モータ駆動回路40の故障を抑制することができる。また、キャリア周波数は、通常操舵アシスト制御時においては、上記のように例えば20kHzという人の可聴帯域外に設定し、回路故障抑制操舵アシスト制御時においては、上記のように例えば5kHzという人の可聴帯域に入るように設定すると良い。これによれば、開閉リレー48の閉故障時において、モータ駆動音が可聴帯域に入るため、その駆動音により運転者に対して故障を知らせることができる。<実施形態3:デッドタイムの拡大>ブリッジ回路で構成されたモータ駆動回路40を使ってモータ20を駆動する場合、正回転用のスイッチング素子Q1H,Q2Lと、逆回転用のスイッチング素子Q2H,Q1Lとに交互にPWM制御信号を出力してモータ20に電流を流すが、PWM制御信号を出力するスイッチング素子Qを切り替えるときに、上アームのスイッチング素子Q1Hと下アームのスイッチング素子Q1L、あるいは、上アームのスイッチング素子Q2Hと下アームスイッチング素子Q2Lが同時にオンして貫通電流アーム短絡電流が流れないように、上アームのスイッチング素子Qと下アームのスイッチング素子Qを同時にオフにする期間が設定される。この期間をデッドタイムと呼ぶ。デッドタイムが長いと操舵フィーリングが低下するが、短いと貫通電流が流れてスイッチング素子Qが故障する頻度が増加する。そこで、実施形態3における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて、スイッチング素子QをPWM制御するときのデッドタイムを長くする。PWM制御部73は、良好な操舵フィーリングが得られ、かつ、貫通電流の流れない程度の長さに設定した第1デッドタイムと、第1デッドタイムよりも長い時間に設定された第2デッドタイムとを記憶し、制御態様変更部80から通常操舵アシスト制御の実行が指令された場合には、第1デッドタイムを選択し、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、第2デッドタイムを選択する。これにより、回路故障抑制操舵アシスト制御においては、モータ駆動回路40に貫通電流が流れることが確実に防止される。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態4:電流応答性の低減>一般に、電流応答性が高いほど、操舵フィーリングが向上するため、騒音が出ない程度に応答性を高く設定することが多い。しかし、モータ20の電流応答性が高いと、操舵トルクセンサ21の検出ノイズや電流センサ31の検出ノイズの影響で、電圧指令値Vの変動が大きくなる。例えば、図13に実線にて示すように、操舵トルクセンサ21により検出した操舵トルクtrが、その検出過程におけるノイズにより大きく変動した場合には、それに応答して電圧指令値Vも大きく変動する。従って、スイッチング素子Qの通電量も大きく変動し、スイッチング素子Qの電気的負担が大きい。そこで、実施形態4における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて電流応答性を低く設定する。モータ制御部70の電圧指令値演算部72は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、電流フィードバック制御により基本電圧V0上限制限をしない場合は、電圧指令値Vを演算するにあたって、上記1式における比例制御ゲインKpと積分制御ゲインKiとの両方あるいは一方を通常時に比べて小さくする。これにより、図13に破線で示すように、電圧指令値Vの変動は抑制される。従って、回路故障抑制操舵アシスト制御においては、スイッチング素子Qの通電量の変動も小さくなり、スイッチング素子Qの電気的負担が軽減される。この結果、モータ駆動回路40の故障を抑制することができる。尚、電圧指令値演算部72は、図14に示すように、フィードバック制御部72FBにフィードフォワード制御部72FFを組み合わせて構成することもできる。この場合、フィードフォワード制御部72FFは、例えば、下記式2により、フィードフォワード電圧成分VFFを計算する。VFF=K1IK2dI/dt2電圧指令値演算部72は、フィードバック制御部72FBにより計算されたフィードバック電圧成分VFBと、フィードフォワード制御部72FFにより計算されたフィードフォワード電圧成分VFFを加算することにより電圧指令値Vあるいは基本電圧V0を計算する。そして、電圧指令値演算部72は、回路故障抑制操舵アシスト制御時においては、通常時に比べて、フィードバック制御式における比例制御ゲインKpと積分制御ゲインKiとの少なくとも一方を小さくするとともに、フィードフォワード制御式における目標電流Iの微分項のゲインK2を小さくする換言すれば、応答目標時定数を大きくすることにより電流応答性を低くする。<実施形態5:過熱防止開始温度の引き下げ>一般に、スイッチング素子Qは、過熱により故障しやすい。そこで、実施形態5における回路故障抑制操舵アシスト制御は、通常操舵アシスト制御に比べて、上限電流Imaxの低減を開始する基準温度を低く設定する。モータ制御部70の目標電流演算部71は、図15に示すように、実線で示した通常制御用上限電流マップと、破線で示した回路故障時用上限電流マップとを記憶している。目標電流演算部71は、制御態様変更部80から通常操舵アシスト制御の実行を指令された場合、通常制御用上限電流マップを選択し、回路故障抑制操舵アシスト制御の実行を指令された場合、回路故障時用上限電流マップを選択する。そして、選択した上限電流マップを使って、基板温度Tbに応じた上限電流Imaxを設定する。回路故障時用上限電流マップは、基板温度Tbが基準温度T2以下の場合には、上限電流Imaxを一定の通常上限電流Imax0に設定し、基板温度Tbが基準温度T2よりも高い範囲においては、基板温度Tbの上昇にともなって上限電流Imaxが通常上限電流Imax0から低下し、基板温度Tbが最大温度T2maxを超えると上限電流Imaxをゼロに設定する特性を有する。この回路故障時用上限電流マップでは、通常制御用上限電流マップに比べて、基準温度が低くT2<T1,且つ、基板温度Tbが基準温度T2より高くなる範囲においては、基板温度Tbに対する上限電流Imaxが小さく設定される。これにより、回路故障抑制操舵アシスト制御時においては、モータ駆動回路40のスイッチング素子Qが発熱した場合には、早い段階発熱が少ない段階から目標電流Iのの上限制限が働きやすくなる。これにより、通常時に比べてスイッチング素子Qの温度を低く抑えることができる。この結果、モータ駆動回路40の故障を抑制することができる。<実施形態6:逆起電圧補償の拡大>上述したように、ストッパ当たりによりモータ20の回転が急激に停止した場合には、逆起電圧が急激に消滅するため、スイッチング素子Qに過電流が流れることがある。これは、電流フィードバック制御により、実際に過電流が流れてから電流を下げるように電圧指令値Vが計算されるからである。そこで、この実施形態6においては、モータ20で発生する逆起電圧を推定し、その逆起電圧による印加電圧不足を補償するための逆電圧補償制御量を電圧指令値に含めるようにしておくことで、ストッパ当たりが発生して逆起電圧が急激に低下しても、その低下にあわせて電圧指令値Vを応答性よく低減することができるようにする。これにより、スイッチング素子Qに過電流が流れることを抑制する。図16は、実施形態6にかかる電圧指令値演算部72の構成を表す。尚、ここでは、上限電圧Vmaxおよび上限電力Pmaxによる電圧指令値Vの制限処理については省略している。電圧指令値演算部72は、偏差演算部721と、電流フォードバック制御部722と、回転角速度検出部723と、逆起電圧補償部724と、制御量加算部725とを備えている。偏差演算部721は、目標電流演算部71から出力された目標電流Iと電流センサ31により検出されたモータ実電流Imとの偏差ΔII-Imを計算する。電流フォードバック制御部722は、上記式1に示すように、偏差ΔIを使ったPI制御比例積分制御により、モータ実電流Imが目標電流Iに追従するようにモータ20に印加する目標電圧を表す基本電圧V0を計算する。回転角速度検出部723は、舵角センサ22により検出される舵角θを入力し、舵角θを微分演算することにより、モータ20の回転角速度ωを検出する。微分演算に当たっては、例えば、次式3の伝達関数Hsを使って演算する。Hs=Ks/1τs3ここで、sはラプラス演算子、τは時定数、Kはゲインを表す。逆起電圧補償部724は、回転角速度検出部723により検出された回転角速度ωに基づいて逆起電圧Eを推定し、この推定逆起電圧Eに補償係数Kxを乗じて逆起電圧補償制御量Ve=KxEを計算する。推定逆起電圧Eは、回転角速度ωに、モータ特性から分かる逆起電圧定数を乗算することにより演算することができる。制御量加算部725は、電流フォードバック制御部722にて計算された基本電圧V0と、逆起電圧補償部724で計算された逆起電圧補償制御量Veとを加算して、その加算結果V0Veを電圧指令値Vに設定する。この電圧指令値Vは、PWM制御部73に出力される。この場合、電流フォードバック制御部722により演算される制御量基本電圧V0は、逆起電圧補償を行わない場合に比べて小さくなる。この実施形態6においては、回路故障抑制操舵アシスト制御を実行する場合には、通常操舵アシスト制御を実行する場合に比べて逆起電圧補償制御量Veを大きくする。つまり、電圧指令値演算部72の逆起電圧補償部724が、制御態様変更部80から回路故障抑制操舵アシスト制御の実行を指令された場合、逆起電圧補償制御量Veを通常時に比べて大きくする。逆起電圧補償制御量Veは、補償係数Kxにより増減することができる。補償係数Kxを1に設定すれば、推定逆起電圧Eに相当する大きさの補償制御量を設定することができる。この場合には、ストッパ当たり時における過電流防止に対しては良好であるが、操舵フィーリングが低下する。そこで、逆起電圧補償部724は、操舵フィーリングを重視した低い値に設定された補償係数Kxlowと、ストッパ当たり時における過電流防止を重視した高い値に設定された補償係数Kxhigh>Kxlowとを記憶し、制御態様変更部80から通常操舵アシスト制御の実行を指令された場合、補償係数KxとしてKxlowを選択し、回路故障抑制操舵アシスト制御の実行を指令された場合、補償係数KxとしてKxhighを選択する。ストッパ当たりが発生した場合には、逆起電圧補償制御量Veが瞬時に低下し、電流フィードバック制御量のみが電圧指令値Vに残る。このため、電圧指令値Vに含まれる逆起電圧補償制御量Veの比率を大きくするほど、ストッパ当たりが発生したときの電圧指令値Vが小さくなる。そこで、この実施形態6においては、回路故障抑制操舵アシスト制御時には、通常操舵アシスト制御時に比べて逆起電圧補償制御量Veを大きくすることにより、ストッパ当たりが発生した瞬時に電圧指令値Vを小さくすることができ、スイッチング素子Qの過電流が流れることを抑制することができる。この結果、モータ駆動回路40の故障を抑制することができる。尚、上記の例において、補償係数Kxlowをゼロに設定してもよい。つまり、通常操舵アシスト制御時には、逆起電圧補償を行わず、回路故障抑制操舵アシスト制御時においてのみ、逆起電圧補償を行う構成であってもよい。また、上記の例においては、補償係数Kxを切り替えて逆起電圧補償制御量Veの大きさを可変しているが、補償係数Kxに代えて、回転角速度検出部723が回転角速度ωを演算するときに用いる上記式3の時定数τを切り替えるようにしてもよい。この場合、時定数τを短くすることで、逆起電圧補償部724で演算される逆起電圧補償制御量Veが大きくなる。従って、回路故障抑制操舵アシスト制御時には、通常操舵アシスト制御時に比べて時定数τを短くすればよい。<実施形態7:制御量の漸減>開閉リレー48が閉故障した場合に、上述の実施形態1実施形態1-1~1-8のようにモータ20の制御量を低減しても、どうしても長時間の使用によりスイッチング素子Qが劣化していく可能性がある。そこで、実施形態7においては、開閉リレー48が閉故障された後は、開閉リレー48の閉故障が検出されてからの時間経過、あるいは、開閉リレー48の閉故障が検出されてからの車両の使用量にしたがって、実施形態1実施形態1-1~1-8における制御量の低減度合を徐々に増加する。図17は、実施形態7におけるモータ制御部70の構成である。このモータ制御部70は、上述した目標電流演算部71、電圧指令値演算部72、PWM制御部73、制御態様変更部80に加えて、制御量漸減部75を備えている。制御量漸減部75は、図18に示すような制御量制限マップを記憶している。この制御量制限マップは、カウント値Nに応じてモータ20の制御量の最大値を設定するものである。カウント値Nは、開閉リレー48の閉故障が検出されてからの時間経過、あるいは、開閉リレー48の閉故障が検出されてからの車両の使用量を表すものである。モータ20の制御量の低減度合を変更するにあたっては、例えば、上限電流Imax、上限電圧Vmax、上限電力Pmax、目標電流I、電圧指令値Vの何れかを、あるいは、それらを任意に組み合わせて、その最大値を変更する。この制御量制限マップは、カウント値Nが大きくなるにしたがって、モータ20の制御量の最大値を低下させる特性を有する。この例では、カウント値NがNmaxとなる時点で、モータ20の制御量はゼロ、つまり、操舵アシストが停止されるが、必ずしも操舵アシストを停止しなくてもよい。例えば、制御量漸減部75は、タイマー機能を備え、開閉リレー48の閉故障が検出されてからの時間経過をカウント値Nとしてカウントする。また、例えば、制御量漸減部75は、各種のセンサ信号Sを入力し、センサ信号に基づいて車両の使用量を検出し、使用量に相当するカウント値Nを設定する。車両の使用量は、例えば、イグニッションスイッチがオンしている積算時間、イグニッションスイッチのオン回数オフ回数、車両の走行時間、車両の走行距離、エネルギー補給給油、充電回数、エネルギー補給量給油量、充電量、操舵回数、モータ20に流れる電流の絶対値の積算値、モータ20に印加する電圧の絶対値の積算値、モータ20に供給する電力の絶対値の積算値、操舵トルクtrの絶対値の積算値などを表す値を用いて検出することができる。制御量漸減部75は、制御態様変更部80から回路故障抑制操舵アシスト制御の実行指令を入力した場合、制御量制限マップを参照して、カウント値Nからモータ20の最大制御量を計算する。そして、計算した最大制御量を目標電流演算部71、電圧指令値演算部72、PWM制御部73の何れか1つに対して、あるいは、任意の組み合わせで出力する。目標電流演算部71、電圧指令値演算部72、PWM制御部73は、最大制御量を入力すると、その最大制御量に基づいた制限を使って演算を行う。この実施形態7によれば、回路故障抑制操舵アシスト制御を開始した後に、操舵アシストを徐々に低下させることができるため、運転者に対して、安全に、故障を認識させることができ、早期の修理を促すことができる。以上、いくつかの実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。例えば、本実施形態においては、基板温度センサ32により検出された基板温度Tbに基づいて上限電流Imaxを設定しているが、基板温度Tbは、電流センサ31により検出されるモータ実電流Imの二乗積算値を使って、演算により検出推定する構成であってもよい。また、複数の実施形態を任意に組み合わせて、モータ駆動回路40の故障を抑制するようにしてもよい。また、本実施形態では、モータ20の発生するトルクをステアリングシャフト12に付与するコラムアシスト式の電動パワーステアリング装置について説明したが、モータの発生するトルクをラックバー14に付与するラックアシスト式の電動パワーステアリング装置であってもよい。また、本実施形態では、ブラシ付モータ20をHブリッジ回路40にて駆動する方式の電動パワーステアリング装置について説明したが、例えば、ブラシレスモータを3相ブリッジインバータ回路にて駆動する方式の電動パワーステアリング装置であってもよい。"