ステッピングモータは開ループでは動作しますが、閉ループモードでは謝った挙動を示します。



使用ソフトウェア: Driver Software>>NI-Motion/FlexMotion
使用ソフトウェア・バージョン: 7.6
使用ソフトウェア・バージョンに特化:
二次のソフトウェア: N/A

問題:

開ループモードではモーションコントローラにステッピングモータにターゲット位置まで動かすように指令を送ることが出来ますが、閉ループモードで実行させるように設定した時は、モータは動きを完全に終了しなかったり、全く動作しなかったり、動作が完了した後でも継続的に動き続けたりしてしまいます。



解決策:

1.ステッピングモータとエンコーダの分解能の値が正しく設定されているか MAX 上で確認してください。

・ステッピングモータの分解能はAxis Configuration << Stepper Settingsの下にあります。エンコーダの分解能は Encoder Settings の下にあります。もしも設定すべき Steps Per Revolution の値が不確かなら開ループモードで実行させて設定することが可能です。ステッピングモータを 1D Interactive で一回転するまで実行させます。表示されたステップ数がモータを360度回転させるのに要したステップ数で、Step Per Revolution に表示されます。この情報はモータのマニュアルにも記載されています。

・
エンコーダの分解能 Encoder Counts Per Revolution の値をを得るためには、軸を閉ループステッパーモードに設定して下さい。現在選択されている軸の 1D Interactive で、Kill のボタンを押して軸を停止して下さい。モータを一回転させて、エンコーダの カウント数/回転 が得られます。この情報はエンコーダの仕様にも記載されています。


・これらの値を適切な場所に入力し、Save をクリックし保存を行い、Reinitialize ボタンを押してモーションコントローラを最初期化してください。

2.エンコーダの位相が正しいか確認してください。

・確認するための方法は、ステッピングモータを開ループモードに設定し、現在の位置の値が増加している間にどの方向にモータが回転しているかを確認して下さい。(時計回り、半時計回りどちらでも)

・次に、ステッピングモータを閉ループモードに設定して下さい。1D Interactive の軸を Kill して、モータを時計回りか半時計回りに回転させ、エンコーダのモータが前に動いていたときと同じ方向(上か下か)にカウントしているかを確認して下さい。エンコーダが逆になっている場合、エンコーダの位相 A, B を変更して下さい。

・エンコーダが正常に動作しているかを確認してください。
オシロスコープを使用して、エンコーダの両方の位相がパルストレインを生成しており、かつパルスの位相がお互いに90度ずれている事を確認してください。

メモ:閉ループのステッピングモータは閉ループのサーボモータとは異なる動作をします。サーボシステムのようにPIDの出力を調整するのではなく、閉ループのステッピングモータは動作の終わりに Pull-in を行ってターゲット位置とエンコーダのフィードバックの差を調整します。デフォルトではこの Pull-in は3回に設定されています。この回数は MAX 上の Axis Configuration << Stepper Settings のタブで 0〜32,767 に調整することが出来ます。

この数値はLabVIEWのVIを使用している時は、SetU32.vi, C/VB を使用している時は、flex_setU32 の Pull-in Tries の属性より変更を行うことが出来ます。



関連リンク: KnowledgeBase 3J3D7FKZ: How does Feedback Work with Closed Loop Contour Moves?
KnowledgeBase 446INTAJ: What is the Difference Between P-Command and Stepper when Using National Instruments Motion Products?
Developer Zone Tutorial : Axis Configuration for Motion Controllers
Motion Control Support Homepage

添付:





報告日時: 03/27/2001
最終更新日: 04/12/2010
ドキュメントID: 27QARKOA