モータ制御装置、モータ制御方法
【課題】モータを精度良く制御することを可能にするモータ制御装置、及びモータ制御方法を提供することを目的としている。
【解決手段】電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、モータが一定速度で回転されているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御部と、電流指令値と検出電流との偏差の積分値を生成する電流制御部と、生成された積分値を測定する積分値測定部と、を備え、補正制御部は、測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する。
【解決手段】電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、モータが一定速度で回転されているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御部と、電流指令値と検出電流との偏差の積分値を生成する電流制御部と、生成された積分値を測定する積分値測定部と、を備え、補正制御部は、測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する。
【発明の詳細な説明】
【技術分野】
【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(θ),KEcos(ω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(パルス幅変調)変換器においても、遅れが生じる。このため、特許文献1に記載の技術では、角度検出器とPWM変換器の出力の間に遅れが生じる場合がある。この結果、特許文献1に記載の技術では、これらの遅れ分がオフセット調整の精度に影響を与えるため、モータを精度良く制御できないという問題点があった。また、特許文献1に記載の技術では、オフセット調整量を、指令電圧値から算出しているが、指令電圧がノイズや高周波の影響を受けやすいため、モータを精度良く制御できないという問題点があった。
【0008】
また、特許文献2に記載の技術では、トルクを利用して補正しているので、モータ及びモータに接続されている負荷に摩擦があると、この摩擦がトルクに影響して補正値に誤差が生じ、モータを精度良く制御できないという問題点があった。
【0009】
本発明は、上記の問題点に鑑みてなされたものであって、モータを精度良く制御することを可能にするモータ制御装置、及びモータ制御方法を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明のモータ制御装置は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、前記モータが一定速度で回転されているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御部と、前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御部と、前記生成された積分値を測定する積分値測定部と、を備え、前記補正制御部は、前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整することを特徴としている。
【0011】
また、本発明のモータ制御装置において、前記補正制御部は、前記調整した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、前記電流制御部は、前記生成された回転位置を示す値を用いて、前記モータに流れる前記検出電流が前記電流指令値となるように制御するようにしてもよい。
【0012】
また、本発明のモータ制御装置において、前記補正制御部は、前記測定された積分値のうちd軸電流偏差の積分値と零との偏差を比例積分制御することで、前記測定された積分値のうちd軸電流偏差の積分値を零となるように制御するようにしてもよい。
【0013】
また、本発明のモータ制御装置において、前記電流制御部は、前記補正制御部が生成した調整用の補正値に基づき前記モータに流れる前記検出電流が前記電流指令値となるように制御し、前記積分値測定部は、前記生成された調整用の補正値のとき、各々の前記積分値を測定し、前記補正制御部は、少なくとも2つの調整用の補正値を生成し、前記積分値測定部が測定した調整用の補正値各々の前記積分値に基づき近似式を算出し、前記算出した算出式を用いて前記モータの回転位置に対する補正値を算出するようにしてもよい。
【0014】
また、本発明のモータ制御装置において、前記補正制御部は、前記モータが一定速度で回転させる回転数において、前記モータの回転位置に対する補正値を行う前に、dq座標系の進み角度補正を行うようにしてもよい。
【0015】
上記目的を達成するため、本発明は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、補正制御部が、前記モータが一定速度で回転しているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御手順と、電流制御部が、前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御手順と、積分値測定部が、前記生成された積分値を測定する積分値測定手順と、補正制御部が、前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する手順と、を含むことを特徴としている。
【発明の効果】
【0016】
本発明によれば、モータを一定速度で回転させているときの電流偏差の積分値を測定し、測定した電流偏差の積分値に基づいてモータの回転位置に対する補正値を調整し、調整した補正値を用いてモータの回転を制御するようにした。この結果、検出された回転位置にずれがあっても、モータを精度良く制御できる。
【図面の簡単な説明】
【0017】
【図1】第1実施形態に係るモータ制御装置を示す制御ブロック図である。
【図2】第1実施形態に係るレゾルバの概略構成を示す図である。
【図3】第1実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
【図4】第1実施形態に係る電流PI制御部のブロック図である。
【図5】第1実施形態に係るdq座標系及びdcqc座標における電流偏差の積分値による電圧ベクトル図である。
【図6】第1実施形態に係るオフセット値Δθ’を変化させたときの各電流偏差の積分値の変化を示す図である。
【図7】第1実施形態に係るオフセット補正値の調整手順のフローチャートである。
【図8】第1実施形態に係る実機を用いてオフセット補正値を変化させたときの各電流偏差の積分値及び各電圧を実測した結果の一例を説明する図である。
【図9】図8のオフセット補正角度−3degから+3degの範囲を拡大した図である。
【図10】第2実施形態に係るモータ制御装置を示す制御ブロック図である。
【図11】第2実施形態に係るオフセット補正値の調整手順のフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0019】
まず、モータ制御装置の概略動作について説明する。
モータ制御装置は、例えば産業車両や電気自動車、ハイブリッド自動車、電車、船舶、飛行機、発電システム等において、電池セルから電力の供給を受けてモータを制御する装置である。
電気モータを動力とする電気自動車や、内燃機関と電気モータを併用して動力とするハイブリッド自動車(以下、「電気自動車等」という)では、電力利用効率を高めるため、モータ制御装置が、3相の駆動電流を制御する際にパルス幅を変調させるパルス幅変調制御(PWM(Pulse Width Modulation)制御)を用いている。
電気自動車等では主に永久磁石同期モータが用いられ、そのモータには、回転に同期した3相電流が流される。その3相電流をPWM制御するために、キャリア信号と呼ばれる一定の周波数の電気パルスが用いられる。この場合、駆動電流は、キャリア信号のタイミングに合わせてパルス幅が変調された矩形波としてモータに供給され、モータのインダクタンスによって正弦波の3相電流となる。
そして、このようなモータ制御装置では、モータに流れる電流が、入力されたトルク指令のトルクになるようにフィードバックを用いたPI(Proportional Integral;比例積分)制御により制御している。また、PI制御では、モータへ供給するuvwの3相をd軸q軸の2軸座標へと座標変換し、d軸q軸の2相にて制御する。また、このようなモータ制御装置では、モータの回転角度を検出する角度検出装置であるレゾルバが組み付けられている。そして、電流のPI制御では、検出したモータの回転角度と、入力されたトルク指令に基づいて電流指令値を生成し、生成した電流の指令値と、モータに流れる電流の測定値とを合わせるように制御することで、モータを制御している。
【0020】
d軸q軸の2軸座標(以下、dq座標系という)は、回転座標系であり、回転子を構成する永久磁石が作る磁束の方向のd軸、d軸から位相が90度進んだq軸からなるdq座標系で表される。なお、dq座標系は回転しており、その回転速度が、角速度ωである。このdq座標系において、モータの電圧Vのd軸成分をVdで表し、q軸成分をVqで表す。また、dq座標系において、モータの電流Iのd軸成分をIdで表し、q軸成分をIqで表す。
【0021】
次に、本発明の概要を説明する。
モータ制御システムでは、レゾルバの組み付け精度による誤差や、レゾルバの製造による誤差、レゾルバによる検出信号の処理の遅れによる誤差などが生じる(以下、レゾルバによる誤差という)。このような誤差を補正するために、本発明のモータ制御システムでは、モータを、外部から一定速度で回転させる。
モータが一定回転して、d軸電流指令とq軸電流指令とが各々零に設定されている状態では、実動作におけるd軸電流とq軸電流はノイズなどしか流れず、q軸電圧のみが発生し、d軸電圧は零となる。しかしながら、レゾルバによる誤差が生じ、実動作における座標とモータ制御装置内の座標とでdq座標系の角度ずれが発生する。このように実動作とモータ制御装置内とでdq座標系の角度がずれている場合、モータ制御装置内では、見かけ上、励磁電圧ベクトルωΦaの位相がずれて、モータの電圧ベクトルの角度に影響が発生する。この結果、d軸電圧は零にならず、電圧ベクトルの角度に応じた電圧が発生する。
このような原理に基づき、本発明のモータ制御システムでは、モータを定速回転させているとき、d軸電流指令値と検出電流との偏差の積分値を測定する。そして、本発明のモータ制御システムでは、測定したd軸電流指令値と検出電流との偏差の積分値が0となるようにオフセット補正値を調整する。
【0022】
[第1実施形態]
第1実施形態では、モータを外部から定速回転させる。このようにモータが定速回転しているときに、本実施形態のモータ制御装置は、d軸電流偏差の積分値とq軸電流偏差の積分値を測定して、オフセット補正値を調整する。以下、第1実施形態について、詳細に説明する。
【0023】
図1は、本実施形態のモータ制御システムを示す制御ブロック図である。
図1に示すように、本実施形態に係るモータ制御システム1は、レゾルバ20、モータ制御装置30、及びオフセット補正装置40を備えている。
モータ制御装置30は、速度計算部302、電流指令部304、電流検出器305、3相/2相変換部306、電流PI制御部307(電流制御部)、2相/3相変換部308、デューティ計算部309、及び電力変換部310を備えている。
オフセット補正装置40は、積分値測定部401、表示部402、調整部403、補正制御部404、及び加算部405を備えている。
また、モータ制御装置30は、モータ10及びオフセット補正装置40と接続されている。駆動制御装置50は、駆動制御部501、及び駆動部502を備えている。また、モータ10には、駆動制御装置50が接続されている。
【0024】
モータ10は、3相モータであり、電力変換部310から出力される駆動電流により駆動される。モータ10には、レゾルバ20が組み付けられている。
【0025】
レゾルバ20は、モータ10に組み付けられている。レゾルバ20は、各瞬間におけるモータ10の回転角度(または回転位置)をサンプリング時刻毎に検出し(以下、検出した回転角度を検出角度という)、検出した検出角度をオフセット補正装置40の加算部405に出力する。なお、サンプリング周波数は、例えば、5[KHz]である。
【0026】
速度計算部302は、加算部405が出力する角度測定信号θ’から、モータ10の回転子の角速度ωを計算し、計算した角速度ωを電流PI制御部307に出力する。
【0027】
電流指令部304には、速度計算部302から出力される角速度ωと、外部からトルク指令値τ*とが入力される。電流指令部304は、このトルク指令値τ*と角速度ωから、d軸成分およびq軸成分を持つ2相の指令電流であるd軸の電流指令値Id*、及びq軸の電流指令値Iq*(以下、d軸電流指令値、q軸電流指令値という)を生成する。電流指令部304は、生成したd軸電流指令値Id*およびq軸電流指令値Iq*を、電流PI制御部307に出力する。
【0028】
電流検出器305は、モータ10に対する3相の電流Iu、Iv、Iwを検出し、検出した3相の電流Iu、Iv、Iwを3相/2相変換部306に出力する。
【0029】
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軸電流)とは、流れている電流のうち負荷のトルクに対応した成分である。
【0030】
電流PI制御部307には、電流指令部304が出力するd軸電流指令値Id*およびq軸電流指令値Iq*と、3相/2相変換部306が出力する検出電流IdおよびIqと、速度計算部302が出力する角速度ωとが入力される。電流PI制御部307は、制御変数である検出電流IdおよびIqが、d軸電流指令値Id*およびq軸電流指令値Iq*に応じた値になるように、モータ10に流れる電流Iu、IvおよびIwを制御する。また、電流PI制御部307は、後述するように、d軸電流指令値Id*、q軸電流指令値Iq*、角速度ω等を用いて非干渉制御を行う。
電流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に出力する。
【0031】
Vd*=Kp×ΔId+Ki×∫(ΔId)dt ・・・(1)
【0032】
Vq*=Kp×ΔIq+Ki×∫(ΔIq)dt ・・・(2)
【0033】
なお、式(1)、(2)において、係数Kp、Kiは、予め設定されている係数である。また、式(1)及び(2)において、非干渉制御部の項は除いて表している。
【0034】
2相/3相変換部308は、加算部405が出力する角度測定信号θ’を用いて、電流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に出力する。
【0035】
デューティ計算部309には、2相/3相変換部308が出力する3相の電圧指令値Vu、Vv、Vwが入力される。デューティ計算部309は、キャリア周波数fcによって定まるタイミングで、3相の電圧指令値Vu、Vv、Vwから、モータに与える駆動電流信号を表すデューティ信号Du、Dv、Dwを計算する。デューティ計算部309は、計算したデューティ信号Du、Dv、Dwを電力変換部310に出力する。
【0036】
電力変換部310には、デューティ信号Du、Dv、Dwから駆動電流を生成するためのスイッチングを行う例えばIGBT(Insulated Gate Bipolar Transistor)素子などの電力制御素子(パワー素子)が備えられている。電力変換部310は、デューティ計算部309が出力するデューティ信号Du、Dv、Dwに対応する3相の駆動電流を生成し、生成した3相の駆動電流をモータ10にそれぞれ供給する。
【0037】
オフセット補正装置40の積分値測定部401は、電流PI制御部307の内部データであるd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを測定する。積分値測定部401は、測定したd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを表示部402に出力する。なお、d軸電流偏差の積分値Intgl_dは、後述するように、d軸電流指令値Id*と検出されたd軸電流値Idとの偏差の積分値である。同様に、q軸電流偏差の積分値Intgl_qは、q軸電流指令値Iq*と検出されたq軸電流値Iqとの偏差の積分値である。
【0038】
表示部402は、積分値測定部401が出力するd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qの数値を表示する。あるいは、表示部402は、積分値測定部401が出力するd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qについて、予め定められている範囲毎に設けられているランプ等に表示するようにしてもよい。表示部402は、予め0と見なせる範囲を実測により設定しておき、この設定されている範囲にd軸電流偏差の積分値Intgl_dが入った場合、判定OKを示すランプを点灯するようにしてもよい。
【0039】
調整部403は、オフセット調整を行う利用者により調整され、調整された補正値を補正制御部404に出力する。具体的には、オフセット調整を行う利用者は、表示部402に表示されたd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qに基づき、例えばボリューム等により調整して、オフセット調整値を、補正制御部404を介して調整する。
【0040】
補正制御部404は、駆動制御装置50が出力する駆動状態を示す情報に基づき、モータ10が駆動制御装置50により、一定速度で回転されている状態であるか否かを判定する。補正制御部404は、モータ10が一定速度で回転されている状態であると判定した場合、モータ制御装置30をd軸電流指令値Id*、q軸電流指令値Iq*を各々0に固定して、サーボをオン状態になるように制御する。
補正制御部404は、調整部403が出力する補正値に基づきオフセット補正値を生成し、生成したオフセット補正値を加算部405に出力する。
なお、オフセット調整された後のオフセット補正値は、モータ制御装置30またはオフセット補正装置40の記憶部(不図示)に記憶させておいてもよい。
【0041】
加算部405は、レゾルバ20が出力する検出信号θに、補正制御部404が出力するオフセット補正値Δθを加算し、加算した信号を角度測定信号θ’として速度計算部302、3相/2相変換部306、及び2相/3相変換部308に出力する。
【0042】
駆動制御装置50の駆動制御部501は、駆動部502を一定速度で回転させる駆動信号を生成し、生成した駆動信号を駆動部502に出力する。例えば、モータ制御装置30が車両(非図示)に搭載されている場合、駆動制御部501は、オフセット調整時、車両に搭載されているエンジン(駆動部502)により一定速度で回転させ、アイドリング状態に制御する駆動信号を生成する。
駆動部502は、駆動制御部501が出力する駆動信号に応じて、モータ10を駆動する。例えば、モータ制御装置30が車両(非図示)に搭載されている場合、駆動部502は、車両に搭載されているエンジンである。
【0043】
図2は、本実施形態に係るレゾルバ20の概略構成を示す図である。
図2に示すように、レゾルバ20は、モータ10の貫通シャフトにマウントされ、ブラシレスモータのロータ磁界に合わせて調整されている。レゾルバ20は、レゾルバ・ロータ22、一次側コイル(ロータ)24、一次側コイル24と互いに90度離れたふたつの二次側コイル(ステータ)26とで構成されている。一次側に交流電圧を加えると二次側コイルにも電圧が発生する。二次側に出力される電圧の振幅は、θをロータ角度とするとsinθとcosθになる。
レゾルバ20は、これらの二次側コイル26の信号に基づき、モータ10の検出角度を算出する。この算出された検出角度は、モータ10の電気角の回転基準角度(0度)から1回転(360度)の間、電気自動車などでは慣性が大きく、サンプリングタイムに比べて加速度が無視されるので、単調に且つほぼ線形に増加する値となる。したがって、モータ10の複数の回転にわたる算出値は、例えば、のこぎりの歯状の波形となる。レゾルバ20は、この算出値によりモータ10の電気角の検出角度を検出できる。
【0044】
図3は、本実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
オフセット値Δθ’は、(オフセット補正値Δθ+実機のオフセット誤差)であり、dq座標系と制御系dcqc座標系との位相差を表す。
制御系dcqc座標系とは、モータ制御装置30a内のd軸をdc軸、q軸をqc軸に置き換えて表した座標系である。
図3に示すように、モータ制御装置30aは、制御系dcqc座標系において、電流指令部304a、電流PI制御部307aから構成されている。制御対象60aのモータ10とレゾルバ20を実座標のd軸q軸で表した部分は、第1位相変換部320、第2位相変換部321、モータ電圧方程式部322から構成される。
オフセット補正装置40aは、積分値測定部401a、表示部402a、調整部403、及び補正制御部404aから構成される。
図1と同じ動作部は、同じ符号を用いて説明を省略する。
【0045】
モータ制御装置30aの電流指令部304aには、外部から入力されるトルク指令値τ*が入力される。電流指令部304aは、このトルク指令値τ*から、dc軸電流指令値Idc*及びqc軸電流指令値Iqc*を生成する。電流指令部304aは、生成したdc軸電流指令値Idc*およびqc軸電流指令値Iqc*を、電流PI制御部307aに出力する。
【0046】
電流PI制御部307aは、入力されたd軸電流指令値Idc*およびq軸電流指令値Iqc*から、それぞれdc軸電流Idcおよびqc軸電流Iqcに基づき、dc軸電圧指令値Vdc、qc軸電圧指令値Vqcを算出する。
【0047】
制御対象60aの第1位相変換部320は、d軸q軸の電流からdc軸qc軸の電流への変換部である。第1位相変換部320は、オフセット値Δθ’分、座標変換され、d軸電流Id、q軸電流Iqから、各々dc軸電流Idc、qc軸電流Iqcに変換する。第1位相変換部320は、変換したdc軸電流Idc、qc軸電流Iqcを電流PI制御部307aに出力する。
なお、本実施形態では、オフセット調整時、d軸電流Id、q軸電流Iq、制御系座標のdc軸電流Idc、及び制御系座標のqc軸電流Iqcが0になるように制御されているため、オフセット調整時において第1位相変換部320は考慮しなくてよい。
【0048】
第2位相変換部321は、dc軸qc軸の電圧からd軸q軸の電圧への変換部である。第2位相変換部321は、オフセット値Δθ’分、座標変換され、dc軸電圧Vdc、qc軸電圧Vqcから、各々d軸電圧Vd、q軸電圧Vqに変換する。第2位相変換部321は、変換したd軸電圧Vd、q軸電圧Vqをモータ電圧方程式部322に出力する。
ここで、遅れ分ωΔtを省略すると、第2位相変換部321は、次式(3)のように表される。
【0049】
【数1】
【0050】
モータ電圧方程式部322には、第2位相変換部321が出力するd軸電圧Vd、q軸電圧Vqが入力される。
【0051】
モータ電圧方程式部322が有するモータ10の電圧方程式は、次式(4)のように表される(例えば、参考文献1 新中新二、永久磁石同期モータのベクトル制御技術 上巻、電波新聞社、2008年、p98参照)。
【0052】
【数2】
【0053】
式(4)において、ωは、角速度、Φaは、モータ10の鎖交磁束、ωΦaは、誘起電圧である。Ldは、d軸のインダクタンス、Lqは、q軸のインダクタンスである。Raは、モータ10の巻線1相あたりの抵抗である。
また、式(4)において、pは微分演算子である。このため、定常状態において、式(4)は、次式(5)のように表される。
【0054】
【数3】
【0055】
モータ電圧方程式部322は、式(4)または(5)を用いて、d軸電流Id及びq軸電流Iqを算出し、算出したd軸電流Id及びq軸電流Iqを第1位相変換部320に出力する。
【0056】
オフセット補正装置40aの積分値測定部401aは、電流PI制御部307aの内部データであるdc軸電流偏差の積分値Intgl_dc、及びqc軸電流偏差の積分値Intgl_qcを測定する。積分値測定部401aは、測定したdc軸電流偏差の積分値Intgl_dc、及びqc軸電流偏差の積分値Intgl_qcを表示部402aに出力する。
表示部402aは、積分値測定部401aが出力したdc軸電流偏差の積分値Intgl_dc、及びqc軸電流偏差の積分値Intgl_qcを表示する。
【0057】
補正制御部404aは、調整部403が出力する補正値に基づきオフセット補正値を生成し、生成したオフセット補正値を制御対象60aに出力する。
【0058】
次に、電流PI制御部307aの概略構成について、図4を用いて説明する。
図4は、本実施形態に係る電流PI制御部307aのブロック図である。
図4に示すように、電流PI制御部307aは、加算部340、344、345及び349、増幅部Gpd341、増幅部Gid342、積分器343及び348、増幅部Gpq346、増幅部Giq347、及び非干渉制御部350を備える。
また、非干渉制御部350は、Raパラメータ部350−1及び350−3、Ldパラメータ部350−6、Φaffパラメータ部350−8、Lqパラメータ部350−11、加算部350−2、350−4、350−7、350−9及び350−12、及び乗算部350−5及び350−10を備えている。
【0059】
加算部340は、電流指令部304aが出力するdc軸電流指令値Idc*から、第1位相変換部320が出力するdc軸電流Idcを減算して、偏差ΔIdcを算出する。加算部340は、算出した偏差ΔIdcを増幅部Gpd341及び増幅部Gid342に出力する。
増幅部Gpd341には、d軸電流制御比例ゲインが記憶されている。なお、d軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpd341は、加算部340が出力する偏差ΔIdcに、d軸電流制御比例ゲインを乗じて、乗算した値Gpd×ΔIdcを加算部344に出力する。
【0060】
増幅部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に出力する。
【0061】
加算部345は、電流指令部304aが出力するqc軸電流指令値Iqc*から、第1位相変換部320が出力するqc軸電流Iqcを減算して、偏差ΔIqcを算出する。加算部345は、算出した偏差ΔIqcを増幅部Gpq346及び増幅部Giq347に出力する。
増幅部Gpq346には、q軸電流制御比例ゲインが記憶されている。なお、q軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpq346は、加算部345が出力する偏差ΔIqcに、q軸電流制御比例ゲインを乗じて、乗算した値Gpq×ΔIqcを加算部349に出力する。
【0062】
増幅部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に出力する。
【0063】
次に、非干渉制御部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に出力する。
【0064】
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に出力する。
【0065】
乗算部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に出力する。
【0066】
Φaffパラメータ部350−8には、予め所定値のモータ10における回転子の鎖交磁束Φaffが記憶されている。なお、鎖交磁束Φaffは、モータ制御装置30の設計者が、予め算出して記憶させる。Φaffパラメータ部350−8は、速度計算部302が出力する角速度ωに、鎖交磁束Φaffを乗じて、乗算した値ωΦaffを加算部350−9に出力する。
加算部350−9は、加算部350−7が出力する値(Intgl_qc+Gpq×ΔIqc+Ra×Iqc*+ωLd×Idc*)に、Φaffパラメータ部350−8が出力する値ωΦaffを加算し、加算した値(Intgl_qc+Gpq×ΔIqc+Ra×Iqc*+ωLd×Idc*+ωΦaff)をqc軸電圧指令値Vqcとして出力する。
【0067】
乗算部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に出力する。
【0068】
加算部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として出力する。
【0069】
次に、本実施形態における電流偏差の積分値と電圧指令値との関係について、図3、図4を用いて説明する。
本実施形態において、オフセット調整時、後述するように、d軸電流Id、q軸電流Iq、dc軸電流Idc、qc軸電流Idcが0になるように、モータ制御装置30aにより制御される。
このため、式(5)より、d軸電圧Vd、q軸電圧Vqは、次式(6)のように表される。
【0070】
【数4】
【0071】
式(6)を式(3)に代入すると、次式(7)が求まる。
【0072】
【数5】
【0073】
式(7)より、dc軸電圧Vdc及びqc軸電圧Vqcは、次式(8)のように表される。
【0074】
【数6】
【0075】
次に、電流PI制御部307aにおいて、定常状態ではPI制御により電流偏差が0になるように制御されているため、増幅部Gpd341及び増幅部Gpq346に入力される電流偏差は0である。このため、制御系座標のdc軸電圧Vdcは、次式(9)のように表され、制御系座標のqc軸電圧Vqcは、次式(10)のように表される。
【0076】
Vdc=Intgl_dc+Ra×Idc*−ωLq×Iqc* ・・・(9)
【0077】
Vqc=Intgl_qc+Ra×Iqc*+ωLd×Idc*+ωΦaff ・・・(10)
【0078】
式(10)において、ωΦaffは、フィードフォワードされた誘起電圧を表している。
オフセット調整時、dc軸電流指令値Idc*及びqc軸電流指令値Iqc*が0でサーボをオン状態に制御されているため、式(9)及び(10)は、次式(11)及び次式(12)のように表される。
【0079】
Intgl_dc=Vdc ・・・(11)
【0080】
Intgl_qc=Vqc−ωΦaff ・・・(12)
【0081】
式(11)及び式(12)に式(8)を代入すると、式(11)及び式(12)は、次式(13)及び(14)のように表される。
【0082】
Intgl_dc=ωΦa×sin(Δθ’) ・・・(13)
【0083】
Intgl_qc=ωΦa×cos(Δθ’)−ωΦaff ・・・(14)
【0084】
式(13)及び(14)の関係は、図5のように表される。図5は、第1実施形態に係るdq座標系及びdcqc座標における電流偏差の積分値による電圧ベクトル図である。
図5に示す例では、レゾルバ20の組み付けによる誤差、製造による誤差、モータ制御装置30の遅れにより発生する誤差等が有る場合、制御系座標qc軸は、実座標q軸に対して角度Δθ’進んでいる状態を表している。
【0085】
図6は、オフセット値Δθ’を変化させたときの各電流偏差の積分値の変化を示す図である。図6において、横軸は角度を表し、縦軸は電流偏差の積分値の大きさを表している。曲線g101は、オフセット値Δθ’に対するdc軸電流の偏差の積分値Intgl_dcの変化を表し、曲線g102は、オフセット値Δθ’に対するqc軸電流の偏差の積分値Intgl_qcの変化を表している。
本実施形態では、利用者が調整部403によりオフセット補正値Δθを変化させ、制御系座標のdc軸電流偏差の積分値Intgl_dcが0になるように調整することで、オフセット調整を行う。
【0086】
次に、オフセット補正値Δθの調整手順について、図3、図4及び図7を用いて説明する。なお、以下のオフセット補正値Δθの調整は、モータ制御システム1が車両に搭載されている場合について説明する。また、以下のオフセット補正値Δθの調整は、dc軸電流偏差の積分値Intgl_dcを用いて調整する例について説明する。
図7は、本実施形態に係るオフセット補正値の調整手順のフローチャートである。
【0087】
(ステップS1)オフセット補正装置40aの補正制御部404aは、モータ10がステップS2で駆動される回転数で、2相/3相変換部308及び電力変換部310等による遅れの影響分の進み角について予め調整しておく。この理由は、d軸電圧指令値Vd及びq軸電圧指令値Vqから、d軸電圧Vd及びq軸電圧Vqまでに遅れ時間があると、各値の算出に誤差が生じることを防ぐためである。ステップS1終了後、ステップS2に進む
【0088】
(ステップS2)駆動制御装置50の駆動制御部501は、駆動部502を介してモータ10を、一定速度で回転させる。具体的には、駆動制御部501は、車両のエンジン(駆動部502)をアイドリング状態にして、モータ10を一定速度で回転させる。次に、駆動制御部501は、モータ10の駆動状態を示す情報を補正制御部404aに出力する。ステップS2終了後、ステップS3に進む。
【0089】
(ステップS3)補正制御部404aは、駆動制御部501が出力する駆動状態を示す情報が、モータ10が定速回転していることを示す情報である場合、d軸電流指令値Id*及びq軸電流指令値Iq*を各々0にして、モータ制御装置30aのサーボをオン状態に制御する。ステップS3終了後、ステップS4に進む。
【0090】
(ステップS4)積分値測定部401aは、dc軸電流偏差の積分値Intgl_dcを測定する。積分値測定部401は、測定したdc軸電流偏差の積分値Intgl_dcを表示部402aに出力する。ステップS4終了後、ステップS5に進む。
【0091】
(ステップS5)利用者は、表示部402aに表示されるdc軸電流偏差の積分値Intgl_dcに基づく値、もしくはランプ等の表示を見ながら、dc軸電流偏差の積分値Intgl_dcが0となるように調整部403により調整し、制御対象60aに出力する。
【0092】
(ステップS6)利用者は、dc軸電流偏差の積分値Intgl_dcが0になったか否かを判定する。dc軸電流偏差の積分値Intgl_dcが0になったと判定した場合(ステップS6;Yes)、ステップS7に進む。dc軸電流偏差の積分値Intgl_dcが0になっていないと判定した場合(ステップS6;No)、ステップS4に戻る。
【0093】
(ステップS7)補正制御部404aは、オフセット調整終了後のオフセット補正値Δθを固定する。
以上で、オフセット補正値の調整を終了する。
【0094】
次に、本実施形態のモータ制御システム1による実測結果について図8及び図9を用いて説明する。
図8は、本実施形態に係る実機を用いてオフセット補正値を変化させたときの各電流偏差の積分値及び各電圧を実測した結果の一例を説明する図である。図9は、図8のオフセット補正角度−3degから+3degの範囲を拡大した図である。
【0095】
≪実測方法≫
手順1 外部からモータを+500[rpm]で回転させ、d軸電流指令値、q軸電流指令値が各々0のときのモータ制御装置30bの内部データを複数回、測定する。測定したデータについて、各データの最大値、最小値、平均値を算出する。
手順2 オフセット補正値を−30[deg]に設定し、外部からモータを+500[rpm]で回転させ、d軸電流指令値、q軸電流指令値が各々0のときのモータ制御装置30bの内部データを、複数回、測定する。測定したデータについて、各データの最大値、最小値、平均値を算出する。
手順3 オフセット補正値を+30[deg]に設定し、外部からモータを+500[rpm]で回転させ、d軸電流指令値、q軸電流指令値が各々0のときのモータ制御装置30bの内部データを、複数回、測定する。測定したデータについて、各データの最大値、最小値、平均値を算出する。
【0096】
まず、オフセット補正値が初期状態(0)のときの実測結果を、図8(a)及び図9(a)を用いて説明する。
図8(a)及び図9(a)は、手順1〜3により測定したdc軸電流偏差の積分値Intgl_Idc及びqc軸電流偏差の積分値Intgl_Iqcの実測結果である。すなわち、図8(a)及び図9(a)は、オフセット補正値が−30[deg]、0[deg]、+30[deg]の各dc軸電流偏差の積分値Intgl_Idc及びqc軸電流偏差の積分値Intgl_Iqcの最大値、最小値、平均値の関係をグラフで示したものである。
【0097】
図8(a)及び図9(a)において、横軸はオフセット補正値を表し、縦軸はdc軸電流偏差の積分値及びqc軸電流偏差の積分値の大きさを表している。図8(a)において、曲線g201は、qc軸電流偏差の積分値Intgl_Iqc+ωΦaffの最大値を表し、曲線g202は、qc軸電流偏差の積分値Intgl_Iqc+ωΦaffの最小値を表し、曲線g203は、qc軸電流偏差の積分値Intgl_Iqc+ωΦaffの平均値を表している。
また、図8(a)及び図9(a)において、曲線g211は、dc軸電流偏差の積分値Intgl_Idcの最大値を表し、曲線g212は、dc軸電流偏差の積分値Intgl_Idcの最小値を表し、曲線g213は、dc軸電流偏差の積分値Intgl_Idcの平均値を表している。
【0098】
図9(a)に示すように、dc軸電流偏差の積分値Intgl_Idc=0のとき、オフセット補正値の平均値は約−1.7[deg]である。これは、実機のオフセットである+1.7[deg]をちょうど補正する値である。また、矢印g244で示したように、dc軸電流偏差の積分値Intgl_Idc=0のとき、オフセット補正値は、dc軸電流偏差の積分値Intgl_Idcの最大値と最小値との間で差が少ない、すなわち、ばらつきが少ない。dc軸電流偏差の積分値Intgl_Idcの最大値と最小値との間で、オフセット補正値の差が少ない理由は、電流PI制御部307aの積分器343の値のみを用いているため、ノイズや高調波の影響を受けず、オフセット補正値のばらつきが少ない。dc軸電圧Vdcに含まれるノイズや高調波は、零に制御している検出電流に重畳しており、特に、増幅器Gpd341は、検出電流のノイズや高調波を増幅する。一方、積分器343は、ノイズや高調波を減衰する。また、電流指令値を零にしているため、一定速度の定常状態では、ωφaff以外の非干渉制御や、増幅器Gpd341の比例制御の成分は、省略しても全く問題はない。
【0099】
次に、参考としてdc軸電圧Vdcの実測結果を、図8(b)及び図9(b)を用いて説明する。
図8(b)及び図9(b)は、手順1〜3のdc軸電圧Vdc及びqc軸電圧Vqcの実測結果である。すなわち、図8(b)及び図9(b)は、オフセット補正値が−30[deg]、0[deg]、+30[deg]の各dc軸電圧Vdc及びqc軸電圧Vqcの最大値、最小値、平均値の関係をグラフで示したものである。図8(b)及び図9(b)において、横軸はオフセット補正値を表し、縦軸はdc軸電圧及びqc軸電圧を表している。
また、図8(b)において、曲線g221は、qc軸電圧Vqcの最大値を表し、曲線g222は、qc軸電圧Vqcの最小値を表し、曲線g223は、qc軸電圧Vqcの平均値を表している。
また、図8(b)及び図9(b)において、曲線g231は、dc軸電圧Vdcの最大値を表し、曲線g232は、dc軸電圧Vdcの最小値を表し、曲線g233は、dc軸電圧Vdcの平均値を表している。
【0100】
図9(b)に示すように、dc軸電圧Vdc=0のとき、オフセット補正値の平均値は約−1.0[deg]である。この場合、実機のオフセットである+1.7[deg]の補正としては、+0.7[deg]の誤差が残る。しかも、矢印g254で示したように、dc軸電圧Vdc=0のとき、オフセット補正値は、dc軸電圧Vdcの最大値と最小値との間で差が大きい、すなわち、ばらつきが大きい。dc軸電圧Vdcの最大値と最小値との間で差が大きい理由は、dc軸電圧Vdcがノイズや高調波の影響を受けやすいため、オフセット補正値のばらつきが大きい。
【0101】
図8及び図9を用いて説明したように、本実施形態のモータ制御システムによれば、dc軸電流偏差の積分値を測定して、dc軸電流偏差の積分値を0にするように利用者が調整する。
この結果、dc軸電圧Vdcを0にするようにオフセット補正値を設定して補正する場合と比較し、ノイズや高調波の影響を抑えられるため、オフセット補正値のばらつきも抑えることが可能になり、オフセット誤差を高精度で抑えることができる。
【0102】
以上のように、本実施形態のモータ制御システム1では、モータ10が外部から一定速度で回転させられている場合、モータ制御装置30がd軸及びq軸の各電流指令値を0にしてPI制御し、モータ10のサーボをオン状態に制御する。このとき、オフセット補正装置40は、d軸電流偏差の積分値を測定し、利用者が測定されたd軸電流偏差の積分値を0にするようにオフセット補正値を調整するようにした。
この結果、ノイズや高調波の影響を受けにくいd軸電流偏差の積分値を測定して、オフセット調整を行うようにしたので、ノイズや高調波の影響を抑えられ、オフセット誤差を高精度で抑えることができる。
【0103】
なお、本実施形態において、利用者が、表示部402の表示を見ながら調整部403により調整する例を説明したが、これに限られない。補正制御部404は、モータ10が定速回転しているときに、オフセット補正値を、例えば−30[deg]〜+30[deg]の範囲で変化させる。そして、積分値測定部401は、このときのd軸電流偏差の積分値を測定し、補正制御部404が測定されたd軸電流偏差の積分値が0、あるいは予め定められている範囲内の値になるようにオフセット調整値の調整を行うようにしてもよい。
【0104】
なお、本実施形態において、オフセット補正装置40の積分値測定部401が、電流PI制御部307の内部データであるd軸電流偏差の積分値Intgl_dを測定する例を説明したがこれに限られない。積分値測定部401は、q軸電流偏差の積分値Intgl_qのみ、または、d軸電流偏差の積分値Intgl_dとq軸電流偏差の積分値Intgl_qの両方を測定するようにしてもよい。
この場合、積分値測定部401は、測定したq軸電流偏差の積分値Intgl_qのみ、または、d軸電流偏差の積分値Intgl_dとq軸電流偏差の積分値Intgl_qの両方を表示部402に出力する。そして。利用者は、表示部402に表示された値、もしくはランプの点灯状態等に基づき、調整部403により、q軸電流偏差の積分値Intgl_qが極大値になるように調整するようにしてもよい。
表示部402は、q軸電流偏差の積分値Intgl_qの値を表示するようにしてもよく、あるいは、予め極大値の範囲を測定して設定しておき、この設定されている範囲にq軸電流偏差の積分値Intgl_qが入った場合、判定OKを示すランプを点灯するようにしてもよい。
【0105】
[第2実施形態]
第2実施形態では、オフセット補正値を自動調整により調整する方法の一例について説明する。
図10は、本実施形態に係るモータ制御システム1aを示す制御ブロック図である。
第1実施形態におけるモータ制御システム1と同じ機能を有する機能部は、同じ符号を用いて説明を省略する。
【0106】
モータ制御システム1との差異は、オフセット補正装置40bである。図10に示すように、オフセット補正装置40bは、積分値測定部401b、補正制御部404b、及び加算部405bを備えている。
【0107】
積分値測定部401bは、電流PI制御部307の内部データであるd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを測定する。積分値測定部401bは、測定したd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを補正制御部404bに出力する。
【0108】
補正制御部404bは、駆動制御装置50が出力する駆動状態を示す情報に基づき、モータ10が駆動制御装置50により、一定速度で回転されている状態であるか否かを判定する。補正制御部404は、モータ10が一定速度で回転されている状態であると判定した場合、モータ制御装置30をd軸電流指令値Id、q軸電流指令値Iqを各々0に固定して、サーボをオン状態になるように制御する。
また、補正制御部404bは、積分値測定部401bが出力するd軸電流偏差の積分値Intgl_dと0との偏差をPI制御により、d軸電流偏差の積分値Intgl_dを0にするようにオフセット補正値を制御する。補正制御部404bは、例えば、d軸電流偏差の積分値Intgl_dが正の場合、オフセット補正値を減算し、d軸電流偏差の積分値Intgl_dが負の場合、オフセット補正値を加算することを繰り返してオフセット補正値を収束させるように制御する。
【0109】
次に、オフセット補正値Δθの調整手順について、図10及び図11を用いて説明する。なお、以下のオフセット補正値Δθの調整は、モータ制御システム1aが車両に搭載されている場合について説明する。また、以下のオフセット補正値Δθの調整は、d軸電流偏差の積分値Intgl_dを用いて調整する例について説明する。
図11は、本実施形態に係るオフセット補正値の調整手順のフローチャートである。
【0110】
(ステップS101〜ステップS103)ステップS101〜ステップS103については、第1実施形態のステップS1〜ステップS3(図7)と同様に行う。
【0111】
(ステップS104)積分値測定部401bは、d軸電流偏差の積分値Intgl_dを測定する。積分値測定部401は、測定したd軸電流偏差の積分値Intgl_dを補正制御部404bに出力する。ステップS104終了後、ステップS105に進む。
【0112】
(ステップS105)補正制御部404bは、積分値測定部401bが出力するd軸電流偏差の積分値Intgl_dと0との偏差をPI制御により、オフセット補正値Δθを制御対象60aに出力し、d軸電流偏差の積分値Intgl_dが0となるように制御する。
【0113】
(ステップS106)補正制御部404bは、d軸電流偏差の積分値Intgl_dの絶対値が予め定められている閾値以下になったか否かを判定する。d軸電流偏差の積分値Intgl_dの絶対値が予め定められている閾値以下になったと判定した場合、すなわちd軸電流偏差の積分値Intgl_dが収束した場合(ステップS106;Yes)、ステップS107に進む。d軸電流偏差の積分値Intgl_dの絶対値が予め定められている閾値以下になっていないと判定した場合(ステップS106;No)、ステップS104に戻る。
【0114】
(ステップS107)補正制御部404bは、オフセット調整終了後のオフセット補正値Δθを固定する。
以上で、オフセット補正値の調整を終了する。
【0115】
以上のように、本実施形態のモータ制御システム1aでは、モータ10が外部から一定速度で回転させられている場合、モータ制御装置30がd軸及びq軸の各電流指令値を0にしてPI制御し、モータ10のサーボをオン状態に制御する。このとき、オフセット補正装置40bは、d軸電流偏差の積分値を測定し、測定したd軸電流偏差の積分値を0にするようにオフセット補正値を調整するようにした。
この結果、第1実施形態の効果に加え、オフセット補正値の調整を精度良く自動的におこなうことができる。
【0116】
[第3実施形態]
第2実施形態では、d軸電流偏差の積分値をPI制御により0にするようにオフセット補正値を調整する例を説明したが、第3実施形態では、他の調整方法について説明する。
【0117】
第3実施形態では、オフセット補正装置40bは、少なくとも2つ以上のオフセット補正値を設定し、設定したオフセット補正値のときの各d軸電流偏差の積分値を測定する。
補正制御部404bは、測定されたd軸電流偏差の積分値を補間して、近似式を算出する。例えば、図8において、曲線g211を直線近似すると、y=1.0833x+1.75になる。なお、xはオフセット補正値、xはd軸電流偏差の積分値である。
次に、補正制御部404bは、算出した近似式を用いてd軸電流偏差の積分値が0になるオフセット補正値を算出する。
【0118】
以上のように、本実施形態のモータ制御システムによれば、設定した2つ以上のオフセット補正値のときのd軸電流偏差の積分値を用いて近似式を算出し、算出した近似式を用いてオフセット補正値を算出するようにした。
この結果、本実施形態のモータ制御システムは、少ない調整回数でオフセット補正値を行うことができる。
【0119】
なお、第3実施形態においても、オフセット補正装置40bは、q軸電流偏差の積分値を測定して、測定した値を用いて調整するようにしてもよい。この場合、例えば、補正制御部404bは、設定した2つ以上のオフセット補正値のときのq軸電流偏差の積分値を用いて2次の近似式を算出し、算出した近似式から極大値となるオフセット補正値を算出するようにしてもよい。
【0120】
なお、第1〜第3実施形態において、オフセット誤差が大きい場合、モータ制御装置における制御系が不安定になる。このようにオフセット誤差が大きい場合は、レゾルバの組み付け不良や配線ミス等もある。このため、第1〜第3実施形態において、オフセット誤差が予め定められている値より大きい(例えば90度)か否かを公知の技術で検出して、このようなモータ及びレゾルバを事前に検出して除去するようにしてもよい。
【0121】
なお、実施形態の図1、図4、及び図10の各部の機能を実現するため、コンピュータシステムのCPUに接続されたROM、HDDも等に保存されているプログラムにより実行することも可能である。あるいは、PLD(プログラマブルロジックデバイス)やASIC(Application Specific Integrated Circuit)や回路でハードウェアにより実現することも可能である。
【符号の説明】
【0122】
1、1a・・・モータ制御システム、10・・・モータ、20・・・レゾルバ、30、30a・・・モータ制御装置、40、40a、40b・・・オフセット補正装置、50・・・駆動制御装置、302・・・速度計算部、304、304a・・・電流指令部、305・・・電流検出器、306・・・3相/2相変換部、307、307a・・・電流PI制御部、308・・・2相/3相変換部、309・・・デューティ計算部、310・・・電力変換部、320・・・第1位相変換部、321・・・第2位相変換部、322・・・モータ電圧方程式部、323・・・加算部、343、348・・・積分器、401、401a、401b・・・積分値測定部、402、402a・・・表示部、403・・・調整部、404、404a、404b・・・補正制御部、405、405a、405b・・・加算部、501・・・駆動制御部、502・・・駆動部
【技術分野】
【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(θ),KEcos(ω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(パルス幅変調)変換器においても、遅れが生じる。このため、特許文献1に記載の技術では、角度検出器とPWM変換器の出力の間に遅れが生じる場合がある。この結果、特許文献1に記載の技術では、これらの遅れ分がオフセット調整の精度に影響を与えるため、モータを精度良く制御できないという問題点があった。また、特許文献1に記載の技術では、オフセット調整量を、指令電圧値から算出しているが、指令電圧がノイズや高周波の影響を受けやすいため、モータを精度良く制御できないという問題点があった。
【0008】
また、特許文献2に記載の技術では、トルクを利用して補正しているので、モータ及びモータに接続されている負荷に摩擦があると、この摩擦がトルクに影響して補正値に誤差が生じ、モータを精度良く制御できないという問題点があった。
【0009】
本発明は、上記の問題点に鑑みてなされたものであって、モータを精度良く制御することを可能にするモータ制御装置、及びモータ制御方法を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明のモータ制御装置は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、前記モータが一定速度で回転されているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御部と、前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御部と、前記生成された積分値を測定する積分値測定部と、を備え、前記補正制御部は、前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整することを特徴としている。
【0011】
また、本発明のモータ制御装置において、前記補正制御部は、前記調整した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、前記電流制御部は、前記生成された回転位置を示す値を用いて、前記モータに流れる前記検出電流が前記電流指令値となるように制御するようにしてもよい。
【0012】
また、本発明のモータ制御装置において、前記補正制御部は、前記測定された積分値のうちd軸電流偏差の積分値と零との偏差を比例積分制御することで、前記測定された積分値のうちd軸電流偏差の積分値を零となるように制御するようにしてもよい。
【0013】
また、本発明のモータ制御装置において、前記電流制御部は、前記補正制御部が生成した調整用の補正値に基づき前記モータに流れる前記検出電流が前記電流指令値となるように制御し、前記積分値測定部は、前記生成された調整用の補正値のとき、各々の前記積分値を測定し、前記補正制御部は、少なくとも2つの調整用の補正値を生成し、前記積分値測定部が測定した調整用の補正値各々の前記積分値に基づき近似式を算出し、前記算出した算出式を用いて前記モータの回転位置に対する補正値を算出するようにしてもよい。
【0014】
また、本発明のモータ制御装置において、前記補正制御部は、前記モータが一定速度で回転させる回転数において、前記モータの回転位置に対する補正値を行う前に、dq座標系の進み角度補正を行うようにしてもよい。
【0015】
上記目的を達成するため、本発明は、電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、補正制御部が、前記モータが一定速度で回転しているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御手順と、電流制御部が、前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御手順と、積分値測定部が、前記生成された積分値を測定する積分値測定手順と、補正制御部が、前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する手順と、を含むことを特徴としている。
【発明の効果】
【0016】
本発明によれば、モータを一定速度で回転させているときの電流偏差の積分値を測定し、測定した電流偏差の積分値に基づいてモータの回転位置に対する補正値を調整し、調整した補正値を用いてモータの回転を制御するようにした。この結果、検出された回転位置にずれがあっても、モータを精度良く制御できる。
【図面の簡単な説明】
【0017】
【図1】第1実施形態に係るモータ制御装置を示す制御ブロック図である。
【図2】第1実施形態に係るレゾルバの概略構成を示す図である。
【図3】第1実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
【図4】第1実施形態に係る電流PI制御部のブロック図である。
【図5】第1実施形態に係るdq座標系及びdcqc座標における電流偏差の積分値による電圧ベクトル図である。
【図6】第1実施形態に係るオフセット値Δθ’を変化させたときの各電流偏差の積分値の変化を示す図である。
【図7】第1実施形態に係るオフセット補正値の調整手順のフローチャートである。
【図8】第1実施形態に係る実機を用いてオフセット補正値を変化させたときの各電流偏差の積分値及び各電圧を実測した結果の一例を説明する図である。
【図9】図8のオフセット補正角度−3degから+3degの範囲を拡大した図である。
【図10】第2実施形態に係るモータ制御装置を示す制御ブロック図である。
【図11】第2実施形態に係るオフセット補正値の調整手順のフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を用いて本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【0019】
まず、モータ制御装置の概略動作について説明する。
モータ制御装置は、例えば産業車両や電気自動車、ハイブリッド自動車、電車、船舶、飛行機、発電システム等において、電池セルから電力の供給を受けてモータを制御する装置である。
電気モータを動力とする電気自動車や、内燃機関と電気モータを併用して動力とするハイブリッド自動車(以下、「電気自動車等」という)では、電力利用効率を高めるため、モータ制御装置が、3相の駆動電流を制御する際にパルス幅を変調させるパルス幅変調制御(PWM(Pulse Width Modulation)制御)を用いている。
電気自動車等では主に永久磁石同期モータが用いられ、そのモータには、回転に同期した3相電流が流される。その3相電流をPWM制御するために、キャリア信号と呼ばれる一定の周波数の電気パルスが用いられる。この場合、駆動電流は、キャリア信号のタイミングに合わせてパルス幅が変調された矩形波としてモータに供給され、モータのインダクタンスによって正弦波の3相電流となる。
そして、このようなモータ制御装置では、モータに流れる電流が、入力されたトルク指令のトルクになるようにフィードバックを用いたPI(Proportional Integral;比例積分)制御により制御している。また、PI制御では、モータへ供給するuvwの3相をd軸q軸の2軸座標へと座標変換し、d軸q軸の2相にて制御する。また、このようなモータ制御装置では、モータの回転角度を検出する角度検出装置であるレゾルバが組み付けられている。そして、電流のPI制御では、検出したモータの回転角度と、入力されたトルク指令に基づいて電流指令値を生成し、生成した電流の指令値と、モータに流れる電流の測定値とを合わせるように制御することで、モータを制御している。
【0020】
d軸q軸の2軸座標(以下、dq座標系という)は、回転座標系であり、回転子を構成する永久磁石が作る磁束の方向のd軸、d軸から位相が90度進んだq軸からなるdq座標系で表される。なお、dq座標系は回転しており、その回転速度が、角速度ωである。このdq座標系において、モータの電圧Vのd軸成分をVdで表し、q軸成分をVqで表す。また、dq座標系において、モータの電流Iのd軸成分をIdで表し、q軸成分をIqで表す。
【0021】
次に、本発明の概要を説明する。
モータ制御システムでは、レゾルバの組み付け精度による誤差や、レゾルバの製造による誤差、レゾルバによる検出信号の処理の遅れによる誤差などが生じる(以下、レゾルバによる誤差という)。このような誤差を補正するために、本発明のモータ制御システムでは、モータを、外部から一定速度で回転させる。
モータが一定回転して、d軸電流指令とq軸電流指令とが各々零に設定されている状態では、実動作におけるd軸電流とq軸電流はノイズなどしか流れず、q軸電圧のみが発生し、d軸電圧は零となる。しかしながら、レゾルバによる誤差が生じ、実動作における座標とモータ制御装置内の座標とでdq座標系の角度ずれが発生する。このように実動作とモータ制御装置内とでdq座標系の角度がずれている場合、モータ制御装置内では、見かけ上、励磁電圧ベクトルωΦaの位相がずれて、モータの電圧ベクトルの角度に影響が発生する。この結果、d軸電圧は零にならず、電圧ベクトルの角度に応じた電圧が発生する。
このような原理に基づき、本発明のモータ制御システムでは、モータを定速回転させているとき、d軸電流指令値と検出電流との偏差の積分値を測定する。そして、本発明のモータ制御システムでは、測定したd軸電流指令値と検出電流との偏差の積分値が0となるようにオフセット補正値を調整する。
【0022】
[第1実施形態]
第1実施形態では、モータを外部から定速回転させる。このようにモータが定速回転しているときに、本実施形態のモータ制御装置は、d軸電流偏差の積分値とq軸電流偏差の積分値を測定して、オフセット補正値を調整する。以下、第1実施形態について、詳細に説明する。
【0023】
図1は、本実施形態のモータ制御システムを示す制御ブロック図である。
図1に示すように、本実施形態に係るモータ制御システム1は、レゾルバ20、モータ制御装置30、及びオフセット補正装置40を備えている。
モータ制御装置30は、速度計算部302、電流指令部304、電流検出器305、3相/2相変換部306、電流PI制御部307(電流制御部)、2相/3相変換部308、デューティ計算部309、及び電力変換部310を備えている。
オフセット補正装置40は、積分値測定部401、表示部402、調整部403、補正制御部404、及び加算部405を備えている。
また、モータ制御装置30は、モータ10及びオフセット補正装置40と接続されている。駆動制御装置50は、駆動制御部501、及び駆動部502を備えている。また、モータ10には、駆動制御装置50が接続されている。
【0024】
モータ10は、3相モータであり、電力変換部310から出力される駆動電流により駆動される。モータ10には、レゾルバ20が組み付けられている。
【0025】
レゾルバ20は、モータ10に組み付けられている。レゾルバ20は、各瞬間におけるモータ10の回転角度(または回転位置)をサンプリング時刻毎に検出し(以下、検出した回転角度を検出角度という)、検出した検出角度をオフセット補正装置40の加算部405に出力する。なお、サンプリング周波数は、例えば、5[KHz]である。
【0026】
速度計算部302は、加算部405が出力する角度測定信号θ’から、モータ10の回転子の角速度ωを計算し、計算した角速度ωを電流PI制御部307に出力する。
【0027】
電流指令部304には、速度計算部302から出力される角速度ωと、外部からトルク指令値τ*とが入力される。電流指令部304は、このトルク指令値τ*と角速度ωから、d軸成分およびq軸成分を持つ2相の指令電流であるd軸の電流指令値Id*、及びq軸の電流指令値Iq*(以下、d軸電流指令値、q軸電流指令値という)を生成する。電流指令部304は、生成したd軸電流指令値Id*およびq軸電流指令値Iq*を、電流PI制御部307に出力する。
【0028】
電流検出器305は、モータ10に対する3相の電流Iu、Iv、Iwを検出し、検出した3相の電流Iu、Iv、Iwを3相/2相変換部306に出力する。
【0029】
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軸電流)とは、流れている電流のうち負荷のトルクに対応した成分である。
【0030】
電流PI制御部307には、電流指令部304が出力するd軸電流指令値Id*およびq軸電流指令値Iq*と、3相/2相変換部306が出力する検出電流IdおよびIqと、速度計算部302が出力する角速度ωとが入力される。電流PI制御部307は、制御変数である検出電流IdおよびIqが、d軸電流指令値Id*およびq軸電流指令値Iq*に応じた値になるように、モータ10に流れる電流Iu、IvおよびIwを制御する。また、電流PI制御部307は、後述するように、d軸電流指令値Id*、q軸電流指令値Iq*、角速度ω等を用いて非干渉制御を行う。
電流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に出力する。
【0031】
Vd*=Kp×ΔId+Ki×∫(ΔId)dt ・・・(1)
【0032】
Vq*=Kp×ΔIq+Ki×∫(ΔIq)dt ・・・(2)
【0033】
なお、式(1)、(2)において、係数Kp、Kiは、予め設定されている係数である。また、式(1)及び(2)において、非干渉制御部の項は除いて表している。
【0034】
2相/3相変換部308は、加算部405が出力する角度測定信号θ’を用いて、電流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に出力する。
【0035】
デューティ計算部309には、2相/3相変換部308が出力する3相の電圧指令値Vu、Vv、Vwが入力される。デューティ計算部309は、キャリア周波数fcによって定まるタイミングで、3相の電圧指令値Vu、Vv、Vwから、モータに与える駆動電流信号を表すデューティ信号Du、Dv、Dwを計算する。デューティ計算部309は、計算したデューティ信号Du、Dv、Dwを電力変換部310に出力する。
【0036】
電力変換部310には、デューティ信号Du、Dv、Dwから駆動電流を生成するためのスイッチングを行う例えばIGBT(Insulated Gate Bipolar Transistor)素子などの電力制御素子(パワー素子)が備えられている。電力変換部310は、デューティ計算部309が出力するデューティ信号Du、Dv、Dwに対応する3相の駆動電流を生成し、生成した3相の駆動電流をモータ10にそれぞれ供給する。
【0037】
オフセット補正装置40の積分値測定部401は、電流PI制御部307の内部データであるd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを測定する。積分値測定部401は、測定したd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを表示部402に出力する。なお、d軸電流偏差の積分値Intgl_dは、後述するように、d軸電流指令値Id*と検出されたd軸電流値Idとの偏差の積分値である。同様に、q軸電流偏差の積分値Intgl_qは、q軸電流指令値Iq*と検出されたq軸電流値Iqとの偏差の積分値である。
【0038】
表示部402は、積分値測定部401が出力するd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qの数値を表示する。あるいは、表示部402は、積分値測定部401が出力するd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qについて、予め定められている範囲毎に設けられているランプ等に表示するようにしてもよい。表示部402は、予め0と見なせる範囲を実測により設定しておき、この設定されている範囲にd軸電流偏差の積分値Intgl_dが入った場合、判定OKを示すランプを点灯するようにしてもよい。
【0039】
調整部403は、オフセット調整を行う利用者により調整され、調整された補正値を補正制御部404に出力する。具体的には、オフセット調整を行う利用者は、表示部402に表示されたd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qに基づき、例えばボリューム等により調整して、オフセット調整値を、補正制御部404を介して調整する。
【0040】
補正制御部404は、駆動制御装置50が出力する駆動状態を示す情報に基づき、モータ10が駆動制御装置50により、一定速度で回転されている状態であるか否かを判定する。補正制御部404は、モータ10が一定速度で回転されている状態であると判定した場合、モータ制御装置30をd軸電流指令値Id*、q軸電流指令値Iq*を各々0に固定して、サーボをオン状態になるように制御する。
補正制御部404は、調整部403が出力する補正値に基づきオフセット補正値を生成し、生成したオフセット補正値を加算部405に出力する。
なお、オフセット調整された後のオフセット補正値は、モータ制御装置30またはオフセット補正装置40の記憶部(不図示)に記憶させておいてもよい。
【0041】
加算部405は、レゾルバ20が出力する検出信号θに、補正制御部404が出力するオフセット補正値Δθを加算し、加算した信号を角度測定信号θ’として速度計算部302、3相/2相変換部306、及び2相/3相変換部308に出力する。
【0042】
駆動制御装置50の駆動制御部501は、駆動部502を一定速度で回転させる駆動信号を生成し、生成した駆動信号を駆動部502に出力する。例えば、モータ制御装置30が車両(非図示)に搭載されている場合、駆動制御部501は、オフセット調整時、車両に搭載されているエンジン(駆動部502)により一定速度で回転させ、アイドリング状態に制御する駆動信号を生成する。
駆動部502は、駆動制御部501が出力する駆動信号に応じて、モータ10を駆動する。例えば、モータ制御装置30が車両(非図示)に搭載されている場合、駆動部502は、車両に搭載されているエンジンである。
【0043】
図2は、本実施形態に係るレゾルバ20の概略構成を示す図である。
図2に示すように、レゾルバ20は、モータ10の貫通シャフトにマウントされ、ブラシレスモータのロータ磁界に合わせて調整されている。レゾルバ20は、レゾルバ・ロータ22、一次側コイル(ロータ)24、一次側コイル24と互いに90度離れたふたつの二次側コイル(ステータ)26とで構成されている。一次側に交流電圧を加えると二次側コイルにも電圧が発生する。二次側に出力される電圧の振幅は、θをロータ角度とするとsinθとcosθになる。
レゾルバ20は、これらの二次側コイル26の信号に基づき、モータ10の検出角度を算出する。この算出された検出角度は、モータ10の電気角の回転基準角度(0度)から1回転(360度)の間、電気自動車などでは慣性が大きく、サンプリングタイムに比べて加速度が無視されるので、単調に且つほぼ線形に増加する値となる。したがって、モータ10の複数の回転にわたる算出値は、例えば、のこぎりの歯状の波形となる。レゾルバ20は、この算出値によりモータ10の電気角の検出角度を検出できる。
【0044】
図3は、本実施形態に係るdq座標系と制御系dcqc座標系とによる制御ブロック図である。
オフセット値Δθ’は、(オフセット補正値Δθ+実機のオフセット誤差)であり、dq座標系と制御系dcqc座標系との位相差を表す。
制御系dcqc座標系とは、モータ制御装置30a内のd軸をdc軸、q軸をqc軸に置き換えて表した座標系である。
図3に示すように、モータ制御装置30aは、制御系dcqc座標系において、電流指令部304a、電流PI制御部307aから構成されている。制御対象60aのモータ10とレゾルバ20を実座標のd軸q軸で表した部分は、第1位相変換部320、第2位相変換部321、モータ電圧方程式部322から構成される。
オフセット補正装置40aは、積分値測定部401a、表示部402a、調整部403、及び補正制御部404aから構成される。
図1と同じ動作部は、同じ符号を用いて説明を省略する。
【0045】
モータ制御装置30aの電流指令部304aには、外部から入力されるトルク指令値τ*が入力される。電流指令部304aは、このトルク指令値τ*から、dc軸電流指令値Idc*及びqc軸電流指令値Iqc*を生成する。電流指令部304aは、生成したdc軸電流指令値Idc*およびqc軸電流指令値Iqc*を、電流PI制御部307aに出力する。
【0046】
電流PI制御部307aは、入力されたd軸電流指令値Idc*およびq軸電流指令値Iqc*から、それぞれdc軸電流Idcおよびqc軸電流Iqcに基づき、dc軸電圧指令値Vdc、qc軸電圧指令値Vqcを算出する。
【0047】
制御対象60aの第1位相変換部320は、d軸q軸の電流からdc軸qc軸の電流への変換部である。第1位相変換部320は、オフセット値Δθ’分、座標変換され、d軸電流Id、q軸電流Iqから、各々dc軸電流Idc、qc軸電流Iqcに変換する。第1位相変換部320は、変換したdc軸電流Idc、qc軸電流Iqcを電流PI制御部307aに出力する。
なお、本実施形態では、オフセット調整時、d軸電流Id、q軸電流Iq、制御系座標のdc軸電流Idc、及び制御系座標のqc軸電流Iqcが0になるように制御されているため、オフセット調整時において第1位相変換部320は考慮しなくてよい。
【0048】
第2位相変換部321は、dc軸qc軸の電圧からd軸q軸の電圧への変換部である。第2位相変換部321は、オフセット値Δθ’分、座標変換され、dc軸電圧Vdc、qc軸電圧Vqcから、各々d軸電圧Vd、q軸電圧Vqに変換する。第2位相変換部321は、変換したd軸電圧Vd、q軸電圧Vqをモータ電圧方程式部322に出力する。
ここで、遅れ分ωΔtを省略すると、第2位相変換部321は、次式(3)のように表される。
【0049】
【数1】
【0050】
モータ電圧方程式部322には、第2位相変換部321が出力するd軸電圧Vd、q軸電圧Vqが入力される。
【0051】
モータ電圧方程式部322が有するモータ10の電圧方程式は、次式(4)のように表される(例えば、参考文献1 新中新二、永久磁石同期モータのベクトル制御技術 上巻、電波新聞社、2008年、p98参照)。
【0052】
【数2】
【0053】
式(4)において、ωは、角速度、Φaは、モータ10の鎖交磁束、ωΦaは、誘起電圧である。Ldは、d軸のインダクタンス、Lqは、q軸のインダクタンスである。Raは、モータ10の巻線1相あたりの抵抗である。
また、式(4)において、pは微分演算子である。このため、定常状態において、式(4)は、次式(5)のように表される。
【0054】
【数3】
【0055】
モータ電圧方程式部322は、式(4)または(5)を用いて、d軸電流Id及びq軸電流Iqを算出し、算出したd軸電流Id及びq軸電流Iqを第1位相変換部320に出力する。
【0056】
オフセット補正装置40aの積分値測定部401aは、電流PI制御部307aの内部データであるdc軸電流偏差の積分値Intgl_dc、及びqc軸電流偏差の積分値Intgl_qcを測定する。積分値測定部401aは、測定したdc軸電流偏差の積分値Intgl_dc、及びqc軸電流偏差の積分値Intgl_qcを表示部402aに出力する。
表示部402aは、積分値測定部401aが出力したdc軸電流偏差の積分値Intgl_dc、及びqc軸電流偏差の積分値Intgl_qcを表示する。
【0057】
補正制御部404aは、調整部403が出力する補正値に基づきオフセット補正値を生成し、生成したオフセット補正値を制御対象60aに出力する。
【0058】
次に、電流PI制御部307aの概略構成について、図4を用いて説明する。
図4は、本実施形態に係る電流PI制御部307aのブロック図である。
図4に示すように、電流PI制御部307aは、加算部340、344、345及び349、増幅部Gpd341、増幅部Gid342、積分器343及び348、増幅部Gpq346、増幅部Giq347、及び非干渉制御部350を備える。
また、非干渉制御部350は、Raパラメータ部350−1及び350−3、Ldパラメータ部350−6、Φaffパラメータ部350−8、Lqパラメータ部350−11、加算部350−2、350−4、350−7、350−9及び350−12、及び乗算部350−5及び350−10を備えている。
【0059】
加算部340は、電流指令部304aが出力するdc軸電流指令値Idc*から、第1位相変換部320が出力するdc軸電流Idcを減算して、偏差ΔIdcを算出する。加算部340は、算出した偏差ΔIdcを増幅部Gpd341及び増幅部Gid342に出力する。
増幅部Gpd341には、d軸電流制御比例ゲインが記憶されている。なお、d軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpd341は、加算部340が出力する偏差ΔIdcに、d軸電流制御比例ゲインを乗じて、乗算した値Gpd×ΔIdcを加算部344に出力する。
【0060】
増幅部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に出力する。
【0061】
加算部345は、電流指令部304aが出力するqc軸電流指令値Iqc*から、第1位相変換部320が出力するqc軸電流Iqcを減算して、偏差ΔIqcを算出する。加算部345は、算出した偏差ΔIqcを増幅部Gpq346及び増幅部Giq347に出力する。
増幅部Gpq346には、q軸電流制御比例ゲインが記憶されている。なお、q軸電流制御比例ゲインは、モータ制御装置30の設計者が、予め算出して記憶させる。増幅部Gpq346は、加算部345が出力する偏差ΔIqcに、q軸電流制御比例ゲインを乗じて、乗算した値Gpq×ΔIqcを加算部349に出力する。
【0062】
増幅部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に出力する。
【0063】
次に、非干渉制御部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に出力する。
【0064】
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に出力する。
【0065】
乗算部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に出力する。
【0066】
Φaffパラメータ部350−8には、予め所定値のモータ10における回転子の鎖交磁束Φaffが記憶されている。なお、鎖交磁束Φaffは、モータ制御装置30の設計者が、予め算出して記憶させる。Φaffパラメータ部350−8は、速度計算部302が出力する角速度ωに、鎖交磁束Φaffを乗じて、乗算した値ωΦaffを加算部350−9に出力する。
加算部350−9は、加算部350−7が出力する値(Intgl_qc+Gpq×ΔIqc+Ra×Iqc*+ωLd×Idc*)に、Φaffパラメータ部350−8が出力する値ωΦaffを加算し、加算した値(Intgl_qc+Gpq×ΔIqc+Ra×Iqc*+ωLd×Idc*+ωΦaff)をqc軸電圧指令値Vqcとして出力する。
【0067】
乗算部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に出力する。
【0068】
加算部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として出力する。
【0069】
次に、本実施形態における電流偏差の積分値と電圧指令値との関係について、図3、図4を用いて説明する。
本実施形態において、オフセット調整時、後述するように、d軸電流Id、q軸電流Iq、dc軸電流Idc、qc軸電流Idcが0になるように、モータ制御装置30aにより制御される。
このため、式(5)より、d軸電圧Vd、q軸電圧Vqは、次式(6)のように表される。
【0070】
【数4】
【0071】
式(6)を式(3)に代入すると、次式(7)が求まる。
【0072】
【数5】
【0073】
式(7)より、dc軸電圧Vdc及びqc軸電圧Vqcは、次式(8)のように表される。
【0074】
【数6】
【0075】
次に、電流PI制御部307aにおいて、定常状態ではPI制御により電流偏差が0になるように制御されているため、増幅部Gpd341及び増幅部Gpq346に入力される電流偏差は0である。このため、制御系座標のdc軸電圧Vdcは、次式(9)のように表され、制御系座標のqc軸電圧Vqcは、次式(10)のように表される。
【0076】
Vdc=Intgl_dc+Ra×Idc*−ωLq×Iqc* ・・・(9)
【0077】
Vqc=Intgl_qc+Ra×Iqc*+ωLd×Idc*+ωΦaff ・・・(10)
【0078】
式(10)において、ωΦaffは、フィードフォワードされた誘起電圧を表している。
オフセット調整時、dc軸電流指令値Idc*及びqc軸電流指令値Iqc*が0でサーボをオン状態に制御されているため、式(9)及び(10)は、次式(11)及び次式(12)のように表される。
【0079】
Intgl_dc=Vdc ・・・(11)
【0080】
Intgl_qc=Vqc−ωΦaff ・・・(12)
【0081】
式(11)及び式(12)に式(8)を代入すると、式(11)及び式(12)は、次式(13)及び(14)のように表される。
【0082】
Intgl_dc=ωΦa×sin(Δθ’) ・・・(13)
【0083】
Intgl_qc=ωΦa×cos(Δθ’)−ωΦaff ・・・(14)
【0084】
式(13)及び(14)の関係は、図5のように表される。図5は、第1実施形態に係るdq座標系及びdcqc座標における電流偏差の積分値による電圧ベクトル図である。
図5に示す例では、レゾルバ20の組み付けによる誤差、製造による誤差、モータ制御装置30の遅れにより発生する誤差等が有る場合、制御系座標qc軸は、実座標q軸に対して角度Δθ’進んでいる状態を表している。
【0085】
図6は、オフセット値Δθ’を変化させたときの各電流偏差の積分値の変化を示す図である。図6において、横軸は角度を表し、縦軸は電流偏差の積分値の大きさを表している。曲線g101は、オフセット値Δθ’に対するdc軸電流の偏差の積分値Intgl_dcの変化を表し、曲線g102は、オフセット値Δθ’に対するqc軸電流の偏差の積分値Intgl_qcの変化を表している。
本実施形態では、利用者が調整部403によりオフセット補正値Δθを変化させ、制御系座標のdc軸電流偏差の積分値Intgl_dcが0になるように調整することで、オフセット調整を行う。
【0086】
次に、オフセット補正値Δθの調整手順について、図3、図4及び図7を用いて説明する。なお、以下のオフセット補正値Δθの調整は、モータ制御システム1が車両に搭載されている場合について説明する。また、以下のオフセット補正値Δθの調整は、dc軸電流偏差の積分値Intgl_dcを用いて調整する例について説明する。
図7は、本実施形態に係るオフセット補正値の調整手順のフローチャートである。
【0087】
(ステップS1)オフセット補正装置40aの補正制御部404aは、モータ10がステップS2で駆動される回転数で、2相/3相変換部308及び電力変換部310等による遅れの影響分の進み角について予め調整しておく。この理由は、d軸電圧指令値Vd及びq軸電圧指令値Vqから、d軸電圧Vd及びq軸電圧Vqまでに遅れ時間があると、各値の算出に誤差が生じることを防ぐためである。ステップS1終了後、ステップS2に進む
【0088】
(ステップS2)駆動制御装置50の駆動制御部501は、駆動部502を介してモータ10を、一定速度で回転させる。具体的には、駆動制御部501は、車両のエンジン(駆動部502)をアイドリング状態にして、モータ10を一定速度で回転させる。次に、駆動制御部501は、モータ10の駆動状態を示す情報を補正制御部404aに出力する。ステップS2終了後、ステップS3に進む。
【0089】
(ステップS3)補正制御部404aは、駆動制御部501が出力する駆動状態を示す情報が、モータ10が定速回転していることを示す情報である場合、d軸電流指令値Id*及びq軸電流指令値Iq*を各々0にして、モータ制御装置30aのサーボをオン状態に制御する。ステップS3終了後、ステップS4に進む。
【0090】
(ステップS4)積分値測定部401aは、dc軸電流偏差の積分値Intgl_dcを測定する。積分値測定部401は、測定したdc軸電流偏差の積分値Intgl_dcを表示部402aに出力する。ステップS4終了後、ステップS5に進む。
【0091】
(ステップS5)利用者は、表示部402aに表示されるdc軸電流偏差の積分値Intgl_dcに基づく値、もしくはランプ等の表示を見ながら、dc軸電流偏差の積分値Intgl_dcが0となるように調整部403により調整し、制御対象60aに出力する。
【0092】
(ステップS6)利用者は、dc軸電流偏差の積分値Intgl_dcが0になったか否かを判定する。dc軸電流偏差の積分値Intgl_dcが0になったと判定した場合(ステップS6;Yes)、ステップS7に進む。dc軸電流偏差の積分値Intgl_dcが0になっていないと判定した場合(ステップS6;No)、ステップS4に戻る。
【0093】
(ステップS7)補正制御部404aは、オフセット調整終了後のオフセット補正値Δθを固定する。
以上で、オフセット補正値の調整を終了する。
【0094】
次に、本実施形態のモータ制御システム1による実測結果について図8及び図9を用いて説明する。
図8は、本実施形態に係る実機を用いてオフセット補正値を変化させたときの各電流偏差の積分値及び各電圧を実測した結果の一例を説明する図である。図9は、図8のオフセット補正角度−3degから+3degの範囲を拡大した図である。
【0095】
≪実測方法≫
手順1 外部からモータを+500[rpm]で回転させ、d軸電流指令値、q軸電流指令値が各々0のときのモータ制御装置30bの内部データを複数回、測定する。測定したデータについて、各データの最大値、最小値、平均値を算出する。
手順2 オフセット補正値を−30[deg]に設定し、外部からモータを+500[rpm]で回転させ、d軸電流指令値、q軸電流指令値が各々0のときのモータ制御装置30bの内部データを、複数回、測定する。測定したデータについて、各データの最大値、最小値、平均値を算出する。
手順3 オフセット補正値を+30[deg]に設定し、外部からモータを+500[rpm]で回転させ、d軸電流指令値、q軸電流指令値が各々0のときのモータ制御装置30bの内部データを、複数回、測定する。測定したデータについて、各データの最大値、最小値、平均値を算出する。
【0096】
まず、オフセット補正値が初期状態(0)のときの実測結果を、図8(a)及び図9(a)を用いて説明する。
図8(a)及び図9(a)は、手順1〜3により測定したdc軸電流偏差の積分値Intgl_Idc及びqc軸電流偏差の積分値Intgl_Iqcの実測結果である。すなわち、図8(a)及び図9(a)は、オフセット補正値が−30[deg]、0[deg]、+30[deg]の各dc軸電流偏差の積分値Intgl_Idc及びqc軸電流偏差の積分値Intgl_Iqcの最大値、最小値、平均値の関係をグラフで示したものである。
【0097】
図8(a)及び図9(a)において、横軸はオフセット補正値を表し、縦軸はdc軸電流偏差の積分値及びqc軸電流偏差の積分値の大きさを表している。図8(a)において、曲線g201は、qc軸電流偏差の積分値Intgl_Iqc+ωΦaffの最大値を表し、曲線g202は、qc軸電流偏差の積分値Intgl_Iqc+ωΦaffの最小値を表し、曲線g203は、qc軸電流偏差の積分値Intgl_Iqc+ωΦaffの平均値を表している。
また、図8(a)及び図9(a)において、曲線g211は、dc軸電流偏差の積分値Intgl_Idcの最大値を表し、曲線g212は、dc軸電流偏差の積分値Intgl_Idcの最小値を表し、曲線g213は、dc軸電流偏差の積分値Intgl_Idcの平均値を表している。
【0098】
図9(a)に示すように、dc軸電流偏差の積分値Intgl_Idc=0のとき、オフセット補正値の平均値は約−1.7[deg]である。これは、実機のオフセットである+1.7[deg]をちょうど補正する値である。また、矢印g244で示したように、dc軸電流偏差の積分値Intgl_Idc=0のとき、オフセット補正値は、dc軸電流偏差の積分値Intgl_Idcの最大値と最小値との間で差が少ない、すなわち、ばらつきが少ない。dc軸電流偏差の積分値Intgl_Idcの最大値と最小値との間で、オフセット補正値の差が少ない理由は、電流PI制御部307aの積分器343の値のみを用いているため、ノイズや高調波の影響を受けず、オフセット補正値のばらつきが少ない。dc軸電圧Vdcに含まれるノイズや高調波は、零に制御している検出電流に重畳しており、特に、増幅器Gpd341は、検出電流のノイズや高調波を増幅する。一方、積分器343は、ノイズや高調波を減衰する。また、電流指令値を零にしているため、一定速度の定常状態では、ωφaff以外の非干渉制御や、増幅器Gpd341の比例制御の成分は、省略しても全く問題はない。
【0099】
次に、参考としてdc軸電圧Vdcの実測結果を、図8(b)及び図9(b)を用いて説明する。
図8(b)及び図9(b)は、手順1〜3のdc軸電圧Vdc及びqc軸電圧Vqcの実測結果である。すなわち、図8(b)及び図9(b)は、オフセット補正値が−30[deg]、0[deg]、+30[deg]の各dc軸電圧Vdc及びqc軸電圧Vqcの最大値、最小値、平均値の関係をグラフで示したものである。図8(b)及び図9(b)において、横軸はオフセット補正値を表し、縦軸はdc軸電圧及びqc軸電圧を表している。
また、図8(b)において、曲線g221は、qc軸電圧Vqcの最大値を表し、曲線g222は、qc軸電圧Vqcの最小値を表し、曲線g223は、qc軸電圧Vqcの平均値を表している。
また、図8(b)及び図9(b)において、曲線g231は、dc軸電圧Vdcの最大値を表し、曲線g232は、dc軸電圧Vdcの最小値を表し、曲線g233は、dc軸電圧Vdcの平均値を表している。
【0100】
図9(b)に示すように、dc軸電圧Vdc=0のとき、オフセット補正値の平均値は約−1.0[deg]である。この場合、実機のオフセットである+1.7[deg]の補正としては、+0.7[deg]の誤差が残る。しかも、矢印g254で示したように、dc軸電圧Vdc=0のとき、オフセット補正値は、dc軸電圧Vdcの最大値と最小値との間で差が大きい、すなわち、ばらつきが大きい。dc軸電圧Vdcの最大値と最小値との間で差が大きい理由は、dc軸電圧Vdcがノイズや高調波の影響を受けやすいため、オフセット補正値のばらつきが大きい。
【0101】
図8及び図9を用いて説明したように、本実施形態のモータ制御システムによれば、dc軸電流偏差の積分値を測定して、dc軸電流偏差の積分値を0にするように利用者が調整する。
この結果、dc軸電圧Vdcを0にするようにオフセット補正値を設定して補正する場合と比較し、ノイズや高調波の影響を抑えられるため、オフセット補正値のばらつきも抑えることが可能になり、オフセット誤差を高精度で抑えることができる。
【0102】
以上のように、本実施形態のモータ制御システム1では、モータ10が外部から一定速度で回転させられている場合、モータ制御装置30がd軸及びq軸の各電流指令値を0にしてPI制御し、モータ10のサーボをオン状態に制御する。このとき、オフセット補正装置40は、d軸電流偏差の積分値を測定し、利用者が測定されたd軸電流偏差の積分値を0にするようにオフセット補正値を調整するようにした。
この結果、ノイズや高調波の影響を受けにくいd軸電流偏差の積分値を測定して、オフセット調整を行うようにしたので、ノイズや高調波の影響を抑えられ、オフセット誤差を高精度で抑えることができる。
【0103】
なお、本実施形態において、利用者が、表示部402の表示を見ながら調整部403により調整する例を説明したが、これに限られない。補正制御部404は、モータ10が定速回転しているときに、オフセット補正値を、例えば−30[deg]〜+30[deg]の範囲で変化させる。そして、積分値測定部401は、このときのd軸電流偏差の積分値を測定し、補正制御部404が測定されたd軸電流偏差の積分値が0、あるいは予め定められている範囲内の値になるようにオフセット調整値の調整を行うようにしてもよい。
【0104】
なお、本実施形態において、オフセット補正装置40の積分値測定部401が、電流PI制御部307の内部データであるd軸電流偏差の積分値Intgl_dを測定する例を説明したがこれに限られない。積分値測定部401は、q軸電流偏差の積分値Intgl_qのみ、または、d軸電流偏差の積分値Intgl_dとq軸電流偏差の積分値Intgl_qの両方を測定するようにしてもよい。
この場合、積分値測定部401は、測定したq軸電流偏差の積分値Intgl_qのみ、または、d軸電流偏差の積分値Intgl_dとq軸電流偏差の積分値Intgl_qの両方を表示部402に出力する。そして。利用者は、表示部402に表示された値、もしくはランプの点灯状態等に基づき、調整部403により、q軸電流偏差の積分値Intgl_qが極大値になるように調整するようにしてもよい。
表示部402は、q軸電流偏差の積分値Intgl_qの値を表示するようにしてもよく、あるいは、予め極大値の範囲を測定して設定しておき、この設定されている範囲にq軸電流偏差の積分値Intgl_qが入った場合、判定OKを示すランプを点灯するようにしてもよい。
【0105】
[第2実施形態]
第2実施形態では、オフセット補正値を自動調整により調整する方法の一例について説明する。
図10は、本実施形態に係るモータ制御システム1aを示す制御ブロック図である。
第1実施形態におけるモータ制御システム1と同じ機能を有する機能部は、同じ符号を用いて説明を省略する。
【0106】
モータ制御システム1との差異は、オフセット補正装置40bである。図10に示すように、オフセット補正装置40bは、積分値測定部401b、補正制御部404b、及び加算部405bを備えている。
【0107】
積分値測定部401bは、電流PI制御部307の内部データであるd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを測定する。積分値測定部401bは、測定したd軸電流偏差の積分値Intgl_d、及びq軸電流偏差の積分値Intgl_qを補正制御部404bに出力する。
【0108】
補正制御部404bは、駆動制御装置50が出力する駆動状態を示す情報に基づき、モータ10が駆動制御装置50により、一定速度で回転されている状態であるか否かを判定する。補正制御部404は、モータ10が一定速度で回転されている状態であると判定した場合、モータ制御装置30をd軸電流指令値Id、q軸電流指令値Iqを各々0に固定して、サーボをオン状態になるように制御する。
また、補正制御部404bは、積分値測定部401bが出力するd軸電流偏差の積分値Intgl_dと0との偏差をPI制御により、d軸電流偏差の積分値Intgl_dを0にするようにオフセット補正値を制御する。補正制御部404bは、例えば、d軸電流偏差の積分値Intgl_dが正の場合、オフセット補正値を減算し、d軸電流偏差の積分値Intgl_dが負の場合、オフセット補正値を加算することを繰り返してオフセット補正値を収束させるように制御する。
【0109】
次に、オフセット補正値Δθの調整手順について、図10及び図11を用いて説明する。なお、以下のオフセット補正値Δθの調整は、モータ制御システム1aが車両に搭載されている場合について説明する。また、以下のオフセット補正値Δθの調整は、d軸電流偏差の積分値Intgl_dを用いて調整する例について説明する。
図11は、本実施形態に係るオフセット補正値の調整手順のフローチャートである。
【0110】
(ステップS101〜ステップS103)ステップS101〜ステップS103については、第1実施形態のステップS1〜ステップS3(図7)と同様に行う。
【0111】
(ステップS104)積分値測定部401bは、d軸電流偏差の積分値Intgl_dを測定する。積分値測定部401は、測定したd軸電流偏差の積分値Intgl_dを補正制御部404bに出力する。ステップS104終了後、ステップS105に進む。
【0112】
(ステップS105)補正制御部404bは、積分値測定部401bが出力するd軸電流偏差の積分値Intgl_dと0との偏差をPI制御により、オフセット補正値Δθを制御対象60aに出力し、d軸電流偏差の積分値Intgl_dが0となるように制御する。
【0113】
(ステップS106)補正制御部404bは、d軸電流偏差の積分値Intgl_dの絶対値が予め定められている閾値以下になったか否かを判定する。d軸電流偏差の積分値Intgl_dの絶対値が予め定められている閾値以下になったと判定した場合、すなわちd軸電流偏差の積分値Intgl_dが収束した場合(ステップS106;Yes)、ステップS107に進む。d軸電流偏差の積分値Intgl_dの絶対値が予め定められている閾値以下になっていないと判定した場合(ステップS106;No)、ステップS104に戻る。
【0114】
(ステップS107)補正制御部404bは、オフセット調整終了後のオフセット補正値Δθを固定する。
以上で、オフセット補正値の調整を終了する。
【0115】
以上のように、本実施形態のモータ制御システム1aでは、モータ10が外部から一定速度で回転させられている場合、モータ制御装置30がd軸及びq軸の各電流指令値を0にしてPI制御し、モータ10のサーボをオン状態に制御する。このとき、オフセット補正装置40bは、d軸電流偏差の積分値を測定し、測定したd軸電流偏差の積分値を0にするようにオフセット補正値を調整するようにした。
この結果、第1実施形態の効果に加え、オフセット補正値の調整を精度良く自動的におこなうことができる。
【0116】
[第3実施形態]
第2実施形態では、d軸電流偏差の積分値をPI制御により0にするようにオフセット補正値を調整する例を説明したが、第3実施形態では、他の調整方法について説明する。
【0117】
第3実施形態では、オフセット補正装置40bは、少なくとも2つ以上のオフセット補正値を設定し、設定したオフセット補正値のときの各d軸電流偏差の積分値を測定する。
補正制御部404bは、測定されたd軸電流偏差の積分値を補間して、近似式を算出する。例えば、図8において、曲線g211を直線近似すると、y=1.0833x+1.75になる。なお、xはオフセット補正値、xはd軸電流偏差の積分値である。
次に、補正制御部404bは、算出した近似式を用いてd軸電流偏差の積分値が0になるオフセット補正値を算出する。
【0118】
以上のように、本実施形態のモータ制御システムによれば、設定した2つ以上のオフセット補正値のときのd軸電流偏差の積分値を用いて近似式を算出し、算出した近似式を用いてオフセット補正値を算出するようにした。
この結果、本実施形態のモータ制御システムは、少ない調整回数でオフセット補正値を行うことができる。
【0119】
なお、第3実施形態においても、オフセット補正装置40bは、q軸電流偏差の積分値を測定して、測定した値を用いて調整するようにしてもよい。この場合、例えば、補正制御部404bは、設定した2つ以上のオフセット補正値のときのq軸電流偏差の積分値を用いて2次の近似式を算出し、算出した近似式から極大値となるオフセット補正値を算出するようにしてもよい。
【0120】
なお、第1〜第3実施形態において、オフセット誤差が大きい場合、モータ制御装置における制御系が不安定になる。このようにオフセット誤差が大きい場合は、レゾルバの組み付け不良や配線ミス等もある。このため、第1〜第3実施形態において、オフセット誤差が予め定められている値より大きい(例えば90度)か否かを公知の技術で検出して、このようなモータ及びレゾルバを事前に検出して除去するようにしてもよい。
【0121】
なお、実施形態の図1、図4、及び図10の各部の機能を実現するため、コンピュータシステムのCPUに接続されたROM、HDDも等に保存されているプログラムにより実行することも可能である。あるいは、PLD(プログラマブルロジックデバイス)やASIC(Application Specific Integrated Circuit)や回路でハードウェアにより実現することも可能である。
【符号の説明】
【0122】
1、1a・・・モータ制御システム、10・・・モータ、20・・・レゾルバ、30、30a・・・モータ制御装置、40、40a、40b・・・オフセット補正装置、50・・・駆動制御装置、302・・・速度計算部、304、304a・・・電流指令部、305・・・電流検出器、306・・・3相/2相変換部、307、307a・・・電流PI制御部、308・・・2相/3相変換部、309・・・デューティ計算部、310・・・電力変換部、320・・・第1位相変換部、321・・・第2位相変換部、322・・・モータ電圧方程式部、323・・・加算部、343、348・・・積分器、401、401a、401b・・・積分値測定部、402、402a・・・表示部、403・・・調整部、404、404a、404b・・・補正制御部、405、405a、405b・・・加算部、501・・・駆動制御部、502・・・駆動部
【特許請求の範囲】
【請求項1】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、
前記モータが一定速度で回転されているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御部と、
前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御部と、
前記生成された積分値を測定する積分値測定部と、
を備え、
前記補正制御部は、
前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する
ことを特徴とするモータ制御装置。
【請求項2】
前記補正制御部は、
前記調整した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、
前記電流制御部は、
前記生成された回転位置を示す値を用いて、前記モータに流れる前記検出電流が前記電流指令値となるように制御する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記補正制御部は、
前記測定された積分値のうちd軸電流偏差の積分値と零との偏差を比例積分制御することで、前記測定された積分値のうちd軸電流偏差の積分値を零となるように制御する
ことを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項4】
前記電流制御部は、
前記補正制御部が生成した調整用の補正値に基づき前記モータに流れる前記検出電流が前記電流指令値となるように制御し、
前記積分値測定部は、
前記生成された調整用の補正値のとき、各々の前記積分値を測定し、
前記補正制御部は、
少なくとも2つの調整用の補正値を生成し、前記積分値測定部が測定した調整用の補正値各々の前記積分値に基づき近似式を算出し、前記算出した算出式を用いて前記モータの回転位置に対する補正値を算出する
ことを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項5】
前記補正制御部は、
前記モータが一定速度で回転させる回転数において、前記モータの回転位置に対する補正値を行う前に、dq座標系の進み角度補正を行う
ことを特徴とする請求項1から請求項4のいずれか1項に記載のモータ制御装置。
【請求項6】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、
補正制御部が、前記モータが一定速度で回転しているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御手順と、
電流制御部が、前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御手順と、
積分値測定部が、前記生成された積分値を測定する積分値測定手順と、
補正制御部が、前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する手順と、
を含むことを特徴とするモータ制御方法。
【請求項1】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置であって、
前記モータが一定速度で回転されているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御部と、
前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御部と、
前記生成された積分値を測定する積分値測定部と、
を備え、
前記補正制御部は、
前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する
ことを特徴とするモータ制御装置。
【請求項2】
前記補正制御部は、
前記調整した補正値を前記モータの回転位置に対応した検出値に加算して回転位置を示す値を生成し、
前記電流制御部は、
前記生成された回転位置を示す値を用いて、前記モータに流れる前記検出電流が前記電流指令値となるように制御する
ことを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記補正制御部は、
前記測定された積分値のうちd軸電流偏差の積分値と零との偏差を比例積分制御することで、前記測定された積分値のうちd軸電流偏差の積分値を零となるように制御する
ことを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項4】
前記電流制御部は、
前記補正制御部が生成した調整用の補正値に基づき前記モータに流れる前記検出電流が前記電流指令値となるように制御し、
前記積分値測定部は、
前記生成された調整用の補正値のとき、各々の前記積分値を測定し、
前記補正制御部は、
少なくとも2つの調整用の補正値を生成し、前記積分値測定部が測定した調整用の補正値各々の前記積分値に基づき近似式を算出し、前記算出した算出式を用いて前記モータの回転位置に対する補正値を算出する
ことを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項5】
前記補正制御部は、
前記モータが一定速度で回転させる回転数において、前記モータの回転位置に対する補正値を行う前に、dq座標系の進み角度補正を行う
ことを特徴とする請求項1から請求項4のいずれか1項に記載のモータ制御装置。
【請求項6】
電流指令値から、電圧指令値を生成し、モータに流れる検出電流によりフィードバック制御するモータ制御装置のモータ制御方法であって、
補正制御部が、前記モータが一定速度で回転しているとき、d軸電流指令値及びq軸電流指令値を各々零に設定する補正制御手順と、
電流制御部が、前記電流指令値と前記検出電流との偏差の積分値を生成する電流制御手順と、
積分値測定部が、前記生成された積分値を測定する積分値測定手順と、
補正制御部が、前記測定された積分値が予め定められている範囲内の値となるように調整することで前記モータの回転位置に対する補正値を調整する手順と、
を含むことを特徴とするモータ制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−90547(P2013−90547A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−231884(P2011−231884)
【出願日】平成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 ]