説明

モータ制御装置およびトルク値取得方法

【課題】モータ制御装置において、必要メモリ容量の増大を抑制しつつ、より精度よくモータのトルク値を求められるようにする。
【解決手段】記憶部131は、トルク指令値を電流指令値に変換するための電流指令テーブルを記憶する。そして、トルク値取得部160は、当該電流指令テーブルを参照して、モータ電流値をトルク値に変換することで、モータのトルク値を取得する。トルク値取得部160は、モータ制御のために用意される電流指令テーブルを参照するので、トルク値取得のためのテーブルを別途設ける必要がない。従って、記憶部131のメモリ容量を増やす必要がない。また、トルク値取得部160は、モータMの特性を詳細に示す電流指令テーブルを参照してトルク値を求めるので、数式に基づいてトルク値を求める場合との比較において、より短い時間で、より高精度なトルク値を取得できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モータ制御装置およびトルク値取得方法に関する。
【背景技術】
【0002】
モータのトルク値を求める方法として、d軸電流値Idや、q軸電流値Iqを求め、式(1)に代入してトルク値Trqを算出する方法がある。
【0003】
【数1】

【0004】
ここで、Pnは極対数を示し、Φaは鎖交磁束密度を示し、PnΦaでいわゆるトルク定数を示す。また、Ldはd軸インダクタンスを示し、Lqはq軸インダクタンスを示す。
しかしながら、この方法では、d軸インダクタンスLdや、q軸インダクタンスLqや、鎖交磁束密度Φaを定数としているが、実際にはこれらの値は電流の大きさ等によって変化する。このため、このd軸電流値Idやq軸電流値Iqを式(1)に代入してトルク値Trqを求める方法では、得られるトルク値の精度が低い。
そこで、d軸インダクタンスLdや、q軸インダクタンスLqや、鎖交磁束密度Φaを電流値等の関数としてトルクの計算式を構築し、この式に各値を代入してトルク値を算出する方法が考えられる。
【0005】
また、特許文献1に記載のトルク演算制御装置では、トルク演算回路が、レゾルバから入力されるモータの回転角、ステータの端子電圧、および、ステータの電流の測定値に基づいてモータのトルクを算出する。損失データ記憶テーブルは、モータのステータの電機子誘起電圧Eと回転数とを一定間隔のパラメータとして算出した損失のトルク換算値を3次元テーブルの形式で記憶する。減算回路は、トルク演算回路で算出されたトルクから、対応する損失のトルク換算値を減算して補正する。
これにより、精度よく同期モータの実効的なトルクを計算することができるとされている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−128161号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、d軸インダクタンスLdや、q軸インダクタンスLqや、鎖交磁束密度Φaを電流値等の関数としてトルクの計算式を構築し、この式に各値を代入してトルク値を算出する方法では、複雑な計算を行う必要があり、トルク値を求めるのに時間がかかってしまう。
【0008】
また、特許文献1に記載のトルク演算制御装置は、損失データ記憶テーブルが損失のトルク換算値を3次元テーブルの形式で記憶しておく必要がある。このため、当該トルク演算制御装置は、大きな容量のメモリを必要とする。
【0009】
本発明は、このような事情を考慮してなされたものであり、その目的は、必要メモリ容量の増大を抑制しつつ、より精度よくトルク値を求めることのできるモータ制御装置およびトルク値取得方法を提供することにある。
【課題を解決するための手段】
【0010】
この発明は上述した課題を解決するためになされたもので、本発明の一態様によるモータ制御装置は、トルク指令値を含むパラメータの値に応じたモータ電流指令値を示す電流指令テーブルを記憶する記憶部と、前記電流指令テーブルを参照して、トルク指令値を含むパラメータの値に応じたモータ電流指令値を取得し、得られたモータ電流指令値に応じた電流を前記モータに供給して当該モータを制御する制御部と、を具備するモータ制御装置であって、前記電流指令テーブルを参照して、前記制御部が前記モータに供給する電流の測定値から得られるモータ電流値をモータ電流指令値にあてはめ、当該モータ電流指令値と、前記パラメータのうち前記トルク指令値以外の値とに応じたトルク指令値を、前記モータのトルク値として取得するトルク値取得部を具備することを特徴とする。
【0011】
また、本発明の一態様によるモータ制御装置は、上述のモータ制御装置であって、前記トルク値取得部は、少なくともq軸電流値を、前記モータ電流値とすることを特徴とする。
【0012】
また、本発明の一態様によるモータ制御装置は、上述のモータ制御装置であって、前記トルク値取得部は、前記モータ電流値を当てはめた前記モータ電流指令値と、前記パラメータのうち前記トルク指令値以外の値とに基づいて、前記電流指令テーブル内の複数の欄を選択し、選択した欄の各々について、対応付けられているトルク指令値を読み出すトルク指令値読出部と、前記トルク指令値読出部が読み出したトルク指令値を補間する補間部と、を具備し、補間結果のトルク指令値を前記モータのトルク値として取得することを特徴とする。
【0013】
また、本発明の一態様によるモータ制御装置は、上述のモータ制御装置であって、前記記憶部は、トルク指令値と、モータ回転数と、モータ駆動用電源電圧値とを前記パラメータとすることを特徴とする。
【0014】
また、本発明の一態様によるトルク値取得方法は、トルク指令値を含むパラメータの値に応じたモータ電流指令値を示す電流指令テーブルを記憶する記憶部と、前記電流指令テーブルを参照して、トルク指令値を含むパラメータの値に応じたモータ電流指令値を取得し、得られたモータ電流指令値に応じた電流を前記モータに供給して当該モータを制御する制御部と、を具備するモータ制御装置のトルク値取得方法であって、前記電流指令テーブルを参照して、前記制御部が前記モータに供給する電流の測定値から得られるモータ電流値をモータ電流指令値にあてはめ、当該モータ電流指令値と、前記パラメータのうち前記トルク指令値以外の値とに応じたトルク指令値を、前記モータのトルク値として取得することを特徴とする。
【発明の効果】
【0015】
本発明によれば、必要メモリ容量の増大を抑制しつつ、より精度よくトルク値を求めることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態におけるモータ制御装置の機能構成を示す概略ブロック図である。
【図2】同実施形態において、記憶部が記憶する電流指令テーブルのデータ構成の概略を模式的に示す説明図である。
【図3】同実施形態において、記憶部がバス電圧値Vbus毎に記憶する電流指令テーブルのデータ構成の例を示すデータ構成図である。
【図4】同実施形態において、電流指令部がq軸電流指令テーブルを用いてq軸電流指令値を求める例を模式的に示す説明図である。
【図5】同実施形態において、トルク指令値読出部が選択する電流指令テーブル内の欄の例を示す説明図である。
【図6】同実施形態において、トルク指令値読出部が、現在のバス電圧値と現在のモータ回転数とに基づいて選択する、電流指令テーブルの列の例を示す説明図である。
【図7】同実施形態にて、トルク指令値読出部が、q軸電流指令テーブル1つの列から選択する2つの欄の例を示す説明図である。
【図8】同実施形態において、トルク指令値読出部が、図6で選択した各列について選択する2つの欄の例を示す説明図である。
【図9】同実施形態において、モータ制御装置がモータのトルク値を取得する処理手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の一実施形態におけるモータ制御装置の機能構成を示す概略ブロック図である。同図において、モータ制御装置100は、角度検出器111と、速度計算部112と、電流検出器121と、記憶部131と、電源部141と、制御部150と、トルク値取得部160とを具備する。制御部150は、3相/2相変換部151と、電流指令部152と、電流PI制御部153と、2相/3相変換部154と、電力変換部155とを具備する。トルク値取得部160は、トルク指令値読出部161と、補間部162とを具備する。また、モータ制御装置100は、モータMを制御する。
【0018】
モータ制御装置100は、電気自動車に搭載されて、当該電気自動車の駆動用モータMを制御する。ただし、本発明は、電気自動車のモータ制御に限らず様々なモータの制御に適用可能である。例えば、産業車両、ハイブリッド自動車、電車、船舶、飛行機または発電システム等のモータの制御にも本発明を適用可能である。
【0019】
モータMは、3相モータであり、電力変換部155から出力される駆動電流により駆動される。モータMには、角度検出器111が取り付けられている。
角度検出器111は、例えばレゾルバであり、モータMのロータ回転角度θを検出し、得られたロータ回転角度θを速度計算部112と3相/2相変換部151と2相/3相変換部154とに出力する。
速度計算部112は、角度検出器111から出力される回転角度θから、モータMの回転子の角速度ωを算出し、得られた角速度ωを電流指令部152と、トルク指令値読出部161とに出力する。
【0020】
電流検出器121は、例えば電流トランス(Current Transformer)を具備し、電力変換部155がモータMに供給する3相の電流Iu、Iv、Iw(の電流値)を検出して、3相/2相変換部151に出力する。
電源部141は、バッテリを具備し、電力変換部155に直流電力を供給する。
【0021】
制御部150は、モータ制御装置100の外部からトルク指令値を取得する。そして、制御部150は、得られたトルク指令値を、記憶部131の記憶する電流指令テーブルを参照して電流指令値に変換して、モータMに対する電流制御を行う。すなわち、制御部150は、記憶部131の記憶する電流指令テーブルを参照して、トルク指令値を含むパラメータの値に応じたモータ電流指令値を取得し、得られたモータ電流指令値に応じた電流をモータMに供給することで、当該モータMを電流制御にて制御する。
【0022】
3相/2相変換部151は、電流検出器121から出力される3相の電流値Iu、IvおよびIwを、2相のd軸成分の電流値Idおよびq軸成分の電流値Iq(以下、「検出電流値」と称する)に変換する。3相/2相変換部151は、得られた検出電流値IdおよびIqを、電流PI制御部153に出力する。また、3相/2相変換部151は、検出電流値Iqを、トルク指令値読出部161に出力する。
【0023】
ここで、d軸およびq軸はモータ軸に対して設定される座標軸である。d軸は、磁極が発生させる磁束の方向に設定され、q軸はd軸と電気的および磁気的に直交して設定される。d軸成分の電流(d軸電流)は、モータMに磁束を発生させるのに用いられる成分(励磁電流成分)である。また、q軸成分の電流(q軸電流)は、負荷のトルクに対応した成分である。
なお、以下では、指令値や指令信号を、右上に「*」を付した変数にて表す。
【0024】
電流指令部152は、モータ制御装置100の外部から与えられるトルク指令値と、速度計算部112から出力される角速度ωと、電力変換部155におけるバス電圧値Vbusとを取得し、記憶部131の電流指令テーブルを参照して、これらの値に対応付けられるd軸電流指令値Idおよびq軸電流指令値Iqを取得する。電流指令部152は、取得した電流指令値を、電流PI制御部153に出力する。
ここで、トルク指令値は、モータMに発生させるトルクを指令する値である。自動車の場合、トルク指令値は、スロットルペダルの開度などに関連付けられて生成される。
【0025】
電流PI制御部153は、3相/2相変換部151から出力される検出電流値IdおよびIqを制御変数として、この検出電流値IdおよびIqが、電流指令部152から出力される電流指令値IdおよびIqに応じた値になるように、PI制御によるd軸電圧Vdおよびq軸電圧Vqを算出し、2相/3相変換部154に出力する。
【0026】
2相/3相変換部154は、角度検出器111から出力される回転角度θを用いて、電流PI制御部153から出力される電圧指令値VdおよびVqを座標変換して、3相の電圧指令値Vu、Vv、Vwを算出する。2相/3相変換部154は、算出した3相の電圧指令値Vu、Vv、Vwを電力変換部155に出力する。
【0027】
電力変換部155は、例えばIGBT(Insulated Gate Bipolar Transistor)素子などの電力制御素子(パワー素子)を有するインバータを具備して、2相/3相変換部154から出力される電圧指令値Vu、Vv、Vwに応じた3相の駆動電流をモータMに供給する。
具体的には、電力変換部155は、2相/3相変換部154から出力される電圧指令値Vu、Vv、Vwから、モータに与える駆動電力のデューティ比を表すデューティ信号を、3相の各々について生成する。そして、電力変換部155は、インバータにて、電源部167から供給される電力をデューティ信号に応じた3相のモータ駆動電力に変換し、モータMに供給する。
また、電力変換部155は、モータM駆動用の電源電圧として、インバータのバス電圧値Vbusを測定して、電流指令部152とトルク指令値読出部161とに出力する。
【0028】
記憶部131は、モータ制御装置100の具備する記憶デバイスによって実現される。記憶部131は、トルク指令値を含むパラメータの値に応じたモータ電流指令値を示す電流指令テーブルを予め(モータ制御装置100がモータMの制御を開始する前に)記憶している。例えば、記憶部131は、トルク指令値と、モータ回転数(角速度ω)と、モータ駆動用電源電圧(電力変換部155が具備するインバータのバス電圧値Vbus)とをパラメータとする電流指令テーブルを記憶する。
この電流指令テーブルは、制御部150が電流制御にてモータMを制御するために、電流指令部152の取得するトルク指令値を、モータMに供給する電流の指令値に変換するのに用いられる表形式のデータである。
【0029】
図2は、記憶部131が記憶する電流指令テーブルのデータ構成の概略を模式的に示す説明図である。同図に示すように、記憶部131は、トルク指令値をq軸電流指令値Iqに変換するためのq軸電流指令テーブルIq_tblと、トルク指令値をd軸電流指令値Idに変換するためのd軸電流指令テーブルId_tblとを記憶している。
【0030】
ここで、モータ制御装置100は、電源部141の具備するバッテリからの電力をモータMに供給してモータMを駆動させる。このため、電源部141の具備するバッテリの状態(具体的には、バッテリ電圧)の変化に応じてモータMへの供給電圧が変化し、これに伴いトルク指令値に応じたトルクを得るための電流指令値が変化する。
【0031】
そこで、記憶部131は、トルク指令値および角速度ωに応じた電流指令値を示す電流指令テーブルを、モータ駆動用電源電圧毎(電力変換部155が具備するインバータのバス電圧値Vbus毎)に記憶している。すなわち、記憶部131は、トルク指令値と、角速度ωと、バス電圧値Vbusとの3次元のパラメータの値に応じた電流指令値を示す電流指令テーブルを、q軸電流指令値Iqと、d軸電流指令値Idとについて予め記憶している。
【0032】
但し、記憶部131の記憶する電流指令テーブルのパラメータは、トルク指令値と、角速度ωと、バス電圧値Vbusとに限らない。例えば、商用電源など電圧が一定の電源から供給される電力でモータMを駆動する場合や、バッテリ有効電圧の範囲が十分に狭い場合、電流指令テーブルのパラメータにバス電圧値Vbusを含まないようにしてもよい。電流指令テーブルの次元数を減らすことで、記憶部131のメモリ容量を大幅に削減し得る。
あるいは、電流指令テーブルのパラメータに、モータ温度を含めるようにしてもよい。モータ温度を考慮することで、より高精度な変換を行うことができる。
【0033】
図3は、記憶部131がバス電圧値Vbus毎に記憶する電流指令テーブルのデータ構成の例を示すデータ構成図である。同図に示すように、電流指令テーブルの各行にトルク指令値が対応付けられ、各列に角速度が対応付けられている。そして、各欄には電流指令値が格納されている。そこで、電流指令部152は、バス電圧値Vbusに基づいて、バス電圧値毎の電流指令テーブルのいずれかを選択し、トルク指令値に基づいて行を選択し、角速度に基づいて列を選択し、選択された欄に格納されている電流指令値を読み出すことで、電流指令値を取得する。
【0034】
図4は、電流指令部152がq軸電流指令テーブルを用いてq軸電流指令値を求める例を模式的に示す説明図である。
図2で説明したように、記憶部131は、バス電圧値毎の電圧指令テーブルを記憶しているので、電流指令部152は、まず、バス電圧値Vbus(電力変換部155が測定する現在(電流指令値を求める時点)のバス電圧値)に基づいて、バス電圧毎の電圧指令テーブルのいずれかを選択する。
【0035】
次に、電流指令部152は、選択したバス電圧毎の電圧指令テーブルにおいて、角速度ω(速度計算部112が算出する現在の角速度)と、トルク指令値(電流指令部152が取得する現在のトルク指令値)に応じた欄を選択する。電流指令部152が選択した欄は、図4において模式的に点P101にて示される。同図では、q軸電流指令値の正の側(同図の上側)ほどトルク指令値が大きくなっている。このため、同図において、トルク指令値に応じた高さの点が、点P101として選択されている。
【0036】
そして、電流指令部152は、選択した欄に格納されているq軸電流指令値Iqを読み出す。図4の例では、q軸電流指令値Iqは、点P101の高さにて示されている。同様に、電流指令部152は、d軸電流指令テーブルからd軸電流指令値Idを読み出す。
なお、電流指令テーブルのデータの間隔が疎な場合(例えば、角速度ωのサンプリング間隔が広い場合)、電流指令部152が補間を行うようにしてもよい。
【0037】
トルク値取得部160は、電流指令テーブルを参照してモータ電流値をトルク値に変換する。より具体的には、トルク値取得部160は、電流指令テーブルを参照して、3相/2相変換部151から出力されるモータ電流値(q軸電流値Iq)を、電流指令テーブルにおけるモータ電流指令値(q軸電流指令値Iq)にあてはめ、当該モータ電流指令値と、電流指令テーブルのパラメータのうちトルク指令値以外の値とに応じたトルク指令値を、モータのトルク値として取得する。
【0038】
トルク指令値読出部161は、モータ電流値を当てはめたモータ電流指令値と、電流指令テーブルのパラメータのうちトルク指令値以外の値とに基づいて、電流指令テーブル内の複数の欄を選択し、選択した欄の各々について、対応付けられているトルク指令値を読み出す。
【0039】
図5は、トルク指令値読出部161が選択する電流指令テーブル内の欄の例を示す説明図である。同図において、トルク指令値読出部161は、現在(トルク値を求める時点)のバス電圧値と、現在の角速度と、現在のq軸電流値Iqとに基づいて、8つの欄を選択しており、各欄が3次元座標空間における点で示されている。この欄の選択について、図6〜8を参照して順に説明する。
【0040】
図6は、トルク指令値読出部161が、現在のバス電圧値と現在のモータ回転数とに基づいて選択する、電流指令テーブルの列の例を示す説明図である。
トルク指令値読出部161は、q軸電流テーブルを参照して、q軸電流Iqをトルク値に変換することでトルク値を取得する。ここで、一般的には、モータの低速領域(角速度ωが小さい領域)において、d軸電流の変化量が小さい。そうすると、低速領域においてd軸電流指令テーブルを用いてd軸電流値Idをトルク値に変換すると、得られるトルク値の精度が低くなってしまう。そこで、電流指令部152は、q軸電流指令テーブルを用いてトルク値を求める。これにより、モータの低速領域においても、より高い精度でトルク値を求めることができる。一般に永久磁石同期モータでは、式(1)の第1項で示されるマグネットトルクがメインである(トルク全体に占めるマグネットトルクの割合が大きい)。このマグネットトルクは、q軸電流Iqに依存するため、q軸電流テーブルを参照して、q軸電流値Iqをトルク値に変換する方が、d軸電流テーブルを参照して、d軸電流値Idをトルク値に変換するよりも、精度のよいトルク値を取得することができる。
【0041】
なお、モータMの高速領域において、d軸電流の変化量がq軸電流の変化量よりも大きい場合、トルク指令値読出部161が、主としてq軸電流指令テーブルを用いてトルク値を求め、高速領域ではさらにd軸電流指令テーブルを用いてトルク値を求めて補正を行うようにしてもよい。特に、式(1)の第2項で示されるリラクタンストルクが大きいモータについて、当該補正を行うことで精度向上に効果があると考えられる。
これによって、より高い精度でトルク値を求めることができる。
【0042】
図6において、トルク指令値読出部161は、まず、現在のバス電圧値Vbusに近いバス電圧値のq軸電流指令テーブルを2つ選択する。具体的には、トルク指令値読出部161は、現在のバス電圧値Vbus以下のバス電圧値のq軸電流指令テーブルのうち、バス電圧値が最も大きいもの(図6の例ではバス電圧v1)と、現在のバス電圧値Vbusよりも大きいバス電圧値のq軸電流指令テーブルのうち、バス電圧値が最も小さいもの(図6の例ではバス電圧v2)とを選択する。
また、トルク指令値読出部161は、式(2)に基づいて、補間の際のバス電圧値に関する重み付け割合dvを求める。
【0043】
【数2】

