(57)【要約】  高速度領域において、高精度かつ低リップルの速度を検出するとともに、低速度領域においてノイズが多い場合でも、制御性能を劣化させることなく速度を演算することができる速度検出方法を提供する。  位置パルスを出力するパルス発生回路(1)と、位置パルス数を計数するカウンタ(2)と、カウンタ(2)の値をラッチする位置レジスタ(3)と、タイマ(4)と、タイマの値を位置パルスのアップダウンによって記憶するタイマレジスタ(5)と、リード・イネーブル信号を発して位置レジスタ(3)から位置パルス値を、タイマレジスタ(5)からタイマ値を読み込んで速度を演算する速度演算器(6)と、を備えた速度検出装置を用いた速度検出方法において、変化パルスが変化パルス閾値以上となりしかも多パルス連続回数が多パルス連続回数閾値以上である場合は、変化パルスを変化タイマで除算し、その他の場合は、変化パルスをサンプリング周期で除算して速度演算処理をする。
2009034829.tif 000002
【特許請求の範囲】
【請求項１】
位置パルスを出力するパルス発生回路と、前記位置パルスを計数するカウンタと、前記カウンタの値をラッチして位置情報を記憶する位置レジスタと、タイマと、前記タイマの値を前記位置パルスのアップダウンによって記憶するタイマレジスタと、リード・イネーブル信号を発することによって前記位置レジスタから位置パルス値を、前記タイマレジスタからタイマ値を読み込んで速度を演算する速度演算器と、を備えた速度検出装置を用いた速度検出方法において、
１サンプリング周期の間の変化パルス値が連続的に所定の変化パルス閾値以上となった回数である多パルス連続回数と、前回位置パルス値および前回タイマ値を０とし、
前記速度演算器がリード・イネーブル信号を発することによって前記位置レジスタから今回位置パルス値を、また前記タイマレジスタから今回タイマ値を読み込み、
前記今回位置パルス値から前記前回位置パルス値を差し引いた値を前記変化パルス値とし、
前記今回タイマ値から前記前回タイマ値を差し引いた値を変化タイマ値とし、
前記変化パルス値を前記変化パルス閾値と比較し、
前記変化パルス値が前記変化パルス閾値以上である場合、前記多パルス連続回数に１を足して新たな多パルス連続回数とし、前記多パルス連続回数を多パルス連続回数閾値と比較し、前記多パルス連続回数が前記多パルス連続回数閾値以上である場合、前記変化パルス値を前記変化タイマ値で除算することで位置パルス周波数を計算し、
前記多パルス連続回数が前記多パルス連続回数閾値より小さい場合、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、
前記変化パルス値が前記変化パルス閾値より小さい場合、前記多パルス連続回数を０とし、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、
前記前回位置パルス値を前記今回位置パルス値とし、前記前回タイマ値を前記今回タイマ値とする、
という手順で速度演算処理をすることを特徴とする速度検出方法。
【請求項２】
前記変化パルス閾値を、２以上の自然数とすることを特徴とする請求項１記載の速度検出方法。
【請求項３】
前記多パルス連続回数閾値を、１以上の自然数とすることを特徴とする請求項１記載の速度検出方法。
【請求項４】
位置パルスを出力するパルス発生回路と、前記位置パルスを計数するカウンタと、前記カウンタの値をラッチして位置情報を記憶する位置レジスタと、タイマと、前記タイマの値を前記位置パルスのアップダウンによって記憶するタイマレジスタと、リード・イネーブル信号を発することによって前記位置レジスタから位置パルス値を、前記タイマレジスタからタイマ値を読み込んで速度を演算する速度演算器と、を備えたモータ制御装置において、
１サンプリング周期の間の変化パルス値が連続的に所定の変化パルス閾値以上となった回数である多パルス連続回数と、前回位置パルス値および前回タイマ値を０とし、前記速度演算器がリード・イネーブル信号を発することによって前記位置レジスタから今回位置パルス値を、また前記タイマレジスタから今回タイマ値を読み込み、前記今回位置パルス値から前記前回位置パルス値を差し引いた値を前記変化パルス値とし、前記今回タイマ値から前記前回タイマ値を差し引いた値を変化タイマ値とし、前記変化パルス値を前記変化パルス閾値と比較し、前記変化パルス値が前記変化パルス閾値以上である場合、前記多パルス連続回数に１を足して新たな多パルス連続回数とし、前記多パルス連続回数を多パルス連続回数閾値と比較し、前記多パルス連続回数が前記多パルス連続回数閾値以上である場合、前記変化パルス値を前記変化タイマ値で除算することで位置パルス周波数を計算し、前記多パルス連続回数が前記多パルス連続回数閾値より小さい場合、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、前記変化パルス値が前記変化パルス閾値より小さい場合、前記多パルス連続回数を０とし、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、前記前回位置パルス値を前記今回位置パルス値とし、前記前回タイマ値を前記今回タイマ値とする、速度演算器を備えたことを特徴とするモータ制御装置。
【請求項５】
前記変化パルス閾値を、２以上の自然数とすることを特徴とする請求項４記載のモータ制御装置。
【請求項６】
前記多パルス連続回数閾値を、１以上の自然数とすることを特徴とする請求項４記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータのフィードバック制御を行う際に、モータに取り付けられたエンコーダの出力よりモータの速度を検出する方法に関する。
【背景技術】
【０００２】
通常、モータ等の回転体の速度の検出は、位置パルス信号のカウンタ値を所定のサンプリング周期毎に読み取り、この読み取った現在のカウンタ値と前回のカウンタ値とのカウント差を求め、このカウント差をサンプリング周期で除算することにより速度を求めるパルス計数方式が用いられている。速度分解能を上げようとすれば、高分解能のパルス発生回路が必要となる。又、トラッキング回路を具備したパルス発生回路を用いた場合に、速度演算サンプリング周期がトラッキングサンプリング周期の整数倍でないと、ビート現象が生じて検出速度のリップルが大きくなるという問題もあった。
従来、速度検出の分解能を向上させるため、速度の検出は、図２に示した速度検出装置にて周期測定方式を用いた速度演算によって行っている（例えば、特許文献１参照）。
図２において、１はパルス発生回路であり、位置パルス信号７を出力している。２はカウンタであり、位置パルス信号７のアップ、ダウンを計測する。３は位置レジスタであり、カウンタ２の値を一時記憶する。４はタイマ、５はタイマレジスタであり、位置パルス信号７によってタイマ４の値をラッチする。６は速度演算器であり、リード・イネーブル信号１０を発することによって位置レジスタ３から位置パルス値、タイマレジスタ５からラッチされたタイマ値を読み込み、速度を演算する。【０００３】
次に動作を説明する。図３は周期測定方式を示すタイムチャートである。図３において、（ａ）はパルス発生回路１の出力である位置パルス信号７を示す。（ｂ）は位置パルス信号７のアップ、ダウンをカウンタ２で計測したカウンタ値８を示す。（ｃ）はタイマ４の出力であるタイマ値１１を示す。また、カウンタ値８が変化するタイミングにおけるタイマ値１１はタイマレジスタ５のラッチ値となる。（ｄ）は速度演算器６が発するリード・イネーブル信号１０を示す。（ｅ）は速度演算器６が求めた演算速度を示す。リード・イネーブル信号１０が有効になった時点、位置レジスタ３の値を読み取り今回位置パルス値ｎ（ｋ）とし、またタイマレジスタの値を読み取り今回タイマ値ｔ（ｋ）とする。式（１）〜（３）に示す演算式によって、今回位置パルス値と前回位置パルス値との差である変化パルス値Δｎ（ｋ）および今回タイマ値と前回タイマ値との差である変化タイマ値Δｔ（ｋ）を求め、位置パルス周波数ｆ（ｋ）を計算してモータの速度を求めていた。
Δｎ（ｋ）＝ｎ（ｋ）−ｎ（ｋ−１）          （１）
Δｔ（ｋ）＝ｔ（ｋ）−ｔ（ｋ−１）           （２）
ｆ（ｋ）＝Δｎ（ｋ）／Δｔ（ｋ）              （３）
図３より分かるように、変化タイマ値Δｔ（ｋ）は正確にモータが変化パルス値Δｎ（ｋ）の変位をした時間を表しているので、このように求めたモータの速度はビート現象が生じず精度が高くリップルが小さい。
【特許文献１】特開平５−２１５７５８号公報（第２−４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の速度検出方法では、位置パルス信号の変化時刻を記憶し、変化パルス値を変化タイマ値で除算することによって速度を求めるという手順をとっている。そのために１サンプリング周期の間に１パルスの変位がない場合には、変化タイマが１サンプリング周期以上になり、速度検出時間が長くなるので制御ゲインを上げられず制御性能が低下するという問題があった。また、パルス発生回路にノイズが多い場合には、リード・イネーブル信号が有効になる時刻前後にノイズが入り、そのノイズの影響で変化タイマ値が見かけ上小さな値となり、実際の速度よりも異常に大きな速度演算値を出力してしまい、フィードバック制御を通してモータを振動させるという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、高速度領域において、高精度かつ低リップルの速度を検出するとともに、低速度領域においてノイズが多い場合でも、制御性能を劣化させることなく速度を演算することができる速度検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明は、次のような方法および構成としたものである。
請求項１に記載の速度検出方法の発明は、位置パルスを出力するパルス発生回路と、前記位置パルスを計数するカウンタと、前記カウンタの値をラッチして位置情報を記憶する位置レジスタと、タイマと、前記タイマの値を前記位置パルスのアップダウンによって記憶するタイマレジスタと、リード・イネーブル信号を発することによって前記位置レジスタから位置パルス値を、前記タイマレジスタからタイマ値を読み込んで速度を演算する速度演算器と、を備えた速度検出装置を用いた速度検出方法において、
１サンプリング周期の間の変化パルス値が連続的に所定の変化パルス閾値以上となった回数である多パルス連続回数と、前回位置パルス値および前回タイマ値を０とし、
前記速度演算器がリード・イネーブル信号を発することによって前記位置レジスタから今回位置パルス値を、また前記タイマレジスタから今回タイマ値を読み込み、
前記今回位置パルス値から前記前回位置パルス値を差し引いた値を前記変化パルス値とし、
前記今回タイマ値から前記前回タイマ値を差し引いた値を変化タイマ値とし、
前記変化パルス値を前記変化パルス閾値と比較し、
前記変化パルス値が前記変化パルス閾値以上である場合、前記多パルス連続回数に１を足して新たな多パルス連続回数とし、前記多パルス連続回数を多パルス連続回数閾値と比較し、前記多パルス連続回数が前記多パルス連続回数閾値以上である場合、前記変化パルス値を前記変化タイマ値で除算することで位置パルス周波数を計算し、
前記多パルス連続回数が前記多パルス連続回数閾値より小さい場合、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、
前記変化パルス値が前記変化パルス閾値より小さい場合、前記多パルス連続回数を０とし、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、
前記前回位置パルス値を前記今回位置パルス値とし、前記前回タイマ値を前記今回タイマ値とする、
という手順で速度演算処理をすることを特徴とするものである。
請求項２に記載の発明は、請求項１記載の速度検出方法において、前記変化パルス閾値を、２以上の自然数とするものである。
請求項３に記載の発明は、請求項１記載の速度検出方法において、前記多パルス連続回数閾値を、１以上の自然数とするものである。【０００６】
請求項４に記載のモータ制御装置の発明は、位置パルスを出力するパルス発生回路と、前記位置パルスを計数するカウンタと、前記カウンタの値をラッチして位置情報を記憶する位置レジスタと、タイマと、前記タイマの値を前記位置パルスのアップダウンによって記憶するタイマレジスタと、リード・イネーブル信号を発することによって前記位置レジスタから位置パルス値を、前記タイマレジスタからタイマ値を読み込んで速度を演算する速度演算器と、を備えたモータ制御装置において、
１サンプリング周期の間の変化パルス値が連続的に所定の変化パルス閾値以上となった回数である多パルス連続回数と、前回位置パルス値および前回タイマ値を０とし、前記速度演算器がリード・イネーブル信号を発することによって前記位置レジスタから今回位置パルス値を、また前記タイマレジスタから今回タイマ値を読み込み、前記今回位置パルス値から前記前回位置パルス値を差し引いた値を前記変化パルス値とし、前記今回タイマ値から前記前回タイマ値を差し引いた値を変化タイマ値とし、前記変化パルス値を前記変化パルス閾値と比較し、前記変化パルス値が前記変化パルス閾値以上である場合、前記多パルス連続回数に１を足して新たな多パルス連続回数とし、前記多パルス連続回数を多パルス連続回数閾値と比較し、前記多パルス連続回数が前記多パルス連続回数閾値以上である場合、前記変化パルス値を前記変化タイマ値で除算することで位置パルス周波数を計算し、前記多パルス連続回数が前記多パルス連続回数閾値より小さい場合、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、前記変化パルス値が前記変化パルス閾値より小さい場合、前記多パルス連続回数を０とし、前記変化パルス値を前記サンプリング周期で除算することで位置パルス周波数を計算し、前記前回位置パルス値を前記今回位置パルス値とし、前記前回タイマ値を前記今回タイマ値とする、速度演算器を備えたことを特徴とするものである。
請求項５に記載の発明は、請求項４記載のモータ制御装置において、前記変化パルス閾値を、２以上の自然数とするものである。
請求項６に記載の発明は、請求項４記載のモータ制御装置において、前記多パルス連続回数閾値を、１以上の自然数とするものである。
【発明の効果】
【０００７】
高速度運転時は周期測定方式を用いて速度を検出しているため、位置パルスの周期を計測する変化タイマ値が正確にモータの変位した時間を表しているので、ビート現象が起こらず検出速度の精度が高くリップルも小さい。一方、低速度運転時はパルス計数方式を用いて速度を検出しているため、検出時間が常に１サンプリング周期なので、ノイズに強く、位相遅れによる制御性能の低下問題も起こらない。また、中速度運転時はパルス計数方式と周期測定方式を交互に用いることになり、多パルス連続回数閾値Ｎｍを大きくすることで検出速度の平均値と実際の速度との誤差が小さくなる。
このように高速度、中速度および低速度の各運転領域によって、速度検出方式を選択的に切り替えることによって、より高精度で低リップルかつ高性能なモータ制御装置を提供することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の速度検出方法の処理手順を示すフローチャート
【図２】従来の速度検出装置の構成を示すブロック図
【図３】従来の周期測定方式を示すタイムチャート
【図４】本発明における高速度運転時の周期測定方式とパルス計数方式による検出速度の比較
【図５】本発明における低速度運転時のパルス計数方式による検出速度
【図６】本発明における中速度運転時の検出速度（ｎｍ＝２、Ｎｍ＝２の場合）
【図７】本発明における中速度運転時の検出速度（ｎｍ＝２、Ｎｍ＝４の場合）
【符号の説明】
【０００９】
１  パルス発生回路
２  カウンタ
３  位置レジスタ
４  タイマ
５  タイマレジスタ
６  速度演算器
７  位置パルス信号
８  カウンタ値
９  位置レジスタの出力値
１０  リード・イネーブル信号
１１  タイマ値
１２  タイマレジスタの出力値
【発明を実施するための最良の形態】
【００１０】
以下、本発明の速度検出方法の具体的実施例について、図面を参照して説明する。
【実施例】
【００１１】
本発明の方法を実施する速度検出装置の構成は、図２に示した従来技術と同一のものである。図１は図２の速度検出装置において、本発明の速度検出方法の処理手順を示すフローチャートである。以下、図１を用いて本発明の方法を、順を追って説明する。
はじめにステップ1で初期化処理を行うため、変化パルス値が連続的に変化パルス閾値ｎｍ（２以上の自然数）以上となった回数である多パルス連続回数Ｎ、前回位置パルス値ｎ（ｋ−１）および前回タイマ値ｔ（ｋ−１）をすべて０とする。
次に、ステップ２で速度演算器６がリード・イネーブル信号１０を発することによって位置レジスタ３から今回位置パルス値ｎ（ｋ）を、またタイマレジスタ５から今回タイマ値ｔ（ｋ）を読み込む。
ステップ３で従来技術と同じく式（１）および式（２）に示すようにして変化パルス値Δｎ（ｋ）および変化タイマ値Δｔ（ｋ）を求める。
ステップ４でΔｎ（ｋ）がｎｍ以上であるかどうか判断し、もしそうであれば、ステップ５に進む。もしそうでなければ、ステップ６に進む。
ステップ５で多パルス連続回数Ｎに１を足して新たな多パルス連続回数Ｎとし、ステップ７に進む。
ステップ６では多パルス連続回数Ｎを０とし、ステップ９に進む。
ステップ７で多パルス連続回数Ｎが多パルス連続回数閾値Ｎｍ以上であるかどうか判断し、もしそうであれば、ステップ８に進む。もしそうでなければ、ステップ９に進む。
ステップ８で式（３）のように変化パルス値Δｎ（ｋ）を変化タイマ値Δｔ（ｋ）で除算することで位置パルス周波数ｆ（ｋ）を計算してモータの速度を求める。
また、ステップ９で式（４）のように変化パルス値Δｎ（ｋ）をサンプリング周期Ｔで除算することで位置パルス周波数ｆ（ｋ）を計算してモータの速度を求める。
ｆ（ｋ）＝Δｎ（ｋ）／Ｔ                      （４）
最後に、ステップ１０で前回位置パルス値ｎ（ｋ−１）を今回位置パルス値ｎ（ｋ）とし、前回タイマ値ｔ（ｋ−１）を今回タイマ値ｔ（ｋ）とし、ステップ２に戻る。【００１２】
このように、連続Ｎｍ回以上１サンプリング周期の間の実際の変位量がｎｍパルス以上である場合に周期測定方式を、その他の場合にパルス計数方式を用いてモータの速度を求める。
すなわち、高速度運転時（１サンプリング周期の間の実際の変位量が常にｎｍパルス以上である場合）は、周期測定方式を用いて速度を検出しているので、ビート現象が起こらず検出速度の精度が高くリップルも小さい。
図４は横軸をサンプリング周期Ｔで基準化した時間軸、縦軸をサンプリング周期Ｔ当りのパルス数（Δｎ（ｋ）／Ｔに相当）で基準化した値で表した検出速度のシミュレーション結果を示すものである。周期測定方式（長い点線）の速度リップルは、パルス計数方式（短い点線）の場合と比較して１／１０以下に抑えられており大幅に低下している。【００１３】
一方、低速度運転時、すなわち１サンプリング周期の間の実際の変位量が常に［ｎｍ−（１／Ｎｍ）］パルス未満である場合は、多パルス連続回数Ｎが多パルス連続回数閾値Ｎｍ以上にならないので、パルス計数方式を用いて速度検出を行う（図５を参照）。この場合、演算周期毎に検出速度と実際の速度との誤差が大きくなるが、少し長い時間スパンでの検出速度の平均値は実際の速度とほぼ等しくなる。検出時間が常に１サンプリング周期なのでノイズに強く、位相遅れによる制御性能の低下問題も起こらない。ビート現象はあるが、ビートによる脈動振幅は速度に比例するので、低速度ではその脈動振幅は小さく悪影響を及ぼすことはない。
また、ｎｍの大きさはノイズ環境によって決まる。ノイズが少ない場合には、低速運転でも速度演算の精度を高くかつリップルを小さくするために、ｎｍをできるだけ小さく設定した方が良い。【００１４】
また、中速度運転時、すなわち１サンプリング周期の間の実際の変位量が［ｎｍ−（１／Ｎｍ）］パルス以上、ｎｍパルス未満である場合は、多パルス連続回数Ｎが多パルス連続回数閾値Ｎｍを上下するので、速度の検出はパルス計数方式と周期測定方式が交互に切り替わることになる。そのためにモータが一定な中速度で運転する場合には、検出速度の平均値ＶＡｖｅは実際の速度ＶＭｏｔｏｒと誤差が生じる。以下に、その理由を説明する。
仮に演算方式の切り替えがなく常にパルス計数方式を用いて速度を検出するものとすれば、変化パルス値がｎｍとなる際に演算した速度ＶＨｉｇｈは実際の速度ＶＭｏｔｏｒより大きく、変化パルス値が（ｎｍ−１）となる際に演算した速度ＶＬｏｗは実際の速度より小さいが、検出速度の平均値ＶＡｖｅは実際の速度ＶＭｏｔｏｒと等しい。
本発明の速度検出方式では、多パルス連続回数Ｎが多パルス連続回数閾値Ｎｍ以上である場合には、周期測定方式を用いて速度を検出するので、その検出速度はその時点の実際の速度ＶＭｏｔｏｒと等しいが、パルス計数方式を用いて演算した値ＶＨｉｇｈより小さな値となるので、検出速度の平均値ＶＡｖｅは実際の速度ＶＭｏｔｏｒより小さくなる。
中速度運転時におけるこのような誤差の問題は、多パルス連続回数閾値Ｎｍを大きくすることでその影響を減らすことができる。すなわち、Ｎｍを大きくした場合、一定時間内で周期測定方式を用いた回数が減るので、検出速度の平均値と実際の速度との誤差も小さくなる。ただし、Ｎｍを大きくした場合は、パルス計数方式固有の問題であるビートによる脈動が大きくなるので、Ｎｍの値は誤差と脈動のトレードオフを考慮して要求される駆動系の特性に合わせて決定する必要がある。
図６は中速度運転時において、検出速度がパルス計数方式と周期測定方式とで交互に切り替わっている状況をシミュレーションよって示したものである。長い点線が本発明の速度検出方式での検出速度であり、短い点線は比較のためパルス計数方式による検出速度を示している。また、一点鎖線は本発明での検出速度を、ローパスフィルタを通して見た平均値を示している。なお、図６では、ｎｍ＝２、Ｎｍ＝２である。
本シミュレーション結果より、周期測定方式に切り替わっている間は、その検出速度の値は実際の速度にほぼ等しくなるが、パルス計数方式による検出値を含めた検出速度全体の平均値は実際の速度より低目の値となっている。
また、図７はシミュレーション条件においてｎｍ＝２とし、Ｎｍを２から４に変更した場合を示しており、この場合、上述したように一定時間内で周期測定方式を用いる回数が減るので、実際の速度（実線）に対する検出速度の平均値のずれは、図６の場合より小さくなっていることが分かる。【００１５】
なお、本発明は位置制御や速度制御機能を有するモータ制御装置の速度フィードバック信号として適用することにより、より高精度で低リップルかつ高性能なモータ制御装置を提供することが可能となる。
【産業上の利用可能性】
【００１６】
位置パルス信号のカウンタ値および位置パルス信号のタイマ値に基づいて、運転速度に応じてパルス計数方式と周期測定方式を切り替えることによって、高精度で位置信号の微分である速度信号を検出できるので、ロボットや工作機械、半導体製造装置など、高精度・高速応答制御が要求される分野、その他の一般産業分野の位置および速度制御装置に広く利用することができる。
【図１】
2009034829.tif 000003
【図２】
2009034829.tif 000004
【図３】
2009034829.tif 000005
【図４】
2009034829.tif 000006
【図５】
2009034829.tif 000007
【図６】
2009034829.tif 000008
【図７】
2009034829.tif 000009
【国際調査報告】
2009034829.tif 000010
2009034829.tif 000011