(57)【要約】 【課題】  高精度か高応答か選択できる速度モニタ方法を提供する。【解決手段】モータ制御装置の速度モニタ方法において、位置データをサンプリング周期ごとにＣＰＵにより読み込むステップＳＴ２Ａと、ＣＰＵにより制御に必要な処理をするステップＳＴ２Ｂと、速度データを演算するステップＳＴ３と、現在の速度データからｎサンプリング前の速度データとなる第（ｎ−１）速度データ（ｖ（ｎ−１））を第ｎ速度データ（ｖ（ｎ））とすると共に、同様の手順で第２速度データ（ｖ（２））から第ｎ速度データ（ｖ（ｎ））を演算するステップＳＴ４と、今回求めた速度データ（ｖ）を第１速度データ（ｖ（１））と定義するステップＳＴ５と、第１速度データ（ｖ（１））から前記第ｎ速度データ（ｖ（ｎ））までのｎ個の速度データの移動平均を演算するステップＳＴ６と、速度モニタデータ（ｖｍｏｎ）を求めてモニタ回路に出力するステップＳＴ７を備えた。【選択図】  図２
2005185044.tif 000002
【特許請求の範囲】
【請求項１】
モータに結合した位置検出器の位置データを用いて前記モータの位置または速度を制御するモータ制御装置の速度モニタ方法において、
位置検出器から出力される位置データとなるシリアルデータを位置検出器入力回路に読みこみ、該位置検出器入力回路により変換された位置データとなるパラレルデータをサンプリング周期ごとにＣＰＵにより読み込むステップ（ステップＳＴ２Ａ）と、
前記ＣＰＵにより制御に必要な処理をするステップ（ステップＳＴ２Ｂ）と、
最初に求めた現在の位置データと該現在の位置データから１サンプリング時間前の位置データとの差に基づいて速度データを演算するステップ（ステップＳＴ３）と、
任意の整数をｎとしたときに、現在の速度データからｎサンプリング前の速度データとなる第（ｎ−１）速度データ（ｖ（ｎ−１））を第ｎ速度データ（ｖ（ｎ））とすると共に、現在の速度データから（ｎ−１）サンプリング前の速度データとなる第（ｎ−２）速度データ（ｖ（ｎ−２））を第（ｎ−１）速度データ（ｖ（ｎ−１））として、同様の手順で第２速度データ（ｖ（２））から第ｎ速度データ（ｖ（ｎ））を演算するステップ（ステップＳＴ４）と、
今回求めた速度データ（ｖ）を第１速度データ（ｖ（１））と定義するステップ（ステップＳＴ５）と、
前記第１速度データ（ｖ（１））から前記第ｎ速度データ（ｖ（ｎ））までのｎ個の速度データの移動平均を演算するステップ（ステップＳＴ６）と、
前記演算された移動平均速度データを速度モニタデータ（ｖｍｏｎ）としてモニタ回路に出力するステップ（ステップＳＴ７）を備えたことを特徴とする速度モニタ方法。
【請求項２】
前記速度モニタデータ（ｖｍｏｎ）は前記第１速度データ（ｖ（１））と第２速度データ（ｖ（２））の移動平均となる第１移動平均速度データ（ｖａｖ（１））と、
前記第１速度データ（ｖ（１））と前記第２速度データ（ｖ（２））と第３速度データ（ｖ（３））の移動平均となる第２移動平均速度データ（ｖａｖ（２））と、
同様の手順でもとめた第３移動平均速度データ（ｖａｖ（３））から第（ｎ−１）移動平均速度データ（ｖａｖ（ｎ−１））の（ｎ−１）個の移動平均速度データとからなり、
任意の整数をｍとしたときに、ｍ＜ｎなる第ｍ移動平均速度データ（ｖａｖ（ｍ））が零でないか零かを判定し、零で無い場合は第ｍ移動平均速度データ（ｖａｖ（ｍ））を速度モニタデータ（ｖｍｏｎ）として出力するステップ（ステップＳＴ１１）と、
前記第１移動平均速度データが零であれば第（ｍ＋１）移動平均速度データ（ｖａｖ（ｍ＋１））が零でないか零かを判定し、零で無い場合は第（ｍ＋１）移動平均速度データ（ｖａｖ（ｍ＋１））を速度モニタデータ（ｖｍｏｎ）として前記モニタ回路に出力するステップ（ステップＳＴ１３）と、
前記第（ｍ＋１）移動平均速度データ（ｖａｖ（ｍ＋１））が零の場合は第（ｍ＋２）移動平均速度データ（ｖａｖ（ｍ＋２））が零でないか零かを判定し零でなければ速度モニタデータ（ｖｍｏｎ）として出力するステップ（ステップＳＴ１５）と、
同様の手順で判定を繰り返し第（ｎー１）移動平均速度データ（ｖａｖ（ｎ−１））が零であっても零を速度モニタ（ｖｍｏｎ）として前記モニタ回路に出力するステップ（ステップＳＴ１８）を備えたことを特徴とする請求項１に記載の速度モニタ方法。
【請求項３】
前記第１速度データ（ｖ（１））と前記第２速度データ（ｖ（２））を比較し、前記第１速度データ（ｖ（１））と前記第２速度データ差があらかじめ決められた値よりも大きい場合は第１速度データ（ｖ（１））を速度モニタデータ（ｖｍｏｎ）として前記モニタ回路に出力することを特徴とする請求項１または２記載の速度モニタ方法。
【請求項４】
前記速度モニタデータ（ｖｍｏｎ）は前記移動平均速度データを用いるかわりに、ｎ個の前記速度データに、総和が１である重み係数ｋ１からｋｎで重みをつけて平均化した重み付き平均速度データを用いることを特徴とする請求項１または２記載の速度モニタ方法。
【請求項５】
前記重み係数はｋ１＝０．５、ｋ２＝０．２５、ｋ３＝０．１２５、ｋ４＝０．１２５
であることを特徴とする請求項４記載の速度モニタ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はモータ制御装置の速度モニタ方法に関する。
【背景技術】
【０００２】
従来のモータ制御装置の速度検出には、例えば特許文献１、特許文献２に開示されたものがある。
特許文献１による従来技術を図８の制御構成図を用いて説明する。図８において、速度検出処理部は、１周期間速度検出処理部とＮ周期間の速度検出処理部からなり、１周期間の速度検出処理部では速度制御周期と同一期間におけるエンコーダ位置変化量を基に速度検出値ωｄ１を検出する。また、Ｎ周期間の速度検出処理部１２における処理タイミングとしては速度制御周期と同一ではあるが、エンコーダ位置変化量の計測期間を速度制御周期のＮ倍として速度検出値ωｄＮを検出する。なお、これら２つの速度検出値ωｄ１とωｄＮは、夫々の計測期間内における平均速度として検出される。このＮ周期間速度検出値ωｄＮを入力としてブロックＪｍ＊ｓは、その変化時間による微分とモータ（および負荷）の慣性モーメントのモデルＪｍにより、モータの加速トルク推定値τａＮを出力する。一方、ブロックｋｔはモータのトルク定数Ｋｔであり、指令電流Ｉｒｅｆを入力としてモータ出力トルクτｍを出力する。ブロックＪｍ＊ｓが出力するτａＮがＮ周期間でのモータ加速トルク推定値であることから、その計測期間を合せるため、ブロックＮ周期間の平均処理においてモータ出力トルクτｍのＮ周期間での平均トルク指令値τｍＮを演算する。平均トルク指令値τｍＮと加速トルク推定値τａＮを加算器２４により加算し、モータに加わる外乱トルク推定値τｄｈを求める。この外乱トルク推定値τｄｈと出力トルクτｍを加算器により加算した後、ブロック１／Ｊｍで慣性モーメントのモデルＪｍｈの逆数と掛算し、ブロック１／ｓで積分することでモータの速度推定値ωｍｈとしている。また、実速度を基準とするものであり、推定速度が実速度とかけ離れないように補正する処理をも有している。つまり、実速度と推定速度の差により推定速度を補正し、図８において実速度はＮ周期間の平均であるから、推定速度もブロックＮ周期間の平均処理によりＮ周期間での平均推定速度ωｍを算出する。図９はＮ検出周期の速度検出値でＮ＝２の場合のタイムチャートを示しており、１検出周期の速度検出値よりもリプルが小さくなり実際の速度に近付いている。
【０００３】
【特許文献１】特開２００１−１７８１６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法ではサンプリング周期を制御サンプリング周期のＮ倍とした場合でも、一つの第Ｎ移動平均速度データしか持たないために、Ｎを大きくすると応答時間が遅くなり、過渡現象をモニタできないという問題があり、またＮを小さくすると、低回転速度時のサンプリング時間に位置検出器のパルスがある場合と無い場合ではデータが大幅に異なりリプルが大きくなり精度が悪くなるという問題があった。例えば図１０のタイムチャートは実際速度が台形波の場合の移動平均速度データの波形を比較したものである。図１０でｖは実際速度、ｖ（１）は第１速度データ、ｖａｖ（１）は第１速移動平均度データ、ｖａｖ（３）は第３移動平均速度データ、ｖａｖ（１０）は第１０移動平均速度データであり、移動平均範囲が広いほどリプルが小さく高精度になるが、その反面、応答が遅れる。このようにＮが小さいと応答は速いが精度が悪く、Ｎが大きいと精度はよいが応答が遅くなる。
本発明はこのような問題点に鑑みてなされたものであり、高応答性か高精度かを選択できる速度モニタ方法を提供する。
【課題を解決するための手段】
【０００５】
請求項１記載の本発明は、モータに結合した位置検出器の位置データを用いて前記モータの位置または速度を制御するモータ制御装置の速度モニタ方法において、位置検出器から出力される位置データとなるシリアルデータを位置検出器入力回路に読みこみ、該位置検出器入力回路により変換された位置データとなるパラレルデータをサンプリング周期ごとにＣＰＵにより読み込むステップ（ステップＳＴ２Ａ）と、ＣＰＵにより制御に必要な処理をするステップ（ステップＳＴ２Ｂ）と、最初に求めた現在の位置データと該現在の位置データから１サンプリング時間前の位置データとの差に基づいて速度データを演算するステップ（ステップＳＴ３）と、任意の整数をｎとしたときに、現在の速度データからｎサンプリング前の速度データとなる第（ｎ−１）速度データ（ｖ（ｎ−１））を第ｎ速度データ（ｖ（ｎ））とすると共に、現在の速度データから（ｎ−１）サンプリング前の速度データとなる第（ｎ−２）速度データ（ｖ（ｎ−２））を第（ｎ−１）速度データ（ｖ（ｎ−１））として、同様の手順で第２速度データ（ｖ（２））から第ｎ速度データ（ｖ（ｎ））を演算するステップ（ステップＳＴ４）と、今回求めた速度データ（ｖ）を第１速度データ（ｖ（１））と定義するステップ（ステップＳＴ５）と、第１速度データ（ｖ（１））から前記第ｎ速度データ（ｖ（ｎ））までのｎ個の速度データの移動平均を演算するステップ（ステップＳＴ６）と、前記演算された移動平均速度データを速度モニタデータ（ｖｍｏｎ）としてモニタ回路に出力するステップ（ステップＳＴ７）を備えたことを特徴としている。
請求項２記載の本発明は、請求項１記載の速度モニタ方法において、速度モニタデータ（ｖｍｏｎ）は前記第１速度データ（ｖ（１））と第２速度データ（ｖ（２））の移動平均となる第１移動平均速度データ（ｖａｖ（１））と、第１速度データ（ｖ（１））と第２速度データ（ｖ（２））と第３速度データ（ｖ（３））の移動平均となる第２移動平均速度データ（ｖａｖ（２））と、同様の手順でもとめた第３移動平均速度データ（ｖａｖ（３））から第（ｎ−１）移動平均速度データ（ｖａｖ（ｎ−１））の（ｎ−１）個の移動平均速度データからなり、任意の整数をｍとしたときに、ｍ＜ｎなる第ｍ移動平均速度データ（ｖａｖ（ｍ））が零でないか零かを判定し、零で無い場合は第ｍ移動平均速度データ（ｖａｖ（ｍ））を速度モニタデータ（ｖｍｏｎ）として出力するステップ（ステップＳＴ１１）と、第１移動平均速度データが零であれば第（ｍ＋１）移動平均速度データ（ｖａｖ（ｍ＋１））が零でないか零かを判定し、零で無い場合は第（ｍ＋１）移動平均速度データ（ｖａｖ（ｍ＋１））を速度モニタデータ（ｖｍｏｎ）としてモニタ回路に出力するステップ（ステップＳＴ１３）と、第（ｍ＋１）移動平均速度データ（ｖａｖ（ｍ＋１））が零の場合は第（ｍ＋２）移動平均速度データ（ｖａｖ（ｍ＋２））が零でないか零かを判定し零でなければ速度モニタデータ（ｖｍｏｎ）として出力するステップ（ステップＳＴ１５）と、同様の手順で判定を繰り返し第（ｎー１）移動平均速度データ（ｖａｖ（ｎ−１））が零であっても零を速度モニタ（ｖｍｏｎ）としてモニタ回路に出力するステップ（ステップＳＴ１８）を備えたことを特徴としている。
請求項３記載の本発明は、請求項１または請求項２記載の速度モニタにおいて、第１速度データ（ｖ（１））と前記第２速度データ（ｖ（２））を比較し、第１速度データ（ｖ（１））と第２速度データ差があらかじめ決められた値よりも大きい場合は第１速度データ（ｖ（１））を速度モニタデータ（ｖｍｏｎ）としてモニタ回路に出力するようにしたことを特徴としている。
請求項４記載の本発明は、請求項１記載の速度モニ方法タにおいて、速度モニタデータは前記移動平均速度データを用いるかわりに、ｎ個の速度データに、総和が１であるｋ１からｋｎまでの重み係数で重みをつけて平均化した重み付き平均速度データを用いたことを特徴としている。
請求項５記載の本発明は、請求項４記載の速度モニタ方法において、重み係数はｋ１＝０．５、ｋ２＝０．２５、ｋ３＝０．１２５、ｋ４＝０．１２５であることを特徴としている。
【発明の効果】
【０００６】
本発明の速度モニタによればサンプリング時間が短くても移動平均範囲を広げることによりサンプリング時間が長いときのような高精度を実現でき、逆に移動平均範囲を狭くしたり、移動平均を用いず速度データそのものを速度モニタデータとすることにより高応答を実現できる。このように移動平均範囲を選択可能にしたので、高精度か高応答かを選択できる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施例を図を用いて説明する。
【実施例１】
【０００８】
図１は、本発明の実施例を示す速度モニタ方法を備えたモータ制御装置のブロック図である。
図１において、１はＣＰＵ、２は電流制御部、３はゲートドライブ回路、４はインバータ、５はモータ、６は位置検出器、７は位置検出器入力回路、８はモニタ回路、９は主電源回路である。
ＣＰＵ１は位置指令データ、速度指令データ、位置データを入力とし、位置データから速度データを演算して、位置制御処理、速度制御処理を行うとともに３相電流指令を出力する。
電流制御部は３相電流指令と３相実際電流を入力とし、例えば３相からｄ−ｑ軸への座標変換を行った上でｄ−ｑ軸上での電流制御処理を行い、さらにｄ−ｑ軸から３相への変換を行って３相電圧指令を発生させ、３相電圧指令をＰＷＭ変換してゲートドライブ回路に出力する。ゲートドライブ回路は３相のＰＷＭ信号を入力とし、絶縁パルス増幅をしてインバータ４のパワー素子を駆動する。
インバータ４はモータ５にＰＷＭされた電圧を印加する。モータ５にＰＷＭ電圧が印加されると回転速度、モータインピーダンスに応じた電流が流れる。この電流は電流検出器によって検出され、電流制御部にフィードバック信号として入力される。
電流が流れるとモータ５はトルクを発生し、負荷や慣性モーメントに応じて回転する。モータに結合された位置検出器６は、回転とともにアップダウンパルスを発生し、アップダウンパルスは位置検出器内部の位置カウンタでカウントされる。
位置カウンタは位置検出器入力回路を通してＣＰＵ１からのデータ送信要求に応じて位置カウンタの位置データをラッチして送信回路を通してパルス列データを位置検出器入力回路７に送信する。
位置検出器入力回路は位置検出器からの位置のシリアルデータをパラレルデータに変換し、ＣＰＵ１に出力する。ＣＰＵ１はサンプリング周期ごとにパラレル位置データを読み込み、制御に必要な処理をすると同時に速度モニタデータを生成し、モニタ回路８に出力する。モニタ回路８はモニタデータをＤＡ変換してアナログモニタデータを生成したり、ＰＣ（パソコン）用データに変換してメモリに記憶する。
【０００９】
図２は本発明の第１実施例を示す速度モニタ方法のフローチャートである。
図２において、まず、ステップＳＴ１でサンプリング時間ごとに割り込み信号が発生され、ＣＰＵに割り込みがかかる。つぎに、ステップＳＴ２でＣＰＵは位置検出器入力回路の位置データＰ（０）を読み込む。さらに、ステップＳＴ３でＣＰＵは１サンプリング以前の位置データＰ（１）とＰ（０）の差をサンプリング時間ｔｓｐｌで除して速度データを演算する。つぎに、ステップＳＴ４で過去の速度データを１サンプリング時間前の速度データに更新する。例えば、（ｎ−１）サンプリング時間前の速度データである第（ｎ−１）速度データｖ（ｎー１）はｎサンプリング時間前の速度データである第ｎ速度データｖ（ｎ）に更新される。こうして、第ｎ速度データｖ（ｎ）から第２速度データｖ（２）が更新される。次に、ステップＳＴ５でステップＳＴ３で求めた速度データが第１速度データｖ（１）に更新される。つぎにステップＳＴ６で第１速度データｖ（１）からｖ（ｎ）までを加算し、ｎで除算して第ｎの移動平均速度データｖａｖ（ｎ）がもとめられる。つぎにステップＳＴ７でｖａｖ（ｎ）が速度モニタデータｖｍｏｎとしてモニタ回路８に出力される。ｎの値を大きくすれば高精度な速度モニタ、ｎの値を小さくすれば高応答な速度モニタが可能になる。
【００１０】
図３は本発明の第２実施例を示す速度モニタ方法のフローチャートである。
図３において、ステップＳＴ１からステップＳＴ５までは実施例１と同じである。ステップＳＴ９でＣＰＵは式（１）により移動平均速度データｖａｖ（１）からｖａｖ（ｎ−１）をもとめる。
ｖａｖ（１）＝（ｖ（１）＋ｖ（２））／２
ｖａｖ（２）＝（ｖ（１）＋ｖ（２）＋ｖ（３））／３
・・・
・・・・
ｖａｖ（ｎ−１）＝（ｖ（１）＋ｖ（２）＋・・・・＋ｖ（ｎ））／ｎ  ・・・（１）
次にステップＳＴ１０で第１移動平均速度データｖａｖ（１）が零か零でないか判定する。零であればステップＳＴ１２に進み、零でなければＳＴ１３に進む。ステップＳＴ１３では第１移動平均速度データｖａｖ（１）のデータを速度モニタデータｖｍｏｎに出力してステップＳＴ８に進み終了する。ステップＳＴ１２では第２移動平均速度データｖａｖ（２）が零か零でないか判定する。零であればステップＳＴ１４に進み、零でなければステップ１５に進む。以後、同様の手順でステップＳＴ１６に進み第ｎ−２移動平均速度データｖａｖ（ｎ−２）が零か、零でないか判定する。零であればステップＳＴ１８に進み零でなければステップＳＴ１７に進む。ステップＳＴ１７では第（ｎ−２）移動平均速度データを速度モニタデータとして出力しステップＳＴ８に進んで終了する。ステップＳＴ１８では第ｎ−１移動平均速度データを速度モニタデータとして出力し、ステップＳＴ８に進んで終了する。
図４は本発明の第２実施例の具体的な数値例でｎ＝１０の場合の速度モニタなどのタイムチャートである。
図４でｖｍｏｎが速度モニタデータである。第１０移動平均速度データｖａｖ（１０）に比較して高応答であり、精度も遜色ないものになっている。
【００１１】
図５は本発明の第３実施例を示す速度モニタ方法のフローチャートである。
図５において、ステップＳＴ１からステップＳＴ６までは実施例１と同じである。ステップＳＴ１９では、第１速度データｖ（１）と第２速度データｖ（２）の差の絶対値から速度の変化率ａをもとめる。次にステップＳＴ２０では速度変化率ａがあらかじめ決められた設定値ａｍよりも大きいが小さいが判定し、小さければステップＳＴ２１に進み、大きければステップＳＴ２２に進む。ステップＳＴ２１では速度モニタデータｖｍｏｎとして第ｎ移動平均速度モニタデータを出力してステップＳＴ８に進み終了する。ステップＳＴ２２では速度モニタデータとして第１速度データを出力し、ステップＳＴ８に進んで終了する。
【００１２】
図６は本発明の第４実施例を示す速度モニタ方法のフローチャートである。
図６において、ステップＳＴ１からステップＳＴ５までは実施例１と同じである。ステップＳＴ２２ではあらかじめ決めれた係数ｋ１からｋｎまでを使用して式（２）により重みつき平均速度データｖｗａｖ（ｎ）を求める。
ｖｗａｖ（ｎ）＝ｋ１×ｖ（１）＋ｋ２×ｖ（２）＋・・・＋ｋｎ×ｖ（ｎ）
ｋ１＋ｋ２＋・・・＋ｋｎ＝０                                      ・・（２）
さらにステップＳＴ２３でｖｗａｖ（ｎ）を速度モニタデータｖｍｏｎとして出力し、ステップＳＴ８に進んで終了する。
図７は重みづき平均速度データの数値例でｎ＝４、ｋ１＝１／２、ｋ２＝１／４、ｋ３＝１／８、ｋ４＝１／１６、ｋ５＝１／１６の場合のタイムチャートである。
【産業上の利用可能性】
【００１３】
本発明は、速度モニタの性能が高応答か高精度かを選択可能としたもので、精密な一定速度運転の用途、あるいはサーボ制御のように高速の応答性が要求される用途など多様な用途への適用が期待できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例を示す速度モニタ方法を備えたモータ制御装置のブロック図
【図２】本発明の第１実施例を示す速度モニタ方法のフローチャート
【図３】本発明の第２実施例を示す速度モニタ方法のフローチャート
【図４】本発明の第２実施例によるタイムチャート
【図５】本発明の第３実施例を示す速度モニタ方法のフローチャート
【図６】本発明の第４実施例を示す速度モニタ方法のフローチャート
【図７】本発明の第４実施例によるタイムチャート
【図８】従来例の制御構成図
【図９】従来例のタイムチャート
【図１０】移動平均数による移動平均速度データタイムチャート
【符号の説明】
【００１５】
１  ＣＰＵ
２  電流制御部  
３  ゲートドライブ回路
４  インバータ
５  モータ
６  位置検出器
７  位置検出器入力回路
８  モニタ回路
９  主電源
ｔｓｐｌ  サンプリング時間
ｖ  実際速度
ｖ（ｎ）  第ｎ速度データ
ｖａｖ（ｍ）  第ｍ移動平均速度データ
ｖｗａｖ（ｎ）  第ｎ重みつき平均速度データ
ｖｍｏｎ  速度モニタデータ
ｋｎ  重みつき係数
【図１】
2005185044.tif 000003
【図２】
2005185044.tif 000004
【図３】
2005185044.tif 000005
【図４】
2005185044.tif 000006
【図５】
2005185044.tif 000007
【図６】
2005185044.tif 000008
【図７】
2005185044.tif 000009
【図８】
2005185044.tif 000010
【図９】
2005185044.tif 000011
【図１０】
2005185044.tif 000012