【0044】
但し、Vbusは現在のバス電圧値を示す。
次に、トルク指令値読出部161は、選択したq軸電流指令テーブルの各々について、現在の角速度ωに近い列を2つ選択する。具体的には、トルク指令値読出部161は、現在の角速度ω以下の角速度の列のうち、角速度が最も大きいもの(図6の例では角速度s1)と、現在の角速度ωよりも大きい角速度の列のうち、角速度が最も小さいもの(図6の例では角速度s2)とを選択する。
また、トルク指令値読出部161は、式(3)に基づいて、補間の際の角速度に関する重み付け割合dsを求める。
【0045】
【数3】

【0046】
但し、ωは現在の角速度を示す。
以上により、トルク指令値読出部161は、q軸電流指令テーブルにおいて4つの列を選択する。各列は、図6においては、2次元座標上の点(v1,s1)、点(v2,s1)、点(v2,s1)、点(v2,s2)、にて示されている。
【0047】
図7は、トルク指令値読出部161が、q軸電流指令テーブル1つの列から選択する2つの欄の例を示す説明図である。トルク指令値読出部161は、現在のq軸電流値Iqに近いq軸電流指令値の欄を2つ選択する。具体的には、トルク指令値読出部161は、現在のq軸電流値Iq以下のq軸電流指令値が格納されている欄のうち、q軸電流指令値が最も大きいもの(図7の例では、点P201)と、現在のq軸電流値Iqよりも大きいq軸電流指令値が格納されている欄のうち、q軸電流指令値が最も小さいもの(図7の例では、点P202)と、を選択する。この選択を式(4)のように表す。
【0048】
【数4】

