(57)【要約】モータ制御装置は、電流指令値に基づいて３相ブラシレスモータを駆動するインバータのＰＷＭ制御を行うモータ制御装置において、前記３相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算部と、前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間部と、前記電圧指令値および前記モータ電気角から三相のＤｕｔｙ指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Ｄｕｔｙ指令値を算出する変換部と、前記分割間隔に合わせて前記三相のＤｕｔｙ指令値と前記三相の補間Ｄｕｔｙ指令値とを切り替えて出力する出力設定部と、を備える。
2019083015.tif 000002
【特許請求の範囲】
【請求項１】
電流指令値に基づいて３相ブラシレスモータを駆動するインバータのＰＷＭ制御を行うモータ制御装置において、
前記３相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算部と、
前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間部と、
前記電圧指令値および前記モータ電気角から三相のＤｕｔｙ指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Ｄｕｔｙ指令値を算出する変換部と、
前記分割間隔に合わせて前記三相のＤｕｔｙ指令値と前記三相の補間Ｄｕｔｙ指令値とを切り替えて出力する出力設定部と、
を備えるモータ制御装置。
【請求項２】
前記電気角補間部は、２次関数補間演算と１次関数補間演算とのいずれかを用いて前記補間電気角を推定する、
請求項１に記載のモータ制御装置。
【請求項３】
前記電気角補間部は、前記モータ回転数が所定の第一回転数より低い場合に、２次関数補間演算を用いて前記補間電気角を推定し、
前記モータ回転数が前記第一回転数以上の場合に、２次関数補間演算を１次関数補間演算に切り替える、
請求項２に記載のモータ制御装置。
【請求項４】
前記電気角補間部は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力する、
請求項３に記載のモータ制御装置。
【請求項５】
前記制御周期が１００μｓ以上、２５０μｓ以下である、
請求項１に記載のモータ制御装置。
【請求項６】
前記３相ブラシレスモータはベクトル駆動方式で制御され、
前記変換部は、空間ベクトル変調を行う、
請求項１に記載のモータ制御装置。
【請求項７】
電流指令値に基づいてインバータがＰＷＭ制御される３相ブラシレスモータのモータ制御方法であって、
前記３相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算工程と、
前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間工程と、
前記電圧指令値および前記モータ電気角から三相のＤｕｔｙ指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Ｄｕｔｙ指令値を算出する変換工程と、
前記分割間隔に合わせて前記三相のＤｕｔｙ指令値と前記三相の補間Ｄｕｔｙ指令値とを切り替えて出力する出力設定工程と、
を備えるモータ制御方法。
【請求項８】
前記電気角補間工程は、２次関数補間演算と１次関数補間演算と切り替えて前記補間電気角を推定する、
請求項７に記載のモータ制御方法。
【請求項９】
前記電気角補間工程は、前記モータ回転数が所定の第一回転数より低い場合に、２次関数補間演算を用いて前記補間電気角を推定し、
前記モータ回転数が前記第一回転数以上の場合に、２次関数補間演算を１次関数補間演算に切り替える、
請求項８に記載のモータ制御方法。
【請求項１０】
前記電気角補間工程は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力する、
請求項９に記載のモータ制御方法。
【請求項１１】
少なくとも操舵トルクに基づいて演算されたｄｑ軸電流指令値を３相Ｄｕｔｙ指令値に変換し、前記３相Ｄｕｔｙ指令値に基づき、インバータのＰＷＭ制御により３相ブラシレスモータを駆動制御するとともに、前記インバータのデッドタイムを補償する機能を備え、車両の操舵機構にアシストトルクを付与するベクトル制御方式の電動パワーステアリング装置であって、
前記ｄｑ軸電流指令値、モータ角度及びモータ回転数に基づいて算出されたｄｑ軸Ｄｕｔｙ指令値を、前記モータ角度に応じて３相に変換して３次高調波を重畳し、３相の正規Ｄｕｔｙ指令値を出力する第１の空間ベクトル変調部と、
前記モータ角度に基づいて補間演算して補間Ｄｕｔｙ演算用モータ角度を出力する電気角補間部と、
前記ｄｑ軸Ｄｕｔｙ指令値を、前記補間Ｄｕｔｙ演算用モータ角度に応じて３相に変換して３次高調波を重畳し、３相の補間Ｄｕｔｙ指令値を出力する第２の空間ベクトル変調部と、
前記正規Ｄｕｔｙ指令値及び前記補間Ｄｕｔｙ指令値に基づいて最終正規Ｄｕｔｙ値及び最終補間Ｄｕｔｙ値を出力する最終Ｄｕｔｙ演算部と、
を備える電動パワーステアリング装置。
【請求項１２】
前記電気角補間部が、
前記モータ角度が所定範囲に属するかを判定して切替フラグを出力するモータ角度切替判定部と、
前記モータ角度を補間演算する演算処理部と、
所定角度でオフセット処理を実施した前記モータ角度を補間演算し、前記補間演算を実施した前記所定角度に対してオフセット戻し処理を実施するオフセット付き演算処理部と、
前記演算処理部からの第１の補間用モータ角度及び前記オフセット付き演算処理部からの第２の補間用モータ角度を入力し、前記切替フラグによって切替えられて前記補間Ｄｕｔｙ演算用モータ角度を出力する切替部と、
を有する
請求項１１に記載の電動パワーステアリング装置。
【請求項１３】
前記補間演算は、２次関数補間演算もしくは１次関数補間演算である、
請求項１１に記載の電動パワーステアリング装置。
【請求項１４】
前記演算処理部が第１のロールオーバ処理部を備え、
前記オフセット付き演算処理部が、前記オフセット処理の後に第２のロールオーバ処理部を備え、前記オフセット戻し処理の後に第３のロールオーバ処理部を備えている、
請求項１２に記載の電動パワーステアリング装置。
【請求項１５】
前記所定範囲が、９０°以上、２７０°以下の範囲である、
請求項１２に記載の電動パワーステアリング装置。
【請求項１６】
前記所定角度が１８０°である
請求項１２に記載の電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ制御方法および電動パワーステアリング装置に関する。本願は、２０１７年１０月２６日に日本国に出願された特願２０１７−２０７０３０号、２０１８年１０月２４日に日本国に出願された特願２０１８−２００２９３、２０１８年１０月２４日に日本国に出願された特願２０１８−２００２９４、２０１８年１０月２４日に日本国に出願された特願２０１８−２００２９５、２０１８年１０月２４日に日本国に出願された特願２０１８−２００２９６に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
車両のステアリング機構において操舵補助力（アシスト力）を付与する電動パワーステアリング装置（ＥＰＳ）等において、高効率なブラスレシモータが多く使用されている。ブラシレスモータを制御するモータ制御装置は、ＰＷＭ（Pulse  Width  Modulation）制御により、ブラシレスモータを駆動するインバータを制御している。近年では、車載製品等のような高い信頼性が要求される製品に搭載するブラシレスモータには、インバータのデッドタイム補償が必須とされている。【０００３】
ブラシレスモータをＰＷＭ制御するモータ制御装置では、ＰＷＭ演算を行う周期（例えば２５０μｓ）に応じた周波数（例えば４ＫＨｚ）でブラシレスモータが振動し、その周波数のモータに起因する音を発生させているという問題がある。このモータに起因する音を抑制する最も簡易な方法として、モータの振動する周波数が可聴帯域外（２０ＫＨｚ以上）となるような周期（５０μｓ以下）でＰＷＭ演算する方法が挙げられるが、この場合には演算処理量が増大するので、処理能力の高い高価なマイクロコンピュータが必要となり、ＥＣＵの部品コストが上昇し、動作周波数が高いために消費電力が増大する、といった問題がある。【０００４】
特許文献１に記載の電動パワーステアリング装置は、ＰＷＭ信号を生成する際に、直前に演算により算出したＰＷＭ制御の制御信号（Ｄｕｔｙ指令値）等を用いて補間Ｄｕｔｙ指令値を算出し、ＰＷＭ演算を行う周期の２倍の周期でＰＷＭ制御の制御信号を変動させる。マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を抑制することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４９４６０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の電動パワーステアリング装置は、Ｄｕｔｙ指令値を用いて補間Ｄｕｔｙ指令値を算出している。電流制御の応答性や電流検出精度によってはＤｕｔｙ指令値が過渡的に変動するため、補間Ｄｕｔｙ指令値は大きなノイズを含む値となる場合があった。補間Ｄｕｔｙ指令値に大きなノイズが含まれると、特に高速操舵時において異音が発生する問題があった。【０００７】
また、特許文献１にはロータの回転角度を使用して補間Ｄｕｔｙ指令値を算出する手法も記載されている。補間Ｄｕｔｙ指令値の算出にはロータの回転角度を微分して算出した角速度が用いられている。しかしながら、ロータの回転角度に対して微分演算を行うのみではノイズ成分の除去が十分でなく、補間Ｄｕｔｙ指令値は大きなノイズを含む値となる場合があった。【０００８】
また、モータ制御装置においてインバータのデッドタイム補償を行う場合、過渡的な応答を含むデッドタイム補償値のノイズの影響を受けずに補間Ｄｕｔｙ指令値を算出することが望まれている。【０００９】
上記事情を踏まえ、本発明は、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ブラシレスモータの振動やモータに起因する音を好適に抑制することができるモータ制御装置、モータ制御方法および当該モータ制御装置を搭載した電動パワーステアリング装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、この発明は以下の手段を提案している。
本発明の第一の態様に係るモータ制御装置は、電流指令値に基づいて３相ブラシレスモータを駆動するインバータのＰＷＭ制御を行うモータ制御装置において、前記３相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算部と、前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間部と、前記電圧指令値および前記モータ電気角から三相のＤｕｔｙ指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Ｄｕｔｙ指令値を算出する変換部と、前記分割間隔に合わせて前記三相のＤｕｔｙ指令値と前記三相の補間Ｄｕｔｙ指令値とを切り替えて出力する出力設定部と、を備える。【００１１】
本発明の第二の態様によれば、第一の態様に係るモータ制御装置において、前記電気角補間部は、２次関数補間演算と１次関数補間演算とのいずれかを用いて前記補間電気角を推定してもよい。【００１２】
本発明の第三の態様によれば、第二の態様に係るモータ制御装置において、前記電気角補間部は、前記モータ回転数が所定の第一回転数より低い場合に、２次関数補間演算を用いて前記補間電気角を推定し、前記モータ回転数が前記第一回転数以上の場合に、２次関数補間演算を１次関数補間演算に切り替えてもよい。【００１３】
本発明の第四の態様によれば、第三の態様に係るモータ制御装置において、前記電気角補間部は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力してもよい。【００１４】
本発明の第五の態様によれば、第一から第四のいずれかの態様に係るモータ制御装置において、前記制御周期が１００μｓ以上、２５０μｓ以下であってもよい。【００１５】
本発明の第六の態様によれば、第一から第五のいずれかの態様に係るモータ制御装置において、前記３相ブラシレスモータはベクトル駆動方式で制御され、前記変換部は、空間ベクトル変調を行ってもよい。【００１６】
本発明の第七の態様に係るモータ制御方法は、電流指令値に基づいてインバータがＰＷＭ制御される３相ブラシレスモータのモータ制御方法であって、前記３相ブラシレスモータから制御周期ごとに取得したモータ電気角およびモータ回転数と、前記電流指令値と、を用いて電圧指令値を算出する電圧指令値演算工程と、前記制御周期を分割した分割間隔で、前記モータ電気角から補間電気角を推定する電気角補間工程と、前記電圧指令値および前記モータ電気角から三相のＤｕｔｙ指令値を算出し、前記電圧指令値および前記補間電気角から三相の補間Ｄｕｔｙ指令値を算出する変換工程と、前記分割間隔に合わせて前記三相のＤｕｔｙ指令値と前記三相の補間Ｄｕｔｙ指令値とを切り替えて出力する出力設定工程と、を備える。【００１７】
本発明の第八の態様によれば、第七の態様に係るモータ制御方法において、前記電気角補間工程は、２次関数補間演算と１次関数補間演算と切り替えて前記補間電気角を推定してもよい。【００１８】
本発明の第九の態様によれば、第八の態様に係るモータ制御方法において、前記電気角補間工程は、前記モータ回転数が所定の第一回転数より低い場合に、２次関数補間演算を用いて前記補間電気角を推定し、前記モータ回転数が前記第一回転数以上の場合に、２次関数補間演算を１次関数補間演算に切り替えてもよい。【００１９】
本発明の第十の態様によれば、第九の態様に係るモータ制御方法において、前記電気角補間工程は、前記モータ回転数が前記第一回転数より高い所定の第二回転数より高い場合に、前記モータ電気角を前記補間電気角として出力してもよい。【００２０】
本発明の第十一の態様に係る電動パワーステアリング装置は、少なくとも操舵トルクに基づいて演算されたｄｑ軸電流指令値を３相Ｄｕｔｙ指令値に変換し、前記３相Ｄｕｔｙ指令値に基づき、インバータのＰＷＭ制御により３相ブラシレスモータを駆動制御するとともに、前記インバータのデッドタイムを補償する機能を備え、車両の操舵機構にアシストトルクを付与するベクトル制御方式の電動パワーステアリング装置であって、前記ｄｑ軸電流指令値、モータ角度及びモータ回転数に基づいて算出されたｄｑ軸Ｄｕｔｙ指令値を、前記モータ角度に応じて３相に変換して３次高調波を重畳し、３相の正規Ｄｕｔｙ指令値を出力する第１の空間ベクトル変調部と、前記モータ角度に基づいて補間演算して補間Ｄｕｔｙ演算用モータ角度を出力する電気角補間部と、前記ｄｑ軸Ｄｕｔｙ指令値を、前記補間Ｄｕｔｙ演算用モータ角度に応じて３相に変換して３次高調波を重畳し、３相の補間Ｄｕｔｙ指令値を出力する第２の空間ベクトル変調部と、前記正規Ｄｕｔｙ指令値及び前記補間Ｄｕｔｙ指令値に基づいて最終正規Ｄｕｔｙ値及び最終補間Ｄｕｔｙ値を出力する最終Ｄｕｔｙ演算部と、を備える。【００２１】
本発明の第十二の態様によれば、第十一の態様に係る電動パワーステアリング装置において、前記電気角補間部が、前記モータ角度が所定範囲に属するかを判定して切替フラグを出力するモータ角度切替判定部と、前記モータ角度を補間演算する演算処理部と、所定角度でオフセット処理を実施した前記モータ角度を補間演算し、前記補間演算を実施した前記所定角度に対してオフセット戻し処理を実施するオフセット付き演算処理部と、前記演算処理部からの第１の補間用モータ角度及び前記オフセット付き演算処理部からの第２の補間用モータ角度を入力し、前記切替フラグによって切替えられて前記補間Ｄｕｔｙ演算用モータ角度を出力する切替部と、を有してもよい。【００２２】
本発明の第十三の態様によれば、第十一または十二の態様に係る電動パワーステアリング装置において、前記補間演算は、２次関数補間演算もしくは１次関数補間演算であってもよい。【００２３】
本発明の第十四の態様によれば、第十一から十三のいずれかの態様に係る電動パワーステアリング装置において、前記演算処理部が第１のロールオーバ処理部を備え、前記オフセット付き演算処理部が、前記オフセット処理の後に第２のロールオーバ処理部を備え、前記オフセット戻し処理の後に第３のロールオーバ処理部を備えてもよい。【００２４】
本発明の第十五の態様によれば、第十二から十四のいずれかの態様に係る電動パワーステアリング装置において、前記所定範囲が、９０°以上、２７０°以下の範囲であ
【００２５】
本発明の第十六の態様によれば、第十二から十五のいずれかの態様に係る電動パワーステアリング装置において、前記所定角度が１８０°であってもよい。
【発明の効果】
【００２６】
本発明のモータ制御装置、モータ制御方法および当該モータ制御装置を搭載した電動パワーステアリング装置によれば、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【図面の簡単な説明】
【００２７】
【図１】第一実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。
【図２】同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。
【図３】同モータ制御装置のＰＷＭ制御部およびインバータの構成図である。
【図４】同モータ制御装置のモータ制御部の機能構成図である。
【図５】同モータ制御部の電気角補間部の構成図である。
【図６】同電気角補間部がＳＯＨ演算により算出した補間電気角を示すグラフである。
【図７】同電気角補間部のＳＯＨ演算部の機能構成図である。
【図８】同電気角補間部の制御フローチャートを示す。
【図９】同電気角補間部の波形を示すグラフである。
【図１０】同モータ制御部の空間ベクトル変調部の機能構成図である。
【図１１】同モータ制御部の最終Ｄｕｔｙ演算部の機能構成図である。
【図１２】同モータ制御部のＤｕｔｙ出力設定部の機能構成図である。
【図１３】最終正規Ｄｕｔｙ指令値及び最終補間Ｄｕｔｙ指令値の出力タイミングを示している。
【図１４】補間電気角を推定したシミュレーション結果を示すグラフである。
【図１５】第二実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。
【図１６】同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。
【図１７】同モータ制御装置のＰＷＭ制御部およびインバータの構成図である。
【図１８】同モータ制御装置のモータ制御部の機能構成図である。
【図１９】同モータ制御部の電気角補間部の構成図である。
【図２０】同電気角補間部がＳＯＨ演算により算出した補間電気角１を示すグラフである。
【図２１】同電気角補間部がＳＯＨ演算により算出した補間電気角２を示すグラフである。
【図２２】同電気角補間部がＳＯＨ演算により算出した補間電気角３を示すグラフである。
【図２３】同電気角補間部がＳＯＨ演算により算出した補間電気角４を示すグラフである。
【図２４】同電気角補間部のＳＯＨ演算部の機能構成図である。
【図２５】同電気角補間部の制御フローチャートを示す。
【図２６】同電気角補間部の波形を示すグラフである。
【図２７】同モータ制御部の空間ベクトル変調部の機能構成図である。
【図２８】同モータ制御部の最終Ｄｕｔｙ演算部の機能構成図である。
【図２９】同モータ制御部のＤｕｔｙ出力設定部の機能構成図である。
【図３０】補間電気角１を推定したシミュレーション結果を示すグラフである。
【図３１】補間電気角２を推定したシミュレーション結果を示すグラフである。
【図３２】補間電気角３を推定したシミュレーション結果を示すグラフである。
【図３３】補間電気角４を推定したシミュレーション結果を示すグラフである。
【図３４】推定した補間電気角１を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図３５】推定した補間電気角２を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図３６】推定した補間電気角３を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図３７】推定した補間電気角４を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図３８】第三実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。
【図３９】同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。
【図４０】同モータ制御装置のＰＷＭ制御部およびインバータの構成図である。
【図４１】同モータ制御装置のモータ制御部の機能構成図である。
【図４２】同モータ制御部の電気角補間部の構成図である。
【図４３】同電気角補間部がＦＯＨ演算により算出した補間電気角を示すグラフである。
【図４４】同電気角補間部のＦＯＨ演算部の機能構成図である。
【図４５】同電気角補間部の制御フローチャートを示す。
【図４６】同電気角補間部の波形を示すグラフである。
【図４７】同モータ制御部の空間ベクトル変調部の機能構成図である。
【図４８】同モータ制御部の最終Ｄｕｔｙ演算部の機能構成図である。
【図４９】同モータ制御部のＤｕｔｙ出力設定部の機能構成図である。
【図５０】補間電気角を推定したシミュレーション結果を示すグラフである。
【図５１】補間電気角を推定したシミュレーション結果を示すグラフである。
【図５２】推定した補間電気角を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図５３】推定した補間電気角を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図５４】第四実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。
【図５５】同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。
【図５６】同モータ制御装置のＰＷＭ制御部およびインバータの構成図である。
【図５７】同モータ制御装置のモータ制御部の機能構成図である。
【図５８】同モータ制御部の電気角補間部の構成図である。
【図５９】同電気角補間部がＦＯＨ演算により算出した補間電気角１を示すグラフである。
【図６０】同電気角補間部がＦＯＨ演算により算出した補間電気角２を示すグラフである。
【図６１】同電気角補間部がＦＯＨ演算により算出した補間電気角３を示すグラフである。
【図６２】同電気角補間部がＦＯＨ演算により算出した補間電気角４を示すグラフである。
【図６３】同電気角補間部のＦＯＨ演算部の機能構成図である。
【図６４】同電気角補間部の制御フローチャートを示す。
【図６５】同電気角補間部の波形を示すグラフである。
【図６６】同モータ制御部の空間ベクトル変調部の機能構成図である。
【図６７】同モータ制御部の最終Ｄｕｔｙ演算部の機能構成図である。
【図６８】同モータ制御部のＤｕｔｙ出力設定部の機能構成図である。
【図６９】補間電気角１を推定したシミュレーション結果を示すグラフである。
【図７０】補間電気角２を推定したシミュレーション結果を示すグラフである。
【図７１】補間電気角３を推定したシミュレーション結果を示すグラフである。
【図７２】補間電気角４を推定したシミュレーション結果を示すグラフである。
【図７３】推定した補間電気角１を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図７４】推定した補間電気角２を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図７５】推定した補間電気角３を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図７６】推定した補間電気角４を使用して演算したＤｕｔｙ指令値のシミュレーション結果を示すグラフである。
【図７７】第五実施形態に係るモータ制御装置を搭載する電動パワーステアリング装置の構成を示す模式図である。
【図７８】同電動パワーステアリング装置のコントロールユニットによって構成されるモータ制御装置の機能構成図である。
【図７９】同モータ制御装置のＰＷＭ制御部およびインバータの構成図である。
【図８０】同モータ制御装置のモータ制御部の機能構成図である。
【図８１】同モータ制御部の電気角補間部の構成図である。
【図８２】同電気角補間部が算出した補間電気角１を示すグラフである。
【図８３】同電気角補間部が算出した補間電気角２を示すグラフである。
【図８４】同電気角補間部が算出した補間電気角３を示すグラフである。
【図８５】同電気角補間部が算出した補間電気角４を示すグラフである。
【図８６】同電気角補間部のＳＯＨ演算部の機能構成図である。
【図８７】同電気角補間部のＦＯＨ演算部の機能構成図である。
【図８８】同電気角補間部の補間演算切替判定部の機能構成図である。
【図８９】同補間演算切替判定部の補間演算判定部および補間判定部のフラグ生成のグラフである。
【図９０】同補間演算切替判定部の補間演算判定部および補間判定部のフラグ生成のグラフである。
【図９１】同電気角補間部の制御フローチャートを示す。
【図９２】同電気角補間部の波形を示すグラフである。
【図９３】同モータ制御部の空間ベクトル変調部の機能構成図である。
【図９４】同モータ制御部の最終Ｄｕｔｙ演算部の機能構成図である。
【図９５】同モータ制御部のＤｕｔｙ出力設定部の機能構成図である。
【図９６】一般的なモータ制御装置の機能構成図である。
【図９７】ベクトル制御方式で３相ブラシレスモータを駆動制御する場合の機能構成図である。
【図９８】ＰＷＭ制御部及びインバータの機能構成図である。
【図９９】従来のＳＯＨ演算によるＤｕｔｙ指令値の補間の機能構成図である。
【図１００】最終Ｄｕｔｙ演算部の機能構成図である。
【図１０１】座標変換に用いる座標軸及びモータ角度の関係を示すグラフである。
【図１０２】空間ベクトル変調部の動作例を示す線図である。
【図１０３】空間ベクトル変調部の動作例を示すタイミングチャートである。
【発明を実施するための形態】
【００２８】
（第一実施形態）
本発明の第一実施形態について、図１から図１４を参照して説明する。
図１は、本実施形態に係るモータ制御装置４００を搭載する電動パワーステアリング装置３００の構成を示す模式図である。電動パワーステアリング装置３００は、コラム部（ステアリングシャフト）に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
【００２９】
［電動パワーステアリング装置３００］
電動パワーステアリング装置３００は、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２、減速ギア３、ユニバーサルジョイント４ａ，４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の舵角θｅを検出する舵角センサ１４と、ハンドル１の操舵トルクＴｈを検出するトルクセンサ１０とが設けられており、ハンドル１の操舵力を補助するモータ１００が減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置３００を制御するコントロールユニット（ＥＣＵ）３０には、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。
【００３０】
コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｓとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによってモータ１００を制御する。舵角センサ１４は必須のものではなく、配設されていなくても良く、モータ１００に連結されたレゾルバ等の回転センサから舵角（モータ角度）θｅを得ることもできる。
【００３１】
コントロールユニット３０は、主としてＣＰＵ(Central  Processing  Unit)（ＭＰＵ(Micro  Processor  Unit)やＭＣＵ(Micro  Controller  Unit)等を含む）を含むプログラム実行可能なコンピュータを備えている。
【００３２】
コントロールユニット３０は、モータ１００を駆動するインバータ１６１や、モータ１００の電流を検出するモータ電流検出回路１６２や、モータ１００のモータ角度θｅを検出する角度検出部１１０Ａなどの回路を備えている。なお、これらの回路は、モータ１００側に搭載されていてもよい。
【００３３】
コントロールユニット３０には、車両の各種情報を授受するＣＡＮ（Controller  Area  Network）４０が接続されており、車速ＶｓはＣＡＮ４０から受信することも可能である。また、コントロールユニット３０には、ＣＡＮ４０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ４１も接続可能である。
【００３４】
モータ１００は、近年、電動パワーステアリング装置３００のアクチュエータとして主流である３相ブラシレスモータである。モータ１００は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ１００のロータの座標軸であるトルクを制御するｑ軸と、磁界の強さを制御するｄ軸とを独立に設定し、ｄｑ軸が９０°の関係にあることから、そのベクトルで各軸に相当する電流（ｄ軸電流指令値Ｉｒｅｆ_ｄ，ｑ軸電流指令値Ｉｒｅｆ_ｑ）を制御する。
【００３５】
［モータ制御装置４００］
図２は、コントロールユニット３０によって構成されるモータ制御装置４００の機能構成図である。モータ制御装置４００の機能は、ＣＰＵ等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、ＣＰＵ等において実行されるプログラムとして実現されていてもよい。
【００３６】
モータ制御装置４００は、モータ１００の駆動制御を行う。モータ制御装置４００は、電流指令値演算部３１と、モータ制御部３９と、ＰＷＭ制御部１６０と、インバータ１６１と、モータ電流検出回路１６２と、モータ角度検出部１１０Ａと、角速度演算部１１０Ｂと、３相交流／ｄｑ軸変換部１３０と、を備える。
【００３７】
電流指令値演算部３１は、操舵トルクＴｈと車速Ｖｓ等に基づきアシストマップ等を用いて演算された２軸（ｄｑ軸座標系）のｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)を、モータ制御部３９に出力する。
【００３８】
モータ制御部３９は、入力されるｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)、モータ角度θｅおよびモータ回転数Ｎ等から、デッドタイム補償を施した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を算出する。また、モータ制御部３９は、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)等から、空間ベクトル変調により３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを算出して、ＰＷＭ制御部１６０に出力する。
【００３９】
図３は、ＰＷＭ制御部１６０およびインバータ１６１の構成図である。
インバータ１６１は、図３に示すように、ＦＥＴの３相ブリッジで構成されており、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ１００を駆動する。インバータ１６１とモータ１００との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ１０１が介挿されている。上側アームはスイッチング素子としてのＦＥＴＱ１，Ｑ２，Ｑ３で構成され、下側アームはＦＥＴＱ４，Ｑ５，Ｑ６で構成されている。また、ＦＥＴＱ１およびＱ４がＵ相、ＦＥＴＱ２およびＱ５がＶ相、ＦＥＴＱ３およびＱ６がＷ相の駆動素子である。
【００４０】
ＰＷＭ制御部１６０は、図３に示すように、入力された３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏに基づき、図３に示すような上下アームのブリッジ構成で成るインバータ（インバータ印加電圧ＶＲ）１６１を介してモータ１００を駆動制御する。ＰＷＭ制御部１６０は、図３に示すように、ＰＷＭ部１６０Ａ−２と、ゲート駆動部１６０Ｂとを有する。
【００４１】
ＰＷＭ部１６０Ａ−２は、図３に示すように、３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏをそれぞれ所定式に従って３相分ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。ＰＷＭ部１６０Ａ−２には、発振部１６０Ｃから例えば三角波の変調信号（キャリア）ＣＦが入力されており、ＰＷＭ部１６０Ａ−２は変調信号ＣＦに同期してＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。
【００４２】
ゲート駆動部１６０Ｂは、図３に示すように、ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を出力して駆動素子であるＦＥＴＱ１〜Ｑ６のゲートを駆動する。
【００４３】
電動パワーステアリング装置３００は車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ１００を駆動するインバータ１６１は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく（産業用機器＜ＥＰＳ）する必要がある。一般にスイッチング素子（例えばＦＥＴ(Field-Effect  Transistor)）にはＯＦＦの際に遅れ時間があるため、上下アームのスイッチング素子のＯＦＦ／ＯＮ切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がＯＦＦになる時間（デッドタイム）が設けられる。
【００４４】
上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
【００４５】
電流検出器１６２は、図２に示すように、モータ１００の３相モータ電流Ｉｕ，Ｉｖ，Ｉｗを検出する。検出された３相モータ電流Ｉｕ，Ｉｖ，Ｉｗは、３相交流／ｄｑ軸変換部１３０に入力され、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑに変換される。２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑは、モータ制御部３９に入力される。
【００４６】
モータ角度検出部１１０Ａは、モータ１００のモータ角度θｅを、必要がある場合は演算を行い、取得する。モータ角度θｅは、角速度演算部１１０Ｂ、モータ制御部３９および３相交流／ｄｑ軸変換部１３０に入力される。
角速度演算部１１０Ｂは、モータ角度θｅからモータ回転数Ｎおよびモータ角速度ωを演算により取得する。モータ回転数Ｎおよびモータ角速度ωは、モータ制御部３９に入力される。
【００４７】
［モータ制御部３９］
図４は、モータ制御部３９の機能構成図である。
モータ制御部３９は、電圧指令値演算部２２０と、電気角補間部２４０と、空間ベクトル変調部２５０と、最終Ｄｕｔｙ演算部２００と、Ｄｕｔｙ出力設定部１６０Ａ−１と、を備えている。
電圧指令値演算部２２０は、ｄｑ軸デッドタイム補償値演算部２０１と、ｄｑ軸電流フィードバック制御部２０３と、電圧／Ｄｕｔｙ変換係数演算部２０４と、加算部２０５と、ｄｑ軸Ｄｕｔｙクランプ／ＶＲ感応演算部２１０と、を備えている。
【００４８】
電圧指令値演算部２２０は、モータ１００から制御周期Ｔｃごとに取得したモータ電気角θｅおよびモータ回転数θｅと電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)などを用いて電圧指令値を算出する（電圧指令値演算工程）。
【００４９】
ｄｑ軸デッドタイム補償値演算部２０１は、入力されるモータ回転数Ｎ、モータ角度（電気角）θｅ、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）から算出したｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【００５０】
ｄｑ軸電流フィードバック制御部２０３は、入力されるモータ角速度ω、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）、２相のフィードバックｄｑ軸電流Ｉm（ｍ＝ｄ，ｑ）（Ｉｄ，Ｉｑ）から算出した電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【００５１】
電圧／Ｄｕｔｙ変換係数演算部２０４は、インバータ印加電圧ＶＲに応じて電圧／Ｄｕｔｙの変換係数Ｋｃを算出する。
【００５２】
加算部２０５は、ｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）と、電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）とを加算した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を、３相Ｄｕｔｙクランプ／ＶＲ感応演算部２１０に出力する。
【００５３】
ｄｑ軸Ｄｕｔｙクランプ／ＶＲ（インバータ印加電圧）感応演算部２１０は、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)と、電圧／Ｄｕｔｙ変換の変換係数Ｋｃとを乗算して算出したｄｑ軸正規用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を、空間ベクトル変調部２５０に入力する。
【００５４】
［電気角補間部２４０］
図５は、電気角補間部２４０の構成図である。
電気角補間部２４０は、入力されたモータ角度θｅから、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを算出して、空間ベクトル変調部２５０に出力する（電気角補間工程）。
【００５５】
電気角補間部２４０は、制御周期２５０μｓ（Ｔｃ）で検出されたモータ角度θｅに対する２次関数補間演算（Ｓｅｃｏｎｄ  Ｏｒｄｅｒ  Ｈｏｌｄ演算：以下では、２次関数補間演算のことを単に「ＳＯＨ演算」とする場合もある。）により、制御周期ＴｃからＴｃ／２経過後のモータ角度（補間電気角）θｓを推定し、推定されたモータ角度（補間電気角）θｓに基づいて補間Ｄｕｔｙ指令値を算出する。
【００５６】
電気角補間部２４０が行うｄｑ軸電流制御では、空間ベクトル変調後のＤｕｔｙ指令値を補間対象としない。空間ベクトル変調後のＤｕｔｙ指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による３次高周波の歪み成分等に起因するノイズ成分が含まれ、Ｄｕｔｙ指令値を直接補間して算出した補間Ｄｕｔｙ指令値には、大きなノイズを含む値となる場合があるためである。
【００５７】
電気角補間部２４０は、図５に示すように、モータ角度θｅを入力して直接的にＳＯＨ演算を行う演算処理部２４１（ＳＯＨ演算部２４１−１およびロールオーバ処理部２４１−２）と、モータ角度θｅを入力してオフセット処理等を行い、ＳＯＨ演算を行うオフセット付き演算処理部２４２と、モータ角度θｅが９０°より大きく、２７０°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグＳＦを出力するモータ角度切替判定部２４３と、切替フラグＳＦによって接点ａ，ｂを切替えて補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを出力する切替部２４４と、を備えている。
【００５８】
図６は、制御周期ＴｃからＴｃ／２経過後において、ＳＯＨ演算により算出した補間電気角を示している。以前に検出したモータ電気角θｅを用いて補間電気角θｓを算出することで、電気角の変化を滑らかにすることができる。
図６（Ａ）に示すように円弧状の理想モータ角度波形に対して、２５０μｓ毎のサンプリング波形は当然２５０μｓの階段波形となるが、図６（Ｂ）に示すように、ＳＯＨ演算によって１２５μｓ後のモータ角度を推定することにより、サンプリング周期を２倍相当にすることができる。
【００５９】
ＳＯＨ演算に用いられる関数ｙ[ｋ]は、式１で表される。ｙ[ｋ]は制御周期数ｋにおけるモータ角度（電気角）を表す関数である。
【数１】
2019083015.tif 000003
【００６０】
係数ａ，ｂ，ｃを用いて、前々回値ｙ［−２］、前回値ｙ［−１］、今回値ｙ［０］で表すと式２が成立する。
【数２】
2019083015.tif 000004
【００６１】
以上の数式を整理してａ，ｂ，ｃは、ｙ［０］，ｙ［−１］，ｙ［−２］を用いて式３のように表される。
【数３】
2019083015.tif 000005
【００６２】
式３を式１に代入すると、式４となる。
【数４】
2019083015.tif 000006
【００６３】
補間電気角θｓ１は、制御周期ＴｃからＴｃ／２経過後の電気角であるから、式４にｋ＝０．５を代入することで算出することができる。
【数５】
2019083015.tif 000007
【００６４】
図７は、ＳＯＨ演算部２４１−１（２４２−４）の機能構成図である。
ＳＯＨ演算部２４１−１は、モータ角度θｅの前回値の保持ユニット２４５−１および保持ユニット２４５−２と、係数部Ｂ０（２４５−３）と、係数部Ｂ１（２４５−４）と、係数部Ｂ２（２４５−５）と、加算部２４５−６と、加算部２４５−７と、を有している。
【００６５】
モータ角度θｅは、係数部Ｂ０（２４５−３）および保持ユニット２４５−１に入力され、保持ユニット２４５−１の保持値は係数部Ｂ１（２４５−４）および保持ユニット２４５−２に入力される。保持ユニット２４５−２の保持値は係数部Ｂ２（２４５−５）に入力され、係数部Ｂ０（２４５−３）、係数部Ｂ１（２４５−４）および係数部Ｂ２（２４５−５）の各出力値が、加算部２４５−７および加算部２４５−６で加算されて、補間電気角θｓとして出力される。
【００６６】
補間電気角θｓを算出する際の係数Ｂ０，Ｂ１，Ｂ２は、式５により、図７に示すように算出される。
【００６７】
電気角補間部２４０内の演算処理部２４１は、図５に示すように、モータ角度θeを入力してＳＯＨ演算を行うＳＯＨ演算部２４１−１と、ＳＯＨ演算部２４１−１から出力されるモータ角度θe１をロールオーバ処理（波形処理）するロールオーバ処理部２４１−２と、を備えている。ロールオーバ処理部２４１−２でロールオーバ処理されたモータ角度（第１の補間用モータ角度）θe２は、切替部２４４の接点ａに入力される。
【００６８】
オフセット付き演算処理部２４２は、図５に示すように、モータ角度θeが入力されて固定部２４２−１から入力される係数１８０°によるオフセット処理を行う加算部２４２−２と、加算部２４２−２から入力されるモータ角度θe３をロールオーバ処理（波形処理）するロールオーバ処理部２４２−３と、ロールオーバ処理部２４２−３から入力されるモータ角度θe４を補正するＳＯＨ演算部２４２−４と、ＳＯＨ演算部２４２−４からモータ角度θe５が入力されて固定部２４２−５から入力される係数１８０°によるオフセット戻し処理を行う減算部２４２−６と、減算部２４２−６から入力されるモータ角度θe６をロールオーバ処理（波形処理）するロールオーバ処理部２４２−７と、を備えている。ロールオーバ処理部２４２−７でロールオーバ処理されたモータ角度（第２の補間用モータ角度）θe７は、切替部２４４の接点ｂに入力される。
【００６９】
演算処理部２４１のロールオーバ処理部２４１−２からのモータ角度θe２は切替部２４４の接点ａに入力されており、オフセット付き演算処理部２４２のロールオーバ処理部２４２−７からのモータ角度θe７は切替部２４４の接点ｂに入力されている。そして、切替部２４４の接点ａ及びｂは、モータ角度切替判定部２４３からの切替フラグＳＦ（「Ｈ」、「Ｌ」）によって切替えられ、切替部２４４から補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓが出力される。
【００７０】
モータ角度（電気角）θｅは、現在のモータ角度から次のモータ角度に移る際において３６０°を超えた場合、０°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてＳＯＨ演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部２４０は、入力電気角のモータ角度θｅに応じて演算出力（補間Ｄｕｔｙ演算用のモータ角度θｓ）を切替える。
【００７１】
モータ角度θｅが９０°＜θｅ≦２７０°の範囲では、モータ角度θｅに過渡的な角度変動がない。そのため、電気角補間部２４０は、入力されるモータ角度θｅに対してＳＯＨ演算を行う。
【００７２】
一方、モータ角度θｅが０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°の範囲では、モータ角度θｅに過渡的な角度変動がある。そのため、電気角補間部２４０は、モータ角度θｅを１８０°オフセット処理し、連続的な角度信号にしてからＳＯＨ演算を行い、ＳＯＨ演算後の補間演算結果に対して１８０°オフセット戻し処理を行う。
【００７３】
モータ角度切替判定部２４３は、入力モータ角度θｅから切替フラグＳＦ（９０°＜θｅ≦２７０°のとき「Ｈ」、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき「Ｌ」）を生成する。
切替部２４４は、切替フラグＳＦに基づいて、ＳＯＨ演算後の補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを選択して出力する。
【００７４】
すなわち、切替部２４４は、９０°＜θｅ≦２７０°のとき、式６のように制御され、モータ角度θｅ２を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数６】
2019083015.tif 000008
また、切替部２４４は、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき、式７のように制御され、モータ角度θｅ７を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数７】
2019083015.tif 000009
【００７５】
図８は、電気角補間部２４０の制御フローチャートを示す。
電気角補間部２４０にモータ角度（電気角）θｅが入力される（ステップＳ１）。
【００７６】
演算処理部２４１のＳＯＨ演算部２４１−１は、ＳＯＨ演算を行う（ステップＳ１０）。モータ角度θｅは、次のＳＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＳＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ロールオーバ処理部２４１−２は、ＳＯＨ演算されたモータ角度θｅ１をロールオーバ処理してモータ角度θｅ２を出力する（ステップＳ１１）。
【００７７】
オフセット付き演算処理部２４２は、加算部２４２−２が固定部２４２−１から入力される係数１８０°を用いてモータ角度（電気角）θｅをオフセット処理する（ステップＳ２０）。
ロールオーバ処理部２４２−３は、オフセット処理されたモータ角度θｅ３をロールオーバ処理してモータ角度θｅ４を出力する（ステップＳ２１）。
ＳＯＨ演算部２４２−４は、入力されたモータ角度θｅ４に対してＳＯＨ演算を行う（ステップＳ２２）。モータ角度θｅは、次のＳＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＳＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ＳＯＨ演算されたモータ角度θｅ５は減算部２４２−６に入力され、固定部２４２−５から入力される係数１８０°でオフセット戻し処理が行われる（ステップＳ２３）。
オフセット戻し処理されたモータ角度θｅ６は、ロールオーバ処理部２４２−７でロールオーバ処理されてモータ角度θｅ７が出力される（ステップＳ２４）。
【００７８】
モータ角度切替判定部２４３は、モータ角度θｅが９０°より大きく、２７０°以下であることを判定する（ステップＳ２）。
この条件に当てはまる場合（ＹＥＳの場合）、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｈ」にする。
上記条件に当てはまらない場合（ＮＯの場合）、モータ角度θｅは０°以上で９０°以下、または２７０°より大きく３６０°以下であり、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｌ」にする（ステップＳ３）。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｈ」の場合、切替部２４４は、θe２を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する。モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｌ」の場合、切替部２４４は、θe７を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ４およびステップ５）。
【００７９】
図９は、電気角補間部２４０の各部波形を示しており、横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、６４［ｄｅｃ］／１［ｄｅｇ］である。なお、２３０４０［ｄｅｃ］＝３６０［ｄｅｇ］である。
【００８０】
図９（Ａ）は演算処理部２４１から出力されるモータ角度θｅ２の波形例であり、図９（Ｂ）はオフセット付き演算処理部２４２から出力されるモータ角度θｅ７の波形例である。また、図９（Ｃ）は切替フラグＳＦの「Ｈ」、「Ｌ」の切替のタイミングを示しており、図９（Ｄ）は切替部２４４から出力される補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓの波形例を示している。
【００８１】
図９（Ｄ）に示すように、電気角補間部２４０の出力するモータ角度（補間電気角）θｓは、図９（Ａ）に示す波形と比較して、モータ角度θｓが３６０°を超えて０°に戻る際において、過渡的な角度変動がない。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＳＯＨ演算による補間電気角の算出において高い精度を確保することができる。
【００８２】
［空間ベクトル変調部２５０］
図１０は、空間ベクトル変調部２５０の機能構成図である。
空間ベクトル変調部（変換部）２５０は、電圧の次元からＤｕｔｙの次元に変換してから空間ベクトル変換演算を行う（変換工程）。空間ベクトル変調部２５０は、ｄｑ軸空間の正規演算用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に変換して、３次高調波を重畳し、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する機能を有していれば良く、例えば本出願人による特開２０１７−７００６６号公報や国際公開第２０１７／０９８８４０号等で提案している空間ベクトル変調の手法を用いても良い。
【００８３】
空間ベクトル変調部２５０は、モータ角度（電気角）θｅを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部２５０−０と、補間電気角θｓを用いて空間ベクトル変換演算を行う空間ベクトル変調部２５０−１を有する。
【００８４】
空間ベクトル変調部（第１の空間ベクトル変調部）２５０−０は、モータ角度（電気角）θｅを用いて空間ベクトル変換演算を行い、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）（Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗ）を出力する。
【００８５】
空間ベクトル変調部（第２の空間ベクトル変調部）２５０−１は、補間電気角θｓを用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１（ｎ＝ｕ，ｖ，ｗ）（Ｄｕｔｙ＿ｕ＿ｍ１，Ｄｕｔｙ＿ｖ＿ｍ１，Ｄｕｔｙ＿ｗ＿ｍ１）を出力する。
【００８６】
［最終Ｄｕｔｙ演算部２００］
図１１は、最終Ｄｕｔｙ演算部２００の機能構成図である。
最終Ｄｕｔｙ演算部２００は、空間ベクトル変調部２５０からの正規Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）が加算部２２１に入力される。加算部２２１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２２２に入力される。リミッタ２２２からは最終正規Ｄｕｔｙ指令値Ｄｎ（ｎ＝ｕ，ｖ，ｗ）が出力される。
【００８７】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１は加算部２３１に入力され、加算部２３１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２３２に入力される。リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ１（ｎ＝ｕ，ｖ，ｗ）が出力される。
【００８８】
一般的にＥＰＳはバッテリ（ＤＣ＋１２Ｖ）からモータ印加電圧を供給するため、負（−）方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、３相ともＤｕｔｙ値５０％（＋６Ｖ）オフセットして基準電圧にすることにより、３相が０Ｖでなくても３相Ｄｕｔｙ値５０％時に相電流が０Ａになる（モータ印加電圧＋１２Ｖ時）。例えば、Ｕ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値５０％（＋６Ｖ）の場合、Ｕ相０Ａ、Ｖ相０Ａ、Ｗ相０Ａとなり、Ｕ相Ｄｕｔｙ値６０％（＋７．２Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値４０％（＋４．８Ｖ）とした場合、Ｕ相には正（＋）方向に電流が流れ、Ｕ相Ｄｕｔｙ値４０％（＋４．８Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値６０％（＋７．２Ｖ）とした場合、Ｕ相には負方向に電流が流れる。３相ともＤｕｔｙ値５０％にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Ｄｕｔｙ値５０％オフセットは基本的に固定であるが、Ｄｕｔｙ値５０％時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧１１Ｖの時、Ｄｕｔｙ値５０％は５．５Ｖとなり、印加電圧１３Ｖの時、Ｄｕｔｙ値５０％は６．５Ｖになる。
【００８９】
［Ｄｕｔｙ出力設定部１６０Ａ−１］
図１２は、Ｄｕｔｙ出力設定部１６０Ａ−１の機能構成図である。
Ｄｕｔｙ出力設定部（出力設定部）１６０Ａ−１は、図１２に示すように、制御周期Ｔｃおよび制御周期ＴｃからＴｃ／２μｓ経過後において、制御周期Ｔｃからの経過時間Ｔに基づいて、出力する最終的なＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを切り替えて出力する（出力設定工程）。
【００９０】
図１３は制御周期と最終正規Ｄｕｔｙ指令値Ｄｎ及び最終補間Ｄｕｔｙ指令値Ｄｎｍ１の出力タイミングを示している。
制御周期Ｔｃ（ｎ）で演算された最終正規Ｄｕｔｙ指令値Ｄｎおよび最終補間Ｄｕｔｙ指令値Ｄｎｍ１は、次の制御周期（ｎ＋１）の０μｓのタイミングで最終正規Ｄｕｔｙ指令値Ｄｎが出力され、その後１２５μｓのタイミングで最終補間Ｄｕｔｙ指令値Ｄｎｍ１が出力される。
【００９１】
図１４はシミュレーション装置におけるシミュレーション結果であり、横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、６４［ｄｅｃ］／１［ｄｅｇ］である。図１４（Ａ）はモータ角度（太線）の波形であり、２５０μｓ周期のサンプリングデータをＳＯＨ演算により算出した推定モータ角度（細線）が、２５０μｓ周期の１２５μｓ後の角度（電気角）として演算されていることが確認できる。推定モータ角度（細線）を横軸に１２５μｓオフセットすると、モータ角度（太線）の２５０μｓ周期のサンプリングデータの中間データを示す角度波形となる。図１４（Ｂ）は空間ベクトル変調により演算されたＤｕｔｙ指令値の波形であり、推定モータ角度を適応した補間Ｄｕｔｙ指令値の波形（細線）が、２５０μｓ周期の１２５μｓ後の波形として演算されていることが確認できる。補間Ｄｕｔｙ指令値の波形（細線）を横軸に１２５μｓオフセットすると、正規Ｄｕｔｙ指令値（太線）の２５０μｓ周期のデータの中間データを示すＤｕｔｙ指令値波形となる。
【００９２】
本実施形態のモータ制御装置４００によれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ＰＷＭ演算を行う周期よりも早い周期（５０μｓ）でＰＷＭ制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【００９３】
以上、本発明の第一実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
【００９４】
（変形例１）
例えば、上記実施形態に係るモータ制御装置４００は、モータ１００が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Ｄｕｔｙ指令値を直接の補間対象とせず、モータ角度（電気角）θｅを補間対象とする。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＳＯＨ演算による補間電気角の算出および補間Ｄｕｔｙ指令値の算出において高い精度を確保することができる。
【００９５】
（変形例２）
例えば、上記実施形態に係るモータ制御装置４００は、電動パワーステアリング装置３００に搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【００９６】
（変形例３）
例えば、上記実施形態に係るモータ制御装置４００は、制御周期Ｔｃが２５０μｓ（周波数４ＫＨｚ）であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃが１００μｓ以上、２５０μｓ以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するＣＰＵ等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が２５０μｓより短くなることが予測される。制御周期Ｔｃが１００μｓ以上、２５０μｓ以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【００９７】
（第二実施形態）
本発明の第二実施形態について、図１５から図３７を参照して説明する。
図１５は、本実施形態に係るモータ制御装置４００Ｂを搭載する電動パワーステアリング装置３００Ｂの構成を示す模式図である。電動パワーステアリング装置３００Ｂは、コラム部（ステアリングシャフト）に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
【００９８】
［電動パワーステアリング装置３００Ｂ］
電動パワーステアリング装置３００Ｂは、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２、減速ギア３、ユニバーサルジョイント４ａ，４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の舵角θｅを検出する舵角センサ１４と、ハンドル１の操舵トルクＴｈを検出するトルクセンサ１０とが設けられており、ハンドル１の操舵力を補助するモータ１００が減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置３００Ｂを制御するコントロールユニット（ＥＣＵ）３０には、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。
【００９９】
コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｓとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによってモータ１００を制御する。舵角センサ１４は必須のものではなく、配設されていなくても良く、モータ１００に連結されたレゾルバ等の回転センサから舵角（モータ角度）θｅを得ることもできる。
【０１００】
コントロールユニット３０は、主としてＣＰＵ(Central  Processing  Unit)（ＭＰＵ(Micro  Processor  Unit)やＭＣＵ(Micro  Controller  Unit)等を含む）を含むプログラム実行可能なコンピュータを備えている。
【０１０１】
コントロールユニット３０は、モータ１００を駆動するインバータ１６１や、モータ１００の電流を検出するモータ電流検出回路１６２や、モータ１００のモータ角度θｅを検出する角度検出部１１０Ａなどの回路を備えている。なお、これらの回路は、モータ１００側に搭載されていてもよい。
【０１０２】
コントロールユニット３０には、車両の各種情報を授受するＣＡＮ（Controller  Area  Network）４０が接続されており、車速ＶｓはＣＡＮ４０から受信することも可能である。また、コントロールユニット３０には、ＣＡＮ４０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ４１も接続可能である。
【０１０３】
モータ１００は、近年、電動パワーステアリング装置３００Ｂのアクチュエータとして主流である３相ブラシレスモータである。モータ１００は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ１００のロータの座標軸であるトルクを制御するｑ軸と、磁界の強さを制御するｄ軸とを独立に設定し、ｄｑ軸が９０°の関係にあることから、そのベクトルで各軸に相当する電流（ｄ軸電流指令値Ｉｒｅｆ_ｄ，ｑ軸電流指令値Ｉｒｅｆ_ｑ）を制御する。
【０１０４】
［モータ制御装置４００Ｂ］
図１６は、コントロールユニット３０によって構成されるモータ制御装置４００Ｂの機能構成図である。モータ制御装置４００Ｂの機能は、ＣＰＵ等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、ＣＰＵ等において実行されるプログラムとして実現されていてもよい。
【０１０５】
モータ制御装置４００Ｂは、モータ１００の駆動制御を行う。モータ制御装置４００Ｂは、電流指令値演算部３１と、モータ制御部３９Ｂと、ＰＷＭ制御部１６０と、インバータ１６１と、モータ電流検出回路１６２と、モータ角度検出部１１０Ａと、角速度演算部１１０Ｂと、３相交流／ｄｑ軸変換部１３０と、を備える。
【０１０６】
電流指令値演算部３１は、操舵トルクＴｈと車速Ｖｓ等に基づきアシストマップ等を用いて演算された２軸（ｄｑ軸座標系）のｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)を、モータ制御部３９Ｂに出力する。
【０１０７】
モータ制御部３９Ｂは、入力されるｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)、モータ角度θｅおよびモータ回転数Ｎ等から、デッドタイム補償を施した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を算出する。また、モータ制御部３９Ｂは、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)等から、空間ベクトル変調により３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを算出して、ＰＷＭ制御部１６０に出力する。
【０１０８】
図１７は、ＰＷＭ制御部１６０およびインバータ１６１の構成図である。
インバータ１６１は、図１７に示すように、ＦＥＴの３相ブリッジで構成されており、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ１００を駆動する。インバータ１６１とモータ１００との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ１０１が介挿されている。上側アームはスイッチング素子としてのＦＥＴＱ１，Ｑ２，Ｑ３で構成され、下側アームはＦＥＴＱ４，Ｑ５，Ｑ６で構成されている。また、ＦＥＴＱ１およびＱ４がＵ相、ＦＥＴＱ２およびＱ５がＶ相、ＦＥＴＱ３およびＱ６がＷ相の駆動素子である。
【０１０９】
ＰＷＭ制御部１６０は、図１７に示すように、入力された３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏに基づき、図１７に示すような上下アームのブリッジ構成で成るインバータ（インバータ印加電圧ＶＲ）１６１を介してモータ１００を駆動制御する。ＰＷＭ制御部１６０は、図１７に示すように、ＰＷＭ部１６０Ａ−２と、ゲート駆動部１６０Ｂとを有する。
【０１１０】
ＰＷＭ部１６０Ａ−２は、図１７に示すように、３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏをそれぞれ所定式に従って３相分ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。ＰＷＭ部１６０Ａ−２には、発振部１６０Ｃから例えば三角波の変調信号（キャリア）ＣＦが入力されており、ＰＷＭ部１６０Ａ−２は変調信号ＣＦに同期してＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。
【０１１１】
ゲート駆動部１６０Ｂは、図１７に示すように、ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を出力して駆動素子であるＦＥＴＱ１〜Ｑ６のゲートを駆動する。
【０１１２】
電動パワーステアリング装置３００Ｂは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ１００を駆動するインバータ１６１は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく（産業用機器＜ＥＰＳ）する必要がある。一般にスイッチング素子（例えばＦＥＴ(Field-Effect  Transistor)）にはＯＦＦの際に遅れ時間があるため、上下アームのスイッチング素子のＯＦＦ／ＯＮ切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がＯＦＦになる時間（デッドタイム）が設けられる。
【０１１３】
上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
【０１１４】
電流検出器１６２は、図１６に示すように、モータ１００の３相モータ電流Ｉｕ，Ｉｖ，Ｉｗを検出する。検出された３相モータ電流Ｉｕ，Ｉｖ，Ｉｗは、３相交流／ｄｑ軸変換部１３０に入力され、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑに変換される。２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑは、モータ制御部３９Ｂに入力される。
【０１１５】
モータ角度検出部１１０Ａは、モータ１００のモータ角度θｅを、必要がある場合は演算を行い、取得する。モータ角度θｅは、角速度演算部１１０Ｂ、モータ制御部３９Ｂおよび３相交流／ｄｑ軸変換部１３０に入力される。
角速度演算部１１０Ｂは、モータ角度θｅからモータ回転数Ｎおよびモータ角速度ωを演算により取得する。モータ回転数Ｎおよびモータ角速度ωは、モータ制御部３９Ｂに入力される。
【０１１６】
［モータ制御部３９Ｂ］
図１８は、モータ制御部３９Ｂの機能構成図である。
モータ制御部３９Ｂは、電圧指令値演算部２２０と、電気角補間部２４０Ｂと、空間ベクトル変調部２５０と、最終Ｄｕｔｙ演算部２００と、Ｄｕｔｙ出力設定部１６０Ａ−１と、を備えている。
電圧指令値演算部２２０は、ｄｑ軸デッドタイム補償値演算部２０１と、ｄｑ軸電流フィードバック制御部２０３と、電圧／Ｄｕｔｙ変換係数演算部２０４と、加算部２０５と、ｄｑ軸Ｄｕｔｙクランプ／ＶＲ感応演算部２１０と、を備えている。
【０１１７】
電圧指令値演算部２２０は、モータ１００から制御周期Ｔｃごとに取得したモータ電気角θｅおよびモータ回転数θｅと電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)などを用いて電圧指令値を算出する（電圧指令値演算工程）。
【０１１８】
ｄｑ軸デッドタイム補償値演算部２０１は、入力されるモータ回転数Ｎ、モータ角度（電気角）θｅ、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）から算出したｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０１１９】
ｄｑ軸電流フィードバック制御部２０３は、入力されるモータ角速度ω、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑから算出した電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０１２０】
電圧／Ｄｕｔｙ変換係数演算部２０４は、インバータ印加電圧ＶＲに応じて電圧／Ｄｕｔｙの変換係数Ｋｃを算出する。
【０１２１】
加算部２０５は、ｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）と、電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）とを加算した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を、３相Ｄｕｔｙクランプ／ＶＲ感応演算部２１０に出力する。
【０１２２】
ｄｑ軸Ｄｕｔｙクランプ／ＶＲ（インバータ印加電圧）感応演算部２１０は、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)と、電圧／Ｄｕｔｙ変換の変換係数Ｋｃとを乗算して算出したｄｑ軸正規用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を、空間ベクトル変調部２５０に入力する。
【０１２３】
［電気角補間部２４０Ｂ］
図１９は、電気角補間部２４０Ｂの構成図である。
電気角補間部２４０Ｂは、入力されたモータ角度θｅから、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを算出して、空間ベクトル変調部２５０に出力する（電気角補間工程）。
【０１２４】
電気角補間部２４０Ｂは、制御周期２５０μｓ（Ｔｃ）で検出されたモータ角度θｅに対する２次関数補間演算（Ｓｅｃｏｎｄ  Ｏｒｄｅｒ  Ｈｏｌｄ演算：以下では、２次関数補間演算のことを単に「ＳＯＨ演算」とする場合もある。）により、制御周期Ｔｃを１／５に分割した５０μｓの間隔（分割間隔）でモータ角度（補間電気角）θｓを推定し、推定されたモータ角度（補間電気角）θｓに基づいて補間Ｄｕｔｙ指令値を算出する。
【０１２５】
電気角補間部２４０Ｂが行うｄｑ軸電流制御では、空間ベクトル変調後のＤｕｔｙ指令値を補間対象としない。空間ベクトル変調後のＤｕｔｙ指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による３次高周波の歪み成分等に起因するノイズ成分が含まれ、Ｄｕｔｙ指令値を直接補間して算出した補間Ｄｕｔｙ指令値には、大きなノイズを含む値となる場合があるためである。
【０１２６】
電気角補間部２４０Ｂは、図１９に示すように、モータ角度θｅを入力して直接的にＳＯＨ演算を行う演算処理部２４１（ＳＯＨ演算部２４１−１およびロールオーバ処理部２４１−２）と、モータ角度θｅを入力してオフセット処理等を行い、ＳＯＨ演算を行うオフセット付き演算処理部２４２と、モータ角度θｅが９０°より大きく、２７０°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグＳＦを出力するモータ角度切替判定部２４３と、切替フラグＳＦによって接点ａ，ｂを切替えて補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを出力する切替部２４４と、を備えている。
【０１２７】
図２０から図２３は、制御周期Ｔｃを１／５に分割した５０μｓの間隔でＳＯＨ演算により算出した４つの補間電気角（以降、「補間電気角１〜４」と称す）を示している。以前に検出したモータ電気角θｅを用いて補間電気角１〜４（θｓ１〜４）を算出することで、電気角の変化を滑らかにすることができる。
【０１２８】
ＳＯＨ演算に用いられる関数ｙ[ｋ]は、式８で表される。ｙ[ｋ]は制御周期数ｋにおけるモータ角度（電気角）を表す関数である。
【数８】
2019083015.tif 000010
【０１２９】
係数ａ，ｂ，ｃを用いて、前々回値ｙ［−２］、前回値ｙ［−１］、今回値ｙ［０］で表すと式９が成立する。
【数９】
2019083015.tif 000011
【０１３０】
以上の数式を整理してａ，ｂ，ｃは、ｙ［０］，ｙ［−１］，ｙ［−２］を用いて式１０のように表される。
【数１０】
2019083015.tif 000012
【０１３１】
式１０を式８に代入すると、式１１となる。
【数１１】
2019083015.tif 000013
【０１３２】
補間電気角１（θｓ１）は、制御周期Ｔｃから５０μｓ（Ｔｃ＊｛１／５｝）後の電気角であるから、式１１にｋ＝０．２を代入することで算出することができる。
【数１２】
2019083015.tif 000014
【０１３３】
補間電気角２（θｓ２）は、制御周期Ｔｃから１００μｓ（Ｔｃ＊｛２／５｝）後の電気角であるから、式１１にｋ＝０．４を代入することで算出することができる。
【数１３】
2019083015.tif 000015
【０１３４】
補間電気角３（θｓ３）は、制御周期Ｔｃから１５０μｓ（Ｔｃ＊｛３／５｝）後の電気角であるから、式１１にｋ＝０．６を代入することで算出することができる。
【数１４】
2019083015.tif 000016
【０１３５】
補間電気角４（θｓ４）は、制御周期Ｔｃから２００μｓ（Ｔｃ＊｛４／５｝）後の電気角であるから、式１１にｋ＝０．８を代入することで算出することができる。
【数１５】
2019083015.tif 000017
【０１３６】
図２４は、ＳＯＨ演算部２４１−１（２４２−４）の機能構成図である。
ＳＯＨ演算部２４１−１は、モータ角度θｅの前回値の保持ユニット２４５−１および保持ユニット２４５−２と、係数部Ｂ０（２４５−３）と、係数部Ｂ１（２４５−４）と、係数部Ｂ２（２４５−５）と、加算部２４５−６と、加算部２４５−７と、を有している。
【０１３７】
モータ角度θｅは、係数部Ｂ０（２４５−３）および保持ユニット２４５−１に入力され、保持ユニット２４５−１の保持値は係数部Ｂ１（２４５−４）および保持ユニット２４５−２に入力される。保持ユニット２４５−２の保持値は係数部Ｂ２（２４５−５）に入力され、係数部Ｂ０（２４５−３）、係数部Ｂ１（２４５−４）および係数部Ｂ２（２４５−５）の各出力値が、加算部２４５−７および加算部２４５−６で加算されて、補間電気角θｓとして出力される。
【０１３８】
補間電気角１〜４（θｓ１〜４）を算出する際の係数Ｂ０，Ｂ１，Ｂ２は、式１２〜１５により、表１のように表される。
【表１】
2019083015.tif 000018
【０１３９】
電気角補間部２４０Ｂ内の演算処理部２４１は、図１９に示すように、モータ角度θeを入力してＳＯＨ演算を行うＳＯＨ演算部２４１−１と、ＳＯＨ演算部２４１−１から出力されるモータ角度θe１をロールオーバ処理（波形処理）するロールオーバ処理部２４１−２と、を備えている。ロールオーバ処理部２４１−２でロールオーバ処理されたモータ角度θe２は、切替部２４４の接点ａに入力される。
【０１４０】
オフセット付き演算処理部２４２は、図１９に示すように、モータ角度θeが入力されて固定部２４２−１から入力される係数１８０°によるオフセット処理を行う加算部２４２−２と、加算部２４２−２から入力されるモータ角度θe３をロールオーバ処理（波形処理）するロールオーバ処理部２４２−３と、ロールオーバ処理部２４２−３から入力されるモータ角度θe４を補正するＳＯＨ演算部２４２−４と、ＳＯＨ演算部２４２−４からモータ角度θe５が入力されて固定部２４２−５から入力される係数１８０°によるオフセット戻し処理を行う減算部２４２−６と、減算部２４２−６から入力されるモータ角度θe６をロールオーバ処理（波形処理）するロールオーバ処理部２４２−７と、を備えている。ロールオーバ処理部２４２−７でロールオーバ処理されたモータ角度θe７は、切替部２４４の接点ｂに入力される。
【０１４１】
演算処理部２４１のロールオーバ処理部２４１−２からのモータ角度θe２は切替部２４４の接点ａに入力されており、オフセット付き演算処理部２４２のロールオーバ処理部２４２−７からのモータ角度θe７は切替部２４４の接点ｂに入力されている。そして、切替部２４４の接点ａ及びｂは、モータ角度切替判定部２４３からの切替フラグＳＦ（「Ｈ」、「Ｌ」）によって切替えられ、切替部２４４から補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓが出力される。
【０１４２】
モータ角度（電気角）θｅは、現在のモータ角度から次のモータ角度に移る際において３６０°を超えた場合、０°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてＳＯＨ演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部２４０Ｂは、入力電気角のモータ角度θｅに応じて演算出力（補間Ｄｕｔｙ演算用のモータ角度θｓ）を切替える。
【０１４３】
モータ角度θｅが９０°＜θｅ≦２７０°の範囲では、モータ角度θｅに過渡的な角度変動がない。そのため、電気角補間部２４０Ｂは、入力されるモータ角度θｅに対してＳＯＨ演算を行う。
【０１４４】
一方、モータ角度θｅが０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°の範囲では、モータ角度θｅに過渡的な角度変動がある。そのため、電気角補間部２４０Ｂは、モータ角度θｅを１８０°オフセット処理し、連続的な角度信号にしてからＳＯＨ演算を行い、ＳＯＨ演算後の補間演算結果に対して１８０°オフセット戻し処理を行う。
【０１４５】
モータ角度切替判定部２４３は、入力モータ角度θｅから切替フラグＳＦ（９０°＜θｅ≦２７０°のとき「Ｈ」、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき「Ｌ」）を生成する。
切替部２４４は、切替フラグＳＦに基づいて、ＳＯＨ演算後の補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを選択して出力する。
【０１４６】
すなわち、切替部２４４は、９０°＜θｅ≦２７０°のとき、式１６のように制御され、モータ角度θｅ２を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数１６】
2019083015.tif 000019
また、切替部２４４は、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき、式１７のように制御され、モータ角度θｅ７を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数１７】
2019083015.tif 000020
【０１４７】
図２５は、電気角補間部２４０Ｂの制御フローチャートを示す。
電気角補間部２４０Ｂにモータ角度（電気角）θｅが入力される（ステップＳ１０１）。
【０１４８】
演算処理部２４１のＳＯＨ演算部２４１−１は、ＳＯＨ演算を行う（ステップＳ１１０）。モータ角度θｅは、次のＳＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＳＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ロールオーバ処理部２４１−２は、ＳＯＨ演算されたモータ角度θｅ１をロールオーバ処理してモータ角度θｅ２を出力する（ステップＳ１１１）。
【０１４９】
オフセット付き演算処理部２４２は、加算部２４２−２が固定部２４２−１から入力される係数１８０°を用いてモータ角度（電気角）θｅをオフセット処理する（ステップＳ１２０）。
ロールオーバ処理部２４２−３は、オフセット処理されたモータ角度θｅ３をロールオーバ処理してモータ角度θｅ４を出力する（ステップＳ１２１）。
ＳＯＨ演算部２４２−４は、入力されたモータ角度θｅ４に対してＳＯＨ演算を行う（ステップＳ１２２）。モータ角度θｅは、次のＳＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＳＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ＳＯＨ演算されたモータ角度θｅ５は減算部２４２−６に入力され、固定部２４２−５から入力される係数１８０°でオフセット戻し処理が行われる（ステップＳ１２３）。
オフセット戻し処理されたモータ角度θｅ６は、ロールオーバ処理部２４２−７でロールオーバ処理されてモータ角度θｅ７が出力される（ステップＳ１２４）。
【０１５０】
ステップＳ１１１およびステップＳ１２４の処理完了後、モータ角度切替判定部２４３は、モータ角度θｅが９０°より大きく、２７０°以下であることを判定する（ステップＳ１０２）。
この条件に当てはまる場合（ＹＥＳの場合）、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｈ」にする。
上記条件に当てはまらない場合（ＮＯの場合）、モータ角度θｅは０°以上で９０°以下、または２７０°より大きく３６０°以下であり、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｌ」にする。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｈ」の場合、切替部２４４は、θe２を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ１０３）。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｌ」の場合、切替部２４４は、θe７を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ１０４）。
【０１５１】
電気角補間部２４０Ｂは、補間電気角１〜４（θｓ１〜４）に対応する係数Ｂ０，Ｂ１，Ｂ２（表１参照）を用いてＳＯＨ演算を行い、補間電気角１〜４（θｓ１〜４）をそれぞれ算出する。
【０１５２】
図２６は、電気角補間部２４０Ｂの各部波形を示しており、横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、６４［ｄｅｃ］／１［ｄｅｇ］である。なお、２３０４０［ｄｅｃ］＝３６０［ｄｅｇ］である。
【０１５３】
図２６（Ａ）は演算処理部２４１から出力されるモータ角度θｅ２の波形例であり、図２６（Ｂ）はオフセット付き演算処理部２４２から出力されるモータ角度θｅ７の波形例である。また、図２６（Ｃ）は切替フラグＳＦの「Ｈ」、「Ｌ」の切替のタイミングを示しており、図２６（Ｄ）は切替部２４４から出力される補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓの波形例を示している。
【０１５４】
図２６（Ｄ）に示すように、電気角補間部２４０Ｂの出力するモータ角度（補間電気角）θｓは、図２６（Ａ）に示す波形と比較して、モータ角度θｓが３６０°を超えて０°に戻る際において、過渡的な角度変動がない。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＳＯＨ演算による補間電気角の算出において高い精度を確保することができる。
【０１５５】
［空間ベクトル変調部２５０］
図２７は、空間ベクトル変調部２５０の機能構成図である。
空間ベクトル変調部（変換部）２５０は、電圧の次元からＤｕｔｙの次元に変換してから空間ベクトル変換演算を行う（変換工程）。空間ベクトル変調部２５０は、ｄｑ軸空間の正規演算用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に変換して、３次高調波を重畳し、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する機能を有していれば良く、例えば本出願人による特開２０１７−７００６６号公報や国際公開第２０１７／０９８８４０号等で提案している空間ベクトル変調の手法を用いても良い。
【０１５６】
空間ベクトル変調部２５０は、モータ角度（電気角）θｅを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部２５０−０と、補間電気角１〜４（θｓ１〜４）をそれぞれ用いて空間ベクトル変換演算を行う空間ベクトル変調部２５０−１，２５０−２，２５０−３，２５０−４と、を有する。
【０１５７】
空間ベクトル変調部２５０−０は、モータ角度（電気角）θｅを用いて空間ベクトル変換演算を行い、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する。
【０１５８】
空間ベクトル変調部２５０−１は、補間電気角１（θｓ１）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ１，Ｄｕｔｙ＿ｖ＿ｍ１，Ｄｕｔｙ＿ｗ＿ｍ１を出力する。
【０１５９】
空間ベクトル変調部２５０−２は、補間電気角２（θｓ２）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ２，Ｄｕｔｙ＿ｖ＿ｍ２，Ｄｕｔｙ＿ｗ＿ｍ２を出力する。
【０１６０】
空間ベクトル変調部２５０−３は、補間電気角３（θｓ３）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ３，Ｄｕｔｙ＿ｖ＿ｍ３，Ｄｕｔｙ＿ｗ＿ｍ３を出力する。
【０１６１】
空間ベクトル変調部２５０−４は、補間電気角４（θｓ４）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ４，Ｄｕｔｙ＿ｖ＿ｍ４，Ｄｕｔｙ＿ｗ＿ｍ４を出力する。
【０１６２】
［最終Ｄｕｔｙ演算部２００］
図２８は、最終Ｄｕｔｙ演算部２００の機能構成図である。
最終Ｄｕｔｙ演算部２００は、空間ベクトル変調部２５０からの正規Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）が加算部２２１に入力される。加算部２２１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２２２に入力される。リミッタ２２２からは最終正規Ｄｕｔｙ指令値Ｄｎ（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０１６３】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１は加算部２３１に入力され、加算部２３１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２３２に入力される。リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ１（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０１６４】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ２，Ｄｕｔｙ＿ｎ＿ｍ３，Ｄｕｔｙ＿ｎ＿ｍ４は、補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１と同様の処理がなされ、リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ２，Ｄｎｍ３，Ｄｎｍ４（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０１６５】
一般的にＥＰＳはバッテリ（ＤＣ＋１２Ｖ）からモータ印加電圧を供給するため、負（−）方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、３相ともＤｕｔｙ値５０％（＋６Ｖ）オフセットして基準電圧にすることにより、３相が０Ｖでなくても３相Ｄｕｔｙ値５０％時に相電流が０Ａになる（モータ印加電圧＋１２Ｖ時）。例えば、Ｕ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値５０％（＋６Ｖ）の場合、Ｕ相０Ａ、Ｖ相０Ａ、Ｗ相０Ａとなり、Ｕ相Ｄｕｔｙ値６０％（＋７．２Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値４０％（＋４．８Ｖ）とした場合、Ｕ相には正（＋）方向に電流が流れ、Ｕ相Ｄｕｔｙ値４０％（＋４．８Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値６０％（＋７．２Ｖ）とした場合、Ｕ相には負方向に電流が流れる。３相ともＤｕｔｙ値５０％にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Ｄｕｔｙ値５０％オフセットは基本的に固定であるが、Ｄｕｔｙ値５０％時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧１１Ｖの時、Ｄｕｔｙ値５０％は５．５Ｖとなり、印加電圧１３Ｖの時、Ｄｕｔｙ値５０％は６．５Ｖになる。
【０１６６】
［Ｄｕｔｙ出力設定部１６０Ａ−１］
図２９は、Ｄｕｔｙ出力設定部１６０Ａ−１の機能構成図である。
Ｄｕｔｙ出力設定部（出力設定部）１６０Ａ−１は、図２９に示すように、制御周期Ｔｃを１／５に分割した５０μｓの間隔（分割間隔）に合わせ、制御周期Ｔｃからの経過時間Ｔに基づいて、出力する最終的なＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを切り替えて出力する（出力設定工程）。
【０１６７】
図３０から図３３は、モータ回転数が一定回転数(１２００ｒｐｍ)になるように操舵した条件において、補間電気角１〜４（θｓ１〜４）［ｄｅｇ］を推定したシミュレーション結果である。いずれの結果においても、補間電気角１〜４が、モータ電気角θｅを線形補間した線に重なっており、ＳＯＨ演算による推定角度演算が精度高く適切に行われていることが確認できる。
【０１６８】
図３４から図３７は、図３０から図３３に結果を示すシミュレーションと同一条件において推定した補間電気角１〜４（θｓ１〜４）を使用して演算したＤｕｔｙ指令値（Ｕ相）Ｄｕ＿ｍ１〜Ｄｕ＿ｍ４のシミュレーション波形である。横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、８１９２［ｄｅｃ］／１００［％］である。いずれの結果においても、補間Ｄｕｔｙ指令値が、正規Ｄｕｔｙ指令値Ｄｕを線形補間した線上または近傍に出力され、補間電気角を用いたＤｕｔｙ指令値の補間が精度高く適切に行われていることが確認できる。なお、Ｖ，Ｗ相は図示されていないが同様の結果を示す。
【０１６９】
本実施形態のモータ制御装置４００Ｂによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ＰＷＭ演算を行う周期よりも早い周期（５０μｓ）でＰＷＭ制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０１７０】
以上、本発明の第二実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
【０１７１】
（変形例４）
例えば、上記実施形態に係るモータ制御装置４００Ｂは、モータ１００が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Ｄｕｔｙ指令値を直接の補間対象とせず、モータ角度（電気角）θｅを補間対象とする。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＳＯＨ演算による補間電気角の算出および補間Ｄｕｔｙ指令値の算出において高い精度を確保することができる。
【０１７２】
（変形例５）
例えば、上記実施形態に係るモータ制御装置４００Ｂは、電動パワーステアリング装置３００Ｂに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０１７３】
（変形例６）
例えば、上記実施形態に係るモータ制御装置４００Ｂは、制御周期Ｔｃが２５０μｓ（周波数４ＫＨｚ）であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃが１００μｓ以上、２５０μｓ以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するＣＰＵ等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が２５０μｓより短くなることが予測される。制御周期Ｔｃが１００μｓ以上、２５０μｓ以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０１７４】
（第三実施形態）
本発明の第三実施形態について、図３８から図５３を参照して説明する。
図３８は、本実施形態に係るモータ制御装置４００Ｃを搭載する電動パワーステアリング装置３００Ｃの構成を示す模式図である。電動パワーステアリング装置３００Ｃは、コラム部（ステアリングシャフト）に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
【０１７５】
［電動パワーステアリング装置３００Ｃ］
電動パワーステアリング装置３００Ｃは、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２、減速ギア３、ユニバーサルジョイント４ａ，４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の舵角θｅを検出する舵角センサ１４と、ハンドル１の操舵トルクＴｈを検出するトルクセンサ１０とが設けられており、ハンドル１の操舵力を補助するモータ１００が減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置３００Ｃを制御するコントロールユニット（ＥＣＵ）３０には、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。
【０１７６】
コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｓとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによってモータ１００を制御する。舵角センサ１４は必須のものではなく、配設されていなくても良く、モータ１００に連結されたレゾルバ等の回転センサから舵角（モータ角度）θｅを得ることもできる。
【０１７７】
コントロールユニット３０は、主としてＣＰＵ(Central  Processing  Unit)（ＭＰＵ(Micro  Processor  Unit)やＭＣＵ(Micro  Controller  Unit)等を含む）を含むプログラム実行可能なコンピュータを備えている。
【０１７８】
コントロールユニット３０は、モータ１００を駆動するインバータ１６１や、モータ１００の電流を検出するモータ電流検出回路１６２や、モータ１００のモータ角度θｅを検出する角度検出部１１０Ａなどの回路を備えている。なお、これらの回路は、モータ１００側に搭載されていてもよい。
【０１７９】
コントロールユニット３０には、車両の各種情報を授受するＣＡＮ（Controller  Area  Network）４０が接続されており、車速ＶｓはＣＡＮ４０から受信することも可能である。また、コントロールユニット３０には、ＣＡＮ４０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ４１も接続可能である。
【０１８０】
モータ１００は、近年、電動パワーステアリング装置３００Ｃのアクチュエータとして主流である３相ブラシレスモータである。モータ１００は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ１００のロータの座標軸であるトルクを制御するｑ軸と、磁界の強さを制御するｄ軸とを独立に設定し、ｄｑ軸が９０°の関係にあることから、そのベクトルで各軸に相当する電流（ｄ軸電流指令値Ｉｒｅｆ_ｄ，ｑ軸電流指令値Ｉｒｅｆ_ｑ）を制御する。
【０１８１】
［モータ制御装置４００Ｃ］
図３９は、コントロールユニット３０によって構成されるモータ制御装置４００Ｃの機能構成図である。モータ制御装置４００Ｃの機能は、ＣＰＵ等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、ＣＰＵ等において実行されるプログラムとして実現されていてもよい。
【０１８２】
モータ制御装置４００Ｃは、モータ１００の駆動制御を行う。モータ制御装置４００Ｃは、電流指令値演算部３１と、モータ制御部３９Ｃと、ＰＷＭ制御部１６０と、インバータ１６１と、モータ電流検出回路１６２と、モータ角度検出部１１０Ａと、角速度演算部１１０Ｂと、３相交流／ｄｑ軸変換部１３０と、を備える。
【０１８３】
電流指令値演算部３１は、操舵トルクＴｈと車速Ｖｓ等に基づきアシストマップ等を用いて演算された２軸（ｄｑ軸座標系）のｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)を、モータ制御部３９Ｃに出力する。
【０１８４】
モータ制御部３９Ｃは、入力されるｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)、モータ角度θｅおよびモータ回転数Ｎ等から、デッドタイム補償を施した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を算出する。また、モータ制御部３９Ｃは、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)等から、空間ベクトル変調により３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを算出して、ＰＷＭ制御部１６０に出力する。
【０１８５】
図４０は、ＰＷＭ制御部１６０およびインバータ１６１の構成図である。
インバータ１６１は、図４０に示すように、ＦＥＴの３相ブリッジで構成されており、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ１００を駆動する。インバータ１６１とモータ１００との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ１０１が介挿されている。上側アームはスイッチング素子としてのＦＥＴＱ１，Ｑ２，Ｑ３で構成され、下側アームはＦＥＴＱ４，Ｑ５，Ｑ６で構成されている。また、ＦＥＴＱ１およびＱ４がＵ相、ＦＥＴＱ２およびＱ５がＶ相、ＦＥＴＱ３およびＱ６がＷ相の駆動素子である。
【０１８６】
ＰＷＭ制御部１６０は、図４０に示すように、入力された３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏに基づき、図４０に示すような上下アームのブリッジ構成で成るインバータ（インバータ印加電圧ＶＲ）１６１を介してモータ１００を駆動制御する。ＰＷＭ制御部１６０は、図４０に示すように、ＰＷＭ部１６０Ａ−２と、ゲート駆動部１６０Ｂとを有する。
【０１８７】
ＰＷＭ部１６０Ａ−２は、図４０に示すように、３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏをそれぞれ所定式に従って３相分ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。ＰＷＭ部１６０Ａ−２には、発振部１６０Ｃから例えば三角波の変調信号（キャリア）ＣＦが入力されており、ＰＷＭ部１６０Ａ−２は変調信号ＣＦに同期してＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。
【０１８８】
ゲート駆動部１６０Ｂは、図４０に示すように、ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を出力して駆動素子であるＦＥＴＱ１〜Ｑ６のゲートを駆動する。
【０１８９】
電動パワーステアリング装置３００Ｃは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ１００を駆動するインバータ１６１は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく（産業用機器＜ＥＰＳ）する必要がある。一般にスイッチング素子（例えばＦＥＴ(Field-Effect  Transistor)）にはＯＦＦの際に遅れ時間があるため、上下アームのスイッチング素子のＯＦＦ／ＯＮ切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がＯＦＦになる時間（デッドタイム）が設けられる。
【０１９０】
上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
【０１９１】
電流検出器１６２は、図３９に示すように、モータ１００の３相モータ電流Ｉｕ，Ｉｖ，Ｉｗを検出する。検出された３相モータ電流Ｉｕ，Ｉｖ，Ｉｗは、３相交流／ｄｑ軸変換部１３０に入力され、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑに変換される。２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑは、モータ制御部３９Ｃに入力される。
【０１９２】
モータ角度検出部１１０Ａは、モータ１００のモータ角度θｅを、必要がある場合は演算を行い、取得する。モータ角度θｅは、角速度演算部１１０Ｂ、モータ制御部３９Ｃおよび３相交流／ｄｑ軸変換部１３０に入力される。
角速度演算部１１０Ｂは、モータ角度θｅからモータ回転数Ｎおよびモータ角速度ωを演算により取得する。モータ回転数Ｎおよびモータ角速度ωは、モータ制御部３９Ｃに入力される。
【０１９３】
［モータ制御部３９Ｃ］
図４１は、モータ制御部３９Ｃの機能構成図である。
モータ制御部３９Ｃは、電圧指令値演算部２２０と、電気角補間部２４０Ｃと、空間ベクトル変調部２５０と、最終Ｄｕｔｙ演算部２００と、Ｄｕｔｙ出力設定部１６０Ａ−１と、を備えている。
電圧指令値演算部２２０は、ｄｑ軸デッドタイム補償値演算部２０１と、ｄｑ軸電流フィードバック制御部２０３と、電圧／Ｄｕｔｙ変換係数演算部２０４と、加算部２０５と、ｄｑ軸Ｄｕｔｙクランプ／ＶＲ感応演算部２１０と、を備えている。
【０１９４】
電圧指令値演算部２２０は、モータ１００から制御周期Ｔｃごとに取得したモータ電気角θｅおよびモータ回転数θｅと電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)などを用いて電圧指令値を算出する（電圧指令値演算工程）。
【０１９５】
ｄｑ軸デッドタイム補償値演算部２０１は、入力されるモータ回転数Ｎ、モータ角度（電気角）θｅ、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）から算出したｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０１９６】
ｄｑ軸電流フィードバック制御部２０３は、入力されるモータ角速度ω、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑから算出した電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０１９７】
電圧／Ｄｕｔｙ変換係数演算部２０４は、インバータ印加電圧ＶＲに応じて電圧／Ｄｕｔｙの変換係数Ｋｃを算出する。
【０１９８】
加算部２０５は、ｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）と、電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）とを加算した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を、３相Ｄｕｔｙクランプ／ＶＲ感応演算部２１０に出力する。
【０１９９】
ｄｑ軸Ｄｕｔｙクランプ／ＶＲ（インバータ印加電圧）感応演算部２１０は、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)と、電圧／Ｄｕｔｙ変換の変換係数Ｋｃとを乗算して算出したｄｑ軸正規用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を、空間ベクトル変調部２５０に入力する。
【０２００】
［電気角補間部２４０Ｃ］
図４２は、電気角補間部２４０Ｃの構成図である。
電気角補間部２４０Ｃは、入力されたモータ角度θｅから、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを算出して、空間ベクトル変調部２５０に出力する（電気角補間工程）。
【０２０１】
電気角補間部２４０Ｃは、制御周期２５０μｓ（Ｔｃ）で検出されたモータ角度θｅに対する１次関数補間演算（Ｆｉｒｓｔ  Ｏｒｄｅｒ  Ｈｏｌｄ演算：以下では、１次関数補間演算のことを単に「ＦＯＨ演算」とする場合もある。）により、制御周期ＴｃからＴｍμｓ（０＜Ｔｍ＜Ｔｃ）経過後のモータ角度（補間電気角）θｓを推定し、推定されたモータ角度（補間電気角）θｓに基づいて補間Ｄｕｔｙ指令値を算出する。
【０２０２】
電気角補間部２４０Ｃが行うｄｑ軸電流制御では、空間ベクトル変調後のＤｕｔｙ指令値を補間対象としない。空間ベクトル変調後のＤｕｔｙ指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による３次高周波の歪み成分等に起因するノイズ成分が含まれ、Ｄｕｔｙ指令値を直接補間して算出した補間Ｄｕｔｙ指令値には、大きなノイズを含む値となる場合があるためである。
【０２０３】
電気角補間部２４０Ｃは、図４２に示すように、モータ角度θｅを入力して直接的にＦＯＨ演算を行う演算処理部２４１Ｃ（ＦＯＨ演算部２４１Ｃ−１およびロールオーバ処理部２４１−２）と、モータ角度θｅを入力してオフセット処理等を行い、ＦＯＨ演算を行うオフセット付き演算処理部２４２Ｃと、モータ角度θｅが９０°より大きく、２７０°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグＳＦを出力するモータ角度切替判定部２４３と、切替フラグＳＦによって接点ａ，ｂを切替えて補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを出力する切替部２４４と、を備えている。
【０２０４】
図４３は、制御周期ＴｃからＴｍμｓ（０＜Ｔｍ＜Ｔｃ）経過後において、ＦＯＨ演算により算出した補間電気角を示している。以前に検出したモータ電気角θｅを用いて補間電気角θｓを算出することで、電気角の変化を滑らかにすることができる。
【０２０５】
ＦＯＨ演算に用いられる関数ｙ[ｋ]は、式１８で表される。ｙ[ｋ]は制御周期数ｋにおけるモータ角度（電気角）を表す関数である。
【数１８】
2019083015.tif 000021
【０２０６】
係数ａ，ｂを用いて、前回値ｙ［−１］、今回値ｙ［０］で表すと式１９が成立する。
【数１９】
2019083015.tif 000022
【０２０７】
以上の数式を整理してａ，ｂは、ｙ［０］，ｙ［−１］を用いて式２０のように表される。
【数２０】
2019083015.tif 000023
【０２０８】
式２０を式１８に代入すると、式２１となる。
【数２１】
2019083015.tif 000024
【０２０９】
補間電気角θｓは、制御周期ＴｃからＴｍ後の電気角であるから、式２１にｋ＝Ｔｍ／Ｔｃを代入することで算出することができる。例として、制御周期Ｔｃ＝２５０［ｕｓ］、Ｔｍ＝１２５［ｕｓ］とすると、ｙ［ｋ］は式２１にｋ＝０．５を代入することで算出することができる。
【数２２】
2019083015.tif 000025
【０２１０】
また、制御周期Ｔｃ＝２５０［ｕｓ］、Ｔｍ＝１５０［ｕｓ］とすると、ｙ［ｋ］は式２１にｋ＝０．６を代入することで算出することができる。
【数２３】
2019083015.tif 000026
【０２１１】
図４４は、ＦＯＨ演算部２４１Ｃ−１（２４２Ｃ−４）の機能構成図である。
ＦＯＨ演算部２４１Ｃ−１は、モータ角度θｅの前回値の保持ユニット２４５−１および保持ユニット２４５−２と、係数部Ｂ０（２４５−３）と、係数部Ｂ１（２４５−４）と、係数部Ｂ２（２４５−５）と、加算部２４５−６と、加算部２４５−７と、を有している。
【０２１２】
モータ角度θｅは、係数部Ｂ０（２４５−３）および保持ユニット２４５−１に入力され、保持ユニット２４５−１の保持値は係数部Ｂ１（２４５−４）に入力される。係数部Ｂ０（２４５−３）および係数部Ｂ１（２４５−４）の各出力値が、加算部２４５−６で加算されて、補間電気角θｓとして出力される。
【０２１３】
補間電気角θｓを算出する際の係数Ｂ０，Ｂ１は、式２２〜２３により、表２のように表される。
【表２】
2019083015.tif 000027
【０２１４】
電気角補間部２４０Ｃ内の演算処理部２４１Ｃは、図４２に示すように、モータ角度θeを入力してＦＯＨ演算を行うＦＯＨ演算部２４１Ｃ−１と、ＦＯＨ演算部２４１Ｃ−１から出力されるモータ角度θe１をロールオーバ処理（波形処理）するロールオーバ処理部２４１−２と、を備えている。ロールオーバ処理部２４１−２でロールオーバ処理されたモータ角度θe２は、切替部２４４の接点ａに入力される。
【０２１５】
オフセット付き演算処理部２４２Ｃは、図４２に示すように、モータ角度θeが入力されて固定部２４２−１から入力される係数１８０°によるオフセット処理を行う加算部２４２−２と、加算部２４２−２から入力されるモータ角度θe３をロールオーバ処理（波形処理）するロールオーバ処理部２４２−３と、ロールオーバ処理部２４２−３から入力されるモータ角度θe４を補正するＦＯＨ演算部２４２Ｃ−４と、ＦＯＨ演算部２４２Ｃ−４からモータ角度θe５が入力されて固定部２４２−５から入力される係数１８０°によるオフセット戻し処理を行う減算部２４２−６と、減算部２４２−６から入力されるモータ角度θe６をロールオーバ処理（波形処理）するロールオーバ処理部２４２−７と、を備えている。ロールオーバ処理部２４２−７でロールオーバ処理されたモータ角度θe７は、切替部２４４の接点ｂに入力される。
【０２１６】
演算処理部２４１Ｃのロールオーバ処理部２４１−２からのモータ角度θe２は切替部２４４の接点ａに入力されており、オフセット付き演算処理部２４２Ｃのロールオーバ処理部２４２−７からのモータ角度θe７は切替部２４４の接点ｂに入力されている。そして、切替部２４４の接点ａ及びｂは、モータ角度切替判定部２４３からの切替フラグＳＦ（「Ｈ」、「Ｌ」）によって切替えられ、切替部２４４から補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓが出力される。
【０２１７】
モータ角度（電気角）θｅは、現在のモータ角度から次のモータ角度に移る際において３６０°を超えた場合、０°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてＦＯＨ演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部２４０Ｃは、入力電気角のモータ角度θｅに応じて演算出力（補間Ｄｕｔｙ演算用のモータ角度θｓ）を切替える。
【０２１８】
モータ角度θｅが９０°＜θｅ≦２７０°の範囲では、モータ角度θｅに過渡的な角度変動がない。そのため、電気角補間部２４０Ｃは、入力されるモータ角度θｅに対してＦＯＨ演算を行う。
【０２１９】
一方、モータ角度θｅが０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°の範囲では、モータ角度θｅに過渡的な角度変動がある。そのため、電気角補間部２４０Ｃは、モータ角度θｅを１８０°オフセット処理し、連続的な角度信号にしてからＦＯＨ演算を行い、ＦＯＨ演算後の補間演算結果に対して１８０°オフセット戻し処理を行う。
【０２２０】
モータ角度切替判定部２４３は、入力モータ角度θｅから切替フラグＳＦ（９０°＜θｅ≦２７０°のとき「Ｈ」、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき「Ｌ」）を生成する。
切替部２４４は、切替フラグＳＦに基づいて、ＦＯＨ演算後の補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを選択して出力する。
【０２２１】
すなわち、切替部２４４は、９０°＜θｅ≦２７０°のとき、式２４のように制御され、モータ角度θｅ２を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数２４】
2019083015.tif 000028
また、切替部２４４は、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき、式２５のように制御され、モータ角度θｅ７を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数２５】
2019083015.tif 000029
【０２２２】
図４５は、電気角補間部２４０Ｃの制御フローチャートを示す。
電気角補間部２４０Ｃにモータ角度（電気角）θｅが入力される（ステップＳ２０１）。
【０２２３】
演算処理部２４１ＣのＦＯＨ演算部２４１Ｃ−１は、ＦＯＨ演算を行う（ステップＳ２１０）。モータ角度θｅは、次のＦＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＦＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ロールオーバ処理部２４１−２は、ＦＯＨ演算されたモータ角度θｅ１をロールオーバ処理してモータ角度θｅ２を出力する（ステップＳ２１１）。
【０２２４】
オフセット付き演算処理部２４２Ｃは、加算部２４２−２が固定部２４２−１から入力される係数１８０°を用いてモータ角度（電気角）θｅをオフセット処理する（ステップＳ２２０）。
ロールオーバ処理部２４２−３は、オフセット処理されたモータ角度θｅ３をロールオーバ処理してモータ角度θｅ４を出力する（ステップＳ２２１）。
ＦＯＨ演算部２４２Ｃ−４は、入力されたモータ角度θｅ４に対してＦＯＨ演算を行う（ステップＳ２２２）。モータ角度θｅは、次のＦＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。
ＦＯＨ演算されたモータ角度θｅ５は減算部２４２−６に入力され、固定部２４２−５から入力される係数１８０°でオフセット戻し処理が行われる（ステップＳ２２３）。
オフセット戻し処理されたモータ角度θｅ６は、ロールオーバ処理部２４２−７でロールオーバ処理されてモータ角度θｅ７が出力される（ステップＳ２２４）。
【０２２５】
ステップＳ２１１およびステップＳ２２４の処理完了後、モータ角度切替判定部２４３は、モータ角度θｅが９０°より大きく、２７０°以下であることを判定する（ステップＳ２０２）。
この条件に当てはまる場合（ＹＥＳの場合）、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｈ」にする。
上記条件に当てはまらない場合（ＮＯの場合）、モータ角度θｅは０°以上で９０°以下、または２７０°より大きく３６０°以下であり、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｌ」にする。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｈ」の場合、切替部２４４は、θe２を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ２０３）。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｌ」の場合、切替部２４４は、θe７を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ２０４）。
【０２２６】
図４６は、電気角補間部２４０Ｃの各部波形を示しており、横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、６４［ｄｅｃ］／１［ｄｅｇ］である。なお、２３０４０［ｄｅｃ］＝３６０［ｄｅｇ］である。
【０２２７】
図４６（Ａ）は演算処理部２４１Ｃから出力されるモータ角度θｅ２の波形例であり、図４６（Ｂ）はオフセット付き演算処理部２４２Ｃから出力されるモータ角度θｅ７の波形例である。また、図４６（Ｃ）は切替フラグＳＦの「Ｈ」、「Ｌ」の切替のタイミングを示しており、図４６（Ｄ）は切替部２４４から出力される補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓの波形例を示している。
【０２２８】
図４６（Ｄ）に示すように、電気角補間部２４０Ｃの出力するモータ角度（補間電気角）θｓは、図４６（Ａ）に示す波形と比較して、モータ角度θｓが３６０°を超えて０°に戻る際において、過渡的な角度変動がない。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＦＯＨ演算による補間電気角の算出において高い精度を確保することができる。
【０２２９】
［空間ベクトル変調部２５０］
図４７は、空間ベクトル変調部２５０の機能構成図である。
空間ベクトル変調部（変換部）２５０は、電圧の次元からＤｕｔｙの次元に変換してから空間ベクトル変換演算を行う（変換工程）。空間ベクトル変調部２５０は、ｄｑ軸空間の正規演算用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に変換して、３次高調波を重畳し、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する機能を有していれば良く、例えば本出願人による特開２０１７−７００６６号公報や国際公開第２０１７／０９８８４０号等で提案している空間ベクトル変調の手法を用いても良い。
【０２３０】
空間ベクトル変調部２５０は、モータ角度（電気角）θｅを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部２５０−０と、補間電気角θｓを用いて空間ベクトル変換演算を行う空間ベクトル変調部２５０−１と、を有する。
【０２３１】
空間ベクトル変調部２５０−０は、モータ角度（電気角）θｅを用いて空間ベクトル変換演算を行い、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）（Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗ）を出力する。
【０２３２】
空間ベクトル変調部２５０−１は、補間電気角θｓを用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１（ｎ＝ｕ，ｖ，ｗ）（Ｄｕｔｙ＿ｕ＿ｍ１，Ｄｕｔｙ＿ｖ＿ｍ１，Ｄｕｔｙ＿ｗ＿ｍ１）を出力する。
【０２３３】
［最終Ｄｕｔｙ演算部２００］
図４８は、最終Ｄｕｔｙ演算部２００の機能構成図である。
最終Ｄｕｔｙ演算部２００は、空間ベクトル変調部２５０からの正規Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）が加算部２２１に入力される。加算部２２１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２２２に入力される。リミッタ２２２からは最終正規Ｄｕｔｙ指令値Ｄｎ（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０２３４】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１は加算部２３１に入力され、加算部２３１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２３２に入力される。リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ１（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０２３５】
一般的にＥＰＳはバッテリ（ＤＣ＋１２Ｖ）からモータ印加電圧を供給するため、負（−）方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、３相ともＤｕｔｙ値５０％（＋６Ｖ）オフセットして基準電圧にすることにより、３相が０Ｖでなくても３相Ｄｕｔｙ値５０％時に相電流が０Ａになる（モータ印加電圧＋１２Ｖ時）。例えば、Ｕ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値５０％（＋６Ｖ）の場合、Ｕ相０Ａ、Ｖ相０Ａ、Ｗ相０Ａとなり、Ｕ相Ｄｕｔｙ値６０％（＋７．２Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値４０％（＋４．８Ｖ）とした場合、Ｕ相には正（＋）方向に電流が流れ、Ｕ相Ｄｕｔｙ値４０％（＋４．８Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値６０％（＋７．２Ｖ）とした場合、Ｕ相には負方向に電流が流れる。３相ともＤｕｔｙ値５０％にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Ｄｕｔｙ値５０％オフセットは基本的に固定であるが、Ｄｕｔｙ値５０％時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧１１Ｖの時、Ｄｕｔｙ値５０％は５．５Ｖとなり、印加電圧１３Ｖの時、Ｄｕｔｙ値５０％は６．５Ｖになる。
【０２３６】
［Ｄｕｔｙ出力設定部１６０Ａ−１］
図４９は、Ｄｕｔｙ出力設定部１６０Ａ−１の機能構成図である。
Ｄｕｔｙ出力設定部（出力設定部）１６０Ａ−１は、図４９に示すように、制御周期Ｔｃおよび制御周期ＴｃからＴｍμｓ（０＜Ｔｍ＜Ｔｃ）経過後において、制御周期Ｔｃからの経過時間Ｔに基づいて、出力する最終的なＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを切り替えて出力する（出力設定工程）。
【０２３７】
図５０および図５１は、モータ回転数が一定回転数(２０００ｒｐｍ)になるように操舵した条件において、補間電気角θｓ［ｄｅｇ］を推定したシミュレーション結果である。図５０は、制御周期Ｔｃ＝２５０［ｕｓ］、Ｔｍ＝１２５［ｕｓ］の条件におけるシミュレーション結果である。図５１は、制御周期Ｔｃ＝２５０［ｕｓ］、Ｔｍ＝１５０［ｕｓ］の条件におけるシミュレーション結果である。いずれの結果においても、補間電気角が、モータ電気角θｅを線形補間した線に重なっており、ＦＯＨ演算による推定角度演算が精度高く適切に行われていることが確認できる。
【０２３８】
図５２および図５３は、図５０および図５１に結果を示すシミュレーションと同一条件において推定した補間電気角θｓを使用して演算したＤｕｔｙ指令値（Ｕ相）Ｄｕ＿ｍ１〜Ｄｕ＿ｍ４のシミュレーション波形である。いずれの結果においても、補間Ｄｕｔｙ指令値が、正規Ｄｕｔｙ指令値Ｄｕを線形補間した線上または近傍に出力され、補間電気角を用いたＤｕｔｙ指令値の補間が精度高く適切に行われていることが確認できる。なお、Ｖ，Ｗ相は図示されていないが同様の結果を示す。
【０２３９】
本実施形態のモータ制御装置４００Ｃによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ＰＷＭ演算を行う周期よりも早い周期（５０μｓ）でＰＷＭ制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
本実施形態のモータ制御装置４００Ｃによれば、補間電気角の演算に一次関数補間演算ＦＯＨを使用しており、二次関数補間演算等の補間演算と比較して、精度がわずかに低下するものの、マイクロコンピュータの演算処理量の増加を好適に抑えることができる。
【０２４０】
以上、本発明の第三実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
【０２４１】
（変形例７）
例えば、上記実施形態に係るモータ制御装置４００Ｃは、モータ１００が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Ｄｕｔｙ指令値を直接の補間対象とせず、モータ角度（電気角）θｅを補間対象とする。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＦＯＨ演算による補間電気角の算出および補間Ｄｕｔｙ指令値の算出において高い精度を確保することができる。
【０２４２】
（変形例８）
例えば、上記実施形態に係るモータ制御装置４００Ｃは、電動パワーステアリング装置３００Ｃに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０２４３】
（変形例９）
例えば、上記実施形態に係るモータ制御装置４００Ｃは、制御周期Ｔｃが２５０μｓ（周波数４ＫＨｚ）であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃが１００μｓ以上、２５０μｓ以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するＣＰＵ等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が２５０μｓより短くなることが予測される。制御周期Ｔｃが１００μｓ以上、２５０μｓ以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０２４４】
（第四実施形態）
本発明の第四実施形態について、図５４から図７６を参照して説明する。
図５４は、本実施形態に係るモータ制御装置４００Ｄを搭載する電動パワーステアリング装置３００Ｄの構成を示す模式図である。電動パワーステアリング装置３００Ｄは、コラム部（ステアリングシャフト）に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
【０２４５】
［電動パワーステアリング装置３００Ｄ］
電動パワーステアリング装置３００Ｄは、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２、減速ギア３、ユニバーサルジョイント４ａ，４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の舵角θｅを検出する舵角センサ１４と、ハンドル１の操舵トルクＴｈを検出するトルクセンサ１０とが設けられており、ハンドル１の操舵力を補助するモータ１００が減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置３００Ｄを制御するコントロールユニット（ＥＣＵ）３０には、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。
【０２４６】
コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｓとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによってモータ１００を制御する。舵角センサ１４は必須のものではなく、配設されていなくても良く、モータ１００に連結されたレゾルバ等の回転センサから舵角（モータ角度）θｅを得ることもできる。
【０２４７】
コントロールユニット３０は、主としてＣＰＵ(Central  Processing  Unit)（ＭＰＵ(Micro  Processor  Unit)やＭＣＵ(Micro  Controller  Unit)等を含む）を含むプログラム実行可能なコンピュータを備えている。
【０２４８】
コントロールユニット３０は、モータ１００を駆動するインバータ１６１や、モータ１００の電流を検出するモータ電流検出回路１６２や、モータ１００のモータ角度θｅを検出する角度検出部１１０Ａなどの回路を備えている。なお、これらの回路は、モータ１００側に搭載されていてもよい。
【０２４９】
コントロールユニット３０には、車両の各種情報を授受するＣＡＮ（Controller  Area  Network）４０が接続されており、車速ＶｓはＣＡＮ４０から受信することも可能である。また、コントロールユニット３０には、ＣＡＮ４０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ４１も接続可能である。
【０２５０】
モータ１００は、近年、電動パワーステアリング装置３００Ｄのアクチュエータとして主流である３相ブラシレスモータである。モータ１００は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ１００のロータの座標軸であるトルクを制御するｑ軸と、磁界の強さを制御するｄ軸とを独立に設定し、ｄｑ軸が９０°の関係にあることから、そのベクトルで各軸に相当する電流（ｄ軸電流指令値Ｉｒｅｆ_ｄ，ｑ軸電流指令値Ｉｒｅｆ_ｑ）を制御する。
【０２５１】
［モータ制御装置４００Ｄ］
図５５は、コントロールユニット３０によって構成されるモータ制御装置４００Ｄの機能構成図である。モータ制御装置４００Ｄの機能は、ＣＰＵ等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、ＣＰＵ等において実行されるプログラムとして実現されていてもよい。
【０２５２】
モータ制御装置４００Ｄは、モータ１００の駆動制御を行う。モータ制御装置４００Ｄは、電流指令値演算部３１と、モータ制御部３９Ｄと、ＰＷＭ制御部１６０と、インバータ１６１と、モータ電流検出回路１６２と、モータ角度検出部１１０Ａと、角速度演算部１１０Ｂと、３相交流／ｄｑ軸変換部１３０と、を備える。
【０２５３】
電流指令値演算部３１は、操舵トルクＴｈと車速Ｖｓ等に基づきアシストマップ等を用いて演算された２軸（ｄｑ軸座標系）のｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)を、モータ制御部３９Ｄに出力する。
【０２５４】
モータ制御部３９Ｄは、入力されるｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)、モータ角度θｅおよびモータ回転数Ｎ等から、デッドタイム補償を施した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を算出する。また、モータ制御部３９Ｄは、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)等から、空間ベクトル変調により３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを算出して、ＰＷＭ制御部１６０に出力する。
【０２５５】
図５６は、ＰＷＭ制御部１６０およびインバータ１６１の構成図である。
インバータ１６１は、図５６に示すように、ＦＥＴの３相ブリッジで構成されており、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ１００を駆動する。インバータ１６１とモータ１００との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ１０１が介挿されている。上側アームはスイッチング素子としてのＦＥＴＱ１，Ｑ２，Ｑ３で構成され、下側アームはＦＥＴＱ４，Ｑ５，Ｑ６で構成されている。また、ＦＥＴＱ１およびＱ４がＵ相、ＦＥＴＱ２およびＱ５がＶ相、ＦＥＴＱ３およびＱ６がＷ相の駆動素子である。
【０２５６】
ＰＷＭ制御部１６０は、図５６に示すように、入力された３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏに基づき、図５６に示すような上下アームのブリッジ構成で成るインバータ（インバータ印加電圧ＶＲ）１６１を介してモータ１００を駆動制御する。ＰＷＭ制御部１６０は、図５６に示すように、ＰＷＭ部１６０Ａ−２と、ゲート駆動部１６０Ｂとを有する。
【０２５７】
ＰＷＭ部１６０Ａ−２は、図５６に示すように、３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏをそれぞれ所定式に従って３相分ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。ＰＷＭ部１６０Ａ−２には、発振部１６０Ｃから例えば三角波の変調信号（キャリア）ＣＦが入力されており、ＰＷＭ部１６０Ａ−２は変調信号ＣＦに同期してＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。
【０２５８】
ゲート駆動部１６０Ｂは、図５６に示すように、ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を出力して駆動素子であるＦＥＴＱ１〜Ｑ６のゲートを駆動する。
【０２５９】
電動パワーステアリング装置３００Ｄは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ１００を駆動するインバータ１６１は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく（産業用機器＜ＥＰＳ）する必要がある。一般にスイッチング素子（例えばＦＥＴ(Field-Effect  Transistor)）にはＯＦＦの際に遅れ時間があるため、上下アームのスイッチング素子のＯＦＦ／ＯＮ切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がＯＦＦになる時間（デッドタイム）が設けられる。
【０２６０】
上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
【０２６１】
電流検出器１６２は、図５５に示すように、モータ１００の３相モータ電流Ｉｕ，Ｉｖ，Ｉｗを検出する。検出された３相モータ電流Ｉｕ，Ｉｖ，Ｉｗは、３相交流／ｄｑ軸変換部１３０に入力され、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑに変換される。２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑは、モータ制御部３９Ｄに入力される。
【０２６２】
モータ角度検出部１１０Ａは、モータ１００のモータ角度θｅを、必要がある場合は演算を行い、取得する。モータ角度θｅは、角速度演算部１１０Ｂ、モータ制御部３９Ｄおよび３相交流／ｄｑ軸変換部１３０に入力される。
角速度演算部１１０Ｂは、モータ角度θｅからモータ回転数Ｎおよびモータ角速度ωを演算により取得する。モータ回転数Ｎおよびモータ角速度ωは、モータ制御部３９Ｄに入力される。
【０２６３】
［モータ制御部３９Ｄ］
図５７は、モータ制御部３９Ｄの機能構成図である。
モータ制御部３９Ｄは、電圧指令値演算部２２０と、電気角補間部２４０Ｄと、空間ベクトル変調部２５０と、最終Ｄｕｔｙ演算部２００と、Ｄｕｔｙ出力設定部１６０Ａ−１と、を備えている。
電圧指令値演算部２２０は、ｄｑ軸デッドタイム補償値演算部２０１と、ｄｑ軸電流フィードバック制御部２０３と、電圧／Ｄｕｔｙ変換係数演算部２０４と、加算部２０５と、ｄｑ軸Ｄｕｔｙクランプ／ＶＲ感応演算部２１０と、を備えている。
【０２６４】
電圧指令値演算部２２０は、モータ１００から制御周期Ｔｃごとに取得したモータ電気角θｅおよびモータ回転数θｅと電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)などを用いて電圧指令値を算出する（電圧指令値演算工程）。
【０２６５】
ｄｑ軸デッドタイム補償値演算部２０１は、入力されるモータ回転数Ｎ、モータ角度（電気角）θｅ、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）から算出したｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０２６６】
ｄｑ軸電流フィードバック制御部２０３は、入力されるモータ角速度ω、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑから算出した電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０２６７】
電圧／Ｄｕｔｙ変換係数演算部２０４は、インバータ印加電圧ＶＲに応じて電圧／Ｄｕｔｙの変換係数Ｋｃを算出する。
【０２６８】
加算部２０５は、ｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）と、電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）とを加算した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を、３相Ｄｕｔｙクランプ／ＶＲ感応演算部２１０に出力する。
【０２６９】
ｄｑ軸Ｄｕｔｙクランプ／ＶＲ（インバータ印加電圧）感応演算部２１０は、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)と、電圧／Ｄｕｔｙ変換の変換係数Ｋｃとを乗算して算出したｄｑ軸正規用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を、空間ベクトル変調部２５０に入力する。
【０２７０】
［電気角補間部２４０Ｄ］
図５８は、電気角補間部２４０Ｄの構成図である。
電気角補間部２４０Ｄは、入力されたモータ角度θｅから、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを算出して、空間ベクトル変調部２５０に出力する（電気角補間工程）。
【０２７１】
電気角補間部２４０Ｄは、制御周期２５０μｓ（Ｔｃ）で検出されたモータ角度θｅに対する１次関数補間演算（Ｆｉｒｓｔ  Ｏｒｄｅｒ  Ｈｏｌｄ演算：以下では、１次関数補間演算のことを単に「ＦＯＨ演算」とする場合もある。）により、制御周期Ｔｃを１／５に分割した５０μｓの間隔（分割間隔）でモータ角度（補間電気角）θｓを推定し、推定されたモータ角度（補間電気角）θｓに基づいて補間Ｄｕｔｙ指令値を算出する。
【０２７２】
電気角補間部２４０Ｄが行うｄｑ軸電流制御では、空間ベクトル変調後のＤｕｔｙ指令値を補間対象としない。空間ベクトル変調後のＤｕｔｙ指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による３次高周波の歪み成分等に起因するノイズ成分が含まれ、Ｄｕｔｙ指令値を直接補間して算出した補間Ｄｕｔｙ指令値には、大きなノイズを含む値となる場合があるためである。
【０２７３】
電気角補間部２４０Ｄは、図５８に示すように、モータ角度θｅを入力して直接的にＦＯＨ演算を行う演算処理部２４１Ｄ（ＦＯＨ演算部２４１Ｄ−１およびロールオーバ処理部２４１−２）と、モータ角度θｅを入力してオフセット処理等を行い、ＦＯＨ演算を行うオフセット付き演算処理部２４２Ｄと、モータ角度θｅが９０°より大きく、２７０°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグＳＦを出力するモータ角度切替判定部２４３と、切替フラグＳＦによって接点ａ，ｂを切替えて補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを出力する切替部２４４と、を備えている。
【０２７４】
図５９から図６２は、制御周期Ｔｃを１／５に分割した５０μｓの間隔でＦＯＨ演算により算出した４つの補間電気角（以降、「補間電気角１〜４」と称す）を示している。以前に検出したモータ電気角θｅを用いて補間電気角１〜４（θｓ１〜４）を算出することで、電気角の変化を滑らかにすることができる。
【０２７５】
ＦＯＨ演算に用いられる関数ｙ[ｋ]は、式２６で表される。ｙ[ｋ]は制御周期数ｋにおけるモータ角度（電気角）を表す関数である。
【数２６】
2019083015.tif 000030
【０２７６】
係数ａ，ｂを用いて、前回値ｙ［−１］、今回値ｙ［０］で表すと式２７が成立する。
【数２７】
2019083015.tif 000031
【０２７７】
以上の数式を整理してａ，ｂは、ｙ［０］，ｙ［−１］を用いて式２８のように表される。
【数２８】
2019083015.tif 000032
【０２７８】
式２８を式２６に代入すると、式２９となる。
【数２９】
2019083015.tif 000033
【０２７９】
補間電気角１（θｓ１）は、制御周期Ｔｃから５０μｓ（Ｔｃ＊｛１／５｝）後の電気角であるから、式２９にｋ＝０．２を代入することで算出することができる。
【数３０】
2019083015.tif 000034
【０２８０】
補間電気角２（θｓ２）は、制御周期Ｔｃから１００μｓ（Ｔｃ＊｛２／５｝）後の電気角であるから、式２９にｋ＝０．４を代入することで算出することができる。
【数３１】
2019083015.tif 000035
【０２８１】
補間電気角３（θｓ３）は、制御周期Ｔｃから１５０μｓ（Ｔｃ＊｛３／５｝）後の電気角であるから、式２９にｋ＝０．６を代入することで算出することができる。
【数３２】
2019083015.tif 000036
【０２８２】
補間電気角４（θｓ４）は、制御周期Ｔｃから２００μｓ（Ｔｃ＊｛４／５｝）後の電気角であるから、式２９にｋ＝０．８を代入することで算出することができる。
【数３３】
2019083015.tif 000037
【０２８３】
図６３は、ＦＯＨ演算部２４１Ｄ−１（２４２Ｄ−４）の機能構成図である。
ＦＯＨ演算部２４１Ｄ−１は、モータ角度θｅの前回値の保持ユニット２４５−１および保持ユニット２４５−２と、係数部Ｂ０（２４５−３）と、係数部Ｂ１（２４５−４）と、係数部Ｂ２（２４５−５）と、加算部２４５−６と、加算部２４５−７と、を有している。
【０２８４】
モータ角度θｅは、係数部Ｂ０（２４５−３）および保持ユニット２４５−１に入力され、保持ユニット２４５−１の保持値は係数部Ｂ１（２４５−４）および保持ユニット２４５−２に入力される。保持ユニット２４５−２の保持値は係数部Ｂ２（２４５−５）に入力され、係数部Ｂ０（２４５−３）、係数部Ｂ１（２４５−４）および係数部Ｂ２（２４５−５）の各出力値が、加算部２４５−７および加算部２４５−６で加算されて、補間電気角θｓとして出力される。
【０２８５】
補間電気角１〜４（θｓ１〜４）を算出する際の係数Ｂ０，Ｂ１は、式３０〜３３により、表３のように表される。
【表３】
2019083015.tif 000038
【０２８６】
電気角補間部２４０Ｄ内の演算処理部２４１Ｄは、図５８に示すように、モータ角度θeを入力してＦＯＨ演算を行うＦＯＨ演算部２４１Ｄ−１と、ＦＯＨ演算部２４１Ｄ−１から出力されるモータ角度θe１をロールオーバ処理（波形処理）するロールオーバ処理部２４１−２と、を備えている。ロールオーバ処理部２４１−２でロールオーバ処理されたモータ角度θe２は、切替部２４４の接点ａに入力される。
【０２８７】
オフセット付き演算処理部２４２Ｄは、図５８に示すように、モータ角度θeが入力されて固定部２４２−１から入力される係数１８０°によるオフセット処理を行う加算部２４２−２と、加算部２４２−２から入力されるモータ角度θe３をロールオーバ処理（波形処理）するロールオーバ処理部２４２−３と、ロールオーバ処理部２４２−３から入力されるモータ角度θe４を補正するＦＯＨ演算部２４２Ｄ−４と、ＦＯＨ演算部２４２Ｄ−４からモータ角度θe５が入力されて固定部２４２−５から入力される係数１８０°によるオフセット戻し処理を行う減算部２４２−６と、減算部２４２−６から入力されるモータ角度θe６をロールオーバ処理（波形処理）するロールオーバ処理部２４２−７と、を備えている。ロールオーバ処理部２４２−７でロールオーバ処理されたモータ角度θe７は、切替部２４４の接点ｂに入力される。
【０２８８】
演算処理部２４１Ｄのロールオーバ処理部２４１−２からのモータ角度θe２は切替部２４４の接点ａに入力されており、オフセット付き演算処理部２４２Ｄのロールオーバ処理部２４２−７からのモータ角度θe７は切替部２４４の接点ｂに入力されている。そして、切替部２４４の接点ａ及びｂは、モータ角度切替判定部２４３からの切替フラグＳＦ（「Ｈ」、「Ｌ」）によって切替えられ、切替部２４４から補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓが出力される。
【０２８９】
モータ角度（電気角）θｅは、現在のモータ角度から次のモータ角度に移る際において３６０°を超えた場合、０°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてＦＯＨ演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部２４０Ｄは、入力電気角のモータ角度θｅに応じて演算出力（補間Ｄｕｔｙ演算用のモータ角度θｓ）を切替える。
【０２９０】
モータ角度θｅが９０°＜θｅ≦２７０°の範囲では、モータ角度θｅに過渡的な角度変動がない。そのため、電気角補間部２４０Ｄは、入力されるモータ角度θｅに対してＦＯＨ演算を行う。
【０２９１】
一方、モータ角度θｅが０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°の範囲では、モータ角度θｅに過渡的な角度変動がある。そのため、電気角補間部２４０Ｄは、モータ角度θｅを１８０°オフセット処理し、連続的な角度信号にしてからＦＯＨ演算を行い、ＦＯＨ演算後の補間演算結果に対して１８０°オフセット戻し処理を行う。
【０２９２】
モータ角度切替判定部２４３は、入力モータ角度θｅから切替フラグＳＦ（９０°＜θｅ≦２７０°のとき「Ｈ」、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき「Ｌ」）を生成する。
切替部２４４は、切替フラグＳＦに基づいて、ＦＯＨ演算後の補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを選択して出力する。
【０２９３】
すなわち、切替部２４４は、９０°＜θｅ≦２７０°のとき、式３４のように制御され、モータ角度θｅ２を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数３４】
2019083015.tif 000039
また、切替部２４４は、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき、式３５のように制御され、モータ角度θｅ７を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数３５】
2019083015.tif 000040
【０２９４】
図６４は、電気角補間部２４０Ｄの制御フローチャートを示す。
電気角補間部２４０Ｄにモータ角度（電気角）θｅが入力される（ステップＳ３０１）。
【０２９５】
演算処理部２４１ＤのＦＯＨ演算部２４１Ｄ−１は、ＦＯＨ演算を行う（ステップＳ３１０）。モータ角度θｅは、次のＦＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＦＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ロールオーバ処理部２４１−２は、ＦＯＨ演算されたモータ角度θｅ１をロールオーバ処理してモータ角度θｅ２を出力する（ステップＳ３１１）。
【０２９６】
オフセット付き演算処理部２４２Ｄは、加算部２４２−２が固定部２４２−１から入力される係数１８０°を用いてモータ角度（電気角）θｅをオフセット処理する（ステップＳ３２０）。
ロールオーバ処理部２４２−３は、オフセット処理されたモータ角度θｅ３をロールオーバ処理してモータ角度θｅ４を出力する（ステップＳ３２１）。
ＦＯＨ演算部２４２Ｄ−４は、入力されたモータ角度θｅ４に対してＦＯＨ演算を行う（ステップＳ３２２）。モータ角度θｅは、次のＦＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＦＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ＦＯＨ演算されたモータ角度θｅ５は減算部２４２−６に入力され、固定部２４２−５から入力される係数１８０°でオフセット戻し処理が行われる（ステップＳ３２３）。
オフセット戻し処理されたモータ角度θｅ６は、ロールオーバ処理部２４２−７でロールオーバ処理されてモータ角度θｅ７が出力される（ステップＳ３２４）。
【０２９７】
ステップＳ３１１およびステップＳ３２４の処理完了後、モータ角度切替判定部２４３は、モータ角度θｅが９０°より大きく、２７０°以下であることを判定する（ステップＳ３０２）。
この条件に当てはまる場合（ＹＥＳの場合）、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｈ」にする。
上記条件に当てはまらない場合（ＮＯの場合）、モータ角度θｅは０°以上で９０°以下、または２７０°より大きく３６０°以下であり、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｌ」にする。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｈ」の場合、切替部２４４は、θe２を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ３０３）。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｌ」の場合、切替部２４４は、θe７を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ３０４）。
【０２９８】
電気角補間部２４０Ｄは、補間電気角１〜４（θｓ１〜４）に対応する係数Ｂ０，Ｂ１（表１参照）を用いてＦＯＨ演算を行い、補間電気角１〜４（θｓ１〜４）をそれぞれ算出する。
【０２９９】
図６５は、電気角補間部２４０Ｄの各部波形を示しており、横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、６４［ｄｅｃ］／１［ｄｅｇ］である。なお、２３０４０［ｄｅｃ］＝３６０［ｄｅｇ］である。
【０３００】
図６５（Ａ）は演算処理部２４１Ｄから出力されるモータ角度θｅ２の波形例であり、図６５（Ｂ）はオフセット付き演算処理部２４２Ｄから出力されるモータ角度θｅ７の波形例である。また、図６５（Ｃ）は切替フラグＳＦの「Ｈ」、「Ｌ」の切替のタイミングを示しており、図６５（Ｄ）は切替部２４４から出力される補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓの波形例を示している。
【０３０１】
図６５（Ｄ）に示すように、電気角補間部２４０Ｄの出力するモータ角度（補間電気角）θｓは、図６５（Ａ）に示す波形と比較して、モータ角度θｓが３６０°を超えて０°に戻る際において、過渡的な角度変動がない。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＦＯＨ演算による補間電気角の算出において高い精度を確保することができる。
【０３０２】
［空間ベクトル変調部２５０］
図６６は、空間ベクトル変調部２５０の機能構成図である。
空間ベクトル変調部（変換部）２５０は、電圧の次元からＤｕｔｙの次元に変換してから空間ベクトル変換演算を行う（変換工程）。空間ベクトル変調部２５０は、ｄｑ軸空間の正規演算用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に変換して、３次高調波を重畳し、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する機能を有していれば良く、例えば本出願人による特開２０１７−７００６６号公報や国際公開第２０１７／０９８８４０号等で提案している空間ベクトル変調の手法を用いても良い。
【０３０３】
空間ベクトル変調部２５０は、モータ角度（電気角）θｅを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部２５０−０と、補間電気角１〜４（θｓ１〜４）をそれぞれ用いて空間ベクトル変換演算を行う空間ベクトル変調部２５０−１，２５０−２，２５０−３，２５０−４と、を有する。
【０３０４】
空間ベクトル変調部２５０−０は、モータ角度（電気角）θｅを用いて空間ベクトル変換演算を行い、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する。
【０３０５】
空間ベクトル変調部２５０−１は、補間電気角１（θｓ１）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ１，Ｄｕｔｙ＿ｖ＿ｍ１，Ｄｕｔｙ＿ｗ＿ｍ１を出力する。
【０３０６】
空間ベクトル変調部２５０−２は、補間電気角２（θｓ２）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ２，Ｄｕｔｙ＿ｖ＿ｍ２，Ｄｕｔｙ＿ｗ＿ｍ２を出力する。
【０３０７】
空間ベクトル変調部２５０−３は、補間電気角３（θｓ３）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ３，Ｄｕｔｙ＿ｖ＿ｍ３，Ｄｕｔｙ＿ｗ＿ｍ３を出力する。
【０３０８】
空間ベクトル変調部２５０−４は、補間電気角４（θｓ４）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ４，Ｄｕｔｙ＿ｖ＿ｍ４，Ｄｕｔｙ＿ｗ＿ｍ４を出力する。
【０３０９】
［最終Ｄｕｔｙ演算部２００］
図６７は、最終Ｄｕｔｙ演算部２００の機能構成図である。
最終Ｄｕｔｙ演算部２００は、空間ベクトル変調部２５０からの正規Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）が加算部２２１に入力される。加算部２２１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２２２に入力される。リミッタ２２２からは最終正規Ｄｕｔｙ指令値Ｄｎ（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０３１０】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１は加算部２３１に入力され、加算部２３１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２３２に入力される。リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ１（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０３１１】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ２，Ｄｕｔｙ＿ｎ＿ｍ３，Ｄｕｔｙ＿ｎ＿ｍ４は、補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１と同様の処理がなされ、リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ２，Ｄｎｍ３，Ｄｎｍ４（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０３１２】
一般的にＥＰＳはバッテリ（ＤＣ＋１２Ｖ）からモータ印加電圧を供給するため、負（−）方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、３相ともＤｕｔｙ値５０％（＋６Ｖ）オフセットして基準電圧にすることにより、３相が０Ｖでなくても３相Ｄｕｔｙ値５０％時に相電流が０Ａになる（モータ印加電圧＋１２Ｖ時）。例えば、Ｕ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値５０％（＋６Ｖ）の場合、Ｕ相０Ａ、Ｖ相０Ａ、Ｗ相０Ａとなり、Ｕ相Ｄｕｔｙ値６０％（＋７．２Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値４０％（＋４．８Ｖ）とした場合、Ｕ相には正（＋）方向に電流が流れ、Ｕ相Ｄｕｔｙ値４０％（＋４．８Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値６０％（＋７．２Ｖ）とした場合、Ｕ相には負方向に電流が流れる。３相ともＤｕｔｙ値５０％にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Ｄｕｔｙ値５０％オフセットは基本的に固定であるが、Ｄｕｔｙ値５０％時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧１１Ｖの時、Ｄｕｔｙ値５０％は５．５Ｖとなり、印加電圧１３Ｖの時、Ｄｕｔｙ値５０％は６．５Ｖになる。
【０３１３】
［Ｄｕｔｙ出力設定部１６０Ａ−１］
図６８は、Ｄｕｔｙ出力設定部１６０Ａ−１の機能構成図である。
Ｄｕｔｙ出力設定部（出力設定部）１６０Ａ−１は、図６８に示すように、制御周期Ｔｃを１／５に分割した５０μｓの間隔（分割間隔）に合わせ、制御周期Ｔｃからの経過時間Ｔに基づいて、出力する最終的なＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを切り替えて出力する（出力設定工程）。
【０３１４】
図６９から図７２は、モータ回転数が一定回転数(２０００ｒｐｍ)になるように操舵した条件において、補間電気角１〜４（θｓ１〜４）［ｄｅｇ］を推定したシミュレーション結果である。いずれの結果においても、補間電気角１〜４が、モータ電気角θｅを線形補間した線に重なっており、ＦＯＨ演算による推定角度演算が精度高く適切に行われていることが確認できる。
【０３１５】
図７３から図７６は、図６９から図７２に結果を示すシミュレーションと同一条件において推定した補間電気角１〜４（θｓ１〜４）を使用して演算したＤｕｔｙ指令値（Ｕ相）Ｄｕ＿ｍ１〜Ｄｕ＿ｍ４のシミュレーション波形である。いずれの結果においても、補間Ｄｕｔｙ指令値が、正規Ｄｕｔｙ指令値Ｄｕを線形補間した線上または近傍に出力され、補間電気角を用いたＤｕｔｙ指令値の補間が精度高く適切に行われていることが確認できる。なお、Ｖ，Ｗ相は図示されていないが同様の結果を示す。
【０３１６】
本実施形態のモータ制御装置４００Ｄによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ＰＷＭ演算を行う周期よりも早い周期（５０μｓ）でＰＷＭ制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
本実施形態のモータ制御装置４００Ｄによれば、補間電気角の演算に一次関数補間演算ＦＯＨを使用しており、二次関数補間演算等の補間演算と比較して、精度がわずかに低下するものの、マイクロコンピュータの演算処理量の増加を好適に抑えることができる。
【０３１７】
以上、本発明の第四実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
【０３１８】
（変形例１０）
例えば、上記実施形態に係るモータ制御装置４００Ｄは、モータ１００が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Ｄｕｔｙ指令値を直接の補間対象とせず、モータ角度（電気角）θｅを補間対象とする。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＦＯＨ演算による補間電気角の算出および補間Ｄｕｔｙ指令値の算出において高い精度を確保することができる。
【０３１９】
（変形例１１）
例えば、上記実施形態に係るモータ制御装置４００Ｄは、電動パワーステアリング装置３００Ｄに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０３２０】
（変形例１２）
例えば、上記実施形態に係るモータ制御装置４００Ｄは、制御周期Ｔｃを１／５に分割した５０μｓの等間隔（分割間隔）でモータ角度（補間電気角）θｓを推定していたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃを任意の分割数で分割してもよく、また、不等間隔で分割してもよい。
【０３２１】
（変形例１３）
例えば、上記実施形態に係るモータ制御装置４００Ｄは、制御周期Ｔｃが２５０μｓ（周波数４ＫＨｚ）であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃが１００μｓ以上、２５０μｓ以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するＣＰＵ等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が２５０μｓより短くなることが予測される。制御周期Ｔｃが１００μｓ以上、２５０μｓ以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０３２２】
（第五実施形態）
本発明の第五実施形態について、図７７から図９５を参照して説明する。
図７７は、本実施形態に係るモータ制御装置４００Ｅを搭載する電動パワーステアリング装置３００Ｅの構成を示す模式図である。電動パワーステアリング装置３００Ｅは、コラム部（ステアリングシャフト）に電動モータと減速機構とが配置されるコラムアシスト式電動パワーステアリング装置である。
【０３２３】
［電動パワーステアリング装置３００Ｅ］
電動パワーステアリング装置３００Ｅは、ハンドル１のコラム軸（ステアリングシャフト、ハンドル軸）２、減速ギア３、ユニバーサルジョイント４ａ，４ｂ、ピニオンラック機構５、タイロッド６ａ，６ｂを経て、更にハブユニット７ａ，７ｂを介して操向車輪８Ｌ，８Ｒに連結されている。また、コラム軸２には、ハンドル１の舵角θｅを検出する舵角センサ１４と、ハンドル１の操舵トルクＴｈを検出するトルクセンサ１０とが設けられており、ハンドル１の操舵力を補助するモータ１００が減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置３００Ｅを制御するコントロールユニット（ＥＣＵ）３０には、バッテリ１３から電力が供給されると共に、イグニションキー１１を経てイグニションキー信号が入力される。
【０３２４】
コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴｈと車速センサ１２で検出された車速Ｖｓとに基づいてアシスト（操舵補助）指令の電流指令値の演算を行い、演算された電流指令値に補償等を施した電圧制御指令値Ｖｒｅｆによってモータ１００を制御する。舵角センサ１４は必須のものではなく、配設されていなくても良く、モータ１００に連結されたレゾルバ等の回転センサから舵角（モータ角度）θｅを得ることもできる。
【０３２５】
コントロールユニット３０は、主としてＣＰＵ(Central  Processing  Unit)（ＭＰＵ(Micro  Processor  Unit)やＭＣＵ(Micro  Controller  Unit)等を含む）を含むプログラム実行可能なコンピュータを備えている。
【０３２６】
コントロールユニット３０は、モータ１００を駆動するインバータ１６１や、モータ１００の電流を検出するモータ電流検出回路１６２や、モータ１００のモータ角度θｅを検出する角度検出部１１０Ａなどの回路を備えている。なお、これらの回路は、モータ１００側に搭載されていてもよい。
【０３２７】
コントロールユニット３０には、車両の各種情報を授受するＣＡＮ（Controller  Area  Network）４０が接続されており、車速ＶｓはＣＡＮ４０から受信することも可能である。また、コントロールユニット３０には、ＣＡＮ４０以外の通信、アナログ／ディジタル信号、電波等を授受する非ＣＡＮ４１も接続可能である。
【０３２８】
モータ１００は、近年、電動パワーステアリング装置３００Ｅのアクチュエータとして主流である３相ブラシレスモータである。モータ１００は、空間ベクトル駆動を用いたベクトル制御方式により制御される。空間ベクトル駆動を用いたベクトル制御方式は、モータ１００のロータの座標軸であるトルクを制御するｑ軸と、磁界の強さを制御するｄ軸とを独立に設定し、ｄｑ軸が９０°の関係にあることから、そのベクトルで各軸に相当する電流（ｄ軸電流指令値Ｉｒｅｆ_ｄ，ｑ軸電流指令値Ｉｒｅｆ_ｑ）を制御する。
【０３２９】
［モータ制御装置４００Ｅ］
図７８は、コントロールユニット３０によって構成されるモータ制御装置４００Ｅの機能構成図である。モータ制御装置４００Ｅの機能は、ＣＰＵ等において実行されるプログラムと、インバータ等の電子回路とを適宜組み合わせて実現される。以降の説明において電子回路として記載された機能が、ＣＰＵ等において実行されるプログラムとして実現されていてもよい。
【０３３０】
モータ制御装置４００Ｅは、モータ１００の駆動制御を行う。モータ制御装置４００Ｅは、電流指令値演算部３１と、モータ制御部３９Ｅと、ＰＷＭ制御部１６０と、インバータ１６１と、モータ電流検出回路１６２と、モータ角度検出部１１０Ａと、角速度演算部１１０Ｂと、３相交流／ｄｑ軸変換部１３０と、を備える。
【０３３１】
電流指令値演算部３１は、操舵トルクＴｈと車速Ｖｓ等に基づきアシストマップ等を用いて演算された２軸（ｄｑ軸座標系）のｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)を、モータ制御部３９Ｅに出力する。
【０３３２】
モータ制御部３９Ｅは、入力されるｄｑ軸電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)、モータ角度θｅおよびモータ回転数Ｎ等から、デッドタイム補償を施した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を算出する。また、モータ制御部３９Ｅは、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)等から、空間ベクトル変調により３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを算出して、ＰＷＭ制御部１６０に出力する。
【０３３３】
図７９は、ＰＷＭ制御部１６０およびインバータ１６１の構成図である。
インバータ１６１は、図７９に示すように、ＦＥＴの３相ブリッジで構成されており、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ１００を駆動する。インバータ１６１とモータ１００との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ１０１が介挿されている。上側アームはスイッチング素子としてのＦＥＴＱ１，Ｑ２，Ｑ３で構成され、下側アームはＦＥＴＱ４，Ｑ５，Ｑ６で構成されている。また、ＦＥＴＱ１およびＱ４がＵ相、ＦＥＴＱ２およびＱ５がＶ相、ＦＥＴＱ３およびＱ６がＷ相の駆動素子である。
【０３３４】
ＰＷＭ制御部１６０は、図７９に示すように、入力された３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏに基づき、図７９に示すような上下アームのブリッジ構成で成るインバータ（インバータ印加電圧ＶＲ）１６１を介してモータ１００を駆動制御する。ＰＷＭ制御部１６０は、図７９に示すように、ＰＷＭ部１６０Ａ−２と、ゲート駆動部１６０Ｂとを有する。
【０３３５】
ＰＷＭ部１６０Ａ−２は、図７９に示すように、３相のＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏをそれぞれ所定式に従って３相分ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。ＰＷＭ部１６０Ａ−２には、発振部１６０Ｃから例えば三角波の変調信号（キャリア）ＣＦが入力されており、ＰＷＭ部１６０Ａ−２は変調信号ＣＦに同期してＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を算出する。
【０３３６】
ゲート駆動部１６０Ｂは、図７９に示すように、ＰＷＭ―Ｄｕｔｙ値Ｄ１〜Ｄ６を出力して駆動素子であるＦＥＴＱ１〜Ｑ６のゲートを駆動する。
【０３３７】
電動パワーステアリング装置３００Ｅは車載製品であるため、稼動温度範囲が広く、フェールセーフの観点からモータ１００を駆動するインバータ１６１は家電製品を代表とする一般産業用と比較して、デッドタイムを大きく（産業用機器＜ＥＰＳ）する必要がある。一般にスイッチング素子（例えばＦＥＴ(Field-Effect  Transistor)）にはＯＦＦの際に遅れ時間があるため、上下アームのスイッチング素子のＯＦＦ／ＯＮ切替えを同時に行うと、直流リンクが短絡する状況が発生する場合がある。この状況の発生を防ぐため、上下アーム両方のスイッチング素子がＯＦＦになる時間（デッドタイム）が設けられる。
【０３３８】
上記のようなデッドタイム補償を行った場合、電流波形が歪み、電流制御の応答性や操舵感が悪化し、例えばハンドルがオンセンター付近にある状態でゆっくり操舵すると、トルクリップル等による不連続な操舵感などが生じる場合がある。
【０３３９】
電流検出器１６２は、図７８に示すように、モータ１００の３相モータ電流Ｉｕ，Ｉｖ，Ｉｗを検出する。検出された３相モータ電流Ｉｕ，Ｉｖ，Ｉｗは、３相交流／ｄｑ軸変換部１３０に入力され、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑに変換される。２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑは、モータ制御部３９Ｅに入力される。
【０３４０】
モータ角度検出部１１０Ａは、モータ１００のモータ角度θｅを、必要がある場合は演算を行い、取得する。モータ角度θｅは、角速度演算部１１０Ｂ、モータ制御部３９Ｅおよび３相交流／ｄｑ軸変換部１３０に入力される。
角速度演算部１１０Ｂは、モータ角度θｅからモータ回転数Ｎおよびモータ角速度ωを演算により取得する。モータ回転数Ｎおよびモータ角速度ωは、モータ制御部３９Ｅに入力される。
【０３４１】
［モータ制御部３９Ｅ］
図８０は、モータ制御部３９Ｅの機能構成図である。
モータ制御部３９Ｅは、電圧指令値演算部２２０と、電気角補間部２４０Ｅと、空間ベクトル変調部２５０と、最終Ｄｕｔｙ演算部２００と、Ｄｕｔｙ出力設定部１６０Ａ−１と、を備えている。
電圧指令値演算部２２０は、ｄｑ軸デッドタイム補償値演算部２０１と、ｄｑ軸電流フィードバック制御部２０３と、電圧／Ｄｕｔｙ変換係数演算部２０４と、加算部２０５と、ｄｑ軸Ｄｕｔｙクランプ／ＶＲ感応演算部２１０と、を備えている。
【０３４２】
電圧指令値演算部２２０は、モータ１００から制御周期Ｔｃごとに取得したモータ電気角θｅおよびモータ回転数θｅと電流指令値Ｉｒｅｆ_ｍ(ｍ＝ｄ，ｑ)などを用いて電圧指令値を算出する（電圧指令値演算工程）。
【０３４３】
ｄｑ軸デッドタイム補償値演算部２０１は、入力されるモータ回転数Ｎ、モータ角度（電気角）θｅ、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）から算出したｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０３４４】
ｄｑ軸電流フィードバック制御部２０３は、入力されるモータ角速度ω、ｄｑ軸電流指令値Ｉｒｅｆ_ｍ（ｍ＝ｄ，ｑ）、２相のフィードバックｄｑ軸電流Ｉｄ，Ｉｑから算出した電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）を加算部２０５に出力する。
【０３４５】
電圧／Ｄｕｔｙ変換係数演算部２０４は、インバータ印加電圧ＶＲに応じて電圧／Ｄｕｔｙの変換係数Ｋｃを算出する。
【０３４６】
加算部２０５は、ｄｑ軸デッドタイム補償値ＤＴ＿ｍ（ｍ＝ｄ，ｑ）と、電圧制御指令値Ｖｒｅｆ＿ｍａ（ｍ＝ｄ，ｑ）とを加算した電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)を、３相Ｄｕｔｙクランプ／ＶＲ感応演算部２１０に出力する。
【０３４７】
ｄｑ軸Ｄｕｔｙクランプ／ＶＲ（インバータ印加電圧）感応演算部２１０は、電圧制御指令値Ｖｒｅｆ＿ｍｂ(ｍ＝ｄ，ｑ)と、電圧／Ｄｕｔｙ変換の変換係数Ｋｃとを乗算して算出したｄｑ軸正規用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を、空間ベクトル変調部２５０に入力する。
【０３４８】
［電気角補間部２４０Ｅ］
図８１は、電気角補間部２４０Ｅの構成図である。
電気角補間部２４０Ｅは、入力されたモータ角度θｅから、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｃを算出して、空間ベクトル変調部２５０に出力する（電気角補間工程）。
【０３４９】
電気角補間部２４０Ｅは、制御周期２５０μｓ（Ｔｃ）で検出されたモータ角度θｅに対する２次関数補間演算（Ｓｅｃｏｎｄ  Ｏｒｄｅｒ  Ｈｏｌｄ演算：以下では、２次関数補間演算のことを単に「ＳＯＨ演算」とする場合もある。）もしくは１次関数補間演算（Ｆｉｒｓｔ  Ｏｒｄｅｒ  Ｈｏｌｄ演算：以下では、１次関数補間演算のことを単に「ＦＯＨ演算」とする場合もある。）により、制御周期Ｔｃを１／５に分割した５０μｓの間隔（分割間隔）でモータ角度（補間電気角）θｓを推定し、推定されたモータ角度（補間電気角）θｓに基づいて補間Ｄｕｔｙ指令値を算出する。
【０３５０】
電気角補間部２４０Ｅが行うｄｑ軸電流制御では、空間ベクトル変調後のＤｕｔｙ指令値を補間対象としない。空間ベクトル変調後のＤｕｔｙ指令値には、過渡変化のあるデッドタイム補償値や空間ベクトル変調による３次高周波の歪み成分等に起因するノイズ成分が含まれ、Ｄｕｔｙ指令値を直接補間して算出した補間Ｄｕｔｙ指令値には、大きなノイズを含む値となる場合があるためである。
【０３５１】
電気角補間部２４０Ｅは、図８１に示すように、モータ角度θｅを入力して直接的にＳＯＨ演算もしくはＦＯＨ演算を行う演算処理部２４１Ｅと、モータ角度θｅを入力してオフセット処理等を行い、ＳＯＨ演算もしくはＦＯＨ演算を行うオフセット付き演算処理部２４２Ｅと、モータ角度θｅが９０°より大きく、２７０°以下である範囲とそれ以外の範囲のいずれに属するかを判定して切替フラグ（電気角切替フラグ）ＳＦを出力するモータ角度切替判定部２４３と、切替フラグＳＦによって接点ａ，ｂを切替えて補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを出力する切替部２４４と、補間演算切替フラグＨＦと補間切替フラグＥＦを出力する補間演算切替判定部２４７と、最終的な補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｃを出力する第二切替部２４６と、を備えている。
【０３５２】
図８２から図８５は、制御周期Ｔｃを１／５に分割した５０μｓの間隔で推定された４つの補間電気角（以降、「補間電気角１〜４」と称す）を示している。以前に検出したモータ電気角θｅを用いて補間電気角１〜４（θｓ１〜４）を算出することで、電気角の変化を滑らかにすることができる。
以降の説明において、制御周期Ｔｃを１／５に分割した５０μｓの間隔でＳＯＨ演算により推定された４つの補間電気角１〜４を「θｓｓ１〜４」とする。また、制御周期Ｔｃを１／５に分割した５０μｓの間隔でＦＯＨ演算により推定された４つの補間電気角１〜４を「θｓｆ１〜４」とする。
【０３５３】
ＳＯＨ演算に用いられる関数ｙ[ｋ]は、式３６で表される。ｙ[ｋ]は制御周期数ｋにおけるモータ角度（電気角）を表す関数である。
【数３６】
2019083015.tif 000041
【０３５４】
係数ａ，ｂ，ｃを用いて、前々回値ｙ［−２］、前回値ｙ［−１］、今回値ｙ［０］で表すと式３７が成立する。
【数３７】
2019083015.tif 000042
【０３５５】
以上の数式を整理してａ，ｂ，ｃは、ｙ［０］，ｙ［−１］，ｙ［−２］を用いて式３８のように表される。
【数３８】
2019083015.tif 000043
【０３５６】
式３８を式３６に代入すると、式３９となる。
【数３９】
2019083015.tif 000044
【０３５７】
補間電気角１（θｓｓ１）は、制御周期Ｔｃから５０μｓ（Ｔｃ＊｛１／５｝）後の電気角であるから、式３９にｋ＝０．２を代入することで算出することができる。
【数４０】
2019083015.tif 000045
【０３５８】
補間電気角２（θｓｓ２）は、制御周期Ｔｃから１００μｓ（Ｔｃ＊｛２／５｝）後の電気角であるから、式３９にｋ＝０．４を代入することで算出することができる。
【数４１】
2019083015.tif 000046
【０３５９】
補間電気角３（θｓｓ３）は、制御周期Ｔｃから１５０μｓ（Ｔｃ＊｛３／５｝）後の電気角であるから、式３９にｋ＝０．６を代入することで算出することができる。
【数４２】
2019083015.tif 000047
【０３６０】
補間電気角４（θｓｓ４）は、制御周期Ｔｃから２００μｓ（Ｔｃ＊｛４／５｝）後の電気角であるから、式３９にｋ＝０．８を代入することで算出することができる。
【数４３】
2019083015.tif 000048
【０３６１】
図８６は、ＳＯＨ演算部２４１−１（２４２−４）の機能構成図である。
ＳＯＨ演算部２４１−１は、モータ角度θｅの前回値の保持ユニット２４５−１および保持ユニット２４５−２と、係数部Ｂ０（２４５−３）と、係数部Ｂ１（２４５−４）と、係数部Ｂ２（２４５−５）と、加算部２４５−６と、加算部２４５−７と、を有している。
【０３６２】
モータ角度θｅは、係数部Ｂ０（２４５−３）および保持ユニット２４５−１に入力され、保持ユニット２４５−１の保持値は係数部Ｂ１（２４５−４）および保持ユニット２４５−２に入力される。保持ユニット２４５−２の保持値は係数部Ｂ２（２４５−５）に入力され、係数部Ｂ０（２４５−３）、係数部Ｂ１（２４５−４）および係数部Ｂ２（２４５−５）の各出力値が、加算部２４５−７および加算部２４５−６で加算されて、補間電気角θｓｓとして出力される。
【０３６３】
補間電気角１〜４（θｓｓ１〜４）を算出する際の係数Ｂ０，Ｂ１，Ｂ２は、式４０〜４３により、表４のように表される。
【表４】
2019083015.tif 000049
【０３６４】
ＦＯＨ演算に用いられる関数ｙ[ｋ]は、式４４で表される。ｙ[ｋ]は制御周期数ｋにおけるモータ角度（電気角）を表す関数である。
【数４４】
2019083015.tif 000050
【０３６５】
係数ａ，ｂを用いて、前回値ｙ［−１］、今回値ｙ［０］で表すと式４５が成立する。
【数４５】
2019083015.tif 000051
【０３６６】
以上の数式を整理してａ，ｂは、ｙ［０］，ｙ［−１］を用いて式４６のように表される。
【数４６】
2019083015.tif 000052
【０３６７】
式４６を式４４に代入すると、式４７となる。
【数４７】
2019083015.tif 000053
【０３６８】
補間電気角１（θｓｆ１）は、制御周期Ｔｃから５０μｓ（Ｔｃ＊｛１／５｝）後の電気角であるから、式４７にｋ＝０．２を代入することで算出することができる。
【数４８】
2019083015.tif 000054
【０３６９】
補間電気角２（θｓｆ２）は、制御周期Ｔｃから１００μｓ（Ｔｃ＊｛２／５｝）後の電気角であるから、式４７にｋ＝０．４を代入することで算出することができる。
【数４９】
2019083015.tif 000055
【０３７０】
補間電気角３（θｓｆ３）は、制御周期Ｔｃから１５０μｓ（Ｔｃ＊｛３／５｝）後の電気角であるから、式４７にｋ＝０．６を代入することで算出することができる。
【数５０】
2019083015.tif 000056
【０３７１】
補間電気角４（θｓｆ４）は、制御周期Ｔｃから２００μｓ（Ｔｃ＊｛４／５｝）後の電気角であるから、式４７にｋ＝０．８を代入することで算出することができる。
【数５１】
2019083015.tif 000057
【０３７２】
図８７は、ＦＯＨ演算部２４１Ｄ−１（２４２Ｄ−４）の機能構成図である。
ＦＯＨ演算部２４１Ｄ−１は、モータ角度θｅの前回値の保持ユニット２４５−１および保持ユニット２４５−２と、係数部Ｂ０（２４５−３）と、係数部Ｂ１（２４５−４）と、係数部Ｂ２（２４５−５）と、加算部２４５−６と、加算部２４５−７と、を有している。
【０３７３】
モータ角度θｅは、係数部Ｂ０（２４５−３）および保持ユニット２４５−１に入力され、保持ユニット２４５−１の保持値は係数部Ｂ１（２４５−４）および保持ユニット２４５−２に入力される。保持ユニット２４５−２の保持値は係数部Ｂ２（２４５−５）に入力され、係数部Ｂ０（２４５−３）、係数部Ｂ１（２４５−４）および係数部Ｂ２（２４５−５）の各出力値が、加算部２４５−７および加算部２４５−６で加算されて、補間電気角θｓｆとして出力される。
【０３７４】
補間電気角１〜４（θｓｆ１〜４）を算出する際の係数Ｂ０，Ｂ１は、式４８〜５１により、表５のように表される。
【表５】
2019083015.tif 000058
【０３７５】
ＦＯＨ演算は、ＳＯＨ演算と比較して、演算処理量が少なく、コントロールユニット３０が実行する際の処理負荷も少ない。
【０３７６】
電気角補間部２４０Ｅ内の演算処理部２４１は、図８１に示すように、モータ角度θeを入力してＳＯＨ演算を行うＳＯＨ演算部２４１−１と、モータ角度θeを入力してＦＯＨ演算を行うＦＯＨ演算部２４１Ｄ−１と、補間演算切替フラグＨＦに基づいて、ＳＯＨ演算部２４１−１の出力θｓｓとＦＯＨ演算部２４１Ｄ−１の出力θｓｆとを切り替えて出力する補間演算切替部２４１−３と、補間演算切替部２４１−３から出力されるモータ角度θe１をロールオーバ処理（波形処理）するロールオーバ処理部２４１−２と、を備えている。ロールオーバ処理部２４１−２でロールオーバ処理されたモータ角度θe２は、切替部２４４の接点ａに入力される。
【０３７７】
補間演算切替部２４１−３は、補間演算切替フラグＨＦがＨである場合、ＦＯＨ演算部２４１Ｄ−１の出力θｓｆをθｓ１として出力する。補間演算切替部２４１−３は、補間演算切替フラグＨＦがＬである場合、ＳＯＨ演算部２４１−１の出力θｓｓをθｓ１として出力する。
【０３７８】
オフセット付き演算処理部２４２は、図８１に示すように、モータ角度θeが入力されて固定部２４２−１から入力される係数１８０°によるオフセット処理を行う加算部２４２−２と、加算部２４２−２から入力されるモータ角度θe３をロールオーバ処理（波形処理）するロールオーバ処理部２４２−３と、ロールオーバ処理部２４２−３から入力されるモータ角度θe４を補正するＳＯＨ演算部２４２−４と、モータ角度θe４を補正するＦＯＨ演算部２４２Ｄ−４と、補間演算切替フラグＨＦに基づいて、ＳＯＨ演算部２４２−４の出力θｓｓとＦＯＨ演算部２４２Ｄ−４の出力θｓｆとを切り替えて出力する補間演算切替部２４２−８と、補間演算切替部２４２−８からモータ角度θe５が入力されて固定部２４２−５から入力される係数１８０°によるオフセット戻し処理を行う減算部２４２−６と、減算部２４２−６から入力されるモータ角度θe６をロールオーバ処理（波形処理）するロールオーバ処理部２４２−７と、を備えている。ロールオーバ処理部２４２−７でロールオーバ処理されたモータ角度θe７は、切替部２４４の接点ｂに入力される。
【０３７９】
補間演算切替部２４２−８は、補間演算切替フラグＨＦがＨである場合、ＦＯＨ演算部２４２Ｄ−４の出力θｓｆをθｓ５として出力する。補間演算切替部２４２−８は、補間演算切替フラグＨＦがＬである場合、ＳＯＨ演算部２４２−４の出力θｓｓをθｓ５として出力する。
【０３８０】
演算処理部２４１Ｅのロールオーバ処理部２４１−２からのモータ角度θe２は切替部２４４の接点ａに入力されており、オフセット付き演算処理部２４２Ｅのロールオーバ処理部２４２−７からのモータ角度θe７は切替部２４４の接点ｂに入力されている。そして、切替部２４４の接点ａ及びｂは、モータ角度切替判定部２４３からの切替フラグ（電気角切替フラグ）ＳＦ（「Ｈ」、「Ｌ」）によって切替えられ、切替部２４４から補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓが出力される。
【０３８１】
モータ角度（電気角）θｅは、現在のモータ角度から次のモータ角度に移る際において３６０°を超えた場合、０°に戻る。このとき過渡的な角度変動が発生するため、現在のモータ角度を用いてＳＯＨ演算を行うと正確な補間演算結果にならない場合がある。この問題を回避するため、電気角補間部２４０Ｅは、入力電気角のモータ角度θｅに応じて演算出力（補間Ｄｕｔｙ演算用のモータ角度θｓ）を切替える。
【０３８２】
モータ角度θｅが９０°＜θｅ≦２７０°の範囲では、モータ角度θｅに過渡的な角度変動がない。そのため、電気角補間部２４０Ｅは、入力されるモータ角度θｅに対してＳＯＨ演算を行う。
【０３８３】
一方、モータ角度θｅが０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°の範囲では、モータ角度θｅに過渡的な角度変動がある。そのため、電気角補間部２４０Ｅは、モータ角度θｅを１８０°オフセット処理し、連続的な角度信号にしてからＳＯＨ演算を行い、ＳＯＨ演算後の補間演算結果に対して１８０°オフセット戻し処理を行う。
【０３８４】
モータ角度切替判定部２４３は、入力モータ角度θｅから切替フラグＳＦ（９０°＜θｅ≦２７０°のとき「Ｈ」、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき「Ｌ」）を生成する。
切替部２４４は、切替フラグＳＦに基づいて、ＳＯＨ演算後の補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓを選択して出力する。
【０３８５】
すなわち、切替部２４４は、９０°＜θｅ≦２７０°のとき、式５２のように制御され、モータ角度θｅ２を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数５２】
2019083015.tif 000059
また、切替部２４４は、０°≦θｅ≦９０°または２７０°＜θｅ≦３６０°のとき、式５３のように制御され、モータ角度θｅ７を補間Ｄｕｔｙ演算用のモータ角度θｓとして出力する。
【数５３】
2019083015.tif 000060
【０３８６】
第二切替部２４６は、補間切替フラグＥＦに基づいて、最終的な補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｃを選択して出力する。第二切替部２４６は、補間切替フラグＥＦがＨである場合、モータ角度（電気角）θｅをθｃとして出力する。第二切替部２４６は、補間切替フラグＥＦがＬである場合、補間Ｄｕｔｙ演算用のモータ角度θｓをθｃとして出力する。
【０３８７】
図８８は、補間演算切替判定部２４７の機能構成図である。
補間演算切替判定部２４７は、入力されるモータ回転数Ｎの絶対値を算出する絶対値算出部２４７−１と、補間演算判定部２４７−３と、補間判定部２４７−４と、を有している。
【０３８８】
補間演算判定部２４７−３は、絶対値算出部２４７−１が出力するモータ回転数に基づいて、補間演算切替フラグＨＦを出力する。補間演算判定部２４７−３は、例えば、（１）モータ回転数Ｎが高くなり（モータ回転数Ｎが第一回転数以上になり）、ＳＯＨ演算に必要な処理がコントロールユニット３０の性能限界を超えると判断した場合や、（２）前回および前々回のＳＯＨ演算に用いたモータ角度θｅを使用するＳＯＨ演算の結果に多くのノイズが含まれると判断した場合など、ＳＯＨ演算を行うことが適切でないと判断した場合に、補間演算切替フラグＨＦを「Ｈ」に切り替える。それ以外の場合は、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｌ」に切り替える。
【０３８９】
モータ電気角θｅが３６０［ｄｅｇ］から０［ｄｅｇ］に切り換わる際にモータ電気角θｅに過渡的な角度変動が生じるため、電気角補間部２４０Ｅは、切替部２４４の出力切替機能により、過渡的な角度変動の影響を含まない補間電気角θｓを選択して出力する。しかしながら、モータ回転数Ｎが高くなると（例えば制御周期Ｔｃ毎に変動する角度４５［ｄｅｇ］以上）、モータ角度切替判定部２４３等に必要な演算処理がコントロールユニット３０の性能限界を超え、モータ角度切替判定部２４３が正確に９０°＜θｅ≦２７０°の条件を判定できない場合がある。そのため、回転数が高くなると、電気角補間部２４０Ｅは、過渡的な角度変動の影響を含まない補間電気角θｓを出力することが難しくなる。この場合、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｈ」に切り替え、ＳＯＨ演算をＦＯＨ演算に切り換える。ＦＯＨ演算に切り換えることで、コントロールユニット３０の演算処理負荷が低減され、モータ角度切替判定部２４３の判定が正常化される。
【０３９０】
また、ＳＯＨ演算は、演算時のモータ角度θｅと前回および前々回のＳＯＨ演算に用いたモータ角度θｅを使用する。そのため、ＳＯＨ演算に使用する３種類のモータ角度θｅ全てが過渡的な角度変動の影響を含まない必要がある。モータ回転数Ｎが高くなると、３種類のモータ角度θｅのいずれかが過渡的な角度変動の影響を含む確率は高くなり、電気角補間部２４０Ｅは、過渡的な角度変動の影響を含まない補間電気角θｓを出力することが難しくなる。この場合、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｈ」に切り替え、ＳＯＨ演算をＦＯＨ演算に切り換える。ＦＯＨ演算は、演算時のモータ角度θｅと前回のＳＯＨ演算に用いたモータ角度θｅを使用する。そのため、ＦＯＨ演算に使用する２種類のみのモータ角度θｅが過渡的な角度変動の影響を含まなければよい。ＦＯＨ演算に切り換えることで、演算に使用するモータ角度θｅのいずれかが過渡的な角度変動の影響を含む確率は低くなり、過渡的な角度変動の影響を含まない補間電気角θｓが出力される確率は高くなる。
【０３９１】
また、低・中速回転時において、電気角判定フラグＳＦのＨとＬの比率は１：１であるが、モータ回転数Ｎが高くなると、角度変動が大きいため、電気角判定フラグＳＦのＨとＬの比率は５：３や３：５等になる場合がある。この場合、電気角判定フラグＳＦに基づいて動作する切替部２４４が、過渡的な角度変動の影響を含む補間電気角θｓを選択して出力してしまう場合がある。この場合、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｈ」に切り替え、ＳＯＨ演算をＦＯＨ演算に切り換える。ＦＯＨ演算に切り換えることで、上述したように、演算に使用するモータ角度θｅのいずれかが過渡的な角度変動の影響を含む確率は低くなる。そのため、電気角判定フラグＳＦのＨとＬの比率が変動した場合であっても、過渡的な角度変動の影響を含まない補間電気角θｓが出力される確率は高くなる。
【０３９２】
また、モータ１００の種類によっては、高速回転数領域（例えば５０００［ｒｐｍ］以上）で、角度センサのノイズが大きくなる場合や、角度のリニアリティ誤差が大きくなる場合がある。これらの場合、ＳＯＨ演算はＦＯＨ演算と比較して結果にノイズが含まれる可能性が高くなる。この場合、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｈ」に切り替え、ＳＯＨ演算をＦＯＨ演算に切り換える。ＦＯＨ演算は、演算時のモータ角度θｅと前回のＳＯＨ演算に用いたモータ角度θｅを使用する。そのため、ＦＯＨ演算に使用する２種類のみのモータ角度θｅが過渡的な角度変動の影響を含まなければよい。ＦＯＨ演算に切り換えることで、演算の結果にノイズが含まれる確率を低減することができる。
【０３９３】
さらに、モータ制御装置４００Ｅの問題で、モータ角度θｅのサンプリングが間に合わない場合において、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｈ」に切り替え、ＳＯＨ演算をＦＯＨ演算に切り換える。ＦＯＨ演算に切り換えることで、コントロールユニット３０の演算処理負荷が低減され、モータ角度θｅのサンプリングを確実に行うことができる。
【０３９４】
補間判定部２４７−４は、絶対値算出部２４７−１が出力するモータ回転数に基づいて、補間切替フラグＥＦを出力する。補間判定部２４７−４は、明らかにＳＯＨ演算およびＦＯＨ演算を実施できないような高速回転数領域（例えば９０００［ｒｐｍ］以上）において（モータ回転数Ｎが第二回転数以上になった場合）、補間切替フラグＥＦをＨに切り換える。明らかにＳＯＨ演算およびＦＯＨ演算を実施できないような高速回転数領域においては、演算が正しく行われない可能性が高いため、電気角補間部２４０Ｅは補間演算結果を出力しない。
【０３９５】
また、モータ制御装置４００Ｅの問題で、コントロールユニット３０に通常以上の処理負荷がかかっており、ＳＯＨ演算およびＦＯＨ演算を実施する処理リソースが不足している場合等も補間判定部２４７−４は、補間切替フラグＥＦをＨに切り換える。
【０３９６】
図８９および図９０は、補間演算判定部２４７−３および補間判定部２４７−４のフラグ（ＨＦおよびＥＦ）生成のグラフである。補間演算判定部２４７−３および補間判定部２４７−４は、ヒステリシス閾値Ｈｉとヒステリシス閾値Ｌｏとを用いて、ＨとＬの２値のフラグ（ＨＦおよびＥＦ）を生成している。ヒステリシス閾値Ｈｉとヒステリシス閾値Ｌｏは、それぞれ例えば、２００［ｒｐｍ］程度のヒステリシス幅を有しており、フラグ（ＨＦおよびＥＦ）が閾値境界で急激に変動することを防止する。
【０３９７】
図９１は、電気角補間部２４０Ｅの制御フローチャートを示す。
電気角補間部２４０Ｅにモータ角度（電気角）θｅが入力される（ステップＳ４０１）。
【０３９８】
演算処理部２４１のＳＯＨ演算部２４１−１は、補間演算切替フラグＨＦに基づいてＳＯＨ演算もしくはＦＯＨ演算を行う（ステップＳ４１０）。モータ角度θｅは、次のＳＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＳＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ロールオーバ処理部２４１−２は、ＳＯＨ演算されたモータ角度θｅ１をロールオーバ処理してモータ角度θｅ２を出力する（ステップＳ４１１）。
【０３９９】
オフセット付き演算処理部２４２は、加算部２４２−２が固定部２４２−１から入力される係数１８０°を用いてモータ角度（電気角）θｅをオフセット処理する（ステップＳ４２０）。
ロールオーバ処理部２４２−３は、オフセット処理されたモータ角度θｅ３をロールオーバ処理してモータ角度θｅ４を出力する（ステップＳ４４２１）。
ＳＯＨ演算部２４２−４は、入力されたモータ角度θｅ４に対して、補間演算切替フラグＨＦに基づいてＳＯＨ演算もしくはＦＯＨ演算を行う（ステップＳ４２２）。モータ角度θｅは、次のＳＯＨ演算において前回値として使用するため、保持ユニット２４５−１に入力される。また、保持ユニット２４５−１に入力されていた前回値は、次のＳＯＨ演算において前々回値として使用するため、保持ユニット２４５−２に入力される。
ＳＯＨ演算されたモータ角度θｅ５は減算部２４２−６に入力され、固定部２４２−５から入力される係数１８０°でオフセット戻し処理が行われる（ステップＳ４２３）。
オフセット戻し処理されたモータ角度θｅ６は、ロールオーバ処理部２４２−７でロールオーバ処理されてモータ角度θｅ７が出力される（ステップＳ４２４）。
【０４００】
ステップＳ４１１およびステップＳ４２４の処理完了後、モータ角度切替判定部２４３は、モータ角度θｅが９０°より大きく、２７０°以下であることを判定する（ステップＳ４０２）。
この条件に当てはまる場合（ＹＥＳの場合）、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｈ」にする。
上記条件に当てはまらない場合（ＮＯの場合）、モータ角度θｅは０°以上で９０°以下、または２７０°より大きく３６０°以下であり、モータ角度切替判定部２４３は、切替フラグＳＦを「Ｌ」にする。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｈ」の場合、切替部２４４は、θe２を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ４０３）。
モータ角度切替判定部２４３から入力された切替フラグＳＦが「Ｌ」の場合、切替部２４４は、θe７を選択し、補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓとして出力する（ステップＳ４０４）。
【０４０１】
第二切替部２４６は、補間切替フラグＥＦがＨであることを判定する（ステップＳ４０５）。
この条件に当てはまる場合（ＹＥＳの場合）、第二切替部２４６は、モータ角度（電気角）θｅをθｃとして出力する（ステップＳ４０６）。
上記条件に当てはまらない場合（ＮＯの場合）、第二切替部２４６は、補間Ｄｕｔｙ演算用のモータ角度θｓをθｃとして出力する（ステップＳ４０７）。
【０４０２】
電気角補間部２４０Ｅは、ＳＯＨ演算が推定する補間電気角１〜４（θｓｓ１〜４）に対応する係数Ｂ０，Ｂ１，Ｂ２（表１参照）およびＦＯＨ演算が推定する補間電気角１〜４（θｓｆ１〜４）に対応する係数Ｂ０，Ｂ１（表２参照）を用いて補間演算を行い、補間電気角１〜４（θｓ１〜４）をそれぞれ算出する。電気角補間部２４０Ｅは、補間切替フラグＥＦに基づき、モータ角度（電気角）θｅもしくは補間電気角１〜４（θｓ１〜４）を選択し、補間電気角１〜４（θc１〜４）として出力する。
【０４０３】
図９２は、電気角補間部２４０Ｅの各部波形を示しており、横軸は時間［ｓｅｃ］であり、縦軸はＭＰＵ等で処理する内部値で、６４［ｄｅｃ］／１［ｄｅｇ］である。なお、２３０４０［ｄｅｃ］＝３６０［ｄｅｇ］である。
【０４０４】
図９２（Ａ）は演算処理部２４１Ｅから出力されるモータ角度θｅ２の波形例であり、図９２（Ｂ）はオフセット付き演算処理部２４２Ｅから出力されるモータ角度θｅ７の波形例である。また、図９２（Ｃ）は切替フラグＳＦの「Ｈ」、「Ｌ」の切替のタイミングを示しており、図９２（Ｄ）は切替部２４４から出力される補間Ｄｕｔｙ演算用のモータ角度（補間電気角）θｓの波形例を示している。
【０４０５】
モータ回転数Ｎが高くなると（例えば制御周期Ｔｃ毎に変動する角度４５［ｄｅｇ］以上）、モータ角度切替判定部２４３等に必要な演算処理がコントロールユニット３０の性能限界を超え、図９２（Ｃ）の丸印に示すように、モータ角度切替判定部２４３が正確に９０°＜θｅ≦２７０°の条件を判定できない場合がある。
この場合、図９２（Ｄ）に示すように、補間電気角θｓが過渡的な角度変動の影響を含む可能性が高くなる。この場合、補間演算判定部２４７−３は、補間演算切替フラグＨＦを「Ｈ」に切り替え、ＳＯＨ演算をＦＯＨ演算に切り換える。ＦＯＨ演算に切り換えることで、コントロールユニット３０の演算処理負荷が低減され、モータ角度切替判定部２４３の判定が正常化される。その結果、過渡的な角度変動の影響を含まない補間電気角θｓが出力される確率は高くなる。
【０４０６】
［空間ベクトル変調部２５０］
図９３は、空間ベクトル変調部２５０の機能構成図である。
空間ベクトル変調部（変換部）２５０は、電圧の次元からＤｕｔｙの次元に変換してから空間ベクトル変換演算を行う（変換工程）。空間ベクトル変調部２５０は、ｄｑ軸空間の正規演算用のＤｕｔｙ指令値Ｄ１ｍ（ｍ＝ｄ，ｑ）（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に変換して、３次高調波を重畳し、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する機能を有していれば良く、例えば本出願人による特開２０１７−７００６６号公報や国際公開第２０１７／０９８８４０号等で提案している空間ベクトル変調の手法を用いても良い。
【０４０７】
空間ベクトル変調部２５０は、モータ角度（電気角）θｅを用いて上記の空間ベクトル変換演算を行う空間ベクトル変調部２５０−０と、補間電気角１〜４（θｓ１〜４）をそれぞれ用いて空間ベクトル変換演算を行う空間ベクトル変調部２５０−１，２５０−２，２５０−３，２５０−４と、を有する。
【０４０８】
空間ベクトル変調部２５０−０は、モータ角度（電気角）θｅを用いて空間ベクトル変換演算を行い、３相のＤｕｔｙ指令値Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗを出力する。
【０４０９】
空間ベクトル変調部２５０−１は、補間電気角１（θc１）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ１，Ｄｕｔｙ＿ｖ＿ｍ１，Ｄｕｔｙ＿ｗ＿ｍ１を出力する。
【０４１０】
空間ベクトル変調部２５０−２は、補間電気角２（θc２）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ２，Ｄｕｔｙ＿ｖ＿ｍ２，Ｄｕｔｙ＿ｗ＿ｍ２を出力する。
【０４１１】
空間ベクトル変調部２５０−３は、補間電気角３（θc３）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ３，Ｄｕｔｙ＿ｖ＿ｍ３，Ｄｕｔｙ＿ｗ＿ｍ３を出力する。
【０４１２】
空間ベクトル変調部２５０−４は、補間電気角４（θc４）を用いて空間ベクトル変換演算を行い、３相の補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｕ＿ｍ４，Ｄｕｔｙ＿ｖ＿ｍ４，Ｄｕｔｙ＿ｗ＿ｍ４を出力する。
【０４１３】
［最終Ｄｕｔｙ演算部２００］
図９４は、最終Ｄｕｔｙ演算部２００の機能構成図である。
最終Ｄｕｔｙ演算部２００は、空間ベクトル変調部２５０からの正規Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ（ｎ＝ｕ，ｖ，ｗ）が加算部２２１に入力される。加算部２２１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２２２に入力される。リミッタ２２２からは最終正規Ｄｕｔｙ指令値Ｄｎ（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０４１４】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１は加算部２３１に入力され、加算部２３１でＤｕｔｙ５０％のオフセットを加算されたＤｕｔｙ値は、Ｄｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２３２に入力される。リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ１（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０４１５】
空間ベクトル変調部２５０からの補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ２，Ｄｕｔｙ＿ｎ＿ｍ３，Ｄｕｔｙ＿ｎ＿ｍ４は、補間Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ＿ｍ１と同様の処理がなされ、リミッタ２３２から最終補間Ｄｕｔｙ指令値Ｄｎｍ２，Ｄｎｍ３，Ｄｎｍ４（ｎ＝ｕ，ｖ，ｗ）が出力される。
【０４１６】
一般的にＥＰＳはバッテリ（ＤＣ＋１２Ｖ）からモータ印加電圧を供給するため、負（−）方向の印加電圧を供給することができない。このままでは負方向の相電圧指令値を供給できないため、負方向に相電流を流すことができない。この問題に対応するため、３相ともＤｕｔｙ値５０％（＋６Ｖ）オフセットして基準電圧にすることにより、３相が０Ｖでなくても３相Ｄｕｔｙ値５０％時に相電流が０Ａになる（モータ印加電圧＋１２Ｖ時）。例えば、Ｕ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値５０％（＋６Ｖ）の場合、Ｕ相０Ａ、Ｖ相０Ａ、Ｗ相０Ａとなり、Ｕ相Ｄｕｔｙ値６０％（＋７．２Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値４０％（＋４．８Ｖ）とした場合、Ｕ相には正（＋）方向に電流が流れ、Ｕ相Ｄｕｔｙ値４０％（＋４．８Ｖ）、Ｖ相Ｄｕｔｙ値５０％（＋６Ｖ）、Ｗ相Ｄｕｔｙ値６０％（＋７．２Ｖ）とした場合、Ｕ相には負方向に電流が流れる。３相ともＤｕｔｙ値５０％にオフセットして基準電圧にすることによって、印加電圧が正のまま、負方向の電流を流すことができる。なお、Ｄｕｔｙ値５０％オフセットは基本的に固定であるが、Ｄｕｔｙ値５０％時の基準電圧は、供給される印加電圧状態によって変動する。例えば、印加電圧１１Ｖの時、Ｄｕｔｙ値５０％は５．５Ｖとなり、印加電圧１３Ｖの時、Ｄｕｔｙ値５０％は６．５Ｖになる。
【０４１７】
［Ｄｕｔｙ出力設定部１６０Ａ−１］
図９５は、Ｄｕｔｙ出力設定部１６０Ａ−１の機能構成図である。
Ｄｕｔｙ出力設定部（出力設定部）１６０Ａ−１は、図９５に示すように、制御周期Ｔｃを１／５に分割した５０μｓの間隔（分割間隔）に合わせ、制御周期Ｔｃからの経過時間Ｔに基づいて、出力する最終的なＤｕｔｙ指令値Ｄｕ＿ｏ，Ｄｖ＿ｏ，Ｄｗ＿ｏを切り替えて出力する（出力設定工程）。
【０４１８】
本実施形態のモータ制御装置４００Ｅによれば、デッドタイム補償の影響を受けずに、ノイズが少ない補間Ｄｕｔｙ指令値を算出し、ＰＷＭ演算を行う周期よりも早い周期（５０μｓ）でＰＷＭ制御の制御信号を変動させることができる。これにより、マイクロコンピュータの演算処理量の増加は軽微でありながら、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０４１９】
本実施形態のモータ制御装置４００Ｅによれば、例えば、（１）モータ回転数Ｎが高くなり、ＳＯＨ演算に必要な処理がコントロールユニット３０の性能限界を超えると判断した場合や、（２）前回および前々回のＳＯＨ演算に用いたモータ角度θｅを使用するＳＯＨ演算の結果に多くのノイズが含まれると判断した場合など、ＳＯＨ演算を行うことが適切でないと判断した場合に、ＳＯＨ演算をＦＯＨ演算に切り替える。その結果、過渡的な角度変動の影響を含まない補間電気角θｓが出力される確率は高くなる。
【０４２０】
本実施形態のモータ制御装置４００Ｅによれば、例えば、明らかにＳＯＨ演算およびＦＯＨ演算を実施できないような高速回転数領域（例えば９０００［ｒｐｍ］以上）など、明らかにＳＯＨ演算およびＦＯＨ演算を実施できない場合に、補間演算結果を使用しない。その結果、モータ制御装置４００Ｅはより安全にモータ１００の制御を行うことができる。
【０４２１】
以上、本発明の第五実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。また、上述の実施形態および変形例において示された構成要素は適宜に組み合わせて構成することが可能である。
【０４２２】
（変形例１４）
例えば、上記実施形態に係るモータ制御装置４００Ｅは、モータ１００が空間ベクトル駆動を用いたベクトル制御方式により制御されていたが、モータ制御装置の制御対象のモータはこれに限定されない。本発明に係るモータ制御装置の制御対象のモータは、例えば正弦波制御方式のブラシレスモータであってもよい。本発明に係るモータ制御装置は、Ｄｕｔｙ指令値を直接の補間対象とせず、モータ角度（電気角）θｅを補間対象とする。モータ角度θｅはリニアリティが高ければ比較的ノイズが少なく、３６０°から０°に切替える角度変化以外に過渡的な変化がないため、ＳＯＨ演算による補間電気角の算出および補間Ｄｕｔｙ指令値の算出において高い精度を確保することができる。
【０４２３】
（変形例１５）
例えば、上記実施形態に係るモータ制御装置４００Ｅは、電動パワーステアリング装置３００Ｅに搭載されていたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、高トルクが要求される一方で低騒音が要求されるモータ駆動装置に搭載することが適している。例えば、本発明に係るモータ制御装置は、装着者の歩行時の筋力を支援する歩行支援装置や、室内で動作する掃除装置等に搭載することで、モータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０４２４】
（変形例１６）
例えば、上記実施形態に係るモータ制御装置４００Ｅは、制御周期Ｔｃを１／５に分割した５０μｓの等間隔（分割間隔）でモータ角度（補間電気角）θｓを推定していたが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃを任意の分割数で分割してもよく、また、不等間隔で分割してもよい。
【０４２５】
（変形例１７）
例えば、上記実施形態に係るモータ制御装置４００Ｅは、制御周期Ｔｃが２５０μｓ（周波数４ＫＨｚ）であったが、モータ制御装置の態様はこれに限定されない。本発明に係るモータ制御装置は、制御周期Ｔｃが１００μｓ以上、２５０μｓ以下であるとき好適に可聴帯域のモータに起因する音を低減することができる。モータ制御装置が搭載するＣＰＵ等の性能が向上したり、制御対象のモータの極数が増加したりすることで、制御周期が２５０μｓより短くなることが予測される。制御周期Ｔｃが１００μｓ以上、２５０μｓ以下である場合、上記実施形態と同様に、可聴帯域のモータに起因する音を生じる問題が発生するが、本発明に係るモータ制御装置によれば、ブラシレスモータの振動やモータに起因する音を好適に抑制し、可聴帯域のモータに起因する音を低減することができる。
【０４２６】
（従来技術）
参考情報として、以下に従来技術について述べる。
図９６は、一般的なモータ制御装置の機能構成図である。トルクセンサ１０からの操舵トルクＴｈ及び車速センサ１２からの車速Ｖｓは、操舵補助指令値演算部３１に入力される。操舵補助指令値演算部３１は、操舵トルクＴｈ及び車速Ｖｓに基づいてアシストマップ等を用いて操舵補助指令値Ｉｒｅｆ１を演算する。演算された操舵補助指令値Ｉｒｅｆ１は、加算部３２Ａで、特性を改善するための補償部３４からの補償信号ＣＭと加算される。加算された操舵補助指令値Ｉｒｅｆ２は、電流制限部３３で最大値を制限される。最大値を制限された電流指令値Ｉｒｅｆｍは、減算部３２Ｂに入力され、モータ電流検出値Ｉｍと減算される。
【０４２７】
減算部３２Ｂでの減算結果である偏差ΔＩ（＝Ｉｒｅｆｍ−Ｉｍ）は、ＰＩ（比例積分）制御部３５でＰＩ等の電流制御が実施される。電流制御された電圧制御指令値Ｖｒｅｆは、変調信号（三角波キャリア）ＣＦと共にＰＷＭ制御部３６に入力され、Ｄｕｔｙ指令値が演算される。Ｄｕｔｙ指令値から算出されたＰＷＭ信号は、インバータ３７を介してモータ２０をＰＷＭ駆動する。モータ２０のモータ電流値Ｉｍは、モータ電流検出器３８で検出され、減算部３２Ｂに入力されてフィードバックされる。
【０４２８】
補償部３４は、検出若しくは推定されたセルフアライニングトルク（ＳＡＴ）を加算部３４４で慣性補償値３４２と加算し、その加算結果に更に加算部３４５で収れん性制御値３４１を加算し、その加算結果を補償信号ＣＭとして加算部３２Ａに入力し、特性改善を実施する。
【０４２９】
図９７は、ベクトル制御方式で３相ブラシレスモータ１００を駆動制御する場合の機能構成図を示す。操舵トルクＴｈ、車速Ｖｓ等に基づいて操舵補助指令値演算部（図示せず）で演算された２軸（ｄｑ軸座標系）の操舵補助指令値が演算され、最大値を制限された２軸のｄ軸電流指令値ｉｄ＊及びｑ軸電流指令値ｉｑ＊は、それぞれ減算部１３１ｄ及び１３１ｑに入力される。減算部１３１ｄ及び１３１ｑで求められた電流偏差Δｉｄ＊及びΔｉｑ＊は、それぞれＰＩ制御部１２０ｄ及び１２０ｑに入力される。ＰＩ制御部１２０ｄ及び１２０ｑでＰＩ制御された電圧指令値ｖｄ及びｖｑは、それぞれ減算部１４１ｄ及び加算部１４２１ｑに入力され、減算部１４１ｄ及び加算部１４１ｑで求められた指令電圧Δｖｄ及びΔｖｑはｄｑ軸／３相交流変換部１５０に入力される。
【０４３０】
図９８は、ＰＷＭ制御部１６３及びインバータ１６１の機能構成図である。
ｄｑ軸／３相交流変換部１５０で３相に変換された電圧制御指令値Ｖｒｅｆ＿ｕ，Ｖｒｅｆ＿ｖ，Ｖｒｅｆ＿ｗは、ＰＷＭ制御部１６３に入力され、演算された３相のＤｕｔｙ指令値に基づくＰＷＭ信号により、図９８に示すような上下アームのブリッジ構成で成るインバータ（インバータ印加電圧ＶＲ）１６１を介してモータ１００が駆動される。上側アームはスイッチング素子としてのＦＥＴＱ１，Ｑ２，Ｑ３で構成され、下側アームはＦＥＴＱ４，Ｑ５，Ｑ６で構成されている。また、ＦＥＴＱ１及びＱ４がＵ相、ＦＥＴＱ２及びＱ５がＶ相、ＦＥＴＱ３及びＱ６がＷ相の駆動となっている。
【０４３１】
モータ１００の３相モータ電流ｉｕ，ｉｖ，ｉｗは、電流検出器１６２で検出される。検出された３相モータ電流ｉｕ，ｉｖ，ｉｗは、３相交流／ｄｑ軸変換部１３０に入力される。３相交流／ｄｑ軸変換部１３０で変換された２相のフィードバック電流ｉｄ及びｉｑは、それぞれ減算部１３１ｄ及び１３１ｑに減算入力されると共に、ｄｑ軸非干渉制御部１４０に入力される。
【０４３２】
また、モータ１００には回転センサ等が取り付けられており、センサ信号を処理する角度検出部１１０からモータ角度θ及びモータ回転数ωが出力される。モータ角度θはｄｑ軸／３相交流換部１５０及び３相交流／ｄｑ軸変換部１３０に入力され、モータ回転数ωはｄｑ軸非干渉制御部１４０に入力される。ｄｑ軸非干渉制御部１４０からの２相の電圧ｖｎｉｄ及びｖｎｉｑはそれぞれ減算部１２１ｄ及び加算部１２１ｑに入力され、減算部１２１ｄで求められた電圧指令値Δｖｄ及び加算部１２１ｑで求められた電圧指令値Δｖｑが、ｄｑ軸／３相交流変換部１５０に入力される。
【０４３３】
ＰＷＭ制御部１６３及びインバータ１６１は、図９８に示すような構成であり、ＰＷＭ制御部１６３は、電圧制御指令値Ｖｒｅｆ＿ｕ，Ｖｒｅｆ＿ｖ，Ｖｒｅｆ＿ｗをそれぞれ所定式に従って３相分のＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６を演算するデューティ演算部１６０Ａと、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６で駆動素子としてのＦＥＴＱ１〜Ｑ６のゲートを駆動すると共に、デッドタイムの補償をしてＯＮ／ＯＦＦするゲート駆動部１６０Ｂとで構成されている。デューティ演算部１６０Ａには発振部１６０Ｃから例えば三角波の変調信号（キャリア）ＣＦが入力されており、デューティ演算部１６０Ａは変調信号ＣＦに同期してＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６を演算する。インバータ１６１は上述のようにＦＥＴの３相ブリッジで構成されており、ＰＷＭ-Ｄｕｔｙ値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ１００を駆動し、インバータ１６１とモータ１００との間には、アシスト制御停止時等に電流の供給を遮断するためのモータスイッチ１０１が介挿されている。
【０４３４】
このようなベクトル制御方式の電動パワーステアリング装置は、運転者の操舵をアシストする装置であると同時に、モータの音や振動、リップル等はハンドルを介して運転者へ力の感覚として伝達される。インバータを駆動するパワーデバイスは一般的にＦＥＴが用いられており、モータへ通電を行うが、３相モータの場合には、図９８に示されるように各相に上下アームの直列接続されたＦＥＴが用いられている。上下アームのＦＥＴは交互にＯＮ／ＯＦＦを繰り返すが、ＦＥＴは理想スイッチではなく、ゲート信号の指令通りに瞬時にＯＮ／ＯＦＦせず、ターンオン時間やターンオフ時間を要する。このため、上側アームＦＥＴへのＯＮ指令と下側アームのＯＦＦ指令が同時になされると、上側アームＦＥＴと下側アームＦＥＴが同時にＯＮになって、上下アームが短絡する問題がある。ＦＥＴのターンオン時間とターンオフ時間には差があり、同時にＦＥＴに指令を出した場合、上側ＦＥＴにＯＮ指令を出してターンオン時間が短い場合（例えば１００ｎｓ）、直ぐにＦＥＴがＯＮになり、下側ＦＥＴにＯＦＦ指令を出してもターンオフ時間が長い場合（例えば４００ｎｓ）、直ぐにＦＥＴがＯＦＦにならず、瞬間的に上側ＦＥＴがＯＮ、下側ＦＥＴがＯＮになる状態（例えば、４００ｎｓ−１００ｎｓ間、ＯＮ−ＯＮ）が発生することがある。
【０４３５】
そこで、上側アームＦＥＴと下側アームＦＥＴが同時にＯＮすることがないよう、ゲート駆動部にデッドタイムという所定時間をおいてＯＮ信号を与えることが行われる。このデッドタイムは非線形であるため電流波形は歪み、制御の応答性能が悪化し、音や振動、リップルが発生する。コラム式電動パワーステアリング装置の場合、ハンドルと鋼製のコラム軸で接続されるギアボックスに直結されるモータの配置が、その構造上運転者に極めて近い位置となっているため、モータに起因する音、振動、リップル等には、下流アシスト方式の電動パワーステアリング装置に比べて、特に配慮する必要がある。
【０４３６】
図９９は、従来のＳＯＨ演算によるＤｕｔｙ指令値の補間の機能構成図である。デッドタイム補償値を加算していない３相Ｄｕｔｙ指令値に対し、ＳＯＨ演算して補間Ｄｕｔｙ値を算出する手法である。本従来手法では、過渡変化のあるデッドタイム補償はＳＯＨ演算対象外であるが、Ｄｕｔｙ指令値に対して直接ＳＯＨ演算を行っている。３次高調波重畳のＤｕｔｙ指令値に対してＳＯＨ演算を行うと、演算結果に含まれるノイズが大きくなり、異音が発生する場合がある。また、ｄｑ軸制御においては、３相のＤｕｔｙ指令値は空間ベクトル変調後のＤｕｔｙ指令値しかなく、空間ベクトル変調後のＤｕｔｙ指令値を使用してＳＯＨ演算で補間Ｄｕｔｙ値を演算した場合、デッドタイム補償の過渡的な応答や空間ベクトルによる３次高調波の歪み成分を含むため、ノイズの大きな補間Ｄｕｔｙ値となってしまう。
【０４３７】
図９９に示すモータ制御装置では、モータ回転数ω、３相電流指令値Ｉｒｅｆ＿ｎ（ｎ＝ｕ，ｖ，ｗ）、モータ角度（電気角）θｅを入力して３相デッドタイム補償値ＤＴ＿ｎ（ｎ＝ｕ，ｖ，ｗ）を演算する３相デッドタイム補償値演算部２０１Ａが設けられている。演算されたデッドタイム補償値ＤＴ＿ｎは、最終Ｄｕｔｙ演算部２００Ａに入力される。
【０４３８】
また、図９９に示すモータ制御装置は、モータ回転数ω及びモータ角度θｅを入力して３相の逆起電圧補償値ＥＭＦ＿ｎａ（ｎ＝ｕ，ｖ，ｗ）を演算する逆起電圧補償値演算部２０２と、３相電流指令値Ｉｒｅｆ＿ｎ及び３相電流ｉｎ（ｎ＝ｕ，ｖ，ｗ）を入力して３相の電圧制御指令値Ｖｒｅｆ＿ｎａ（ｎ＝ｕ，ｖ，ｗ）を出力する３相電流フィードバック（ＦＢ）制御部２０３Ａと、インバータ印加電圧ＶＲに応じて電圧／Ｄｕｔｙの変換係数Kcを演算する電圧／Ｄｕｔｙ変換係数演算部２０４と、を備える。
【０４３９】
逆起電圧補償値演算部２０２からの逆起電圧補償値ＥＭＦ＿ｎａと、３相電流フィードバック制御部２０３Ａからの電圧制御指令値Ｖｒｅｆ＿ｎａとは、加算部２０５で加算される。加算部２０５で逆起電圧補償された電圧制御指令値Ｖｒｅｆ＿ｎｂ（ｎ＝ｕ，ｖ，ｗ）は、電圧／Ｄｕｔｙ変換の変換係数Ｋｃと共に３相Ｄｕｔｙクランプ／インバータ印加電圧感応演算部２１０Ａに入力される。
【０４４０】
３相Ｄｕｔｙクランプ／インバータ印加電圧感応演算部２１０Ａで，電圧／Ｄｕｔｙ変換の変換係数Ｋｃを乗算された演算された３相正規Ｄｕｔｙ指令値Ｄ１ｎ（ｎ＝ｕ，ｖ，ｗ）は、最終Ｄｕｔｙ演算部２００Ａ、補間Ｄｕｔｙ−ＳＯＨ演算部２２０及び３次高調波演算部２３０に入力される。補間Ｄｕｔｙ−ＳＯＨ演算部２２０で演算された補間Ｄｕｔｙ指令値Ｄ２ｎは、最終Ｄｕｔｙ演算部２００Ａ及び３次高調波演算部２３０に入力され、３次高調波演算部２３０で演算された３次高調波補償値（正規用）及び３次高調波補償値（補間用）は最終Ｄｕｔｙ演算部２００Ａに入力される。
【０４４１】
最終Ｄｕｔｙ演算部２００Ａは、ｄｑ軸デッドタイム補償値演算部２０１からの３相デッドタイム補償値ＤＴ＿ｎ、３相Ｄｕｔｙクランプ／インバータ印加電圧感応演算部２１０からの３相正規Ｄｕｔｙ指令値Ｄ１ｎ、補間Ｄｕｔｙ−ＳＯＨ演算部２２０からの補間Ｄｕｔｙ指令値Ｄ２ｎ、３次高調波演算部２３０からの３次高調波補償値（正規用）及び３次高調波補償値（補間用）を入力し、演算した最終正規Ｄｕｔｙ値Ｄｕ，Ｄｖ，Ｄｗ及び最終補間Ｄｕｔｙ値Ｄｕｍ，Ｄｖｍ，Ｄｗｍを出力する。
【０４４２】
図１００は、最終Ｄｕｔｙ演算部２００Ａの機能構成図である。
最終Ｄｕｔｙ演算部２００Ａにおいて、デッドタイム補償値ＤＴ＿ｎ、正規Ｄｕｔｙ指令値Ｄ１ｎ及び３次高調波補償値（正規用）は、加算部２０１Ａで加算され、デッドタイム補償値ＤＴ＿ｎ、補間Ｄｕｔｙ指令値Ｄ２ｎ及び３次高調波補償値（補間用）は、加算部２１１Ａで加算される。加算部２０１Ａ及び２１１Ａでの加算結果はそれぞれ加算部２０２Ａ及び２１２Ａに入力され、加算部２０２Ａ及び２１２ＡでそれぞれDuty５０％のオフセットを加算されたＤｕｔｙ値はそれぞれＤｕｔｙ出力を０〜１００％の範囲（可変）で制限するリミッタ２０３Ａ及び２１３Ａに入力される。リミッタ２０３Ａからは最終正規Ｄｕｔｙ値Ｄｎが出力され、リミッタ２１３Ａからは最終補間Ｄｕｔｙ値Ｄｎｆが出力される。
【０４４３】
最終Ｄｕｔｙ演算部２００Ａから出力された最終正規Ｄｕｔｙ値Ｄｎ及び最終補間Ｄｕｔｙ値Ｄｎｆは、ＰＷＭ制御部１６３内入力される。最終正規Ｄｕｔｙ値Ｄｎ及び最終補間Ｄｕｔｙ値Ｄｎｆは演算終了後、次の制御周期の演算終了まで、値が保持されている。
【０４４４】
次に、空間ベクトル変調について説明する。上記の実施形態では演算回数の削減などのため、電圧の次元からＤｕｔｙの次元に変換してから空間ベクトル変換演算を行っている。空間ベクトル変調部２５０は、図１０に示すように、ｄｑ軸Ｄｕｔｙクランプ／インバータ印加電圧感応演算部２１０からのｄｑ軸空間の正規演算用のＤｕｔｙ指令値Ｄ１ｍ（Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑ）を３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に変換し、３相Ｄｕｔｙ指令値（Ｄｕｔｙ＿ｕａ，Ｄｕｔｙ＿ｖａ，Ｄｕｔｙ＿ｗａ）に３次高調波を重畳して正規Ｄｕｔｙ指令値Ｄｕｔｙ＿ｎ（Ｄｕｔｙ＿ｕ，Ｄｕｔｙ＿ｖ，Ｄｕｔｙ＿ｗ）を出力する機能を有していれば良く、例えば本出願人による特開２０１７−７００６６号公報や国際公開第２０１７／０９８８４０号等で提案している空間ベクトル変調の手法を用いても良い。
【０４４５】
すなわち、空間ベクトル変調を分かり易く電圧の式で説明すると、ベクトル変調は、ｄｑ軸空間の電圧指令値Ｖｄ＊＊及びＶｑ＊＊、モータ角度θｅ及びセクター番号ｎ（＃１〜＃６）に基づいて、以下に示すような座標変換を行い、ブリッジ構成のインバータのＦＥＴ（上側アームＱ１、Ｑ３、Ｑ５、下側アームＱ２、Ｑ４、Ｑ６）のＯＮ／ＯＦＦを制御する、セクター＃１〜＃６に対応したスイッチングパターンＳ１〜Ｓ６をモータに供給することによって、モータの回転を制御する機能を有する。
【０４４６】
図１０１は、座標変換に用いる座標軸及びモータ角度θｅの関係を示すグラフである。
座標変換については、空間ベクトル変調において、電圧指令値Ｖｄ＊＊及びＶｑ＊＊は、式５４に基づいて、α−β座標系における電圧ベクトルＶα及びＶβに座標変換が行われる。
【数５４】
2019083015.tif 000061
【０４４７】
なお、Ｄｕｔｙ指令値Ｄｕｔｙ＿ｄ，Ｄｕｔｙ＿ｑと電圧指令値Ｖｄ＊＊及びＶｑ＊＊との関係は、インバータ印加電圧をＶＲとして、式５５または式５６で表わされる。
【０４４８】
【数５５】
2019083015.tif 000062
【０４４９】
【数５６】
2019083015.tif 000063
【０４５０】
ｄ−ｑ座標系における目標電圧ベクトルとα−β座標系における目標電圧ベクトルとの間には、式５７のような関係が存在し、目標電圧ベクトルＶの絶対値は保存される。
【数５７】
2019083015.tif 000064
【０４５１】
空間ベクトル制御におけるスイッチングパターンでは、インバータの出力電圧をＦＥＴ（Ｑ１〜Ｑ６）のスイッチングパターンＳ１〜Ｓ６に応じて、図１０２の空間ベクトル図に示す８種類の離散的な基準電圧ベクトルＶ０〜Ｖ７（π／３［ｒａｄ］ずつ位相の異なる非零電圧ベクトルＶ１〜Ｖ６と零電圧ベクトルＶ０，Ｖ７）で定義する。そして、それら基準出力電圧ベクトルＶ０〜Ｖ７の選択とその発生時間を制御するようにしている。また、隣接する基準出力電圧ベクトルによって挟まれた６つの領域を用いて、空間ベクトルを６つのセクター＃１〜＃６に分割することができ、目標電圧ベクトルＶは、セクター＃１〜＃６のいずれか１つに属し、セクター番号を割り当てることができる。Ｖα及びＶβの合成ベクトルである目標電圧ベクトルＶが、α−β空間において正６角形に区切られた図１０２に示されたようなセクター内のいずれに存在するかは、目標電圧ベクトルＶのα−β座標系における回転角γに基づいて求めることができる。また、回転角γはモータ角度θｅとｄ−ｑ座標系における電圧指令値Ｖｄ＊＊及びＶｑ＊＊の関係から得られる位相δの和として、γ＝θｅ＋δで決定される。
【０４５２】
図１０３は、空間ベクトル制御におけるインバータのスイッチングパターンＳ１、Ｓ３，Ｓ５によるディジタル制御で、インバータから目標電圧ベクトルＶを出力させるために、ＦＥＴに対するＯＮ／ＯＦＦ信号Ｓ１〜Ｓ６（スイッチングパターン）におけるスイッチングパルス幅とそのタイミングを決定する基本的なタイミングチャートを示す。空間ベクトル変調は、規定されたサンプリング期間Ｔｓ毎に演算などをサンプリング期間Ｔｓ内で行い、その演算結果を次のサンプリング期間Ｔｓにて、スイッチングパターンＳ１〜Ｓ６における各スイッチングパルス幅とそのタイミングに変換して出力する。
【０４５３】
空間ベクトル変調は、目標電圧ベクトルＶに基づいて求められたセクター番号に応じたスイッチングパターンＳ１〜Ｓ６を生成する。図１０３には、セクター番号＃１（ｎ＝１）の場合における、インバータのＦＥＴのスイッチングパターンＳ１〜Ｓ６の一例が示されている。信号Ｓ１、Ｓ３及びＳ５は、上側アームに対応するＦＥＴＱ１、Ｑ３、Ｑ５のゲート信号を示している。横軸は時間を示しており、Ｔｓはスイッチング周期に対応し、８期間に分割され、Ｔ０／４、Ｔ１／２、Ｔ２／２、Ｔ０／４、Ｔ０／４、Ｔ２／２、Ｔ１／２及びＴ０／４で構成される期間である。また、期間Ｔ１及びＴ２は、それぞれセクター番号ｎ及び回転角γに依存する時間である。
【産業上の利用可能性】
【０４５４】
本発明は、電動パワーステアリング装置等に搭載されるモータ制御装置に適用することができる。
【符号の説明】
【０４５５】
３００  電動パワーステアリング装置
４００  モータ制御装置
２      コラム軸
３      減速ギア
１０    トルクセンサ
１２    車速センサ
１４    舵角センサ
３０    コントロールユニット（ＥＣＵ）
３１    電流指令値演算部
３９    モータ制御部
１００    モータ
１６０    ＰＷＭ制御部
１６０Ａ−１  Ｄｕｔｙ出力設定部（出力設定部）
１６０Ａ−２  ＰＷＭ部
１６０Ｂ  ゲート駆動部
１６１    インバータ
１６２    電流検出器
２００    最終Ｄｕｔｙ演算部
２０１    ｄｑ軸デッドタイム補償値演算部
２０３    ｄｑ軸電流フィードバック制御部
２０４    変換係数演算部
２１０    ｄｑ軸Ｄｕｔｙクランプ／ＶＲ感応演算部
２２０    電圧指令値演算部
２４０  電気角補間部
２４３    モータ角度切替判定部
２４４    切替部
２５０    空間ベクトル変調部（変換部）
【図１】
2019083015.tif 000065
【図２】
2019083015.tif 000066
【図３】
2019083015.tif 000067
【図４】
2019083015.tif 000068
【図５】
2019083015.tif 000069
【図６】
2019083015.tif 000070
【図７】
2019083015.tif 000071
【図８】
2019083015.tif 000072
【図９】
2019083015.tif 000073
【図１０】
2019083015.tif 000074
【図１１】
2019083015.tif 000075
【図１２】
2019083015.tif 000076
【図１３】
2019083015.tif 000077
【図１４】
2019083015.tif 000078
【図１５】
2019083015.tif 000079
【図１６】
2019083015.tif 000080
【図１７】
2019083015.tif 000081
【図１８】
2019083015.tif 000082
【図１９】
2019083015.tif 000083
【図２０】
2019083015.tif 000084
【図２１】
2019083015.tif 000085
【図２２】
2019083015.tif 000086
【図２３】
2019083015.tif 000087
【図２４】
2019083015.tif 000088
【図２５】
2019083015.tif 000089
【図２６】
2019083015.tif 000090
【図２７】
2019083015.tif 000091
【図２８】
2019083015.tif 000092
【図２９】
2019083015.tif 000093
【図３０】
2019083015.tif 000094
【図３１】
2019083015.tif 000095
【図３２】
2019083015.tif 000096
【図３３】
2019083015.tif 000097
【図３４】
2019083015.tif 000098
【図３５】
2019083015.tif 000099
【図３６】
2019083015.tif 000100
【図３７】
2019083015.tif 000101
【図３８】
2019083015.tif 000102
【図３９】
2019083015.tif 000103
【図４０】
2019083015.tif 000104
【図４１】
2019083015.tif 000105
【図４２】
2019083015.tif 000106
【図４３】
2019083015.tif 000107
【図４４】
2019083015.tif 000108
【図４５】
2019083015.tif 000109
【図４６】
2019083015.tif 000110
【図４７】
2019083015.tif 000111
【図４８】
2019083015.tif 000112
【図４９】
2019083015.tif 000113
【図５０】
2019083015.tif 000114
【図５１】
2019083015.tif 000115
【図５２】
2019083015.tif 000116
【図５３】
2019083015.tif 000117
【図５４】
2019083015.tif 000118
【図５５】
2019083015.tif 000119
【図５６】
2019083015.tif 000120
【図５７】
2019083015.tif 000121
【図５８】
2019083015.tif 000122
【図５９】
2019083015.tif 000123
【図６０】
2019083015.tif 000124
【図６１】
2019083015.tif 000125
【図６２】
2019083015.tif 000126
【図６３】
2019083015.tif 000127
【図６４】
2019083015.tif 000128
【図６５】
2019083015.tif 000129
【図６６】
2019083015.tif 000130
【図６７】
2019083015.tif 000131
【図６８】
2019083015.tif 000132
【図６９】
2019083015.tif 000133
【図７０】
2019083015.tif 000134
【図７１】
2019083015.tif 000135
【図７２】
2019083015.tif 000136
【図７３】
2019083015.tif 000137
【図７４】
2019083015.tif 000138
【図７５】
2019083015.tif 000139
【図７６】
2019083015.tif 000140
【図７７】
2019083015.tif 000141
【図７８】
2019083015.tif 000142
【図７９】
2019083015.tif 000143
【図８０】
2019083015.tif 000144
【図８１】
2019083015.tif 000145
【図８２】
2019083015.tif 000146
【図８３】
2019083015.tif 000147
【図８４】
2019083015.tif 000148
【図８５】
2019083015.tif 000149
【図８６】
2019083015.tif 000150
【図８７】
2019083015.tif 000151
【図８８】
2019083015.tif 000152
【図８９】
2019083015.tif 000153
【図９０】
2019083015.tif 000154
【図９１】
2019083015.tif 000155
【図９２】
2019083015.tif 000156
【図９３】
2019083015.tif 000157
【図９４】
2019083015.tif 000158
【図９５】
2019083015.tif 000159
【図９６】
2019083015.tif 000160
【図９７】
2019083015.tif 000161
【図９８】
2019083015.tif 000162
【図９９】
2019083015.tif 000163
【図１００】
2019083015.tif 000164
【図１０１】
2019083015.tif 000165
【図１０２】
2019083015.tif 000166
【図１０３】
2019083015.tif 000167
【国際調査報告】
2019083015.tif 000168
2019083015.tif 000169
2019083015.tif 000170
2019083015.tif 000171