ステッピングモーターを動かしてみよう ~中編~

シーケンサ

どうも!ずぶ です。今回はステッピングモーターを動かしてみよう~中編~

 

ステッピングモーターを動かしてみよう~前編~ の続編となります。

位置決め制御

 

JOGを動作させた時、現在値 が変化しました。

 

~前編~では、あまり触れませんでしたが、あの数字って何でしょう?

  >何って、現在値って書いてあるじゃないの

どうして、現在値が分かるのでしょう?

  >そりゃ~、払い出したパルスをカウントしているからじゃないの

ですね、ステッピングモーターの大前提として、入力パルスと等価で動くというのがありますね

 

 

そうです、あの数字こそがステッピングモーターの本丸です。
あの数字を押さえておけば、モーターの位置が追いかけられるのです。

 

こういう、スケール装置があるとします。かなり手抜きですが(笑)

 

2種類の位置決め方法

現在位置から、目標位置に行く方法を2種類見てみましょう

 

現在位置は 7000 です。

 インクリメンタル

現在位置から、「右に 3000 動け!」と指令すれば、10000 の位置に移動します
現在位置から、「左に 2000 動け!」と指令すれば、5000 の位置に移動しますね
この指令方法は、インクリメンタル (インクり)
相対位置指令 とも呼ばれる方法です

それに対して

アブソリュート

10000の場所へ動け!」と指令すれば、10000 の位置に移動
5000の場所へ動け!」と指令すれば、5000 の位置に移動
この指令方法は、アブソリュート(アブソ)
絶対値指令 とも呼ばれる方法です。

 

どちらが、優れているという訳ではありません
こういう指令方法があるというだけです。

 

原点復帰って?

けれど、どちらの方法にも、基準(現在位置)というものが必要です。

 

位置決め制御 は、優秀なのですが、実は 寝起きがよくありません
装置を起動した瞬間、現在位置って ??? という状況で目覚めます。

 

まずは、寝起きの子に、現在位置を教えて あげなくてはなりません
そこで必要になるのが、原点復帰 です。(基準となる場所を探す機能)

 

何もなしに位置を割り出す事は不可能なので、先程の装置に位置決め3点セット を配置します

 

 

絵には描いてますが、寝起きなのでスタート位置は不明ですね。
これをゴールの形まで持って行きましょう。

これがゴールです。毎回この地点で 現在位置 0 という事にしてしまいましょう。

リミットは両サイドに配置してあるので、条件切り分けとしては、
原点に対して 左にいるか 右にいるかです。

 

それでは、不明なスタート地点から、ゴールに行くまでのプログラムを言葉で組んでみます。

  1. 左に移動
  2. 左リミットに接触したら、右に移動(原点の左側からを想定)
  3. 原点センサーONしたら、左に移動
  4. 原点センサーOFFしたら、現在位置を0にする

速度と精度は比例しますが、最初から低速で動くとイライラしますよね、なので までは高速で動いて問題なさそうです。

 

あわせて読みたい

スピードコントロールモーターを使った位置決め回路の作り方

 

これを行動図にすると

 

 

こうなります

 

では、①~④ までを踏まえて、プログラムを書いてみます

 

 

 

 

 

 

 

と思ったけれど、正直、ちょっと面倒くさいですよね

 

 

 

 

 

 

そんな時はこうです

 

 

原点復帰命令を使えば一発です (笑)

 

先ほど考えた事を全てやってくれるんですよ、良くないですか?
(速度や方向など、パラメータを決めなくてはなりませんが、~前編~で紹介したような書き方で設定します)

 

他にも、取説を見たら色々な原点復帰命令がありますよね

装置や精度で、この命令じゃダメな場合もありますが、こちらを選んだ理由は
DOGサーチ付き原点復帰 】とあるからです

以前のFXだと原点復帰が一方向だったのですが、この命令は 反転復帰機能 がついていて便利です。(動きで云うところの です)

実際に組み込んでみましょう

例によって、メーカーさんのサンプルプログラムとは、少し変わってしまいました(笑)

出力回路を端折ってますが、
M121 のコイルでエラーを解除
M125 のコイルを 原点完了フラグ として使用しています。

M121 エラーを解除の箇所ですが、位置決めコントローラーの異常出力や、ドライバー個別の異常出力を解除するのに使用します。
M125 原点完了フラグの箇所ですが、位置決めコントローラーの種類によっては、原点完了フラグを持っているものも多数あります。(物によっては要求フラグ)

まとめ

ここでの狙いは

原点復帰を掛ければ、どんな状況でも復帰する。
位置決めやドライバーの種類を変更しても、プログラムを大幅に変更しない。

 

最初に戻りますが、JOGを動作させて、現在位置が変化しましたよね
その現在位置は原点復帰を完了を経て、初めて意味のある数値となるのです。

 

合わせて読みたい
ステッピングモーターを動かしてみよう~後編~
原点復帰の作り方