(57)【特許請求の範囲】
【請求項１】
制御演算によりモータの電流を制御するための各相Duty指令値を算出し、前記各相Duty指令値に応じたＰＷＭ波形を形成し、前記ＰＷＭ波形に基づいてインバータにより前記モータを駆動するモータ制御装置において、
前記インバータの電源入力側又は電源出力側に単一の電流検出器を接続し、相電流値を必要とする制御周期１回に対してＰＷＭ周期がｎ（＞２）回ある構成であり、前記ＰＷＭ周期ｎ回中の１回を電流検出周期とすると共に、（ｎ−１）回をDuty調整周期とし、
前記各相Duty指令値の最大Duty、中間Duty、最小Dutyを判定する機能と、
前記電流検出周期では、
前記最大Dutyと前記最小Dutyの差分が、電流検出必要Duty量τの２倍より小さく、且つ前記中間Dutyが前記電流検出必要Duty量τより大きく、（100%−τ）より小さくなるという第１の条件下においては、前記中間Dutyを基準とし、基準とする前記中間Dutyに前記電流検出必要Duty量τを加算した値と、前記最大Dutyのどちらか大きい方を検出用最大Dutyとし、基準とする前記中間Dutyから前記電流検出必要Duty量τを減算した値と、前記最小Dutyのどちらか小さい方を検出用最小Dutyとし、基準とする前記中間Dutyをそのまま検出用中間Dutyとすることにより、前記電流検出周期の検出用各相Dutyを算出し、
前記第１の条件以外の場合という第２の条件下においては、前記最大Dutyを基準とし、基準とする前記最大Dutyをそのまま検出用最大Dutyとし、ただし、前記最大Dutyが前記電流検出必要Duty量τの２倍より小さいときに、２τを前記検出用最大Dutyとし、前記検出用最大Dutyを基準とし、
基準とする前記検出用最大Duty(又は前記最大Duty)と前記中間Dutyとの差が前記電流検出必要Duty量τより小さいとき（第１ときと言う）に、前記検出用最大Dutyから前記電流検出必要Duty量τを減算した値を検出用中間Dutyとし、前記中間Dutyが前記電流検出必要Duty量τより小さいとき（第２ときと言う）に、前記電流検出必要Duty量τを前記検出用中間Dutyとし、前記第１とき及び前記第２とき以外の場合に、前記中間Dutyをそのまま検出用中間Dutyとし、
前記検出用中間Dutyと前記最小Dutyとの差が前記電流検出必要Duty量τより小さいとき（第３ときと言う）に、前記検出用中間Dutyから前記電流検出必要Duty量τを減算した値を検出用最小Dutyとし、前記第３とき以外の場合に、前記最小Dutyをそのまま検出用最小Dutyとすることにより、前記検出用各相Dutyを算出し、
前記Duty調整周期では、前記各相Duty指令値と前記電流検出周期で算出された前記検出用各相Dutyとの差分を（ｎ−１）で割って得られた値を、前記各相Duty指令値に加算することにより得られた値を、調整用各相Dutyとする機能とを具備したことを特徴とするモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置を搭載したことを特徴とする電動パワーステアリング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御演算によりモータの電流を制御するための各相Duty指令値を算出し、各相Duty指令値に応じたＰＷＭ波形を形成し、ＰＷＭ制御インバータにてモータに指令電流（電圧）を与えて駆動すモータ制御装置と、そのモータ制御装置を用いて車両のステアリング機構にモータによるアシストトルクを付与するようにした電動パワーステアリング装置とに関し、特にＰＷＭ制御インバータの電源入力側又は電源出力側（接地側）に単一の電流検出器を配設してＰＷＭ制御すると共に、相電流値を必要とする制御周期１回に対してＰＷＭ周期がｎ（＞２）回ある構成とし、ＰＷＭ周期ｎ回中の１回を電流検出周期とすると共に、（ｎ−１）回をDuty調整周期としてDuty演算を制御することで、コンパクト化、軽量化及びコストダウンを図ったモータ制御装置及びそれを用いた電動パワーステアリング装置に関する。
【背景技術】
【０００２】
車両のステアリング装置をモータの回転力で補助負荷付勢する電動パワーステアリング装置は、モータの駆動力を減速機を介してギア又はベルト等の伝達機構により、ステアリングシャフト或いはラック軸に補助負荷付勢するようになっている。かかる従来の電動パワーステアリング装置は、アシストトルク（操舵補助力）を正確に発生させるため、モータ電流のフィードバック制御を行っている。フィードバック制御は、電流指令値（操舵補助指令値）とモータ電流検出値との差が小さくなるようにモータ印加電圧を調整するものであり、モータ印加電圧の調整は、一般的にＰＷＭ（パルス幅変調）制御インバータのDuty比の調整で行っている。
【０００３】
ここで、電動パワーステアリング装置の一般的な構成を図１に示して説明すると、ハンドル１のコラム軸２は減速ギア３、ユニバーサルジョイント４Ａ及び４Ｂ、ピニオンラック機構５を経て操向車輪のタイロッド６に連結されている。コラム軸２には、ハンドル１の操舵トルクを検出するトルクセンサ１０が設けられており、ハンドル１の操舵力を補助するモータ２０が、減速ギア３を介してコラム軸２に連結されている。電動パワーステアリング装置を制御するコントロールユニット３０には、バッテリ１４から電力が供給されると共に、イグニッションキー１１を経てイグニッション信号が入力され、コントロールユニット３０は、トルクセンサ１０で検出された操舵トルクＴと車速センサ１２で検出された車速Ｖとに基づいてアシスト指令のモータ電流Ｉｍの演算を行い、演算されたモータ電流Ｉｍがモータ２０に供給される。
【０００４】
コントロールユニット３０は主としてＣＰＵ（ＭＰＵやＭＣＵを含む）で構成されるが、そのＣＰＵ内部においてプログラムで実行される一般的な機能を示すと図２のようになる。
【０００５】
図２を参照してコントロールユニット３０の機能及び動作を説明すると、トルクセンサ１０で検出された操舵トルクＴは位相補償部３１で位相補償されて操舵補助指令値演算部３２に入力され、車速センサ１２で検出された車速Ｖも操舵補助指令値演算部３２に入力される。操舵補助指令値演算部３２は、入力された操舵トルクＴ及び車速Ｖに基づいて、アシストマップを参照してモータ２０に供給する電流の制御目標値である操舵補助指令値Ｉを決定する。操舵補助指令値Ｉは減算部３０Ａに入力されると共に、応答速度を高めるためのフィードフォワード系の微分補償部３４に入力され、減算部３０Ａの偏差（Ｉ−ｉ）は比例演算部３５に入力されると共に、フィードバック系の特性を改善するための積分演算部３６に入力され、その比例出力は加算部３０Ｂに入力される。微分補償部３４及び積分演算部３６の出力も加算部３０Ｂに加算入力され、加算部３０Ｂでの加算結果である電流制御値Ｅが、モータ駆動信号としてモータ駆動回路３７に入力される。モータ駆動回路３７にはバッテリ１４からイグニッションキー１１及びフューズ１３を経て電力が供給され、モータ２０のモータ電流値ｉはモータ電流検出回路３８で検出され、モータ電流値ｉは減算部３０Ａに入力されてフィードバックされる。
【０００６】
モータ駆動回路３７の一般的な構成例を図３に示して説明する。モータ駆動回路３７は、ＰＷＭ制御部３７Ａとインバータ３７Ｂとで構成されている。ＰＷＭ制御部３７Ａは、電流制御値Ｅを所定式に従って３相分のＰＷＭ  Duty指令値Ｄ１〜Ｄ６を演算するデューティ演算部３７１と、ＰＷＭ  Duty指令値Ｄ１〜Ｄ６でスイッチング駆動素子としてのＦＥＴのゲートを駆動すると共に、デッドタイムの補償をしてＯＮ／ＯＦＦするゲート駆動部３７２とで構成されており、インバータ３７ＢはＦＥＴの３相ブリッジで構成されており、ＰＷＭ  Duty指令値Ｄ１〜Ｄ６でＯＮ／ＯＦＦされることによってモータ２０を駆動する。
【０００７】
このようなモータ駆動装置において、多相のブラシレスモータをインバータにより駆動するに当たってはロータの位置、つまりモータ位相を把握した上、モータ位相に応じて各相への通電状態を順次切替えていく必要がある。モータ位相は、一般的にはホール素子やレゾルバ等のロータ位置センサにてロータ位置を検出し、検出されたロータ位置に応じてインバータ（ＦＥＴ）のスイッチングを行うモータ駆動装置が実用化されている。また、モータの各コイル層に流れる電流値とモータ位相との関係式は知られており、各コイル相の電流値を計測し、その電流値からモータ位相を検出するモータ駆動装置が提案されている。
【０００８】
前述したような電流フィードバック系の構成及びモータ位置の演算のため、各コイル相の電流値を計測する必要があり、一方では、電動パワーステアリング装置のコンパクト化、軽量化、コストダウンの項目の１つとして電流検出器の単一化が要請されている。つまり、単一の電流検出器により各相電流を計測することが要請されている。
【０００９】
かかる要請に応える各相の相電流検出に関して、例えば特開平８−１９２６３号公報（特許文献１）に開示されるＰＷＭ制御インバータが提案されている。特許文献１に記載の装置では、インバータ主回路の各相スイッチング素子のスイッチング直前及び直後に電流センサを接続し、電流センサでインバータ主回路の直流母線電流を検出し、検出電流の変化分をスイッチングタイミングに応じて各相別に分配して相別の検出電流としている。これにより、相電流検出を１つの電流センサで実施できるようになっている。
【００１０】
しかしながら、特許文献１に開示されたＰＷＭ制御インバータでは、電圧指令値が３相共に０となったり、或いは２相の電圧指令値がほぼ等しくなる場合が発生する。この結果、例えば３相のスイッチング素子が同時にスイッチングを行ったときは前者となり、２相のスイッチング素子が同時にスイッチングを行えば後者となる。そのため、直流母線電流を１つの電流センサで検出する特許文献１に記載のＰＷＭ制御インバータでは、例えばｖ相電圧とｗ相電圧の立ち上がり及び立ち下がりが同時では、各相の電流情報が直流母線に現われる時間が短くて電流検出が困難であると共に、ｖ相電流とｗ相電流とを分離することができない。これは、スイッチングが完全に同時である場合だけでなく、１つの相のスイッチングから他の相のスイッチングまでの間隔が短い場合も同様であり、スイッチング間の直流母線電流の検出が困難、或いは検出精度の低下を招き、各相電流を適正に求めることができないという問題がある。
【００１１】
このような問題を解決し、単一の電流検出器を用いて相電流を検出してモータを駆動するものとして、特許第3664040号（特許文献２）に開示されているＰＷＭ制御インバータがある。その構成は、Dutyの大きさの差が電流検出時間に相当するDuty量に満たないとき、１ＰＷＭの前半と後半で異なるDuty指令値となるように変更する手法で、変更するDuty指令値は、前半では３相Dutyのうちの中間Duty（２番目に大きいDuty）を基準とし、電流検出時間が確保できるように最大Dutyと最小Dutyを変更した値とし、後半では平均値が元のDuty指令値と同じとなるように、前半で変更したDuty分を調整するDuty指令値とするものである。
【００１２】
しかし、特許文献２に記載のＰＷＭ制御インバータでは、１ＰＷＭ周期内でDutyを変更するため、１ＰＷＭ周期が短い場合には、ソフトウェア負荷が非常に高くなる問題がある。また、電流検出時間を確保するためのDutyを、中間Dutyを基準として算出しているため、最大Dutyが100％となったときに、電流検出時間を確保するためのDuty変更を行うことができなくなる可能性がある。
【００１３】
また、特許第3931079号公報（特許文献３）に開示された装置では、１相がＯＮ、２相がＯＮ状態となる時間を、電流検出必要時間分だけ確保できるようにDutyを補正し、次キャリアで補正による増減分を調整し、平均値が元のDuty指令値と同値となるようにしている。このようにDuty変更が1キャリア毎であるため、特許文献３の装置によれば、特許文献２に記載の装置で問題となった点、つまり１ＰＷＭ周期が短い場合にソフトウェア負荷が非常に高くなるという問題は緩和することができる。
【００１４】
しかしながら、特許文献３に開示された装置では、補正するDutyの算出方法が明示されておらず、しかも、検出のためのDuty補正分を次キャリア周期内でのみで調整するため、補正できるDuty量に調整時のDuty範囲の制約が大きく影響する。特にＰＷＭ周期が短い構成のシステムでは、１ＰＷＭ周期に対し、電流検出に必要な時間の比率が大きくなるため、その影響度が大きくなり、電流検出が可能なDuty範囲が狭まってしまう問題がある。例えば電流検出に必要な時間がDuty12％分とし、最大Dutyを100％、最小Dutyを０％とすると、６％≦中間Duty≦94％の範囲でのみモータ印加電圧への影響を抑制しつつ、相電流の検出が可能であり、その他の領域では相電流を検出することができない問題がある。
【００１５】
総じて、単一の電流検出器で電流検出を行う構成では、電流検出可能なDuty範囲でDutyを制限する必要があり、その分モータ特性を十分に発揮できないことがあるため、可能な限り電流検出可能なDuty範囲を拡大することが望まれる。また、近年のソフトウェアに要望される機能の多様化から、ソフトウェア負荷を可能な限り低減することが望まれる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開平８−１９２６３号公報
【特許文献２】特許第３６６４０４０号公報
【特許文献３】特許第３９３１０７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
本発明は上述のような事情によりなされたものであり、本発明の目的は、単一の電流検出器を用いてモータ相電流を検出してフィードバックし、ＰＷＭ制御インバータでモータを駆動しても、１ＰＷＭ周期が短い場合にもソフトウェア負荷を高めることなく、最大Dutyが100％となったときにも電流検出時間を確保するためのDuty補正を行うことができると共に、電流検出が可能なDuty範囲を狭くすることがなく、コンパクト化、軽量化、コストダウンを図ったモータ制御装置及びそれを用いた電動パワーステアリング装置を提供することにある。
【課題を解決するための手段】
【００１８】
本発明は、制御演算によりモータの電流を制御するための各相Duty指令値を算出し、前記各相Duty指令値に応じたＰＷＭ波形を形成し、前記ＰＷＭ波形に基づいてインバータにより前記モータを駆動するモータ制御装置に関するものであり、本発明の上記目的は、前記インバータの電源入力側又は電源出力側に単一の電流検出器を接続し、相電流値を必要とする制御周期１回に対してＰＷＭ周期がｎ（＞２）回ある構成であり、前記ＰＷＭ周期ｎ回中の１回を電流検出周期とすると共に、（ｎ−１）回をDuty調整周期とし、前記各相Duty指令値の最大Duty、中間Duty、最小Dutyを判定する機能と、前記電流検出周期では、前記最大Dutyと前記最小Dutyの差分が、電流検出必要Duty量τの２倍より小さく、且つ前記中間Dutyが前記電流検出必要Duty量τより大きく、（100%−τ）より小さくなるという第１の条件下においては、前記中間Dutyを基準とし、基準とする前記中間Dutyに前記電流検出必要Duty量τを加算した値と、前記最大Dutyのどちらか大きい方を検出用最大Dutyとし、基準とする前記中間Dutyから前記電流検出必要Duty量τを減算した値と、前記最小Dutyのどちらか小さい方を検出用最小Dutyとし、基準とする前記中間Dutyをそのまま検出用中間Dutyとすることにより、前記電流検出周期の検出用各相Dutyを算出し、前記第１の条件以外の場合という第２の条件下においては、前記最大Dutyを基準とし、基準とする前記最大Dutyをそのまま検出用最大Dutyとし、ただし、前記最大Dutyが前記電流検出必要Duty量τの２倍より小さいときに、２τを前記検出用最大Dutyとし、前記検出用最大Dutyを基準とし、基準とする前記検出用最大Duty(又は前記最大Duty)と前記中間Dutyとの差が前記電流検出必要Duty量τより小さいとき（第１ときと言う）に、前記検出用最大Dutyから前記電流検出必要Duty量τを減算した値を検出用中間Dutyとし、前記中間Dutyが前記電流検出必要Duty量τより小さいとき（第２ときと言う）に、前記電流検出必要Duty量τを前記検出用中間Dutyとし、前記第１とき及び前記第２とき以外の場合に、前記中間Dutyをそのまま検出用中間Dutyとし、前記検出用中間Dutyと前記最小Dutyとの差が前記電流検出必要Duty量τより小さいとき（第３ときと言う）に、前記検出用中間Dutyから前記電流検出必要Duty量τを減算した値を検出用最小Dutyとし、前記第３とき以外の場合に、前記最小Dutyをそのまま検出用最小Dutyとすることにより、前記検出用各相Dutyを算出し、前記Duty調整周期では、前記各相Duty指令値と前記電流検出周期で算出された前記検出用各相Dutyとの差分を（ｎ−１）で割って得られた値を、前記各相Duty指令値に加算することにより得られた値を、調整用各相Dutyとする機能とを具備することにより達成される。
【発明の効果】
【００２０】
本発明に係るモータ制御装置によれば、ｎ回のＰＷＭ周期中に1回のDuty変更でよいため、ソフトウェア（ＣＰＵ）負荷を軽減することができる。また、Dutyを調整する周期を（ｎ−１）周期と長く設定しているため、Duty調整周期1回に対し、加算する調整Duty量を１／（ｎ−１）と小さくすることができ、モータ印加電圧への影響を抑制しつつ、相電流検出が可能なDuty範囲を広くできることで、Dutyの制限を緩和してモータ出力特性を十分活用することができる利点がある。
【００２１】
更に本発明に係るモータ制御装置によれば、電流検出周期において、各相Dutyの差分量が全て電流検出時間の確保に必要なDuty量よりも小さくなったときは中間Dutyを基準とし、最大Duty及び最小Dutyを補正して電流検出時間を確保し、それ以外は最大Dutyを基準として中間Duty及び最小Dutyを補正するようにしているので、最大Dutyが100％となったときでも、電流検出に必要な時間を確保するためのDuty補正が可能となり、相電流検出が可能なDuty範囲を広くできることで、Dutyの制限を緩和してモータ出力特性を十分活用することができる利点がある。
【００２２】
上記特長を有するモータ制御装置を単一の電流検出器を設けることによって実現できるため、かかるモータ制御装置を電動パワーステアリング装置に搭載すれば、電動パワーステアリング装置のコンパクト化、軽量化、コストダウンを図ることができる。また、本発明のモータ制御装置を用いることで、実用されるDuty範囲において相電流の検出が可能となるため、電動パワーステアリング装置の制御を確実に安定して実施することができる。
【図面の簡単な説明】
【００２３】
【図１】一般的な電動パワーステアリング装置の構成例を示す図である。
【図２】従来の電動パワーステアリング装置のコントロールユニットの構成例を示すブロック図である。
【図３】３相モータのモータ駆動回路の一例を示す結線図である。
【図４】単一の電流検出器を用いたインバータの構成例を示す結線図である。
【図５】インバータの動作例（Ａ相ＯＮ）を説明するための図である。
【図６】インバータの動作例（（Ａ相＋Ｂ相）ＯＮ）を説明するための図である。
【図７】電流検出周期及びDuty調整周期でのDuty補正方法を説明するための図である。
【図８】電流検出周期及びDuty調整周期でのDuty補正を行う装置の構成例を示すブロック図である。
【図９】電流検出周期及びDuty調整周期でのDuty補正方法の動作例を示すフローチャートである。
【図１０】２相のDutyが均衡する場合のＰＷＭ波形（鋸波キャリア）の一例を示す波形図である。
【図１１】３相のDutyが均衡し、各相Dutyの差が全て電流検出必要Duty量τ以内のＰＷＭ波形（鋸波キャリア）の一例を示す波形図である。
【図１２】３相のDutyが均衡し、最大Dutyと中間Dutyの差のみが電流検出可能な場合のＰＷＭ波形（鋸波キャリア）の一例を示す波形図である。
【図１３】Duty調整周期で調整可能な各相Duty指令値の範囲を示す図である。
【図１４】キャリア波形の違いによるDuty調整周期で調整可能な各相Duty指令値の範囲を示す図である。
【図１５】２相のDutyが均衡する場合のＰＷＭ波形（三角波キャリア）の一例を示す波形図である。
【発明を実施するための形態】
【００２４】
本発明は、電動パワーステアリング装置のコンパクト化、軽量化、コストダウンの項目の１つである電流検出器の単一化の要請を満たしながら、モータ制御装置のＰＷＭ制御インバータの相電流値を必要とする制御周期１回に対し、ＰＷＭ周期がｎ回ある構成 (ｎ＞２)とし、ｎ回のＰＷＭ周期中の１周期を電流検出周期とし、残りの（ｎ−１）周期をDuty調整周期としてDuty演算（補正）する。本発明のモータ制御装置では、ｎ回のＰＷＭ周期中に1回のDuty補正でよいため、ソフトウェア（ＣＰＵ）負荷を軽減することができる。更にDutyを調整する周期を（ｎ−１）周期と長く設定しているため、Duty調整周期１回に対し、加算する調整Duty量を１／（ｎ−１）と小さくすることができ、モータ印加電圧への影響を抑制しつつ、相電流の検出が可能なDuty範囲を広くすることができる。例えば電流検出に必要な時間がDuty12％分とし、最大Dutyを100％、最小Dutyを０％、ｎ＝５とすると、2.4％≦中間Duty≦97.6％の範囲でモータ印加電圧への影響を抑制できると共に、相電流の検出が可能である。
【００２５】
また、電流検出周期において、各相Dutyの差分量が全て電流検出時間の確保に必要なDuty量よりも小さくなったときは中間Dutyを基準とし、最大Duty及び最小Dutyを補正して電流検出時間を確保し、それ以外は最大Dutyを基準として中間Duty及び最小Dutyを補正する機能を具備している。これにより、最大Dutyが100％となったときでも、電流検出に必要な時間を確保するためのDuty変更が可能となる。
【００２６】
以下に、本発明の実施の形態を図面を参照して説明する。
【００２７】
先ず、単一の電流検出器が接続されたインバータの構成例を図４に示して説明する。この構成例では、Ａ〜Ｃ相の３相モータ５０がブリッジ構成の６個のＦＥＴでＰＷＭ制御され、ハイサイドＦＥＴには電源（バッテリ）５１から電力が供給され、ブリッジ構成の電源出力側（接地側）に単一の電流検出器６０が接続されている。この場合、電流検出器６０に流れる電流、つまりモータ検出電流は各ＦＥＴのＯＮ／ＯＦＦ状態により異なる。図５は例として、Ａ相ハイサイドＦＥＴがＯＮ（Ａ相ローサイドＦＥＴはＯＦＦ）で、Ｂ相及びＣ相のハイサイドＦＥＴがいずれもＯＦＦ (Ｂ相及びＣ相ローサイドＦＥＴはＯＮ)の状態時の電流経路を示している。また、図６は、Ａ相及びＢ相ハイサイドＦＥＴがいずれもＯＮ（Ａ相及びＢ相ローサイドＦＥＴはＯＦＦ）で、Ｃ相ハイサイドＦＥＴがＯＦＦ（Ｃ相ローサイドＦＥＴはＯＮ）の状態時の電流経路を示している。これら図５及び図６から分かるように、ハイサイドＦＥＴがＯＮしている相の合計値が電流検出器６０に電流として現れる。これは、電流検出器６０がインバータの電源入力側に接続されている場合も同様である。
【００２８】
以上のことより、１相ＯＮ状態のとき、及び２相ＯＮ状態のときに電流検出器６０で電流を検出し、３相の電流和が０である特性を利用すると、３相の各相電流の検出が可能となる。図５の場合にはＡ相の電流ＩＡを検出することになり、図６の場合にはＡ相の電流ＩＡとＢ相の電流ＩＢの加算値が電流検出器６０で検出されるが、ＩＡ＋ＩＢ＋ＩＣ＝０の関係があるので、Ｃ相の電流ＩＣがＩＣ＝−（ＩＡ＋ＩＢ）として検出されることになる。即ち、単一の電流検出器６０による電流検出によっても、３相の電流和が０である特性を利用することにより、各相の電流を検出することができる。
【００２９】
しかしながら、各ＦＥＴのＯＮ直後に電流検出器６０に流れるリギングノイズ等のノイズ成分を除去しながら正確に電流検出するためには、一定の検出時間が必要となる。そのため、１相ＯＮの状態、及び２相ＯＮの状態を電流検出に必要な時間だけ継続する必要があるが、各相Dutyが均衡する場合、つまり各相Dutyが近似している場合はその時間を確保することができない。また、通常ＰＷＭ周期は、サンプリング定理、モータ音の抑制のため、制御演算周期に対して短い周期に設定されるのが一般的である。相電流検出値を実際に用いるのは制御演算であるため、ＰＷＭ周期のうち制御演算が開始される直前の周期の相電流値を検出できればよい。
【００３０】
そのため、本発明では、相電流値を必要とする制御周期１回に対してＰＷＭ周期がｎ (ｎ＞２)回ある構成とし、ｎ回のＰＷＭ周期の内の1周期を電流検出周期とし、（ｎ−１）周期をDuty調整周期とする。そして、電流検出周期では、１相ＯＮの状態及び２相ＯＮの状態となる時間が電流検出に必要な時間を確保できるように、各相Duty指令値に各相Duty補正値を加減算することで補正し、Duty調整周期では、電流検出周期において電流検出のために補正したDuty補正値分を（ｎ−１）分割したDuty補正値を各相Duty指令値に減加算して補正する。このようにすることで、電流検出周期において、各相電流検出に必要な時間を確保して電流検出を行い、検出された電流値を制御演算に使用し、電流検出値の必要がないＰＷＭ周期においては電流検出のために補正したDuty分を補うことにより、与えたいDutyと、ｎ回のＰＷＭ周期の平均Dutyとを一致させ、モータ印加電圧に影響を極力及ぼさずに相電流を検出できるようにしている。
【００３１】
また、ｎ回のＰＷＭ周期の平均Dutyと、与えたいDutyとを一致させるための調整Duty量を（ｎ−１）回に分割することで、Duty調整周期における１ＰＷＭ周期でのDutyの補正量を少なくすることができる。このため、Duty補正量によるモータ電流への影響を最小限にでき、且つ調整におけるDutyの制約(０％≦(Duty指令値+Duty調整値)≦100％)に対して有利となり、電流検出が可能となるDuty領域を広くすることができる。
【００３２】
次に、電流検出周期及びDuty調整周期におけるDutyの変更（補正）方法を、図７を参照して説明する。
【００３３】
各相のDuty指令値において、Duty値が大きい順に最大Duty、中間Duty、最小Dutyを判定すると共に、電流検出が可能な領域であるかを判定し、電流検出が可能であるとき、電流検出周期の各相Duty
(検出用各相Duty)を算出する。
【００３４】
条件（１）では、最大Duty(MAX_Duty)と最小Duty(MIN_Duty)の差分量（MAX_Duty-MIN_Duty）が、電流検出に必要な時間を確保するために必要な電流検出必要Duty量τの２倍よりも小さくなり、且つ中間Duty(MID_Duty)が電流検出必要Duty量τより大きく、且つ（100％-τ）よりも小さくなる条件下では、中間Duty(MID_Duty)を基準として、最大Duty(MAX_Duty)及び最小Duty(MIN_Duty)を補正対象とする。即ち、条件（１）の場合には、最大Duty(MAX_Duty)は、中間Duty(MID_Duty)に電流検出必要Duty量τを加算した値（MID_Duty+τ）と、最大Duty(MAX_Duty)のどちらか大きい方を検出用最大Dutyとして選択し、最小Duty(MIN_Duty)は、中間Duty(MID_Duty)から電流検出必要Duty量τを減算した値（MID_Duty-τ）と、最小Duty(MID_Duty)のどちらか小さい方を電流検出周期の検出用最小Dutyとして選択する。
また、条件（２）では、上記条件（１）以外である場合、最大Duty(MAX_Duty)を基準として、中間Duty(MID_Duty)及び最小Duty(MIN_Duty)を補正対象とする。ただし、最大Duty(MAX_Duty)が電流検出必要Duty量τの２倍より小さくなったとき、最大Duty(MAX_Duty)を“２τ”に補正した値を検出用最大Dutyとし、これを基準とする。即ち、条件（２）では、検出用最大Duty(又は最大Duty(MAX_Duty))と中間Duty(MID_Duty)との差（検出用最大Duty(MAX_Duty)-MID_Duty）が電流検出必要Duty量τより小さいとき、中間Duty(MID_Duty)を（検出用最大Duty−τ）に補正し、中間Duty(MID_Duty)が電流検出必要Duty量τより小さいとき、中間Duty(MID_Duty)を電流検出必要Duty量τに補正して検出用中間Dutyとする。そして、検出用中間Dutyと最小Duty(MID_Duty)との差（検出用中間Duty-MID_Duty）が電流検出必要Duty量τより小さいとき、最小Duty(MIN_Duty)を（検出用中間Duty−τ）に補正して検出用最小Dutyとする。
【００３５】
一方、Duty調整周期における各相Duty指令値の算出は、次のように行う。即ち、算出された検出用各相Dutyと、基となる各相Duty指令値との差分を（ｎ−１）分割した値を算出し、元の各相Duty指令値に加算して調整用各相Dutyとする。
【００３６】
なお、例外処理として、各Dutyが電流検出可能な領域の外である場合にはDutyの補正を行わず、電流検出が不可能な状態であることを示すフラグ等を立てて出力する。
【００３７】
次に、上記処理を実現する装置の構成例を図８に示し、そのソフトウェア動作例を図９のフローチャートに示して詳細に説明する。
【００３８】
全体の制御や演算処理等を行うＣＰＵ７０を具備しており、ＣＰＵ７０には、電流制御値Ｅを入力して各相Duty指令値を演算するDuty演算部７１と、最大Dutyや最大相等を判定するDuty判定部７２と、条件（１）であるか又は条件（２）であるかを判定する条件判定部７３と、各変更用Dutyを算出する各変更用Duty算出部７４と、検出用最大Dutyを算出する検出用最大Duty算出部７５と、検出用最小Dutyを算出する検出用最小Duty算出部７６と、調整用各相Dutyを算出する調整用各相Duty算出部７７とが接続されている。ＣＰＵ７０には更に、電流検出に必要な時間を確保するために必要な電流検出必要Duty量τをパラメータとして設定するτ設定部８０と、検出用中間Dutyを算出する検出用中間Duty算出部８１と、種々のデータの比較を行う比較部８２と、電流検出周期とDuty調整周期を判定する電流検出周期／Duty調整周期判定部８３と、補正や算出されたDutyを出力してゲート駆動部８５に与えるDuty出力部８４と、電流検出器６０で検出された電流を入力する電流入力部６１とが接続されている。
【００３９】
このような構成において動作がスタートすると、Duty演算部７１は電流制御値Ｅに基づいて各相Duty指令値を演算して入力し、Duty判定部７２は最大Duty、中間Duty、最小Dutyを判定すると共に、最大相及び最小相を判定する（ステップＳ１０）。そして、条件判定部７３は各相Duty指令値の関係が前記条件（１）を満たすか否か、つまり最大Duty(MAX_Duty)と最小Duty(MIN_Duty)の差分量（MAX_Duty-MIN_Duty）が、τ設定部８０に設定されている電流検出必要Duty量τの２倍より小さく、且つ中間Duty(MID_Duty)が電流検出必要Duty量τより大きく、且つ（100％−τ）よりも小さくなっているかの条件（１）を判定する（ステップＳ１１）。
【００４０】
上記ステップＳ１１において、条件判定部７３が条件（１）が満たされると判定した場合には、各変更用Duty算出部７４は最大Duty下限値、最小Duty上限値、（中間Duty＋τ）、（中間Duty−τ）を算出して求め（ステップＳ１２）、Duty判定部７２で判定された最大Duty相においては、検出用最大Duty算出部７５が最大Dutyを最大Duty下限値でリミットして検出用最大Dutyとして算出し（ステップＳ１３）、中間Duty相においては補正なしで検出用中間Dutyとし（ステップＳ１４）、最小Duty相においては、検出用最小Duty算出部７６が最小Dutyを最大Duty下限値でリミットして検出用最小Dutyとする（ステップＳ１５）。
【００４１】
その後、調整用各相Duty算出部７７は、上述で求められた検出用最大Duty、検出用中間Duty、検出用最小Dutyを用いて下記数１に従って調整用各相Dutyを算出する（ステップＳ１６）。
（数１）
調整用各相Duty＝各相Duty＋（各相Duty−検出用各相Duty）／（ｎ−１）
そして、電流検出周期／Duty調整周期判定部８３で判定された電流検出周期において、検出用各相DutyをDuty出力部８４にセットし（ステップＳ１７）、電流検出周期／Duty調整周期判定部８３で判定されたDuty調整周期において、調整用各相DutyをDuty出力部８４にセットして終了する（ステップＳ１８）。
【００４２】
一方、上記ステップＳ１１において、条件判定部７３により条件（１）を満たさないと判定された場合には、最大Duty相においては、比較部８２により最大Dutyが“２τ”よりも小さいか否かを判定し（ステップＳ２０）、最大Dutyが“２τ”よりも小さいときは検出用最大Dutyを“２τ”とし（ステップＳ２１）、最大Dutyが“２τ”以上のときは補正しないで最大Dutyをそのまま検出用最大Dutyとする（ステップＳ２２）。比較部８２は更に、検出用最大Dutyと中間Dutyとの差（検出用最大Duty−中間Duty）が電流検出必要Duty量τよりも小さいか否かを判定し（ステップＳ２３）、差（検出用最大Duty−中間Duty）が電流検出必要Duty量τよりも小さい場合には、検出用中間Duty算出部８１が下記数２に従って検出用中間Dutyを算出する（ステップＳ２４）。
（数２）
検出用中間Duty＝検出用最大Duty−τ
また、差（検出用最大Duty−中間Duty）が電流検出必要Duty量τ以上の場合には、検出用中間Duty算出部８１は補正しないで検出用最大Dutyをそのまま検出用中間Dutyとして出力する（ステップＳ２５）。
更に、上記ステップＳ１１において条件（１）を満たさないと判定された場合の中間Duty相においては、比較部８２は中間Dutyが電流検出必要Duty量τよりも小さいか否かを判定し（ステップＳ２６）、中間Dutyが電流検出必要Duty量τ以上のときは前記ステップＳ２３に進む。また、中間Dutyが電流検出必要Duty量τよりも小さいときは、検出用中間Duty算出部８１は検出用中間Dutyを“τ”とし（ステップＳ２７）、比較部８２は求められた検出用中間Dutyと最小Dutyとの差（検出用中間Duty−最小Duty）が電流検出必要Duty量τよりも小さいか否かを判定し（ステップＳ３０）、差（検出用中間Duty−最小Duty）が電流検出必要Duty量τよりも小さいときは、検出用最小Duty算出部８１が下記数３に従って検出用最小Dutyを算出し（ステップＳ３１）、上記ステップＳ１６に進む。
（数３）
検出用最小Duty＝検出用中間Duty−τ
また、差（検出用中間Duty−最小Duty）が電流検出必要Duty量τ以上のときは、補正なしで（ステップＳ３２）、そのまま上記ステップＳ１６に進む。
【００４３】
前述したように、各相電流が検出可能な状態とするには、１相ＯＮ状態及び２相ＯＮ状態がそれぞれ電流検出必要時間を確保するために必要な電流検出必要Duty量τだけ確保されていなければならない。つまり、各相Dutyのうち最大Duty及び最小Dutyの差は少なくとも“２τ”以上必要である。条件（１）では、最大Dutyと最小Dutyとの差が“２τ”よりも小さくなったときに中間Dutyを基準とし、最大Dutyと中間Dutyの差、及び中間Dutyと最小Dutyとの差を電流検出必要Duty量τ以上確保するようにしてDutyを算出し、最大Duty及び最小Dutyの補正が必要かを判断して検出用各相Dutyとしている。このため、必要最小限の相のみを補正することができ、且つその補正量が最大でも電流検出必要Duty量τと補正量を必要最小限とすることができ、その影響度を最小化することができる。
【００４４】
また、条件（１）以外であるときは、中間Dutyから電流検出必要Duty量τを加減算した値が0％又は100％を超えてしまうため検出用Dutyを算出することができない。条件（２）はこの条件時にも検出用各相Dutyを算出可能とするものである。最大Dutyは最低限２回分の電流検出時間だけＯＮしておく必要があるため、先ず最大Dutyを“２τ”以上確保するよう検出用最大Dutyを算出する。次に、1相ＯＮ状態が最低1回分の電流検出時間だけＯＮ状態となるようにするため、検出用最大Dutyとの差分が電流検出必要Duty量τ以上となるように検出用中間Dutyを算出する。また、中間Dutyは最低限1回分の電流検出時間だけＯＮしておく必要があるため、中間Dutyが電流検出必要Duty量τ以下である場合は電流検出必要Duty量τを検出用中間Dutyとして設定する。なお、検出用最大Dutyは最低でも２τが確保されているため、検出用中間Dutyがτ以下となることはない。また、２相ＯＮ状態が最低１回分の電流検出時間だけＯＮ状態となるようにするため、検出用中間Dutyとの差分が電流検出必要Duty量τ以上となるように検出用最小Dutyを算出する。なお、検出用中間Dutyは最低でも電流検出必要Duty量τが確保されているため、算出された検出用最小Dutyが０％以下となることはない。
【００４５】
次に、本発明を適用したときの具体的な数値例とそのときのＰＷＭ波形例を、キャリアを鋸波として下記の例１〜例３に示して説明する。例１〜例３のＰＷＭ波形の例はそれぞれ図１０〜図１２に示されている。なお、本例では簡単化のためＡ相を最大Duty相、Ｂ相を中間Duty相、Ｃ相を最小Duty相とし、ｎ＝５回、τ＝12％であるときを示している。
（ａ）例１：２相のDutyが均衡するとき（図１０参照）
Ａ相Duty：85％  −−−  補正なし  (検出用、調整用共に85％)
Ｂ相Duty：84％  −−−  検出用Duty:73％    (補正量：11％)
−−−  調整用Duty:86.75％  (補正量：11/(5-1)=2.75％)
Ｃ相Duty：19％  −−−  補正なし  (検出用、調整用共に19％)
（ｂ）例２：３相のDutyが均衡し、各相Dutyの差が全てτ以内  (図１１参照)
Ａ相Duty：51％  −−−  検出用Duty:62％    (補正量：11％)
−−−  調整用Duty:51.5％  (補正量：11/(5-1)=2.75％)
Ｂ相Duty：50％  −−−  補正なし    （検出用、調整用共に50％）
Ｃ相Duty：49％  −−−  検出用Duty:38％    (補正量：11％)
−−−  調整用Duty:51.75％    (補正量：11/(5-1)=2.75％)
（ｃ）例３：３相Dutyが均衡し、最大Dutyと中間Dutyの差のみが電流検出
(図１２参照)
Ａ相Duty：54％  −−−検出用Duty:64％    (補正量：10％)
−−−調整用Duty:51.5％  (補正量：10/(5-1)=2.5％)
Ｂ相Duty：52％  −−−補正なし    （検出用、調整用共に52％）
Ｃ相Duty：39％  −−−補正なし    （検出用、調整用共に39％）
ところで、本発明においても、相電流検出を行うために変更したDutyをDuty調整周期に調整できない場合がある。具体的には、Duty調整周期において調整用Dutyが０％未満の場合と100％を超える場合であり、数値例で表すと以下のようになる。
（ｄ）例４：各相Duty指令値がDuty調整可能範囲外であるとき
Ａ相Duty：100％  −−−補正なし    検出用、調整用共に100％）
Ｂ相Duty：98％  −−−検出用Duty:88％  （補正量：10％）
−−−調整用Duty:100.5％  (補正量：10/(5-1)=2.5％)
Ｃ相Duty：２％  −−−補正なし  （検出用、調整用共に２％）
この場合、意図する調整用Dutyをインバータで生成できないため、与えたいDutyとｎ回平均Dutyが一致するようにすることができなくなってしまい、トルクリップルの発生や作動音性能の劣化が懸念される。ただし、トルクリップルや作動音性能の劣化が、本内容を適用するシステムとして大きな影響度ではないとき、例えば調整用Dutyを０％〜100％でリミット処理し、可能な限りDutyを調整する方法としても良い。
【００４６】
なお、Duty調整周期において必要な調整用Dutyを出力できる各相Duty指令値の範囲は、図１３のようになる。
【００４７】
次に、本発明の別の実施形態を説明する。
【００４８】
上記実施の形態では、キャリア波形を鋸波としているが、キャリア波形が三角波であっても同様の手法で相電流検出は可能である。この場合、電流検出に必要な検出時間を確保するために必要な電流検出必要Duty量τを鋸波の場合の２倍に設定すればよい。ただし、電流検出必要Duty量τが２倍となる分、電流検出周期及びDuty調整周期におけるDutyの変更量が増加し、Duty調整周期に調整可能となる各相Duty指令値の範囲が狭まることになる。図１４はそのことを示しており、最大Duty指令値は鋸波の場合には100〜4.8％の範囲であるのに対して三角波の場合には100〜9.6％と狭くなっており、中間Duty指令値は鋸波の場合には97.6〜2.4％の範囲であるのに対して三角波の場合には95.2〜4.8％と狭くなっており、最小Duty指令値は鋸波の場合には95.2〜0％の範囲であるのに対して三角波の場合には90.4〜0％と狭くなっている。
【００４９】
以下に三角波キャリアに変更した場合の具体的な数値例を、例５として示す。電流検出必要Duty量τは、三角波キャリアの場合の２倍の24％となる。
（ｅ）例５：２相のDutyが均衡するとき  (図１５参照)
Ａ相Duty：85％  −−−補正なし    (検出用、調整用共に85％)
Ｂ相Duty：84％  −−−検出用Duty:61％      (補正量：23％)
−−−調整用Duty:89.75％  (補正量：23/(5-1)=5.75％)
Ｃ相Duty：19％  −−−補正なし    (検出用、調整用共に19％)
【符号の説明】
【００５０】
１                ハンドル
２                コラム軸
３                減速ギア
１０              トルクセンサ
１２              車速センサ
２０              モータ
３０              コントロールユニット
３７              モータ駆動回路
５０              ３相モータ
５１              電源（バッテリ）
６０              電流検出器
６１              電流入力部
７０              ＣＰＵ
７１              Duty演算部
７２              Duty判定部
７３              条件判定部
７４              各変更用Duty算出部
７５              検出用最大Duty算出部
７６              検出用最小Duty算出部
７７              調整用各相Duty算出部
８０              τ設定部
８１              検出用中間Duty算出部
８２              比較部
８３              電流検出周期／Duty調整周期判定部
８４              Duty出力部
８５              ゲート駆動部
【図１】
0005392025.tif 000002
【図２】
0005392025.tif 000003
【図３】
0005392025.tif 000004
【図４】
0005392025.tif 000005
【図５】
0005392025.tif 000006
【図６】
0005392025.tif 000007
【図７】
0005392025.tif 000008
【図８】
0005392025.tif 000009
【図９】
0005392025.tif 000010
【図１０】
0005392025.tif 000011
【図１１】
0005392025.tif 000012
【図１２】
0005392025.tif 000013
【図１３】
0005392025.tif 000014
【図１４】
0005392025.tif 000015
【図１５】
0005392025.tif 000016