(57)【要約】【課題】電流オフセット値の急激な変化を抑制して、安定した操舵フィーリングを維持できるモータ制御装置を提供する。【解決手段】モータ電流がゼロとみなされる状態で検出されたドリフト電流の検出電流値を電流オフセット値として設定し、当該電流オフセット値によりモータ電流の検出電流値を補償するモータ制御装置において、所定の周期Ｔごとにドリフト電流を検出し、検出したドリフト電流の検出電流値に基づいて、周期Ｔごとに目標オフセット値を設定する。電流オフセット値が目標オフセット値より小さい場合は、電流オフセット値に補正値Ｋを加算し、電流オフセット値が目標オフセット値より大きい場合は、電流オフセット値から補正値Ｋを減算することにより、電流オフセット値を周期Ｔごとに補正する。【選択図】図８
2013017363.tif 000002
【特許請求の範囲】
【請求項１】
モータを駆動するモータ駆動手段と、
前記モータに流れるモータ電流を検出する電流検出手段と、
前記電流検出手段が検出したモータ電流の検出電流値を目標電流値と比較し、その偏差に基づいて前記モータ駆動手段を制御する制御手段と、
前記モータ駆動手段の状態が、前記モータ電流がゼロとみなされる状態にあるときに、前記電流検出手段が検出したドリフト電流の検出電流値を電流オフセット値として設定し、当該電流オフセット値により前記モータ電流の検出電流値を補償する補償手段と、を備えたモータ制御装置において、
前記補償手段は、検出された前記ドリフト電流の電流値に応じた目標オフセット値を設定し、前記電流オフセット値が前記目標オフセット値に到達するまで、当該電流オフセット値を段階的に補正することを特徴とするモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置において、
前記電流検出手段は、所定の周期ごとに前記ドリフト電流を検出し、
前記補償手段は、
前記電流検出手段が検出したドリフト電流の検出電流値に基づいて、前記周期ごとに目標オフセット値を設定し、
前記電流オフセット値が前記目標オフセット値より小さい場合は、前記電流オフセット値に予め設定された補正値を加算し、前記電流オフセット値が前記目標オフセット値より大きい場合は、前記電流オフセット値から前記補正値を減算することにより、前記電流オフセット値を前記周期ごとに補正することを特徴とするモータ制御装置。
【請求項３】
請求項２に記載のモータ制御装置において、
前記電流検出手段は、前記周期ごとに前記モータ電流を検出し、
前記補償手段は、前記電流検出手段が検出した前記モータ電流の検出電流値を、補正された前記電流オフセット値により前記周期ごとに補償し、
前記制御手段は、前記周期ごとに、前記補償されたモータ電流の検出電流値と前記目標電流値との偏差に基づいて、前記モータ駆動手段を制御することを特徴とするモータ制御装置。
【請求項４】
請求項１に記載のモータ制御装置において、
前記補償手段は、前記電流オフセット値と前記ドリフト電流の検出電流値との差を求め、この差が所定範囲にない場合にのみ、前記目標オフセット値を設定して前記電流オフセット値を補正することを特徴とするモータ制御装置。
【請求項５】
請求項１に記載のモータ制御装置において、
前記補償手段は、前記モータ駆動手段の電源がＯＮした後、前記モータ駆動手段が動作を開始するまでの間に前記電流検出手段で検出されたドリフト電流の検出電流値を、電流オフセット値の初期値として設定し、
前記制御手段は、前記モータ駆動手段が動作を開始した後、前記初期値により補償されたモータ電流の検出電流値と前記目標電流値との偏差に基づいて、前記モータ駆動手段を制御することを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータに流れる電流を検出し、その検出電流値と目標電流値との偏差に基づいてモータを制御するモータ制御装置に関し、特に、モータ電流がゼロとみなせる状態で検出されるドリフト電流を補償する技術に関する。
【背景技術】
【０００２】
車両の電動パワーステアリング装置においては、ハンドルの操舵トルクに応じた操舵補助力をステアリング機構に与えるために、ブラシレスモータなどの電動式モータが設けられる。このモータを駆動する装置として、ＰＷＭ（Pulse Width  Modulation：パルス幅変調）制御方式によるモータ制御装置が知られている。
【０００３】
一般に、ＰＷＭ制御方式のモータ制御装置は、インバータ回路と、このインバータ回路を制御する制御部とを備えている。インバータ回路には、上アームと下アームにそれぞれスイッチング素子を有する上下一対のアームが複数組（３相モータの場合は３組）設けられている。また、制御部は、トルクセンサで検出された操舵トルクに応じてモータに流すべき電流の目標値を算出し、この目標値とモータに実際に流れる電流の値との偏差に基づいて、所定のデューティを持つＰＷＭ信号を生成する。そして、このＰＷＭ信号により、インバータ回路の各スイッチング素子のＯＮ・ＯＦＦ動作を制御し、これに応じて電源からインバータ回路を介してモータへ電流を供給し、モータを駆動する。
【０００４】
上記のようなモータ制御装置において、モータに流れる電流は、シャント抵抗と呼ばれる電流検出用の抵抗を用いて検出される。ところで、インバータ回路における上段のスイッチング素子が全てＯＦＦとなる期間、または下段のスイッチング素子が全てＯＦＦとなる期間では、インバータ回路は回生状態にあって、理論上、シャント抵抗には電流が流れない。すなわち、モータ電流がゼロとみなされる状態となる。しかしながら、インバータ回路における一部の回路の出力がゼロにならないなどの影響により、実際には上記の期間でもシャント抵抗に電流が流れる場合がある。この電流をドリフト電流という。ドリフト電流は微少な電流ではあるが、本来検出電流値がゼロとなるべき期間で電流が流れることから、操舵補助力に影響し、運転者に操舵フィーリングの点で違和感を与えることになる。
【０００５】
そこで、ドリフト電流に基づくオフセットを補償して、操舵補助力がドリフト電流の影響を受けないようにする必要がある。このため、モータ電流がゼロとみなされる状態で検出されたドリフト電流の値を電流オフセット値とし、この電流オフセット値を用いて、モータに電流が流れた場合の検出電流値を補償する。そして、補償された電流値と目標電流値とに基づいて、フィードバック制御用の電圧指令値を算出し、この電圧指令値に基づいて、モータに流れる電流を制御する。後記の特許文献１〜３には、ドリフト電流に基づくオフセット補償に関する技術が記載されている。
【０００６】
特許文献１には、電圧指令がゼロとなる毎にモータの実電流を検出して電流帰還上のオフセットデータを求め、オフセットデータから得られる電流オフセット値によって電流オフセット値を更新し、更新した電流オフセット値を電流指令に電流帰還することでドリフトに対応したオフセット補償を行うＡＣサーボモータの制御方法が記載されている。
【０００７】
特許文献２には、モータ電流がゼロとみなされる状態のモータ電流検出信号の値をオフセット補正値とし、このオフセット補正値に基づいて、目標電流信号とモータ電流検出信号との偏差信号を補正するオフセット補正手段を備えた電動パワーステアリング装置が記載されている。
【０００８】
特許文献３には、モータに流れる電流をシャント抵抗により監視し、この抵抗を流れる瞬時電流が実質的にゼロとなるタイミングで、シャント抵抗の出力を測定し、実測定出力値と理想出力値との間のオフセットを補償するための信号を生成するモータ制御方法が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平８−４７２８０号公報
【特許文献２】特開平８−１７５４０５号公報
【特許文献３】特開２００１−９５２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
電流オフセット値によってモータ電流の補償を行う場合、ドリフト電流に応じて電流オフセット値が急激に変化すると、電圧指令値もそれに伴って急激に変化する。このため、モータの回転数が急変して、操舵フィーリングが不安定になるという問題がある。
【００１１】
本発明の課題とするところは、電流オフセット値の急激な変化を抑制して、安定した操舵フィーリングを維持できるモータ制御装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係るモータ制御装置は、モータを駆動するモータ駆動手段と、モータに流れるモータ電流を検出する電流検出手段と、この電流検出手段が検出したモータ電流の検出電流値を目標電流値と比較し、その偏差に基づいてモータ駆動手段を制御する制御手段と、モータ駆動手段の状態が、モータ電流がゼロとみなされる状態にあるときに、電流検出手段が検出したドリフト電流の検出電流値を電流オフセット値として設定し、当該電流オフセット値によりモータ電流の検出電流値を補償する補償手段とを備える。そして、補償手段は、検出されたドリフト電流の電流値に応じた目標オフセット値を設定し、電流オフセット値が目標オフセット値に到達するまで、当該電流オフセット値を段階的に補正する。
【００１３】
このようにすると、ドリフト電流が大きく変化した場合でも、電流オフセット値は急激に変化せず、目標オフセット値に徐々に近づくように補正される。このため、電圧指令値の急激な変化に伴うモータ回転数の急変が回避され、安定した操舵フィーリングを維持することができる。
【００１４】
本発明において、電流検出手段は、所定の周期ごとにドリフト電流を検出し、補償手段は、電流検出手段が検出したドリフト電流の検出電流値に基づいて、周期ごとに目標オフセット値を設定するのが好ましい。この場合、補償手段は、電流オフセット値が目標オフセット値より小さければ、電流オフセット値に予め設定された補正値を加算し、電流オフセット値が目標オフセット値より大きければ、電流オフセット値から上記補正値を減算することにより、電流オフセット値を周期ごとに補正する。
【００１５】
また、本発明において、電流検出手段は、所定の周期ごとにモータ電流を検出し、補償手段は、電流検出手段が検出したモータ電流の検出電流値を、補正された電流オフセット値により周期ごとに補償するのが好ましい。この場合、制御手段は、周期ごとに、補償されたモータ電流の検出電流値と目標電流値との偏差に基づいて、モータ駆動手段を制御する。
【００１６】
また、本発明において、補償手段は、電流オフセット値とドリフト電流の検出電流値との差を求め、この差が所定範囲にない場合にのみ、目標オフセット値を設定して電流オフセット値を補正するのが好ましい。
【００１７】
また、本発明において、補償手段は、モータ駆動手段の電源がＯＮした後、モータ駆動手段が動作を開始するまでの間に電流検出手段で検出されたドリフト電流の検出電流値を、電流オフセット値の初期値として設定し、制御手段は、モータ駆動手段が動作を開始した後、上記初期値により補償されたモータ電流の検出電流値と目標電流値との偏差に基づいて、モータ駆動手段を制御するのが好ましい。
【発明の効果】
【００１８】
本発明によれば、電流オフセット値の急激な変化を抑制して、安定した操舵フィーリングを維持できるモータ制御装置を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るモータ制御装置を示した図である。
【図２】各相のＰＷＭ信号を示した図である。
【図３】電流検出のタイミングを説明する図である。
【図４】図３のタイミングＴ１における電流経路を示した図である。
【図５】図３のタイミングＴ２における電流経路を示した図である。
【図６】図３のタイミングＴ３における電流経路を示した図である。
【図７】図３のタイミングＴ４における電流経路を示した図である。
【図８】本発明によるドリフト補償を説明するタイムチャートである。
【図９】ドリフト補償の手順を示したフローチャートである。
【図１０】電流オフセット値の補正手順を示したフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態につき、図面を参照しながら説明する。各図において、同一部分または対応部分には、同一符号を付してある。
【００２１】
図１は、ＰＷＭ制御方式のモータ制御装置の一例を示している。電源回路１は、整流回路や平滑回路等から構成され、出力端にコンデンサＣが接続されている。インバータ回路２は、上下一対のアームがＵ相、Ｖ相、Ｗ相に対応して３組設けられた３相ブリッジから構成されている。Ｕ相の上アームＡ１はスイッチング素子Ｑ１を有し、Ｕ相の下アームＡ２はスイッチング素子Ｑ２を有している。Ｖ相の上アームＡ３はスイッチング素子Ｑ３を有し、Ｖ相の下アームＡ４はスイッチング素子Ｑ４を有している。Ｗ相の上アームＡ５はスイッチング素子Ｑ５を有し、Ｗ相の下アームＡ６はスイッチング素子Ｑ６を有している。これらのスイッチング素子Ｑ１〜Ｑ６は、ＦＥＴ（Field Effect Transistor：電界効果トランジスタ）からなる。インバータ回路２は、後述のドライバＩＣ３とともに、本発明におけるモータ駆動手段を構成している。
【００２２】
モータＭは、例えば車両の電動パワーステアリング装置に用いられる３相ブラシレスモータである。モータＭに流れる電流（モータ電流）を検出するためのシャント抵抗Ｒは、単一の抵抗からなり、電源回路１とインバータ回路２との間に接続されている。シャント抵抗Ｒの両端の電圧は、増幅回路５に与えられる。増幅回路５は、シャント抵抗Ｒの両端の電圧を増幅し、演算制御部４へ出力する。演算制御部４は、ＣＰＵやメモリ等からなる。シャント抵抗Ｒ、増幅回路５、および演算制御部４は、本発明における電流検出手段を構成している。また、演算制御部４は、本発明における制御手段および補償手段を構成している。
【００２３】
演算制御部４には、増幅回路５の出力が検出電圧値として入力され、また、操舵トルクを検出するトルクセンサ（図示省略）から検出トルク値が入力される。演算制御部４は、検出電圧値からモータ電流の検出電流値を算出するとともに、検出トルク値から目標電流値（モータＭに流す電流の目標値）を算出し、検出電流値と目標電流値との偏差に基づいて、各相のＰＷＭ信号のデューティを算出する。そして、このデューティと鋸歯状のキャリア信号とに基づいて生成した各相のＰＷＭ信号を、ドライバＩＣ３へ供給する。また、演算制御部４は、シャント抵抗Ｒに流れるドリフト電流に基づいて、モータ電流の検出電流値に対しドリフト補償を行う（詳細は後述）。
【００２４】
ドライバＩＣ３は、スイッチング素子Ｑ１〜Ｑ６を個別にＯＮ・ＯＦＦさせるための各相のＰＷＭ信号を、各スイッチング素子Ｑ１〜Ｑ６のゲートへ出力する。このＰＷＭ信号に基づくスイッチング素子Ｑ１〜Ｑ６のＯＮ・ＯＦＦ動作により、電源回路１からインバータ回路２を介してモータＭへ電流が供給され、モータＭが回転する。
【００２５】
図２は、ドライバＩＣ３からインバータ回路２へ与えられるＰＷＭ信号を示している。ここでは、Ｕ相をデューティが最も大きい最大相、Ｖ相をデューティが中間の中間相、Ｗ相をデューティが最も小さい最小相としている。Ｕ相の上段ＰＷＭ信号は、上アームＡ１のスイッチング素子Ｑ１に印加されるＰＷＭ信号であり、下段ＰＷＭ信号は、下アームＡ２のスイッチング素子Ｑ２に印加されるＰＷＭ信号である。Ｖ相の上段ＰＷＭ信号は、上アームＡ３のスイッチング素子Ｑ３に印加されるＰＷＭ信号であり、下段ＰＷＭ信号は、下アームＡ４のスイッチング素子Ｑ４に印加されるＰＷＭ信号である。Ｗ相の上段ＰＷＭ信号は、上アームＡ５のスイッチング素子Ｑ５に印加されるＰＷＭ信号であり、下段ＰＷＭ信号は、下アームＡ６のスイッチング素子Ｑ６に印加されるＰＷＭ信号である。なお、図中のτは、各アームにおける上下のスイッチング素子が同時にＯＮ状態となってインバータ回路２に短絡が生じるのを回避するためのデッドタイムである。
【００２６】
次に、モータＭに流れる電流を検出するタイミングにつき、図３を参照しながら説明する。図３に示されるように、ＰＷＭ信号の１周期においては、力行区間と回生区間（上段回生区間および下段回生区間）とが存在する。力行区間においては、デッドタイム区間を除いて、インバータ回路２の上アームのスイッチング素子（以下、「上段スイッチング素子」という）Ｑ１、Ｑ３、Ｑ５の少なくとも１つがＯＮ状態となり、下アームのスイッチング素子（以下、「下段スイッチング素子」という）Ｑ２、Ｑ４、Ｑ６の少なくとも１つがＯＮ状態となることにより、シャント抵抗Ｒにモータ電流が流れる。このため、シャント抵抗Ｒの両端には、図で示したシャント電圧が現れる。
【００２７】
一方、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５がすべてＯＮ状態で、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６がすべてＯＦＦ状態となる上段回生区間では、理論上シャント抵抗Ｒにモータ電流が流れないので、シャント抵抗Ｒの両端には、シャント電圧が現れない。また、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５がすべてＯＦＦ状態で、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６がすべてＯＮ状態となる下段回生区間でも、理論上シャント抵抗Ｒにモータ電流が流れないので、シャント抵抗Ｒの両端には、シャント電圧が現れない。
【００２８】
Ｔ１〜Ｔ４は、シャント抵抗Ｒに流れる電流を検出するタイミングを示している。なお、ここでいうタイミングとは、電流検出が可能な時間幅をもった区間の概念である。タイミングＴ１、Ｔ２は力行区間における検出タイミングであって、これらはシャント抵抗Ｒにモータ電流が流れている状態での通常の電流検出タイミングである。タイミングＴ３、Ｔ４はそれぞれ上段回生区間、下段回生区間における検出タイミングであって、これらは理論上シャント抵抗Ｒに電流が流れていない状態、すなわちモータ電流がゼロとみなされる状態での電流検出タイミングである。
【００２９】
図３のタイミングＴ１では、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５がそれぞれＯＮ、ＯＦＦ、ＯＦＦで、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６がそれぞれＯＦＦ、ＯＮ、ＯＮとなり、インバータ回路２には、図４に破線矢印で示した経路で電流が流れる。このとき、シャント抵抗Ｒに流れる電流はＵ相電流であり、タイミングＴ１でモータＭのＵ相電流が検出される。
【００３０】
図３のタイミングＴ２では、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５がそれぞれＯＮ、ＯＮ、ＯＦＦで、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６がそれぞれＯＦＦ、ＯＦＦ、ＯＮとなり、インバータ回路２には、図５に破線矢印で示した経路で電流が流れる。このとき、シャント抵抗Ｒに流れる電流はＷ相電流であり、タイミングＴ２でモータＭのＷ相電流が検出される。
【００３１】
Ｖ相電流については、Ｕ相電流とＷ相電流とから、計算により求められる。すなわち、Ｕ相電流値をＩｕ、Ｖ相電流値をＩｖ、Ｗ相電流値をＩｗとしたとき、これらの間には、次の関係が成立する。
Ｉｕ＋Ｉｖ＋Ｉｗ＝０
したがって、Ｖ相電流値Ｉｖは、
Ｉｖ＝−（Ｉｕ＋Ｉｖ）
として算出することができる。
【００３２】
図３のタイミングＴ３では、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５はすべてＯＮ、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６はすべてＯＦＦとなり、インバータ回路２には、図６に破線矢印で示した経路で電流が流れる。このときの電流は、モータＭの巻線Ｌｕ、Ｌｖ、Ｌｗに蓄積された電気エネルギーの放出による回生電流であり、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５を介して回流する。したがって、タイミングＴ３では理論上、シャント抵抗Ｒに電流は流れないはずである。しかしながら、先述のとおり、実際にはシャント抵抗Ｒにドリフト電流が流れることがある。この場合、シャント抵抗Ｒの両端に電圧が発生するので、この電圧に基づいてドリフト電流が検出される。
【００３３】
図３のタイミングＴ４では、上段スイッチング素子Ｑ１、Ｑ３、Ｑ５はすべてＯＦＦ、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６はすべてＯＮとなり、インバータ回路２には、図７に破線矢印で示した経路で電流が流れる。このときの電流は、モータＭの巻線Ｌｕ、Ｌｖ、Ｌｗに蓄積された電気エネルギーの放出による回生電流であり、下段スイッチング素子Ｑ２、Ｑ４、Ｑ６を介して回流する。したがって、タイミングＴ４でも理論上、シャント抵抗Ｒに電流は流れないはずであるが、前記と同様にシャント抵抗Ｒにドリフト電流が流れることがある。この場合も、シャント抵抗Ｒの両端に電圧が発生するので、この電圧に基づいてドリフト電流が検出される。
【００３４】
次に、演算制御部４が行なうドリフト補償について説明する。ドリフト補償は、インバータ回路２の状態が、モータ電流がゼロとみなされる状態にあるときに、シャント抵抗Ｒに流れるドリフト電流を検出し、このドリフト電流の検出電流値に基づいて、モータ電流の検出電流値を補正する処理である。
【００３５】
図８は、ドリフト補償を説明するタイムチャートである。図８（ａ）は、電源回路１からインバータ回路２へ供給される電源のＯＮ・ＯＦＦ状態を示している。図８（ｂ）は、ドライバＩＣ３からインバータ回路２に出力されるＰＷＭ信号の波形を示している。なお、ドライバＩＣ３からは、スイッチング素子Ｑ１〜Ｑ６に対応して、６種類のＰＷＭ信号が出力されるが、図８（ｂ）では、そのうちの１つのＰＷＭ信号の波形が模式的に示されている。図８（ｃ）は、ドリフト電流、電流オフセット値および目標オフセット値の各変化を示している。図８（ｄ）は、モータ制御装置が搭載されているＥＣＵ（電子制御ユニット）の温度変化を示している。
【００３６】
図８（ｄ）のようにＥＣＵの温度が変化すると、図８（ｃ）のようにドリフト電流も変動する。ドリフト電流は、温度の上昇とともに増加し、温度の下降とともに減少する傾向を示す。このドリフト電流を周期Ｔごとに測定し、その測定値に基づいて、目標オフセット値を周期Ｔごとに設定する。そして、目標オフセット値と電流オフセット値とを比較しつつ、電流オフセット値が目標オフセット値に到達するまで、電流オフセット値を一定量づつ段階的に補正する。すなわち、周期Ｔごとに、電流オフセット値を予め設定された補正値Ｋだけ補正することにより、徐々に目標オフセット値に近づけてゆく。この場合、電流オフセット値＜目標オフセット値であれば、電流オフセット値に補正値Ｋを加算し、電流オフセット値＞目標オフセット値であれば、電流オフセット値から補正値Ｋを減算する。
【００３７】
次に、図９のフローチャートを参照しながら、ドリフト補償の手順をさらに詳細に説明する。図９における各ステップは、演算制御部４を構成するＣＰＵにより実行される。
【００３８】
ステップＳ１では、電源回路１からインバータ回路２へ供給される電源がＯＮとなる（図８の時刻ｔ１）。この時点では、ドライバＩＣ３はまだ動作状態になっておらず、ＰＷＭ信号を出力しないので、インバータ回路２は駆動されない。
【００３９】
ステップＳ２では、インバータ回路２がＰＷＭ駆動されていない状態（モータ電流がゼロとみなされる状態）で、シャント抵抗Ｒに流れるドリフト電流を、増幅回路５を介して検出し、この検出電流値を電流オフセット値として設定する（図８の時刻ｔ２）。このときの設定値は、電流オフセット値の初期値となる。
【００４０】
ステップＳ３では、ドライバＩＣ３が動作してＰＷＭ信号を出力し、インバータ回路２のＰＷＭ駆動が開始される（図８の時刻ｔ３）。
【００４１】
ステップＳ４では、モータ電流が流れる力行区間（図３参照）において、シャント抵抗Ｒに流れるモータ電流が検出される。このときの検出電流値をＩとする。検出電流値Ｉは、増幅回路５の出力である検出電圧値に電流ゲインを乗算することにより算出される。
【００４２】
ステップＳ５では、ステップＳ４で検出された検出電流値Ｉに電流オフセット値を加算することにより、モータ電流の検出電流値Ｉを補償する。この補償された電流値が、制御用電流値となる。なお、ステップＳ５の初回実行時においては、加算される電流オフセット値は、ステップＳ２で設定された初期値である。
【００４３】
ステップＳ６では、ステップＳ５で算出した制御用電流値に基づいて、通常のフィードバック制御が行われる。すなわち、制御用電流値と目標電流値との偏差から電圧指令値を算出し、この電圧指令値に応じたデューティを有する各相のＰＷＭ信号を生成する。そして、生成したＰＷＭ信号をドライバＩＣ３へ出力し、ドライバＩＣ３によりインバータ回路２をＰＷＭ駆動する。これにより、モータＭに流れる電流が、目標電流値となるように制御される。
【００４４】
ステップＳ７では、モータ電流がゼロとみなせる回生区間（図３参照）において、シャント抵抗Ｒに流れるドリフト電流が検出される。このときの検出電流値をＩｏとする。検出電流値Ｉｏは、増幅回路５の出力である検出電圧値に電流ゲインを乗算することにより算出される。
【００４５】
ステップＳ８では、ステップＳ５で用いられた電流オフセット値と、ステップＳ７で検出されたドリフト電流の検出電流値Ｉｏとの差を求め、この差が所定範囲にあるか否かを判定する。ここでは、両者の差（絶対値）を閾値である補正値Ｋと比較し、差が補正値Ｋ以下であれば（ステップＳ８；ＹＥＳ）、ドリフト電流の変化が小さく、電流オフセット値の補正は不要と判断して、ステップＳ１０へ進む。一方、両者の差が補正値Ｋを超えておれば（ステップＳ８；ＮＯ）、ドリフト電流の変化が大きく、電流オフセット値の補正が必要と判断して、ステップＳ９へ進む。
【００４６】
図１０は、図９のステップＳ９における電流オフセット値補正の詳細手順を示したフローチャートである。図１０の各ステップは、演算制御部４を構成するＣＰＵにより実行される。
【００４７】
ステップＳ２１では、ドリフト電流の検出電流値Ｉｏを、目標オフセット値として設定する。ステップＳ２１の初回実行時においては、検出電流値Ｉｏは、図９のステップＳ７で検出された電流値である。
【００４８】
ステップＳ２２では、ステップＳ２１で設定された目標オフセット値と、電流オフセット値とを比較する。ステップＳ２２の初回実行時においては、電流オフセット値は、図９のステップＳ２で設定された初期値である。
【００４９】
ステップＳ２２での比較の結果、電流オフセット値が目標オフセット値より小さい場合は、電流オフセット値を増加させて目標オフセット値に近づけるため、ステップＳ２３へ進む。ステップＳ２３では、電流オフセット値に補正値Ｋを加算して、電流オフセット値を更新する。その後、ステップＳ２５へ進む。
【００５０】
一方、ステップＳ２２での比較の結果、電流オフセット値が目標オフセット値より大きい場合は、電流オフセット値を減少させて目標オフセット値に近づけるため、ステップＳ２４へ進む。ステップＳ２４では、電流オフセット値から補正値Ｋを減算して、電流オフセット値を更新する。その後、ステップＳ２５へ進む。
【００５１】
ステップＳ２５では、図９のステップＳ４と同様に、力行区間でモータ電流を検出する。
【００５２】
ステップＳ２６では、制御用電流値を更新する。すなわち、ステップＳ２５で検出されたモータ電流の検出電流値Ｉに、ステップＳ２３、Ｓ２４で得られた電流オフセット値を加算して、新たな制御用電流値を算出する。
【００５３】
ステップＳ２７では、ステップＳ２６で算出された制御用電流値を用いて、図９のステップＳ６と同様に、通常のフィードバック制御が行われる。
【００５４】
ステップＳ２８では、ステップＳ２３、Ｓ２４で電流オフセット値を更新した結果、電流オフセット値が目標オフセット値に到達したか否かが判定される。電流オフセット値が目標オフセット値に到達していない場合（ステップＳ２８；ＮＯ）は、電流オフセット値の補正を継続する必要があると判断して、ステップＳ２９へ進む。
【００５５】
ステップＳ２９では、図９のステップＳ７と同様に、モータ電流がゼロとみなせる回生区間でドリフト電流を検出する。そして、ステップＳ２１へ移って、ステップＳ２９で検出されたドリフト電流の検出電流値Ｉｏを、新たな目標オフセット値として設定する。これにより、目標オフセット値が更新される。
【００５６】
その後、ステップＳ２２において、更新した目標オフセット値と現在の電流オフセット値とを比較し、その比較結果に基づいて、ステップＳ２３、Ｓ２４で電流オフセット値の補正を行う。そして、ステップＳ２５〜Ｓ２７の各処理を実行し、ステップＳ２８で電流オフセット値が目標オフセット値と等しくなるまで、ステップＳ２１〜Ｓ２９の処理を繰り返す。
【００５７】
ステップＳ２１〜Ｓ２９の処理が繰り返し実行されることにより、電流オフセット値は、周期Ｔごとに補正値Ｋだけ補正されて、徐々に目標オフセット値に近づいてゆく。例えば、図８の時刻ｔ４〜ｔ１１の区間では、電流オフセット値が目標オフセット値より小さいので、周期Ｔごとに電流オフセット値に補正値Ｋが加算されて、電流オフセット値が目標オフセット値に近づいてゆく。また、図８の時刻ｔ１５〜ｔ２３の区間では、電流オフセット値が目標オフセット値より大きいので、周期Ｔごとに電流オフセット値から補正値Ｋが減算されて、電流オフセット値が目標オフセット値に近づいてゆく。
【００５８】
そして、ステップＳ２８において、電流オフセット値が目標オフセット値と等しくなると（ステップＳ２８；ＹＥＳ）、電流オフセット値がドリフト補償に必要な値に補正されたと判断して、電流オフセット値の補正を終了する（図８の時刻ｔ１１〜ｔ１５）。
【００５９】
その後、図９のステップＳ１０へ移り、電源回路１からインバータ回路２へ供給される電源がＯＦＦとなったか否かを判定する。電源がＯＦＦでなければ（ステップＳ１０；ＮＯ）、ステップＳ４へ戻って、以降の各ステップを実行する。そして、電源がＯＦＦになると（ステップＳ１０；ＹＥＳ）、図９の一連の手順を終了する。
【００６０】
なお、図８の例では、温度変化に伴ってドリフト電流が単調増加および単調減少し、単調増加の区間では補正値の加算が繰り返され、単調減少の区間では補正値の減算が繰り返されて、電流オフセット値が補正される。しかしながら、ドリフト電流は温度のほかノイズ等によっても変動する。ノイズの場合は、ドリフト電流の変化が不規則になって、加算と減算とが入り混じって繰り返されることがあるが、電流オフセット値の補正の原理は、温度変化の場合と同じである。
【００６１】
以上のように、本実施形態では、ドリフト補償を行うにあたって、電流オフセット値に対し、周期Ｔごとに補正値Ｋの加算または減算を行い、電流オフセット値を毎回少しづつ補正しながら、徐々に目標オフセット値に近づけるようにしている。このため、ドリフト電流が大きく変化した場合でも、電流オフセット値の急激な変化が抑制される。これにより、電圧指令値の急激な変化に伴うモータ回転数の急変が回避され、安定した操舵フィーリングを維持することができる。
【００６２】
また、本実施形態では、電流オフセット値が目標オフセット値に到達するまでの間は、周期Ｔごとに、モータ電流の検出（ステップＳ２５）と、その検出電流値に対する電流オフセット値による補償（ステップＳ２６）と、補償された検出電流値（制御用電流値）に基づくモータ制御（ステップＳ２７）とを行う。これにより、周期単位で、きめの細かいドリフト補償を行うことができる。
【００６３】
また、本実施形態では、電流オフセット値とドリフト電流の検出電流値との差を求め、この差が所定範囲にない場合にのみ、目標オフセット値を設定して電流オフセット値の補正を行う（ステップＳ８、Ｓ２１〜Ｓ２４）。このため、電流オフセット値の補正は、電流オフセット値とドリフト電流の検出電流値との差が大きくなった場合に実行され、両者の差が小さい場合は実行されないので、制御用電流値が必要以上に変動することがない。これによって、より安定した操舵フィーリングを維持することができる。
【００６４】
また、本実施形態では、インバータ回路２の電源がＯＮした後、インバータ回路２が動作を開始するまでの間に検出されたドリフト電流の検出電流値を、電流オフセット値の初期値として設定する（ステップＳ２）。そして、インバータ回路２が動作を開始した後、上記初期値を用いて算出した制御用電流値に基づいて、モータ電流を制御する（ステップＳ５、Ｓ６）。ここで、初期値はモータＭの停止状態において設定された電流オフセット値であるので、モータＭが駆動を開始した時点で、電流オフセット値の急変が問題となることはない。
【００６５】
本発明では、以上述べた以外にも種々の実施形態を採用することができる。例えば、前記実施形態では、各周期ごとに目標オフセット値を設定して、電流オフセット値を段階的に補正したが、例えば、1周期おきに目標オフセット値を設定して、電流オフセット値を段階的に補正してもよい。
【００６６】
また、前記実施形態では、図９のステップＳ８における閾値として、図１０のステップＳ２３、Ｓ２４における補正値Ｋを用いたが、ステップＳ８における閾値は、補正値Ｋと別の値であってもよい。
【００６７】
また、前記実施形態では、単一のシャント抵抗Ｒを用いたモータ制御装置を例に挙げたが、各相の下アームにそれぞれシャント抵抗が設けられている場合にも、本発明を適用することができる。
【００６８】
また、前記実施形態では、上段回生区間と下段回生区間の両方において、シャント抵抗Ｒの電流を検出し、ドリフト補償を行なったが、上段回生区間と下段回生区間のいずれか一方のみにおいて、シャント抵抗Ｒの電流を検出し、ドリフト補償を行なってもよい。
【００６９】
また、前記実施形態では、Ｕ相が最大相、Ｖ相が中間相、Ｗ相が最小相である場合を例に挙げたが（図２）、これは一例であって、例えば、Ｕ相が最小相、Ｖ相が中間相、Ｗ相が最大相である場合や、Ｕ相が中間相、Ｖ相が最小相、Ｗ相が最大相である場合など、各相と最大相・中間相・最小相との組み合わせがどのような場合であっても、本発明を適用することができる。
【００７０】
また、前記実施形態では、スイッチング素子Ｑ１〜Ｑ６としてＦＥＴを使用したが、ＩＧＢＴ（絶縁ゲート型バイポーラモードトランジスタ）のような他のスイッチング素子を使用してもよい。
【００７１】
また、前記実施形態では、モータＭとして３相モータを例に挙げたが、本発明は、４相以上の多相モータを駆動する場合にも適用することができる。
【００７２】
また、前記実施形態では、モータＭとしてブラシレスモータを例に挙げたが、本発明は、誘導モータや同期モータなどを駆動する装置にも適用することができる。
【００７３】
さらに、前記実施形態では、車両の電動パワーステアリング装置に本発明を適用した例を挙げたが、本発明は、電動パワーステアリング装置以外の装置にも適用することができる。
【符号の説明】
【００７４】
１  電源回路
２  インバータ回路
３  ドライバＩＣ
４  演算制御部
５  増幅回路
Ｋ  補正値
Ｍ  モータ
Ｒ  シャント抵抗
Ｔ  周期
【図１】
2013017363.tif 000003
【図２】
2013017363.tif 000004
【図３】
2013017363.tif 000005
【図４】
2013017363.tif 000006
【図５】
2013017363.tif 000007
【図６】
2013017363.tif 000008
【図７】
2013017363.tif 000009
【図８】
2013017363.tif 000010
【図９】
2013017363.tif 000011
【図１０】
2013017363.tif 000012