以下、本発明を電動パワーステアリング装置(EPS)に具体化した一実施形態を図面に従って説明する。
図1は、本実施形態のEPS1の概略構成図である。同図に示すように、ステアリングホイール(ステアリング)2が固定されたステアリングシャフト3は、ラックアンドピニオン機構4を介してラック5に連結されており、ステアリング操作に伴うステアリングシャフト3の回転は、ラックアンドピニオン機構4によりラック5の往復直線運動に変換される。そして、このラック5の往復直線運動により転舵輪6の舵角が変更されるようになっている。
また、EPS1は、操舵系にステアリング操作を補助するためのアシスト力を付与する操舵力補助装置としてのEPSアクチュエータ10と、該EPSアクチュエータ10の作動を制御する制御手段としてのECU11とを備えている。
本実施形態のEPSアクチュエータ10は、その駆動源であるモータ12がラック5と同軸に配置された所謂ラック型のEPSアクチュエータであり、モータ12が発生するアシストトルクは、ボールねじ機構(図示略)を介してラック5に伝達される。尚、本実施形態のモータ12は、ブラシレスモータであり、ECU11から三相(U,V,W)の駆動電力の供給を受けることにより回転する。そして、モータ制御装置としてのECU11は、このモータ12が発生するアシストトルクを制御することにより、操舵系に付与するアシスト力を制御する(パワーアシスト制御)。
本実施形態では、ECU11には、トルクセンサ14及び車速センサ15が接続されている。そして、ECU11は、これらトルクセンサ14及び車速センサ15によりそれぞれ検出される操舵トルクτ及び車速Vに基づいて、EPSアクチュエータ10の作動、即ちパワーアシスト制御を実行する。
次に、本実施形態のEPSの電気的構成について説明する。
図2は、本実施形態のEPSの制御ブロック図である。同図に示すように、ECU11は、モータ制御信号を出力するモータ制御信号出力手段としてのマイコン17と、モータ制御信号に基づいてモータ12に三相の駆動電力を供給する駆動回路18とを備えている。
尚、本実施形態の駆動回路18は、直列に接続されたスイッチング素子対を基本単位(アーム)として各相に対応する3つのアームを並列接続してなる周知のPWMインバータであり、マイコン17の出力するモータ制御信号は、駆動回路18を構成する各スイッチング素子のオンduty比を規定するものとなっている。そして、モータ制御信号が各スイッチング素子のゲート端子に印加され、同モータ制御信号に応答して各スイッチング素子がオン/オフすることにより、車載電源(図示略)の直流電圧が三相(U,V,W)の駆動電力に変換されてモータ12に供給されるようになっている。
詳述すると、ECU11には、モータ12に通電される各相電流値Iu,Iv,Iwを検出するための電流センサ21u,21v,21w、及びモータ12の回転角(電気角)θを検出するための回転角センサ22が接続されている。そして、マイコン17は、これら各センサの出力信号に基づき検出された各相電流値Iu,Iv,Iw及び回転角θ、並びに上記操舵トルクτ及び車速Vに基づいて駆動回路18にモータ制御信号を出力する。
さらに詳述すると、本実施形態のマイコン17は、上記操舵トルクτ及び車速Vに基づいて、操舵系に付与すべきアシスト力(目標アシスト力)を決定し、当該アシスト力をモータ12に発生させるべく、上記検出された各相電流値Iu,Iv,Iw及び回転角θに基づく電流制御を実行することにより上記モータ制御信号を生成する。
具体的には、マイコン17は、操舵系に付与するアシスト力、即ちモータトルクの制御目標値として電流指令値を演算する電流指令値演算手段としての電流指令値演算部23と、電流指令値演算部23により算出された電流指令値に基づいてモータ制御信号を生成するモータ制御信号生成手段としてのモータ制御信号生成部24とを備えている。
電流指令値演算部23は、上記トルクセンサ14及び車速センサ15により検出された操舵トルクτ及び車速Vに基づき、モータトルクの制御目標値に対応する電流指令値として、d/q座標系のq軸電流指令値Iq*を演算し、モータ制御信号生成部24に出力する。一方、モータ制御信号生成部24には、電流指令値演算部23の出力するq軸電流指令値Iq*とともに、各電流センサ21u,21v,21wにより検出された各相電流値Iu,Iv,Iw、及び回転角センサ22により検出された回転角θが入力される。そして、モータ制御信号生成部24は、これら各相電流値Iu,Iv,Iw、及び回転角θ(電気角)に基づいて、d/q座標系における電流フィードバック制御を実行することによりモータ制御信号を生成する。
さらに詳述すると、本実施形態のモータ制御信号生成部24は、d/q座標系における電流フィードバック制御(d/q軸電流F/B)の実行により三相の相電圧指令値Vu*,Vv*,Vw*を演算する第1電流制御部24aを備えている。そして、通常時には、この第1電流制御部24aにより演算される各相電圧指令値Vu*,Vv*,Vw*に基づいて、モータ制御信号を生成する。
図3に示すように、第1電流制御部24aに入力された各相電流値Iu,Iv,Iwは、回転角θとともに3相/2相変換部25に入力され、同3相/2相変換部25によりd/q座標系のd軸電流値Id及びq軸電流値Iqに変換される。そして、q軸電流値Iqは、電流指令値演算部23から入力されたq軸電流指令値Iq*とともに減算器26qに入力され、d軸電流値Idは、d軸電流指令値Id*(Id*=0)とともに減算器26dに入力される。
各減算器26d,26qにおいて演算されたd軸電流偏差ΔId及びq軸電流偏差ΔIqは、それぞれ対応するF/B制御部27d,27qに入力される。そして、これら各F/B制御部27d,27qにおいて、電流指令値演算部23が出力するd軸電流指令値Id*及びq軸電流指令値Iq*に実電流値であるd軸電流値Id及びq軸電流値Iqを追従させるべくフィードバック制御が行われる。
即ち、F/B制御部27d,27qは、入力されたd軸電流偏差ΔId及びq軸電流偏差ΔIqに所定のF/Bゲイン(PIゲイン)を乗ずることにより、d軸電圧指令値Vd*及びq軸電圧指令値Vq*を演算する。演算されたこれらd軸電圧指令値Vd*及びq軸電圧指令値Vq*は、回転角θとともに2相/3相変換部28に入力され、同2相/3相変換部28において三相の相電圧指令値Vu*,Vv*,Vw*に変換される。そして、第1電流制御部24aは、その各相電圧指令値Vu*,Vv*,Vw*をPWM変換部30へと出力する。
PWM変換部30は、入力された各相電圧指令値Vu*,Vv*,Vw*に基づきduty指令値αu,αv,αwを生成し、更に、これら各duty指令値αu,αv,αwに示されるオンduty比を有するモータ制御信号を生成する。そして、図2に示すように、マイコン17は、このモータ制御信号生成部24において生成されたモータ制御信号を、駆動回路18を構成する各スイッチング素子(のゲート端子)に出力することにより、同駆動回路18の作動、即ちモータ12への駆動電力の供給を制御する構成となっている。
[異常発生時の制御態様]
図2に示すように、本実施形態のECU11では、マイコン17には、EPS1に何らかの異常が生じた場合に、該異常の態様を特定するための異常判定部31が設けられている。そして、ECU11(マイコン17)は、この異常判定部31により特定(判定)された異常の態様に応じて、モータ12の制御モードを変更する。
詳述すると、異常判定部31には、EPSアクチュエータ10の機械系統の異常を検出するための異常信号S_trが入力されるようになっており、同異常判定部31は、この入力される異常信号S_trに基づいて、EPS1における機械系統の異常を検出する。また、異常判定部31には、検出された各相電流値Iu,Iv,Iw、回転角速度ω、及び上記モータ制御信号生成部24(第1電流制御部24a)において演算されたq軸電流偏差ΔIq、並びに各相のduty指令値αu,αv,αw等が入力される。そして、異常判定部31は、これら各状態量に基づいて、制御系における異常の発生を検出する。
具体的には、本実施形態の異常判定部31は、トルクセンサ14の故障や駆動回路18の故障等、制御系全般に関する異常の発生を検出するために、q軸電流偏差ΔIqを監視する。即ち、q軸電流偏差ΔIqと所定の閾値とを比較し、q軸電流偏差ΔIqが(所定時間以上継続して)当該閾値以上となった場合には、制御系に異常が発生したものと判定する。
また、異常判定部31は、各相電流値Iu,Iv,Iw、回転角速度ω、及び各相のduty指令値αu,αv,αwに基づいて、動力線(モータコイルを含む)の断線や駆動回路18の接点不良等に起因する通電不良相の発生等を検出する。この通電不良相発生の検出は、X相(X=U,V,W)の相電流値Ixが所定値Ith以下(|Ix|≦Ith)、且つ回転角速度ωが断線判定の対象範囲内(|ω|≦ω0)である場合に、該相に対応するduty指令値αxが所定値Ith及び判定対象範囲を規定する閾値ω0に対応する所定範囲(αLo≦αx≦αHi)にない状態が継続するか否かにより行われる。
尚、この場合において、上記相電流値Ixの閾値となる所定値Ithは「0」近傍の値に設定され、回転角速度ωの閾値ω0は、モータの最高回転数に相当する値に設定される。そして、duty指令値αxに関する閾値(αLo,αHi)は、それぞれ通常制御においてduty指令値αxが取り得る下限値よりも小さな値、及び上限値よりも大きな値に設定されている。
即ち、図4のフローチャートに示すように、異常判定部31は、検出される相電流値Ix(の絶対値)が所定値Ith以下であるか否かを判定し(ステップ101)、所定値Ith以下である場合(|Ix|≦Ith、ステップ101:YES)には、続いて回転角速度ω(の絶対値)が所定の閾値ω0以下であるか否かを判定する(ステップ102)。そして、回転角速度ωが所定の閾値ω0以下である場合(|ω|≦ω0、ステップ102:YES)には、duty指令値αxが上記の所定範囲(αLo≦αx≦αHi)内にあるか否かを判定し(ステップ103)、所定範囲内にない場合(ステップ103:NO)には、該X相に通電不良が生じているものと判定する(ステップ104)。
そして、相電流値Ixが所定値Ithよりも大きい場合(|Ix|>Ith、ステップ101:NO)、回転角速度ωが閾値ω0よりも大きい場合(|ω|>ω0、ステップ102:NO)、又はduty指令値αxが上記所定範囲内にある場合(αLo≦αx≦αHi、ステップ103:YES)には、X相に通電不良が生じていないと判定する(X相正常、ステップ105)。
つまり、X相(U,V,W相の何れか)に通電不良(断線)が生じた場合、当該相の相電流値Ixは「0」となる。ここで、X相の相電流値Ixが「0」又は「0に近い値」となる場合には、このような断線発生時以外にも以下の二つのケースがありうる。
− モータの回転角速度が最高回転数に達した場合
− 電流指令自体が略「0」である場合
この点を踏まえ、本実施形態では、先ず、判定対象であるX相の相電流値Ixを所定値Ithと比較することにより、当該相電流値Ixが「0」であるか否かを判定する。そして、断線時以外に相電流値Ixが「0」若しくは「0に近い値」をとる上記二つのケースに該当するか否かを判定し、当該二つのケースに該当しない場合には、X相に断線が発生したものと判定する。
即ち、相電流値Ixが「0」近傍の所定値Ith以下となるほどの回転角速度ωではないにも関わらず、極端なduty指令値αxが出力されている場合には、当該X相に通電不良が生じているものと判定することができる。そして、本実施形態では、U,V,Wの各相について、順次、上記判定を実行することにより、通電不良が発生した相を特定する構成となっている。
尚、説明の便宜のため図4のフローチャートでは省略したが、上記判定は、電源電圧がモータ12を駆動するために必要な規定電圧以上である場合を前提として行われる。そして、最終的な異常検出の判断は、所定ステップ104において通電不良が生じているものと判定される状態が所定時間以上継続したか否かにより行われる。
本実施形態では、ECU11(マイコン17)は、この異常判定部31における異常判定の結果に基づいて、モータ12の制御モードを切り替える。具体的には、異常判定部31は、上記のような通電不良検出を含む異常判定の結果を異常検出信号S_tmとして出力し、電流指令値演算部23及びモータ制御信号生成部24は、その入力される異常検出信号S_tmに応じた電流指令値の演算、及びモータ制御信号の生成を実行する。そして、これにより、マイコン17におけるモータ12の制御モードが切り替えられるようになっている。
さらに詳述すると、本実施形態のECU11は、通常時の制御モードである「通常制御モード」、及びモータ12の駆動を停止すべき異常が発生している場合の制御モードである「アシスト停止モード」、並びにモータ12の各相の何れかに通電不良が生じた場合の制御モードである「二相駆動モード」、以上の大別して3つの制御モードを有している。そして、異常判定部31の出力する異常検出信号S_tmが「通常制御モード」に対応するものである場合には、電流指令値演算部23及びモータ制御信号生成部24は、それぞれ、上記通常時における電流指令値の演算、及びモータ制御信号の生成を実行する。
一方、異常判定部31の出力する異常検出信号S_tmが「アシスト停止モード」である場合には、電流指令値演算部23及びモータ制御信号生成部24は、モータ12の駆動を停止すべく、それぞれ電流指令値の演算、及びモータ制御信号の生成を実行する。尚、「アシスト停止モード」が選択される場合としては、機械系統の異常やトルクセンサ14に異常が発生した場合のほか、電力供給系統における異常発生時については、過電流が生じた場合等が挙げられる。また、「アシスト停止モード」には、直ちにモータ12の駆動を停止する場合のほか、モータ12の出力を徐々に低減する、即ちアシスト力を徐々に低減した後に停止させる場合があり、この場合、モータ制御信号生成部24は、その電流指令値として出力するq軸電流指令値Iq*の値(絶対値)を徐々に低減する。そして、マイコン17は、モータ12の停止後、駆動回路18を構成する各スイッチング素子を開状態とし、図示しない電源リレーを開放する構成となっている。
また、「二相駆動モード」に対応する異常検出信号S_tmには、通電不良発生相を特定する情報が含まれている。そして、異常判定部31の出力する異常検出信号S_tmがこの「二相駆動モード」に対応するものである場合、モータ制御信号生成部24は、当該通電不良発生相以外の二相を通電相としてモータ駆動を継続すべく、そのモータ制御信号の生成を実行する。
詳述すると、図2に示すように、本実施形態のモータ制御信号生成部24は、上記d/q座標系における電流フィードバック制御の実行により各相電圧指令値Vu*,Vv*,Vw*を演算する第1電流制御部24aに加え、相電流フィードバック制御の実行により各相電圧指令値Vu**,Vv**,Vw**を演算する第2電流制御部24bを備えている。そして、異常判定部31から入力される異常検出信号S_tmが上記「二相駆動モード」に対応するものである場合には、この第2電流制御部24bにより演算される各相電圧指令値Vu**,Vv**,Vw**に基づいてモータ制御信号の出力を実行する。
さらに詳述すると、図3に示すように、本実施形態の第2電流制御部24bは、検出された通電不良発生相以外の残る二相のうちの一相を制御相として選択する制御相選択部32と、当該制御相として選択される相についての相電流指令値Ix*(X=U,V,Wの何れか)を演算する相電流指令値演算部33とを備えている。そして、当該制御相として選択された相電流値Ixとその相電流指令値Ix*(Ix**)との偏差に基づく相電流フィードバック制御の実行により、通電不良発生相以外の二相を通電相としたモータ駆動を実行すべく各相電圧指令値Vu**,Vv**,Vw**を演算する。
具体的には、相電流指令値演算部33が出力する相電流指令値Ix*は、ガード処理部34に入力される。そして、ガード処理が施された後の相電流指令値Ix**は、制御相選択部32において制御相として選択された相の相電流値Ixとともに、減算器35に入力される。減算器35は、相電流指令値Ix*から相電流値Ixを減算することにより相電流偏差ΔIxを演算し、その演算された相電流偏差ΔIxをF/B制御部36に出力する。そして、F/B制御部36は、入力された相電流偏差ΔIxにF/Bゲインを乗ずることにより、当該制御相についての相電圧指令値Vx*を演算する。
F/B制御部36において演算された相電圧指令値Vx*は、相電圧指令値演算部37に入力される。そして、相電圧指令値演算部37は、その制御相についての相電圧指令値Vx*に基づいて各相電圧指令値Vu**,Vv**,Vw**を演算する。
即ち、通電不良発生相は通電不能であり、また二相駆動時の各通電相の位相はπ/2(180°)ずれることになる。従って、通電不良発生相の相電圧指令値は「0」、残る他方の通電相の相電圧指令値は、上記制御相に関する相電圧指令値Vx*の符号を反転することにより演算可能である。そして、本実施形態の第2電流制御部24bは、このようにして演算された各相電圧指令値Vu**,Vv**,Vw**を上記PWM変換部30へと出力する構成となっている。
ここで、本実施形態の相電流指令値演算部33は、二相駆動時、その通電不良発生相に対応する所定の回転角を除いて、要求トルク、即ちモータトルクの制御目標値(q軸電流指令値Iq*)に対応するモータ電流(q軸電流値Iq)が発生するような相電流指令値Ix*を演算する。
具体的には、相電流指令値演算部33は、その通電不良発生相に応じて、以下の(1)〜(3)式に基づいて、残る二相のうちの一相の相電流指令値Ix*を演算する。
即ち、上記(1)〜(3)式により、通電不良発生相に対応する所定の回転角θA,θBを漸近線として、正割曲線(cosθの逆数(セカント:secθ))、又は余割曲線(sinθの逆数(コセカント:cosecθ))状に変化する相電流指令値Ix*が演算される(図5参照)。そして、このような正割曲線又は余割曲線状に変化する相電流指令値Ix*に基づき相電流フィードバック制御を実行することにより、理論上、その漸近線に相当する所定の回転角θA,θBを除いて、要求トルク(q軸電流指令値Iq*)に対応したモータ電流(q軸電流値Iq)を発生させることができる(図6参照)。
尚、図5及び図6は、U相が通電不良相、V,W相の二相が通電相となった場合の例であり、上記の各漸近線に相当する二つの回転角のうち、電気角0°〜360°の範囲において、その値の小さい方を回転角θA、大きい方を回転角θBとすると、この場合、該各回転角θA,θBは、それぞれ「90°」「270°」となる。そして、V相が通電不良発生相である場合の所定の回転角θA,θBは、それぞれ「30°」「210°」となり、W相が通電不良発生相である場合の所定の回転角θA,θBは、それぞれ「150°」「330°」となる(図示略)。
また、実際には、各相のモータコイル12u,12v,12wに通電可能な電流(の絶対値)には上限があるため、本実施形態では、上記ガード処理部34において、相電流指令値演算部33から出力された相電流指令値Ix*を所定範囲内(−Ix_max≦Ix*≦Ix_max)に制限するガード処理が実行される。尚、「Ix_max」は、X相(U,V,W相)に通電可能な電流値の最大値であり、この最大値は、駆動回路18を構成する各スイッチング素子の定格電流等により規定される。このため、そのガード処理が行われる範囲(電流制限範囲:θ1<θ<θ2,θ3<θ<θ4)において、当該ガード処理後の相電流指令値Ix**は、その通電可能な上限値(Ix_max)又は下限値(−Ix_max)で一定となる。
つまり、本実施形態のマイコン17は、二相駆動時、各通電相に対して正割曲線又は余割曲線状に変化する相電流を通電すべく、相電流フィードバック制御を実行することにより、その漸近線に相当する所定の回転角θA,θB近傍に設定された電流制限範囲(θ1<θ<θ2,θ3<θ<θ4)を除き、要求トルクに対応するモータ電流を発生させる。そして、これにより、通電不良相の発生時においても、大きなトルクリップルの発生を招くことなく、良好な操舵フィーリングを維持したまま、アシスト力付与を継続する構成となっている。
次に、マイコンによる上記異常判定及び制御モードの切り替え、並びに二相駆動時におけるモータ制御信号生成の処理手順について説明する。
図7のフローチャートに示すように、マイコン17は、先ず何らかの異常が発生したか否かを判定し(ステップ201)、異常が発生したと判定した場合(ステップ201:YES)には、続いてその異常が制御系の異常であるか否かを判定する(ステップ202)。次に、ステップ202において、制御の異常が発生したと判定した場合(ステップ202:YES)、現在の制御モードが二相駆動モードであるか否かを判定し(ステップ203)、二相駆動モードではない場合(ステップ203:NO)には、当該制御系の異常が、通電不良相の発生であるか否かを判定する(ステップ204)。そして、通電不良相が発生したと判定した場合(ステップ204:YES)には、当該通電不良相以外の残る二相を通電相とするモータ制御信号の出力を実行する(二相駆動モード、ステップ205)。
上述のように、この二相駆動モードにおけるモータ制御信号の出力は、通電不良発生相に応じた所定の回転角θA,θBを漸近線として正割曲線又は余割曲線状に変化する相電流指令値を演算し、その相電流指令値に基づく相電流フィードバック制御を実行することにより行われる。
即ち、図8のフローチャートに示すように、マイコン17は、先ず、通電不良発生相がU相であるか否かを判定し(ステップ301)、U相であるである場合(ステップ301:YES)には、上記(1)式に基づいて、V相についての相電流指令値Iv*を演算する(ステップ302)。次に、マイコン17は、その相電流指令値Iv*についてガード処理演算を実行し、当該ガード処理後の相電流指令値Iv**を所定範囲内に制限する(ステップ303)。そして、そのガード処理後の相電流指令値Iv**に基づく相電流フィードバック制御の実行によりV相についての相電圧指令値Vv*を演算し(ステップ304)、当該相電圧指令値Vv*に基づいて、各相の相電圧指令値Vu**,Vv**,Vw**を演算する(Vu**=0,Vv**=Vv*,Vw**=-Vv*、ステップ305)。
一方、上記ステップ301において、通電不良発生相がU相ではないと判定した場合(ステップ301:NO)、マイコン17は、通電不良発生相がV相であるかを判定し(ステップ306)、通電不良発生相がV相である場合(ステップ306:YES)には、上記(2)式に基づいて、U相についての相電流指令値Iu*を演算する(ステップ307)。次に、マイコン17は、その相電流指令値Iu*についてガード処理演算を実行し、当該ガード処理後の相電流指令値Iu**を所定範囲内に制限する(ステップ308)。そして、そのガード処理後の相電流指令値Iv**に基づく相電流フィードバック制御を実行し(ステップ309)、該相電流フィードバック制御の実行により演算された相電圧指令値Vu*に基づいて、各相の相電圧指令値Vu**,Vv**,Vw**を演算する(Vu**=Vu*,Vv**=0,Vw**=-Vu*、ステップ310)。
また、上記ステップ306において、通電不良発生相がV相ではないと判定した場合(ステップ306:NO)、マイコン17は、上記(3)式に基づいて、V相についての相電流指令値Iv*を演算し(ステップ311)、続いてガード処理演算を実行することにより、当該ガード処理後の相電流指令値Iv**を所定範囲内に制限する(ステップ312)。そして、そのガード処理後の相電流指令値Iv**に基づく相電流フィードバック制御を実行し(ステップ313)、該相電流フィードバック制御の実行により演算された相電圧指令値Vv*に基づいて、残る二相(V,W相)の相電圧指令値Vu**,Vw**を演算する(Vu**=-Vv*,Vv**=Vv*,Vw**=0、ステップ314)。
そして、マイコン17は、上記ステップ305、ステップ310、又はステップ314において演算された各相電圧指令値Vu**,Vv**,Vw**に基づくモータ制御信号を生成し、駆動回路18に出力する(ステップ315)。
尚、上記ステップ201において、特に異常はないと判定した場合(ステップ201:NO)には、マイコン17は、上述のように、d/q座標系での電流フィードバック制御の実行によりモータ制御信号の出力を実行する(通常制御モード、ステップ206)。また、上記ステップ202において、制御系以外の異常が発生したと判定した場合(ステップ202:NO)、ステップ203において、既に二相駆動モードであると判定した場合(ステップ203:YES)、又は上記ステップ203において、通電不良相の発生以外の異常が発生したと判定した場合(ステップ203:NO)には、マイコン17は、アシスト停止モードへと移行する(ステップ207)。そして、モータ12の駆動を停止するためのモータ制御信号の出力、及び電源リレーの開放等を実行する。
(故障スイッチング素子特定時の部分正弦波通電制御)
次に、本実施形態における故障スイッチング素子特定時の部分正弦波通電制御について説明する。
このように、残る二相の通電相に対し、その通電不良発生相に応じた所定の回転角θA,θBを漸近線として正割曲線又は余割曲線状に変化する相電流を通電すべく電流制御を実行することにより、その漸近線に相当する所定の回転角θA,θBを除いて、要求トルク(Iq*)に対応するモータ電流(Iq)を発生させるとができる(図5及び図6参照)。
即ち、図9(a)(b)に示すように、例えば、断線によりU相が通電不良発生相となった場合、V相からW相への通電、又はW相からV相への通電しかできなくなるが、このような状況においても、上記構成により、そのV,W相間の通電を最適化することで、通常時と遜色のない略一様な回転磁界を形成することが可能になる。
しかしながら、上記構成により各相電流の最適化が可能であるとはいえ、通電不良発生相がある以上、やはり当該通電不良発生相への通電(各通電相への同方向通電)、例えば、上記同様、U相断線時には、図10(a)(b)に示されるような、V,W相からU相へ、及びU相からV,W相への通電は不可能である。そして、ロータRに回転トルクを発生させるために、こうした通電不良発生相への通電が要求される回転角が上記漸近線に相当する所定の回転角θA,θBであり、これが当該所定の回転角θA,θBにおいてモータトルクが「0」となる理由である(図6参照)。
しかし、通電不良の発生原因は、必ずしも駆動回路とモータとの間の動力線における断線に限られるものではなく、その原因が駆動回路を構成するスイッチング素子の故障にある場合もある。そして、このような場合に、その通電不良発生相に対応するスイッチング素子対の双方が同時に故障することは極めて稀である。
この点を踏まえ、図11のフローチャートに示すように、本実施形態のマイコン17は、上記通電不良相の発生により二相駆動モードに移行した場合(図7参照、ステップ205)、先ず、当該通電不良の発生が駆動回路18を構成する何れかのスイッチング素子の故障によるものであるかを判定する(スイッチング素子故障判定、ステップ401)。
次に、マイコン17は、その通電不良の発生原因となったスイッチング素子が特定可能であるか否かを判定し(ステップ402)、特定された場合(ステップ402:YES)には、該故障したスイッチング素子とともにスイッチング素子対を構成する他方のスイッチング素子を介して通電不良発生相に通電可能な回転角範囲(電気角)を特定する(ステップ403)。
そして、その特定された回転角範囲においては、上述のような二相の通電相に対して正割曲線又は余割曲線状に変化する相電流を通電する電流制御に代えて、通電不良発生相を含むU,V,Wの各相に対し、正弦波状に変化する相電流を通電すべく、その電流制御を実行するように構成されている(ステップ404)。
尚、通電不良の発生原因となったスイッチング素子が特定できない場合(ステップ402:NO)、マイコン17は、上記ステップ403及びステップ404の処理を実行することなく、全域に亘って上述のような二相の通電相に対して正割曲線又は余割曲線状に変化する相電流を通電する電流制御を実行する(ステップ405)。
即ち、図12に示すように、スイッチング素子としての各FET18a〜18fを接続してなる駆動回路18において、FET18a,FET18d、FET18b,FET18e、及びFET18c,FET18fの各スイッチング素子対が、それぞれ、U,V,Wの各相に対応するものとする。
この場合、例えば、電源側のFET18aの故障によりU相に通電不良が発生した場合であっても、当該故障したFET18aとともにU相に対応したスイッチング素子対を構成する接地側のFET18dが正常であれば、当該FET18dを介してV,W相からU相への通電が可能である。
本実施形態のマイコン17は、これを利用して、上述のような残る二相の通電相に対する通電制御を実行しつつ、その通電不良発生相への通電が可能となる回転角範囲(電気角)においては、通常時と同様、正弦波状に変化する相電流が通電されるよう、その駆動回路18に対するモータ制御信号の出力を実行する。そして、これにより、通電不良発生時におけるモータ回転をより円滑なものとして、更なる操舵フィーリングの改善を図る構成となっている。
詳述すると、通電不良発生相に通電可能な回転角範囲は、モータ12の回転方向、及び通電不良の発生原因となったスイッチング素子に応じて特定される。
例えば、モータ12において、ロータRと各相(U,V,W)との位置関係が、図10(a)(b)に示されるものであり、且つ同図中「U相」のある位置を「0°」としてロータRが時計回り方向に回転するとした場合、通電不良発生相に通電可能な回転角範囲は、故障したスイッチング素子に応じて、以下に参照する図13〜図24に示すようになる。
尚、以下に参照する図13〜図24(並びに図5及び図6)においては、各相電流の極性は、図12に示すように、「モータから駆動回路へ向う方向」が「プラス」、「駆動回路からモータへ向う方向」が「マイナス」として定義されている。
即ち、ロータRに回転トルクを発生させるために、U相からV,W相への通電を必要とする回転角θ(電気角)は「90°」、V,W相からU相への通電を必要とする回転角θは「270°」である。従って、U相が通電不良発生相である場合の二相駆動時には、これらが上記漸近線に相当する所定の回転角θA,θBとなる。そして、U相からV,W相への通電は、駆動回路18においてU相に対応するスイッチング素子対のうち電源側のFET18aを介して行なわれ、V,W相からU相への通電は、接地側のFET18dを介して行なわれる(図12参照)。
つまり、この場合、電源側のFET18aの故障によりU相が通電不良発生相となった場合であっても、接地側のFET18dを介したV,W相からU相への通電が可能であり、また接地側のFET18dの故障時であっても電源側のFET18aを介したU相からV,W相への通電が可能である。従って、U相に対応する電源側のFET18aの故障時には、図13及び図14に示すように、上記所定の回転角θBである「270°」を中心とした「2/3π」の範囲、つまり「210°」〜「330°」の範囲が、接地側のFET18dを介して通電不良発生相であるU相に通電可能な回転角範囲となる。そして、接地側のFET18dの故障時には、図15及び図16に示すように、上記所定の回転角θAである「90°」を中心とした「30°」〜「150°」の範囲が、電源側のFET18aを介してU相に通電可能な回転角範囲となる。
同様に、ロータRに回転トルクを発生させるために、V相からU,W相への通電を必要とする回転角θ(電気角)は「210°」、U,W相からV相への通電を必要とする回転角θは「30°」である。従って、V相が通電不良発生相である場合の二相駆動時には、これらが上記漸近線に相当する所定の回転角θA,θBとなる(θA<θB)。そして、V相からU,W相への通電は、駆動回路18においてV相に対応するスイッチング素子対のうち電源側のFET18bを介して行なわれ、U,W相からV相への通電は、接地側のFET18eを介して行なわれる(図12参照)。
即ち、電源側のFET18bの故障によりV相が通電不良発生相となった場合であっても、接地側のFET18eを介したU,W相からV相への通電が可能であり、また接地側のFET18eの故障時であっても電源側のFET18bを介したV相からU,W相への通電が可能である。従って、V相に対応する電源側のFET18bの故障時には、図17及び図18に示すように、上記所定の回転角θAである「30°」を中心とした「330°」〜「90°」の範囲が、接地側のFET18eを介して通電不良発生相であるV相に通電可能な回転角範囲となる。そして、接地側のFET18eの故障時には、図19及び図20に示すように、上記所定の回転角θBである「210°」を中心とした「150°」〜「270°」の範囲が、電源側のFET18bを介してV相に通電可能な回転角範囲となる。
また、ロータRに回転トルクを発生させるために、W相からU,V相への通電を必要とする回転角θ(電気角)は「330°」、U,V相からW相への通電を必要とする回転角θは「150°」である。従って、W相が通電不良発生相である場合の二相駆動時には、これらが上記漸近線に相当する所定の回転角θA,θBとなる(θA<θB)。そして、W相からU,V相への通電は、駆動回路18においてW相に対応するスイッチング素子対のうち電源側のFET18cを介して行なわれ、U,V相からW相への通電は、接地側のFET18fを介して行なわれる(図12参照)。
即ち、電源側のFET18cの故障によりW相が通電不良発生相となった場合であっても、接地側のFET18fを介したU,V相からW相への通電が可能であり、また接地側のFET18fの故障時であっても電源側のFET18cを介したW相からU,V相への通電が可能である。従って、図21及び図22に示すように、W相に対応する電源側のFET18cの故障時には、上記所定の回転角θAである「150°」を中心とした「90°」〜「210°」の範囲が、接地側のFET18fを介して通電不良発生相であるW相に通電可能な回転角範囲となる。そして、図23及び図24に示すように、接地側のFET18fの故障時には、上記所定の回転角θBである「330°」を中心とした「270°」〜「30°」の範囲が、電源側のFET18cを介してW相に通電可能な回転角範囲となる。
本実施形態のマイコン17は、このようにして、通電不良発生相に通電可能な回転角範囲を特定する。そして、その特定された範囲を正弦波通電区間とし、当該回転角範囲内においては、上記のような二相駆動に代えて、各相に対する正弦波通電を実行する構成となっている。
さらに詳述すると、本実施形態における上記部分正弦波通電制御は、正弦波通電区間において、故障したスイッチング素子とともにスイッチング素子対を構成する他方のスイッチング素子(例えば、図12に示されるようなU相に対応する電源側のFET18aの故障時には、接地側のFET18d)を全開とすることにより行なわれる。
具体的には、本実施形態のマイコン17において、PWM変換部30は、検出されるモータ12の回転角θが正弦波通電区間内にない場合には、通常の二相通電時と同様、上記第2電流制御部24bの出力する各相電圧指令値Vu**,Vv**,Vw**に基づいて、duty指令値αxを生成する。そして、回転角θが正弦波通電区間内にある場合には、第1電流制御部24aにより演算されるd/q軸電流F/B制御に基づく各相電圧指令値Vu*,Vv*,Vw*を用いてduty指令値αxを生成する。
より具体的には、本実施形態のPWM変換部30は、上記正弦波通電区間内においては、その通電不良発生相における非故障側のスイッチング素子を全開とするよう、当該故障したスイッチング素子に対応した以下の各式に基づいて、各相のduty指令値αxを演算する。
即ち、U相に対応する電源側のスイッチング素子(図12参照、FET12a)の故障時には、次の(4)〜(6)式を用いて演算する。尚、各式中、「Vpig」は駆動回路18への入力電圧である。
αu=(Vu*−Vu*)/Vpig×100% ・・・(4)
αv=(Vv*−Vu*)/Vpig×100% ・・・(5)
αw=(Vw*−Vu*)/Vpig×100% ・・・(6)
また、U相に対応する接地側のスイッチング素子(図12参照、FET12d)の故障時には、次の(7)〜(9)式を用いて演算する。
αu=(Vpig−Vu*+Vu*)/Vpig×100% ・・・(7)
αv=(Vpig−Vu*+Vv*)/Vpig×100% ・・・(8)
αw=(Vpig−Vu*+Vw*)/Vpig×100% ・・・(9)
同様に、V相に対応する電源側のスイッチング素子(図12参照、FET12b)の故障時には、次の(10)〜(12)式、接地側のスイッチング素子(図12参照、FET12e)の故障時には、次の(13)〜(15)式を用いて演算する。
αu=(Vu*−Vv*)/Vpig×100% ・・・(10)
αv=(Vv*−Vv*)/Vpig×100% ・・・(11)
αw=(Vw*−Vv*)/Vpig×100% ・・・(12)
αu=(Vpig−Vv*+Vu*)/Vpig×100% ・・・(13)
αv=(Vpig−Vv*+Vv*)/Vpig×100% ・・・(14)
αw=(Vpig−Vv*+Vw*)/Vpig×100% ・・・(15)
また、W相に対応する電源側のスイッチング素子(図12参照、FET12c)の故障時には、次の(16)〜(18)式、接地側のスイッチング素子(図12参照、FET12f)の故障時には、次の(19)〜(21)式を用いて演算する。
αu=(Vu*−Vw*)/Vpig×100% ・・・(16)
αv=(Vv*−Vw*)/Vpig×100% ・・・(17)
αw=(Vw*−Vw*)/Vpig×100% ・・・(18)
αu=(Vpig−Vw*+Vu*)/Vpig×100% ・・・(19)
αv=(Vpig−Vw*+Vv*)/Vpig×100% ・・・(20)
αw=(Vpig−Vw*+Vw*)/Vpig×100% ・・・(21)
そして、本実施形態のマイコン17は、このようにして演算された各duty指令値αxに基づくモータ制御信号を出力することにより、その部分正弦波通電制御を実行する。
次に、本実施形態における部分正弦波通電制御の処理手順について説明する。
図25のフローチャートに示すように、マイコン17は、先ず故障したスイッチング素子情報及びモータ12の回転方向を取得し(ステップ501)、これらに基づいて上記正弦波通電区間を特定する(ステップ502)。
次に、マイコン17は、検出されるモータ12の回転角θが、上記ステップ502において特定された正弦波通電区間内にあるか否かを判定し(ステップ503)、当該正弦波通電区間内にある場合(ステップ503:YES)には、第1電流制御部24aにより演算された各相電圧指令値Vu*,Vv*,Vw*を選択する(ステップ504)。そして、上記(4)〜(21)式を用いることにより、そのd/q座標系での電流フィードバック制御の実行により演算された該各相電圧指令値Vu*,Vv*,Vw*に基づく各duty指令値αxを演算する(ステップ505)。
一方、上記ステップ503において、検出されるモータ12の回転角θが、正弦波通電区間内にない場合(ステップ503:NO)には、第2電流制御部24bにより演算された各相電圧指令値Vu**,Vv**,Vw**を選択し(ステップ506)、当該各相電圧指令値Vu**,Vv**,Vw**に基づく各duty指令値αxを演算する(ステップ507)。
そして、本実施形態のマイコン17は、上記ステップ505、又はステップ507において演算された各duty指令値αxに基づきモータ制御信号を生成し、及び駆動回路18への出力を実行することにより(ステップ508)、その部分正弦波通電制御を実行する構成となっている。
以上、本実施形態によれば、次のような作用・効果を得ることができる。
(1)即ち、通電不良の発生がその通電不良発生相に対応するスイッチング素子対のうち何れか一方の故障によるものであれば、他方の故障していない側のスイッチング素子を介して当該通電不良発生相に通電可能な回転角範囲が存在する。そして、その通電可能な回転角範囲は、上記二相駆動時における漸近線に相当する所定の回転角θA,θBの何れか一方に対応した所定の回転角範囲(何れかを中心とした2/3πの範囲)である。従って、上記構成のように、その通電可能な回転角範囲において、通常時と同様、三相に対する正弦波通電を行なうことにより、上記所定の回転角θA,θBに対応して発生するモータトルクの落ち込みのうち、何れか一方については、これを回避することが可能になる。その結果、通電不良発生時におけるモータ回転をより円滑なものとして、更なる操舵フィーリングの改善を図ることができる。
(2)また、特に、ガード処理の実行により各相に対する通電を制限する現実的な構成では、二相駆動時、所定の回転角θA,θBのみならず、その電流制限範囲の全域に亘りモータトルクの落ち込みが生ずることになる(図6参照)。従って、このような構成に適用することにより、より顕著な効果を得ることができる。
なお、本実施形態は以下のように変更してもよい。
・本実施形態では、モータ制御装置としてのECU11は、大別して、「通常制御モード」、「アシスト停止モード」、及び「二相駆動モード」の3つの制御モードを有することとした。しかし、異常発生時におけるモータ制御の形態は、これらのモードに限るものではない。つまり、通電不良相発生時に該通電不良発生相以外の二相を通電相としてモータ制御を実行する構成であれば、どのようなものに適用してもよい。また、異常検出(判定)の方法についても、本実施形態の構成に限るものではない。
・本実施形態では、電流指令値演算部23は、二相駆動時、通電不良発生相以外の二相のうちの一相についての相電流指令値を出力し、モータ制御信号生成部24は、当該相についての相電圧指令値を演算した後に、これに基づいて他相の相電圧指令値を演算することとした。しかし、これに限らず、電流指令値演算部23が、通電不良発生相以外の二相の両方についての相電流指令値を出力する構成としてもよい。
・また、本実施形態では、上記(1)〜(3)式に基づいて、U相又はW相の異常時には、V相の相電流指令値Iv*を演算し、V相の異常時には、U相の相電流指令値Iu*を演算することとした。しかし、これに限らず、U相又はV相の異常時には、W相の相電流指令値(Iw*)を演算し、W相の異常時には、U相の相電流指令値(Iu*)を演算する等の構成としてもよい。尚、この場合における各相電流指令値は、上記(1)〜(3)式の符号を逆にすることで演算可能である。
・更に、通電不良発生時における相電流指令値は、必ずしも上記(1)〜(3)式により演算した場合と完全には同一でなくともよい。即ち、所定の回転角を漸近線として略正割曲線又は略余割曲線状に変化する、或いはこれに近似して変化するような相電流指令値を演算しても、上記各実施形態に近い効果を得ることができる。但し、上記(1)〜(3)式に基づき相電流指令値を演算した場合が、最も要求トルクに近いモータ電流を発生させることが可能であり、該各式に基づき演算される相電流指令値に近い値が演算される方法ほど、より顕著な効果が得られることはいうまでもない。
・更に、電流制御の形態としては、必ずしも、上記各実施形態のような三相交流座標(U,V,W)における相電流フィードバック制御でなくともよい。例えば、以下に示す(22)〜(24)式により、通電不良発生相に応じた所定の回転角θA,θBを漸近線として、正接曲線(タンジェント)状に変化するd軸電流指令値Id*を演算する。そして、該d軸電流指令値Id*に基づくd/q座標系の電流フィードバック制御の実行によりモータ制御信号を生成する構成に適用してもよい(図26参照、同図はU相通電不良時の例)。
・本実施形態では、本発明をラックアシスト型のEPSに具体化したが、所謂コラムアシスト型等、その他型式のEPSに適用してもよい。また、EPS以外の用途に用いられるモータ制御装置に具体化してもよい。
・本実施形態では、マイコン17が、通電不良が何れかのスイッチング素子の故障によるものであるかの判定、及びその故障したスイッチング素子の特定することとしたが、この判定手段としての機能については、マイコン17以外が実行する構成であってもよい。
1…電動パワーステアリング装置(EPS)、10…EPSアクチュエータ、11…ECU、12…モータ、12u,12v,12w…モータコイル、17…マイコン、18…駆動回路、18a〜18f…FET、23…電流指令値演算部、24…モータ制御信号生成部、24a…第1電流制御部、24b…第2電流制御部、30…PWM変換部、31…異常判定部、Ix*,Iu*,Iv*,Iw*…相電流指令値、Ix,Iu,Iv,Iw…相電流値、Vx*,Vu*,Vv*,Vw*,Vu**,Vv**,Vw**…相電圧指令値、Id…d軸電流値、Iq…q軸電流値、Id*…d軸電流指令値、Iq*…q軸電流指令値、θ,θA,θB…回転角。