0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

日記;回すだけ④TwinCATのMotionでモータを回す

Last updated at Posted at 2021-06-30

 前回のEPOS Studioでモータが回り、いろいろなパラメータが、調整されたはずです。USBケーブルでつながったEPOS4ですが、動作時はEtherCATがEnable状態になっていたので、制御はイーサネット経由だったのではないかと想像しています。
 USBケーブルを抜いて、TwinCATを立ち上げます。

TwinCATの設定資料

 EPOS3 EtherCAT Application Notes Collection
 EPOS4 Application Notes
 EtherCAT マスター接続ガイド
youtube
 TwinCAT 3 PLC Tutorial Motion NC-PTP

エラー

 初期のころよく出ていたのが次のエラーです。
ファイル名
 PCが立ち上がった後、常駐部が起動します。そのあと、次のバッチ・ファイルを管理者権限のコマンドプロンプトで動かします。

cd C:\TwinCAT\3.1\System win8settick.bat

 このタイミングが良いのかどうかは、不明ですが、一度でエラーが消えないければ、三回以上実行してみます。
 すごくアナログ的ですが、今、このエラー・メッセージは出ていません。

設定を始める

 第2回のTwinCATをインストールした時点で、カプラ類の入出力ができるかどうかの確認を行いました。
t110.png
 ここからモータの設定を始めます。
 ソリューションエクスプローラのI/Oから、ドライブ4(EPOS4)をダブルクリックし、中央画面のプロパティを表示し、スロットのタブを見ます。CSP Modeが選択されています。
t401.png

 スロットは、運転モードの選択になります。通常、
• サイクル同期位置制御 Cyclic Synchronous Position (CSP)
• サイクル同期回転数制御 Cyclic Synchronous Velocity (CSV)
• サイクル同期トルク制御 Cyclic Synchronous Torque (CST)
に加えて、
• Profile Position Mode (PPM)
• Profile Velocity Mode (PVM)
も選べます。しかし、筆者は、意味がわかっていませんので、デフォルトのサイクル同期位置制御CSP Modeのままで設定を進めます。

 同じプロパティ画面のDCタブを選択します。「詳細設定」を押して出てきたパネルで、「有効」にチェックが入っていたら、OKです。EtherCATの時間管理をこのドライブ4(EPOS4)が行い、そのサイクルは2000usだという設定です。

t402.png

 ソリューションエクスプローラののMOTIONーNC-Task 1 SAFをダブルクリックし、中央のプロパティのタスクを見ます。
 サイクルティック(サイクル周期)が2msなのを確認します。資料のうち二つが2msで、一つは1msです。カプラのときは、みな1msをセットしたように記憶しています。
t403.png

軸の設定

 ソリューションエクスプローラのMOTIONの軸ー軸1をダブルクリックし、「設定」のタブを開き、「I/Oにリンク...」が「ドライブ4(EPOS4)」に割り当てられていることを確認します。
t404.png
 パラメータ・タブで、電源電圧やモータ許容値を考慮しモータ速度を設定します。適当ではいけないのですが、わからないので、適当な値を入れています。入力するのはOffline値の項目です。
 「その他の設定」をクリックし、デッドタイム補正を入れます。いろいろなところ参考にすると、6msぐらいのようです。解説では、NC-Task SAFサイクル周期の約 3 ~ 4 倍の値だそうです。
t405.png
 次に、エンコーダの項目Encをクリックします。「エンコードカウント方向の反転」はFALSEからTRUEに変えました。
 「スケーリング係数計算値」と「その下のスケーリング係数の分母」は互いに関係しあいます。スケーリング係数計算値は、解説では、500 パルス/回転のエンコーダの場合、4逓倍x500=2000 → 1/2000=0.0005とあります。ここで使用しているエンコーダは1024パルスなので、0.001にしました。母数は、回転を直線に変化するジグを使うときなどに、何回転すれば1mm移動するかを定義するものだと思われます。これらのパラメータの桁が大きくずれていると、モータは振動しているのに、ほとんど回転しないという事態になります。

t406.png

 位置制御ループCtrlをクリックします。「位置コントローラP」が選択されていました。Pは何の頭文字なんでしょうか?わかりません。PIDも選べますが、このままにしておきます。
t407.png
 同じところの「パラメータ」のタブを選択します。解説に従い、「位置制御:比例定数Kv」は1(もとは0だが、1に訂正。図は古い)、「フィードフォワード速度...」は1.0を入れました。
t408.png

 Driveをダブルクリックします。「パラメータ」のタブを見ます。
 「モータ極性の逆転」はTRUEに変更します。
 「基準速度」は600がフィルされていました。
 「位置および速度のスケーリング:」の「出力スケーリング係数」は、解説によれば、
  – Scaling = 7500 / ( エンコーダ・パルス数 * 4)
  – 例 500 パルス / 回転のエンコーダの場合: Scaling = 7500 / (500 * 4) = 3.75
なので、ほぼ倍の7を入れました。

t409.png

 上部メニューにあるフロッピ2個のアイコンを押して、保存します。

試運転

 上部メニューにある「構成の有効化」アイコンをクリックします。いくつかのパネルが出ます。OKを押して進めます。「軸1」をクリックします。
 オンラインのタブを見ます。「有効化の設定」ボタンを押し、「すべて」を押してOKで閉じます。
 F2やF3を押すと、モータが回ります。

t410.png

 「機能」のタブを選択します。
 「動作モード」を、繰り返しの「Reversing Sequence」に変更します。「ターゲット位置」は「1」mm、「ターゲット速度」は「20」、「Idle Time」は「1」秒にし、「開始」をクリックします。終わらすときは「停止」です。
 「ターゲット位置」によって、回転する角度は異なります。画面では1.0002mmと行き過ぎているので、この後すぐに1.0000まで戻ります。1秒その位置を維持し、0の位置まで回転(CCW)します。
 位置コントローラPのPは、PID制御のP(比例制御)動作なのかもしれません。目標位置に近づくと減速し、行き過ぎるの戻るという動作をしているように見えます。Kvはゲインかもしれません。エンコーダの値などが適切でないと、振動(いったりきたり)して目標値に止まらないという動作をしたことがあります。

t411.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?