【0049】
但し、Iqは、現在のq軸電流値を示し、t11_1、t11_2は、それぞれトルク値を示す。
また、vをバス電圧、sを角速度、t11をトルク値として、Iq_tbl(v、s、t11)は、q軸電流指令テーブルにおける、バス電圧v、角速度s、トルク指令値t11の欄のq軸電流指令値を示す。
また、v1、s1は、図6における点(v1,s1)の座標値である。
また、トルク指令値読出部161は、式(5)に基づいて、補間の際のトルク値に関する重み付け割合dt11を求める。
【0050】
【数5】

【0051】
但し、Iq、Iq_tbl、v1、s1、t11_1、t11_2は、図4と同様である。
【0052】
トルク指令値読出部161は、図6で選択した他の列(点(v1,s2)、(v2,s2)、(v2,s1))についても、列毎に2つの欄を選択する。
図8は、トルク指令値読出部161が、図6で選択した各列について選択する2つの欄の例を示す説明図である。
ここで、トルク指令値読出部161が行う選択を式(6)のように表す。
【0053】
【数6】

【0054】
但し、x、yは、それぞれ1または2のいずれかの値を取る。
また、txy_1、txy_2は、それぞれトルク値を示す。
また、Iq、Iq_tblは、図4と同様である。
また、v、sは、図6における点(v,s)の座標値である。
以上により、トルク指令値読出部161は、q軸電流指令テーブルにおける8つの欄を選択する。
また、トルク指令値読出部161は、式(7)に基づいて、補間の際のトルク値に関する重み付け割合dtxyを求める。
【0055】
【数7】

