(57)【特許請求の範囲】
【請求項１】
速度検出対象としての回転体に取り付けられたエンコーダの出力パルスから、回転体の回転速度を検出する速度検出装置において、
前記出力パルスのエッジを検出するエッジ検出手段と、
検出されたエッジに基づいて回転体の回転方向を検出する回転方向検出手段と、
速度演算周期に同期した時間を計測する時間計測手段と、
前記エッジ検出手段の出力により前記時間計測手段の時間計測値を保持する時間記憶手段と、
速度演算周期内の前記エッジの変化状態を検出しエッジ変化情報として保持するエッジ変化情報保持手段と、
前記回転方向及びエッジ変化情報から、速度演算周期内に前記エッジの変化がない場合に次に発生するエッジの位置を予測し、予測したエッジに対応する前記時間計測値及び前記回転方向を少なくとも用いて回転体の回転速度を演算する演算手段と、を有し、
この演算手段は、
前回の速度演算周期における回転体への速度指令値と今回の速度演算周期における回転体への速度指令値とを比較して、回転体が一定速度で回転しているか否かを判別する一定速度判別手段を備え、
前記演算手段は、前記一定速度判別手段により回転体が一定速度で回転していることを判別したときは、速度演算周期内にエッジが存在した時の最新の速度演算値を出力することを特徴とする速度検出装置。
【請求項２】
速度検出対象としての回転体に取り付けられたエンコーダの出力パルスから、回転体の回転速度を検出する速度検出装置において、
前記出力パルスのエッジを検出するエッジ検出手段と、
検出されたエッジに基づいて回転体の回転方向を検出する回転方向検出手段と、
速度演算周期に同期した時間を計測する時間計測手段と、
前記エッジ検出手段の出力により前記時間計測手段の時間計測値を保持する時間記憶手段と、
速度演算周期内の前記エッジの変化状態を検出しエッジ変化情報として保持するエッジ変化情報保持手段と、
前記回転方向及びエッジ変化情報から、速度演算周期内に前記エッジの変化がない場合に次に発生するエッジの位置を予測するエッジ予測手段と、
このエッジ予測手段により予測したエッジに対応する前記時間計測値及び前記回転方向を少なくとも用いて回転体の回転速度を演算する演算手段と、を有し、
この演算手段は、
前回の速度演算周期における回転体へのトルク指令値と今回の速度演算周期における回転体へのトルク指令値との変化量を規定値と比較して、回転体が一定速度で回転しているか否かを判別する一定速度判別手段を備え、
前記演算手段は、前記一定速度判別手段により回転体が一定速度で回転していることを判別したときは、速度演算周期内にエッジが存在した時の最新の速度演算値を出力することを特徴とする速度検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば電動機を可変速駆動する電動機駆動装置において、電動機に取り付けたエンコーダの出力パルスを用いて電動機速度を検出する速度検出装置に関するものである。
【背景技術】
【０００２】
電動機を可変速駆動する装置として、インバータが知られている。インバータの機能の中で、電動機の速度を高精度に制御するために、電動機に取り付けたエンコーダの出力パルス信号に基づいて電動機速度を検出し、速度指令値との偏差をゼロにする速度調節機能を用いて制御を行うものがある。
【０００３】
しかし、エンコーダの出力パルスは通常、１回転あたりのパルス数が決められており、パルスは回転速度によって粗密が発生する。パルスが粗となる低速領域では、検出精度が悪化して速度検出値に誤差が生じるため、速度制御性能を悪化させる原因となる。速度制御性能が悪化すると、例えばクレーンなどでは、速度制御誤差がトルクのリプルとなり、積荷に振動が伝わって問題になる。あるいは速度制御誤差により、自動運転中に積荷の停止位置に誤差が生じ、他の機器に影響を及ぼす等の問題が生じる。
また、エンコーダの取り付け方により、出力パルスの位相誤差が発生し、この出力パルスに基づく検出方法では、速度検出値に位相誤差の影響が現れ、上述したようなトルクリプル等の問題を引き起こす。
【０００４】
そこで、上述の問題を解決するため、後述する特許文献１には、エンコーダの出力パルスの立ち上がりエッジ、立ち下がりエッジを利用して速度を検出する方法が開示されている。
図６は、特許文献１に記載された従来技術の構成図であり、ラッチ信号作成部２１は、エンコーダから出力されるＡ相、Ｂ相という位相の異なった２種類のパルスからそれぞれの立ち上がりエッジ、立ち下がりエッジを検出し、合計４種類のラッチ信号ＥＤ０〜ＥＤ３を作成する。角度計測カウンタ２２は、ラッチ信号（４Ｆ）と電動機の回転方向を示すＵＰ／ＤＯＷＮ信号とを用いてカウンタのＵＰ，ＤＯＷＮを行う。
【０００５】
時間計測カウンタ２３は、速度演算周期に同期してゼロになるダウンカウンタである。また、４種類のラッチ信号ＥＤ０〜ＥＤ３のそれぞれに対応させて、角度計測カウンタ２２の値をラッチして保存する第１データラッチ２４−１〜２４−４と、時間計測カウンタ２３の値をラッチして保存する第２データラッチ２５−１〜２５−４とを設け、更に、速度演算周期毎に入力データをラッチする角度データラッチ２７−１〜２７−４，時間データラッチ２８−１〜２８−４を設ける。
なお、ＣＰＵ３０では、速度演算周期毎に角度計測値（データラッチ２７−１〜２７−４の値）と時間計測値（データラッチ２８−１〜２８−４の値）とを読み込み、検出フローチャートに従って電動機の速度を検出する。
【０００６】
また、２６は、ラッチ信号ＥＤ０〜ＥＤ３からＡ相パルス、Ｂ相パルスのエッジ変化を検出して保持するエッジ保持部、２９は、エッジ保持部２６の出力信号ＦＩＬ０〜ＦＩＬ３から、エッジの変化が１回でもあれば「１」を、変化が１回もなければ「０」を設定して保持することによりエッジの変化情報を保持するエッジ変化情報保持部、３１はコントローラを示す。
【０００７】
図７は、上記従来技術による速度検出動作を示すフローチャートである。
速度演算周期毎にエッジの変化の有無を図６のエッジ保持部２６により検出し、速度演算周期毎にラッチしたエッジ変化情報保持部２９の出力値Ｆ０〜Ｆ３をＣＰＵ３０が読み込む。速度演算周期において一度でもエッジを検出していたら、カウント値の大小から最新のエッジを検索し、最新エッジに対応するデータラッチ２７−１〜２７−４の角度計測値とデータラッチ２８−１〜２８−４の時間計測値とを用いて、数式１に基づき速度ωを演算する。
【０００８】
【数１】
0004952631.tif 000002
【０００９】
ただし、θＮｅｗは今回のサンプルタイミングで読み込んだ角度計測値、θＯＬＤは前回のサンプルタイミングで読み込んだ角度計測値、ＴＳはサンプリング周期、ＴＮｅｗは今回のサンプルタイミングで読み込んだ時間計測値、ＴＯＬＤは前回のサンプルタイミングで読み込んだ時間計測値である。
また、回転速度が低く、速度演算周期内にパルスが一度も存在しなかった場合は、ＴＯＬＤにサンプリング周期ＴＳを加えて速度ωＳを推定する。
【００１０】
上記の従来技術では、低速域において速度演算周期内にエンコーダからパルスが発生せず、エッジが存在しない場合には、サンプルタイミングを基準として最新のエッジに対応する時間にサンプリング周期ＴＳを加算することで時間計測値を補正し、速度ωＳを推定しているが、速度の真値に対して誤差が発生し、電動機のトルクリプル等の問題を生じることがある。
このような点に鑑み、出願人は、従来技術よりも更に速度検出誤差を低減させるために、特願２００７−２５９７２０号に係る速度検出装置を出願している。
以下、この先願発明について説明する。この先願発明の特徴は、速度演算周期内にパルスが発生しないような低速域においては次に発生するエッジを予測し、この予測エッジに応じた時間補正値を用いて速度演算用の時間計測値を補正することにある。
【００１１】
図８は先願発明に係る速度検出装置の構成図であり、図６と同一の構成要素には同一の参照符号を付してある。
図８において、２１はエッジ検出手段としてのラッチ信号作成部であり、エンコーダ（図示せず）から出力される位相の異なったＡ相パルス、Ｂ相パルスの立ち上がりエッジと立ち下がりエッジとを検出し、ラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３を作成する。上記エンコーダは、例えば速度を検出するべき回転体である電動機回転軸に連結されて、その回転速度に比例した数のＡ相パルス、Ｂ相パルスを出力する。なお、以下では、２相エンコーダから出力されるＡ相パルス、Ｂ相パルスの立ち上がりエッジ及び立ち下がりエッジの４種類のエッジを用いて速度を検出する場合について説明する。
【００１２】
上記Ａ相パルス、Ｂ相パルスは、回転方向検出部３２にも入力されている。この回転方向検出部３２は、後述するように、Ａ相パルス、Ｂ相パルス及びラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３から、電動機の回転方向（ＣＷ：正転，ＣＣＷ：逆転）を検出する。回転方向検出部３２から出力される信号ＣＷ／ＣＣＷは、回転方向保持部３３に入力され、速度演算周期信号（サンプリング信号）ＳＭＰＬによりラッチされて回転方向検出信号ＣＷＤＥＴとして出力される。
回転方向検出部３２からは、回転方向が変化したことを示す回転方向変化検出信号ＣＨＮＧも出力されており、この信号ＣＨＮＧは、回転方向変化エッジ記憶部３４に入力されている。回転方向変化エッジ記憶部３４は、回転方向が変化した際のエッジ情報を保持し、回転方向変化エッジ信号ＣＨＮＧＥＤとしてＣＰＵ３０Ａに出力する。
【００１３】
前記ラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３は、時間記憶手段としてのデータラッチ２５−１〜２５−４に入力されていると共に、エッジ保持部２６にも入力されている。
データラッチ２５−１〜２５−４には、図６と同様に時間計測カウンタ２３から出力された時間計測値（時間カウント値）ＴＤＥ０ＥＮ〜ＴＤＥ３ＥＮが入力されており、ラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３によってこれらの時間計測値ＴＤＥ０ＥＮ〜ＴＤＥ３ＥＮを記憶し、次段のデータラッチ２８−１〜２８−４に送るように構成されている。上記時間計測カウンタ２３は、速度演算周期に同期してゼロになるダウンカウンタである。
データラッチ２８−１〜２８−４では、速度演算周期信号ＳＭＰＬによりラッチした時間計測値ＴＤＥ０ＥＮ〜ＴＤＥ３ＥＮを、時間計測値Ｔ０ＥＮ〜Ｔ３ＥＮとしてＣＰＵ３０Ａに送出する。
【００１４】
ラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３は、Ｊ−Ｋフリップフロップ等からなるエッジ保持部２６に入力され、速度演算周期における各エッジの変化の有無が検出される。エッジ保持部２６では、各ラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３について、エッジの変化が１回でもあれば「１」を設定して保持し、変化が１回もなければ「０」を設定して保持する。これらの保持データは、エッジ変化情報保持部２９に送られ、速度演算周期信号ＳＭＰＬによりラッチされてエッジ変化検出信号ＥＤＦ０〜ＥＤＦ３としてＣＰＵ３０Ａに送出される。
【００１５】
図９は、前記回転方向検出部３２の動作を示すタイミングチャートである。
回転方向検出部３２は、ラッチ信号ＥＤ０，ＥＤ１，ＥＤ２，ＥＤ３が発生した際の、Ａ相パルス，Ｂ相パルスの状態から回転方向を検出する。
すなわち、図９において、例えば時点（３）でＡ相パルスの立ち上がりエッジを信号ＥＤ０により検出したときに（ＥＤ０が「１」）、Ｂ相パルスが検出されない場合（Ｂ相パルスが「０」）は、正回転と判断して信号ＣＷ（＝「１」）を出力する。一方、時点（４）においてＢ相パルスの立ち下がりエッジを信号ＥＤ３により検出したときに（ＥＤ３が「１」）、Ａ相パルスが検出された場合（Ａ相パルスが「１」）には、逆回転と判断して信号ＣＣＷ（＝「０」）を出力する。
こうして得られた回転方向検出信号は、回転方向保持部３３において速度演算周期信号ＳＭＰＬによりラッチされ、回転方向検出信号ＣＷＤＥＴとしてＣＰＵ３０Ａに送られる。
なお、図９において、ＴＣＨＮＧは回転方向が変化した時点を示している。
【００１６】
ＣＰＵ３０Ａでは、速度演算周期毎に、データラッチ２８−１〜２８−４からの時間計測値Ｔ０ＥＮ〜Ｔ３ＥＮと、回転方向保持部３３からの回転方向検出信号ＣＷＤＥＴと、エッジ変化情報保持部２９からのエッジ変化検出信号ＥＤＦ０〜ＥＤＦ３とを用いて、電動機の速度を検出する。
【００１７】
図１０は、正回転時における速度検出動作を示すタイミングチャートである。ここでは、一例として、図１０における時点（１）のサンプルタイミング（速度演算周期信号ＳＭＰＬのタイミング）で速度を検出するものとして説明する。
図１０の時点（１）において、図示するサンプルタイミングによれば、最新のエッジは信号ＥＤ０によるＡ相パルスの立ち上がりエッジである。これは、エッジ変化検出信号ＥＤＦ０〜ＥＤＦ３から、ＥＤＦ０が「１」であり、その他のＥＤＦ１〜ＥＤＦ３が「０」であることから判断する。なお、図１０ではＥＤＦ０の値のみを図示し、ＥＤＦ１〜ＥＤＦ３を省略してある。
【００１８】
このため、信号ＥＤ０によりラッチした時間計測値ＴＤＥ０ＥＮ＝Ｔ０ＥＮ１が最新の時間計測値（今回値）であり、前回の信号ＥＤ０が発生した時の時間計測値ＴＤＥ０ＥＮ＝Ｔ０ＥＮ０を前回値として使用する。このＴ０ＥＮ０の値は、時点（１）でデータラッチ２８−１から読み込むことはできないが、前回のエッジ変化検出信号ＥＤＦ０が「１」であった時点（１）’でＣＰＵ３０Ａ内のメモリに保存しておくことにより使用可能である。
また、速度演算周期に対応する時間計測カウンタ２３の最大値をＴｍａｘとし、前回値Ｔ０ＥＮ０から今回値Ｔ０ＥＮ１までの間にＥＤＦ０がゼロであったサンプリング回数をＮ０として、これらをＣＰＵ３０Ａのメモリに記憶しておき、数式２に基づいて速度ｎを演算する。
【００１９】
【数２】
0004952631.tif 000003
【００２０】
なお、数式２において、ＣＷｓｉｇｎは回転方向を示し、正回転（ＣＷ）を「１」、逆回転（ＣＣＷ）を「−１」とする。また、Ｋはエンコーダの１回転あたりの出力パルス数に関係する定数である。
【００２１】
図１０に示すように、回転方向が変化していない場合には、Ａ相パルス、Ｂ相パルスは順序通り発生する。例えば、図１０において、Ａ相パルスの立ち上がり→Ｂ相パルスの立ち上がり→Ａ相パルスの立ち下がり→Ｂ相パルスの立ち下がりという順序は不変である。このため、図１０の時点（１）のサンプルタイミングで速度検出を行う場合、回転方向が変化していなければ、前回のＡ相パルスの立ち上がりから今回のＡ相パルスの立ち上がりまでに計４回のエッジが発生したことがわかる。
【００２２】
よって、数式２の分子を、Ａ相パルス１周期内に存在するＡ相，Ｂ相パルスのエッジ数とおいて速度ｎを検出することができる。なお、数式２における分子の４は、本実施形態のように、Ａ相パルス，Ｂ相パルスを出力する２相エンコーダの場合に、Ａ相パルス（またはＢ相パルス）の１周期内に存在する全相（つまりＡ相，Ｂ相）パルスのエッジ数であり、エンコーダの相数によって異なるのは明らかである。また、数式２における定数Ｋは、前述した如く、使用するエンコーダの１回転あたりの出力パルス数によって変化する。
従って、エンコーダの相数や出力パルス数に応じて上記エッジ数（数式２における分子の数値）や定数ＫをＣＰＵ３０Ａが変更すれば、数式２により、エンコーダの相数や出力パルス数に関係なく速度を検出することができる。
【００２３】
次いで、低速時における速度検出動作を、図８，図１１，図１２を参照しつつ説明する。
図８に示したＣＰＵ３０Ａは、速度演算周期毎にデータラッチ２８−１〜２８−４内の時間計測値Ｔ０ＥＮ，Ｔ１ＥＮ，Ｔ２ＥＮ，Ｔ３ＥＮを内部の記憶部３５−１〜３５−４に読み込み、時間計測値Ｔ０ＭＥＭ１，Ｔ１ＭＥＭ１，Ｔ２ＭＥＭ１，Ｔ３ＭＥＭ１を更新する。
【００２４】
すなわち、ＣＰＵ内部の時間計測値は、内部の記憶部３６に記憶されたエッジ変化情報ＥＤＦ０ＭＥＭ，ＥＤＦ１ＭＥＭ，ＥＤＦ２ＭＥＭ，ＥＤＦ３ＭＥＭに基づいて速度演算周期内にエッジの変化が検出されたとき、前回の時間計測値Ｔ０ＭＥＭ０，Ｔ１ＭＥＭ０，Ｔ２ＭＥＭ０，Ｔ３ＭＥＭ０を今回値Ｔ０ＭＥＭ１，Ｔ１ＭＥＭ１，Ｔ２ＭＥＭ１，Ｔ３ＭＥＭ１に更新する。なお、別の記憶部３７内の回転方向情報は、速度演算周期毎に今回値ＣＷＭＥＭ１、前回値ＣＷＭＥＭ０としてそれぞれ更新される。
【００２５】
最新エッジ検出部３８は、記憶部３６のエッジ変化情報から、一つだけエッジが検出された場合はそれを最新エッジとみなし、そのエッジに対応する記憶部３５−１〜３５−４内の時間計測値を最新エッジの時間計測値とみなす。仮に、速度演算周期内に複数のエッジが検出された場合は、時間計測値が小さいエッジの方がサンプルタイミングに近いものとして、そのエッジを最新エッジとみなす。
最新エッジ検出部３８により得た最新エッジ判別信号（ＥＤＦ０〜ＥＤＦ３に対応させて、「０」〜「３」の値をとる）と、最新エッジに対応する時間計測値とは、記憶部３７からの回転方向判別信号及び記憶部３６からのエッジ有無判別信号と共にエッジ予測・速度演算部３９に送られる。
【００２６】
図１１は、最新エッジ検出部３８、エッジ予測・速度演算部３９等の動作を示すタイミングチャートである。
最新エッジ判別信号及び最新エッジ時間計測値は、前述のように最新エッジ検出部３８にて作成され、図１１の時点（１）のように、エンコーダパルスのエッジが発生した直後のサンプルタイミングで更新される。いま、時点（１）’に着目すると、時点（１）から（１）’までの速度演算周期内にエンコーダパルスのエッジは検出されず、ＣＰＵ３０Ａの内部のエッジ変化情報ＥＤＦ０ＭＥＭ，ＥＤＦ１ＭＥＭ，ＥＤＦ２ＭＥＭ，ＥＤＦ３ＭＥＭは、全てゼロである。ここで、時点（１）以後は、最新エッジ検出部３８から出力される最新エッジ判別信号が、Ａ相パルスの立ち上がりエッジを示す「０」となっている。
【００２７】
このとき、時点（１）ではＡ相パルスの立ち上がりエッジを検出しているので、時点（１）’では、回転方向が正であれば、次に発生するのはＢ相パルスの立ち上がりエッジであると予測できる。従って、時点（１）以後にエッジ予測・速度演算部３９から出力される次のエッジ予測値（最新エッジ判別信号と同様に、ＥＤＦ０〜ＥＤＦ３に対応させて「０」〜「３」の値をとる）は、Ｂ相パルスの立ち上がりエッジを示す「１」となる。
なお、回転方向が逆のときは、次に発生するのはＢ相パルスの立ち下がりエッジであるから、次のエッジ予測値が「３」となる。
以下、回転方向が正回転であるものとして説明を続ける。
【００２８】
エッジ予測・速度演算部３９は、時点（１）’におけるエッジ予測値から、エッジ時間補正値Ｔ１ｃｍｐを数式３により演算する。
【００２９】
【数３】
0004952631.tif 000004
【００３０】
ただし、Ｎ１は、前回、Ｂ相立ち上がりエッジを検出してから時点（１）’までのサンプリング回数を表し、Ｔｍａｘは、サンプリング周期に同期した時間計測カウンタ２３の最大値である。
数式３における定数（１／２）は、次のエッジが、サンプリング周期の中央で発生すると予測したためである。図１１のａ点に着目すると、予測誤差は次に発生するエンコーダパルスがサンプリング周期内のどの点であっても、サンプリング周期の１／２以内となり、検出誤差を最小にすることができる。なお、上記の定数は１／２に限定されるものではなく、状況に応じて変更してもよい。
エッジ予測・速度演算部３９は、前回のＢ相パルスの立ち上がりエッジに対応する時間計測値、数式４のエッジ時間補正値、及び回転方向から、数式４により速度ｎを計算する。
【００３１】
【数４】
0004952631.tif 000005
【００３２】
ただし、Ｔ１ＭＥＭ１は、前回のＢ相パルスの立ち上がりエッジを検出した際の時間計測値であり、今回のサンプルタイミングではエッジを検出していないので、更新されない。
以上のように先願発明では、速度演算周期内にパルスが発生しないような低速域では次に発生するエッジをもとに時間計測を行っており、予測エッジの位置をサンプリング周期の中央とするためＥｒｒＴは発生せず、時間計測値の誤差は真値Ｔ０の１／４未満となり、特許文献１に係る従来技術と比べて検出誤差を大幅に低減可能としている。
【００３３】
【特許文献１】特開平６−１１８０９０号公報（段落［００２４］〜[００４３]、図２，図１４）
【発明の開示】
【発明が解決しようとする課題】
【００３４】
先願発明においては、低速域で速度演算周期内にパルスが発生しないような場合に、次のエッジが到達する時間を予測して速度を検出している。これにより、図１２に示すように、特許文献１に係る従来技術に対して低速時における速度検出誤差を大幅に改善することが可能であるが、速度演算周期内に２，３回と連続してパルスが発生しないような極低速域においては、速度の真値に対する誤差を完全になくすことができず、電動機等の速度制御誤差によりトルクリプルが発生する等の問題を生じていた。
そこで、本発明の解決課題は、従来技術や先願発明に対して極低速域における速度検出誤差を一層低減し、高精度な速度検出を可能にした速度検出装置を提供することにある。
【課題を解決するための手段】
【００３５】
上記課題を解決するため、請求項１に係る発明は、速度検出対象としての回転体に取り付けられたエンコーダの出力パルスから、回転体の回転速度を検出する速度検出装置において、
前記出力パルスのエッジを検出するエッジ検出手段と、
検出されたエッジに基づいて回転体の回転方向を検出する回転方向検出手段と、
速度演算周期に同期した時間を計測する時間計測手段と、
前記エッジ検出手段の出力により前記時間計測手段の時間計測値を保持する時間記憶手段と、
速度演算周期内の前記エッジの変化状態を検出しエッジ変化情報として保持するエッジ変化情報保持手段と、
前記回転方向及びエッジ変化情報から、速度演算周期内に前記エッジの変化がない場合に次に発生するエッジの位置を予測し、予測したエッジに対応する前記時間計測値及び前記回転方向を少なくとも用いて回転体の回転速度を演算する演算手段と、を有し、
この演算手段は、
前回の速度演算周期における回転体への速度指令値と今回の速度演算周期における回転体への速度指令値とを比較して、回転体が一定速度で回転しているか否かを判別する一定速度判別手段を備え、
前記演算手段は、前記一定速度判別手段により回転体が一定速度で回転していることを判別したときは、速度演算周期内にエッジが存在した時の最新の速度演算値を出力するものである。
【００３６】
請求項２に係る発明は、前記一定速度判別手段が、前回の速度演算周期における回転体へのトルク指令値と今回の速度演算周期における回転体へのトルク指令値との変化量を規定値と比較して、回転体が一定速度で回転しているか否かを判別するものである。
【発明の効果】
【００３７】
本発明によれば、速度演算周期内にエンコーダからパルスが発生せず、エッジが存在しないような極低速域において、電動機等の回転体の回転速度が一定であるか否かに応じて速度演算方法を切り替えることにより、速度検出誤差を０にして高精度な速度検出を行うことができる。
【発明を実施するための最良の形態】
【００３８】
以下、図に沿って本発明の実施形態を説明する。まず、本発明の特徴は、速度演算周期内に連続してパルスが発生しないような極低速域において、回転体の回転速度が一定であるか否かに応じて速度演算方法を切り替え、極低速域での速度検出精度を向上させるようにしたことにある。
図１は、この実施形態の構成図である。図１において、ＣＰＵ３０Ｂの内部構成以外は図８と同様であるため、同一の構成要素には同一の参照符号を付して説明を省略し、以下では図８との相違点を中心に説明する。
【００３９】
図１において、ＣＰＵ３０Ｂに設けられた一定速度判別部４０では、ＣＰＵ３０Ｂ内部の制御信号を利用して回転体が一定速度で回転しているか否かを判別し、一定速度信号を生成する。そして、エッジ予測・速度演算部３９では、エッジ有無判別信号、回転方向判別信号、最新エッジ判別信号、最新エッジ時間計測値に基づいて速度検出値を演算する。速度検出値を演算するための基本的な演算式は先願発明と同様であるが、本実施形態では、前記一定速度信号に応じて速度演算方法を切り替えることを特徴としている。
【００４０】
図２は、図１における一定速度判別部４０の第１実施例を示す構成図であり、請求項１に記載した発明に相当する。この第１実施例では、回転体が一定速度で回転しているか否かを判別するために速度指令値を用いている。すなわち、一定速度判別部４０は、前回の速度演算周期における速度指令値を記憶する前回値記憶レジスタ４１と、このレジスタ４１に記憶されている速度指令値の前回値を今回値（今回の速度演算周期における速度指令値）と比較する比較手段４２とを備えている。そして、比較手段４２による比較の結果、上記前回値と今回値とが一致していれば、回転体が一定速度で回転していると判断し、一定速度信号をエッジ予測・速度演算部３９へ出力する。
【００４１】
ここで、速度指令値の前回値と今回値とを比較することにより、回転体が一定速度で回転しているか否かを判別できる理由を説明する。
一般に、インバータへの速度指令値はタッチパネル等から入力されるが、タッチパネルから入力される速度指令値は図３に示すようにステップ状に変化する。しかし、通常、インバータには速度指令値に対する傾き制限機能があり、制御に用いるインバータ内部での速度指令値は、図３に示す如くインバータ内部に設定された加減速時間から決まる一定の傾きで変化する。その結果、回転体の実際の回転速度は、この一定の傾きを持った速度指令値に追従して変化する。よって、加減速中は速度指令値が一定の傾きで常に変化していることになり、速度指令値の前回値と今回値とを比較することにより、回転体が一定速度で回転しているか否かを判別することができる。
【００４２】
図４は、図１におけるエッジ予測・速度演算部３９の構成を示している。演算ブロック３９１では、回転方向判別信号、最新エッジ判別信号、最新エッジ時間計測値から速度検出値を演算する。ここで、エッジ有無判別信号によりエッジがあると判断した場合は前述した数式２、エッジがないと判断した場合は予測エッジを用いた数式４により速度を演算する。これらの演算原理は先願発明と同様であり、本実施形態では、演算ブロック３９１の後段に速度演算値記憶部３９２を有する点が特徴となっている。
【００４３】
速度演算値記憶部３９２では、エッジ有無判別信号を受け取り、速度演算周期内にパルスのエッジが存在する場合にのみ速度演算値を記憶する。よって、エッジが存在しない場合は速度演算値を新たに記憶せず、既に記憶されていた速度演算値を保持する。その結果、速度演算値記憶部３９２の内部レジスタには、最新のエッジを用いて演算した速度演算値のみが記憶されることになる。
なお、速度演算値に代えて時間計測値を記憶させても良い。
【００４４】
更に、速度検出値選択部３９３では、前記一定速度判別部４０から入力される一定速度信号の有無により、回転体の速度制御に用いる速度演算値（速度検出値）を選択する。すなわち、一定速度信号が存在する場合は、速度演算値記憶部３９２に記憶されている速度演算値を選択し、これを速度検出値として出力する。すなわち、回転体が一定速度で回転していると判別し、かつ速度演算周期内でエッジを検出しなかった場合は、前回の速度演算周期における速度演算値を出力するのと等価な動作になる。速度演算値記憶部３９２に記憶されている速度演算値は、制御タイミングによっては直前の速度演算周期における情報を用いた値ではないが、回転体の回転速度が一定である場合には、時間的な遅れがあっても速度検出誤差が０となるのは明らかである。
【００４５】
よって、本実施形態によれば、回転体の回転速度が一定の場合は、速度演算周期内にパルスのエッジが存在しない極低速時においても速度検出誤差を０とすることが可能となる。  しかし、回転速度が変化しているような場合には、速度演算値記憶部３９２に記憶されている速度演算値を用いてしまうと、かえって速度検出誤差が増加してしまうのは明らかであるから、このような場合には、直前の速度演算周期における情報を用いて速度検出値を得る必要がある。
【００４６】
そこで、速度検出値選択部３９３に一定速度信号が入力されていない場合は、演算ブロック３９１が数式２または数式４により演算した速度演算値を選択し、これを速度検出値として出力する。つまり、先願発明と全く同様の方法で速度検出値を求めることになる。
速度演算周期内でエッジを検出しなかった場合には、予測エッジを用いた数式４による速度演算を行うため、回転速度の変化にも対応可能であり、検出誤差を真値の１／４以下に抑えることが可能となる。更に、速度演算周期内でエッジを検出した場合については、速度検出誤差は０となる。
本実施形態は、先願発明に対してＣＰＵのプログラムを修正するだけで実現可能であり、安価かつ容易に実現することができる。
【００４７】
図２に示した一定速度判別部４０の第１実施例では、速度指令値を用いて回転体が一定速度で回転しているか否かを判別したが、その判別はトルク指令値を用いても行うことができる。
図５は、一定速度判別部４０の第２実施例を示す構成図であり、請求項２に記載した発明に相当する。この第２実施例は、トルク指令値を用いて回転体が一定速度で回転しているか否かを判別するためのものである。なお、速度検出装置を構成する他の部分は図１と同一である。
【００４８】
図５において、前回値記憶レジスタ４３には、前回の速度演算周期におけるトルク指令値が常に記憶されている。トルク指令値の今回値と前回値とは変化量演算手段４４に入力され、一速度演算周期の間にトルク指令値がどれだけ変化したかという変化量が演算される。一定速度信号生成判別手段４５では、トルク指令値の変化量と予め設定された規定値とを比較し、その大小関係に応じて一定速度信号を出力する。
すなわち、変化量＜規定値の場合には一定速度信号を出力し、変化量＞規定値の場合には一定速度信号を停止する。
ここで、トルク指令値の変化量から、回転体が一定速度で回転しているか否かをどのようにして判別するかについて説明する。
トルク指令値Ｔ＊と回転速度ωとの関係は、数式５によって与えられる。
【００４９】
【数５】
0004952631.tif 000006
【００５０】
ただし、数式５において、ＴＬは負荷トルクである。回転体が一定速度で回転している定常状態では、数式５は０である。回転速度が変化するということは、数式５の左辺であるｄω／ｄｔが変化することになるが、この時、負荷トルクＴＬは常に一定と考えると、トルク指令値Ｔ＊も変化するのは明らかである。このことは、回転速度の変動時にトルク指令値が変化することを表しており、トルク指令値の変化量を検出すれば回転体が一定速度で回転しているか否かを判別することが可能である。
【００５１】
以上のことを考慮して、この第２実施例では、トルク指令値の変化量を演算し、この変化量が規定値よりも大きい場合は回転体が加速または減速を行っていると判別して一定速度信号を停止させる。逆に、トルク指令値の変化量が規定値よりも小さい場合は、回転体がほぼ一定速度で回転していると見なせるので、一定速度信号を出力する。
なお、一定速度信号が入力されるエッジ予測・速度演算部３９の動作については、図４を用いて説明したとおりである。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施形態を示す構成図である。
【図２】図１における一定速度判別部の第１実施例を示す構成図である。
【図３】速度指令値の説明図である。
【図４】図１におけるエッジ予測・速度演算部の構成図である。
【図５】図１における一定速度判別部の第２実施例を示す構成図である。
【図６】従来技術を示す構成図である。
【図７】従来技術による速度検出動作を示すフローチャートである。
【図８】先願発明の構成図である。
【図９】先願発明における回転方向検出部の動作を示すタイミングチャートである。
【図１０】先願発明における速度検出動作を示すタイミングチャートである。
【図１１】先願発明における最新エッジ検出部、エッジ予測・速度演算部等の動作を示すタイミングチャートである。
【図１２】従来技術及び先願発明により速度を検出した場合のシミュレーション結果を示す図である。
【符号の説明】
【００５３】
２１：ラッチ信号作成部
２３：時間計測カウンタ
２５−１〜２５−４：データラッチ
２６：エッジ保持部
２８−１〜２８−４：データラッチ
２９：エッジ変化情報保持部
３０Ｂ：ＣＰＵ
３１：コントローラ
３２：回転方向検出部
３３：回転方向保持部
３４：回転方向変化エッジ記憶部
３５−１〜３５−４，３６，３７：記憶部
３８：最新エッジ検出部
３９：エッジ予測・速度演算部
３９１：演算ブロック
３９２：速度演算値記憶部
３９３：速度検出値選択部
４０：一定速度判別部
４１，４３：前回値記憶レジスタ
４２：比較手段
４４：変化量演算手段
４５：一定速度信号生成判別手段
【図１】
0004952631.tif 000007
【図２】
0004952631.tif 000008
【図３】
0004952631.tif 000009
【図４】
0004952631.tif 000010
【図５】
0004952631.tif 000011
【図６】
0004952631.tif 000012
【図７】
0004952631.tif 000013
【図８】
0004952631.tif 000014
【図９】
0004952631.tif 000015
【図１０】
0004952631.tif 000016
【図１１】
0004952631.tif 000017
【図１２】
0004952631.tif 000018