【上級編】三菱電機製サーボモータJ4の位置決め制御!0°→360°の1回転位置決め指令

PLC(シーケンサ)でサーボモータを制御する際に、位置決めを行うと思います。
位置決め制御とは、『ある位置に行けというサーボアンプの命令を受けたサーボモータがその位置に移動する』ものです。

今回は意外とテクニックが必要な360°回転の位置決め制御についてdegree単位での話をしたいと思います。

【目次】

広告


サーボモータ設定項目

f:id:vv_6ong_3ka_cp:20180517123253j:plain

三菱電機製サーボモータの位置決め制御は、『mm』『inch』『degree』『PLS』の単位によって制御することができます。
私がよく使用するのはdegreeです。なぜdegreeなのか。回転量を指定することができ、359.99999°までいくと次は0.00000°になるからです。mmやinchの場合は、オーバーフローしてしまいますので注意が必要です。

1回転あたりの移動量、1回転あたりのパルス数

f:id:vv_6ong_3ka_cp:20180517123305j:plain

f:id:vv_6ong_3ka_cp:20180517123319j:plain

この1パルスあたりの移動量は、まずサーボモータのエンコーダ分解能を調べる必要があります。三菱電機製J4シリーズですと、分解能は4194304 pulses/rev(22bit)です。
ですので、通常は1回転あたりのパルスを4194304 pulses/revに設定します。

実例

f:id:vv_6ong_3ka_cp:20180517224907j:plain

1回転あたりのパルスが設定できると1回転あたりどれくらい機械が回転するのかを計算します。
例として、サーボモータ1回転あたり40°回転する回転テーブルがあるとします。

サーボモータ1回転あたりが回転テーブル40°であれば、回転テーブルを1回転させるのに必要なサーボモータの回転は360° ÷ 40° = 9回転となります。

ここで本題に戻りますが、PLC(シーケンサ)で回転テーブルを動かす場合、機械的な回転角度で動くのか、それともサーボモータの回転角度で動くのかどちらだと思いますか
実は『PLC(シーケンサ)で回転テーブルを動かす場合は機械的な回転角度で動く』のです。

皆さんは『何の問題もないじゃないか』と思うかもしれませんが、では回転テーブルを1回転させたいよとなった時どうしますか

『PLCで0°→360°にすればいいんでしょ?』と考えた方には最初の部分を読んでいただきたいのですが、0°=360°なのです。
つまりは特異点のようなものが存在するということです。

ですので、360°回転の位置決め指令ができないということがわかると思います。機械屋さんにはわからない事情ですね。笑

1回転あたりの移動量を変更

解決する方法としては、先ほど設定した1回転あたりの移動量を40°→80°にします

すると、回転テーブルが1回転するのにサーボモータは360° ÷ 80° = 4.5回転となります。
実際の回転角度よりも2倍回転量が少なくすることによって、元々の回転テーブルの位置決め回転角度360° を360° ÷ 2 = 180°とすることができるのです。

つまり見かけ上の機械的な1回転あたりの移動量を調整することによって特異点を回避することができるのです。

QD77MS 位置決めデータ一覧

f:id:vv_6ong_3ka_cp:20180517221531j:plain
f:id:vv_6ong_3ka_cp:20180517221545j:plain

QD77MSを使用する場合、バッファメモリで使用しますので参考にして下さい。

終わりに

機械屋さんの1回転と電気屋さんの1回転の違いを理解して頂けたでしょうか。
意外と1回転も奥が深いです。笑
参考にしてみて下さい。

広告