【0056】
但し、x、y、Iq、Iq_tbl、v、s、txy_1、txy_2は、図6と同様である。
【0057】
補間部162は、トルク指令値読出部161が読み出したトルク指令値を補間し、補間結果のトルク指令値を、モータMのトルク値として取得する。
まず、補間部162は、式(8)に基づいて、図6で選択した列毎に、図8で選択した2つの欄の示すトルク値に対する直線補間を行ってトルク値txyを求める。
【0058】
【数8】

【0059】
但し、x、y、txy_1、txy_2、dtxyは、図6と同様である。
次に、補間部162は、式(8)に基づいて得られた列毎のトルク値について、式(2)および式(3)で求めた重み付け割合を用いて、式(9)の補間を行ってトルク値(トルク計算値)Trqを求める。
【0060】
【数9】

【0061】
但し、t11、t12、t21、t22は、それぞれ式(8)の補間で得られたトルク値である。
また、dvは、式(2)で得られた重み付け割合であり、dsは、式(3)で得られた重み付け割合である。
補間部162は、得られたトルク値TrqをモータMのトルク値として、モータ制御装置100の外部(例えば、モータ制御装置100の上位の制御装置)に出力する。
【0062】
次に、図9を参照してモータ制御装置100の動作について説明する。
図9は、モータ制御装置100がモータMのトルク値を取得する処理手順を示すフローチャートである。モータ制御装置100は、例えば定期的に同図の処理を繰り返す。
同図の処理において、まず、角度検出器111がモータMの回転角度を検出して速度計算部112に出力し、速度計算部112は、モータMの角速度ωを算出してトルク指令値読出部161に出力する(ステップS101)。また、電流検出器121がモータMへの3相の電流値を検出して3相/2相変換部151に出力し、3相/2相変換部151は、電流検出器121から出力された電流値を2相に変換してq軸電流値Iqをトルク指令値読出部161に出力する(ステップS102)。また、電力変換部155は、インバータのバス電圧Vbasを検出してトルク指令値読出部161に出力する(ステップS103)。
【0063】
次に、トルク指令値読出部161は、図6で説明したように、バス電圧値Vbasに基づいて、記憶部131の記憶するバス電圧毎のq軸電流指令テーブルのうち2つを選択する(ステップS104)。そして、トルク指令値読出部161は、式(2)に基づいて、補間の際のバス電圧値に関する重み付け割合dvを算出する(ステップS105)。
次に、トルク指令値読出部161は、図6で説明したように、ステップS104で選択したバス電圧毎のq軸電流指令テーブルの各々について2つの列を、角速度ωに基づいて選択する(ステップS106)。そして、トルク指令値読出部161は、式(3)に基づいて、補間の際の角速度に関する重み付け割合dsを算出する(ステップS107)。
【0064】
次に、トルク指令値読出部161は、図7および図8で説明したように、ステップS106で選択した列の各々について2つの欄を、q軸電流値Iqに基づいて選択する(ステップS108)。そして、トルク指令値読出部161は、式(7)に基づいて、補間の際のトルク値に関する重み付け割合dtxyを算出し、選択した欄のトルク値txy_1およびtxy_2と、重み付け割合dv、dsおよびdtxyとを、補間部162に出力する(ステップS109)。
【0065】
補間部162は、トルク指令値読出部161から出力された各欄のトルク値txy_1およびtxy_2について、式(8)に基づいて列毎の補間を行う(ステップS110)。
さらに、補間部162は、列毎に得られたトルク値txyに対して、式(9)に基づいて補間を行い、モータMのトルク値Trqを算出してモータ制御装置100の外部に出力する(ステップS111)。
その後、同図の処理を終了する。
【0066】
以上のように、トルク値取得部160は、電流指令テーブルを参照してモータMのトルク値を取得するので、必要メモリ容量の増大を抑制しつつ、より精度よくトルク値を求めることができる。すなわち、トルク値取得部160は、モータ制御のために用意される電流指令テーブルを参照するので、トルク値取得のためのテーブルを別途設ける必要がない。従って、記憶部131のメモリ容量を増やす必要がない。また、トルク値取得部160は、モータMの特性を詳細に示す電流指令テーブルを参照してトルク値を求めるので、数式に基づいてトルク値を求める場合との比較において、より短い時間で、より高精度なトルク値を取得できる。
【0067】
また、トルク値取得部160は、電流指令テーブルから読み出したトルク値に対して補間を行ってモータMのトルク値を取得するので、電流指令テーブルにおけるデータの間隔以上の精度で、トルク値を求めることができる。従って、電流指令テーブルを記憶する記憶部131のメモリ容量を増やす必要なしに、より高精度なトルク値を取得できる。
【0068】
また、トルク値取得部160は、少なくともq軸電流値をモータ電流値として用いてトルクを算出する。例えば、モータMの低速領域において、d軸電流値を用いる場合よりも高精度なトルク値を取得し得る。
【0069】
また、記憶部131は、トルク指令値と、モータ回転数と、モータ駆動用電源電圧値とをパラメータとする電流指令テーブルを記憶し、トルク値取得部160は、当該電流指令テーブルを用いてトルクを求める。モータ駆動用電源電圧値をパラメータに含む電流指令テーブルを用いることで、トルク値取得部160は、バッテリの充放電など電源電圧の変化に応じた高精度なトルク値を取得し得る。
【0070】
なお、トルク値取得部160の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0071】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0072】
100 モータ制御装置
111 角度検出器
112 速度計算部
121 電流検出器
131 記憶部
141 電源部
150 制御部
151 3相/2相変換部
152 電流指令部
153 電流PI制御部
154 2相/3相変換部
155 電力変換部
160 トルク値取得部
161 トルク指令値読出部
162 補間部

