(57)【特許請求の範囲】
【請求項１】
エンコーダで検出された位置データより位置および速度フィードバックを作成し、位置指令および速度指令と位置および速度フィードバックの偏差よりモータ駆動のためのコマンドを作成するＡＣサーボドライバにおいて、
モータの実際の使用時の最大回転速度とエンコーダの分解能より、サンプリング周期間の最大位置変化量を算出し、
今回サンプリング時点での位置データと前回サンプリング時点での位置データの差分を算出し、
前記差分が前記最大位置変化量よりも大きく、かつエンコーダ分解能と前記差分の差が前記最大位置変化量よりも大きい場合、今回サンプリング時点の位置データに大きなビット誤りがあると判定し、今回サンプリング時の本当の位置データの推定値を、前回サンプリング時の位置データと前回サンプリング周期の速度とサンプリング周期により計算する、エンコーダ検出位置データのビット誤り検出・推定方法。
【請求項２】
エンコーダで検出された位置データより位置および速度フィードバックを作成し、位置指令および速度指令と位置および速度フィードバックの偏差よりモータ駆動のためのコマンドを作成するＡＣサーボドライバにおいて、
モータの実際の使用時の最大回転速度とエンコーダの分解能より、サンプリング周期間の最大位置変化量を算出する手段と、
今回サンプリング時点での位置データと前回サンプリング時点での位置データの差分を算出する手段と、
前記差分が前記最大位置変化量よりも大きく、かつエンコーダ分解能と前記差分の差が前記最大位置変化量よりも大きい場合、今回サンプリング時点の位置データに大きなビット誤りがあると判定し、今回サンプリング時の本当の位置データの推定値を、前回サンプリング時の位置データと前回サンプリング周期の速度とサンプリング周期により計算する手段と、
を備えたエンコーダ検出位置データのビット誤り検出・推定機能付ＡＣサーボドライバ。
【請求項３】
請求項２記載のＡＣサーボドライバによって駆動されることを特徴とするモータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンコーダで検出された位置データより位置および速度フィードバックを作成し、位置指令および速度指令と位置および速度フィードバックの偏差よりモータ駆動のためのコマンドを作成するＡＣサーボドライバに関し、特にエンコーダで検出した位置データがＡＣサーボドライバに送られた途中に電磁ノイズ等に影響されて生じる、エンコーダ検出位置データのビット誤りの検出・推定方法およびエンコーダビット誤り検出・推定機能付ＡＣサーボドライバ並びにモータに関する。
【０００２】
【従来の技術】
図３にＡＣサーボドライバの概略回路図を示す。位置制御モードを例とする。位置指令と位置フィードバックとの偏差を求め、速度指令を作成し、この速度指令と速度フィードバックとの偏差を求め、モータを駆動する電流指令を作成する。この電流指令で、モータの位置を調整して、指令位置に駆動する。したがって、位置指令を決めると、速度指令の絶対値と方向が位置フィードバックに決められ、電流指令の絶対値と方向が速度フィードバックに決められる。
【０００３】
【発明が解決しようとする課題】
ＡＣサーボドライバの実際の使用中、エンコーダ配線のシールド漏れ等のため、エンコーダで検出した位置データがＡＣサーボドライバに送られた途中、電磁ノイズに影響され、ＡＣサーボドライバが受けた位置データ中、ビット誤りが発生する場合がある。
【０００４】
例えば、１６ビットエンコーダでモータの位置を測定する場合（エンコーダが出力する位置データは０ｘ００００〜０ｘＦＦＦＦ  パルス／一回転）、指令位置が０ｘ００００（モータを原点位置に調整）で、現時点モータの本当位置が原点付近の０００００００００１００００００（バイナリ）＝０ｘ００４０であり、位置偏差、速度偏差による電流指令が小さくなって、図４（１）中の矢印方向で位置微調整を行う。しかし、ノイズのため、ＡＣサーボドライバが受けた位置データ中、１４ビット目に誤りが発生し、０１０００００００１００００００（バイナリ）＝０ｘ４０４０となった場合（図４（１）参照）、位置偏差と速度偏差がいきなり大きくなって、電流指令も突然に増えて、従来回転方向で位置大幅調整を行って、モータ軸の急激ショックが発生する。
【０００５】
もし１５ビットの誤りが発生すれば、ＡＣサーボドライバの受けた位置データが１００００００００１００００００（バイナリ）＝０ｘ８０４０となった（図４（２）参照）。位置偏差、速度偏差が逆転方向で増えて、電流指令もいきなり逆転方向で大きくなって、モータが図４（２）中に矢印方向で大幅調整を行って、もっと激しいショックが発生する。
【０００６】
さらに、上記ビット誤りが連続発生したら、機械の運転が狂ったり、機械が破損するなどの危険がある。
【０００７】
図５、図６、図７はそれぞれエンコーダの検出位置データビット誤りのための瞬間的な逆転、瞬間的な正転、瞬間的な正逆転の実験結果を示している。図５〜図７中、チャネル１はＡＣサーボドライバから出力されるエンコーダのサンプリング周期間の位置増分値（９３６パルス／Ｖ）の信号で、チャネル２はＡＣサーボドライバのエンコーダからの通信の有無を表す信号で、「ＨＩ」がエンコーダとの通信一時中断、「ＬＯ」はエンコーダとの通信正常、チャネル３はＡＣサーボドライバから出力される位置データのビット誤りの有無を示す信号で、「ＨＩ」が位置データにビット誤り発生、「ＬＯ」が位置データにビット誤りなし、を示している。
【０００８】
本発明は、上記課題を解決するためになされたものであり、ＡＣサーボドライバが電磁ノイズやエンコーダの配線不良などの影響により、エンコーダから受けた位置検出データにビット誤りが発生した場合でも、真の位置データを推定することができ、モータ回転中の誤動作を防止することができる信頼性の高い、エンコーダの検出位置データのビット誤り検出・推定方法およびエンコーダビット誤り検出・推定機能付ＡＣサーボドライバ並びにモータを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記問題を解決するため、請求項１記載の本発明は、エンコーダで検出された位置データより位置および速度フィードバックを作成し、位置指令および速度指令と位置および速度フィードバックの偏差よりモータ駆動のためのコマンドを作成するＡＣサーボドライバにおいて、まず、モータの実際の使用時の最大回転速度とエンコーダの分解能より、サンプリング周期間の最大位置変化量を算出し、次に、今回サンプリング時点での位置データと前回サンプリング時点での位置データの差分を算出し、続いて、該前記差分が前記最大位置変化量よりも大きく、かつエンコーダ分解能と前記差分の差が最大位置変化量よりも大きい場合、今回サンプリング時点の位置データに大きなビット誤りがあると判定し、今回サンプリング時の本当の位置データの推定値を、前回サンプリング時の位置データと前回サンプリング周期の速度とサンプリング周期により計算する、といったエンコーダ検出位置データのビット誤り検出・推定方法を特徴としている。
また、請求項２記載の本発明は、エンコーダで検出された位置データより位置および速度フィードバックを作成し、位置指令および速度指令と位置および速度フィードバックの偏差よりモータ駆動のためのコマンドを作成するＡＣサーボドライバにおいて、モータの実際の使用時の最大回転速度とエンコーダの分解能より、サンプリング周期間の最大位置変化量を算出する手段と、今回サンプリング時点での位置データと前回サンプリング時点での位置データの差分を算出する手段と、前記差分が前記最大位置変化量よりも大きく、かつエンコーダ分解能と前記差分の差が前記最大位置変化量よりも大きい場合、今回サンプリング時点の位置データに大きなビット誤りがあると判定し、今回サンプリング時の本当の位置データの推定値を、前回サンプリング時の位置データと前回サンプリング周期の速度とサンプリング周期により計算する手段と、を備えたエンコーダビット誤り検出・推定機能付ＡＣサーボドライバを特徴としている。
また、請求項３の本発明は。請求項２記載のＡＣサーボドライバによって駆動されるモータを特徴としている。
【００１０】
電磁ノイズやエンコーダに配線不良等のため、ＡＣサーボドライバが受けた、エンコーダで検出した位置データ中にビット誤りが発生してしまった場合、サンプリング周期毎に今回と前回の位置データの差分値をチェックして、あるレベル以上であることを判断することにより、現時点の位置データが異常データとされ、使われず、真の位置データを推定する。この推定された位置データを位置フィードバックとすることにより、大きな瞬間的な振動や急速ショックなどが回避でき、モータが円滑に回転できる。
【００１１】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００１２】
図１は本発明の一実施例のエンコーダ検出位置データのビット誤り検出・推定方法を示すフローチャートである。なお、図中１〜９はフローチャートの各ステップを表す。
【００１３】
１. モータの実際の使用時の最大回転速度Ｖmax（ｒ／ｍｉｎ）とエンコーダ分解能Ｎ（パルス／１回転）より、サンプリング周期ｈ（秒）の間の最大位置変化量を算出し、この最大変化量を位置データのビット誤りを検出する基準ｐｏｓ_ｌｅｖｅｌとする（ステップ１）。
【００１４】
ｐｏｓ_ｌｅｖｅｌ＝Ｖmax ×Ｎ×ｈ／６０              （１）
２. 前回サンプリング周期間の速度値をＶｂ、エンコーダから現時点の位置データをｐｏｓ_ｂとする（ステップ２）。
【００１５】
３. 今回サンプリング時点での位置データ（ｐｏｓ_ｂ）と前回サンプリング時点での位置データ（ｐｏｓ_ａ）との変化量（差分）であるｐｏｓ_ｓ１と、エンコーダの分解能Ｎと前記ｐｏｓ_ｓ１との変化量（差分）であるｐｏｓ_ｓ２の絶対値を算出する（ステップ３）。
【００１６】
４.
【００１７】
【外１】
0004240195.tif 000002
がｐｏｓ_ｌｅｖｅｌ以下かどうか判定する（ステップ４）。
【００１８】
５. 「Ｙｅｓ」であれば、位置データｐｏｓ_ｂ中大きなビット誤りがないと判定する（ステップ５）。
【００１９】
６.  ステップ４の判定で「Ｎｏ」であれば、
【００２０】
【外２】
0004240195.tif 000003
がｐｏｓ_ｌｅｖｅｌ以下かどうか判定する（ステップ６）。
【００２１】
７.  「Ｙｅｓ」であれば、原点通過で、大きなビット誤りでないと判定する（ステップ７）。
【００２２】
８. ステップ６で「Ｎｏ」であれば、位置データｐｏｓ_ｂ中に大きなビット誤りがあると判定し、現時点の真の位置データの推定値ｐｏｓ_ｂｓを計算し、位置データｐｏｓ_ｂとする（ステップ８）。
【００２３】
ｐｏｓ_ｂｓ＝ｐｏｓ_ａ＋Ｖｂ×ｈ
９. 位置データｐｏｓ_ｂを制御系に送る（ステップ９）。
【００２４】
以上のように、本発明は、ＡＣサーボドライバにおいて、モータの実際の使用時の最大回転速度とエンコーダの分解能により、サンプリング周期間の最大位置変化量を算出し、今回サンプリング時点での位置データと前回サンプリング時点での位置データの差分を算出し、前記差分が前記最大位置変化量よりも大きく、かつエンコーダ分解能と前記差分の差が前記最大位置変化量よりも大きい場合、今回サンプリング時点の位置データに大きなビット誤りがあると判定し、今回サンプリング時の本当の位置データの推定値を、前回サンプリング時の位置データと前回サンプリング周期の速度とサンプリング周期により計算することを特徴としたものとなっている。
【００２５】
図２は本発明の効果を示すグラフである。図２に示すように、チャネル３で位置データビット誤りが発生しても、チャネル1で真の位置データを推定するので、モータが円滑に回転し、瞬間的な振動がなくなっていることがわかる。
【００２６】
したがって、本発明の実施例は上記の手段を用いることにより、ＡＣサーボドライバが電磁ノイズやエンコーダの配線不良などの影響により、エンコーダから受けた位置検出データにビット誤りが発生した場合でも、真の位置データを推定することができ、モータ回転中の誤作動を防止することができる信頼性の高いエンコーダの検出位置データのビット誤り検出・推定方法を提供することができる。
【００２７】
【発明の効果】
以上説明したように本発明によれば、ＡＣサーボドライバにおいて、モータの実際の使用時の最大回転速度とエンコーダの分解能により、サンプリング周期間の最大位置変化量を算出し、今回サンプリング時点での位置データと前回サンプリング時点での位置データの差分を算出し、前記差分が前記最大位置変化量よりも大きく、かつエンコーダ分解能と前記差分の差が前記最大位置変化量よりも大きい場合、今回サンプリング時点の位置データに大きなビット誤りがあると判定し、今回サンプリング時の本当の位置データの推定値を、前回サンプリング時の位置データと前回サンプリング周期の速度とサンプリング周期により計算するようにしていたので、ＡＣサーボドライバが電磁ノイズやエンコーダの配線不良などの影響により、エンコーダから受けた位置検出データにビット誤りが発生した場合でも、真の位置データを推定することができ、モータ回転中の誤作動を防止することができる信頼性の高いエンコーダの検出位置データのビット誤り検出・推定方法を提供できるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例のエンコーダ検出位置データのビット誤り検出・推定方法を示すフローチャートである。
【図２】本発明の効果を示すグラフである。
【図３】ＡＣサーボドライバの制御ループの概略図である。
【図４】位置データのビット誤りの発生例を示す図である。
【図５】エンコーダの検出位置データビット誤りのためのモータの瞬間的な逆転を示す実験結果のグラフである。
【図６】エンコーダの検出位置データビット誤りのためのモータの瞬間的な正転を示す実験結果のグラフである。
【図７】エンコーダの検出位置データのビット誤りのためのモータの瞬間的な正逆転を示す実験結果のグラフである。
【符号の説明】
１〜９    ステップ
【図１】
0004240195.tif 000004
【図２】
0004240195.tif 000005
【図３】
0004240195.tif 000006
【図４】
0004240195.tif 000007
【図５】
0004240195.tif 000008
【図６】
0004240195.tif 000009
【図７】
0004240195.tif 000010