(57)【要約】実施形態にかかるモータ制御方法は、（Ａ）３個の電流センサＩ１、Ｉ２、Ｉ３を用いて検出したモータＭを流れる三相電流の３つの電流値Ｉａ、Ｉｂ、Ｉｃと、２個の位置センサθ１、θ２を用いて検出したモータＭの２つのロータ角θａ、θｂとを取得し、（Ｂ）３つの電流値Ｉａ、Ｉｂ、Ｉｃのうちの２つの電流値と、２つのロータ角θａ、θｂのうちの１つのロータ角とを用いた演算を６通り行い、（Ｃ）６通りの演算の結果のパターンと故障センサとの関係を示すテーブルを用いて、電流センサおよび位置センサのうちの少なくとも１つの故障センサを特定し、（Ｄ）特定した少なくとも１つの故障センサとは異なるセンサを正常なセンサとして選択し、（Ｅ）選択した正常なセンサを用いてモータＭを制御する。
2018025759.tif 000002
【特許請求の範囲】
【請求項１】
モータを制御する方法であって、
（Ａ）３個の電流センサを用いて検出した前記モータを流れる三相電流の３つの電流値Ｉａ、ＩｂおよびＩｃと、２個の位置センサを用いて検出した前記モータの２つのロータ角θａおよびθｂとを取得し、
（Ｂ）前記３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値と、前記２つのロータ角θａおよびθｂのうちの１つのロータ角とを用いた演算を６通り行い、
（Ｃ）前記６通りの演算の結果のパターンと故障センサとの関係を示すテーブルを用いて、前記電流センサおよび前記位置センサのうちの少なくとも１つの故障センサを特定し、
（Ｄ）前記特定した少なくとも１つの故障センサとは異なるセンサを正常なセンサとして選択し、
（Ｅ）前記選択した正常なセンサを用いて前記モータを制御する、方法。
【請求項２】
前記故障センサが存在している場合、前記６通りの演算のうちの、前記故障センサが検出した電流値またはロータ角を用いる演算の結果は異常を示す、請求項１に記載の方法。
【請求項３】
前記６通りの演算のうちの、前記故障センサとは異なるセンサが検出した電流値およびロータ角を用いる演算の結果は正常を示す、請求項２に記載の方法。
【請求項４】
前記特定する工程（Ｃ）において、
（ｃ１）前記６通りの演算のうちの異常を示した演算結果の全てで用いられた電流値またはロータ角を検出したセンサを、故障センサと特定する、請求項２または３に記載の方法。
【請求項５】
前記２個の位置センサが検出した前記２つのロータ角θａおよびθｂは機械角であり、
前記６通りの演算（Ｂ）のそれぞれにおいて、
前記３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値を用いて電気角θｅｓｔを演算し、
前記２つのロータ角θａおよびθｂのうちの１つを電気角θｅに変換し、
前記電気角θｅｓｔと前記電気角θｅとの差の絶対値が所定値以上である場合に、異常を示すエラー信号を出力する、請求項１から４のいずれかに記載の方法。
【請求項６】
前記電流センサのうちの１つが故障センサであると特定した場合、前記選択する工程（Ｄ）において、
（ｄ１）前記特定された故障した電流センサとは異なる電流センサを正常なセンサとして選択する、請求項１から５のいずれかに記載の方法。
【請求項７】
前記位置センサのうちの１つが故障センサであると特定した場合、前記選択する工程（Ｄ）において、
（ｄ２）前記特定された故障した位置センサとは異なる位置センサを正常なセンサとして選択する、請求項１から６のいずれかに記載の方法。
【請求項８】
前記電流センサおよび前記位置センサの少なくとも１つが故障センサと特定された場合、人間に注意を喚起するための報知信号を生成する、請求項１から７のいずれかに記載の方法。
【請求項９】
前記３個の電流センサのうちの２個が故障センサであると特定した場合、前記モータの駆動を停止する、請求項１から８のいずれかに記載の方法。
【請求項１０】
前記位置センサのうちの全てが故障センサであると特定した場合、前記モータの駆動を停止する、請求項１から９のいずれかに記載の方法。
【請求項１１】
モータと、
前記モータを流れる三相電流の電流値を検出する３個の電流センサと、
前記モータのロータ角を検出する２個の位置センサと、
前記モータを制御する制御回路と、
を備え、
前記制御回路は、
前記３個の電流センサを用いて検出した前記モータを流れる三相電流の３つの電流値Ｉａ、ＩｂおよびＩｃと、前記２個の位置センサを用いて検出した前記モータの２つのロータ角θａおよびθｂとを取得し、
前記３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値と、前記２つのロータ角θａおよびθｂのうちの１つのロータ角とを用いた演算を６通り行い、
前記６通りの演算の結果のパターンと故障センサとの関係を示すテーブルを用いて、前記電流センサおよび前記位置センサのうちの少なくとも１つの故障センサを特定し、
前記特定した少なくとも１つの故障センサとは異なるセンサを正常なセンサとして選択し、
前記選択した正常なセンサを用いて前記モータを制御する、モータ制御システム。
【請求項１２】
請求項１１に記載のモータ制御システムを備える、電動パワーステアリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モータ駆動システムで用いられるモータ制御方法、モータ駆動システムおよび電動パワーステアリングシステムに関する。
【背景技術】
【０００２】
近年、電気駆動システムが様々な応用分野に広く用いられる。電気駆動システムとして、例えばベクトル制御を用いて電動モータ（以下、「モータ」と表記する。）を制御するモータ駆動システムが挙げられる。  【０００３】
モータ駆動システムは、例えば、自動車の電動パワーステアリングシステムにおいて用いられる。電動パワーステアリングシステムは、モータが発生する動力を用いて自動車の運転者のステアリング操作を補助する。そのような電動パワーステアリングシステムに搭載されるモータ駆動システムにおいては、信頼性を高めることが求められている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｂａｓｌｅｒ，  Ｂｒｕｎｏ，  ａｎｄ  Ｔｈｏｍａｓ  Ｇｒｅｉｎｅｒ．  “Ｆａｕｌｔ−Ｔｏｌｅｒａｎｔ  Ｓｔｒａｔｅｇｉｅｓ  ｆｏｒ  Ｅｌｅｃｔｒｏｎｉｃ  Ｐｏｗｅｒ  Ｓｔｅｅｒｉｎｇ  Ｓｙｓｔｅｍｓ  ｕｎｄｅｒ  Ｆｕｎｃｔｉｏｎａｌ  Ｓａｆｅｔｙ  Ｒｅｑｕｉｒｅｍｅｎｔｓ．”、［ｏｎｌｉｎｅ］、［２０１６年７月３１日検索］、インターネット＜ＵＲＬ：ｈｔｔｐｓ：／／ｗｗｗ．ｒｅｓｅａｒｃｈｇａｔｅ．ｎｅｔ／ｐｕｂｌｉｃａｔｉｏｎ／２７１３１８７４１＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
モータのベクトル制御では、幾つかの電流センサおよび位置センサが用いられる方式がある。これらのセンサのいずれかが故障すると、そのモータ駆動システムは正常に動作しない可能性が生じる。そこで、センサの故障を検出した場合は、モータの駆動を停止させることが考えられる。  【０００６】
しかし、電動パワーステアリングシステムにおいてモータの駆動を停止させると、自動車の運転者は、ステアリング操作においてモータによる補助を受けられなくなり不便である。  【０００７】
本開示の実施形態は、センサの故障が発生した場合でもモータの駆動制御を継続させることが可能なモータ制御方法、モータ駆動システムおよび電動パワーステアリングシステムを提供する。
【課題を解決するための手段】
【０００８】
本開示の例示的なモータ制御方法は、（Ａ）３個の電流センサを用いて検出した前記モータを流れる三相電流の３つの電流値Ｉａ、ＩｂおよびＩｃと、２個の位置センサを用いて検出した前記モータの２つのロータ角θａおよびθｂとを取得し、（Ｂ）前記３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値と、前記２つのロータ角θａおよびθｂのうちの１つのロータ角とを用いた演算を６通り行い、（Ｃ）前記６通りの演算の結果のパターンと故障センサとの関係を示すテーブルを用いて、前記電流センサおよび前記位置センサのうちの少なくとも１つの故障センサを特定し、（Ｄ）前記特定した少なくとも１つの故障センサとは異なるセンサを正常なセンサとして選択し、（Ｅ）前記選択した正常なセンサを用いて前記モータを制御する。  【０００９】
本開示の例示的なモータ制御システムは、モータと、前記モータを流れる三相電流の電流値を検出する３個の電流センサと、前記モータのロータ角を検出する２個の位置センサと、前記モータを制御する制御回路とを備え、前記制御回路は、前記３個の電流センサを用いて検出した前記モータを流れる三相電流の３つの電流値Ｉａ、ＩｂおよびＩｃと、前記２個の位置センサを用いて検出した前記モータの２つのロータ角θａおよびθｂとを取得し、前記３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値と、前記２つのロータ角θａおよびθｂのうちの１つのロータ角とを用いた演算を６通り行い、前記６通りの演算の結果のパターンと故障センサとの関係を示すテーブルを用いて、前記電流センサおよび前記位置センサのうちの少なくとも１つの故障センサを特定し、前記特定した少なくとも１つの故障センサとは異なるセンサを正常なセンサとして選択し、前記選択した正常なセンサを用いて前記モータを制御する。
【発明の効果】
【００１０】
本開示の実施形態によると、センサの故障が発生した場合でもモータの駆動制御を継続させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態によるモータ駆動システムのハードウェア構成を模式的に示すブロック図である。
【図２】図２は、実施形態によるモータ駆動システム中のインバータのハードウェア構成を模式的に示すブロック図である。
【図３】図３は、実施形態によるモータ駆動システムのハードウェア構成を模式的に示すブロック図である。
【図４】図４は、実施形態によるコントローラの機能ブロックを模式的に示す図である。
【図５】図５は、実施形態による故障センサ検出および分離ユニットの機能ブロックを模式的に示す図である。
【図６】図６は、実施形態による故障検出ユニットの機能ブロックを模式的に示す図である。
【図７】図７は、実施形態による故障センサの特定に用いるテーブルを示す図である。
【図８】図８は、実施形態による正常なセンサの選択に用いるテーブルを示す図である。
【図９】図９は、実施形態による故障センサの特定に用いるテーブルを示す図である。
【図１０】図１０は、実施形態による正常なセンサの選択に用いるテーブルを示す図である。
【図１１】図１１は、実施形態によるコントローラの機能ブロックを模式的に示す図である。
【図１２】図１２は、実施形態による故障検出ユニットの機能ブロックを模式的に示す図である。
【図１３】図１３は、実施形態による故障センサ検出および分離ユニットの機能ブロックを模式的に示す図である。
【図１４】図１４は、実施形態によるコントローラの機能ブロックを模式的に示す図である。
【図１５】図１５は、実施形態による故障検出ユニットの機能ブロックを模式的に示す図である。
【図１６】図１６は、実施形態による故障センサ検出および分離ユニットの機能ブロックを模式的に示す図である。
【図１７】図１７は、実施形態による故障センサの特定および正常なセンサの選択に用いるテーブルを示す図である。
【図１８】図１８は、実施形態による故障センサの特定および正常なセンサの選択に用いるテーブルを示す図である。
【図１９】図１９は、実施形態による故障センサの特定および正常なセンサの選択に用いるテーブルを示す図である。
【図２０】図２０は、実施形態によるＥＰＳシステムの構成を模式的に示すブロック図である。
【図２１】図２１は、第１事例による３個の電流センサが検出する電流波形を示す図である。
【図２２】図２２は、第１事例による電流Ｉｄの波形を示す図である。
【図２３】図２３は、第１事例による電流Ｉｑの波形を示す図である。
【図２４】図２４は、第１事例による測定した機械角から演算した電気角と推定電気角との差の絶対値で示される電気角θｅｒｒｏｒの波形を示す図である。
【図２５】図２５は、第１事例による２個の位置センサが検出するロータ角の波形を示す図である。
【図２６】図２６は、第１事例によるトルク波形を示す図である。
【図２７】図２７は、第２事例による３個の電流センサが検出する電流波形を示す図である。
【図２８】図２８は、第２事例による電流Ｉｄの波形を示す図である。
【図２９】図２９は、第２事例による電流Ｉｑの波形を示す図である。
【図３０】図３０は、第２事例による測定した機械角から演算した電気角と推定電気角との差の絶対値で示される電気角θｅｒｒｏｒの波形を示す図である。
【図３１】図３１は、第２事例による２個の位置センサが検出するロータ角の波形を示す図である。
【図３２】図３２は、第２事例によるトルク波形を示す図である。
【図３３】図３３は、第３事例による３個の電流センサが検出する電流波形を示す図である。
【図３４】図３４は、第３事例による電流Ｉｄの波形を示す図である。
【図３５】図３５は、第３事例による電流Ｉｑの波形を示す図である。
【図３６】図３６は、第３事例による測定した機械角から演算した電気角と推定電気角との差の絶対値で示される電気角θｅｒｒｏｒの波形を示す図である。
【図３７】図３７は、第３事例による２個の位置センサが検出するロータ角の波形を示す図である。
【図３８】図３８は、第３事例によるトルク波形を示す図である。
【図３９】図３９は、第４事例による３個の電流センサが検出する電流波形を示す図である。
【図４０】図４０は、第４事例による電流Ｉｄの波形を示す図である。
【図４１】図４１は、第４事例による電流Ｉｑの波形を示す図である。
【図４２】図４２は、第４事例による測定した機械角から演算した電気角と推定電気角との差の絶対値で示される電気角θｅｒｒｏｒの波形を示す図である。
【図４３】図４３は、第４事例による２個の位置センサが検出するロータ角の波形を示す図である。
【図４４】図４４は、第４事例によるトルク波形を示す図である。
【図４５】図４５は、第５事例による３個の電流センサが検出する電流波形を示す図である。
【図４６】図４６は、第５事例による電流Ｉｄの波形を示す図である。
【図４７】図４７は、第５事例による電流Ｉｑの波形を示す図である。
【図４８】図４８は、第５事例による測定した機械角から演算した電気角と推定電気角との差の絶対値で示される電気角θｅｒｒｏｒの波形を示す図である。
【図４９】図４９は、第５事例による２個の位置センサが検出するロータ角の波形を示す図である。
【図５０】図５０は、第５事例によるトルク波形を示す図である。
【図５１】図５１は、第６事例による３個の電流センサが検出する電流波形を示す図である。
【図５２】図５２は、第６事例による電流Ｉｄの波形を示す図である。
【図５３】図５３は、第６事例による電流Ｉｑの波形を示す図である。
【図５４】図５４は、第６事例による測定した機械角から演算した電気角と推定電気角との差の絶対値で示される電気角θｅｒｒｏｒの波形を示す図である。
【図５５】図５５は、第６事例による２個の位置センサが検出するロータ角の波形を示す図である。
【図５６】図５６は、第６事例によるトルク波形を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照しながら、本開示のモータ制御方法、モータ駆動システムおよび電動パワーステアリングシステムの実施形態を詳細に説明する。但し、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするため、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。また、以下の説明では、主に電動パワーステアリングシステムに搭載される形態のモータ駆動システムを例示するが、本開示のモータ駆動システムはそれに限定されない。本開示のモータ駆動システムは、電動パワーステアリングシステム以外にも適用可能である。  
【００１３】
〔モータ駆動システム１０００の構成〕
図１は、本実施形態によるモータ駆動システム１０００のハードウェアブロックを模式的に示す。  
【００１４】
モータ駆動システム１０００は典型的に、モータＭと、３個の電流センサＩ１、Ｉ２、Ｉ３と、２個の位置センサθ１、θ２と、コントローラ１００と、駆動回路２００と、インバータ（「インバータ回路」とも称される。）３００と、シャットダウン回路４００と、アナログデジタル変換回路（以下、「ＡＤコンバータ」と表記する。）６００と、報知装置８００と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９００とを有する。  
【００１５】
モータ駆動システム１０００は、例えばパワーパックとしてモジュール化され、モータ、センサ、ドライバおよびコントローラを有するモータモジュールとして製造および販売され得る。なお、本明細書では、構成要素としてモータＭを有するシステムを例に、モータ駆動システム１０００を説明する。ただし、モータ駆動システム１０００は、構成要素としてモータＭを有しない、モータＭを駆動するためのシステムであってもよい。  
【００１６】
モータＭは、例えば、表面磁石型同期型モータ（ＳＰＭＳＭ（Ｓｕｒｆａｃｅ  Ｐｅｒｍａｎｅｎｔ  Ｍａｇｎｅｔ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｍｏｔｏｒ））および埋込磁石型同期型モータ（ＩＰＭＳＭ（Ｉｎｔｅｒｉｏｒ  Ｐｅｒｍａｎｅｎｔ  Ｍａｇｎｅｔ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｍｏｔｏｒ））などの永久磁石同期モータ、あるいは三相交流モータである。モータＭは、例えば三相（Ｕ相、Ｖ相およびＷ相）の巻線（不図示）を有する。三相の巻線は、インバータ３００に電気的に接続される。  
【００１７】
コントローラ１００は、モータ駆動システム１０００全体の動作を制御する制御回路である。コントローラ１００は、例えばマイクロコントロールユニット（ＭＣＵ）である。または、コントローラ１００は、例えば、ＣＰＵコアが組み込まれたフィールドプログラマブルゲートアレイ（ＦＰＧＡ）によっても実現され得る。  
【００１８】
コントローラ１００は、例えばベクトル制御によってモータＭのトルクおよび回転速度を制御する。回転速度は、単位時間（例えば１分間）にロータが回転する回転数（ｒｐｍ）で表される。ベクトル制御は、モータに流れる電流を、トルクを発生する電流成分と、磁束を発生する電流成分とに分解し、互いに直交する各電流成分を独立に制御する方法である。例えば、コントローラ１００は、３個の電流センサＩ１、Ｉ２、Ｉ３によって測定された実電流値、および２個の位置センサθ１、θ２によって測定されたロータ角（すなわち、位置センサθ１、θ２からの出力信号）などに従って目標電流値を設定する。コントローラ１００は、その目標電流値に基づいてＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）信号を生成し、駆動回路２００に出力する。  
【００１９】
コントローラ１００は、３個の電流センサＩ１、Ｉ２、Ｉ３および２個の位置センサθ１、θ２のうちの少なくとも１つに故障が発生した場合、センサ故障が発生したことを検出する。そして、コントローラ１００は、故障したのはどのセンサであるのかを特定（同定：Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）する。故障センサの検出および故障センサの特定の方法の詳細は後述する。コントローラ１００は、故障センサを特定すると、その故障センサとは異なるセンサを正常なセンサとして選択する。そして、その選択した正常なセンサを用いてモータの駆動制御を行う。また、コントローラ１００は、３個の電流センサＩ１、Ｉ２、Ｉ３および２個の位置センサθ１、θ２のうちの少なくとも１つを故障センサと特定した場合、報知信号を報知装置８００に出力する。報知装置８００の動作の詳細は後述する。  
【００２０】
駆動回路２００は、例えばゲートドライバである。駆動回路２００は、インバータ３００におけるスイッチング素子のスイッチング動作を制御する制御信号を、コントローラ１００から出力されるＰＷＭ信号に従って生成する。なお、後述するように、駆動回路２００は、コントローラ１００に実装されていてもよい。  
【００２１】
インバータ３００は、例えばバッテリなどの直流電源（不図示）から供給される直流電力を交流電力に変換し、変換された交流電力でモータＭを駆動する。例えば、インバータ３００は、駆動回路２００から出力される制御信号に基づいて、直流電力を、Ｕ相、Ｖ相およびＷ相の擬似正弦波である三相交流電力に変換する。この変換された三相交流電力でモータＭは駆動される。  
【００２２】
シャットダウン回路４００は、例えば、電界効果トランジスタ（ＦＥＴ、典型的にはＭＯＳＦＥＴ）若しくは絶縁ゲートバイポーラトランジスタ（ＩＧＢＴ）などの半導体スイッチ素子、またはメカニカルリレーを有する。シャットダウン回路４００は、インバータ３００とモータＭとの間に電気的に接続される。コントローラ１００は、所定の個数以上の故障センサを検出した場合、モータの駆動を停止させるためのシャットダウン信号を出力する。シャットダウン回路４００は、コントローラ１００から出力されるシャットダウン信号に応じて、インバータ３００とモータＭとの電気的な接続を遮断する。例えば、シャットダウン信号がアサートされると、シャットダウン回路４００の半導体スイッチ素子がオフされ、インバータ３００とモータＭとの電気的な接続が遮断される。これにより、シャットダウン回路４００は、インバータ３００からモータＭへの電力供給を停止する。  
【００２３】
３個の電流センサＩ１、Ｉ２、Ｉ３は、モータＭを流れる三相電流の電流値を検出する。例えば、電流センサＩ１はＵ相を流れる電流の電流値Ｉａを検出する。電流センサＩ２はＶ相を流れる電流の電流値Ｉｂを検出する。電流センサＩ３はＷ相を流れる電流の電流値Ｉｃを検出する。電流センサは、例えば、シャント抵抗、およびシャント抵抗に流れる電流を検出する電流検出回路（不図示）を有する。シャント抵抗の抵抗値は、例えば０．１Ω程度である。  
【００２４】
ＡＤコンバータ６００は、３個の電流センサＩ１、Ｉ２、Ｉ３から出力されるアナログ信号をサンプリングしてデジタル信号に変換し、この変換したデジタル信号をコントローラ１００に出力する。なお、コントローラ１００がＡＤ変換を行ってもよい。その場合、３個の電流センサＩ１、Ｉ２、Ｉ３は、アナログ信号をコントローラ１００に直接出力する。  
【００２５】
位置センサ（「角度センサ」とも称される。）θ１、θ２は、モータＭに配置され、モータＭのロータ角（ロータ位置）、つまり、ロータの機械角を検出する。２個の位置センサθ１、θ２のそれぞれは、例えばレゾルバ、ロータリエンコーダまたはホールＩＣ（ホール素子を含む）を有する。２個の位置センサθ１、θ２は、ロータの機械角をコントローラ１００に出力する。これにより、コントローラ１００は、ロータの機械角を取得する。  
【００２６】
モータ駆動システム１０００は、２個の位置センサθ１、θ２として、例えば、磁気抵抗（ＭＲ）素子を有する磁気センサ、速度センサまたは加速度センサを有してもよい。速度センサを位置センサとして用いる場合、コントローラ１００は、回転速度信号または角速度信号に積分処理等を行うことでロータの位置、つまり、回転角を取得することができる。角速度は、１秒間にロータが回転する角度（ｒａｄ／ｓ）で表される。位置センサに代えて加速度センサを用いる場合、コントローラ１００は、角加速度信号からロータの位置、つまり、回転角を算出することができる。本明細書において、位置センサとしては、ロータ角を取得するセンサ以外のあらゆるセンサが含まれる。例えば、位置センサには、上述した磁気センサ、速度センサまたは加速度センサが含まれ得る。また、「取得」には、例えば、ロータの機械角を外部から受け取ること、および、コントローラ１００自身がロータの機械角を演算して取得することが含まれる。  
【００２７】
報知装置８００は、例えばＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）を有する。例えば、報知装置８００は、コントローラ１００が報知信号をアサートすると、そのアサートに応答して点灯または点滅する。例えば、モータ駆動システム１０００が自動車に搭載される場合、報知装置８００は、スピードメータおよびタコメータなどの計器と共にダッシュボードのインストルメントパネルに配置され得る。これにより、人間はモータ駆動システムに故障が発生したことを認識することができる。また、報知装置８００はスピーカを有し、音声により人間に警告を発してもよい。また、報知装置８００は表示装置を有し、画像および文字の少なくとも一方を表示することにより人間に警告を発してもよい。また、報知装置８００は、これら光、音、表示を適宜組み合わせて人間に警告を発してもよい。  
【００２８】
ＲＯＭ９００は、例えば書き込み可能なメモリ（例えばＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））、書き換え可能なメモリ（例えばフラッシュメモリ）または読み出し専用のメモリである。ＲＯＭ９００は、コントローラ１００にモータＭを制御させるための命令群を有する制御プログラムを格納する。例えば、制御プログラムはブート時にＲＡＭ（不図示）に一旦展開される。なお、ＲＯＭ９００は、コントローラ１００に外付けされる必要はなく、コントローラ１００に搭載されていてもよい。ＲＯＭ９００を搭載したコントローラ１００は、例えば上述したＭＣＵであり得る。  
【００２９】
図２を参照して、インバータ３００のハードウェア構成の一例を説明する。図２は、本実施形態によるインバータ３００のハードウェア構成を模式的に示す。  
【００３０】
インバータ３００は、３個の下アームのスイッチング素子および３個の上アームのスイッチング素子を有する。図示されるスイッチング素子ＳＷ＿Ｌ１、ＳＷ＿Ｌ２およびＳＷ＿Ｌ３が下アームのスイッチング素子であり、スイッチング素子ＳＷ＿Ｈ１、ＳＷ＿Ｈ２およびＳＷ＿Ｈ３が、上アームのスイッチング素子である。スイッチング素子として、例えばＦＥＴおよびＩＧＢＴを用いることができる。スイッチング素子は、モータＭに向けて流れる回生電流を流す還流ダイオードを有する。  
【００３１】
３個の電流センサＩ１、Ｉ２、Ｉ３は、モータＭを流れる三相電流の電流値を検出することができる位置であれば、任意の位置に配置することができる。この例では、電流センサＩ１、Ｉ２、Ｉ３は、インバータ３００内に配置されるシャント抵抗Ｒｓを含む。電流センサＩ１、Ｉ２、Ｉ３は、Ｕ相、Ｖ相およびＷ相に流れる電流を検出する。すなわち、この例では、いわゆる３シャント方式により、電流検出が行われている。図示されるように、例えばシャント抵抗Ｒｓは、ローサイトスイッチング素子とグランドとの間のローサイド側に電気的に接続され得る。または、例えばシャント抵抗Ｒｓは、ハイサイドスイッチング素子と電源との間のハイサイド側に電気的に接続され得る。  
【００３２】
コントローラ１００は、例えばベクトル制御を用いた三相通電制御を行うことによってモータＭを駆動することができる。例えば、コントローラ１００は、三相通電制御を行うためのＰＷＭ信号を生成し、そのＰＷＭ信号を駆動回路２００に出力する。駆動回路２００は、インバータ３００中の各ＦＥＴのスイッチング動作を制御するゲート制御信号をＰＷＭ信号に基づいて生成し、各ＦＥＴのゲートに与える。  
【００３３】
図３は、本実施形態の変形例によるモータ駆動システム１０００のハードウェアブロックを模式的に示す。図示されるように、モータ駆動システム１０００は、駆動回路２００を有していなくてもよい。その場合、コントローラ１００は、インバータ３００の各ＦＥＴのスイッチング動作を直接制御するポートを有する。具体的に説明すると、コントローラ１００は、ゲート制御信号をＰＷＭ信号に基づいて生成する。コントローラ１００は、そのポートを介してゲート制御信号を出力し、このゲート制御信号を各ＦＥＴのゲートに与えることができる。  
【００３４】
〔故障センサの特定および分離〕
先ず、位置センサの故障を例にして、本開示のセンサ故障を説明する。例えば、自動車の電動パワーステアリング（ＥＰＳ（Ｅｌｅｃｔｒｉｃ  Ｐｏｗｅｒ  Ｓｔｅｅｒｉｎｇ））システム用のモータ駆動システム１０００において、位置センサとして磁気センサが広く用いられる。本実施形態において、磁気センサはＭＲ素子を有する。センサマグネットは、例えば射出成形などによってモータのシャフトに設けられる。また、磁気センサは、例えばモータの回路基板（不図示）に設けられる。シャフトの回転に伴ってセンサマグネットも回転する。そのため、磁気センサは、その磁極の位置変化による磁束の変化を検出することができる。  
【００３５】
通常、センサマグネットはシャフトに強固に固定された状態にある。ただし、自動車等の車両に外部から何らかの強い衝撃（例えば、車両が縁石に乗り上げたときに生じ得る衝撃）が加わると、その衝撃がシャフトに伝わり、センサマグネットが破損または変形してしまうことが起こり得る。または、センサマグネットの取り付け位置がずれてしまうことが起こり得る。破損、変形または位置ずれにより、磁気センサは、ロータの位置を正確に検出することは困難となる。本明細書において、位置センサの故障には、位置センサ自体の故障だけでなく、例えばセンサマグネットの破損も含まれる。また、電流センサの故障は、例えばシャント抵抗の破損である。モータ駆動システム１０００にセンサ故障が生じた場合は、故障したセンサを使用せずにモータ駆動を継続させることが好ましい。  
【００３６】
次に、本実施形態による故障センサの検出、特定および分離のアルゴリズムを説明する。本実施形態による故障センサの特定および分離のアルゴリズムは、例えば特定用途向け集積回路（ＡＳＩＣ）またはＦＰＧＡなどのハードウェアのみで実現することもできるし、ハードおよびソフトウェアの組み合わせによっても実現することができる。  
【００３７】
図４は、コントローラ１００の機能ブロックを模式的に示す。本明細書において、機能ブロック図における各ブロックは、ハードウェア単位ではなく機能ブロック単位で示される。ソフトウェアは、例えば、各機能ブロックに対応した特定の処理を実行させるためのコンピュータプログラムを構成するモジュールであり得る。  
【００３８】
コントローラ１００は、例えば、故障センサ検出および分離ユニット１００Ａおよびベクトル制御ユニット１００Ｂを含む。なお、本明細書において、説明の便宜上、各機能ブロックを「ユニット」と表記することとする。当然に、この表記は、各機能ブロックを、ハードウェアまたはソフトウェアに限定解釈する意図で用いられない。以下、故障センサ検出および分離ユニット１００Ａを検出および分離ユニット１００Ａと称する場合がある。  
【００３９】
電流センサＩ１、Ｉ２、Ｉ３は、モータＭを流れる三相電流の３つの電流値Ｉａ、ＩｂおよびＩｃを検出する。位置センサθ１はモータＭのロータ角θａを検出し、位置センサθ２はモータＭのロータ角θｂを検出する。検出および分離ユニット１００Ａは、３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値と、２つのロータ角θａおよびθｂのうちの１つのロータ角とを用いた演算を６通り行う。そして、その演算結果に基づいて、電流センサＩ１、Ｉ２、Ｉ３および位置センサθ１、θ２のうちの少なくとも１つの故障センサを特定する。例えば、予め演算された６通りの演算の結果と故障センサとの関係を示すテーブルを用いて、故障センサを特定する。そして、故障したセンサを非選択とし、故障センサとは異なるセンサを正常なセンサとして選択する。これらの処理の詳細は後述する。本実施形態において、分離（Ｉｓｏｌａｔｉｏｎ）とは、特定した故障センサを選択しない、すなわち特定した故障センサを使用しないことを意味する。  
【００４０】
ベクトル制御ユニット１００Ｂは、一般的なベクトル制御に必要な演算を行う。なお、ベクトル制御は周知の技術であるので、その制御についての詳細な説明は省略する。  
【００４１】
図５は、検出および分離ユニット１００Ａの機能ブロックを模式的に示す。検出および分離ユニット１００Ａは、６個の故障検出ユニットＦＤ１、ＦＤ２、ＦＤ３、ＦＤ４、ＦＤ５、ＦＤ６と、故障センサ特定および分離ユニット１００Ｃとを含む。以下、故障センサ特定および分離ユニット１００Ｃを特定および分離ユニット１００Ｃと称する場合がある。  
【００４２】
故障検出ユニットＦＤ１−ＦＤ６のそれぞれには、３つの電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値と、２つのロータ角θａおよびθｂのうちの１つのロータ角と、リファレンス電圧が入力される。この例では、故障検出ユニットＦＤ１は電流値Ｉａ、Ｉｂおよびロータ角θａを入力する。故障検出ユニットＦＤ２は電流値Ｉａ、Ｉｂおよびロータ角θｂを入力する。故障検出ユニットＦＤ３は電流値Ｉｂ、Ｉｃおよびロータ角θａを入力する。故障検出ユニットＦＤ４は電流値Ｉｂ、Ｉｃおよびロータ角θｂを入力する。故障検出ユニットＦＤ５は電流値Ｉｃ、Ｉａおよびロータ角θａを入力する。故障検出ユニットＦＤ６は電流値Ｉｃ、Ｉａおよびロータ角θｂを入力する。  
【００４３】
図６は、故障検出ユニットＦＤ１−ＦＤ６の機能ブロックを模式的に示す。故障検出ユニットＦＤ１−ＦＤ６の機能ブロック構造は同じであり、入力する電流値およびロータ角の組み合わせが互いに異なる。  
【００４４】
故障検出ユニットＦＤ１−ＦＤ６のそれぞれは、三相電流演算ユニット１１０、クラーク変換ユニット１１１、角度変換ユニット１２０、クラーク変換ユニット１３０、磁束演算ユニット１４０、ロータ角演算ユニット１４１、減算ユニット１４３、最大許容ロータ角ユニット１４４およびレベル比較ユニット１５０を含む。  
【００４５】
各機能ブロックがソフトウェアとしてコントローラ１００に実装される場合、そのソフトウェアの実行主体は、例えばコントローラ１００のコアであり得る。上述したように、コントローラ１００は、ＦＰＧＡによっても実現され得る。その場合、全てまたは一部の機能ブロックは、ハードウェアで実現され得る。また、複数のＦＰＧＡを用いて処理を分散させることにより、特定のコンピュータの演算負荷を分散させることができる。その場合、図５および図６に示される機能ブロックの全てまたは一部は、その複数のＦＰＧＡに分散して実装され得る。複数のＦＰＧＡは、例えば車載のコントロールエリアネットワーク（ＣＡＮ）によって互いに接続され、データの送受信を行うことができる。  
【００４６】
三相電流演算ユニット１１０は、電流値Ｉａ、ＩｂおよびＩｃのうちの２つの電流値を受け取って残りの１つの電流値を演算により求める。三相通電制御において、各相を流れる電流の値の総和はゼロになる。すなわち、電流値Ｉａ、ＩｂおよびＩｃの総和はゼロになる関係が満たされる。この関係を用いて、２つの電流値から残りの１つの電流値を演算により求めることができる。これにより、電流値Ｉａ、ＩｂおよびＩｃが取得される。三相電流演算ユニット１１０は、電流値Ｉａ、ＩｂおよびＩｃをクラーク変換ユニット１１１に出力する。  
【００４７】
クラーク変換ユニット１１１は、ベクトル制御などに用いられるいわゆるクラーク変換を用いて、三相電流演算ユニット１１０から出力された電流値Ｉａ、ＩｂおよびＩｃを、αβ固定座標系における、α軸上の電流値Ｉαおよびβ軸上の電流値Ｉβに変換する。ここで、αβ固定座標系は静止座標系であり、三相のうちの一相の方向（例えばＵ相方向）がα軸であり、α軸と直交する方向がβ軸である。クラーク変換ユニット１１１は、電流値Ｉα、Ｉβを、磁束演算ユニット１４０に出力する。  
【００４８】
クラーク変換ユニット１３０は、クラーク変換ユニット１１１と同様にクラーク変換を用いて、リファレンス電圧Ｖａ*、Ｖｂ*およびＶｃ*を、αβ固定座標系における、α軸上のリファレンス電圧Ｖα*およびβ軸上のリファレンス電圧Ｖβ*に変換する。リファレンス電圧Ｖａ*、Ｖｂ*およびＶｃ*は、インバータ３００の各スイッチング素子を制御するための、上述したＰＷＭ信号を表す。クラーク変換ユニット１３０は、リファレンス電圧Ｖα*、Ｖβ*を磁束演算ユニット１４０に出力する。  
【００４９】
磁束演算ユニット１４０は、電流値Ｉα、Ｉβおよびリファレンス電圧Ｖα*、Ｖβ*を用いて、αβ固定座標系における、磁束ΨαおよびΨβを演算する。例えば、下記式（１）および式（２）に示す（Ｖα*−ＲＩα）および（Ｖβ*−ＲＩβ）に対して、それぞれローパスフィルタによる処理を行うことにより、磁束ΨαおよびΨβを求めることができる。なお、式（１）および式（２）において、ＬＰＦはローパスフィルタによる処理を行うことを意味する。
Ψα＝ＬＰＦ（Ｖα*−ＲＩα）              式（１）
Ψβ＝ＬＰＦ（Ｖβ*−ＲＩβ）              式（２）
【００５０】
ここで、Ｒは電機子抵抗である。電機子抵抗Ｒは、例えばコントローラ１００のコアによって磁束演算ユニット１４０に設定される。錯交磁束Ψは、下記式（３）で表される。  Ψ＝（Ψα2＋Ψβ2）1/2                    式（３）  磁束演算ユニット１４０は、磁束ΨαおよびΨβをロータ角演算ユニット１４１に出力する。  
【００５１】
ロータ角演算ユニット１４１は、磁束ΨαおよびΨβを用いて、推定電気角θｅｓｔを演算する。例えば、下記式（４）、式（５）および式（６）の演算を行って推定電気角θｅｓｔを求める。
ρ＝ｔａｎ-1（Ψβ／Ψα）                  式（４）
δ＝ｔａｎ-1（ＬｑＩｑ／Ψ）                式（５）
θｅｓｔ＝ρ＋δ                            式（６）
【００５２】
ここで、Ｉｑはｄｑ回転座標系のｑ軸上の電流値であり、Ｌｑはｄｑ回転座標系におけるｑ軸上の電機子インダクタンスである。ρは位相角であり、δは負荷角である。ロータ角演算ユニット１４１は、推定電気角θｅｓｔを減算ユニット１４３に出力する。  
【００５３】
角度変換ユニット１２０は、位置センサθ１、θ２で測定されたロータの機械角θａまたはθｂを電気角θｅに変換する。例えば、下記式（７）の演算を行って電気角θｅを求める。
θｅ＝（Ｐ／２）・θｍ                      式（７）
【００５４】
ここで、Ｐは極数であり、θｍは機械角θａまたはθｂである。角度変換ユニット１２０は、電気角θｅを減算ユニット１４３に出力する。  
【００５５】
減算ユニット１４３は、下記式（８）に示すように、推定電気角θｅｓｔと電気角θｅとの差の絶対値で示される電気角θｅｒｒｏｒを求める。
θｅｒｒｏｒ＝｜θｅｓｔ−θｅ｜            式（８）
【００５６】
減算ユニット１４３は、電気角θｅｒｒｏｒをレベル比較ユニット１５０に出力する。  
【００５７】
最大許容ロータ角ユニット１４４は、予め定められた所定値である最大許容ロータ角Ｅｒｒｏｒｍａｘを保持しており、その最大許容ロータ角をレベル比較ユニット１５０に出力する。演算に用いる電流値およびロータ角を検出するセンサのいずれにも故障が生じていないときは、モータＭを流れる電流の値から演算した推定電気角θｅｓｔと、測定した機械角から演算した電気角θｅとは、理想的には同じ値になる。すなわち、電気角θｅｒｒｏｒは、理想的にはゼロとなる。しかし、実際には多少の誤差が生じ、電気角θｅｒｒｏｒはゼロよりも大きな値になり得る。本実施形態ではこれを考慮し、最大許容ロータ角Ｅｒｒｏｒｍａｘを任意の値に設定する。例えば、最大許容ロータ角Ｅｒｒｏｒｍａｘは４度に設定され得るが、これに限定されない。演算に用いる電流値およびロータ角を検出するセンサのいずれにも故障が生じていないときは、電気角θｅｒｒｏｒは最大許容ロータ角Ｅｒｒｏｒｍａｘ未満の値となる。  
【００５８】
レベル比較ユニット１５０は、電気角θｅｒｒｏｒと最大許容ロータ角Ｅｒｒｏｒｍａｘとの間のレベル比較を行う。レベル比較ユニット１５０は、電気角θｅｒｒｏｒが最大許容ロータ角Ｅｒｒｏｒｍａｘと等しいかまたは最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きいとき、センサ故障を示すエラー信号を出力する。  
【００５９】
演算に用いる電流値およびロータ角を検出するセンサのうちの少なくともの１つのセンサに故障が発生したときは、モータＭを流れる電流の値から演算した推定電気角θｅｓｔと、測定した機械角から演算した電気角θｅとは、互いに異なる値になる。すなわち、電気角θｅｒｒｏｒはゼロよりも大きな値となる。この電気角θｅｒｒｏｒと所定値である最大許容ロータ角Ｅｒｒｏｒｍａｘを比較し、電気角θｅｒｒｏｒがその所定値（例えば４度）以上である場合に、エラー信号を出力する。エラー信号は、例えばデジタル信号である。例えば、センサ故障を示すエラー信号レベルを「１」に、センサ故障を示さないエラー信号レベルを「０」に割り当てることができる。この割り当ての例では、エラー信号は、正常時には「０」であり、センサ故障が発生すると「１」にアサートされる。  
【００６０】
図５を参照して、特定および分離ユニット１００Ｃは、６個の故障検出ユニットＦＤ１−ＦＤ６が行った６通りの演算の結果に基づいて、電流センサＩ１、Ｉ２、Ｉ３および位置センサθ１、θ２のうちの少なくとも１つの故障センサを特定する。例えば、特定および分離ユニット１００Ｃは、予め演算された６通りの演算の結果を含む参照パターンと故障センサとの関係を示すテーブルを用いて、故障センサを特定する。  
【００６１】
図７は、一例として、故障センサの特定に用いるテーブル１を示す。特定および分離ユニット１００Ｃは、６個の故障検出ユニットＦＤ１−ＦＤ６それぞれからのエラー信号「１」の出力の有無を検出する。テーブルでは、エラー信号「１」の出力有りを「×」で示し、エラー信号「１」の出力無しを「○」で示している。  
【００６２】
電流センサＩ１、Ｉ２、Ｉ３および位置センサθ１、θ２の全てが正常である場合は、故障検出ユニットＦＤ１−ＦＤ６の全てにおいて「○」となる。これにより特定および分離ユニット１００Ｃは、センサ故障が発生していないことを検出できる。テーブルにおけるＦＤ１からＦＤ６までの列方向のパターンを本明細書では参照パターンと呼ぶ。参照パターン「○○○○○○」に該当するとき、センサ故障が発生していないことを検出できる。  
【００６３】
例えば、故障検出ユニットＦＤ２、ＦＤ４、ＦＤ６が「○」となり、故障検出ユニットＦＤ１、ＦＤ３、ＦＤ５が「×」となった場合は、特定および分離ユニット１００Ｃは、故障センサは位置センサθ１であることを特定することができる。すなわち、参照パターン「×○×○×○」に該当するとき、故障センサは位置センサθ１であることを特定することができる。  
【００６４】
また、例えば、故障検出ユニットＦＤ３、ＦＤ４が「○」となり、故障検出ユニットＦＤ１、ＦＤ２、ＦＤ５、ＦＤ６が「×」となった場合は、故障センサは電流センサＩ１であることを特定することができる。また、例えば、故障検出ユニットＦＤ６が「○」となり、故障検出ユニットＦＤ１−ＦＤ５が「×」となった場合は、故障センサは電流センサＩ２および位置センサθ１であることを特定することができる。  
【００６５】
図６を参照して説明したように、故障検出ユニットＦＤ１−ＦＤ６のそれぞれは、演算に用いる電流値およびロータ角を検出するセンサのうちの少なくともの１つのセンサに故障が発生したときは、異常を示すエラー信号「１」を出力する。言い換えると、故障センサが存在している場合、故障検出ユニットＦＤ１−ＦＤ６の６通りの演算のうちの、故障センサが検出した電流値またはロータ角を用いる演算の結果は異常を示す。また、故障検出ユニットＦＤ１−ＦＤ６の６通りの演算のうちの、故障センサとは異なるセンサが検出した電流値およびロータ角を用いる演算の結果は正常となる。  
【００６６】
テーブル１から分かるように、故障センサの測定値は、故障検出ユニットＦＤ１−ＦＤ６の６通りの演算のうちの異常を示した演算の全てで用いられている。例えば、位置センサθ１が故障センサである場合、位置センサθ１の測定値を用いる故障検出ユニットＦＤ１、ＦＤ３、ＦＤ５の演算結果は異常となり、位置センサθ１の測定値を用いない故障検出ユニットＦＤ２、ＦＤ４、ＦＤ６の演算結果は正常となる。すなわち、６通りの演算のうちの異常を示した演算の全てで用いられた測定値を検出したセンサを、故障センサと特定することができる。  
【００６７】
次に、特定および分離ユニット１００Ｃは、特定した少なくとも１つの故障センサとは異なるセンサを正常なセンサとして選択する。図８は、一例として、正常なセンサの選択に用いるテーブル２を示す。テーブル２に示す「○」と「×」のパターンは、テーブル１と同じである。  
【００６８】
電流センサのうちの１つが故障センサであると特定した場合、特定および分離ユニット１００Ｃは、特定された故障した電流センサとは異なる電流センサを正常なセンサとして選択する。例えば、参照パターン「××○○××」に該当するとき、故障センサは電流センサＩ１であることを特定することができる。同時に、電流センサＩ１以外のセンサは正常であることが分かる。この場合、特定および分離ユニット１００Ｃは、電流センサＩ１は選択せず、残りの電流センサＩ２、Ｉ３を選択する。  
【００６９】
また、位置センサのうちの１つが故障センサであると特定した場合、特定および分離ユニット１００Ｃは、特定された故障した位置センサとは異なる位置センサを正常なセンサとして選択する。例えば、参照パターン「○×○×○×」に該当するとき、故障センサは位置センサθ２であることを特定することができる。同時に、位置センサθ２以外のセンサは正常であることが分かる。この場合、特定および分離ユニット１００Ｃは、位置センサθ２は選択せず、残りの位置センサθ１を選択する。  
【００７０】
例えば、参照パターン「×××××○」に該当するとき、故障センサは電流センサＩ２および位置センサθ１であることを特定することができる。同時に、電流センサＩ２および位置センサθ１以外のセンサは正常であることが分かる。この場合、特定および分離ユニット１００Ｃは、電流センサＩ２および位置センサθ１は選択せず、残りの電流センサＩ１、Ｉ３および位置センサθ２を選択する。  
【００７１】
ベクトル制御を用いた三相通電制御を行うことによってモータを駆動する場合、２個の電流センサおよび１個の位置センサを用いることができれば、モータの制御を正常に行うことができる。このため、選択した電流センサおよび位置センサを用いて、モータの駆動制御を継続することができる。  
【００７２】
特定および分離ユニット１００Ｃは、選択するセンサを示すセンサ選択信号を生成し、ベクトル制御ユニット１００Ｂ（図４）に出力する。ベクトル制御ユニット１００Ｂは、センサ選択信号に基づいて、故障センサの出力信号は選択せずに、故障センサとは異なるセンサの出力信号を選択する。ベクトル制御ユニット１００Ｂは、選択したセンサの出力信号を用い、駆動回路２００を介してモータＭの駆動制御を実行する。  
【００７３】
特定および分離ユニット１００Ｃは、電流センサおよび位置センサの少なくとも１つが故障センサと特定された場合、人間に注意を喚起するための報知信号を生成する。特定および分離ユニット１００Ｃは、報知信号を報知装置８００（図１）に出力する。上述したように、報知装置８００は、例えば、光、音、表示の少なくとも１つを用いて、人間に注意を喚起する。これにより、人間はモータ駆動システムに故障が発生したこと、より詳細にはセンサ故障が発生したことを認識することができる。  
【００７４】
本実施形態では、センサ故障が発生した場合でも、残りの正常なセンサを用いてモータＭの駆動制御を継続することができる。しかし、故障センサはそのまま放置することなく、正常なセンサに交換することが好ましい。人間は、報知装置８００の動作により、センサの交換が必要となったことを認識することができる。  
【００７５】
次に、所定の個数以上の故障センサを検出した場合に、モータＭの駆動を停止させる動作を説明する。  
【００７６】
上記の例では、センサ故障が発生した場合でも、残りの正常なセンサを用いてモータＭの駆動制御を継続していた。しかし、３個の電流センサのうちの２個が故障した場合、あるいは２個の位置センサの全てが故障した場合は、本開示ではモータＭの駆動を停止させる。  
【００７７】
図９は、一例として、故障センサの特定に用いるテーブル３を示す。図１０は、一例として、正常なセンサの選択に用いるテーブル４を示す。電流センサＩ１、Ｉ２、Ｉ３のうちの２個が故障した場合、あるいは位置センサθ１、θ２の両方が故障した場合は、故障検出ユニットＦＤ１−ＦＤ６の全てにおいて「×」となる。この場合は、本開示ではセンサの選択は行わずに、モータＭの駆動を停止させる。特定および分離ユニット１００Ｃは、シャットダウン信号を生成し、シャットダウン回路４００（図１）に出力する。シャットダウン回路４００は、シャットダウン信号に応じて、インバータ３００とモータＭとの電気的な接続を遮断する。これにより、インバータ３００からモータＭへの電力供給は停止する。同時に、特定および分離ユニット１００Ｃは、人間に注意を喚起するための報知信号を生成する。特定および分離ユニット１００Ｃは、報知信号を報知装置８００（図１）に出力する。上述したように、報知装置８００は、例えば、光、音、表示の少なくとも１つを用いて、人間に注意を喚起する。これにより、人間はモータ駆動システムに故障が発生したこと、より詳細にはモータＭの駆動が停止したことを認識することができる。電動パワーステアリングシステムにおいては、自動車の運転者は、ステアリング操作を補助するモータが停止したことを認識することができる。運転者は報知装置８００による注意喚起に従って、例えば路肩に自動車を停止させることができる。  
【００７８】
上述の実施形態では、検出および分離ユニット１００Ａは、モータＭの駆動中は常に演算を行っていた。しかし、コントローラ１００がセンサ故障を検出する演算ユニットを含み、センサ故障の発生が検出されてから、検出および分離ユニット１００Ａは演算を開始してもよい。  
【００７９】
図１１は、本実施形態の変形例によるコントローラ１００の機能ブロックを模式的に示す。図１１に示す例では、コントローラ１００は故障検出ユニット１００Ｄを含む。分かり易く説明するために、図１１ではベクトル制御ユニット１００Ｂ（図４）の図示を省略しているが、コントローラ１００にはベクトル制御ユニット１００Ｂも含まれる。図１２は、故障検出ユニット１００Ｄの機能ブロックを模式的に示す。図１３は、検出および分離
ユニット１００Ａの機能ブロックを模式的に示す。  
【００８０】
図１２を参照して、故障検出ユニット１００Ｄは、減算ユニット１６１、閾値ユニット１６２、レベル比較ユニット１６３、加算ユニット１７１、閾値ユニット１７２、レベル比較ユニット１７３、ＯＲ演算ユニット１８０を含む。  
【００８１】
減算ユニット１６１は、２個の位置センサθ１およびθ２が検出したロータ角θａとロータ角θｂとの差の絶対値を求める。２個の位置センサθ１、θ２の両方が正常である場合、ロータ角θａ、θｂは実質的に同じ値になる。このため、ロータ角θａとロータ角θｂとの差の絶対値は実質的にゼロになる。一方、２個の位置センサθ１、θ２のうちの少なくとも１つが故障した場合、ロータ角θａ、θｂは互いに異なる値となる。このため、ロータ角θａとロータ角θｂとの差の絶対値はゼロ以外の値になる。減算ユニット１６１はロータ角θａとロータ角θｂとの差の絶対値をレベル比較ユニット１６３に出力する。閾値ユニット１６２は、予め決められた閾値を保持しており、その閾値をレベル比較ユニット１６３に出力する。閾値ユニット１６２が保持する閾値は任意の値に設定される。その閾値は例えば４度であるが、これに限定されない。  
【００８２】
レベル比較ユニット１６３は、ロータ角θａとロータ角θｂとの差の絶対値と閾値とを比較する。レベル比較ユニット１６３は、その絶対値が閾値以上であるとき、センサ故障を示すエラー信号をＯＲ演算ユニット１８０に出力する。その絶対値が閾値未満であるときは、エラー信号は出力しない。  
【００８３】
加算ユニット１７１は、３個の電流センサＩ１、Ｉ２、Ｉ３が検出した電流値Ｉａ、Ｉｂ、Ｉｃの和を演算する。３個の電流センサＩ１、Ｉ２、Ｉ３の全てが正常である場合、それら３個の電流センサが検出した電流値の和は実質的にゼロになる。一方、３個の電流センサＩ１、Ｉ２、Ｉ３のうちの少なくとも１つが故障した場合、３個の電流センサが検出した電流値の和はゼロとは異なる値になる。加算ユニット１７１は、電流値Ｉａ、Ｉｂ、Ｉｃの和の演算結果をレベル比較ユニット１７３に出力する。閾値ユニット１７２は、予め決められた閾値を保持しており、その閾値をレベル比較ユニット１７３に出力する。閾値ユニット１７２が保持する閾値は任意の値に設定される。  
【００８４】
レベル比較ユニット１７３は、電流値の和の値と閾値とを比較する。レベル比較ユニット１７３は、その和の値が閾値以上であるとき、センサ故障を示すエラー信号をＯＲ演算ユニット１８０に出力する。その和の値が閾値未満であるときは、エラー信号は出力しない。  
【００８５】
ＯＲ演算ユニット１８０は、レベル比較ユニット１６３および１７３の少なくとも一方からエラー信号が入力されると、センサ故障フラグを検出および分離ユニット１００Ａに出力する。検出および分離ユニット１００Ａは、センサ故障フラグを受け取ると、故障センサの検出、特定、分離の処理を実行する。検出および分離ユニット１００Ａが実行する処理の詳細は上述したとおりである。このように、故障検出ユニット１００Ｄがセンサ故障の発生を検出した場合に、検出および分離ユニット１００Ａの演算を開始することにより、コントローラ１００の消費電力を低減することができる。  
【００８６】
また、故障検出ユニット１００ＤはＯＲ演算ユニット１８０を含んでいなくてもよい。図１４は、コントローラ１００の機能ブロックを模式的に示す。分かり易く説明するために、図１１ではベクトル制御ユニット１００Ｂ（図４）の図示を省略しているが、コントローラ１００にはベクトル制御ユニット１００Ｂも含まれる。図１５は、故障検出ユニット１００Ｄの機能ブロックを模式的に示す。図１６は、検出および分離ユニット１００Ａの機能ブロックを模式的に示す。  
【００８７】
図１５に示す例では、レベル比較ユニット１６３は、ロータ角θａとロータ角θｂとの差の絶対値と閾値とを比較する。レベル比較ユニット１６３は、その絶対値が閾値以上であるとき、位置センサ故障フラグを検出および分離ユニット１００Ａに出力する。その絶対値が閾値未満であるときは、位置センサ故障フラグは出力しない。レベル比較ユニット１７３は、電流値の和の値と閾値とを比較する。レベル比較ユニット１７３は、その和の値が閾値以上であるとき、電流センサ故障フラグを検出および分離ユニット１００Ａに出力する。その和の値が閾値未満であるときは、電流センサ故障フラグは出力しない。  
【００８８】
検出および分離ユニット１００Ａは、位置センサ故障フラグおよび電流センサ故障フラグの少なくとも一方を受け取ると、故障センサの検出、特定、分離の処理を実行する。検出および分離ユニット１００Ａが実行する処理の詳細は上述したとおりである。また、この例では、検出および分離ユニット１００ＡがＯＲ演算ユニット１８０（図１２）を有していてもよい。このように、故障検出ユニット１００Ｄがセンサ故障の発生を検出した場合に、検出および分離ユニット１００Ａの演算を開始することにより、コントローラ１００の消費電力を低減することができる。  
【００８９】
また、この例では、故障検出ユニット１００Ｄの演算により、電流センサと位置センサのどちらで故障が発生しているのかについては特定することができる。このため、検出および分離ユニット１００Ａが用いるテーブルは、電流センサの故障および位置センサの故障のいずれかに限定したテーブルを用いてもよい。  
【００９０】
例えば、検出および分離ユニット１００Ａは、位置センサ故障フラグを受け取った場合、図１７に示すテーブル５を用いて、故障した位置センサの特定と分離を行うことができる。また、検出および分離ユニット１００Ａは、電流センサ故障フラグを受け取った場合、図１８に示すテーブル６を用いて、故障した電流センサの特定と分離を行うことができる。また、検出および分離ユニット１００Ａは、位置センサ故障フラグおよび電流センサ故障フラグの両方を受け取った場合、図１９に示すテーブル７を用いて、故障した位置センサおよび電流センサの特定と分離を行うことができる。このように特定のセンサ故障に限定したテーブルを用いることで、コントローラ１００の演算負荷を低減することができる。  
【００９１】
次に、電動パワーステアリングシステム（ＥＰＳ）について説明する。自動車等の車両は一般に、ＥＰＳシステムを有する。ＥＰＳシステムは、運転者がステアリングハンドルを操作することによって発生するステアリングシステムの操舵トルクを補助する補助トルクを生成する。補助トルクは、補助トルク機構によって生成される。補助トルクによって、運転者の操作の負担が軽減する。例えば、補助トルク機構は、操舵トルクセンサ、自動車用電子制御ユニット（ＥＣＵ：Ｅｌｅｃｔｒｉｃａｌ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）、モータおよび減速機構などから構成される。操舵トルクセンサは、ステアリングシステムにおける操舵トルクを検出する。ＥＣＵは、操舵トルクセンサの検出信号に基づいて駆動信号を生成する。モータは、駆動信号に基づいて操舵トルクに応じた補助トルクを生成する。モータは、減速機構を介してステアリングシステムに、生成した補助トルクを伝達する。  
【００９２】
ＥＣＵは、コントローラ、電源、入出力回路、ＡＤコンバータ、負荷駆動回路およびＲＯＭなどを有する。例えば、そのコントローラは、上述のコントローラ１００に対応する回路であり、その負荷駆動回路は、上述の駆動回路２００に対応する回路である。自動車ではＥＣＵを核とした電子制御システムが構築される。  
【００９３】
図２０は、本実施形態によるＥＰＳシステム２０００の典型的な構成を模式的に示す。  
【００９４】
自動車等の車両は一般に、ＥＰＳシステムを有する。本実施形態によるＥＰＳシステム２０００は、ステアリングシステム５２０、および補助トルクを生成する補助トルク機構５４０を有する。ＥＰＳシステム２０００は、運転者がステアリングハンドルを操作することによって発生するステアリングシステムの操舵トルクを補助する補助トルクを生成する。補助トルクにより、運転者の操作の負担は軽減される。  
【００９５】
ステアリングシステム５２０は、例えば、ステアリングハンドル５２１、ステアリングシャフト５２２、自在軸継手５２３Ａ、５２３Ｂ、回転軸５２４、ラックアンドピニオン機構５２５、ラック軸５２６、左右のボールジョイント５５２Ａ、５５２Ｂ、タイロッド５２７Ａ、５２７Ｂ、ナックル５２８Ａ、５２８Ｂ、および左右の操舵車輪５２９Ａ、５２９Ｂなどを有する。  
【００９６】
補助トルク機構５４０は、例えば、操舵トルクセンサ５４１、自動車用電子制御ユニット（ＥＣＵ）５４２、モータ５４３および減速機構５４４などを有する。操舵トルクセンサ５４１は、ステアリングシステム５２０における操舵トルクを検出する。ＥＣＵ５４２は、操舵トルクセンサ５４１の検出信号に基づいて駆動信号を生成する。モータ５４３は、駆動信号に基づいて操舵トルクに応じた補助トルクを生成する。モータ５４３は、減速機構５４４を介してステアリングシステム５２０に、生成した補助トルクを伝達する。
【００９７】
ＥＣＵ５４２は、例えば、上述のコントローラ１００および駆動回路２００などを有する。自動車ではＥＣＵを核とした電子制御システムが構築される。ＥＰＳシステム２０００では、例えば、ＥＣＵ５４２、モータ５４３およびインバータ５４５によって、モータ駆動システムが構築される。そのモータ駆動システムとして、モータ駆動システム１０００を好適に用いることができる。  
【００９８】
以下に、本実施形態による故障センサの検出、特定、分離に用いられるアルゴリズムの妥当性を、ＭａｔｈＷｏｒｋｓ社のＭａｔｌａｂ／Ｓｉｍｕｌｉｎｋを用いて検証した結果を示す。この検証には、表面磁石型（ＳＰＭ）モータのモデルが用いられた。表１には、検証時の各種システムパラメータの値が示される。また、この検証モデルでは、ＳＰＭモータはベクトル制御により制御される。表２には、そのベクトル制御に用いられる変数が示される。  
【００９９】
【表１】
2018025759.tif 000003
【０１００】
【表２】
2018025759.tif 000004
【０１０１】
〔電流センサの故障〕
図２１から図２６を参照して、３個の電流センサＩ１、Ｉ２、Ｉ３のうちの１つに故障が発生するときのシミュレーション結果を説明する。以下、このセンサ故障が発生する事例を「第１事例」と表記する。  
【０１０２】
図２１は、第１事例による、３個の電流センサＩ１、Ｉ２、Ｉ３が検出する電流波形を示す。図２１の縦軸は電流（Ａ）を示し、横軸は時間（ｓ）を示す。以下、図２１から図５６に示されるシミュレーション波形において、横軸は時間（ｓ）を示し、各図は０秒から０．５秒の期間の波形を示している。  
【０１０３】
図２２は、第１事例による、電流Ｉｄの波形を示す。図２３は、第１事例による、電流Ｉｑの波形を示す。図２２および図２３のそれぞれの縦軸は電流（Ａ）を示す。  
【０１０４】
図２４は、第１事例による、測定した機械角から演算した電気角θｅと推定電気角θｅｓｔとの差の絶対値で示される電気角θｅｒｒｏｒの波形を示す。図２４の縦軸は電気角を示す。  
【０１０５】
図２４中の「Ｄｉｆｆｅｒｅｎｃｅ  ｂｅｔｗｅｅｎ  Ｓｅｎｓｏｒ  ａｎｄ  Ｓｅｎｓｏｒｌｅｓｓ」は、電気角θｅｒｒｏｒの波形を示す。「Ｍａｘｉｍｕｍ  Ａｃｃｅｐｔａｂｌｅ  Ｄｉｆｆｅｒｎｃｅ」は、閾値である最大許容ロータ角Ｅｒｒｏｒｍａｘを示す。以下の図３０、３６、４２、４８、５４においても同様である。  
【０１０６】
図２５は、第１事例による、２個の位置センサθ１、θ２が検出するロータ角の波形を示す。図２５の縦軸はロータの機械角を示す。  
【０１０７】
図２６は、第１事例による、トルク波形を示す。図２６の縦軸はトルク（Ｎ・ｍ）を示す。  
【０１０８】
この第１事例では、電流値Ｉａを検出する電流センサＩ１とモータ駆動システム１０００との電気的な接続が、時刻０．４ｓで切断される。この切断は、電流値Ｉａを検出する電流センサＩ１が時刻０．４ｓで故障することを意味する。図２１に示す例では、時刻０．４ｓ以降の電流値Ｉａはゼロとなる。  
【０１０９】
図２４に示されるように、故障が発生する時刻０．４ｓまでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲にある。しかし、故障が発生すると、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。また、図２６に示されるように、トルクの変動幅も大きくなっている。  
【０１１０】
なお、この例では、図２４に示すように、時刻０．２５ｓにおいて電気角θｅｒｒｏｒが大きな値になっている。これは、時刻０．２５ｓにおいてトルクが変動したことに起因するものであり、センサ故障としては検出しない。例えば、電流値Ｉａ、Ｉｂ、Ｉｃの和が実質的にゼロになること、およびロータ角θａ、θｂが実質的に等しい値になることを検出することにより、センサ故障の発生ではないことを把握することができる。以下に説明する波形においても、同様に、時刻０．２５ｓにおける波形の変動はトルクが変動したことに起因するものであり、センサ故障としては検出しない。  
【０１１１】
図２７から図３２は、３個の電流センサＩ１、Ｉ２、Ｉ３のうちの１つに故障が発生したときに、その故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続するときのシミュレーション結果を示す。以下、このモータ駆動を継続する事例を「第２事例」と表記する。  
【０１１２】
図２７は、第２事例による、電流センサＩ１、Ｉ２、Ｉ３が検出する電流波形を示す。図２７の縦軸は電流（Ａ）を示す。  
【０１１３】
図２８は、第２事例による、電流Ｉｄの波形を示す。図２９は、第１事例による、電流Ｉｑの波形を示す。図２８および図２９のそれぞれの縦軸は電流（Ａ）を示す。  
【０１１４】
図３０は、第２事例による、測定した機械角から演算した電気角θｅと推定電気角θｅｓｔとの差の絶対値で示される電気角θｅｒｒｏｒの波形を示す。図３０の縦軸は電気角を示す。  
【０１１５】
図３１は、第２事例による、２個の位置センサθ１、θ２が検出するロータ角の波形を示す。図３１の縦軸はロータの機械角を示す。  
【０１１６】
図３２は、第２事例による、トルク波形を示す。図３２の縦軸はトルク（Ｎ・ｍ）を示す。  
【０１１７】
この第２事例では、第１事例と同様に、電流値Ｉａを検出する電流センサＩ１とモータ駆動システム１０００との電気的な接続が、時刻０．４ｓで切断される。  
【０１１８】
図３０に示されるように、故障が発生する時刻０．４ｓでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。しかし、その後、その故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続することにより、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲に短時間で収まっていることが分かる。また、図３２に示されるように、トルクの変動も小さいことが分かる。  
【０１１９】
〔位置センサの故障〕
図３３から図３８を参照して、２個の位置センサθ１、θ２のうちの１つにセンサ故障が発生するときのシミュレーション結果を説明する。以下、このセンサ故障が発生する事例を「第３事例」と表記する。  
【０１２０】
図３３は、第３事例による、電流センサＩ１、Ｉ２、Ｉ３が検出する電流波形を示す。図３３の縦軸は電流（Ａ）を示す。  
【０１２１】
図３４は、第３事例による、電流Ｉｄの波形を示す。図３５は、第３事例による、電流Ｉｑの波形を示す。図３４および図３５のそれぞれの縦軸は電流（Ａ）を示す。  
【０１２２】
図３６は、第３事例による、電気角θｅｒｒｏｒの波形を示す。図３６の縦軸は電気角を示す。  
【０１２３】
図３７は、第３事例による、２個の位置センサθ１、θ２が検出するロータ角の波形を示す。図３７の縦軸はロータの機械角を示す。  
【０１２４】
図３８は、第３事例による、トルク波形を示す。図３８の縦軸はトルク（Ｎ・ｍ）を示す。  
【０１２５】
この第３事例では、位置センサθ１とモータ駆動システム１０００との電気的な接続が、時刻０．３ｓで切断される。この切断は、位置センサθ１が時刻０．３ｓで故障することを意味する。図３７に示す例では、位置センサθ１のロータ角は時刻０．３ｓ以降にはゼロとなる。  
【０１２６】
図３６に示されるように、故障が発生する時刻０．３ｓまでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲にある。しかし、故障が発生すると、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。また、図３８に示されるように、トルクの変動幅も大きくなっている。  
【０１２７】
図３９から図４４は、２個の位置センサθ１、θ２のうちの１つにセンサ故障が発生したときに、その故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続するときのシミュレーション結果を示す。以下、このモータ駆動を継続する事例を「第４事例」と表記する。  
【０１２８】
図３９は、第４事例による、電流センサＩ１、Ｉ２、Ｉ３が検出する電流波形を示す。図３９の縦軸は電流（Ａ）を示す。  
【０１２９】
図４０は、第４事例による、電流Ｉｄの波形を示す。図４１は、第１事例による、電流Ｉｑの波形を示す。図４０および図４１のそれぞれの縦軸は電流（Ａ）を示す。  
【０１３０】
図４２は、第４事例による、電気角θｅｒｒｏｒの波形を示す。図４２の縦軸は電気角を示す。  
【０１３１】
図４３は、第４事例による、２個の位置センサθ１、θ２が検出するロータ角の波形を示す。図４３の縦軸はロータの機械角を示す。  
【０１３２】
図４４は、第４事例による、トルク波形を示す。図４４の縦軸はトルク（Ｎ・ｍ）を示す。  
【０１３３】
この第４事例では、第３事例と同様に、位置センサθ１とモータ駆動システム１０００との電気的な接続が、時刻０．３ｓで切断される。  
【０１３４】
図４２に示されるように、故障が発生する時刻０．３ｓでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。しかし、その後、その故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続することにより、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲に短時間で収まっていることが分かる。また、図４４に示されるように、トルクの変動も小さいことが分かる。  
【０１３５】
〔電流センサおよび位置センサの故障〕
図４５から図５０を参照して、電流センサと位置センサとの両方にセンサ故障が発生するときのシミュレーション結果を説明する。以下、このセンサ故障が発生する事例を「第５事例」と表記する。  
【０１３６】
図４５は、第５事例による、電流センサＩ１、Ｉ２、Ｉ３が検出する電流波形を示す。図４５の縦軸は電流（Ａ）を示す。  
【０１３７】
図４６は、第５事例による、電流Ｉｄの波形を示す。図４７は、第５事例による、電流Ｉｑの波形を示す。図４６および図４７のそれぞれの縦軸は電流（Ａ）を示す。  
【０１３８】
図４８は、第５事例による、電気角θｅｒｒｏｒの波形を示す。図４８の縦軸は電気角を示す。  
【０１３９】
図４９は、第５事例による、２個の位置センサθ１、θ２が検出するロータ角の波形を示す。図４９の縦軸はロータの機械角を示す。  
【０１４０】
図５０は、第５事例による、トルク波形を示す。図５０の縦軸はトルク（Ｎ・ｍ）を示す。  
【０１４１】
この第５事例では、先ず、位置センサθ１が時刻０．３ｓで故障する。図４９に示す例では、位置センサθ１のロータ角は、時刻０．３ｓ以降はゼロとなる。次に、電流センサＩ１が時刻０．４ｓで故障する。図４５に示す例では、時刻０．４ｓ以降の電流値Ｉａはゼロとなる。  
【０１４２】
図４８に示されるように、位置センサθ１の故障が発生する時刻０．３ｓまでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲にある。しかし、故障が発生すると、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。また、図５０に示されるように、トルクの変動幅も大きくなっている。  
【０１４３】
図５１から図５６は、電流センサと位置センサとの両方にセンサ故障が発生したときに、それら故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続するときのシミュレーション結果を示す。以下、このモータ駆動を継続する事例を「第６事例」と表記する。  
【０１４４】
図５１は、第６事例による、電流センサＩ１、Ｉ２、Ｉ３が検出する電流波形を示す。図５１の縦軸は電流（Ａ）を示す。  
【０１４５】
図５２は、第６事例による、電流Ｉｄの波形を示す。図５３は、第１事例による、電流Ｉｑの波形を示す。図５２および図５３のそれぞれの縦軸は電流（Ａ）を示す。  
【０１４６】
図５４は、第６事例による、電気角θｅｒｒｏｒの波形を示す。図５４の縦軸は電気角を示す。  
【０１４７】
図５５は、第６事例による、２個の位置センサθ１、θ２が検出するロータ角の波形を示す。図５５の縦軸はロータの機械角を示す。  
【０１４８】
図５６は、第６事例による、トルク波形を示す。図５６の縦軸はトルク（Ｎ・ｍ）を示す。  
【０１４９】
この第６事例では、第５事例と同様に、先ず、位置センサθ１が時刻０．３ｓで故障する。そして、電流センサＩ１が時刻０．４ｓで故障する。  
【０１５０】
図５４に示されるように、位置センサθ１の故障が発生する時刻０．３ｓでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。しかし、その後、その故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続することにより、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲に短時間で収まっていることが分かる。また、電流センサＩ１の故障が発生する時刻０．４ｓでは、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも大きくなる。しかし、その後、その故障センサを検出、特定、分離し、故障センサ以外のセンサを用いてモータ駆動を継続することにより、電気角θｅｒｒｏｒは、最大許容ロータ角Ｅｒｒｏｒｍａｘよりも小さい範囲に短時間収まっていることが分かる。また、図５６に示されるように、トルクの変動も小さいことが分かる。  
【０１５１】
本開示の実施形態は、センサの故障検出能力が求められる、シフトバイワイヤ、ステアリングバイワイヤ、ブレーキバイワイヤおよびトラクションモータなどのモータ駆動システムにも好適に用いられる。例えば、本開示の実施形態によるモータ駆動システムは、日本政府および米国運輸省道路交通安全局（ＮＨＴＳＡ）によって定められたレベル０から４（自動化の基準）に対応した自動運転車に搭載され得る。
【産業上の利用可能性】
【０１５２】
本開示の実施形態は、掃除機、ドライヤ、シーリングファン、洗濯機、冷蔵庫および電動パワーステアリングシステムなどの、各種モータを有する多様な機器に幅広く利用され得る。
【符号の説明】
【０１５３】
１００：コントローラ（制御回路）、１００Ａ：故障センサ検出および分離ユニット、１００Ｂ：ベクトル制御ユニット、２００：駆動回路、３００：インバータ、４００：シャットダウン回路、６００：ＡＤコンバータ、８００：報知装置、９００：ＲＯＭ、１０００：モータ駆動システム、Ｉ１、Ｉ２、Ｉ３：電流センサ、θ１、θ２：位置センサ、２０００：ＥＰＳシステム
【図１】
2018025759.tif 000005
【図２】
2018025759.tif 000006
【図３】
2018025759.tif 000007
【図４】
2018025759.tif 000008
【図５】
2018025759.tif 000009
【図６】
2018025759.tif 000010
【図７】
2018025759.tif 000011
【図８】
2018025759.tif 000012
【図９】
2018025759.tif 000013
【図１０】
2018025759.tif 000014
【図１１】
2018025759.tif 000015
【図１２】
2018025759.tif 000016
【図１３】
2018025759.tif 000017
【図１４】
2018025759.tif 000018
【図１５】
2018025759.tif 000019
【図１６】
2018025759.tif 000020
【図１７】
2018025759.tif 000021
【図１８】
2018025759.tif 000022
【図１９】
2018025759.tif 000023
【図２０】
2018025759.tif 000024
【図２１】
2018025759.tif 000025
【図２２】
2018025759.tif 000026
【図２３】
2018025759.tif 000027
【図２４】
2018025759.tif 000028
【図２５】
2018025759.tif 000029
【図２６】
2018025759.tif 000030
【図２７】
2018025759.tif 000031
【図２８】
2018025759.tif 000032
【図２９】
2018025759.tif 000033
【図３０】
2018025759.tif 000034
【図３１】
2018025759.tif 000035
【図３２】
2018025759.tif 000036
【図３３】
2018025759.tif 000037
【図３４】
2018025759.tif 000038
【図３５】
2018025759.tif 000039
【図３６】
2018025759.tif 000040
【図３７】
2018025759.tif 000041
【図３８】
2018025759.tif 000042
【図３９】
2018025759.tif 000043
【図４０】
2018025759.tif 000044
【図４１】
2018025759.tif 000045
【図４２】
2018025759.tif 000046
【図４３】
2018025759.tif 000047
【図４４】
2018025759.tif 000048
【図４５】
2018025759.tif 000049
【図４６】
2018025759.tif 000050
【図４７】
2018025759.tif 000051
【図４８】
2018025759.tif 000052
【図４９】
2018025759.tif 000053
【図５０】
2018025759.tif 000054
【図５１】
2018025759.tif 000055
【図５２】
2018025759.tif 000056
【図５３】
2018025759.tif 000057
【図５４】
2018025759.tif 000058
【図５５】
2018025759.tif 000059
【図５６】
2018025759.tif 000060
【国際調査報告】
2018025759.tif 000061
2018025759.tif 000062
2018025759.tif 000063
2018025759.tif 000064