誘起電圧の値は、ブラシレスモータの各相に流れる電流と、各相に印加する電圧と、各相の巻線抵抗値とに基づいて算出できる。しかし、この演算に用いる巻線抵抗値は、予め設定された設計値であって、個々のモータのばらつきや雰囲気温度の変化等により、実際の抵抗値とは相違することがある。このため、算出される誘起電圧の値も実際の値と相違することがあり、そうした場合には良好な電気角の推定精度が得られない。
本発明の目的は、上記問題に対処するためになされたもので、センサレス制御を行う場合の電気角の推定精度を向上させることにある。
上記目的を達成するために、本発明の特徴は、操舵ハンドルからステアリングシャフトに入力された操舵トルクを検出する操舵トルクセンサと、ステアリング機構に設けられて操舵アシストトルクを発生するための電動モータと、前記電動モータの実電気角を検出するための回転角センサと、前記回転角センサの異常を検出するセンサ異常検出手段と、前記センサ異常検出手段により前記回転角センサの異常が検出されているとき、前記電動モータの推定電気角を演算する電気角推定手段と、前記操舵トルクセンサにより検出された操舵トルクに応じた目標操舵アシストトルクを発生させるためのモータ制御値を演算するモータ制御値演算手段と、前記回転角センサの異常が検出されていないときには前記実電気角と前記モータ制御値とに基づいて前記電動モータを駆動制御し、前記回転角センサの異常が検出されているときには前記推定電気角と前記モータ制御値とに基づいて前記電動モータを駆動制御するモータ制御手段とを備えた電動パワーステアリング装置において、
前記電気角推定手段は、前記電動モータの各相に流れる電流を検出する電流センサと、前記電動モータの各相に印加される電圧を検出する電圧センサと、前記検出された電動モータの各相に流れる電流値と前記電動モータの各相に印加される電圧値と、前記電動モータの各相の巻線抵抗値とに基づいて、前記モータで発生する誘起電圧を演算する誘起電圧演算手段と、前記誘起電圧演算手段により演算された誘起電圧に基づいて前記推定電気角を演算する推定電気角演算手段と、前記電動モータの各相の巻線抵抗値を演算により求める巻線抵抗演算手段と、前記誘起電圧演算手段が誘起電圧の演算に使用する巻線抵抗値を、前記巻線抵抗演算手段により求められた巻線抵抗値に補正する巻線抵抗値補正手段とを備えたことにある。
本発明においては、回転角センサの出力信号に基づいて検出された電動モータの電気角(実電気角)と、操舵トルクセンサにより検出された操舵トルクに応じた目標操舵アシストトルクを発生させるためのモータ制御値とに基づいて、モータ制御手段が電動モータを駆動制御する。電動モータとしては、例えば、ブラシレスモータが使用される。回転角センサが故障した場合には電動モータの回転を制御できなくなる。そこで、この発明においては、回転角センサの異常を検出するセンサ異常検出手段を備え、センサ異常検出手段により回転角センサの異常が検出された場合には、電気角推定手段が電動モータの推定電気角を演算する。この場合、モータ制御手段は、推定電気角とモータ制御値とに基づいて電動モータを駆動制御する。つまり、センサレス制御を行う。
電気角は、電動モータで発生する誘起電圧により推定することができる。そこで、電気角推定手段は、誘起電圧演算手段と推定電気角演算手段とを備え、誘起電圧演算手段が電動モータの各相に流れる電流値と電動モータの各相に印加される電圧値と電動モータの各相の巻線抵抗値とに基づいてモータで発生する誘起電圧(誘起電圧の値)を演算し、推定電気角演算手段がこの誘起電圧に基づいて推定電気角を演算する。実際の巻線抵抗値は、個々の電動モータのばらつきや雰囲気温度等により一定値とはならない。このため、誘起電圧の演算に使用する巻線抵抗値として、予め設定された設計値を用いた場合には、電気角の推定精度が良好とはならず、電動モータの制御性能が低下してしまう。
そこで、電気角推定手段は、巻線抵抗演算手段と巻線抵抗値補正手段とを備え、巻線抵抗演算手段が電動モータの各相の巻線抵抗値を演算により求め、巻線抵抗値補正手段が誘起電圧の演算に使用する巻線抵抗値を巻線抵抗演算手段により求められた巻線抵抗値に補正する(更新する)。従って、巻線抵抗値を個々の電動モータのばらつきや雰囲気温度に対応させることができ、電気角の推定精度を向上させることができる。この結果、電動モータのセンサレス制御性能が向上する。
また、本発明の他の特徴は、前記巻線抵抗演算手段は、前記電動モータで発生する誘起電圧がゼロとなる車両の状態であるか否かを判定する状態判定手段を備え、前記状態判定手段により電動モータで発生する誘起電圧がゼロとなる車両の状態が検出されているときに、前記電動モータに流れる電流値と前記電動モータに印加される電圧値と前記巻線抵抗値とを使って前記誘起電圧を表した関係式における誘起電圧の値をゼロに設定して前記巻線抵抗値を算出することにある。
電動モータで発生する誘起電圧は、電動モータに流れる電流値と電動モータに印加される電圧値とコイルの巻線抵抗値とを用いた関係式から算出することができる。また、電動モータで発生する誘起電圧は、電動モータの回転子が回転していないときには発生しない。また、電動モータに流れる電流値と電動モータに印加される電圧値は、電流センサと電圧センサとにより検出されるため既知である。そこで、本発明においては、状態判定手段が、電動モータで発生する誘起電圧がゼロとなる車両の状態であるか否かを判定し、誘起電圧がゼロとなる車両の状態が検出されているときに、電動モータに流れる電流値と電動モータに印加される電圧値と巻線抵抗値とを使って誘起電圧を表した関係式における誘起電圧の値をゼロに設定することにより巻線抵抗値を算出する。従って、誘起電圧がゼロとなる車両の状態が検出されているときに、関係式における誘起電圧の値をゼロに設定することで巻線抵抗値を適切に算出できる。また、巻線抵抗値補正手段は、電動モータで発生する誘起電圧がゼロとなる車両の状態が検出されているとき、つまり、電動モータが回転していないときに、巻線抵抗値を補正することができるため、電動モータの位相ずれの影響を生じさせない。
また、本発明の他の特徴は、前記状態判定手段は、前記回転角センサの異常が検出されているとき、保舵状態であるか否かを判定することにより、あるいは、車両が直線走行状態であるか否かを判定することにより、前記電動モータで発生する誘起電圧がゼロとなる車両の状態であるか否かを判定することにある。
保舵状態、あるいは、車両の直線走行状態においては、電動モータの回転子が回転しないため電動モータで発生する誘起電圧はゼロとなる。そこで、本発明においては、保舵状態であるか否かを判定することにより、あるいは、車両が直線走行状態であるか否かを判定することにより、電動モータで発生する誘起電圧がゼロとなる状況を適切に検出することができる。
また、本発明の他の特徴は、前記状態判定手段は、前記電動モータの各相の誘起電圧の微分値を演算し、少なくとも1相の誘起電圧の微分値の絶対値が保舵判定用基準値以下となる場合に保舵状態であると判定することにある。
保舵状態となる場合は、誘起電圧演算手段により算出された誘起電圧の値は変動(時間的な変動)しないため、誘起電圧の微分値(時間微分値)がゼロとなる。そこで、本発明においては、状態判定手段が、電動モータの各相の誘起電圧の微分値を演算し、少なくとも1相の誘起電圧の微分値の絶対値が保舵判定用基準値以下となる場合に保舵状態であると判定する。このため、センサレス制御における誘起電圧の演算値を利用して、保舵状態を適正かつ簡単に検出することができる。尚、保舵判定用基準値は、ゼロ、あるいは、誘起電圧が発生しない保舵状態であると判定できるゼロ近傍の設定値である。
また、本発明の他の特徴は、前記状態判定手段は、前記電動モータの各相の誘起電圧の微分値を演算し、全ての相の誘起電圧の微分値の絶対値が保舵判定用基準値以下となる場合に保舵状態であると判定することにある。
本発明によれば、保舵状態をさらに厳しく判定するため、電気角の推定精度を一層向上させることができる。
また、本発明の他の特徴は、前記状態判定手段は、操舵ハンドルの操舵角を表す操舵角情報を取得する操舵角取得手段を備え、前記操舵角取得手段によりに取得された操舵角の微分値である操舵角速度を演算し、前記操舵角速度の絶対値が保舵判定用基準値以下となる場合に保舵状態であると判定することにある。
車両のステアリング装置に操舵角センサが備わっている場合には、操舵角センサにより検出される操舵角の変動の有無から保舵状態か否かを判定することができる。そこで、本発明においては、巻線抵抗演算手段が、操舵角センサにより検出された操舵角の微分値である操舵角速度を演算し、この操舵角速度の絶対値が保舵判定用基準値以下となる場合に保舵状態であると判定して巻線抵抗値を算出する。このため、操舵角センサを利用して保舵状態を適正かつ簡単に検出することができる。尚、保舵判定用基準値は、ゼロ、あるいは、誘起電圧が発生しない保舵状態であると判定できるゼロ近傍の設定値である。
また、本発明の他の特徴は、前記操舵トルクセンサは、ステアリングシャフトに介挿されたトーションバーの入力側回転角と出力側回転角とを検出し、両回転角の差であるトーションバーの捩れ角度に基づいて、前記ステアリングシャフトに入力された操舵トルクを検出するものであり、前記状態判定手段は、前記トーションバーの出力側回転角あるいは入力側回転角の微分値である回転角速度を演算し、前記回転角速度の絶対値が保舵判定用基準値以下となる場合に保舵状態であると判定することにある。
本発明によれば、操舵トルクセンサを利用して、操舵トルクセンサの出力側回転角あるいは入力側回転角の微分値である回転角速度に基づいて保舵状態を判定するため、保舵状態の判定を適正かつ簡単に行うことができる。尚、保舵判定用基準値は、ゼロ、あるいは、誘起電圧が発生しない保舵状態であると判定できるゼロ近傍の設定値である。
また、本発明の他の特徴は、前記状態判定手段は、左右の車輪速を表す車輪速情報を取得する車輪速取得手段を備え、前記車輪速取得手段により取得された左右の車輪速の差が直線走行判定用基準値以下となる場合に車両が直線走行状態であると判定することにある。
本発明によれば、左右の車輪速差に基づいて車両の直線走行状態を判定するため、その判定が容易である。尚、直線走行判定用基準値は、ゼロ、あるいは、誘起電圧が発生しない直線走行状態であると判定できるゼロ近傍の設定値である。
また、本発明の他の特徴は、前記巻線抵抗演算手段は、前記回転角センサの異常が検出されていないときに、前記回転角センサにより検出されるモータ回転角の微分値である回転角速度を演算し、前記回転角速度の絶対値がゼロ近傍判定基準値以下となる場合に、前記電動モータに流れる電流値と前記電動モータに印加される電圧値と前記巻線抵抗値とを使って前記誘起電圧を表した関係式における誘起電圧の値をゼロに設定して前記巻線抵抗値を算出する正常時巻線抵抗演算手段を備えたことにある。
本発明によれば、回転角センサの異常が検出される前から、巻線抵抗値を算出して補正することができる。このため、実際に回転角センサの異常が発生してセンサレス制御に切り替わった場合でも、その時点から高い精度にて電気角を推定することができる。この結果、センサレス制御への移行を良好に行うことができる。尚、ゼロ近傍判定基準値は、ゼロ、あるいは、誘起電圧が発生しない範囲となる回転角速度の設定値である。
以下、本発明の一実施形態に係る電動パワーステアリング装置について図面を用いて説明する。図1は、同実施形態に係る車両の電動パワーステアリング装置の概略構成を表している。
この電動パワーステアリング装置は、操舵ハンドル11の操舵操作により転舵輪を転舵するステアリング機構10と、ステアリング機構10に組み付けられ操舵アシストトルクを発生する電動モータ20と、電動モータ20を駆動するためのモータ駆動回路30と、電動モータ20の作動を制御する電子制御装置100とを主要部として備えている。以下、電子制御装置100をアシストECU100と呼ぶ。
ステアリング機構10は、操舵ハンドル11の回転操作により左右前輪FWL,FWRを転舵するための機構で、操舵ハンドル11を上端に一体回転するように接続したステアリングシャフト12を備える。このステアリングシャフト12の下端には、ピニオンギヤ13が一体回転するように接続されている。ピニオンギヤ13は、ラックバー14に形成されたラック歯と噛み合って、ラックバー14とともにラックアンドピニオン機構を構成する。ラックバー14の両端には、タイロッド15L,15Rを介して左右前輪FWL,FWRのナックル(図示略)が操舵可能に接続されている。左右前輪FWL,FWRは、ステアリングシャフト12の軸線回りの回転に伴うラックバー14の軸線方向の変位に応じて左右に操舵される。
ラックバー14には、電動モータ20が組み付けられている。電動モータ20は、スター(Y)結線された3相ブラシレスDCモータが用いられる。電動モータ20の回転軸は、ボールねじ機構16を介してラックバー14に動力伝達可能に接続されていて、その回転により左右前輪FWL,FWRに転舵力を付与して操舵操作をアシストする。ボールねじ機構16は、減速機および回転−直線変換器として機能するもので、電動モータ20の回転を減速するとともに直線運動に変換してラックバー14に伝達する。
ステアリングシャフト12には、操舵トルクセンサ21が設けられる。操舵トルクセンサ21は、例えば、ステアリングシャフト12の中間部に介装されたトーションバー12aの上端部(入力側端)および下端部(出力側端)にそれぞれ組み付けられたレゾルバ21a,21bを備える。レゾルバ21aは、トーションバー12aの入力側の回転角θt1(例えば、基準角度位置に対する回転角)を検出し、レゾルバ21bは、トーションバー12aの出力側の回転角θt2(基準角度位置に対する回転角)を検出し、それぞれ検出した回転角θt1,θt2を表す検出信号をアシストECU100に出力する。2つの回転角θt1,θt2の差(θt1−θt2)は、トーションバー12aの捩れ角度に相当する。従って、アシストECU100は、2つの回転角θt1,θt2の差(θt1−θt2)を使って、ステアリングシャフト12に働いた操舵トルクTrを検出する。操舵トルクTrは、正負の値により操舵ハンドル11の操作方向が識別される。本実施形態においては、操舵ハンドル11の右方向への操舵時における操舵トルクTrを正の値で、操舵ハンドル11の左方向への操舵時における操舵トルクTrを負の値で示す。従って、操舵トルクTrの大きさは、その絶対値の大きさとなる。尚、本実施形態においては、トーションバー12aの回転角をレゾルバにより検出するが、エンコーダ等の他の回転角センサにより検出することもできる。
また、ステアリングシャフト12には、操舵ハンドル11の回転角を検出する操舵角センサ23が設けられる。操舵角センサ23は、操舵ハンドル11の回転角である操舵角θhを表す検出信号をアシストECU100に出力する。操舵角θhは、正負の値により操舵ハンドル11の操作方向が識別される。本実施形態においては、操舵ハンドル11の中立位置から右方向の操舵角θhを正の値で、左方向の操舵角θhを負の値で示す。従って、操舵角θhの大きさは、その絶対値の大きさとなる。また、操舵角θhを時間微分した値は、操舵ハンドル11の操舵角速度ωhとして利用される。
電動モータ20には、回転角センサ22が設けられる。この回転角センサ22は、電動モータ20内に組み込まれ、電動モータ20の回転子の回転角度位置に応じた検出信号を出力するもので、例えば、レゾルバにより構成される。回転角センサ22は、電動モータ20の回転角θmを表す検出信号をアシストECU100に出力する。アシストECU100は、この回転角θmから電動モータ20の電気角θeを検出する。尚、電動モータ20の電気角θeは、回転角センサ22により検出された電気角と、後述する推定により求めた電気角との2種類あるため、両者を区別する必要がある場合には、回転角センサ22により検出された電気角を実電気角θeaと呼び、推定により求めた電気角を推定電気角θebと呼ぶ。また、本実施形態においては、回転角センサ22としてレゾルバを使用しているが、エンコーダ等の他の回転角センサを用いることもできる。
モータ駆動回路30は、MOS−FET(Metal Oxide Semiconductor Field Effect Transistor)からなる6個のスイッチング素子31〜36により3相インバータ回路を構成したものである。具体的には、第1スイッチング素子31と第2スイッチング素子32とを直列接続した回路と、第3スイッチング素子33と第4スイッチング素子34とを直列接続した回路と、第5スイッチング素子35と第6スイッチング素子36とを直列接続した回路とを並列接続し、各直列回路における2つのスイッチング素子間(31−32,33−34,35−36)から電動モータ20への電力供給ライン37を引き出した構成を採用している。
モータ駆動回路30には、電動モータ20に流れる電流を検出する電流センサ38が設けられる。この電流センサ38は、各相(U相,V相,W相)ごとに流れる電流をそれぞれ検出し、その検出した電流値Iu,Iv,Iwに対応した検出信号をアシストECU100に出力する。以下、この測定された3相の電流値をモータ電流Iuvwと総称する。また、モータ駆動回路30には、電動モータ20の端子電圧を検出する電圧センサ39が設けられる。電圧センサ39は、各相(U相,V相,W相)の端子電圧をそれぞれ検出し、その検出した電圧値Vu,Vv,Vwに対応した検出信号をアシストECU100に出力する。以下、この測定された3相の端子電圧をモータ端子電圧Vuvwと総称する。
モータ駆動回路30の各スイッチング素子31〜36は、それぞれゲートがアシストECU100に接続され、アシストECU100から出力されるPWM制御信号によりデューティ比が制御される。これにより電動モータ20の駆動電圧が目標電圧に調整される。尚、図中に回路記号で示すように、スイッチング素子31〜36を構成するMOSFETには、構造上ダイオードが寄生している。
アシストECU100は、CPU,ROM,RAM等からなるマイクロコンピュータを主要部として構成される。アシストECU100は、操舵トルクセンサ21、操舵角センサ23、回転角センサ22、電流センサ38、電圧センサ39、および、車速を検出する車速センサ25を接続し、操舵トルクTr、操舵角θh、回転角θm、モータ電流Iu,Iv,Iw、モータ端子電圧Vu,Vv,Vw、車速vを表す検出信号を入力する。そして、入力した検出信号に基づいて、運転者の操舵操作に応じた最適な操舵アシストトルクが得られるように電動モータ20に流す指令電流(モータ制御値)を演算し、その指令電流が流れるようにモータ駆動回路30の各スイッチング素子31〜36のデューティ比を制御する。
次に、電動パワーステアリング装置の電源供給系統について説明する。電動パワーステアリング装置は、車載電源装置80から電源供給される。車載電源装置80は、定格出力電圧12Vの一般的な車載バッテリである主バッテリ81と、エンジンの回転により発電する定格出力電圧14Vのオルタネータ82とを並列接続して構成される。車載電源装置80には、電源供給元ライン83と接地ライン84が接続される。電源供給元ライン83は、制御系電源ライン85と駆動系電源ライン86とに分岐する。制御系電源ライン85は、アシストECU100に電源供給するための電源ラインとして機能する。駆動系電源ライン86は、モータ駆動回路30とアシストECU100との両方に電源供給する電源ラインとして機能する。
制御系電源ライン85には、イグニッションスイッチ87が接続される。駆動系電源ライン86には、主電源リレー88が接続される。この主電源リレー88は、アシストECU100からの制御信号によりオンして電動モータ20への電力供給回路を形成するものである。制御系電源ライン85は、アシストECU100の電源+端子に接続されるが、その途中で、イグニッションスイッチ87よりも負荷側(アシストECU100側)においてダイオード89を備えている。このダイオード89は、カソードをアシストECU100側、アノードを車載電源装置80側に向けて設けられ、電源供給方向にのみ通電可能とする逆流防止素子である。
駆動系電源ライン86には、主電源リレー88よりも負荷側において制御系電源ライン85と接続する連結ライン90が分岐して設けられる。この連結ライン90は、制御系電源ライン85におけるダイオード89の接続位置よりもアシストECU100側に接続される。また、連結ライン90には、ダイオード91が接続される。このダイオード91は、カソードを制御系電源ライン85側に向け、アノードを駆動系電源ライン86側に向けて設けられる。従って、連結ライン90を介して駆動系電源ライン86から制御系電源ライン85には電源供給できるが、制御系電源ライン85から駆動系電源ライン86には電源供給できないような回路構成となっている。駆動系電源ライン86および接地ライン84は、モータ駆動回路30の電源入力部に接続される。また、接地ライン84は、アシストECU100の接地端子にも接続される。
次に、アシストECU100の機能について図2を用いて説明する。図2は、アシストECU100のマイクロコンピュータのプログラム制御により処理される機能を表す機能ブロック図である。アシストECU100は、アシスト電流指令部101を備えている。アシスト電流指令部101は、図6に示すように、操舵トルクTrと車速vとに応じて基本アシストトルクTasを設定するための基本アシストマップを記憶する。アシスト電流指令部101は、操舵トルクセンサ21から出力される操舵トルクTr及び車速センサ25から出力される車速vを入力して、この基本アシストマップを参照することにより基本アシストトルクTasを計算する。この場合、基本アシストトルクTasは、操舵トルクTrの増加にしたがって増加するとともに車速vの増加にしたがって減少する。また、アシスト電流指令部101は、操舵角センサ23により検出される操舵角θhを入力し、基本アシストトルクTasに対する補償値Trtを計算する。補償値Trtは、例えば、操舵角θhに比例して大きくなるステアリングシャフト12の基本位置への復帰力と、操舵角θhを時間微分した操舵角速度ωhに比例して大きくなるステアリングシャフト12の回転に対する抵抗力に対応した戻しトルクとの和で計算される。アシスト電流指令部101は、計算した基本アシストトルクTasと補償値Trtとの和を目標操舵アシストトルクT*として設定し、この目標操舵アシストトルクT*をトルク定数で除算することにより、d−q座標系におけるq軸指令電流Iq*を算出する。尚、目標操舵アシストトルクT*の算出にあたっては、補償値Trtを加味しないようにしてもよい。
アシストECU100は、電動モータ20の回転方向をq軸とするとともに回転方向と直交する方向をd軸とするd−q座標系で記述されるベクトル制御によって電動モータ20の回転を制御する。d軸電流は、電動モータ20のトルクを発生させるように働かず、弱め界磁制御に使用される。本発明においては、弱め界磁制御については特徴を有さないため、アシスト電流指令部101は、d軸指令電流Id*をゼロ(Id*=0)に設定するものとする。
このように計算されたq軸指令電流Iq*とd軸指令電流Id*は、フィードバック制御部102に出力される。フィードバック制御部102は、q軸指令電流Iq*からq軸実電流Iqを減算した偏差ΔIqを算出し、この偏差ΔIqを使った比例積分制御によりq軸実電流Iqがq軸指令電流Iq*に追従するようにq軸指令電圧Vq*を計算する。同様に、d軸指令電流Id*からd軸実電流Idを減算した偏差ΔIdを算出し、この偏差ΔIdを使った比例積分制御によりd軸実電流Idがd軸指令電流Id*に追従するようにd軸指令電圧Vd*を計算する。
q軸実電流Iqおよびd軸実電流Idは、電動モータ20のコイルに実際に流れた3相電流の検出値Iu,Iv,Iwをd−q座標系の2相電流に変換したものである。この3相電流Iu,Iv,Iwからd−q座標系の2相電流Id,Iqへの変換は、3相/2相座標変換部103によって行われる。3相/2相座標変換部103は、電気角選択部122から出力される電気角θeを入力し、その電気角θeに基づいて、電流センサ38により検出した3相電流Iu,Iv,Iwをd−q座標系の2相電流Id,Iqに変換する。電気角選択部122については後述するが、回転角センサ22の異常が検出されていないときは、電動モータ20の実電気角θeaを電気角θeとして出力し、回転角センサ22の異常が検出されているときは、電動モータ20の推定電気角θebを電気角θeとして出力する。
フィードバック制御部102により算出されたq軸指令電圧Vq*とd軸指令電圧Vd*は、2相/3相座標変換部105に出力される。2相/3相座標変換部105は、電気角選択部122から出力される電気角θeに基づいて、q軸指令電圧Vq*とd軸指令電圧Vd*を3相指令電圧Vu*,Vv*,Vw*に変換して、その変換した3相指令電圧Vu*,Vv*,Vw*をPWM制御信号発生部106に出力する。PWM制御信号発生部106は、3相指令電圧Vu*,Vv*,Vw*に対応したPWM制御信号をモータ駆動回路30のスイッチング素子31〜36に出力する。これにより電動モータ20が駆動され、目標操舵アシストトルクT*に追従した操舵アシストトルクがステアリング機構10に付与される。
回転角センサ22から出力される回転検出信号は、実電気角変換部120とセンサ異常検出部121とに出力される。実電気角変換部120は、回転角センサ22により出力される回転検出信号から電動モータ20の実電気角θeaを算出し、算出した実電気角θeaを電気角選択部122に出力する。センサ異常検出部121は、回転角センサ22から出力される回転検出信号に基づいて、回転角センサ22の異常を検出する。回転角センサ22としてレゾルバを採用した場合には、レゾルバ内の検出用コイルや励磁用コイルが断線したり絶縁不良を起こしたりすることが考えられる。そこで、センサ異常検出部121は、検出用コイルの出力信号の振幅を監視し、その振幅が予め設定した許容範囲から外れた場合には、センサ異常と判定する。また、検出用コイルは、出力信号がπ/2だけ位相がずれるように一対設けられるため、2つの出力信号を比較して異常を検出することもできる。例えば、一方の検出用コイルから正弦波信号が出力されているときに、他方の検出用コイルから一定値信号が出力されているときなど、2つの出力信号の組み合わせが矛盾するケースにおいても異常であると判定することができる。センサ異常検出部121は、このようにして回転角センサ22の異常の有無を判定し、異様の有無を表すセンサ異常判定信号Fを出力する。センサ異常検出部121は、例えば、異常有りと判定した場合には、センサ異常判定信号Fを「1」に設定し、異常無しと判定した場合にはセンサ異常判定信号Fを「0」に設定する。
回転角センサ22に異常が発生した場合には、電気角を検出できなくなるため、電動モータ20の回転制御ができなくなる。そこで、アシストECU100には、回転角センサ22の異常時においても電動モータ20の回転制御を継続できるように、電気角推定部110を備えている。電気角推定部110は、センサ異常検出部121からセンサ異常判定信号F=1を入力すると作動を開始する。電気角推定部110は、その機能に着目すると、各相誘起電圧演算部111と、誘起電圧演算部112と、推定角速度演算部113と、推定電気角演算部114と、状態判定部115と、巻線抵抗演算部116と、巻線抵抗値補正部117とから構成される。
各相誘起電圧演算部111は、電圧センサ39から出力されるモータ端子電圧Vu,Vv,Vwを表す検出信号と、電流センサ38から出力されるモータ電流Iu,Iv,Iwを表す検出信号とを入力し、電動モータ20の各相で発生する誘起電圧eu,ev,ewを計算する。
図7に示すように、電動モータ20のU相の誘起電圧をeu、V相の誘起電圧をev、W相の誘起電圧をewとすると、誘起電圧eu,ev,ewは次式(1),(2),(3)にて求められる。
eu=Vu−Iu・Ru−Vm ・・・(1)
ev=Vv−Iv・Rv−Vm ・・・(2)
ew=Vw−Iw・Rw−Vm ・・・(3)
ここで、Vmは中点電圧、Ru,Rv,Rwは各相のコイルの巻線抵抗値である。中点電圧Vmは、Vm=(Vu+Vv+Vw)/3として計算すればよい。
各相誘起電圧演算部111は、上記の演算式(1),(2),(3)をメモリに記憶しており、この演算式に、電圧センサ39により検出したモータ端子電圧Vu,Vv,Vwと電流センサ38により検出したモータ電流Iu,Iv,Iwとを代入することにより誘起電圧eu,ev,ewを算出する。この場合、正確には、各相のコイルのインダクタンスLによる電圧分(L・di/dt)を加えるべきであるが、誘起電圧の計算においてはインダクタンスLによる影響が非常に小さいため、本実施形態においてはそれをゼロとみなしている。尚、インダクタンスLによる電圧分(L・di/dt)を加味して計算するようにしてもよい。
各相誘起電圧演算部111は、このように算出した誘起電圧eu,ev,ewを誘起電圧演算部112に出力する。誘起電圧演算部112は、各相誘起電圧演算部111から入力した3相の誘起電圧eu,ev,ewを2相のd−q座標系における誘起電圧ed,eqに変換した後に、次式(4)により電動モータ20で発生する誘起電圧eを算出する。
e=√(ed2+eq2) ・・・(4)
尚、誘起電圧eは、3相の誘起電圧eu,ev,ewの絶対値の合計値により算出するようにしてもよい(e=|eu|+|ev|+|ew|)。
誘起電圧演算部112は、誘起電圧eの演算結果を推定角速度演算部113に出力する。
推定角速度演算部113は、電動モータ20で発生する誘起電圧eと角速度とが比例関係を有することを利用して、電動モータ20の角速度を推定するが、電動モータ20の回転方向を判別する必要があるため、操舵トルクセンサ21により検出される操舵トルクTrの符号を電動モータ20の回転方向とみなして、次式(5)により電動モータ20の推定角速度ωmを算出する。
ωm=sign(Tr)・e/Ke ・・・(5)
ここで、sign(Tr)は、操舵トルクTrの符号(ステアリングシャフト12に働くトルクの方向)を表し、操舵トルクTrが正の値またはゼロであればsign(Tr)=1、操舵トルクTrが負の値であればsign(Tr)=−1となる。また、Keは、電動モータ20の角速度と誘起電圧との関係を表すモータ誘起電圧定数〔V/(rad/s)〕である。従って、推定角速度ωmは、電動モータ20が右方向に回転しているときには正の値をとり、左方向に回転しているときには負の値をとる。
尚、電動モータ20の回転方向の検出は、操舵トルクTrの符号に代えて、操舵トルクセンサ21におけるトーションバー12aの出力側の回転角θt2の微分値の符号を用いても良い。また、操舵角センサ23により検出される操舵角θhの微分値の符号を用いることもできる。
推定角速度演算部113は、推定角速度ωmの演算結果を推定電気角演算部114に出力する。アシストECU100は、マイクロコンピュータにより所定の短い演算周期にて各種の演算処理を行う。電気角推定部110も、この演算周期にて推定電気角θebを演算する。この場合、推定電気角演算部114は、1周期前の演算タイミングで算出した推定電気角θeb(n-1)を記憶しており、推定角速度演算部113から入力した推定角速度ωmに基づいて、1演算周期のあいだに電動モータ20の回転子が回転した電気角Δθeを求め、この電気角Δθeを直前回に算出した推定電気角θeb(n-1)に加算することにより現在の推定電気角θeb(n)を算出する。
θeb(n)=θeb(n-1)+Δθe ・・・(6)
Δθe=Kf・ωm
ここでKfは、角速度(rad/s)から1演算周期のあいだに電動モータ20が回転する電気角(rad)を求めるための定数であり、演算周期(s)に相当する。
この場合、推定電気角θeb(n-1)の初期値は、センサ異常検出部121により回転角センサ22の異常が検出される直前の値としている。推定電気角演算部114は、回転角センサ22の異常が検出されていない時から、実電気角変換部120が出力する実電気角θeaを入力して記憶更新し、センサ異常検出部121の出力するセンサ異常判定信号Fが回転角センサ22の異常を表す「1」に切り替わったことを検出すると、異常検出直前の実電気角θeaを推定電気角θeb(n-1)に設定して、上述した推定電気角θeb(n)の演算を開始する。また、その後は、算出した推定電気角θeb(n)を次の演算周期における式(6)での推定電気角θeb(n-1)として使用するため、推定電気角θeb(n)を推定電気角θeb(n-1)として逐次記憶更新する。
推定電気角演算部114は、算出した推定電気角θebを電気角選択部122に出力する。電気角選択部122は、実電気角θeaと推定電気角θebとを入力し、センサ異常検出部121からセンサ異常判定信号Fを読み込んで、センサ異常判定信号Fが回転角センサ22が異常であることを表す「1」である場合には推定電気角θebを選択して電気角θeとして出力する。また、センサ異常判定信号Fが回転角センサ22が正常であることを表す「0」である場合には実電気角θeaを選択して電気角θeとして出力する。
上述したように、推定電気角θebを算出するための誘起電圧eは、モータ電流Iu,Iv,Iwと、モータ端子電圧Vu,Vv,Vwと、巻線抵抗値Ru,Rv,Rwとを演算パラメータとして使って算出される。このうち、モータ電流Iu,Iv,Iwとモータ端子電圧Vu,Vv,Vwとは、電流センサ38,電圧センサ39により検出されるものであるため正確である。一方、巻線抵抗値Ru,Rv,Rwについては、予め定めた設計値であって、個々の電動モータ20のばらつきや雰囲気温度の変化等により、実際の抵抗値とは相違することがある。
そこで、本実施形態においては、実際の巻線抵抗値Ru,Rv,Rwを演算により求め、式(1)〜(3)における演算上の巻線抵抗値Ru,Rv,Rwを、実際の巻線抵抗値Ru,Rv,Rwに補正(更新)する。
電動モータ20の回転子が回転していないときには、電動モータ20の各相において誘起電圧が発生しない。従って、各相における誘起電圧がゼロとなる車両の状態を検出したときに、式(1)〜(3)における演算上の誘起電圧eu,ev,ewの値をゼロに設定して、モータ電流Iu,Iv,Iwとモータ端子電圧Vu,Vv,Vwとから、巻線抵抗値Ru,Rv,Rwを算出することができる。
状態判定部115は、センサ異常検出部121からセンサ異常判定信号F=1を入力すると、電動モータ20で発生する誘起電圧がゼロとなる車両の状態であるか否かの判定を開始する。本実施形態においては、状態判定部115は、各相誘起電圧演算部111が演算した3相の誘起電圧eu,ev,ewを入力して、誘起電圧eu,ev,ewの時間微分値eu’,ev’,ew’を算出し、この微分値の大きさ(絶対値)が1相でもゼロ近傍判定値以下となる場合に、電動モータ20の回転子が回転していない保舵状態であると判定する。
状態判定部115は、保舵状態であるか否かを表す状態判定信号SSを巻線抵抗演算部116に出力する。状態判定信号SSは、保舵状態であると判定されているときに「1」に設定され、保舵状態であると判定されていないときに「0」に設定される。巻線抵抗演算部116は、状態判定部115から出力される状態判定信号SSが「0」になっているあいだは作動しない。そして、状態判定信号SSが「1」になると、つまり、保舵状態が検出されると、電流センサ38により検出されるモータ電流Iu,Iv,Iwと電圧センサ39により検出されるモータ端子電圧Vu,Vv,Vwとを読み込み、式(1)〜(3)における誘起電圧eu,ev,ewの値をゼロに設定して、モータ端子電圧Vu,Vv,Vwとモータ電流Iu,Iv,Iwとから、巻線抵抗値Ru,Rv,Rwを次式(6),(7),(8)のように算出する。
0=Vu−Iu・Ru−Vm → Ru=(Vu−Vm)/Iu・・・(7)
0=Vv−Iv・Rv−Vm → Rv=(Vv−Vm)/Iv・・・(8)
0=Vw−Iw・Rw−Vm → Rw=(Vw−Vm)/Iw・・・(9)
巻線抵抗演算部116は、算出した巻線抵抗値Ru,Rv,Rwを巻線抵抗値補正部117に出力する。巻線抵抗値補正部117は、各相誘起電圧演算部111が記憶している式(1),(2),(3)の巻線抵抗値Ru,Rv,Rwを、巻線抵抗演算部116が算出した巻線抵抗値Ru,Rv,Rwに補正する。つまり、式(1),(2),(3)における巻線抵抗値Ru,Rv,Rwを、巻線抵抗演算部116が算出した巻線抵抗値Ru,Rv,Rwに置き換える(更新する)。巻線抵抗値Ru,Rv,Rwは、その初期値として予め設定された設計値が記憶されているが、この補正処理により、保舵状態が検出されるたびに新たな値に更新記憶されることになる。
ここで、電気角推定処置と巻線抵抗値補正処理とについてフローチャートを使って説明する。図3は、電気角推定ルーチンを表し、図4は、巻線抵抗値補正ルーチンを表す。両ルーチンは、アシストECU100の電気角推定部110により実行されるものであるが、電気角推定ルーチンについては、各相誘起電圧演算部111,誘起電圧演算部112,推定角速度演算部113,推定電気角演算部114により実行され、巻線抵抗値補正ルーチンについては、状態判定部115,巻線抵抗演算部116,巻線抵抗値補正部117により実行される。電気角推定ルーチンおよび巻線抵抗値補正ルーチンは、アシストECU100のROM内に制御プログラムとして記憶されており、イグニッションスイッチ87がオンされた後、センサ異常検出部121から出力されるセンサ異常判定信号FがF=1になると起動し、所定の短い演算周期にて繰り返し実行される。
まず、電気角推定ルーチンについて説明する。電気角推定ルーチンが起動すると、ステップS11において、電圧センサ39から出力されるモータ端子電圧Vu,Vv,Vwを読み込み、ステップS12において、電流センサ38から出力されるモータ電流Iu,Iv,Iwを読み込み、ステップS13において、操舵トルクセンサ21により検出される操舵トルクTrを読み込む。続いて、ステップS14において、上述した式(1),(2),(3)を使って、電動モータ20の各相の誘起電圧eu,ev,ewを算出する。続いて、ステップS15において、上述した式(4)を使って、電動モータ20の誘起電圧eを算出し、ステップS16において、上述した式(5)を使って、推定角速度ωmを算出する。続いて、ステップS17において、上述した式(6)を使って、推定電気角θeb(n)を算出する。
電気角推定部110は、ステップS17により推定電気角θeb(n)を算出すると、電気角推定ルーチンを一旦終了する。このとき、電気角推定部110は、算出した推定電気角θeb(n)を電気角選択部122に出力するとともに、次回の演算のために、推定電気角θeb(n)を推定電気角θeb(n-1)として記憶しておく。そして、センサ異常検出部121から出力されるセンサ異常判定信号FがF=1になっているあいだ、所定の演算周期にて電気角推定ルーチンを実行する。
次に、巻線抵抗値補正ルーチン(図4)について説明する。巻線抵抗値補正ルーチンは、電気角推定ルーチン(図3)と並行して実行される。巻線抵抗値補正ルーチンが起動すると、まず、ステップS20において、保舵状態判定処理が行われる。この保舵状態判定処理は、状態判定部115により、図5に示す保舵状態判定サブルーチンに沿って実行される。保舵状態判定サブルーチンが開始されると、状態判定部115は、まず、ステップS201において、各相誘起電圧演算部111により計算された誘起電圧eu,ev,ewを読み込む。続いて、ステップS202において、誘起電圧eu,ev,ewの時間微分値eu’,ev’,ew’を算出する。電気角推定部110は、所定の短い演算周期にて各種の演算処理を行うため、ここでは、1周期前に各相誘起電圧演算部111から読み込んだ誘起電圧eu(n-1),ev(n-1),ew(n-1)と、今回の各相誘起電圧演算部111から読み込んだ誘起電圧eu(n),ev(n),ew(n)との差(eu(n)−eu(n-1),ev(n)−ev(n-1),ew(n)−ew(n-1))を微分値eu’,ev’,ew’として算出する。
続いて、ステップS203において、U相の誘起電圧の微分値eu’の絶対値がゼロ近傍判定値A以下であるか否かを判定し、ゼロ近傍判定値A以下である場合には、保舵状態であると判定して、ステップS206において、状態判定信号SSを「1」に設定する。一方、U相の誘起電圧の微分値eu’の絶対値がゼロ近傍判定値Aを越えている場合には、ステップS204において、V相の誘起電圧の微分値ev’の絶対値がゼロ近傍判定値A以下であるか否かを判定する。V相の誘起電圧の微分値ev’の絶対値がゼロ近傍判定値A以下である場合には、保舵状態であると判定して、ステップS206により状態判定信号SSを「1」に設定する。一方、V相の誘起電圧の微分値ev’の絶対値がゼロ近傍判定値Aを越えている場合には、ステップS205において、W相の誘起電圧の微分値ew’の絶対値がゼロ近傍判定値A以下であるか否かを判定する。W相の誘起電圧の微分値ew’の絶対値がゼロ近傍判定値A以下である場合には、保舵状態であると判定して、ステップS206により状態判定信号SSを「1」に設定する。一方、W相の誘起電圧の微分値ew’の絶対値がゼロ近傍判定値Aを越えている場合には、保舵状態ではないと判定して、ステップS207において、状態判定信号SSを「0」に設定する。つまり、3相のうち少なくとも1相の誘起電圧の微分値eu’,ev’,ew’の絶対値がゼロ近傍判定値A以下である場合には、保舵状態であると判定する。こうして、状態判定信号SSが設定されると、保舵状態判定サブルーチンを抜けて、図3の巻線抵抗値補正ルーチンのステップS21からの処理が行われる。尚、誘起電圧eu(n-1),ev(n-1) ),ew(n-1)が検出されていない初期においては、時間微分値を求めることができないため保舵状態ではないと判定し、次の演算周期において、今回読み込んだeu(n),ev(n),ew(n)を、1周期前の誘起電圧eu(n-1),ev(n-1),ew(n-1)として使用する。
図4の巻線抵抗値補正ルーチンの説明に戻る。ステップS21からステップS24までの処理は、巻線抵抗演算部116により実行される。巻線抵抗演算部116は、ステップS21において、状態判定信号SSに基づいて保舵状態か否かを判断する。保舵状態でない場合(SS=0)には、巻線抵抗値補正ルーチンをそのまま一旦終了する。保舵状態である場合(SS=1)には、ステップS22において、電圧センサ39から出力されるモータ端子電圧Vu,Vv,Vwを読み込み、ステップS23において、電流センサ38から出力されるモータ電流Iu,Iv,Iwを読み込む。続いて、ステップS24において、上述した式(7),(8),(9)を使って、巻線抵抗値Ru,Rv,Rwを計算する。この場合、モータ電流Iu,Iv,Iwが不感帯設定値よりも小さい場合、および、モータ端子電圧Vu,Vv,Vwが不感帯設定値よりも小さい場合には、それに該当する相の巻線抵抗値に関しては計算しないようにするとよい。これは、モータ電流Iu,Iv,Iwやモータ端子電圧Vu,Vv,Vwが小さい場合には、巻線抵抗値Ru,Rv,Rwの計算誤差が大きくなる可能性があるためである。従って、不感帯設定値は、巻線抵抗値Ru,Rv,Rwの演算誤差が生じると判断される範囲の境界値に設定される。
続くステップS25からの処理は、巻線抵抗値補正部117により実行される。巻線抵抗値補正部117は、ステップS25において、巻線抵抗値Ru,Rv,Rwが設計範囲内(R1以上で、かつ、R2以下)であるか否かを判断する。巻線抵抗値Ru,Rv,Rwは、個々のバラツキや環境温度により変化するものの、想定される範囲内(設計範囲内)に収まるはずである。従って、ステップS24にて算出された巻線抵抗値Ru,Rv,Rwが設計範囲外である場合には、計算結果の信頼性が低い。そこで、巻線抵抗値補正部117は、巻線抵抗値Ru,Rv,Rwが設計範囲内である場合のみ、各相誘起電圧演算部111に記憶された演算式(1),(2),(3)における巻線抵抗値Ru,Rv,Rwを、ステップS24にて算出された巻線抵抗値Ru,Rv,Rwに補正(更新)する。また、巻線抵抗値Ru,Rv,Rwが設計範囲外である場合には、巻線抵抗値Ru,Rv,Rwの補正を行うことなく、巻線抵抗値補正ルーチンを一旦終了する。
巻線抵抗値補正ルーチンは、所定の短い演算周期にて繰り返し実行される。従って、電動モータ20の個体差により巻線抵抗値Ru,Rv,Rwが設計値(初期値)と相違する場合であっても、適正な巻線抵抗値Ru,Rv,Rwに補正される。また、電動モータ20の雰囲気温度が変化しても、その変化に追従して巻線抵抗値Ru,Rv,Rwが逐次補正される。さらに、巻線抵抗値の計算にあたっては、各相に誘起電圧が発生しない保舵状態を検出し、この保舵状態が検出されているときに演算式(モータ電流とモータ端子電圧と巻線抵抗値とを使って各相の誘起電圧を表した関係式)における各相の誘起電圧の値をゼロに設定して巻線抵抗値を算出するため、巻線抵抗値の計算を適正かつ簡単に行うことができる。しかも、各相の誘起電圧の微分値の絶対値がゼロ近傍判定値A以下となる状態を保舵状態として判定するため、その判定精度が良好である。
これらの結果、本実施形態によれば、電気角の推定精度を向上させることができる。この結果、電動モータ20のセンサレス制御性能が向上する。また、巻線抵抗値Ru,Rv,Rwの補正は、電動モータ20が回転していないときに行われるため、電動モータ20の位相ずれの影響が生じない。
次に、保舵状態判定処理に関する第1変形例について説明する。図8は、上述の実施形態における保舵状態判定サブルーチン(図5)に代えて実行されるフローチャートを表す。この変形例においては、各相の誘起電圧eu,ev,ewの時間微分値eu’,ev’,ew’の全てがゼロ近傍となっているときに保舵状態であると判定するものである。以下、変形例については、その処理が上述の実施形態と同じ処理である場合、図面に同一のステップ符号を付して簡単な説明に留める。
第1変形例の保舵状態判定サブルーチンが開始されると、状態判定部115は、ステップS201において、各相誘起電圧演算部111により計算された誘起電圧eu,ev,ewを読み込み、ステップS202において、その微分値eu’,ev’,ew’を算出する。続いて、ステップS203において、U相の誘起電圧の微分値eu’の絶対値がゼロ近傍判定値A以下であるか否かを判定し、「Yes」と判定した場合には、続くステップS204において、V相の誘起電圧の微分値ev’の絶対値がゼロ近傍判定値A以下であるか否かを判定し、「Yes」と判定した場合には、更にステップS205において、W相の誘起電圧の微分値ew’の絶対値がゼロ近傍判定値A以下であるか否かを判定する。そして、ステップS205において「Yes」と判定した場合、つまり、各相の誘起電圧の微分値eu’,ev’,ew’の絶対値が全てゼロ近傍判定値A以下となる場合には、ステップS206において、保舵状態であると判定して状態判定信号SSを「1」に設定する。逆に、1相でも誘起電圧の微分値eu’,ev’,ew’の絶対値がゼロ近傍判定値Aを越える場合には、ステップS207において、保舵状態ではないと判定して状態判定信号SSを「0」に設定する。
この第1変形例によれば、保舵状態の判定を厳しく行うようにしているため、巻線抵抗値Ru,Rv,Rwの演算精度をさらに向上させることができる。このため、電気角の推定精度をさらに向上させることができ、電動モータ20のセンサレス制御性能が向上する。
次に、保舵状態判定処理に関する第2変形例について説明する。図9は、上述の実施形態における保舵状態判定サブルーチン(図5)に代えて実行されるフローチャートを表す。この第2変形例においては、状態判定部115は、各相の誘起電圧eu,ev,ewに代えて、操舵角センサ23により検出される操舵角θhを入力するように構成されている(図2に破線にて示す)。
第2変形例の保舵状態判定サブルーチンが開始されると、状態判定部115は、ステップS211において、操舵角センサ23により検出される操舵角θhを読み込み、続くステップS212において、操舵角θhを時間微分して操舵角速度ωhを算出する。続いて、ステップS213において、操舵角速度ωhの絶対値がゼロ近傍判定値B以下であるか否かを判定する。操舵角速度ωhの絶対値がゼロ近傍判定値B以下であれば、ステップS206において、保舵状態であると判定して状態判定信号SSを「1」に設定する。逆に、操舵角速度ωhの絶対値がゼロ近傍判定値Bを越えていれば、ステップS207において、保舵状態ではないと判定して状態判定信号SSを「0」に設定する。
この第2変形例によれば、操舵角センサ23を利用して保舵状態を適正かつ簡単に検出することができる。
次に、保舵状態判定処理に関する第3変形例について説明する。図10は、上述の実施形態における保舵状態判定サブルーチン(図5)に代えて実行されるフローチャートを表す。この第3変形例においては、状態判定部115は、各相の誘起電圧eu,ev,ewに代えて、操舵トルクセンサ21のレゾルバ21bにより検出される回転角θt2を入力するように構成されている(図2に破線にて示す)。
第3変形例の保舵状態判定サブルーチンが開始されると、状態判定部115は、ステップS221において、操舵トルクセンサ21のレゾルバ21bにより検出される回転角θt2を読み込み、続くステップS222において、回転角θt2を時間微分して回転角速度ωt2を算出する。続いて、ステップS223において、回転角速度ωt2の絶対値がゼロ近傍判定値C以下であるか否かを判定する。回転角速度ωt2の絶対値がゼロ近傍判定値C以下であれば、ステップS206において、保舵状態であると判定して状態判定信号SSを「1」に設定する。逆に、操舵角速度ωhの絶対値がゼロ近傍判定値Cを越えていれば、ステップS207において、保舵状態ではないと判定して状態判定信号SSを「0」に設定する。
この第3変形例によれば、操舵トルクセンサ21のレゾルバ21bを利用して保舵状態を適正かつ簡単に検出することができる。尚、レゾルバ21bに代えてレゾルバ21aにより検出される回転角θt1を使ってもよい。
次に、第4変形例について説明する。巻線抵抗値Ru,Rv,Rwの演算は、電動モータ20で発生する誘起電圧がゼロとなる車両状態において行う必要がある。そのため、上述した実施形態および第1〜第3変形例においては、その車両状態として保舵状態を検出したが、この第4実施形態においては、その車両状態として直線走行状態を検出する。そのため、第4変形例においては、状態判定部115は、各相の誘起電圧eu,ev,ewに代えて、図示しない車輪速センサにより検出される右車輪速vRと左車輪速vLとを入力するように構成されている(図2に破線にて示す)。
図11は、上述の実施形態における保舵状態判定サブルーチン(図5)に代えて実行される直線走行判定サブルーチンを表すフローチャートである。尚、第4変形例においては、図4のメインルーチンのステップS20は、直線走行判定処理となり、ステップS21に判断は、直線走行状態か否かの判定となる。
直線走行判定サブルーチンが開始されると、状態判定部115は、ステップS231において、左右の前輪(左右の後輪でもよい)の車輪速センサにより検出される右車輪速vRと左車輪速vLとを読み込む。続いて、ステップS232において、右車輪速vRと左車輪速vLとの車輪速差ΔvRL(=vR−vL)を算出する。続いて、車輪速差ΔvRLの絶対値がゼロ近傍判定値D以下であるか否かを判定する。車輪速差ΔvRLの絶対値がゼロ近傍判定値D以下であれば、ステップS234において、直線走行状態であると判定して状態判定信号SSを「1」に設定する。逆に、車輪速差ΔvRLの絶対値がゼロ近傍判定値Dを越えていれば、ステップS235において、直線走行状態ではないと判定して状態判定信号SSを「0」に設定する。尚、ステップS231において読み込んだ右車輪速vRと左車輪速vLの何れか一方でもゼロ近傍値であれば、停車中であると判定して、ステップS235に進むようにする。
この第4変形例によれば、車両の直線走行状態の判定により、電動モータ20で誘起電圧がゼロとなる状態を判定することができ、その判定が容易である。
次に、第2実施形態について説明する。上述した実施形態(以下、第1実施形態と呼ぶ)および4つの変形例は、回転角センサ22の異常が検出されているときに、電動モータ20の巻線抵抗値を演算により求め、この求めた巻線抵抗値を誘起電圧の算出用演算式における巻線抵抗値として更新するものであるが、この第2実施形態は、更に、回転角センサ22の異常が検出されていないときにも、巻線抵抗値の更新を行うものである。以下、第1実施形態(変形例も含む)に追加する処理について説明する。
図12は、第2実施形態として、回転角センサ22の異常が検出されていないときに電気角推定部110(特に、巻線抵抗演算部116,巻線抵抗値補正部117)により実施される巻線抵抗値補正ルーチンを表すフローチャートである。この巻線抵抗値補正ルーチンは、イグニッションスイッチ87がオンされた後、センサ異常検出部121からF=0(異常なし)となるセンサ異常判定信号Fが出力されると起動し、所定の短い演算周期にて繰り返し実行される。そして、イグニッションスイッチ87がオフされると、あるいは、センサ異常判定信号FがF=1(異常有り)に切り替わると終了する。尚、第2実施形態においては、巻線抵抗演算部116は、回転角センサ22により検出される回転角θmを入力するように構成されている(図2に破線にて示す)。
第2実施形態の巻線抵抗値補正ルーチンが起動すると、まず、ステップS31において、回転角センサ22により検出される回転角θmを読み込む。続いて、ステップS32において、回転角θmを時間で微分して回転角速度ωmaを算出する。電気角推定部110は、所定の短い演算周期にて各種の演算処理を行うため、ここでは、1周期前に読み込んだ回転角θm(n-1)と、今回読み込んだ回転角θm(n)との差(θm(n)−θm(n-1))を回転角速度ωmaとして算出する。以下、この回転角速度ωmaを推定角速度ωmと区別するため実回転角速度ωmaと呼ぶ。
電動モータ20は、回転子が回転していないときには誘起電圧を発生しない。つまり、回転角速度がゼロとなるときには誘起電圧を発生しない。そこで、ステップS33において、実回転角速度ωmaの絶対値がゼロ近傍判定値E以下であるか否かを判定する。このゼロ近傍判定値Eは、電動モータ20で誘起電圧が発生しないと判定できる回転角速度の値であって、ゼロ、あるいは、ゼロに近い値に設定されている。実回転角速度ωmaの絶対値がゼロ近傍判定値Eを越えている場合には、電動モータ20で誘起電圧が発生しない状態とはいえないため、巻線抵抗値補正ルーチンを一旦終了する。
一方、実回転角速度ωmaの絶対値がゼロ近傍判定値E以下である場合には、電動モータ20で誘起電圧が発生しない状態といえるため、以下、ステップS34からの処理を実施する。このステップS34〜ステップS38の処理は、第1実施形態における巻線抵抗値補正ルーチン(図4)のステップS22〜ステップS26の処理に相当するものである。つまり、ステップS34にて電圧センサ39から出力されるモータ端子電圧Vu,Vv,Vwを読み込み、ステップS35にて電流センサ38から出力されるモータ電流Iu,Iv,Iwを読み込み、ステップS36にて、式(7),(8),(9)を使って巻線抵抗値Ru,Rv,Rwを計算する。そして、巻線抵抗値Ru,Rv,Rwが設計範囲内(R1以上で、かつ、R2以下)であれば(S37:Yes)、ステップS38にて、各相誘起電圧演算部111に記憶されている演算式における巻線抵抗値Ru,Rv,Rwを、ステップS36にて算出された巻線抵抗値Ru,Rv,Rwに補正(更新)する。
第2実施形態によれば、回転角センサ22の異常が検出される前から、巻線抵抗値Ru,Rv,Rwを補正するため、実際に回転角センサ22の異常が発生してセンサレス制御に切り替わった場合でも、その時点から高い精度にて電気角を推定することができる。この結果、センサレス制御への移行を良好に行うことができる。尚、ステップS31〜S36の処理は巻線抵抗演算部116により実行され、ステップS37,S38の処理は巻線抵抗値補正部117により実行される。
以上、本実施形態の電動パワーステアリング装置について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、本実施形態においては、推定電気角θeb(n-1)の初期値として、回転角センサ22の異常が検出される直前の実電気角θeaの値を用いているが、それに代えて固定値を用いても良い。これは、初期の推定電気角が実電気角と相違していても、電動モータ20が回転しているうちに、回転子の回転位置が制御上の推定電気角に同期してくるからである。
また、本実施形態においては、回転角センサ22の異常が検知されているときに巻線抵抗値の補正を行うが、回転角センサ22の異常が検知されていないときのみにおいて巻線抵抗値の補正を行う構成、例えば、図12に示した巻線抵抗値補正ルーチンを行う構成であってもよい。
また、本実施形態においては、電動モータ20の発生するトルクをラックバー14に付与するラックアシスト式の電動パワーステアリング装置について説明したが、電動モータの発生するトルクをステアリングシャフト12(トーションバー12aより出力側)に付与するコラムアシスト式の電動パワーステアリング装置であってもよい。
尚、本実施形態における電気角推定部110と電流センサ38と電圧センサ39とからなる構成が本発明の電気角推定手段に相当する。また、本実施形態における各相誘起電圧演算部111と誘起電圧演算部112とからなる構成が本発明の誘起電圧演算手段に相当し、推定角速度演算部113と推定電気角演算部114とからなる構成が本発明の推定電気角演算手段に相当する。また、本実施形態における状態判定部115と巻線抵抗演算部116とからなる構成が本発明の巻線抵抗演算手段に相当し、巻線抵抗値補正部117が本発明の巻線抵抗値補正手段に相当する。また、本実施形態における状態判定部115が本発明の状態判定手段に相当する。また、本実施形態におけるアシスト電流指令部101が本発明のモータ制御値演算手段に相当し、フィードバック制御部102,3相/2相座標変換部103,2相/3相座標変換部105,PWM制御信号発生部106とモータ駆動回路30からなる構成が本発明のモータ制御手段に相当する。また、第2実施形態において図12に示した巻線抵抗値補正ルーチンを実行する巻線抵抗演算部116が本発明の正常時巻線抵抗演算手段に相当する。また、本実施形態におけるゼロ近傍判定値A,B,Cは、ゼロ、あるいは、誘起電圧が発生しない保舵状態であると判定できるゼロ近傍の設定値であり、本発明の保舵判定用基準値に相当する。また、本実施形態におけるゼロ近傍判定値Dは、ゼロ、あるいは、誘起電圧が発生しない直線走行状態であると判定できるゼロ近傍の設定値であり、本発明の直線走行判定用基準値に相当する。