(57)【要約】【課題】矩形波制御時に制御周期を短くすることなく指令値通りに電圧を出力させ、高精度なトルク制御を実現する。【解決手段】  電圧位相角指令値を算出する電圧位相制御部と、一定の周期でカウントするカウンタと、記録部に予め電圧位相角指令値に関連付けて記録されている矩形波電圧の変更タイミングを参照して、一定の周期よりも長い制御周期ごとにインバータの出力電圧の電圧位相角が変更タイミングの電圧位相角であるかを判定するとともに、電圧位相角指令値と変更タイミングの電圧位相角との差分値を算出し、差分値と制御周期の１周期に対応する電圧位相角との比率に制御周期の１周期にカウンタがカウントするカウント値を積算した変更カウント値を算出する出力タイミング計算部と、変更タイミングの電圧位相角から変更カウント値の分のカウント後に矩形波電圧の状態を変化させる矩形波発生部と、を備えたモータ制御装置である。【選択図】図２
2010246336.tif 000002
【特許請求の範囲】
【請求項１】
モータを制御するインバータを備えたモータ制御装置であって、
電圧位相角指令値を算出する電圧位相制御部と、一定の周期でカウントするカウンタと、
記録部に予め電圧位相角指令値に関連付けて記録されている矩形波電圧の変更タイミングを参照して、前記一定の周期よりも長い制御周期ごとに前記インバータの出力電圧の電圧位相角が変更タイミングの電圧位相角であるかを判定するとともに、前記電圧位相角指令値と変更タイミングの電圧位相角との差分値を算出し、前記差分値と前記制御周期の１周期に対応する電圧位相角との比率に前記制御周期の１周期に前記カウンタがカウントするカウント値を積算した変更カウント値を算出する出力タイミング計算部と、
前記変更タイミングの電圧位相角から前記変更カウント値の分のカウント後に矩形波電圧の状態を変化させる矩形波発生部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記電圧位相制御部は、
前記インバータの出力である三相交流電流値と電圧指令値とモータ角速度に基づいて算出したトルク推定値とトルク指令値とのトルク差分値を取得し、
モータの移動子位置と前記トルク差分値に基づいて前記電圧位相角指令値を算出することを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記モータ制御装置に、さらに前記インバータをパルス変調制御するパルス変調制御部を設け、電流位相角又は電圧変調率を元にパルス変調制御に切替えが必要と判定されたとき、前記パルス変調制御部で前記モータを制御することを特徴とする請求項１〜２のいずれかひとつに記載のモータ制御装置。
【請求項４】
前記モータの回転速度が予め記録された回転速度より遅いと判定されたとき、前記パルス変調制御部で前記モータを制御することを特徴とする請求項３に記載のモータ制御装置。
【請求項５】
モータを制御するインバータを備えたモータ制御方法であって、
電圧位相角指令値を算出し、
記録部に予め電圧位相角指令値に関連付けて記録されている矩形波電圧の変更タイミングを参照して、予め設定された一定の周期よりも長い制御周期ごとに前記インバータの出力電圧の電圧位相角が変更タイミングの電圧位相角であるかを判定するとともに、前記電圧位相角指令値と変更タイミングの電圧位相角との差分値を算出し、
前記差分値と前記制御周期の１周期に対応する電圧位相角との比率に前記制御周期の１周期に前記カウンタがカウントするカウント値を積算した変更カウント値を算出し、
前記変更タイミングの電圧位相角から前記変更カウント値の分のカウント後に矩形波電圧の状態を変化させる、
ことを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インバータのパルス制御を用いたモータ制御装置およびモータ制御方法に関する。
【背景技術】
【０００２】
高回転領域でモータ制御を行う場合、逆起電力が大きくなりＰＷＭ（Pulse Width Modulation）制御では電源電圧が不足するため、矩形波制御を行う必要がある。矩形波制御では振幅を固定しているため、インバータの出力電圧の位相を制御することによりトルクを制御している。そのため、矩形波制御では出力電圧の位相精度が重要となる。
【０００３】
しかし、近年のモータ制御ではマイコンなどが用いられ、離散的な信号処理により矩形波を制御することから、制御周期（マシンサイクルなど）以外のタイミングでは出力電圧指令値に基づき、出力電圧の位相を制御できない。そのため、制御周期以外で出力電圧指令値を変更したい場合でも、次の制御周期タイミングまで待たなければならないため、出力電圧指令値通りに出力電圧の位相を制御できず、実際の出力電圧には位相誤差が生じトルク制御性能の低下が発生するという問題がある。
【０００４】
そこで、出力電圧の位相誤差を低減させるため、一般的には制御周期を短くすることにより矩形波制御の出力電圧の位相精度を上げる方法が採用されている。しかし、制御周期を短くするとマイコンの計算負荷が増加することから、処理性能の高いマイコンへの代替などが必要になり、装置のコストが高くなるという問題がある。
【０００５】
なお、特許文献１、特許文献２などが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−２２２４６６号公報
【特許文献２】特開平５−１４６１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のような実情に鑑みてなされたものであり、矩形波制御時に制御周期を短くすることなく指令値通りに電圧を出力させ、高精度なトルク制御を実現するモータ制御装置およびモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
態様のひとつであるモータを制御するインバータを備えたモータ制御装置は、電圧位相制御部、内部カウンタ、出力タイミング計算部、矩形波発生部を備えている。
電圧位相制御部は、制御周期ごとに電圧位相角指令値を算出する。内部カウンタは、上記制御周期より短い周期でカウントする。
【０００９】
出力タイミング計算部は、電圧位相角指令値を算出する電圧位相制御部と、一定の周期でカウントするカウンタと、記録部に予め電圧位相角指令値に関連付けて記録されている矩形波電圧の変更タイミングを参照して、上記一定の周期よりも長い制御周期ごとに上記インバータの出力電圧の電圧位相角が変更タイミングの電圧位相角であるかを判定するとともに、上記電圧位相角指令値と変更タイミングの電圧位相角との差分値を算出し、上記差分値と上記制御周期の１周期に対応する電圧位相角との比率に上記制御周期の１周期に上記カウンタがカウントするカウント値を積算した変更カウント値を算出する。
【００１０】
矩形波発生部は、上記変更タイミングの電圧位相角から上記変更カウント値の分のカウント後に矩形波電圧の状態を変化させる。
上記構成により、矩形波制御時に制御周期を短くすることなく指令値通りに電圧を出力させ、高精度なトルク制御を実現することができる。
【００１１】
また、上記電圧位相制御部は、トルク演算部において上記インバータの出力である三相交流電流値と電圧指令値とモータ角速度に基づいて算出したトルク推定値とトルク指令値とのトルク差分値を取得し、モータの移動子位置と上記トルク差分値に基づいて上記電圧位相角指令値を算出する。
【００１２】
また、上記モータ制御装置に、さらに上記インバータをＰＷＭ制御するＰＷＭ制御部を設け、モータの動作条件によりＰＷＭ制御が必要と判定されたとき、上記ＰＷＭ制御部で上記モータを制御する。
【発明の効果】
【００１３】
矩形波制御時に制御周期を短くすることなく指令値通りに電圧を出力させ、高精度なトルク制御を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】モータ制御装置を示す図である。
【図２】モータの駆動制御系を示すブロック図である。
【図３】モータの駆動制御系の動作を示すフロー図とデータテーブルを示す図である。
【図４】モータの駆動制御系の動作を示すタイムチャートである。
【発明を実施するための形態】
【００１５】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
（実施例１）
図１はモータ制御装置を示す図である。モータ制御装置は、インバータ２、制御部３、駆動部４、記録部５を備え、モータ１（Ｍ）の制御を行う。例えば、モータ１は永久磁石同期モータであり、インバータ２を介して電源から供給される電力を利用して駆動される。また、電源は特に限定されるものではないが、例えば、バッテリである。
【００１６】
モータ１は、制御部３により制御されるインバータ２の交流出力端子と接続され、インバータ２の交流出力端子から出力される交流電流（Ｕ相、Ｖ相、Ｗ相）により駆動する。なお、モータ１は永久磁石同期モータには限定されず、交流モータであれば良い。永久磁石同期モータやシンクロナスリラクタンスモータを含む同期機が望ましいが、誘導モータでも良い。また、回転電機には限定されず、リニアモータ等の電動機でも良い。
【００１７】
インバータ２は、互いに直列接続される２つのスイッチング素子（例えば、ＩＧＢＴ（Ｉnsulated Gate Bipolar Transistor））が３組それぞれ直流電源にコンデンサを介して並列接続されて構成される。そして、インバータ２の各スイッチング素子がオン／オフすることによりスイッチング素子の各接続点（Ｕ相、Ｖ相、Ｗ相）からそれぞれ交流電流が出力される。
【００１８】
制御部３はモータ１を制御するハードウェアである。例えば、ＣＰＵ、ＤＳＰ、プログラマブルなデバイスを用いて構成してもよい。駆動部４は、インバータ２の各スイッチング素子をそれぞれＰＷＭ制御によりオン／オフさせるための駆動信号を出力する。なお、制御部３は、センサなどから出力される信号（アナログ信号）をＡ／Ｄ変換器を用いてデジタル信号に変換して取得し、後述する処理を実行する際に用いる。
【００１９】
記録部５は、制御部３と接続され、ＲＯＭ、ＲＡＭなどのメモリを有しており、モータ１を制御するためのプログラムやデータなどが記録されている。
図２は、モータ１の駆動制御系を示すブロック図である。駆動制御系は、制御切替部６、電流センサ７ａ、７ｂ、ＰＷＭ制御部８、矩形波制御部９、位置検出部１６、角速度計算部１７を備えている。
【００２０】
制御切替部６は、モータ１の回転速度に基づいてＰＷＭ制御部８と矩形波制御部９を切り替える。例えば、モータ１の回転速度が低速域であるときはＰＷＭ制御部８によりモータ１を制御し、高速域であるときは矩形波制御部９によりモータ１を制御するように切り替える。なお、モータ回転速度、回転角度ＵＶＷ相電流値、ＵＶＷ相電圧指令値などから計算される、電流位相角や電圧変調率などの物理量を元に切り替えをしてもよい。
【００２１】
電流センサ７ａ、７ｂは、インバータ２とモータ１を接続する３本のＵＶＷ相ラインのＵ相のラインとＷ相のラインに設けられ、インバータ２の出力電流であるＵ相電流（Ｉｕ）とＷ相電流（Ｉｗ）を計測する。
【００２２】
ＰＷＭ制御部８は、トルク／ｄｑ指令算出部１０、電流値減算部１１、電流制御部１２、ｄｑ／ＵＶＷ変換部１３、ＰＷＭ発生部１４、ＵＶＷ／ｄｑ変換部１５を備えている。
トルク／ｄｑ指令算出部１０は、トルク指令値Ｔｒｅｆに基づいてｄ軸電流指令値Ｉｄ＊およびｑ軸電流指令値Ｉｑ＊を生成する。例えば、記録部５に記録されている予め作成されたトルク指令値Ｔｒｅｆとｄ軸電流指令値Ｉｄ＊、ｑ軸電流指令値Ｉｑ＊が関連付けられたテーブルを用いてトルク／ｄｑ変換を行う。
【００２３】
電流値減算部１１は、ｄ軸電流値減算部とｑ軸電流値減算部を備えている。ｄ軸電流値減算部は、ｄ軸電流指令値Ｉｄ＊とＵＶＷ／ｄｑ変換部１５から出力されるｄ軸電流値Ｉｄとの差分値を算出する。同様に、ｑ軸電流値減算部は、ｑ軸電流指令値Ｉｑ＊とＵＶＷ／ｄｑ変換部１５から出力されるｑ軸電流値Ｉｑとの差分値を算出する。
【００２４】
電流制御部１２、上記ｄ軸電流値減算部で算出した差分値に基づいてｄ軸電圧指令値Ｖｄ＊を生成する。上記ｑ軸電流値減算部で算出した差分値に基づいてｑ軸電圧指令値Ｖｑ＊を生成する。例えば、ｄ軸およびｑ軸に対応する差分値について所定のゲインによるＰＩ演算を行い制御偏差を算出し、この制御偏差に基づいてｄ軸電圧指令値Ｖｄ＊、ｑ軸電圧指令値Ｖｑ＊を生成してもよい。
【００２５】
ｄｑ／ＵＶＷ変換部１３は、モータ１の移動子位置θをモニタしながら、ｄ軸、ｑ軸の制御電圧指令値（Ｖｄ＊、Ｖｑ＊）をＵ相、Ｖ相、Ｗ相の電圧指令値（Ｖｕ＊、Ｖｖ＊、Ｖｗ＊）に変換する。
【００２６】
ＰＷＭ発生部１４と駆動部４は、ＵＶＷ相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊に従って各相のＰＷＭ信号Ｖｕ、Ｖｖ、Ｖｗを生成する。なお、永久磁石同期モータ１の各相に供給されるモータ電流は、それぞれ対応するＰＷＭ信号Ｖｕ、Ｖｖ、Ｖｗのデューティにより決まる。
【００２７】
ＵＶＷ／ｄｑ変換部１５は、モータ１の移動子位置θを位置検出部１６の出力をモニタしながら、モータ１に供給されるモータ電流の検出値をｄ軸／ｑ軸電流値に変換する。ここでは、電流センサ７ａ、７ｂを用いて検出されたＵ相電流ＩｕおよびＷ相電流Ｉｗが、ｄ軸電流値Ｉｄおよびｑ軸電流値Ｉｑに変換されている。なお、ｄ軸電流は、いわゆる界磁電流であり、界磁を発生させるための電流ベクトル成分である。また、ｑ軸電流は、いわゆるトルク電流であり、トルクを発生させるための電流ベクトル成分である。
【００２８】
位置検出部１６は、モータ１の回転子の移動子位置θを検出する。
角速度計算部１７は、位置検出部１６により検出された移動子位置θに基づいて、モータ１の角速度ωを算出する。
【００２９】
矩形波制御部９は、トルク演算部１８、トルク値減算部１９、電圧位相制御部２０、出力タイミング計算部２１、内部カウンタ２２、矩形波発生部２３を備えている。
トルク演算部１８は、Ｕ相電流ＩｕとＷ相電流ＩｗからＶ相電流Ｉｖを生成するとともに、角速度計算部１７から出力される角速度計測値ω、ＵＶＷ相電流Ｉｕ、Ｉｖ、Ｉｗ、効率ηを用い式１に基づいてトルク推定値Ｔｅｓｔを生成する。
【００３０】
Ｔｅｓｔ＝（Ｖｕ＊×Ｉｕ＋Ｖｖ＊×Ｉｖ＋Ｖｗ＊×Ｉｗ）×η／ω      （式１）
Ｖｕ＊、Ｖｖ＊、Ｖｗ＊  ：ＵＶＷ相の電圧指令値［Ｖ］
Ｉｕ、Ｉｖ、Ｉｗ  ：ＵＶＷ相の電流検出値［Ａ］
ω  ：角速度計測値［ｒａｄ／ｓｅｃ］
η  ：効率
トルク値減算部１９は、トルク指令値Ｔｒｅｆとトルク推定値Ｔｅｓｔの差分を計算してトルク差分値Ｔｓｕｂを算出する。
【００３１】
電圧位相制御部２０は、制御周期ごとに電圧位相角指令値を算出する。例えば、トルク差分値Ｔｓｕｂに基づいて、ｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊を生成する。さらに、ｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊と位置検出部１６の出力である移動子位置θを取得して式２に従って電圧位相角指令値φｒｅｆを算出する。また、現在の電圧位相角φを移動子位置θに基づいて算出する。
【００３２】
φｒｅｆ＝θ＋ｔａｎ−１（−Ｖｑ／Ｖｄ）      （式２）
なお、電圧位相制御部２０は、電流制御部１２の出力からｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊を取得してもよい。その場合、トルク演算部１８、トルク値減算部１９での処理、電圧位相制御部２０のｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊の算出する処理がなくなるため回路規模またはプログラムの規模を小さくすることができる。
【００３３】
出力タイミング計算部２１は、後述する電圧位相角指令値φｒｅｆ、内部カウンタ２２から出力されるカウント値Ｔに基づいて、制御周期以外のタイミングで矩形波を発生させる変更カウント値ΔＴを算出する。ここで、制御周期は例えばマシンサイクルである。
【００３４】
例えば、以下の式３を満たす時に変更タイミングであると判定する。Δφは電圧位相角φｉと電圧位相角φｉ取得時の電圧位相角指令値φｒｅｆ（ｉ）の差分値である。
φ１＜Δφ＜φ２                            （式３）
φ１  ：１制御周期に相当する電圧位相角
φ２  ：２×φ１（２倍の制御周期に相当する電圧位相角）
次に、変更タイミングであるときは、電圧位相角指令値と変更タイミングの電圧位相角との第１の差分値を算出するとともに、変更タイミングの１周期前に取得した電圧位相角と変更タイミングの２周期前に取得した電圧位相角との第２の差分値を算出する。第１の差分値と第２の差分値の比率に内部カウンタがカウントした制御周期に対応するカウント値を積算して変更カウント値を算出する。
【００３５】
内部カウンタ２２は、ＰＷＭ制御や矩形波制御で使用するモータ１の制御周期Ｔｓよりも短い周期でカウントを行うカウンタである。なお、内部カウンタ２２はＣＰＵなどの内部カウンタを利用してもよいし、ＣＰＵなどとは別に外部に設けてもよい。
【００３６】
矩形波発生部２３は、変更カウント値ΔＴと変更タイミングの制御周期に対応するカウント値Ｔに基づいて、インバータ２の各スイッチング素子をオン、オフさせるための矩形波信号を生成して、矩形波電圧の状態を変化させる。
（動作説明）
図３と図４により動作説明をする。図３は、モータの駆動制御系の動作を示すフロー図とデータテーブルを示す図である。図４は、モータの駆動制御系の動作を示すタイムチャートである。図４の縦軸には、出力電圧指令値、電圧位相角指令値の取得タイミング、従来の出力電圧、内部カウンタ、出力電圧が示され、横軸には時間とカウント値が示されている。
【００３７】
ステップＳ１では、制御部３のトルク値減算部１９は、記録部５に記録されているトルク指令値Ｔｒｅｆとトルク演算部１８で算出して記録部５に記録されたトルク推定値Ｔｅｓｔを取得して、トルク差分値Ｔｓｕｂ（＝トルク指令値Ｔｒｅｆ−トルク推定値Ｔｅｓｔ）を生成して記録部５またはＣＰＵなどのレジスタに記録する（図３のＡ参照）。
【００３８】
ステップＳ２では、制御部３の電圧位相制御部２０は、記録部５に記録されたトルク差分値Ｔｓｕｂに基づいて、ｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊を生成する。さらに、ｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊と移動子位置θを取得して式２に従って電圧位相角指令値φｒｅｆを算出して記録部５またはＣＰＵなどのレジスタに記録する（図３のＢ参照）。
【００３９】
ステップＳ３では、制御部３の出力タイミング計算部２１は、内部カウンタ２２が予め設定されている制御周期内において何カウントできるかを記録するために、制御周期ごとにカウント値を記録する。例えば、図４に示すタイミングＴ２、タイミングＴ３において、内部カウンタ２２がカウントした値Ｔｉ−１、Ｔｉを取得する。Ｔｉ−１からＴｉまで（制御周期）を内部カウンタ２２でカウントするとカウント値はＴｓとなるため、Ｔｓをカウント値として記録部５またはＣＰＵなどのレジスタに記録する。なお、制御周期は一定周期であるので予めカウント値Ｔｓを算出して記録しておいてもよい。
【００４０】
また、出力タイミング計算部２１は電圧位相角指令値φｒｅｆを取得する。図４では、タイミングＴ１までにφｉ−２が取得され、タイミングＴ２までにφｉ−１が取得され、タイミングＴ３までにφｉが取得され、タイミングＴ４までにφｉ＋１が取得される。
【００４１】
そして、各タイミングで電圧位相角指令値φｒｅｆを取得後、条件角度値範囲（φ１＜Δφ＜φ２）と比較してＵＶＷ相の電圧指令値の変更タイミングであるかを判定する。
図４の場合であれば、電圧位相角φｉが変更タイミングであると判定されると、式４に従い変更タイミングを示す変更カウント値ΔＴ算出し（図３のＣ参照）、矩形波発生部２３に転送される。
【００４２】
ΔＴ＝（（φref(i)−φｉ）／（φｉ−２−φｉ−１））×（Ｔｉ−Ｔｉ−１）  （式４）
なお、図４においてＴ３のタイミングの電圧位相角φｉを算出するときに、算出される電圧位相角指令値φｒｅｆがφｒｅｆ（ｉ）であり、φｉ−１で算出されたφｒｅｆがφｒｅｆ（ｉ−１）である。
【００４３】
ステップＳ４では、矩形波発生部２３が変更タイミングΔＴとカウント値Ｔｉに基づいてインバータ２に供給する矩形波信号Ｖｒｅｆを生成する（図３のＤ参照）。図４では、カウント値ＴｉがタイミングＴ３に関連付けられているので、矩形波発生部２３はタイミングＴ３から変更カウント値ΔＴまでカウントしてタイミングＴａで電圧レベルをローレベルからハイレベルに変更する。なお、電圧レベルをハイレベルからローレベルに変更する場合（タイミングＴｂ）には、例えば、電圧位相角指令値φｉが１８０度変化した時点でハイレベルからローレベルに変更するように設定してもよい。
【００４４】
上記のようにすることにより、計算された出力電圧の変更タイミングを内部カウンタでカウントし電圧を出力することで、矩形波制御時に制御周期を短くすることなく指令値通りに電圧を出力させ、高精度なトルク制御を実現することができる。
【００４５】
また、内部カウンタ２２のカウント周期は、ＰＷＭ制御周期や矩形波制御のモータ１の制御周期よりも短いため、内部カウンタ２２のカウント値を基準として電圧を出力させることで、制御タイミング以外の時にも出力電圧の変更ができる。
【００４６】
内部タイマはＣＰＵやマイコンに一般的に搭載されているものであるため、ＣＰＵやマイコンの内部カウンタ以外であっても制御周期よりも短い周期でカウントするタイマを利用すれば、この発明を実現することができる。
【００４７】
また、提案する手法は高速回転領域に利用する矩形波制御に限らず、低・中速領域で利用するＰＷＭ制御やＶ／ｆ制御など、その他の電動機制御においても実現することができ、応用が可能である。
【００４８】
なお、処理性能の高いマイコンへの代替などが必要なく、装置のコストを抑えることができる。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
【符号の説明】
【００４９】
１  モータ、
２  インバータ、
３  制御部、
４  駆動部、
５  記録部、
６  制御切替部、
７ａ、７ｂ  電流センサ、
８  ＰＷＭ制御部、
９  矩形波制御部、
１０  トルク／ｄｑ指令算出部、
１１  電流値減算部、
１２  電流制御部、
１３  ｄｑ／ＵＶＷ変換部、
１４  ＰＷＭ発生部、
１５  ＵＶＷ／ｄｑ変換部、
１６  位置検出部、
１７  速度計算部、
１８  トルク演算部、
１９  トルク値減算部、
２０  電圧位相制御部、
２１  出力タイミング計算部、
２２  内部カウンタ、
２３  矩形波発生部、
【図１】
2010246336.tif 000003
【図２】
2010246336.tif 000004
【図３】
2010246336.tif 000005
【図４】
2010246336.tif 000006