【特許請求の範囲】
【請求項1】
トルク指令値を含むパラメータの値に応じたモータ電流指令値を示す電流指令テーブルを記憶する記憶部と、
前記電流指令テーブルを参照して、トルク指令値を含むパラメータの値に応じたモータ電流指令値を取得し、得られたモータ電流指令値に応じた電流を前記モータに供給して当該モータを制御する制御部と、
を具備するモータ制御装置であって、
前記電流指令テーブルを参照して、前記制御部が前記モータに供給する電流の測定値から得られるモータ電流値をモータ電流指令値にあてはめ、当該モータ電流指令値と、前記パラメータのうち前記トルク指令値以外の値とに応じたトルク指令値を、前記モータのトルク値として取得するトルク値取得部を具備することを特徴とするモータ制御装置。
【請求項2】
前記トルク値取得部は、前記モータ電流値を当てはめた前記モータ電流指令値と、前記パラメータのうち前記トルク指令値以外の値とに基づいて、前記電流指令テーブル内の複数の欄を選択し、選択した欄の各々について、対応付けられているトルク指令値を読み出すトルク指令値読出部と、
前記トルク指令値読出部が読み出したトルク指令値を補間する補間部と、
を具備し、
補間結果のトルク指令値を前記モータのトルク値として取得することを特徴とする請求項1に記載のモータ制御装置。
【請求項3】
前記トルク値取得部は、少なくともq軸電流値を、前記モータ電流値とすることを特徴とする請求項1または請求項2に記載のモータ制御装置。
【請求項4】
前記記憶部は、トルク指令値と、モータ回転数と、モータ駆動用電源電圧値とを前記パラメータとすることを特徴とする請求項1から3のいずれか1項に記載のモータ制御装置。
【請求項5】
トルク指令値を含むパラメータの値に応じたモータ電流指令値を示す電流指令テーブルを記憶する記憶部と、
前記電流指令テーブルを参照して、トルク指令値を含むパラメータの値に応じたモータ電流指令値を取得し、得られたモータ電流指令値に応じた電流を前記モータに供給して当該モータを制御する制御部と、
を具備するモータ制御装置のトルク値取得方法であって、
前記電流指令テーブルを参照して、前記制御部が前記モータに供給する電流の測定値から得られるモータ電流値をモータ電流指令値にあてはめ、当該モータ電流指令値と、前記パラメータのうち前記トルク指令値以外の値とに応じたトルク指令値を、前記モータのトルク値として取得することを特徴とするトルク値取得方法。







【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−85330(P2013−85330A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−221911(P2011−221911)
【出願日】平成23年10月6日(2011.10.6)
【出願人】(000006208)三菱重工業株式会社 (10,378)
【Fターム(参考)】