モータ制御装置、モータ制御方法
【課題】モータを精度良く制御することを可能にするモータ制御装置、及びモータ制御方法を提供する。
【解決手段】電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、モータの速度制御を行う速度PI制御部303と、モータが一定速度で回転しているときの速度制御部の出力に基づく電圧指令値を測定する電圧測定部と、測定された電圧指令値に基づき、モータの回転位置に対する補正値を算出するオフセット算出部403と、を備える。
【解決手段】電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、モータの速度制御を行う速度PI制御部303と、モータが一定速度で回転しているときの速度制御部の出力に基づく電圧指令値を測定する電圧測定部と、測定された電圧指令値に基づき、モータの回転位置に対する補正値を算出するオフセット算出部403と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置、モータ制御方法に関する。
【背景技術】
【0002】
3相ブラシレスモータを制御する際には、UVWの3相にて制御するのではなく、UVWの3相をd軸q軸の2軸座標へと座標変換し、d軸q軸の2相にて制御するのが一般的である。
ここで、d軸とq軸の2軸座標へ座標変換したdqベクトル制御の概略を説明する。dqベクトル制御は、回転子の界磁方向をd軸、これと直交する方向をq軸とするdq座標系上の等価回路でモータの制御処理を行う。このようなモータを制御するモータ制御装置は、例えば、PI(Proportional Integral;比例積分)制御を用いてd軸の検出電流Id及びq軸の検出電流Iqが、d軸指令電流Id*及びq軸指令電流Iq*に追従するように、フィードバック制御によりd軸指令電圧Vd*及びq軸指令電圧Vq*を制御している。
【0003】
このようなモータが有するロータの回転角度位置を検出する角度検出器として、レゾルバと角度検出回路とを組み合わせて回転角度を検出する角度検出器が用いられている。レゾルバは、ロータコイルとステータコイルとの位相差によりロータの回転角度を検出する回転検出装置である。レゾルバは、ロータコイルに正弦波信号(Esin(ωt)(Eは正弦波の振幅、ωは励磁周波数))を印加することで、磁界を生じる。この磁界中に、互いに直角に置かれた2つのステータコイルに、それぞれのコイルに位相差のある電圧(KEsin(ωt)×sin(θ)、KEsin(ωt)×cos(θ))が発生する。レゾルバは、このステータコイルの出力を用いて回転角度θを検出している。そして、モータ制御装置は、検出した回転角度θに基づいて、モータの電流を制御している。
【0004】
しかしながら、このような角度検出器が組み付けられたモータでは、角度検出器と同期モータの回転位置との間にレゾルバの製造精度により誤差、及びレゾルバの組み付けによる誤差などが生じることがある。
このため、特許文献1に記載のモータ制御装置は、d軸及びq軸の各電流指令値を0にして、外部からモータを回転させる。この場合、モータには、誘起電圧が発生するが、モータ制御装置が、電流が0になるようにモータを制御している。このため、モータ制御装置は、d軸電流Id、q軸電流Iqを0にするように制御することになり、角度検出器と同期モータの回転位置との間の位相がずれていない場合、q軸電圧Vqのみが発生し、d軸電圧Vdは0となる。
しかしながら、角度検出器と同期モータの回転位置との間の位相がずれている場合、d軸電圧Vdが発生する。特許文献1に記載のモータ制御装置は、d軸電流Id及びq軸電流Iqを0にするd軸指令電圧Vd*とq軸指令電圧Vq*とを求め、求めたd軸指令電圧Vd*が0になるオフセット量Δθを算出している。そして、特許文献1に記載のモータ制御装置では、算出したオフセット量を用いて、角度検出器と同期モータの回転位置との間に生じるずれを補正していた。
【0005】
また、特許文献2に記載のモータ制御装置は、q軸電流Iqを0に制御し、d軸電流Idを流してモータを回転させる。この場合、q軸電流Iqは、トルクを発生する電流であり、d軸電流Idは、励磁電流である。このため、角度検出器と同期モータの回転位置との間にずれが生じていない場合、q軸電流Iqを0にして、d軸電流Idを流しても、トルクは発生しない。しかしながら、角度検出器と同期モータの回転位置との間にずれが生じている場合、q軸電流Iqを0にして、d軸電流Idを流すと、トルクが発生する。このため、特許文献2に記載のモータ制御装置では、q軸電流Iqを0に制御し、d軸電流Idを流してモータを回転させたとき、トルクが0になるように調整することで、角度検出器と同期モータの回転位置との組み込みの位置ズレや製造誤差等により発生するずれを補正していた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3789895号公報
【特許文献2】特開2002−374692号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら特許文献1に記載の技術では、検出信号を2相から3相への変換器を用いてd軸とq軸の2軸座標へ座標変換を行っている。一方、特許文献1に記載の技術では、生成された指令値に基づいて、モータを駆動するPWM(パルス幅変調)変換器においても、遅れが生じる。このため、角度検出器とPWM出力との間に遅れが生じる場合がある。この結果、特許文献1に記載の技術では、これらの遅れ分がオフセット調整の精度に影響を与えるため、モータを精度良く制御できないという問題点があった。また、特許文献1に記載の技術では、オフセット調整量を、指令電圧値から算出しているが、指令電圧がノイズや高周波の影響を受けやすいため、モータを精度良く制御できないという問題点があった。
【0008】
また、特許文献2に記載の技術では、トルクを利用して補正しているので、モータ及びモータに接続されている負荷に摩擦があると、この摩擦がトルクに影響して補正値に誤差が生じ、モータを精度良く制御できないという問題点があった。
【0009】
本発明は、上記の問題点に鑑みてなされたものであって、モータを精度良く制御することを可能にするモータ制御装置、及びモータ制御方法を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明のモータ制御装置は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、前記モータの速度制御を行う速度制御部と、前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定部と、前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出部と、を備えることを特徴としている。
【0011】
また、本発明において、前記補正値算出部は、前記算出した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、前記速度制御部は、前記生成された回転位置を示す値に基づき前記モータを制御するようにしてもよい。
【0012】
また、本発明において、前記電圧指令値は、d軸電圧指令値及びq軸電圧指令値であり、前記電圧測定部は、前記モータが速度指令値に基づいて回転しているとき、前記d軸電圧指令値及び前記q軸電圧指令値を測定し、前記補正値算出部は、前記モータが正回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて第1補正値を前記補正値として算出するようにしてもよい。
【0013】
また、本発明において、前記補正値算出部は、前記モータが負回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて算出した第2補正値を前記補正値として算出するようにしてもよい。
【0014】
また、本発明において、前記速度制御部は、前記モータの正回転における前記モータの回転速度と、前記モータの負回転における前記モータの回転速度の絶対値とが等しくなるように制御し、前記補正値算出部は、前記算出した第1補正値と第2補正値の平均を算出して前記補正値を算出するようにしてもよい。
【0015】
また、本発明において、前記補正値算出部は、前記補正値、前記第1補正値、及び前記第2補正値は、下式を用いて算出するようにしてもよい。
【0016】
【数1】
【0017】
また、本発明において、前記速度制御部は、前記電流指令値から前記電圧指令値を生成する非干渉制御部を有する電流比例積分制御部を備え、前記電圧測定部は、前記電流比例積分制御部内で生成されたd軸電流偏差の積分成分と前記非干渉制御部で生成されたd軸電圧成分とに基づいて生成されたd軸電圧指令値Vd’、および前記電流比例積分制御部内で生成されたq軸電流偏差の積分成分と前記非干渉制御部で生成されたq軸電圧成分とに基づいて生成されたq軸電圧指令値Vq’を測定するようにしてもよい。
【0018】
また、本発明において、前記電圧測定部は、下式で表される前記d軸電圧指令値Vd’を測定し、
【0019】
【数2】
【0020】
下式で表される前記q軸電圧指令値Vq’を測定するようにしてもよい。
【0021】
【数3】
【0022】
上記目的を達成するため、本発明は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、速度制御部が、前記モータの速度制御を行う速度制御手順と、電圧測定部が、前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定手順と、補正値算出部が、前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出手順と、を含むことを特徴としている。
【発明の効果】
【0023】
本発明によれば、モータを一定速度で回転させているときの電圧指令値を測定し、測定した電圧指令値に基づいてモータの回転位置に対する補正値を算出し、算出した補正値を用いてモータの回転を制御するようにした。この結果、検出された回転位置にずれがあっても、モータを精度良く制御できる。
【図面の簡単な説明】
【0024】
【図1】第1実施形態のモータ制御装置を示す制御ブロック図である。
【図2】第1実施形態に係るレゾルバの概略構成を示す図である。
【図3】電圧制御領域について説明する図である。
【図4】第1実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
【図5】dq座標系における電流と電圧のベクトル図である。
【図6】第1実施形態に係る角速度が正の場合の電圧ベクトルの関係の一例を説明する図である。
【図7】第1実施形態に係る角速度が負の場合の電圧ベクトルの関係の一例を説明する図である。
【図8】第1実施形態に係るモータの速度が弱め界磁制御領域に属していない制御領域でモータを回転させている場合のオフセット誤差補正値の算出方法を説明する図である。
【図9】第1実施形態に係るオフセット誤差補正値の算出手順のフローチャートである。
【図10】第1実施形態に係る実機を用いてオフセット誤差を算出した結果の一例を説明する図である。
【図11】第2実施形態に係る電流PI制御部のブロック図である。
【発明を実施するための形態】
【0025】
以下、図面を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0026】
まず、モータ制御装置の概略動作について説明する。
モータ制御装置は、例えば産業車両や電気自動車、ハイブリッド自動車、電車、船舶、飛行機、発電システム等において、電池セルから電力の供給を受けてモータを制御する装置である。
電気モータを動力とする電気自動車や、内燃機関と電気モータを併用して動力とするハイブリッド自動車(以下、「電気自動車等」という)では、電力利用効率を高めるため、モータ制御装置が、3相の駆動電流を制御する際にパルス幅を変調させるパルス幅変調制御(PWM(Pulse Width Modulation)制御)を用いている。
電気自動車等では主に永久磁石同期モータが用いられ、そのモータには、回転に同期した3相電流が流される。その3相電流をPWM制御するために、キャリア信号と呼ばれる一定の周波数の電気パルスが用いられる。この場合、駆動電流は、キャリア信号のタイミングに合わせてパルス幅が変調された矩形波としてモータに供給され、モータのインダクタンスによって正弦波の3相電流となる。
そして、このようなモータ制御装置では、モータに流れる電流が、入力されたトルク指令のトルクになるようにフィードバックを用いたPI(Proportional Integral;比例積分)制御により制御している。また、PI制御では、モータへ供給するuvwの3相をd軸q軸の2軸座標へと座標変換し、d軸q軸の2相にて制御する。また、このようなモータ制御装置では、モータの回転角度を検出する角度検出装置であるレゾルバが組み付けられている。そして、電流のPI制御では、検出したモータの回転角度と、入力されたトルク指令に基づいて電流指令値を生成し、生成した電流の指令値と、モータに流れる電流の測定値とを合わせるように制御することで、モータを制御している。
【0027】
d軸q軸の2軸座標(以下、dq座標系という)は、回転座標系であり、回転子を構成する永久磁石が作る磁束の方向のd軸、d軸から位相が90度進んだq軸からなるdq座標系で表される。なお、dq座標系は回転しており、その回転速度が、角速度ωである。このdq座標系において、モータの電圧Vのd軸成分をVdで表し、q軸成分をVqで表す。また、dq座標系において、モータの電流Iのd軸成分をIdで表し、q軸成分をIqで表す。
【0028】
次に、本発明の概要を説明する。
モータ制御システムでは、レゾルバの組み付け精度による誤差や、レゾルバの製造による誤差、レゾルバによる検出信号の処理の遅れによる誤差などが生じる(以下、レゾルバによる誤差という)。このような誤差を補正するために、本発明のモータ制御システムでは、無負荷状態のモータを、d軸電流が流れていず、モータの速度が弱め界磁制御領域に属していない制御領域で定速回転させる。
モータが無負荷で一定回転している状態では、実動作におけるd軸電流とq軸電流とはわずかしか流れていない。しかしながら、レゾルバによる誤差が生じ、実動作における座標とモータ制御装置内の座標とでdq座標系の角度ずれが発生する。このように実動作とモータ制御装置内とでdq座標系の角度がずれている場合、モータ制御装置内では、見かけ上、励磁電圧ベクトルωΦaの位相がずれて、モータの電圧ベクトルの角度に影響が発生する。
このような原理に基づき、本発明のモータ制御システムでは、無負荷状態のモータを定速回転させているとき、d軸及びq軸の各電圧指令値を測定する。そして、本発明のモータ制御システムでは、測定したd軸及びq軸の各電圧指令値からオフセット誤差(補正値)を算出し、算出したオフセット誤差補正値をレゾルバによる検出信号に加算してモータ制御を行う。
【0029】
[第1実施形態]
第1実施形態のモータ制御装置は、d軸電流が発生せず、モータの速度が弱め界磁制御領域に属していない制御領域(例えば、後述する電圧制御領域)において、モータを無負荷状態で回転させる。このようにモータが無負荷状態で定速回転しているときに、本実施形態のモータ制御装置は、d軸電圧指令値とq軸電圧指令値を測定して、オフセット誤差補正値を算出する。以下、第1実施形態について、詳細に説明する。
【0030】
図1は、本実施形態のモータ制御装置を示す制御ブロック図である。
図1に示すように、本実施形態に係るモータ制御システム1は、レゾルバ20、モータ制御装置30、及びオフセット補正装置40を備えている。
モータ制御装置30は、速度計算部(速度制御部)302、速度PI制御部(速度制御部)303、電流指令部(速度制御部)304、電流検出器305、3相/2相変換部306、電流PI制御部(速度制御部、電流比例積分制御部)307、2相/3相変換部308、デューティ計算部309、及び電力変換部310を備えている。
オフセット補正装置40は、制御部401、電圧測定部(電圧測定部)402及びオフセット算出部(補正値算出部)403を備えている。
また、モータ制御装置30は、モータ10及びオフセット補正装置40と接続されている。
【0031】
モータ10は、3相モータであり、電力変換部310から出力される駆動電流により駆動される。モータ10には、レゾルバ20が組み付けられている。
【0032】
レゾルバ20は、モータ10に組み付けられている。レゾルバ20は、各瞬間におけるモータ10の回転角度をサンプリング時刻毎に検出し(以下、検出した回転角度を検出角度という)、検出した検出角度を速度計算部302、3相/2相変換部306、及び2相/3相変換部308に出力する。なお、サンプリング周波数は、例えば、5[KHz]である。
【0033】
速度計算部302は、レゾルバ20が検出した検出角度θから、モータ10の回転子の角速度ωを計算し、計算した角速度ωを速度PI制御部303、電流指令部304、及びオフセット補正装置40に出力する。
【0034】
速度PI(比例積分)制御部303は、モータ10の回転速度が外部から入力された速度指令値になるように、モータ10に対する回転速度を制御する。速度PI制御部303は、外部から入力された速度指令ω*と、速度計算部302が出力する角速度ωとの偏差基づいて、モータ10の回転速度が速度指令値ω*になるトルク指令値τ*を算出し、算出したトルク指令値τ*を電流指令部304に出力する。トルク指令値τ*は、モータ10に発生させるトルクを指令するものである。なお、本明細書では、指令値や指令信号には「*」を右上に付した変数によって表す。
また、速度PI制御部303は、オフセット補正装置40の制御部401が出力する電流指令値ω*に基づきモータ10に対するトルク指令値τ*を算出し、算出したトルク指令値τ*を電流指令部304に出力する。
【0035】
電流指令部304には、速度計算部302から出力される角速度ωと、速度PI制御部303が出力するトルク指令値τ*とが入力される。電流指令部304は、このトルク指令値τ*と角速度ωから、d軸成分およびq軸成分を持つ2相の指令電流であるd軸の電流指令値Id*、及びq軸の電流指令値Iq*(以下、d軸電流指令値、q軸電流指令値という)を生成する。電流指令部304は、生成したd軸電流指令値Id*およびq軸電流指令値Iq*を、電流PI制御部307に出力する。
【0036】
電流検出器305は、モータ10に対する3相の電流Iu、Iv、Iwを検出し、検出した3相の電流Iu、Iv、Iwを3相/2相変換部306に出力する。
【0037】
3相/2相変換部306は、電流検出器305が出力する3相の電流Iu、IvおよびIwを、2相のd軸成分Idおよびq軸成分Iq(以下、検出電流という)に変換する。3相/2相変換部306は、変換した検出電流IdおよびIqを電流PI制御部307に出力する。なお、d軸成分の電流(d軸電流)とは、d軸を磁束の向きにとった場合、流れている電流のうち、モータ10に磁束を発生させるのに使われている成分(励磁電流成分)である。また、q軸成分の電流(q軸電流)とは、流れている電流のうち負荷のトルクに対応した成分である。
【0038】
電流PI制御部307には、電流指令部304が出力するd軸電流指令値Id*およびq軸電流指令値Iq*と、3相/2相変換部306が出力する検出電流IdおよびIqとが入力される。電流PI制御部307は、制御変数である検出電流IdおよびIqが、d軸電流指令値Id*およびq軸電流指令値Iq*に応じた値になるように、モータ10に流れる電流Iu、IvおよびIwを制御する。
電流PI制御部307は、入力されたd軸電流指令値Id*およびq軸電流指令値Iq*から、それぞれ検出電流IdおよびIqを減算して、偏差ΔIdおよびΔIqを算出する。電流PI制御部307は、算出した偏差ΔIdおよびΔIq用いて、次式(1)及び(2)により、指令電圧であるd軸の電圧指令値Vd*、q軸の電圧指令値Vq*(以下、d軸電圧指令値、q軸電圧指令値という)を算出する。なお、本実施形態では、電流PI制御しているため、d軸電圧指令値Vd*は、電圧Vdに等しく、q軸電圧指令値Vq*は、電圧Vqに等しい。このため、本実施形態では、d軸電圧指令値Vd*をd軸電圧指令値Vd、q軸電圧指令値Vq*をq軸電圧指令値Vqとして表す。
電流PI制御部307は、算出したd軸電圧指令値Vdおよびq軸電圧指令値Vqを、2相/3相変換部308に出力する。
【0039】
Vd*=Kp×ΔId+Ki×∫(ΔId)dt ・・・(1)
【0040】
Vq*=Kp×ΔIq+Ki×∫(ΔIq)dt ・・・(2)
【0041】
なお、式(1)、(2)において、係数Kp、Kiは、予め設定されている係数である。
【0042】
2相/3相変換部308は、レゾルバ20が検出した検出角度θを用いて、電流PI制御部307が出力するd軸電圧指令値Vdおよびq軸電圧指令値Vqを座標変換し、3相の電圧指令値Vu*、Vv*、Vw*を算出する。電流PI制御部307と同様に、電流PI制御されているため、電圧指令値Vu*、Vv*、Vw*は、各々電圧Vu、Vv、Vwに等しいため、各電圧指令値を各々Vu、Vv、Vwとして表す。
2相/3相変換部308は、算出した3相の電圧指令値Vu、Vv、Vwをデューティ計算部309に出力する。
【0043】
デューティ計算部309には、2相/3相変換部308が出力する3相の電圧指令値Vu、Vv、Vwが入力される。デューティ計算部309は、キャリア周波数fcによって定まるタイミングで、3相の電圧指令値Vu、Vv、Vwから、モータに与える駆動電流信号を表すデューティ信号Du、Dv、Dwを計算する。デューティ計算部309は、計算したデューティ信号Du、Dv、Dwを電力変換部310に出力する。
【0044】
電力変換部310には、デューティ信号Du、Dv、Dwから駆動電流を生成するためのスイッチングを行う例えばIGBT(Insulated Gate Bipolar Transistor)素子などの電力制御素子(パワー素子)が備えられている。電力変換部310は、デューティ計算部309が出力するデューティ信号Du、Dv、Dwに対応する3相の駆動電流を生成し、生成した3相の駆動電流をモータ10にそれぞれ供給する。
【0045】
オフセット補正装置40の制御部401は、モータ10が無負荷状態で回転するように、例えば、モータ制御システム1が車両に取り付けられている場合、車両のクラッチを制御する。制御部401は、無負荷状態のモータ10を、d軸電流が流れていず、モータ10の速度が弱め界磁制御領域に属していない制御領域で回転させる速度指令値ω*を速度PI制御部303に出力する。
【0046】
電圧測定部402は、電圧PI制御部307が出力するd軸電圧指令値Vd、q軸電圧指令値Vqを測定する。電圧測定部402は、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づきモータ10の回転方向を検出する。電圧測定部402は、測定したd軸電圧指令値Vd、q軸電圧指令値Vq、検出した回転方向をオフセット算出部403に出力する。
【0047】
オフセット算出部403には、電圧測定部402が出力するd軸電圧指令値Vd、q軸電圧指令値Vq、回転方向が入力される。
オフセット算出部403は、記憶されている各値、電圧測定部402が出力する回転方向、d軸電圧指令値Vd、q軸電圧指令値Vqに基づき、後述するようにオフセット誤差Δθ’(第1補正値、第2補正値)を算出する。
なお、算出されたオフセット誤差補正値は、モータ制御装置30またはオフセット補正装置40の記憶部(不図示)に記憶させておいてもよい。
【0048】
図2は、本実施形態に係るレゾルバ20の概略構成を示す図である。
図2に示すように、レゾルバ20は、モータ10の貫通シャフトにマウントされ、ブラシレスモータのロータ磁界に合わせて調整されている。レゾルバ20は、レゾルバ・ロータ22、1次側コイル(ロータ)24、1次側コイル24と互いに90度離れたふたつの2次側コイル(ステータ)26とで構成されている。1次側に交流電圧を加えると2次側コイルにも電圧が発生する。2次側に出力される電圧の振幅は、θをロータ角度とするとsinθとcosθになる。
レゾルバ20は、これらの2次側コイル26の信号に基づき、モータ10の検出角度を算出する。この算出された検出角度は、モータ10の電気角の回転基準角度(0度)から1回転(360度)の間、電気自動車などでは慣性が大きく、サンプリングタイムに比べて加速度が無視されるので、単調に且つほぼ線形に増加する値となる。したがって、モータ10の複数の回転にわたる算出値は、例えば、のこぎりの歯状の波形となる。レゾルバ20は、この算出値によりモータ10の電気角の検出角度を検出できる。
【0049】
図3は、電圧制御領域について説明する図である。
図3において、横軸は速度を表し、縦軸は電圧、界磁、出力及びトルクを表している。また、図3において、Nbは基底速度であり、Ntは最高速度である。なお、基底速度Nbとは、電圧制御領域における最高速度である。また、最高速度Ntとは、最弱界磁における最高速度である。
曲線g101は、電圧対速度の関係を表し、曲線g102は、出力対速度の関係を表している。曲線g103は、界磁対速度の関係を表し、曲線g104は、トルク対速度の関係を表している。
【0050】
図3に示すように、所定の回転速度(例えば基底速度Nb)まで、曲線g103のように界磁を一定に保ちながら、例えばモータに対して電圧制御を行う。このように、界磁を一定に保ちながら電圧制御される領域が電圧制御領域である。また、図3に示した電圧制御領域では、d軸電流はほとんど流れない。
そして、所定の回転速度以上の領域では、曲線g101のように電圧を一定に保ちながら界磁を曲線g103のように弱めることで、回転速度を上昇させる。このような制御が弱め界磁制御であり、このように電圧が一定且つ回転速度が速くなる領域が弱め界磁制御領域(界磁制御領域)である。
【0051】
図4は、本実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
制御系dcqc座標系とは、モータ制御装置30a内のd軸をdc軸、q軸をqc軸に置き換えて表した座標系である。
図4に示すように、モータ制御装置30aは、速度計算部302、速度PI制御部303、電流指令部304a、電流PI制御部307aから構成される。モータ10とレゾルバ20を実座標のd軸q軸で表した制御対象60は、第1位相変換部600、第2位相変換部601、モータ電圧方程式部602、トルク方程式部603、(1/Js)604、(1/s)605、加算部70から構成される。
オフセット補正装置40aは、制御部401、電圧測定部402a及びオフセット算出部403aを備えている。
図1と同じ動作部は、同じ符号を用いて説明を省略する。
【0052】
モータ制御装置30aの電流指令部304aは、速度計算部302から出力される角速度ωと、速度PI制御部303が出力するトルク指令値τ*とが入力される。電流指令部304aは、このトルク指令値τ*と角速度ωから、dc軸電流指令値Idc*及びqc軸電流指令値Iqc*を生成する。電流指令部304aは、生成したdc軸電流指令値Idc*およびqc軸電流指令値Iqc*を、電流PI制御部307aに出力する。
【0053】
電流PI制御部307aは、入力されたd軸電流指令値Idc*およびq軸電流指令値Iqc*から、それぞれdc軸電流Idcおよびqc軸電流Iqcに基づき、dc軸電圧指令値Vdc、qc軸電圧指令値Vqcを算出する。
【0054】
制御対象60の第1位相変換部600は、d軸q軸の電流からdc軸qc軸の電流への変換部である。第1位相変換部600は、実際のオフセット誤差Δθ分、座標変換され、d軸電流Id、q軸電流Iqから、各々dc軸電流Idc、qc軸電流Iqcに変換する。第1位相変換部600は、変換したdc軸電流Idc、qc軸電流Iqcを電流PI制御部307aに出力する。
ここで、遅れ分|ω|Δtを省略すると、第1位相変換部600は、次式(3)のように表される。
【0055】
【数4】
【0056】
第2位相変換部601は、dc軸qc軸の電圧からd軸q軸の電圧への変換部である。第2位相変換部601は、オフセット誤差Δθ分、座標変換され、dc軸電圧Vdc、qc軸電圧Vqcから、各々d軸電圧Vd、q軸電圧Vqに変換する。第2位相変換部601は、変換したd軸電圧Vd、q軸電圧Vqをモータ電圧方程式部602に出力する。
ここで、遅れ分|ω|Δtを省略すると、第2位相変換部601は、式(3)の逆行列で次式(4)のように表される。
【0057】
【数5】
【0058】
モータ電圧方程式部602には、第2位相変換部601が出力するd軸電圧Vd、q軸電圧Vq、トルク方程式部603及び(1/Js)604により算出された角速度ωが入力される。
【0059】
モータ電圧方程式部602が有するモータ10の電圧方程式は、次式(5)のように表される(例えば、参考文献1 新中新二、永久磁石同期モータのベクトル制御技術 上巻、電波新聞社、2008年、p98参照)。
【0060】
【数6】
【0061】
式(5)において、ωは、角速度、Φaは、モータ10の鎖交磁束、ωΦaは、誘起電圧である。Ldは、d軸のインダクタンス、Lqは、q軸のインダクタンスである。Raは、モータ10の巻線1相あたりの抵抗である。
また、式(5)において、pは微分演算子である。このため、定常状態において、式(5)は、次式(6)のように表される。
【0062】
【数7】
【0063】
モータ電圧方程式部602は、式(5)または(6)を用いて、d軸電流Id及びq軸電流Iqを算出し、算出したd軸電流Id及びq軸電流Iqを第1位相変換部600及びトルク方程式部603に出力する。
【0064】
トルク方程式部603は、トルク方程式部603が有する次式(7)のトルク方程式(参考文献2 森本、武田、PMモータの出力範囲に関する一般的な解析と定出力運転に適した機器定数の検討、電学論D,Vol.117,No.6 pp.751-757 (1997-6)参照)、モータ電圧方程式部602が出力するd軸電流Id及びq軸電流Iqを用いて、トルクを算出し、算出したトルク値を(1/Js)604に出力する。また、トルク方程式部603には、d軸及びq軸の各インダクタンス成分Ld及びLq、鎖交磁束Φaが記憶されている。
【0065】
【数8】
【0066】
式(7)において、Pnは、モータ10もしくはステータのマグネットの磁極の対の数である極対数である
【0067】
(1/Js)604は、トルク方程式部603が算出したトルクから、角速度ωを出力し、出力した角速度ωをモータ電圧方程式部602及び(1/s)605に出力する。なお、Jは、無負荷時のモータ10のイナーシャ(慣性モーメント)である。
【0068】
(1/s)605は、(1/Js)604が出力する角速度ωから実角度θ0を加算部70に出力する。加算部70は、(1/s)605が出力した実角度θ0にオフセット誤差Δθを加算し、加算した検出信号θをモータ制御装置30aの速度計算部302に出力する。
【0069】
オフセット補正装置40aの電圧測定部402aは、電流PI制御部307aが出力するdc軸電圧指令値Vdc、qc軸電圧指令値Vqcを測定する。電圧測定部402aは、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づきモータ10の回転方向を検出する。電圧測定部402aは、測定したdc軸電圧指令値Vdc、qc軸電圧指令値Vqc、検出したモータ10の回転方向を示す情報をオフセット算出部403aに出力する。
【0070】
オフセット算出部403aには、電圧測定部402aが出力するdc軸電圧指令値Vdc*、qc軸電圧指令値Vqc*、モータ10の回転方向を示す情報が入力される。
オフセット算出部403aは、電圧測定部402aが出力するモータ10の回転方向を示す情報、dc軸電圧指令値Vdc*、qc軸電圧指令値Vqc*に基づき、オフセット誤差補正値Δθ’を算出する。
【0071】
次に、dq座標系における電流と電圧とのベクトルの関係を説明する。
d軸電圧及びq軸電圧は、式(6)より、次式(8)及び次式(9)のように表される。
【0072】
Vd=RaId−ωLqIq ・・・(8)
【0073】
Vq=ωLdId+RaIq+ωΦa ・・・(9)
【0074】
図5は、dq座標系における電流と電圧のベクトル図である。
図5において、角度δは、内部相差角(負荷角)であり、q軸と電圧Vのベクトル(以下、電圧ベクトルVという)とのなす角である。
図5において、反時計回りが正回転方向であり、d軸に対してq軸が90度進んでいる。
図5に示すように、モータ10に印加される電圧ベクトルVは、d軸電圧Vd(=−Vsinδ)のベクトル(以下、ベクトルVdという)とq軸電圧Vq(=Vcosδ)のベクトル(以下、ベクトルVqという)とに分解できる。
モータ10に流れる電流ベクトルIは、d軸電流Idのベクトル(以下、ベクトルIdという)とq軸電流Iqのベクトル(以下、ベクトルIqという)とに分解できる。
【0075】
図5に示すように、式(8)に示したベクトルVd(=−Vsinδ)は、ベクトルRaIdとベクトル(−ωLqIq)との和で表される。また、式(9)に示したベクトルVq(=Vcosδ)は、ベクトルωLdId、ベクトルRaIq、及びベクトルωΦaの和で表される。
レゾルバ20の組み付けによる誤差、製造による誤差、モータ制御装置30aの遅れにより発生する誤差等が無い場合、図5に示したd軸及びq軸は、モータ制御装置30aのdc軸及びqc軸と一致している。
【0076】
図5では、レゾルバ20にオフセット誤差が無く、d軸及びq軸と制御系座標のdc軸及びqc軸とが一致している場合におけるベクトルの関係を説明した。
次に、レゾルバ20にオフセット誤差が有り、d軸及びq軸と制御系座標のdc軸及びqc軸とが一致していない場合におけるベクトルの関係を、図6及び図7を用いて説明する。
図6は、本実施形態に係る角速度が正の場合の電圧ベクトルの関係の一例を説明する図である。図7は、本実施形態に係る角速度が負の場合の電圧ベクトルの関係の一例を説明する図である。
【0077】
図6及び図7において、d−q座標は回転子の実際の界磁方向をd軸とするdq座標(以下、実座標d−qという)を示し、dc−qc座標はレゾルバ20により検出される磁極位置(以下、レゾルバ検出位置という)により定まるdq座標(以下、制御系座標dc−qcといい、また制御系座標dc−qcにおけるd軸及びq軸をdc軸及びqc軸という)を示している。また、角速度ωが正の場合(正回転)の制御系座標dc−qcを制御系座標dc1−qc1、角速度ωが負の場合(負回転)の制御系座標dc−qcを制御系座標dc2−qc2として示している。
【0078】
まず、角速度ωが正の場合、すなわちモータ10を正回転させた場合について、図6を用いて説明する。
図6に示す状態は、d軸電流が発生していず、モータ10の速度が弱め界磁制御領域に属していない制御領域で、無負荷状態としたモータ10を、角速度が正になるように、図4のモータ制御装置30aによりモータ10を回転させている状態である。
図6に示すように、制御系のqc1軸は、実座標のq軸に対して角度(オフセット誤差Δθ+遅れ分|ω|Δt)進んでいるとする。
実座標d−qにおいて、無負荷状態のモータ10が正回転している場合、誘起電圧ベクトルωΦaがq軸の正方向に発生する。また、d軸電流Id及びq軸電流Iqによる電圧成分は、誘起電圧ベクトルωΦaを抑えるように電圧ベクトル(ωLdId+RaIq)がq軸の負方向に発生する。このため、q軸電圧ベクトルVqは、電圧ベクトル(ωLdId+RaIq)と誘起電圧ベクトルωΦaとの合成ベクトルである。また、d軸電圧ベクトルVd(=−ωLqIq+RaId)は、d軸の負方向に発生している。
図6に示すように、制御系座標dc1−qc1においては、実座標のd軸に対して角度δ進んでいる電圧ベクトルVc1として表される。なお、電圧ベクトルVc1は、モータ10の電圧である。この電圧ベクトルVc1は、dc1軸の正方向の電圧ベクトルVdc1と、qc1軸の正方向の電圧ベクトルVqc1とに分解できる。
また、図6に示すように、電圧ベクトルVc1と電圧ベクトルVqc1とのなす角は、(オフセット誤差Δθ+遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc1とのなす角δ)との差である。
【0079】
次に、角速度ωが負の場合、すなわちモータ10を負回転(逆回転)させた場合について、図7を用いて説明する。
図7に示す状態は、モータの速度が弱め界磁制御領域に属していない制御領域で、無負荷状態としたモータ10を、角速度が負になるように、図4のモータ制御装置30aによりモータ10を回転させている状態である。
図7に示すように、実座標d−qにおいて、無負荷状態のモータ10が負回転している場合、誘起電圧ベクトルωΦaがq軸の負方向に発生する。また、d軸電流Id及びq軸電流Iqによる電圧成分は、誘起電圧ベクトルωΦaを抑えるように電圧ベクトル(ωLdId+RaIq)がq軸の正方向に発生する。このため、q軸電圧ベクトルVqは、電圧ベクトル(ωLdId+RaIq)と誘起電圧ベクトルωΦaとの合成ベクトルである。また、d軸電圧Vdベクトル(=−ωLqIq+RaId)は、d軸の負方向に発生している。
図7に示すように、制御系座標dc2−qc2においては、実座標のd軸に対して角度δ遅れている電圧ベクトルVc2として表される。なお、電圧ベクトルVc2は、モータ10の電圧である。この電圧ベクトルVc2は、dc2軸の正方向の電圧ベクトルVdc2と、qc2軸の正方向の電圧ベクトルVqc2とに分解できる。
また、図7に示すように、電圧ベクトルVc2と電圧ベクトルVqc2とのなす角は、(オフセット誤差Δθ−遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc2とのなす角δ)との和である。
【0080】
次に、図6及び図7に示したモータ10の正回転及び負回転時の電圧ベクトルから、オフセット誤差補正値Δθ’を算出する方法について、図8を用いて説明する。
図8は、本実施形態に係るモータの速度が弱め界磁制御領域に属していない制御領域でモータを回転させている場合のオフセット誤差補正値の算出方法を説明する図である。
【0081】
図8に示すように、モータ10が正回転(ω>0)の場合、dc1軸電圧ベクトルVdc1とqc1軸電圧ベクトルVqc1とのなす角は、図6で説明したように(オフセット誤差Δθ+遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc2とのなす角δ)との差である。このため、このなす角とdc1軸電圧ベクトルVdc1とqc1軸電圧ベクトルVqc1との関係は、次式(10)及び次式(11)のように表される。
【0082】
tan(Δθ+|ω|Δt−δ)=Vdc1/Vqc1 ・・・(10)
【0083】
Δθ+|ω|Δt−δ=tan−1(Vdc1/Vqc1) ・・・(11)
【0084】
一方、図8に示すように、モータ10が負回転(ω<0)の場合、dc2軸電圧ベクトルVdc2とqc2軸電圧ベクトルVqc2とのなす角は、図7で説明したように(オフセット誤差Δθ+遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc2とのなす角δ)との和である。このため、このなす角とdc2軸電圧ベクトルVdc2とqc2軸電圧ベクトルVqc2との関係は、次式(12)及び次式(13)のように表される。
【0085】
tan(Δθ−|ω|Δt+δ)=Vdc2/Vqc2 ・・・(12)
【0086】
Δθ−|ω|Δt+δ=tan−1(Vdc2/Vqc2) ・・・(13)
【0087】
式(11)及び式(13)より、オフセット誤差Δθの補正値Δθ’は、次式(14)により算出できる。
【0088】
【数9】
【0089】
式(14)は、モータ10を正回転させたときの電圧指令値、負回転させたときの電圧指令を測定すれば、オフセット誤差補正値Δθ’を算出することを表している。
すなわち、オフセット算出部403aは、無負荷状態としたモータ10を、正回転させた場合のdc1軸電圧指令値Vdc1、qc1軸電圧指令値Vqc1を測定する。次に、オフセット算出部403aは、無負荷状態としたモータ10を、負回転させた場合のdc2軸電圧指令値Vdc2、qc2軸電圧指令値Vqc2を測定する。次に、オフセット算出部403aは、式(14)に各測定した電圧指令値を代入して、オフセット誤差補正値Δθ’を算出する。
なお、式(14)を用いて、遅れ分|ω|Δt及び角度δの影響を除去するために、本実施形態では、モータ10の正回転及び負回転の各回転数の絶対値を等しくして、各電圧指令値を測定する。
【0090】
次に、オフセット誤差補正値Δθ’の算出手順について、図4、図8及び図9を用いて説明する。
なお、以下のようなオフセット誤差補正値の算出は、モータ制御システム1が車両に搭載されている場合、例えば車両の組み立て時、車両の点検時、モータ10もしくはモータ制御装置30の交換時等に行うようにしてもよい。
図9は、本実施形態に係るオフセット誤差補正値の算出手順のフローチャートである。
【0091】
(ステップS1)制御部401は、モータ10の速度が弱め界磁制御領域に属していない制御領域でモータ10を正回転させる速度指令値を生成し、生成した速度指令値をモータ制御装置30aに出力する。なお、無負荷状態でモータ10を回転させているため、q軸電流Iqは微小である。また、モータ10の速度が弱め界磁制御領域に属さない制御領域でモータ10を回転させているため、d軸電流はほとんど流れていない。ステップS1終了後、ステップS2に進む。
(ステップS2)電圧測定部402aは、dc1軸電圧指令値Vdc1及びqc1軸電圧指令値Vqc1を測定し、測定したdc1軸電圧指令値Vdc1及びqc1軸電圧指令値Vqc1をオフセット算出部403aに出力する。
次に、電圧測定部402aは、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づいて回転方向を検出する。ステップS2において、電圧測定部402aは、回転方向を正方向(正回転)と検出する。次に、電圧測定部402aは、検出した回転方向をオフセット算出部403aに出力する。ステップS2終了後、ステップS3に進む。
【0092】
(ステップS3)制御部401は、モータ10の速度が弱め界磁制御領域に属していない制御領域でモータ10を負回転させる速度指令値を生成し、生成した速度指令値をモータ制御装置30aに出力する。ステップS3終了後、ステップS4に進む。
(ステップS4)電圧測定部402aは、dc2軸電圧指令値Vdc2及びqc2軸電圧指令値Vqc2を測定し、測定したdc2軸電圧指令値Vdc2及びqc2軸電圧指令値Vqc2をオフセット算出部403aに出力する。
次に、電圧測定部402aは、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づいて回転方向を検出する。ステップS4において、電圧測定部402aは、回転方向を負方向(負回転)と検出する。次に、電圧測定部402aは、検出した回転方向をオフセット算出部403aに出力する。ステップS4終了後、ステップS5に進む。
【0093】
(ステップS5)オフセット算出部403aは、測定した各電圧指令値、検出した回転方向に基づき、式(14)を用いて、オフセット誤差補正値Δθ’(第1補正値、第2補正値)を算出する。
以上で、オフセット誤差補正値算出処理を終了する。
【0094】
なお、式(14)においては、モータ10の正回転のときと負回転のときのd軸電圧及びq軸電圧の大きさが異なる例を説明したが、これに限られない。実座標d−qにおけるd軸電流Id=0及びq軸電流Iq=0とみなせて、レゾルバ20による検出信号から電力変換部310までの信号遅れが十分に補正されている場合、δ=0及び|ω|Δt=0とみなせるため、例えば、オフセット算出部403aは、モータ10を正回転させた場合のdc1軸電圧指令値Vdc1及びqc1軸電圧指令値Vqc1のみを測定し、オフセット誤差補正値Δθ’を次式(15)により算出するようにしてもよい。
【0095】
【数10】
【0096】
または、オフセット算出部403aは、モータ10を負回転させた場合のdc2軸電圧指令値Vdc2及びqc2軸電圧指令値Vqc2のみを測定し、オフセット誤差補正値Δθ’を算出するようにしてもよい。
【0097】
次に、実測結果について図10を用いて説明する。
図10は、本実施形態に係る実機を用いてオフセット誤差を算出した結果の一例を説明する図である。
≪実測方法≫
手順1 無負荷状態のモータに対して、+1000[rpm]の速度指令値で回転させた時のモータ制御装置30bの内部データを測定する。
手順2 無負荷状態のモータに対して、−1000[rpm]の速度指令値で回転させた時のモータ制御装置30bの内部データを測定する。
手順3 手順1及び手順2で測定したdc軸電圧指令値Vdcとqc軸電圧指令値Vqcからオフセット誤差補正値を算出する。
手順4 手順1〜3について、オフセット誤差に+30[deg]を追加して測定する。
手順5 手順1〜3について、オフセット誤差に−30[deg]を追加して測定する。
【0098】
図10(a)及び図10(b)は、手順1〜3の実測結果である。すなわち、実機が有しているオフセット誤差に対して、本実施形態の効果を測定した結果である。測定の結果、実機のオフセット誤差は、+1.7[deg]であった。
図10(c)及び図10(d)は、手順4の実測結果である。すなわち、実機が有しているオフセット誤差に加えて、オフセット誤差を+30[deg]加算した場合の効果を測定した結果である。
【0099】
図10(a)及び図10(c)において、第1行目は測定項目を示し、第2行目は回転数が+1000[rpm]の場合のモータ制御装置30bの内部データの実測値を示し、第3行目は回転数が−1000[rpm]の場合のモータ制御装置30bの内部データの実測値を示している。
図10(b)及び図10(d)において、第1行目は項目を示し、第2行目は回転数が+1000[rpm]の場合のオフセット誤差補正値の計算値を示し、第3行目は回転数が−1000[rpm]の場合のモータ制御装置30bのオフセット誤差補正値の計算値を示している。なお、図10(b)及び図10(d)の計算値は、図10(a)及び図10(c)に示した測定値を、tan−1(Vdc/Vqc)に代入して算出した値である。
【0100】
図10(b)に示したように、オフセット誤差を1.7[deg]有する場合、正回転のみによるオフセット誤差補正値は−2.7[deg]であり、負回転のみによるオフセット誤差補正値は+6.5[deg]であった。式(14)を用いて、正回転と負回転とのオフセット誤差補正値の平均を算出すると、図10(b)に示したように+1.9[deg]である。すなわち、実機にオフセット誤差が合計+1.7[deg]あっても、本実施形態によれば、(オフセット誤差−オフセット誤差補正値)の補正精度を−0.2[deg]に抑えることができる。
次に、図10(d)に示したように、オフセット誤差を1.7[deg]に+30[deg]を加算した場合、正回転のみによるオフセット誤差補正値は+27.2[deg]であり、負回転のみによるオフセット誤差補正値は+36.6[deg]であった。正回転と負回転とのオフセット誤差補正値の平均を算出すると、図10(d)に示したように+31.9[deg]である。すなわち、実機にオフセット誤差が合計+31.7(=1.7+30)[deg]あっても、本実施形態によれば、(オフセット誤差−オフセット誤差補正値)の補正精度を−0.2[deg]に抑えることができる。
【0101】
同様に、実機が有しているオフセット誤差に加えて、オフセット誤差を−30[deg]加算した場合(手順5)、正回転のみによるオフセット誤差補正値は−32.9[deg]であり、負回転のみによるオフセット誤差補正値は−23.6[deg]であり、平均値は−28.2[deg]であった。すなわち、実機にオフセット誤差が合計−28.3(=1.7−30)[deg]あっても、本実施形態によれば、(オフセット誤差−オフセット誤差補正値)の補正精度を−0.1[deg]に抑えることができる。
正回転または負回転のみの場合と比較して、オフセット誤差補正値の補正精度が抑えられている理由は、正回転と負回転とのオフセット誤差補正値の平均を算出することで、モータ制御装置30bの遅れ要素などによる影響がキャンセルされているためである。このように、本実施形態によれば、オフセット誤差補正値の補正精度を高精度に抑えることができる。
【0102】
以上のように、オフセット算出部403aは、無負荷状態のモータ10を、モータ10の速度が弱め界磁制御領域に属していない制御領域において、一定速度で正回転及び負回転させる。そして、オフセット算出部403aは、このような無負荷状態且つモータ10の速度が弱め界磁制御領域に属していない制御領域において定速回転時のd軸電圧指令値及びq軸電圧指令値を測定する。そして、オフセット算出部403aは、測定した電圧指令値を式(14)を用いて各回転方向についてtan−1(Vd/Vq)の平均を取ることで、オフセット誤差を含む電流ベクトルのなす角から遅れ要素である|ω|Δt等をキャンセルしてオフセット誤差補正値を算出するようにした。
この結果、本実施形態のモータ制御システム1では、無負荷状態のモータ10を、正方向及び逆方向に回転させているので、正方向しか回転させていない従来技術と比較して精度良くオフセット誤差を補正することができる。また、本実施形態のモータ制御システム1では、オフセット補正装置40の速度指令値により、モータ10の回転を制御しているため、例えばガソリンと電気を用いるハイブリッドカーでなく電気のみでモータ10を駆動する場合においても、モータ10を正回転及び負回転させて、電流指令値を測定してオフセット制御値を算出することができる。
このように算出したオフセット誤差補正値を、レゾルバ20が検出した検出信号に加算してモータ10を制御することで、高精度にオフセット誤差を補正したモータ10の制御を行える。
【0103】
[第2実施形態]
次に、オフセット誤差に対するノイズ及び高周波成分の影響を抑える方法を、図4及び図11を用いて説明する。本実施形態のモータ制御装置は、図4に示したモータ制御システムにおいて、電流PI制御部307aの構成が異なっている。
【0104】
まず、本実施形態について概要を説明する。
図11に示した電流PI制御部307bの各部において、ノイズや高周波成分の影響を受けやすいのは、増幅部Gpd341、増幅部Gid342、増幅部Gpq346及び増幅部Giq347である。しかし、増幅部Gid342の出力及び増幅部Giq347の出力は、積分器343及び348で積分されることにより、ノイズや高周波成分は減衰される。また、非干渉制御部350内部の値は、ノイズや高周波成分の影響を受けにくい。さらに、定常状態では、積分が効くために、増幅部Gpd341の入力及び増幅部Gpq346の入力はノイズのみとなり、この出力は電圧ベクトルには影響を与えない。このため、本実施形態では、電流PI制御部307b内部データの内、ノイズや高周波成分の影響を受けやすい増幅部Gpd341、増幅部Gpq346の出力を除き、ノイズや高周波成分の影響を受けにくい値を用いてd軸電圧指令値Vd’、q軸電圧指令値Vq’を生成する。そして、本実施形態では、オフセット補正装置は、このように生成されたd軸電圧指令値Vd’、q軸電圧指令値Vq’を測定して、測定したd軸電圧指令値Vd’、q軸q軸電圧指令値Vq’を用いてオフセット誤差を算出する。
【0105】
図11は、本実施形態に係る電流PI制御部307bのブロック図である。
本実施形態におけるモータ制御装置の電流PI制御部307bには、電流指令部304a(図4)が出力するdc軸電流指令値Idc*、qc軸電流指令値Iqc*、第1位相変換部600(図4)が出力するdc軸電流Idc、qc軸電流Iqc、速度計算部302(図4)が出力する角速度ωが入力される。電流PI制御部307bは、これらの入力された値に基づき、dc軸電圧指令値Vdc、qc軸電圧指令値を生成し、生成したdc軸電圧指令値Vdc、qc軸電圧指令値Vqcを第2位相変換部601(図4)に出力する。
【0106】
図11に示すように、電流PI制御部307bは、加算部340、344、345及び349、増幅部Gpd341、増幅部Gid342、積分器343及び348、増幅部Gpq346、増幅部Giq347、及び非干渉制御部350を備える。
また、非干渉制御部350は、Raパラメータ部350−1及び350−3、Ldパラメータ部350−6、φパラメータ部350−8、Lqパラメータ部350−11、加算部350−2、350−4、350−7、350−9及び350−12、及び乗算部350−5及び350−10を備えている。
【0107】
加算部340は、電流指令部304aが出力するdc軸電流指令値Idc*から、第1位相変換部600が出力するdc軸電流Idcを減算して、偏差ΔIdcを算出する。加算部340は、算出した偏差ΔIdcを増幅部Gpd341及び増幅部Gid342に出力する。
増幅部Gpd341には、d軸電流制御比例ゲインが記憶されている。なお、d軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpd341は、加算部340が出力する偏差ΔIdcに、d軸電流制御比例ゲインを乗じて、乗算した値Gpd×ΔIdcを加算部344に出力する。
【0108】
増幅部Gid342には、d軸電流制御積分ゲインが記憶されている。なお、d軸電流制御積分ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gid342は、加算部340が出力する偏差ΔIdcに、d軸電流制御積分ゲインを乗じて、乗算した値Gid×ΔIdcを積分器343に出力する。
積分器343は、増幅部Gid342が出力する値Gid×ΔIdcを積分し、積分した値Intgl_dc(=Gid×Σ(ΔIdc))を加算部344に出力する。
加算部344は、増幅部Gpd341が出力する値Gpd×(ΔIdc)に、積分器343が出力する値Intgl_dcを加算し、加算した値Intgl_dc+Gpd×(ΔIdc)を非干渉制御部350に出力する。
【0109】
加算部345は、電流指令部304aが出力するqc軸電流指令値Iqc*から、第1位相変換部600が出力するqc軸電流Iqcを減算して、偏差ΔIqcを算出する。加算部345は、算出した偏差ΔIqcを増幅部Gpq346及び増幅部Giq347に出力する。
増幅部Gpq346には、q軸電流制御比例ゲインが記憶されている。なお、q軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpq346は、加算部345が出力する偏差ΔIqcに、q軸電流制御比例ゲインを乗じて、乗算した値Gpq×(ΔIqc)を加算部349に出力する。
【0110】
増幅部Giq347には、q軸電流制御積分ゲインが記憶されている。なお、q軸電流制御積分ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Giq347は、加算部345が出力する偏差ΔIqcに、d軸電流制御積分ゲインを乗じて、乗算した値Giq×(ΔIqc)を積分器348に出力する。
積分器348は、増幅部Giq347が出力する値Giq×(ΔIqc)を積分し、積分した値Intgl_qc(=Giq×Σ(ΔIqc))を加算部349に出力する。
加算部349は、増幅部Gpd346が出力する値Gpq×(ΔIqc)に、積分器348が出力する値Intgl_qcを加算し、加算した値Intgl_qc+Gpq×(ΔIqc)を非干渉制御部350に出力する。
【0111】
次に、非干渉制御部350の各部について説明する。
Raパラメータ部350−1には、予め所定値の巻線抵抗Raの抵抗値が記憶されている。なお、巻線抵抗Raの抵抗値は、モータ制御装置30の設計者が、予め算出して記憶させる。Raパラメータ部350−1は、電流指令部304aが出力するqc軸電流指令値Iqc*に巻線抵抗Raの抵抗値を乗じて、乗算した値Ra×Iqc*を加算部350−2に出力する。
加算部350−2は、加算部349が出力する値(Intgl_qc+Gpq×(ΔIqc))に、Raパラメータ部350−1が出力する値Ra×Iqc*を加算し、加算した値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*を加算部350−7に出力する。
【0112】
Raパラメータ部350−3には、予め所定値の巻線抵抗Raの抵抗値が記憶されている。Raパラメータ部350−3は、電流指令部304aが出力するdc軸電流指令値Idc*に巻線抵抗Raの抵抗値を乗じて、乗算した値Ra×Idc*を加算部350−4に出力する。
加算部350−4は、加算部344が出力する値(Intgl_dc+Gpd×(ΔIdc))に、Raパラメータ部350−3が出力する値Ra×Idc*を加算し、加算した値Intgl_dc+Gpd×(ΔIdc)+Ra×Idc*を加算部350−12に出力する。
【0113】
乗算部350−5は、電流指令部304aが出力するdc軸電流指令値Idc*に、速度計算部302が出力する角速度ωを乗じて、乗算した値ωIdc*をLdパラメータ部350−6に出力する。
Ldパラメータ部350−6には、予め所定値のd軸インダクタンスLdが記憶されている。なお、d軸インダクタンスLdは、モータ制御装置30の設計者が、予め算出して記憶させる。Ldパラメータ部350−6は、乗算部350−5が出力する値ωIdc*にd軸インダクタンスLdを乗じて、乗算した値ωLd×Idc*を加算部350−7に出力する。
加算部350−7は、加算部350−2が出力する値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*に、Ldパラメータ部350−6が出力する値ωLd×Idc*を加算し、加算した値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*+ωLd×Idc*を加算部350−9に出力する。
【0114】
φパラメータ部350−8には、予め所定値のモータ10における回転子の鎖交磁束Φaが記憶されている。なお、鎖交磁束Φaは、モータ制御装置30の設計者が、予め算出して記憶させる。φパラメータ部350−8は、速度計算部302が出力する角速度ωに、鎖交磁束Φaを乗じて、乗算した値ωΦaを加算部350−9に出力する。
加算部350−9は、加算部350−7が出力する値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*+ωLd×Idc*に、φパラメータ部350−8が出力する値ωΦaを加算し、加算した値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*+ωLd×Idc*+ωΦaをqc軸電圧指令値Vqcとして出力する。
【0115】
乗算部350−10は、速度計算部302が出力する角速度ωに、電流指令部304aが出力するqc軸電流指令値Iqc*を乗じて、乗算した値ωIqc*をLqパラメータ部350−11に出力する。
Lqパラメータ部350−11には、予め所定値のq軸インダクタンスLqが記憶されている。なお、q軸インダクタンスLqは、モータ制御装置30の設計者が、予め算出して記憶させる。Lqパラメータ部350−11は、乗算部350−10が出力する値ωIqc*にq軸インダクタンスLqを乗じて、乗算した値ωLq×Iqc*を加算部350−12に出力する。
【0116】
加算部350−12は、加算部350−4が出力する値Intgl_dc+Gpd×(ΔIdc)+Ra×Idc*から、Lqパラメータ部350−11が出力する値ωIqc*×Lqを減算し、減算した値Intgl_dc+Gpd×(ΔIdc)+Ra×Idc*−ωLq×Iqc*をdc軸電圧指令値Vdcとして出力する。
【0117】
電圧測定部402aは、このように電流PI制御部307bが算出したdc軸電圧指令値Vdc及びqc軸電圧指令値Vqcから、比例制御分であるGpd×(ΔIdc)及びGpq×(ΔIqc)を除いた、次式(16)に示すdc軸電圧指令値Vdc’、次式(17)に示すqc軸電圧指令値Vqc’を取得し、取得したdc軸電圧指令値Vdc’及びqc軸指令値Vqc’を用いて、次式(18)によりオフセット誤差補正値Δθ’を算出する。なお、式(16)及び(17)において、各々第1項が積分値であり、各々第2項目以降が非干渉制御部350によるフィードフォワード成分である。
【0118】
Vdc’=Intgl_dc+Ra×Idc*−ωLq×Iqc* ・・・(16)
【0119】
Vqc’=Intgl_qc+Ra×Iqc*+ωLd×Idc*+ωΦa ・・・(17)
【0120】
【数11】
【0121】
なお、本実施形態においても、モータ10を絶対値が同じである速度指令値により正回転及び負回転させたときの、dc1軸電圧指令値Vdc1’、qc1軸電圧指令値Vqc1’、及びdc2軸電圧指令値Vdc2’、qc2軸電圧指令値Vqc2’を測定し、測定した値を式(12)に代入してオフセット誤差補正値を算出するようにしてもよい。
【0122】
以上のように、本実施形態によれば、電圧測定部402aは、d軸電圧指令値Vd及びq軸電圧指令値Vqの代わりに、電流PI制御部307b内部データである積分値と非干渉制御部350のフィードフォワード成分によるd軸電圧指令値Vd’及びq軸電圧指令値Vq’を取得するようにした。これらの積分値と非干渉制御部350のフィードフォワード成分は、d軸電圧指令及びq軸電圧指令に含まれるノイズや高調波成分の影響が少ない。この結果、このようにして取得したd軸電圧指令値Vd’及びq軸電圧指令値Vq’を用いてオフセット誤差補正値を算出することで、ノイズや高調波成分の影響を抑えることができる。そして、このように算出したオフセット誤差補正値を用いてモータ10の制御を行うことで、精度の良いモータ制御を行うことができる。
【0123】
また、オフセット誤差が大きい場合、モータ制御装置における制御系が不安定になる。このようにオフセット誤差が大きい場合は、レゾルバの組み付け不良や配線ミス等もある。このため、第1実施形態及び第2実施形態において、オフセット誤差が予め定められている値より大きい(例えば90度)か否かを公知の技術で検出して、このようなモータ及びレゾルバを事前に検出して除去するようにしてもよい。
【0124】
なお、本実施形態においては、モータ10を無負荷状態で定速回転させてオフセット誤差を算出して、算出したオフセット誤差補正値をレゾルバによる検出信号に加算してモータ制御を行う例を説明したが、これに限られない。モータ10を無負荷状態でなく、正負で逆の一定の負荷トルクがある状態で回転させることで、モータ制御システム1は、図5で説明した内部相差角δをキャンセルすることができる。
【0125】
なお、実施形態の図1、図4及び図11の各部の機能を実現するため、コンピュータシステムのCPUに接続されたROM、HDDも等に保存されているプログラムにより実行することも可能である。あるいは、PLD(プログラマブルロジックデバイス)やASIC(Application Specific Integrated Circuit)や回路でハードウェアにより実現することも可能である。
【符号の説明】
【0126】
1・・・モータ制御装置、10・・・モータ、20・・・レゾルバ、30,30a・・・モータ制御装置、40,40a・・・オフセット補正装置、60・・・制御対象、70・・・加算部、302・・・速度計算部、303・・・速度PI制御部、304・・・電流指令部、305・・・電流検出器、306・・・3相/2相変換部、307、307a・・・電流PI制御部、308・・・2相/3相変換部、309・・・デューティ計算部、310・・・電力変換部、401・・・制御部、402・・・電圧測定部、403・・・オフセット算出部、600・・・第1位相変換部、601・・・第2位相変換部、602・・・モータ電圧方程式部、603・・・トルク方程式部、604・・・(1/Js)、605・・・(1/s)
【技術分野】
【0001】
本発明は、モータ制御装置、モータ制御方法に関する。
【背景技術】
【0002】
3相ブラシレスモータを制御する際には、UVWの3相にて制御するのではなく、UVWの3相をd軸q軸の2軸座標へと座標変換し、d軸q軸の2相にて制御するのが一般的である。
ここで、d軸とq軸の2軸座標へ座標変換したdqベクトル制御の概略を説明する。dqベクトル制御は、回転子の界磁方向をd軸、これと直交する方向をq軸とするdq座標系上の等価回路でモータの制御処理を行う。このようなモータを制御するモータ制御装置は、例えば、PI(Proportional Integral;比例積分)制御を用いてd軸の検出電流Id及びq軸の検出電流Iqが、d軸指令電流Id*及びq軸指令電流Iq*に追従するように、フィードバック制御によりd軸指令電圧Vd*及びq軸指令電圧Vq*を制御している。
【0003】
このようなモータが有するロータの回転角度位置を検出する角度検出器として、レゾルバと角度検出回路とを組み合わせて回転角度を検出する角度検出器が用いられている。レゾルバは、ロータコイルとステータコイルとの位相差によりロータの回転角度を検出する回転検出装置である。レゾルバは、ロータコイルに正弦波信号(Esin(ωt)(Eは正弦波の振幅、ωは励磁周波数))を印加することで、磁界を生じる。この磁界中に、互いに直角に置かれた2つのステータコイルに、それぞれのコイルに位相差のある電圧(KEsin(ωt)×sin(θ)、KEsin(ωt)×cos(θ))が発生する。レゾルバは、このステータコイルの出力を用いて回転角度θを検出している。そして、モータ制御装置は、検出した回転角度θに基づいて、モータの電流を制御している。
【0004】
しかしながら、このような角度検出器が組み付けられたモータでは、角度検出器と同期モータの回転位置との間にレゾルバの製造精度により誤差、及びレゾルバの組み付けによる誤差などが生じることがある。
このため、特許文献1に記載のモータ制御装置は、d軸及びq軸の各電流指令値を0にして、外部からモータを回転させる。この場合、モータには、誘起電圧が発生するが、モータ制御装置が、電流が0になるようにモータを制御している。このため、モータ制御装置は、d軸電流Id、q軸電流Iqを0にするように制御することになり、角度検出器と同期モータの回転位置との間の位相がずれていない場合、q軸電圧Vqのみが発生し、d軸電圧Vdは0となる。
しかしながら、角度検出器と同期モータの回転位置との間の位相がずれている場合、d軸電圧Vdが発生する。特許文献1に記載のモータ制御装置は、d軸電流Id及びq軸電流Iqを0にするd軸指令電圧Vd*とq軸指令電圧Vq*とを求め、求めたd軸指令電圧Vd*が0になるオフセット量Δθを算出している。そして、特許文献1に記載のモータ制御装置では、算出したオフセット量を用いて、角度検出器と同期モータの回転位置との間に生じるずれを補正していた。
【0005】
また、特許文献2に記載のモータ制御装置は、q軸電流Iqを0に制御し、d軸電流Idを流してモータを回転させる。この場合、q軸電流Iqは、トルクを発生する電流であり、d軸電流Idは、励磁電流である。このため、角度検出器と同期モータの回転位置との間にずれが生じていない場合、q軸電流Iqを0にして、d軸電流Idを流しても、トルクは発生しない。しかしながら、角度検出器と同期モータの回転位置との間にずれが生じている場合、q軸電流Iqを0にして、d軸電流Idを流すと、トルクが発生する。このため、特許文献2に記載のモータ制御装置では、q軸電流Iqを0に制御し、d軸電流Idを流してモータを回転させたとき、トルクが0になるように調整することで、角度検出器と同期モータの回転位置との組み込みの位置ズレや製造誤差等により発生するずれを補正していた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3789895号公報
【特許文献2】特開2002−374692号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら特許文献1に記載の技術では、検出信号を2相から3相への変換器を用いてd軸とq軸の2軸座標へ座標変換を行っている。一方、特許文献1に記載の技術では、生成された指令値に基づいて、モータを駆動するPWM(パルス幅変調)変換器においても、遅れが生じる。このため、角度検出器とPWM出力との間に遅れが生じる場合がある。この結果、特許文献1に記載の技術では、これらの遅れ分がオフセット調整の精度に影響を与えるため、モータを精度良く制御できないという問題点があった。また、特許文献1に記載の技術では、オフセット調整量を、指令電圧値から算出しているが、指令電圧がノイズや高周波の影響を受けやすいため、モータを精度良く制御できないという問題点があった。
【0008】
また、特許文献2に記載の技術では、トルクを利用して補正しているので、モータ及びモータに接続されている負荷に摩擦があると、この摩擦がトルクに影響して補正値に誤差が生じ、モータを精度良く制御できないという問題点があった。
【0009】
本発明は、上記の問題点に鑑みてなされたものであって、モータを精度良く制御することを可能にするモータ制御装置、及びモータ制御方法を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明のモータ制御装置は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、前記モータの速度制御を行う速度制御部と、前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定部と、前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出部と、を備えることを特徴としている。
【0011】
また、本発明において、前記補正値算出部は、前記算出した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、前記速度制御部は、前記生成された回転位置を示す値に基づき前記モータを制御するようにしてもよい。
【0012】
また、本発明において、前記電圧指令値は、d軸電圧指令値及びq軸電圧指令値であり、前記電圧測定部は、前記モータが速度指令値に基づいて回転しているとき、前記d軸電圧指令値及び前記q軸電圧指令値を測定し、前記補正値算出部は、前記モータが正回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて第1補正値を前記補正値として算出するようにしてもよい。
【0013】
また、本発明において、前記補正値算出部は、前記モータが負回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて算出した第2補正値を前記補正値として算出するようにしてもよい。
【0014】
また、本発明において、前記速度制御部は、前記モータの正回転における前記モータの回転速度と、前記モータの負回転における前記モータの回転速度の絶対値とが等しくなるように制御し、前記補正値算出部は、前記算出した第1補正値と第2補正値の平均を算出して前記補正値を算出するようにしてもよい。
【0015】
また、本発明において、前記補正値算出部は、前記補正値、前記第1補正値、及び前記第2補正値は、下式を用いて算出するようにしてもよい。
【0016】
【数1】
【0017】
また、本発明において、前記速度制御部は、前記電流指令値から前記電圧指令値を生成する非干渉制御部を有する電流比例積分制御部を備え、前記電圧測定部は、前記電流比例積分制御部内で生成されたd軸電流偏差の積分成分と前記非干渉制御部で生成されたd軸電圧成分とに基づいて生成されたd軸電圧指令値Vd’、および前記電流比例積分制御部内で生成されたq軸電流偏差の積分成分と前記非干渉制御部で生成されたq軸電圧成分とに基づいて生成されたq軸電圧指令値Vq’を測定するようにしてもよい。
【0018】
また、本発明において、前記電圧測定部は、下式で表される前記d軸電圧指令値Vd’を測定し、
【0019】
【数2】
【0020】
下式で表される前記q軸電圧指令値Vq’を測定するようにしてもよい。
【0021】
【数3】
【0022】
上記目的を達成するため、本発明は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、速度制御部が、前記モータの速度制御を行う速度制御手順と、電圧測定部が、前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定手順と、補正値算出部が、前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出手順と、を含むことを特徴としている。
【発明の効果】
【0023】
本発明によれば、モータを一定速度で回転させているときの電圧指令値を測定し、測定した電圧指令値に基づいてモータの回転位置に対する補正値を算出し、算出した補正値を用いてモータの回転を制御するようにした。この結果、検出された回転位置にずれがあっても、モータを精度良く制御できる。
【図面の簡単な説明】
【0024】
【図1】第1実施形態のモータ制御装置を示す制御ブロック図である。
【図2】第1実施形態に係るレゾルバの概略構成を示す図である。
【図3】電圧制御領域について説明する図である。
【図4】第1実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
【図5】dq座標系における電流と電圧のベクトル図である。
【図6】第1実施形態に係る角速度が正の場合の電圧ベクトルの関係の一例を説明する図である。
【図7】第1実施形態に係る角速度が負の場合の電圧ベクトルの関係の一例を説明する図である。
【図8】第1実施形態に係るモータの速度が弱め界磁制御領域に属していない制御領域でモータを回転させている場合のオフセット誤差補正値の算出方法を説明する図である。
【図9】第1実施形態に係るオフセット誤差補正値の算出手順のフローチャートである。
【図10】第1実施形態に係る実機を用いてオフセット誤差を算出した結果の一例を説明する図である。
【図11】第2実施形態に係る電流PI制御部のブロック図である。
【発明を実施するための形態】
【0025】
以下、図面を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0026】
まず、モータ制御装置の概略動作について説明する。
モータ制御装置は、例えば産業車両や電気自動車、ハイブリッド自動車、電車、船舶、飛行機、発電システム等において、電池セルから電力の供給を受けてモータを制御する装置である。
電気モータを動力とする電気自動車や、内燃機関と電気モータを併用して動力とするハイブリッド自動車(以下、「電気自動車等」という)では、電力利用効率を高めるため、モータ制御装置が、3相の駆動電流を制御する際にパルス幅を変調させるパルス幅変調制御(PWM(Pulse Width Modulation)制御)を用いている。
電気自動車等では主に永久磁石同期モータが用いられ、そのモータには、回転に同期した3相電流が流される。その3相電流をPWM制御するために、キャリア信号と呼ばれる一定の周波数の電気パルスが用いられる。この場合、駆動電流は、キャリア信号のタイミングに合わせてパルス幅が変調された矩形波としてモータに供給され、モータのインダクタンスによって正弦波の3相電流となる。
そして、このようなモータ制御装置では、モータに流れる電流が、入力されたトルク指令のトルクになるようにフィードバックを用いたPI(Proportional Integral;比例積分)制御により制御している。また、PI制御では、モータへ供給するuvwの3相をd軸q軸の2軸座標へと座標変換し、d軸q軸の2相にて制御する。また、このようなモータ制御装置では、モータの回転角度を検出する角度検出装置であるレゾルバが組み付けられている。そして、電流のPI制御では、検出したモータの回転角度と、入力されたトルク指令に基づいて電流指令値を生成し、生成した電流の指令値と、モータに流れる電流の測定値とを合わせるように制御することで、モータを制御している。
【0027】
d軸q軸の2軸座標(以下、dq座標系という)は、回転座標系であり、回転子を構成する永久磁石が作る磁束の方向のd軸、d軸から位相が90度進んだq軸からなるdq座標系で表される。なお、dq座標系は回転しており、その回転速度が、角速度ωである。このdq座標系において、モータの電圧Vのd軸成分をVdで表し、q軸成分をVqで表す。また、dq座標系において、モータの電流Iのd軸成分をIdで表し、q軸成分をIqで表す。
【0028】
次に、本発明の概要を説明する。
モータ制御システムでは、レゾルバの組み付け精度による誤差や、レゾルバの製造による誤差、レゾルバによる検出信号の処理の遅れによる誤差などが生じる(以下、レゾルバによる誤差という)。このような誤差を補正するために、本発明のモータ制御システムでは、無負荷状態のモータを、d軸電流が流れていず、モータの速度が弱め界磁制御領域に属していない制御領域で定速回転させる。
モータが無負荷で一定回転している状態では、実動作におけるd軸電流とq軸電流とはわずかしか流れていない。しかしながら、レゾルバによる誤差が生じ、実動作における座標とモータ制御装置内の座標とでdq座標系の角度ずれが発生する。このように実動作とモータ制御装置内とでdq座標系の角度がずれている場合、モータ制御装置内では、見かけ上、励磁電圧ベクトルωΦaの位相がずれて、モータの電圧ベクトルの角度に影響が発生する。
このような原理に基づき、本発明のモータ制御システムでは、無負荷状態のモータを定速回転させているとき、d軸及びq軸の各電圧指令値を測定する。そして、本発明のモータ制御システムでは、測定したd軸及びq軸の各電圧指令値からオフセット誤差(補正値)を算出し、算出したオフセット誤差補正値をレゾルバによる検出信号に加算してモータ制御を行う。
【0029】
[第1実施形態]
第1実施形態のモータ制御装置は、d軸電流が発生せず、モータの速度が弱め界磁制御領域に属していない制御領域(例えば、後述する電圧制御領域)において、モータを無負荷状態で回転させる。このようにモータが無負荷状態で定速回転しているときに、本実施形態のモータ制御装置は、d軸電圧指令値とq軸電圧指令値を測定して、オフセット誤差補正値を算出する。以下、第1実施形態について、詳細に説明する。
【0030】
図1は、本実施形態のモータ制御装置を示す制御ブロック図である。
図1に示すように、本実施形態に係るモータ制御システム1は、レゾルバ20、モータ制御装置30、及びオフセット補正装置40を備えている。
モータ制御装置30は、速度計算部(速度制御部)302、速度PI制御部(速度制御部)303、電流指令部(速度制御部)304、電流検出器305、3相/2相変換部306、電流PI制御部(速度制御部、電流比例積分制御部)307、2相/3相変換部308、デューティ計算部309、及び電力変換部310を備えている。
オフセット補正装置40は、制御部401、電圧測定部(電圧測定部)402及びオフセット算出部(補正値算出部)403を備えている。
また、モータ制御装置30は、モータ10及びオフセット補正装置40と接続されている。
【0031】
モータ10は、3相モータであり、電力変換部310から出力される駆動電流により駆動される。モータ10には、レゾルバ20が組み付けられている。
【0032】
レゾルバ20は、モータ10に組み付けられている。レゾルバ20は、各瞬間におけるモータ10の回転角度をサンプリング時刻毎に検出し(以下、検出した回転角度を検出角度という)、検出した検出角度を速度計算部302、3相/2相変換部306、及び2相/3相変換部308に出力する。なお、サンプリング周波数は、例えば、5[KHz]である。
【0033】
速度計算部302は、レゾルバ20が検出した検出角度θから、モータ10の回転子の角速度ωを計算し、計算した角速度ωを速度PI制御部303、電流指令部304、及びオフセット補正装置40に出力する。
【0034】
速度PI(比例積分)制御部303は、モータ10の回転速度が外部から入力された速度指令値になるように、モータ10に対する回転速度を制御する。速度PI制御部303は、外部から入力された速度指令ω*と、速度計算部302が出力する角速度ωとの偏差基づいて、モータ10の回転速度が速度指令値ω*になるトルク指令値τ*を算出し、算出したトルク指令値τ*を電流指令部304に出力する。トルク指令値τ*は、モータ10に発生させるトルクを指令するものである。なお、本明細書では、指令値や指令信号には「*」を右上に付した変数によって表す。
また、速度PI制御部303は、オフセット補正装置40の制御部401が出力する電流指令値ω*に基づきモータ10に対するトルク指令値τ*を算出し、算出したトルク指令値τ*を電流指令部304に出力する。
【0035】
電流指令部304には、速度計算部302から出力される角速度ωと、速度PI制御部303が出力するトルク指令値τ*とが入力される。電流指令部304は、このトルク指令値τ*と角速度ωから、d軸成分およびq軸成分を持つ2相の指令電流であるd軸の電流指令値Id*、及びq軸の電流指令値Iq*(以下、d軸電流指令値、q軸電流指令値という)を生成する。電流指令部304は、生成したd軸電流指令値Id*およびq軸電流指令値Iq*を、電流PI制御部307に出力する。
【0036】
電流検出器305は、モータ10に対する3相の電流Iu、Iv、Iwを検出し、検出した3相の電流Iu、Iv、Iwを3相/2相変換部306に出力する。
【0037】
3相/2相変換部306は、電流検出器305が出力する3相の電流Iu、IvおよびIwを、2相のd軸成分Idおよびq軸成分Iq(以下、検出電流という)に変換する。3相/2相変換部306は、変換した検出電流IdおよびIqを電流PI制御部307に出力する。なお、d軸成分の電流(d軸電流)とは、d軸を磁束の向きにとった場合、流れている電流のうち、モータ10に磁束を発生させるのに使われている成分(励磁電流成分)である。また、q軸成分の電流(q軸電流)とは、流れている電流のうち負荷のトルクに対応した成分である。
【0038】
電流PI制御部307には、電流指令部304が出力するd軸電流指令値Id*およびq軸電流指令値Iq*と、3相/2相変換部306が出力する検出電流IdおよびIqとが入力される。電流PI制御部307は、制御変数である検出電流IdおよびIqが、d軸電流指令値Id*およびq軸電流指令値Iq*に応じた値になるように、モータ10に流れる電流Iu、IvおよびIwを制御する。
電流PI制御部307は、入力されたd軸電流指令値Id*およびq軸電流指令値Iq*から、それぞれ検出電流IdおよびIqを減算して、偏差ΔIdおよびΔIqを算出する。電流PI制御部307は、算出した偏差ΔIdおよびΔIq用いて、次式(1)及び(2)により、指令電圧であるd軸の電圧指令値Vd*、q軸の電圧指令値Vq*(以下、d軸電圧指令値、q軸電圧指令値という)を算出する。なお、本実施形態では、電流PI制御しているため、d軸電圧指令値Vd*は、電圧Vdに等しく、q軸電圧指令値Vq*は、電圧Vqに等しい。このため、本実施形態では、d軸電圧指令値Vd*をd軸電圧指令値Vd、q軸電圧指令値Vq*をq軸電圧指令値Vqとして表す。
電流PI制御部307は、算出したd軸電圧指令値Vdおよびq軸電圧指令値Vqを、2相/3相変換部308に出力する。
【0039】
Vd*=Kp×ΔId+Ki×∫(ΔId)dt ・・・(1)
【0040】
Vq*=Kp×ΔIq+Ki×∫(ΔIq)dt ・・・(2)
【0041】
なお、式(1)、(2)において、係数Kp、Kiは、予め設定されている係数である。
【0042】
2相/3相変換部308は、レゾルバ20が検出した検出角度θを用いて、電流PI制御部307が出力するd軸電圧指令値Vdおよびq軸電圧指令値Vqを座標変換し、3相の電圧指令値Vu*、Vv*、Vw*を算出する。電流PI制御部307と同様に、電流PI制御されているため、電圧指令値Vu*、Vv*、Vw*は、各々電圧Vu、Vv、Vwに等しいため、各電圧指令値を各々Vu、Vv、Vwとして表す。
2相/3相変換部308は、算出した3相の電圧指令値Vu、Vv、Vwをデューティ計算部309に出力する。
【0043】
デューティ計算部309には、2相/3相変換部308が出力する3相の電圧指令値Vu、Vv、Vwが入力される。デューティ計算部309は、キャリア周波数fcによって定まるタイミングで、3相の電圧指令値Vu、Vv、Vwから、モータに与える駆動電流信号を表すデューティ信号Du、Dv、Dwを計算する。デューティ計算部309は、計算したデューティ信号Du、Dv、Dwを電力変換部310に出力する。
【0044】
電力変換部310には、デューティ信号Du、Dv、Dwから駆動電流を生成するためのスイッチングを行う例えばIGBT(Insulated Gate Bipolar Transistor)素子などの電力制御素子(パワー素子)が備えられている。電力変換部310は、デューティ計算部309が出力するデューティ信号Du、Dv、Dwに対応する3相の駆動電流を生成し、生成した3相の駆動電流をモータ10にそれぞれ供給する。
【0045】
オフセット補正装置40の制御部401は、モータ10が無負荷状態で回転するように、例えば、モータ制御システム1が車両に取り付けられている場合、車両のクラッチを制御する。制御部401は、無負荷状態のモータ10を、d軸電流が流れていず、モータ10の速度が弱め界磁制御領域に属していない制御領域で回転させる速度指令値ω*を速度PI制御部303に出力する。
【0046】
電圧測定部402は、電圧PI制御部307が出力するd軸電圧指令値Vd、q軸電圧指令値Vqを測定する。電圧測定部402は、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づきモータ10の回転方向を検出する。電圧測定部402は、測定したd軸電圧指令値Vd、q軸電圧指令値Vq、検出した回転方向をオフセット算出部403に出力する。
【0047】
オフセット算出部403には、電圧測定部402が出力するd軸電圧指令値Vd、q軸電圧指令値Vq、回転方向が入力される。
オフセット算出部403は、記憶されている各値、電圧測定部402が出力する回転方向、d軸電圧指令値Vd、q軸電圧指令値Vqに基づき、後述するようにオフセット誤差Δθ’(第1補正値、第2補正値)を算出する。
なお、算出されたオフセット誤差補正値は、モータ制御装置30またはオフセット補正装置40の記憶部(不図示)に記憶させておいてもよい。
【0048】
図2は、本実施形態に係るレゾルバ20の概略構成を示す図である。
図2に示すように、レゾルバ20は、モータ10の貫通シャフトにマウントされ、ブラシレスモータのロータ磁界に合わせて調整されている。レゾルバ20は、レゾルバ・ロータ22、1次側コイル(ロータ)24、1次側コイル24と互いに90度離れたふたつの2次側コイル(ステータ)26とで構成されている。1次側に交流電圧を加えると2次側コイルにも電圧が発生する。2次側に出力される電圧の振幅は、θをロータ角度とするとsinθとcosθになる。
レゾルバ20は、これらの2次側コイル26の信号に基づき、モータ10の検出角度を算出する。この算出された検出角度は、モータ10の電気角の回転基準角度(0度)から1回転(360度)の間、電気自動車などでは慣性が大きく、サンプリングタイムに比べて加速度が無視されるので、単調に且つほぼ線形に増加する値となる。したがって、モータ10の複数の回転にわたる算出値は、例えば、のこぎりの歯状の波形となる。レゾルバ20は、この算出値によりモータ10の電気角の検出角度を検出できる。
【0049】
図3は、電圧制御領域について説明する図である。
図3において、横軸は速度を表し、縦軸は電圧、界磁、出力及びトルクを表している。また、図3において、Nbは基底速度であり、Ntは最高速度である。なお、基底速度Nbとは、電圧制御領域における最高速度である。また、最高速度Ntとは、最弱界磁における最高速度である。
曲線g101は、電圧対速度の関係を表し、曲線g102は、出力対速度の関係を表している。曲線g103は、界磁対速度の関係を表し、曲線g104は、トルク対速度の関係を表している。
【0050】
図3に示すように、所定の回転速度(例えば基底速度Nb)まで、曲線g103のように界磁を一定に保ちながら、例えばモータに対して電圧制御を行う。このように、界磁を一定に保ちながら電圧制御される領域が電圧制御領域である。また、図3に示した電圧制御領域では、d軸電流はほとんど流れない。
そして、所定の回転速度以上の領域では、曲線g101のように電圧を一定に保ちながら界磁を曲線g103のように弱めることで、回転速度を上昇させる。このような制御が弱め界磁制御であり、このように電圧が一定且つ回転速度が速くなる領域が弱め界磁制御領域(界磁制御領域)である。
【0051】
図4は、本実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
制御系dcqc座標系とは、モータ制御装置30a内のd軸をdc軸、q軸をqc軸に置き換えて表した座標系である。
図4に示すように、モータ制御装置30aは、速度計算部302、速度PI制御部303、電流指令部304a、電流PI制御部307aから構成される。モータ10とレゾルバ20を実座標のd軸q軸で表した制御対象60は、第1位相変換部600、第2位相変換部601、モータ電圧方程式部602、トルク方程式部603、(1/Js)604、(1/s)605、加算部70から構成される。
オフセット補正装置40aは、制御部401、電圧測定部402a及びオフセット算出部403aを備えている。
図1と同じ動作部は、同じ符号を用いて説明を省略する。
【0052】
モータ制御装置30aの電流指令部304aは、速度計算部302から出力される角速度ωと、速度PI制御部303が出力するトルク指令値τ*とが入力される。電流指令部304aは、このトルク指令値τ*と角速度ωから、dc軸電流指令値Idc*及びqc軸電流指令値Iqc*を生成する。電流指令部304aは、生成したdc軸電流指令値Idc*およびqc軸電流指令値Iqc*を、電流PI制御部307aに出力する。
【0053】
電流PI制御部307aは、入力されたd軸電流指令値Idc*およびq軸電流指令値Iqc*から、それぞれdc軸電流Idcおよびqc軸電流Iqcに基づき、dc軸電圧指令値Vdc、qc軸電圧指令値Vqcを算出する。
【0054】
制御対象60の第1位相変換部600は、d軸q軸の電流からdc軸qc軸の電流への変換部である。第1位相変換部600は、実際のオフセット誤差Δθ分、座標変換され、d軸電流Id、q軸電流Iqから、各々dc軸電流Idc、qc軸電流Iqcに変換する。第1位相変換部600は、変換したdc軸電流Idc、qc軸電流Iqcを電流PI制御部307aに出力する。
ここで、遅れ分|ω|Δtを省略すると、第1位相変換部600は、次式(3)のように表される。
【0055】
【数4】
【0056】
第2位相変換部601は、dc軸qc軸の電圧からd軸q軸の電圧への変換部である。第2位相変換部601は、オフセット誤差Δθ分、座標変換され、dc軸電圧Vdc、qc軸電圧Vqcから、各々d軸電圧Vd、q軸電圧Vqに変換する。第2位相変換部601は、変換したd軸電圧Vd、q軸電圧Vqをモータ電圧方程式部602に出力する。
ここで、遅れ分|ω|Δtを省略すると、第2位相変換部601は、式(3)の逆行列で次式(4)のように表される。
【0057】
【数5】
【0058】
モータ電圧方程式部602には、第2位相変換部601が出力するd軸電圧Vd、q軸電圧Vq、トルク方程式部603及び(1/Js)604により算出された角速度ωが入力される。
【0059】
モータ電圧方程式部602が有するモータ10の電圧方程式は、次式(5)のように表される(例えば、参考文献1 新中新二、永久磁石同期モータのベクトル制御技術 上巻、電波新聞社、2008年、p98参照)。
【0060】
【数6】
【0061】
式(5)において、ωは、角速度、Φaは、モータ10の鎖交磁束、ωΦaは、誘起電圧である。Ldは、d軸のインダクタンス、Lqは、q軸のインダクタンスである。Raは、モータ10の巻線1相あたりの抵抗である。
また、式(5)において、pは微分演算子である。このため、定常状態において、式(5)は、次式(6)のように表される。
【0062】
【数7】
【0063】
モータ電圧方程式部602は、式(5)または(6)を用いて、d軸電流Id及びq軸電流Iqを算出し、算出したd軸電流Id及びq軸電流Iqを第1位相変換部600及びトルク方程式部603に出力する。
【0064】
トルク方程式部603は、トルク方程式部603が有する次式(7)のトルク方程式(参考文献2 森本、武田、PMモータの出力範囲に関する一般的な解析と定出力運転に適した機器定数の検討、電学論D,Vol.117,No.6 pp.751-757 (1997-6)参照)、モータ電圧方程式部602が出力するd軸電流Id及びq軸電流Iqを用いて、トルクを算出し、算出したトルク値を(1/Js)604に出力する。また、トルク方程式部603には、d軸及びq軸の各インダクタンス成分Ld及びLq、鎖交磁束Φaが記憶されている。
【0065】
【数8】
【0066】
式(7)において、Pnは、モータ10もしくはステータのマグネットの磁極の対の数である極対数である
【0067】
(1/Js)604は、トルク方程式部603が算出したトルクから、角速度ωを出力し、出力した角速度ωをモータ電圧方程式部602及び(1/s)605に出力する。なお、Jは、無負荷時のモータ10のイナーシャ(慣性モーメント)である。
【0068】
(1/s)605は、(1/Js)604が出力する角速度ωから実角度θ0を加算部70に出力する。加算部70は、(1/s)605が出力した実角度θ0にオフセット誤差Δθを加算し、加算した検出信号θをモータ制御装置30aの速度計算部302に出力する。
【0069】
オフセット補正装置40aの電圧測定部402aは、電流PI制御部307aが出力するdc軸電圧指令値Vdc、qc軸電圧指令値Vqcを測定する。電圧測定部402aは、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づきモータ10の回転方向を検出する。電圧測定部402aは、測定したdc軸電圧指令値Vdc、qc軸電圧指令値Vqc、検出したモータ10の回転方向を示す情報をオフセット算出部403aに出力する。
【0070】
オフセット算出部403aには、電圧測定部402aが出力するdc軸電圧指令値Vdc*、qc軸電圧指令値Vqc*、モータ10の回転方向を示す情報が入力される。
オフセット算出部403aは、電圧測定部402aが出力するモータ10の回転方向を示す情報、dc軸電圧指令値Vdc*、qc軸電圧指令値Vqc*に基づき、オフセット誤差補正値Δθ’を算出する。
【0071】
次に、dq座標系における電流と電圧とのベクトルの関係を説明する。
d軸電圧及びq軸電圧は、式(6)より、次式(8)及び次式(9)のように表される。
【0072】
Vd=RaId−ωLqIq ・・・(8)
【0073】
Vq=ωLdId+RaIq+ωΦa ・・・(9)
【0074】
図5は、dq座標系における電流と電圧のベクトル図である。
図5において、角度δは、内部相差角(負荷角)であり、q軸と電圧Vのベクトル(以下、電圧ベクトルVという)とのなす角である。
図5において、反時計回りが正回転方向であり、d軸に対してq軸が90度進んでいる。
図5に示すように、モータ10に印加される電圧ベクトルVは、d軸電圧Vd(=−Vsinδ)のベクトル(以下、ベクトルVdという)とq軸電圧Vq(=Vcosδ)のベクトル(以下、ベクトルVqという)とに分解できる。
モータ10に流れる電流ベクトルIは、d軸電流Idのベクトル(以下、ベクトルIdという)とq軸電流Iqのベクトル(以下、ベクトルIqという)とに分解できる。
【0075】
図5に示すように、式(8)に示したベクトルVd(=−Vsinδ)は、ベクトルRaIdとベクトル(−ωLqIq)との和で表される。また、式(9)に示したベクトルVq(=Vcosδ)は、ベクトルωLdId、ベクトルRaIq、及びベクトルωΦaの和で表される。
レゾルバ20の組み付けによる誤差、製造による誤差、モータ制御装置30aの遅れにより発生する誤差等が無い場合、図5に示したd軸及びq軸は、モータ制御装置30aのdc軸及びqc軸と一致している。
【0076】
図5では、レゾルバ20にオフセット誤差が無く、d軸及びq軸と制御系座標のdc軸及びqc軸とが一致している場合におけるベクトルの関係を説明した。
次に、レゾルバ20にオフセット誤差が有り、d軸及びq軸と制御系座標のdc軸及びqc軸とが一致していない場合におけるベクトルの関係を、図6及び図7を用いて説明する。
図6は、本実施形態に係る角速度が正の場合の電圧ベクトルの関係の一例を説明する図である。図7は、本実施形態に係る角速度が負の場合の電圧ベクトルの関係の一例を説明する図である。
【0077】
図6及び図7において、d−q座標は回転子の実際の界磁方向をd軸とするdq座標(以下、実座標d−qという)を示し、dc−qc座標はレゾルバ20により検出される磁極位置(以下、レゾルバ検出位置という)により定まるdq座標(以下、制御系座標dc−qcといい、また制御系座標dc−qcにおけるd軸及びq軸をdc軸及びqc軸という)を示している。また、角速度ωが正の場合(正回転)の制御系座標dc−qcを制御系座標dc1−qc1、角速度ωが負の場合(負回転)の制御系座標dc−qcを制御系座標dc2−qc2として示している。
【0078】
まず、角速度ωが正の場合、すなわちモータ10を正回転させた場合について、図6を用いて説明する。
図6に示す状態は、d軸電流が発生していず、モータ10の速度が弱め界磁制御領域に属していない制御領域で、無負荷状態としたモータ10を、角速度が正になるように、図4のモータ制御装置30aによりモータ10を回転させている状態である。
図6に示すように、制御系のqc1軸は、実座標のq軸に対して角度(オフセット誤差Δθ+遅れ分|ω|Δt)進んでいるとする。
実座標d−qにおいて、無負荷状態のモータ10が正回転している場合、誘起電圧ベクトルωΦaがq軸の正方向に発生する。また、d軸電流Id及びq軸電流Iqによる電圧成分は、誘起電圧ベクトルωΦaを抑えるように電圧ベクトル(ωLdId+RaIq)がq軸の負方向に発生する。このため、q軸電圧ベクトルVqは、電圧ベクトル(ωLdId+RaIq)と誘起電圧ベクトルωΦaとの合成ベクトルである。また、d軸電圧ベクトルVd(=−ωLqIq+RaId)は、d軸の負方向に発生している。
図6に示すように、制御系座標dc1−qc1においては、実座標のd軸に対して角度δ進んでいる電圧ベクトルVc1として表される。なお、電圧ベクトルVc1は、モータ10の電圧である。この電圧ベクトルVc1は、dc1軸の正方向の電圧ベクトルVdc1と、qc1軸の正方向の電圧ベクトルVqc1とに分解できる。
また、図6に示すように、電圧ベクトルVc1と電圧ベクトルVqc1とのなす角は、(オフセット誤差Δθ+遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc1とのなす角δ)との差である。
【0079】
次に、角速度ωが負の場合、すなわちモータ10を負回転(逆回転)させた場合について、図7を用いて説明する。
図7に示す状態は、モータの速度が弱め界磁制御領域に属していない制御領域で、無負荷状態としたモータ10を、角速度が負になるように、図4のモータ制御装置30aによりモータ10を回転させている状態である。
図7に示すように、実座標d−qにおいて、無負荷状態のモータ10が負回転している場合、誘起電圧ベクトルωΦaがq軸の負方向に発生する。また、d軸電流Id及びq軸電流Iqによる電圧成分は、誘起電圧ベクトルωΦaを抑えるように電圧ベクトル(ωLdId+RaIq)がq軸の正方向に発生する。このため、q軸電圧ベクトルVqは、電圧ベクトル(ωLdId+RaIq)と誘起電圧ベクトルωΦaとの合成ベクトルである。また、d軸電圧Vdベクトル(=−ωLqIq+RaId)は、d軸の負方向に発生している。
図7に示すように、制御系座標dc2−qc2においては、実座標のd軸に対して角度δ遅れている電圧ベクトルVc2として表される。なお、電圧ベクトルVc2は、モータ10の電圧である。この電圧ベクトルVc2は、dc2軸の正方向の電圧ベクトルVdc2と、qc2軸の正方向の電圧ベクトルVqc2とに分解できる。
また、図7に示すように、電圧ベクトルVc2と電圧ベクトルVqc2とのなす角は、(オフセット誤差Δθ−遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc2とのなす角δ)との和である。
【0080】
次に、図6及び図7に示したモータ10の正回転及び負回転時の電圧ベクトルから、オフセット誤差補正値Δθ’を算出する方法について、図8を用いて説明する。
図8は、本実施形態に係るモータの速度が弱め界磁制御領域に属していない制御領域でモータを回転させている場合のオフセット誤差補正値の算出方法を説明する図である。
【0081】
図8に示すように、モータ10が正回転(ω>0)の場合、dc1軸電圧ベクトルVdc1とqc1軸電圧ベクトルVqc1とのなす角は、図6で説明したように(オフセット誤差Δθ+遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc2とのなす角δ)との差である。このため、このなす角とdc1軸電圧ベクトルVdc1とqc1軸電圧ベクトルVqc1との関係は、次式(10)及び次式(11)のように表される。
【0082】
tan(Δθ+|ω|Δt−δ)=Vdc1/Vqc1 ・・・(10)
【0083】
Δθ+|ω|Δt−δ=tan−1(Vdc1/Vqc1) ・・・(11)
【0084】
一方、図8に示すように、モータ10が負回転(ω<0)の場合、dc2軸電圧ベクトルVdc2とqc2軸電圧ベクトルVqc2とのなす角は、図7で説明したように(オフセット誤差Δθ+遅れ分|ω|Δt)と(誘起電圧ベクトルωΦaと電圧ベクトルVc2とのなす角δ)との和である。このため、このなす角とdc2軸電圧ベクトルVdc2とqc2軸電圧ベクトルVqc2との関係は、次式(12)及び次式(13)のように表される。
【0085】
tan(Δθ−|ω|Δt+δ)=Vdc2/Vqc2 ・・・(12)
【0086】
Δθ−|ω|Δt+δ=tan−1(Vdc2/Vqc2) ・・・(13)
【0087】
式(11)及び式(13)より、オフセット誤差Δθの補正値Δθ’は、次式(14)により算出できる。
【0088】
【数9】
【0089】
式(14)は、モータ10を正回転させたときの電圧指令値、負回転させたときの電圧指令を測定すれば、オフセット誤差補正値Δθ’を算出することを表している。
すなわち、オフセット算出部403aは、無負荷状態としたモータ10を、正回転させた場合のdc1軸電圧指令値Vdc1、qc1軸電圧指令値Vqc1を測定する。次に、オフセット算出部403aは、無負荷状態としたモータ10を、負回転させた場合のdc2軸電圧指令値Vdc2、qc2軸電圧指令値Vqc2を測定する。次に、オフセット算出部403aは、式(14)に各測定した電圧指令値を代入して、オフセット誤差補正値Δθ’を算出する。
なお、式(14)を用いて、遅れ分|ω|Δt及び角度δの影響を除去するために、本実施形態では、モータ10の正回転及び負回転の各回転数の絶対値を等しくして、各電圧指令値を測定する。
【0090】
次に、オフセット誤差補正値Δθ’の算出手順について、図4、図8及び図9を用いて説明する。
なお、以下のようなオフセット誤差補正値の算出は、モータ制御システム1が車両に搭載されている場合、例えば車両の組み立て時、車両の点検時、モータ10もしくはモータ制御装置30の交換時等に行うようにしてもよい。
図9は、本実施形態に係るオフセット誤差補正値の算出手順のフローチャートである。
【0091】
(ステップS1)制御部401は、モータ10の速度が弱め界磁制御領域に属していない制御領域でモータ10を正回転させる速度指令値を生成し、生成した速度指令値をモータ制御装置30aに出力する。なお、無負荷状態でモータ10を回転させているため、q軸電流Iqは微小である。また、モータ10の速度が弱め界磁制御領域に属さない制御領域でモータ10を回転させているため、d軸電流はほとんど流れていない。ステップS1終了後、ステップS2に進む。
(ステップS2)電圧測定部402aは、dc1軸電圧指令値Vdc1及びqc1軸電圧指令値Vqc1を測定し、測定したdc1軸電圧指令値Vdc1及びqc1軸電圧指令値Vqc1をオフセット算出部403aに出力する。
次に、電圧測定部402aは、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づいて回転方向を検出する。ステップS2において、電圧測定部402aは、回転方向を正方向(正回転)と検出する。次に、電圧測定部402aは、検出した回転方向をオフセット算出部403aに出力する。ステップS2終了後、ステップS3に進む。
【0092】
(ステップS3)制御部401は、モータ10の速度が弱め界磁制御領域に属していない制御領域でモータ10を負回転させる速度指令値を生成し、生成した速度指令値をモータ制御装置30aに出力する。ステップS3終了後、ステップS4に進む。
(ステップS4)電圧測定部402aは、dc2軸電圧指令値Vdc2及びqc2軸電圧指令値Vqc2を測定し、測定したdc2軸電圧指令値Vdc2及びqc2軸電圧指令値Vqc2をオフセット算出部403aに出力する。
次に、電圧測定部402aは、速度計算部302が出力する角速度ωを取得し、取得した角速度ωに基づいて回転方向を検出する。ステップS4において、電圧測定部402aは、回転方向を負方向(負回転)と検出する。次に、電圧測定部402aは、検出した回転方向をオフセット算出部403aに出力する。ステップS4終了後、ステップS5に進む。
【0093】
(ステップS5)オフセット算出部403aは、測定した各電圧指令値、検出した回転方向に基づき、式(14)を用いて、オフセット誤差補正値Δθ’(第1補正値、第2補正値)を算出する。
以上で、オフセット誤差補正値算出処理を終了する。
【0094】
なお、式(14)においては、モータ10の正回転のときと負回転のときのd軸電圧及びq軸電圧の大きさが異なる例を説明したが、これに限られない。実座標d−qにおけるd軸電流Id=0及びq軸電流Iq=0とみなせて、レゾルバ20による検出信号から電力変換部310までの信号遅れが十分に補正されている場合、δ=0及び|ω|Δt=0とみなせるため、例えば、オフセット算出部403aは、モータ10を正回転させた場合のdc1軸電圧指令値Vdc1及びqc1軸電圧指令値Vqc1のみを測定し、オフセット誤差補正値Δθ’を次式(15)により算出するようにしてもよい。
【0095】
【数10】
【0096】
または、オフセット算出部403aは、モータ10を負回転させた場合のdc2軸電圧指令値Vdc2及びqc2軸電圧指令値Vqc2のみを測定し、オフセット誤差補正値Δθ’を算出するようにしてもよい。
【0097】
次に、実測結果について図10を用いて説明する。
図10は、本実施形態に係る実機を用いてオフセット誤差を算出した結果の一例を説明する図である。
≪実測方法≫
手順1 無負荷状態のモータに対して、+1000[rpm]の速度指令値で回転させた時のモータ制御装置30bの内部データを測定する。
手順2 無負荷状態のモータに対して、−1000[rpm]の速度指令値で回転させた時のモータ制御装置30bの内部データを測定する。
手順3 手順1及び手順2で測定したdc軸電圧指令値Vdcとqc軸電圧指令値Vqcからオフセット誤差補正値を算出する。
手順4 手順1〜3について、オフセット誤差に+30[deg]を追加して測定する。
手順5 手順1〜3について、オフセット誤差に−30[deg]を追加して測定する。
【0098】
図10(a)及び図10(b)は、手順1〜3の実測結果である。すなわち、実機が有しているオフセット誤差に対して、本実施形態の効果を測定した結果である。測定の結果、実機のオフセット誤差は、+1.7[deg]であった。
図10(c)及び図10(d)は、手順4の実測結果である。すなわち、実機が有しているオフセット誤差に加えて、オフセット誤差を+30[deg]加算した場合の効果を測定した結果である。
【0099】
図10(a)及び図10(c)において、第1行目は測定項目を示し、第2行目は回転数が+1000[rpm]の場合のモータ制御装置30bの内部データの実測値を示し、第3行目は回転数が−1000[rpm]の場合のモータ制御装置30bの内部データの実測値を示している。
図10(b)及び図10(d)において、第1行目は項目を示し、第2行目は回転数が+1000[rpm]の場合のオフセット誤差補正値の計算値を示し、第3行目は回転数が−1000[rpm]の場合のモータ制御装置30bのオフセット誤差補正値の計算値を示している。なお、図10(b)及び図10(d)の計算値は、図10(a)及び図10(c)に示した測定値を、tan−1(Vdc/Vqc)に代入して算出した値である。
【0100】
図10(b)に示したように、オフセット誤差を1.7[deg]有する場合、正回転のみによるオフセット誤差補正値は−2.7[deg]であり、負回転のみによるオフセット誤差補正値は+6.5[deg]であった。式(14)を用いて、正回転と負回転とのオフセット誤差補正値の平均を算出すると、図10(b)に示したように+1.9[deg]である。すなわち、実機にオフセット誤差が合計+1.7[deg]あっても、本実施形態によれば、(オフセット誤差−オフセット誤差補正値)の補正精度を−0.2[deg]に抑えることができる。
次に、図10(d)に示したように、オフセット誤差を1.7[deg]に+30[deg]を加算した場合、正回転のみによるオフセット誤差補正値は+27.2[deg]であり、負回転のみによるオフセット誤差補正値は+36.6[deg]であった。正回転と負回転とのオフセット誤差補正値の平均を算出すると、図10(d)に示したように+31.9[deg]である。すなわち、実機にオフセット誤差が合計+31.7(=1.7+30)[deg]あっても、本実施形態によれば、(オフセット誤差−オフセット誤差補正値)の補正精度を−0.2[deg]に抑えることができる。
【0101】
同様に、実機が有しているオフセット誤差に加えて、オフセット誤差を−30[deg]加算した場合(手順5)、正回転のみによるオフセット誤差補正値は−32.9[deg]であり、負回転のみによるオフセット誤差補正値は−23.6[deg]であり、平均値は−28.2[deg]であった。すなわち、実機にオフセット誤差が合計−28.3(=1.7−30)[deg]あっても、本実施形態によれば、(オフセット誤差−オフセット誤差補正値)の補正精度を−0.1[deg]に抑えることができる。
正回転または負回転のみの場合と比較して、オフセット誤差補正値の補正精度が抑えられている理由は、正回転と負回転とのオフセット誤差補正値の平均を算出することで、モータ制御装置30bの遅れ要素などによる影響がキャンセルされているためである。このように、本実施形態によれば、オフセット誤差補正値の補正精度を高精度に抑えることができる。
【0102】
以上のように、オフセット算出部403aは、無負荷状態のモータ10を、モータ10の速度が弱め界磁制御領域に属していない制御領域において、一定速度で正回転及び負回転させる。そして、オフセット算出部403aは、このような無負荷状態且つモータ10の速度が弱め界磁制御領域に属していない制御領域において定速回転時のd軸電圧指令値及びq軸電圧指令値を測定する。そして、オフセット算出部403aは、測定した電圧指令値を式(14)を用いて各回転方向についてtan−1(Vd/Vq)の平均を取ることで、オフセット誤差を含む電流ベクトルのなす角から遅れ要素である|ω|Δt等をキャンセルしてオフセット誤差補正値を算出するようにした。
この結果、本実施形態のモータ制御システム1では、無負荷状態のモータ10を、正方向及び逆方向に回転させているので、正方向しか回転させていない従来技術と比較して精度良くオフセット誤差を補正することができる。また、本実施形態のモータ制御システム1では、オフセット補正装置40の速度指令値により、モータ10の回転を制御しているため、例えばガソリンと電気を用いるハイブリッドカーでなく電気のみでモータ10を駆動する場合においても、モータ10を正回転及び負回転させて、電流指令値を測定してオフセット制御値を算出することができる。
このように算出したオフセット誤差補正値を、レゾルバ20が検出した検出信号に加算してモータ10を制御することで、高精度にオフセット誤差を補正したモータ10の制御を行える。
【0103】
[第2実施形態]
次に、オフセット誤差に対するノイズ及び高周波成分の影響を抑える方法を、図4及び図11を用いて説明する。本実施形態のモータ制御装置は、図4に示したモータ制御システムにおいて、電流PI制御部307aの構成が異なっている。
【0104】
まず、本実施形態について概要を説明する。
図11に示した電流PI制御部307bの各部において、ノイズや高周波成分の影響を受けやすいのは、増幅部Gpd341、増幅部Gid342、増幅部Gpq346及び増幅部Giq347である。しかし、増幅部Gid342の出力及び増幅部Giq347の出力は、積分器343及び348で積分されることにより、ノイズや高周波成分は減衰される。また、非干渉制御部350内部の値は、ノイズや高周波成分の影響を受けにくい。さらに、定常状態では、積分が効くために、増幅部Gpd341の入力及び増幅部Gpq346の入力はノイズのみとなり、この出力は電圧ベクトルには影響を与えない。このため、本実施形態では、電流PI制御部307b内部データの内、ノイズや高周波成分の影響を受けやすい増幅部Gpd341、増幅部Gpq346の出力を除き、ノイズや高周波成分の影響を受けにくい値を用いてd軸電圧指令値Vd’、q軸電圧指令値Vq’を生成する。そして、本実施形態では、オフセット補正装置は、このように生成されたd軸電圧指令値Vd’、q軸電圧指令値Vq’を測定して、測定したd軸電圧指令値Vd’、q軸q軸電圧指令値Vq’を用いてオフセット誤差を算出する。
【0105】
図11は、本実施形態に係る電流PI制御部307bのブロック図である。
本実施形態におけるモータ制御装置の電流PI制御部307bには、電流指令部304a(図4)が出力するdc軸電流指令値Idc*、qc軸電流指令値Iqc*、第1位相変換部600(図4)が出力するdc軸電流Idc、qc軸電流Iqc、速度計算部302(図4)が出力する角速度ωが入力される。電流PI制御部307bは、これらの入力された値に基づき、dc軸電圧指令値Vdc、qc軸電圧指令値を生成し、生成したdc軸電圧指令値Vdc、qc軸電圧指令値Vqcを第2位相変換部601(図4)に出力する。
【0106】
図11に示すように、電流PI制御部307bは、加算部340、344、345及び349、増幅部Gpd341、増幅部Gid342、積分器343及び348、増幅部Gpq346、増幅部Giq347、及び非干渉制御部350を備える。
また、非干渉制御部350は、Raパラメータ部350−1及び350−3、Ldパラメータ部350−6、φパラメータ部350−8、Lqパラメータ部350−11、加算部350−2、350−4、350−7、350−9及び350−12、及び乗算部350−5及び350−10を備えている。
【0107】
加算部340は、電流指令部304aが出力するdc軸電流指令値Idc*から、第1位相変換部600が出力するdc軸電流Idcを減算して、偏差ΔIdcを算出する。加算部340は、算出した偏差ΔIdcを増幅部Gpd341及び増幅部Gid342に出力する。
増幅部Gpd341には、d軸電流制御比例ゲインが記憶されている。なお、d軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpd341は、加算部340が出力する偏差ΔIdcに、d軸電流制御比例ゲインを乗じて、乗算した値Gpd×ΔIdcを加算部344に出力する。
【0108】
増幅部Gid342には、d軸電流制御積分ゲインが記憶されている。なお、d軸電流制御積分ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gid342は、加算部340が出力する偏差ΔIdcに、d軸電流制御積分ゲインを乗じて、乗算した値Gid×ΔIdcを積分器343に出力する。
積分器343は、増幅部Gid342が出力する値Gid×ΔIdcを積分し、積分した値Intgl_dc(=Gid×Σ(ΔIdc))を加算部344に出力する。
加算部344は、増幅部Gpd341が出力する値Gpd×(ΔIdc)に、積分器343が出力する値Intgl_dcを加算し、加算した値Intgl_dc+Gpd×(ΔIdc)を非干渉制御部350に出力する。
【0109】
加算部345は、電流指令部304aが出力するqc軸電流指令値Iqc*から、第1位相変換部600が出力するqc軸電流Iqcを減算して、偏差ΔIqcを算出する。加算部345は、算出した偏差ΔIqcを増幅部Gpq346及び増幅部Giq347に出力する。
増幅部Gpq346には、q軸電流制御比例ゲインが記憶されている。なお、q軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpq346は、加算部345が出力する偏差ΔIqcに、q軸電流制御比例ゲインを乗じて、乗算した値Gpq×(ΔIqc)を加算部349に出力する。
【0110】
増幅部Giq347には、q軸電流制御積分ゲインが記憶されている。なお、q軸電流制御積分ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Giq347は、加算部345が出力する偏差ΔIqcに、d軸電流制御積分ゲインを乗じて、乗算した値Giq×(ΔIqc)を積分器348に出力する。
積分器348は、増幅部Giq347が出力する値Giq×(ΔIqc)を積分し、積分した値Intgl_qc(=Giq×Σ(ΔIqc))を加算部349に出力する。
加算部349は、増幅部Gpd346が出力する値Gpq×(ΔIqc)に、積分器348が出力する値Intgl_qcを加算し、加算した値Intgl_qc+Gpq×(ΔIqc)を非干渉制御部350に出力する。
【0111】
次に、非干渉制御部350の各部について説明する。
Raパラメータ部350−1には、予め所定値の巻線抵抗Raの抵抗値が記憶されている。なお、巻線抵抗Raの抵抗値は、モータ制御装置30の設計者が、予め算出して記憶させる。Raパラメータ部350−1は、電流指令部304aが出力するqc軸電流指令値Iqc*に巻線抵抗Raの抵抗値を乗じて、乗算した値Ra×Iqc*を加算部350−2に出力する。
加算部350−2は、加算部349が出力する値(Intgl_qc+Gpq×(ΔIqc))に、Raパラメータ部350−1が出力する値Ra×Iqc*を加算し、加算した値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*を加算部350−7に出力する。
【0112】
Raパラメータ部350−3には、予め所定値の巻線抵抗Raの抵抗値が記憶されている。Raパラメータ部350−3は、電流指令部304aが出力するdc軸電流指令値Idc*に巻線抵抗Raの抵抗値を乗じて、乗算した値Ra×Idc*を加算部350−4に出力する。
加算部350−4は、加算部344が出力する値(Intgl_dc+Gpd×(ΔIdc))に、Raパラメータ部350−3が出力する値Ra×Idc*を加算し、加算した値Intgl_dc+Gpd×(ΔIdc)+Ra×Idc*を加算部350−12に出力する。
【0113】
乗算部350−5は、電流指令部304aが出力するdc軸電流指令値Idc*に、速度計算部302が出力する角速度ωを乗じて、乗算した値ωIdc*をLdパラメータ部350−6に出力する。
Ldパラメータ部350−6には、予め所定値のd軸インダクタンスLdが記憶されている。なお、d軸インダクタンスLdは、モータ制御装置30の設計者が、予め算出して記憶させる。Ldパラメータ部350−6は、乗算部350−5が出力する値ωIdc*にd軸インダクタンスLdを乗じて、乗算した値ωLd×Idc*を加算部350−7に出力する。
加算部350−7は、加算部350−2が出力する値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*に、Ldパラメータ部350−6が出力する値ωLd×Idc*を加算し、加算した値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*+ωLd×Idc*を加算部350−9に出力する。
【0114】
φパラメータ部350−8には、予め所定値のモータ10における回転子の鎖交磁束Φaが記憶されている。なお、鎖交磁束Φaは、モータ制御装置30の設計者が、予め算出して記憶させる。φパラメータ部350−8は、速度計算部302が出力する角速度ωに、鎖交磁束Φaを乗じて、乗算した値ωΦaを加算部350−9に出力する。
加算部350−9は、加算部350−7が出力する値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*+ωLd×Idc*に、φパラメータ部350−8が出力する値ωΦaを加算し、加算した値Intgl_qc+Gpq×(ΔIqc)+Ra×Iqc*+ωLd×Idc*+ωΦaをqc軸電圧指令値Vqcとして出力する。
【0115】
乗算部350−10は、速度計算部302が出力する角速度ωに、電流指令部304aが出力するqc軸電流指令値Iqc*を乗じて、乗算した値ωIqc*をLqパラメータ部350−11に出力する。
Lqパラメータ部350−11には、予め所定値のq軸インダクタンスLqが記憶されている。なお、q軸インダクタンスLqは、モータ制御装置30の設計者が、予め算出して記憶させる。Lqパラメータ部350−11は、乗算部350−10が出力する値ωIqc*にq軸インダクタンスLqを乗じて、乗算した値ωLq×Iqc*を加算部350−12に出力する。
【0116】
加算部350−12は、加算部350−4が出力する値Intgl_dc+Gpd×(ΔIdc)+Ra×Idc*から、Lqパラメータ部350−11が出力する値ωIqc*×Lqを減算し、減算した値Intgl_dc+Gpd×(ΔIdc)+Ra×Idc*−ωLq×Iqc*をdc軸電圧指令値Vdcとして出力する。
【0117】
電圧測定部402aは、このように電流PI制御部307bが算出したdc軸電圧指令値Vdc及びqc軸電圧指令値Vqcから、比例制御分であるGpd×(ΔIdc)及びGpq×(ΔIqc)を除いた、次式(16)に示すdc軸電圧指令値Vdc’、次式(17)に示すqc軸電圧指令値Vqc’を取得し、取得したdc軸電圧指令値Vdc’及びqc軸指令値Vqc’を用いて、次式(18)によりオフセット誤差補正値Δθ’を算出する。なお、式(16)及び(17)において、各々第1項が積分値であり、各々第2項目以降が非干渉制御部350によるフィードフォワード成分である。
【0118】
Vdc’=Intgl_dc+Ra×Idc*−ωLq×Iqc* ・・・(16)
【0119】
Vqc’=Intgl_qc+Ra×Iqc*+ωLd×Idc*+ωΦa ・・・(17)
【0120】
【数11】
【0121】
なお、本実施形態においても、モータ10を絶対値が同じである速度指令値により正回転及び負回転させたときの、dc1軸電圧指令値Vdc1’、qc1軸電圧指令値Vqc1’、及びdc2軸電圧指令値Vdc2’、qc2軸電圧指令値Vqc2’を測定し、測定した値を式(12)に代入してオフセット誤差補正値を算出するようにしてもよい。
【0122】
以上のように、本実施形態によれば、電圧測定部402aは、d軸電圧指令値Vd及びq軸電圧指令値Vqの代わりに、電流PI制御部307b内部データである積分値と非干渉制御部350のフィードフォワード成分によるd軸電圧指令値Vd’及びq軸電圧指令値Vq’を取得するようにした。これらの積分値と非干渉制御部350のフィードフォワード成分は、d軸電圧指令及びq軸電圧指令に含まれるノイズや高調波成分の影響が少ない。この結果、このようにして取得したd軸電圧指令値Vd’及びq軸電圧指令値Vq’を用いてオフセット誤差補正値を算出することで、ノイズや高調波成分の影響を抑えることができる。そして、このように算出したオフセット誤差補正値を用いてモータ10の制御を行うことで、精度の良いモータ制御を行うことができる。
【0123】
また、オフセット誤差が大きい場合、モータ制御装置における制御系が不安定になる。このようにオフセット誤差が大きい場合は、レゾルバの組み付け不良や配線ミス等もある。このため、第1実施形態及び第2実施形態において、オフセット誤差が予め定められている値より大きい(例えば90度)か否かを公知の技術で検出して、このようなモータ及びレゾルバを事前に検出して除去するようにしてもよい。
【0124】
なお、本実施形態においては、モータ10を無負荷状態で定速回転させてオフセット誤差を算出して、算出したオフセット誤差補正値をレゾルバによる検出信号に加算してモータ制御を行う例を説明したが、これに限られない。モータ10を無負荷状態でなく、正負で逆の一定の負荷トルクがある状態で回転させることで、モータ制御システム1は、図5で説明した内部相差角δをキャンセルすることができる。
【0125】
なお、実施形態の図1、図4及び図11の各部の機能を実現するため、コンピュータシステムのCPUに接続されたROM、HDDも等に保存されているプログラムにより実行することも可能である。あるいは、PLD(プログラマブルロジックデバイス)やASIC(Application Specific Integrated Circuit)や回路でハードウェアにより実現することも可能である。
【符号の説明】
【0126】
1・・・モータ制御装置、10・・・モータ、20・・・レゾルバ、30,30a・・・モータ制御装置、40,40a・・・オフセット補正装置、60・・・制御対象、70・・・加算部、302・・・速度計算部、303・・・速度PI制御部、304・・・電流指令部、305・・・電流検出器、306・・・3相/2相変換部、307、307a・・・電流PI制御部、308・・・2相/3相変換部、309・・・デューティ計算部、310・・・電力変換部、401・・・制御部、402・・・電圧測定部、403・・・オフセット算出部、600・・・第1位相変換部、601・・・第2位相変換部、602・・・モータ電圧方程式部、603・・・トルク方程式部、604・・・(1/Js)、605・・・(1/s)
【特許請求の範囲】
【請求項1】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、
前記モータの速度制御を行う速度制御部と、
前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定部と、
前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出部と、
を備えることを特徴とするモータ制御装置。
【請求項2】
前記補正値算出部は、
前記算出した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、
前記速度制御部は、
前記生成された回転位置を示す値に基づき前記モータを制御する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記電圧指令値は、
d軸電圧指令値及びq軸電圧指令値であり、
前記電圧測定部は、
前記モータが速度指令値に基づいて回転しているとき、前記d軸電圧指令値及び前記q軸電圧指令値を測定し、
前記補正値算出部は、
前記モータが正回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて第1補正値を前記補正値として算出する
ことを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項4】
前記補正値算出部は、
前記モータが負回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて算出した第2補正値を前記補正値として算出する
ことを特徴とする請求項3に記載のモータ制御装置。
【請求項5】
前記速度制御部は、
前記モータの正回転における前記モータの回転速度と、前記モータの負回転における前記モータの回転速度の絶対値とが等しくなるように制御し、
前記補正値算出部は、
前記算出した第1補正値と第2補正値の平均を算出して前記補正値を算出する
ことを特徴とする請求項4に記載のモータ制御装置。
【請求項6】
前記補正値算出部は、
前記補正値、前記第1補正値、及び前記第2補正値は、下式を用いて算出する
【数1】
ことを特徴とする請求項4または請求項5に記載のモータ制御装置。
【請求項7】
前記速度制御部は、
前記電流指令値から前記電圧指令値を生成する非干渉制御部を有する電流比例積分制御部
を備え、
前記電圧測定部は、
前記電流比例積分制御部内で生成されたd軸電流偏差の積分成分と前記非干渉制御部で生成されたd軸電圧成分とに基づいて生成されたd軸電圧指令値Vd’、および前記電流比例積分制御部内で生成されたq軸電流偏差の積分成分と前記非干渉制御部で生成されたq軸電圧成分とに基づいて生成されたq軸電圧指令値Vq’を測定する
ことを特徴とする請求項3から請求項6のいずれか1項に記載のモータ制御装置。
【請求項8】
前記電圧測定部は、
下式で表される前記d軸電圧指令値Vd’を測定し、
【数2】
下式で表される前記q軸電圧指令値Vq’を測定する
【数3】
ことを特徴とする請求項7に記載のモータ制御装置。
【請求項9】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、
速度制御部が、前記モータの速度制御を行う速度制御手順と、
電圧測定部が、前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定手順と、
補正値算出部が、前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出手順と、
を含むことを特徴とするモータ制御方法。
【請求項1】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、
前記モータの速度制御を行う速度制御部と、
前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定部と、
前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出部と、
を備えることを特徴とするモータ制御装置。
【請求項2】
前記補正値算出部は、
前記算出した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、
前記速度制御部は、
前記生成された回転位置を示す値に基づき前記モータを制御する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記電圧指令値は、
d軸電圧指令値及びq軸電圧指令値であり、
前記電圧測定部は、
前記モータが速度指令値に基づいて回転しているとき、前記d軸電圧指令値及び前記q軸電圧指令値を測定し、
前記補正値算出部は、
前記モータが正回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて第1補正値を前記補正値として算出する
ことを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項4】
前記補正値算出部は、
前記モータが負回転しているときの前記測定された前記d軸電圧指令値と前記q軸電圧指令値との位相に基づいて算出した第2補正値を前記補正値として算出する
ことを特徴とする請求項3に記載のモータ制御装置。
【請求項5】
前記速度制御部は、
前記モータの正回転における前記モータの回転速度と、前記モータの負回転における前記モータの回転速度の絶対値とが等しくなるように制御し、
前記補正値算出部は、
前記算出した第1補正値と第2補正値の平均を算出して前記補正値を算出する
ことを特徴とする請求項4に記載のモータ制御装置。
【請求項6】
前記補正値算出部は、
前記補正値、前記第1補正値、及び前記第2補正値は、下式を用いて算出する
【数1】
ことを特徴とする請求項4または請求項5に記載のモータ制御装置。
【請求項7】
前記速度制御部は、
前記電流指令値から前記電圧指令値を生成する非干渉制御部を有する電流比例積分制御部
を備え、
前記電圧測定部は、
前記電流比例積分制御部内で生成されたd軸電流偏差の積分成分と前記非干渉制御部で生成されたd軸電圧成分とに基づいて生成されたd軸電圧指令値Vd’、および前記電流比例積分制御部内で生成されたq軸電流偏差の積分成分と前記非干渉制御部で生成されたq軸電圧成分とに基づいて生成されたq軸電圧指令値Vq’を測定する
ことを特徴とする請求項3から請求項6のいずれか1項に記載のモータ制御装置。
【請求項8】
前記電圧測定部は、
下式で表される前記d軸電圧指令値Vd’を測定し、
【数2】
下式で表される前記q軸電圧指令値Vq’を測定する
【数3】
ことを特徴とする請求項7に記載のモータ制御装置。
【請求項9】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、
速度制御部が、前記モータの速度制御を行う速度制御手順と、
電圧測定部が、前記モータが一定速度で回転しているときの前記速度制御部の出力に基づく前記電圧指令値を測定する電圧測定手順と、
補正値算出部が、前記測定された電圧指令値に基づき、前記モータの回転位置に対する補正値を算出する補正値算出手順と、
を含むことを特徴とするモータ制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−90546(P2013−90546A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−231883(P2011−231883)
【出願日】平成23年10月21日(2011.10.21)
【出願人】(000006208)三菱重工業株式会社 (10,378)
【Fターム(参考)】
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願日】平成23年10月21日(2011.10.21)
【出願人】(000006208)三菱重工業株式会社 (10,378)
【Fターム(参考)】
[ Back to top ]