(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
電動機を可変速駆動する装置として、インバータが知られている。インバータの機能の中で、電動機速度を高精度に制御するために、電動機に取り付けたエンコーダの出力パルス信号に基づいて電動機速度を検出し、速度指令値との偏差をゼロにする速度調節機能を用いて制御を行うものがある。
【0003】
しかし、エンコーダの出力パルスは通常、1回転あたりのパルス数が決められており、パルスは回転速度によって粗密が発生する。パルスが粗となる低速領域では、検出精度が悪化して速度検出値に誤差が生じるため、速度制御性能を悪化させる原因となる。速度制御性能が悪化すると、例えばクレーンなどでは、速度制御誤差がトルクのリプルとなり、積荷に振動が伝わって問題になる、あるいは、速度制御誤差により自動運転中に積荷の停止位置に誤差が生じ、他の機器に影響を及ぼす、等の問題が生じる。
また、エンコーダの取り付け方により、出力パルスの位相誤差が発生し、この出力パルスに基づく検出方法では、速度検出値に位相誤差の影響が現れ、上述したようなトルクリプル等の問題を引き起こす。
【0004】
そこで、上述の問題を解決するため、特許文献1には、エンコーダの出力パルスの立ち上がりエッジ、立ち下がりエッジを利用して速度を検出する方法が開示されている。以下、この従来技術について簡単に説明する。
【0005】
図6は、特許文献1に記載された従来技術の構成図である。
図6において、ラッチ信号作成部21は、エンコーダから出力されるA相、B相という位相の異なった2種類のパルスからそれぞれの立ち上がりエッジ、立ち下がりエッジを検出し、合計4種類のラッチ信号ED0〜ED3を作成する。角度計測カウンタ22は、ラッチ信号(4F)と電動機の回転方向を示すUP/DOWN信号とを用いてカウンタのUP,DOWNを行う。
【0006】
時間計測カウンタ23は、速度演算周期に同期してゼロになるダウンカウンタである。4種類のラッチ信号ED0〜ED3のそれぞれに対応させて、角度計測カウンタ22の値をラッチして保存する第1データラッチ24−1〜24−4と、時間計測カウンタ23の値をラッチして保存する第2データラッチ25−1〜25−4とを設け、更に、速度演算周期ごとに入力データをラッチする角度データラッチ27−1〜27−4及び時間データラッチ28−1〜28−4を設ける。
CPU30では、速度演算周期ごとに角度計測値(データラッチ27−1〜27−4の値)と時間計測値(データラッチ28−1〜28−4の値)とを読み込み、後述するフローチャートに従って電動機の速度を検出する。
【0007】
なお、26は、ラッチ信号ED0〜ED3からA相パルス、B相パルスのエッジ変化を検出して保持するエッジ保持部、29は、エッジ保持部26の出力信号FIL0〜FIL3から、エッジの変化が1回でもあれば「1」を、変化が1回もなければ「0」を設定して保持することによりエッジの変化情報を保持するエッジ変化情報保持部、31はコントローラ、32は第3データラッチを示す。
【0008】
図7は、上記従来技術による速度検出動作を示すフローチャートである。
速度演算周期ごとにエッジの変化の有無を
図6のエッジ保持部26により検出し、速度演算周期ごとにラッチしたエッジ変化情報保持部29の出力値F0〜F3をCPU30が読み込む。速度演算周期において一度でもエッジを検出していたら、カウント値の大小から最新のエッジを検索し、最新エッジに対応するデータラッチ27−1〜27−4の角度計測値とデータラッチ28−1〜28−4の時間計測値とを用いて、数式1に基づき速度ωを演算する。
【数1】
【0009】
ただし、θ
Newは今回のサンプルタイミングで読み込んだ角度計測値、θ
OLDは前回のサンプルタイミングで読み込んだ角度計測値、T
Sはサンプリング周期(制御周期)、T
Newは今回のサンプルタイミングで読み込んだ時間計測値、T
OLDは前回のサンプルタイミングで読み込んだ時間計測値である。
また、速度演算周期内にパルスが一度も存在しなかった場合は、T
OLDにサンプリング周期T
Sを加えて速度を推定する。
【0010】
この従来技術による速度検出方法には、以下のような問題がある。
(1)角度計測カウンタ22によりエンコーダの出力パルスの数を計測しているので、速度演算周期ごとにパルスが多数存在するような高速域では、角度計測カウンタ22がオーバーフローして速度を検出できないことがある。
(2)(1)の問題に対して、角度計測カウンタ22のオーバーフローを防止するために、角度計測カウンタ22の測定可能な範囲に余裕をもたせると記憶容量が大きくなり、制御装置のコストが増大する。
(3)電動機に取り付けられるエンコーダのパルス数は数百から数十万まで様々であるため、上記(1)や(2)に記載した角度計測カウンタ22の制約から、エンコーダによっては使用できないものもある。すなわち、特許文献1による速度検出方法では汎用性に限界がある。
【0011】
上記の問題点を解決する従来技術として、特許文献2に係る速度検出装置が公知となっている。以下、この速度検出装置の構成及び動作を、
図3〜
図5を参照しつつ説明する。
図3は、特許文献2に係る速度検出装置の構成を示しており、エッジ検出手段としてのラッチ信号作成部21は、エンコーダ(図示せず)から出力される位相の異なったA相パルス、B相パルスの立ち上がりエッジと立ち下がりエッジとを検出し、ラッチ信号ED0,ED1,ED2,ED3を作成する。
【0012】
上記エンコーダは例えば電動機回転軸に連結されており、その回転速度に比例した数のA相パルス、B相パルスを出力する。これらの出力パルスはA相,B相の2相に限定されず、3相以上であっても良いが、ここでは、2相エンコーダから出力されるA相パルス、B相パルスの立ち上がりエッジ及び立ち下がりエッジの4種類のエッジを用いて速度を検出する場合について説明する。
【0013】
A相パルス、B相パルスは、回転方向検出部32にも入力されている。この回転方向検出部32は、A相パルス、B相パルス及びラッチ信号ED0,ED1,ED2,ED3から、電動機の回転方向(CW:正転,CCW:逆転)を検出する。
回転方向検出部32から出力される信号CW/CCWは、回転方向保持部33に入力され、速度演算周期信号(サンプリング信号)SMPLによりラッチされて回転方向検出信号CWDETとして出力される。
【0014】
ラッチ信号ED0,ED1,ED2,ED3は、時間記憶手段としてのデータラッチ25−1〜25−4に入力されていると共に、エッジ保持部26にも入力されている。
データラッチ25−1〜25−4には、時間計測カウンタ23から出力された時間計測値T
DE0EN〜T
DE3ENが入力されており、ラッチ信号ED0,ED1,ED2,ED3によってこれらの時間計測値T
DE0EN〜T
DE3ENを記憶し、次段のデータラッチ28−1〜28−4に送られる。上記時間計測カウンタ23は、速度演算周期に同期してゼロになるダウンカウンタである。
データラッチ28−1〜28−4では、速度演算周期信号SMPLによりラッチした時間計測値T
DE0EN〜T
DE3ENを、時間計測値T
0EN〜T
3ENとしてCPU30に送出する。
【0015】
ラッチ信号ED0,ED1,ED2,ED3は、J−Kフリップフロップ等からなるエッジ保持部26に入力され、速度演算周期における各エッジの変化の有無が検出される。エッジ保持部26では、各ラッチ信号ED0,ED1,ED2,ED3について、エッジの変化が1回でもあれば「1」を設定して保持し、変化が1回もなければ「0」を設定して保持する。これらの保持データは、エッジ変化情報保持部29に送られ、速度演算周期信号SMPLによりラッチされてエッジ変化検出信号EDF0〜EDF3としてCPU30に送出される。
【0016】
図4は、前記回転方向検出部32の動作を示すタイミングチャートである。回転方向検出部32は、ラッチ信号ED0,ED1,ED2,ED3が発生した際の、A相パルス,B相パルスの状態から回転方向を検出する。
図4において、例えば時点(3)でA相パルスの立ち上がりエッジを信号ED0により検出したときに(ED0が「1」)、B相パルスが検出されない場合(B相パルスが「0」)は、正回転と判断して信号CW(=「1」)を出力する。一方、時点(4)においてB相パルスの立ち下がりエッジを信号ED3により検出したときに(ED3が「1」)、A相パルスが検出された場合(A相パルスが「1」)には、逆回転と判断して信号CCW(=「0」)を出力する。
こうして得られた回転方向検出信号は、回転方向保持部33において速度演算周期信号SMPLによりラッチされ、回転方向検出信号CWDETとしてCPU30に送られる。
なお、
図4において、T
CHNGは回転方向が変化した時点を示している。
【0017】
CPU30では、速度演算周期ごとに、データラッチ28−1〜28−4からの時間計測値T
0EN〜T
3ENと、回転方向保持部33からの回転方向検出信号CWDETと、エッジ変化情報保持部29からのエッジ変化検出信号EDF0〜EDF3とを用いて、電動機の速度を検出する。
【0018】
図5は、速度検出動作を示すタイミングチャートである。ここでは、一例として、
図5における時点(1)のサンプルタイミング(速度演算周期信号SMPLのタイミング)で速度を検出するものとして説明する。
図5の時点(1)において、図示するサンプルタイミングによれば、最新のエッジは信号ED0によるA相パルスの立ち上がりエッジである。これは、エッジ変化検出信号EDF0〜EDF3から、EDF0が「1」であり、その他のEDF1〜EDF3が「0」であることから判断する。ここで、
図5ではEDF0の値のみを図示し、EDF1〜EDF3を省略してある。
【0019】
なお、エッジ変化検出信号EDF0〜EDF3のうち複数が「1」になった場合は、対応する時間計測値が最小になるものを最新のエッジとみなす。これは、時間計測カウンタ23が、サンプルタイミングでゼロとなるダウンカウンタであり、最新エッジに対応する時間計測値がゼロに近いからである。勿論、時間計測カウンタ23としてアップカウンタを使用しても良く、その場合には、対応する時間計測値が最大になるものを最新のエッジとみなせば良い。
【0020】
このため、信号ED0によりラッチした時間計測値T
DE0EN=T
0EN1が最新の時間計測値(今回値)であり、前回の信号ED0が発生した時の時間計測値T
DE0EN=T
0EN0を前回値として使用する。このT
0EN0の値は、時点(1)でデータラッチ28−1から読み込むことはできないが、前回のエッジ変化検出信号EDF0が「1」であった時点(1)’でCPU30内のメモリに保存しておくことにより使用可能である。
また、速度演算周期に対応する時間計測カウンタ23の最大値をT
maxとし、前回値T
0EN0から今回値T
0EN1までの間にEDF0がゼロであったサンプリング回数をN
0として、これらをCPU30のメモリに記憶しておき、数式2に基づいて速度nを演算する。
【数2】
【0021】
なお、数式2において、CW
signは回転方向を示し、正回転(CW)を「1」、逆回転(CCW)を「−1」とする。また、Kはエンコーダの1回転あたりの出力パルス数に関係する定数である。
【発明の概要】
【発明が解決しようとする課題】
【0023】
上述した特許文献2に係る従来技術には、以下のような問題がある。
すなわち、電力変換器によって駆動される電動機の速度を検出する場合、エンコーダの出力パルスが密になる高速域では、電力変換器の出力電圧の位相を演算する際に速度検出値の演算周期の遅れから位相遅れが発生する。特に、永久磁石同期電動機等を駆動する場合には、永久磁石の磁束軸との誤差が発生し、トルク制御誤差となる。このようにトルク誤差が発生すると、電動機を流れる電流が増加して電動機の損失が増大し、効率が低下することもあり、好ましくない。
【0024】
以下、上述した位相遅れが発生する理由について詳しく説明する。
図8は、一般的な速度制御システムの構成図である。同図において、101,103は減算手段、102は速度制御手段、104は電流制御手段、105,107は座標変換手段、106は速度検出手段である。
【0025】
図示するように速度制御システムは、簡単に言うと、速度指令と検出検出値との偏差からトルク指令や電流指令を演算する速度制御系と、電流指令と電流検出値との偏差から電圧指令を演算する電流制御系と、電圧指令や電流検出値を座標変換する座標変換手段とから構成されている。
速度制御系と電流制御系とでは、対象とする電動機の時定数が異なるため(速度制御系では機械系の時定数となり、電流制御系の電気的な時定数に比べて数倍遅い)、制御周期を変えて演算している。このように制御周期を変える方法によれば、マイクロプロセッサなどの演算負荷を分散して制御装置のコストを低減できるため、広く用いられている。一般的に速度制御系の制御周期(前述した速度演算周期信号SMPLに相当)は、電流制御系の制御周期の4〜10倍に設計されている。
【0026】
ここで、座標変換手段105,107では、電流や電圧の位相を用いて座標変換を行う。この位相は、速度を積分して求めることになるが、前述したように速度制御系の制御周期により演算された速度検出値を積分すると、電流制御系の制御周期に対して時間が遅くなる。特に高速領域では、時間遅れに対して位相のずれが相対的に大きくなるので、永久磁石同期電動機等の磁束位置を正確に把握して制御する場合、位相にずれがあると制御軸と実際の磁束位置との間にずれが発生する。
【0027】
上記の問題に対処するため、
図3の構成に、電流制御の制御周期でA相パルス、B相パルスのエッジを保持する機能を追加すると、それぞれのエッジに対して2倍の保持回路と記憶容量とが必要となり、制御装置のコストが増大する。
そこで本発明の解決課題は、特許文献2に係る従来技術に対して最小限の回路を追加することで、特に高速域における位相ずれを防止して高精度な速度制御を可能にした電動機の制御装置を提供することにある。
【課題を解決するための手段】
【0028】
上記課題を解決するため、請求項1に係る発明は、電力変換器により可変速駆動される電動機の制御装置であって、
電動機に取り付けられたエンコーダの出力パルスから電動機の回転速度を演算し、その速度検出値が速度指令に一致するように第1の制御周期に従って速度制御を行うことにより電動機の電流指令を生成する速度制御系と、
電動機の電流検出値が電流指令に一致するように第1の制御周期よりも短い第2の制御周期に従って電流制御を行うことにより電力変換器の出力電圧指令を生成する電流制御系と、
電力変換器の出力電圧位相を用いて前記出力電圧指令及び電流検出値を座標変換する手段と、
を備えた制御装置において、
前記出力パルスのエッジを検出するエッジ検出手段と、
検出されたエッジに基づいて電動機の回転方向を検出する回転方向検出手段と、
第1の制御周期に同期した時間を計測する時間計測手段と、
前記エッジ検出手段の出力により前記時間計測手段の時間計測値を保持する時間記憶手段と、
第1の制御周期内の前記エッジの変化状態を検出しエッジ変化情報として保持するエッジ変化情報保持手段と、
第1の制御周期ごとに保持された回転方向、時間計測値、及び前記エッジ変化情報を用いて電動機の回転速度を演算する演算手段と、
前記出力パルスのエッジのうち少なくとも一つのエッジの数をカウントする計数手段と、
この計数手段によるカウント値を第2の制御周期ごとに保持する保持手段と、
前記保持手段により保持された前記カウント値から前記出力電圧位相を演算する第1の位相演算手段と、
前記第1の制御周期により演算された速度検出値から前記出力電圧位相を演算する第2の位相演算手段と、
を有
し、
電動機の回転速度が高い場合には前記第1の位相演算手段により、電動機の回転速度が低い場合には前記第2の位相演算手段により、前記出力電圧位相を演算することを特徴とする。
【発明の効果】
【0030】
本発明によれば、高速域で電動機を駆動する場合にも演算遅れによる位相ずれを防止することができ、低速から高速に至る広汎な速度範囲にわたって高精度な速度制御を実現することが可能である。
【発明を実施するための形態】
【0032】
以下、図に沿って本発明の実施形態を説明する。
図1は、この実施形態に係る制御装置の主要部としての速度検出装置を示すブロック図であり、
図3と同一の構成要素には同一の番号を付して説明を省略し、以下では異なる部分を中心に説明する。
【0033】
まず
、本発明
の実施形態は、A相パルス、B相パルスの立ち上がりエッジまたは立ち下がりエッジのうち少なくとも一つのエッジ(
図1の例では、A相パルスの立ち上がりエッジに対応するラッチ信号ED0)をカウンタ41によりカウントし、このカウント値を、速度制御系の制御周期(便宜的に第1の制御周期という)よりも短い周期(例えば電流制御系の制御周期であり、便宜的に第2の制御周期という)の速度演算周期信号(サンプリング信号)SMPL2によりラッチ42に保持してCPU30にデータを送ると共に、CPU30が前記カウント値から座標変換に用いる位相を演算することに特徴がある。
【0034】
CPU内部では、ラッチ42から入力されるカウント値をNとして、数式3により、前回の制御周期における位相からの移動量Δθを求める。
【数3】
数式3において、K
eはエンコーダの1回転あたりのパルス数であり、pは電動機の極対数を示している。
この数式3によれば、例えば、極対数pが2の電動機を対象とした時にラッチ42から入力されるカウント値Nが1024であり、電流制御系の制御周期の間でエッジを1回検出した場合は、移動量Δθが0.01227〔rad〕、すなわち0.01227〔rad〕だけ位相が進んだことを意味する。
【0035】
前回の制御周期における位相をθ
nとすると、今回のサンプリング時点における位相θ
n+1は、数式4によって求められる。
【数4】
ここで、θ
n+1は回転方向が正の場合はΔθを加算し、負の場合はΔθを減算して求める。
【0036】
なお、本実施形態で用いるカウンタ41は、パルスのエッジ数をカウントするという点で、前述した特許文献1におけるエッジ数計測手段と同じ機能を持っている。しかし、電流制御系と速度制御系との制御周期の違いを前提とした数式4の位相演算方法(電流制御系における位相演算方法)について、特許文献1には何ら開示されていない。
また、本実施形態では、A相パルス、B相パルスの立ち上がりエッジまたは立ち下がりエッジのうち少なくとも一つのエッジを検出すればいいので、特許文献2に係る従来技術に対してカウンタ41及びラッチ42を追加し、CPU30による演算内容を変更するだけで容易に実現可能である。
【0037】
次に、本実施形態において、特許文献2に比べて位相遅れを改善できる理由について述べる。
特許文献2では、電流制御系の位相について触れていないが、一般的には速度と角度との関係から、数式5により位相の移動量Δθを演算することができる。
【数5】
数式5では、数式2により速度制御系の制御周期で演算した速度検出値nを、電流制御系の制御周期T
Sにより積分してΔθを求めている。従って、速度制御系の制御周期で演算した速度検出値nが電流制御系の制御周期T
Sにおいて一定であるという前提で平均化して演算していることになる。
すなわち、電流制御系の制御周期で変化が起こったときに、数式3では次の電流制御系の制御周期で位相の変化を演算することができるが、数式5によれば、速度制御系の制御周期で速度検出値nの変化が起きてから、電流制御系の制御周期で平均化するため、制御周期の差による時間遅れが数式3に対して大きくなる。
【0038】
特に高速域では、電流制御系の制御周期の間にエンコーダの出力パルスから複数のエッジが検出されることになるため、相対的に時間遅れに伴う位相のずれが大きくなる。位相のずれが大きいと、実際のトルクに対して無駄な電流を流さなければならず、損失が増加する等の問題が発生する。
【0039】
そこで、
本実施形態
では、CPU30におけるソフトウェア処理
を以下のように行う。なお、制御装置全体の構成としては
図1と同様である。
【0040】
図2は、
この実施形態における位相の移動量Δθの選択機能を示しており、前述したようにエッジカウント値Nを用いて数式3によりΔθを演算した結果をΔθ
Aとし、速度検出値nを用いて数式5によりΔθを演算した結果をΔθ
Bとする。
高速領域では、カウント値Nが1以上になるため、数式4に代入するΔθを数式3とするために、切替手段51にてΔθ
Aを選択する。一方、低速領域では、Nが0となることもあり、数式3ではΔθがゼロになって位相の変化がないことになる。しかし、実際の速度はゼロではない場合もあるので、数式4に代入するΔθを数式5とするために、切替手段51にてΔθ
Bを選択する。
【0041】
すなわち、この実施形態は速度範囲に応じて位相の移動量Δθを選択するものであり、数式3及び数式5は平均的には同じ値になるので、切替手段51による切り替え時に大きな変動はなく、スムーズに切り替えることが可能である。
以上のように、本実施形態によれば、電動機の速度範囲に応じて電流制御系の制御周期を考慮しつつ位相を求めることで、位相ずれがなく低速域から高速域まで高精度な速度制御を行うことができる。