ELM Home Page

1998. 1. 6

パルスモーターコントローラ


MOTOR

ホストからのコマンドでパルスモーターを制御するインテリジェントなパルスモーターコントローラです。マイコンチップには、最近流行の PIC16F84を使用してみました。

実は、PICを使うのはこれが初めてだったりします。今回の実験は、PICがどれほど使えるものか試してみるという目的もありました。で、使ってみた感触としては、「かなりいける !」というのが率直なところ。ファンが多い理由もなんとなく分かりますね。

【仕様の設定】

まずパルスモーターというのは、位置決め制御に使ってなんぼというモノですので、位置決め制御に必要と思われる機能を盛り込むことにしました。今回はインテリジェントということで、ホストからの移動コマンドに応じて自立的にモーターを駆動するものとします。パルスモーターの制御で重要なのは、起動・停止時にスピードを緩やかに変化させて脱調を防ぐことですが、当然これも制御に加えることになり、今回の目玉的機能となりました。また、制御に必要な各パラメータ (最高速度・加速度・励磁方式など) もコマンドで変更できるようにしました。

パルスモーターコントローラの基本仕様
ホスト I/FRS-232C (N81,38400bps)
コマンド絶対移動 (Gn)
相対移動 (+n,-n)
原点復帰 (Rn)
位置設定 (Pn)
最高速度設定 (Vn)
加速度設定 (An)
励磁方式設定 (Mn)
内部パラメータ読み出し (?)
ステップ送り/戻し (<,>)
励磁ON/OFF (Dn)
励磁方式2相、1相、1-2相、CW/CCWパルス
ステップレート166pps〜1266pps(max)
その他リミットSW入力、原点SW入力など

【コマンドの詳細】

コマンドはホストコントローラーと RS232Cで接続して送ります。手軽に通信ソフトで制御できるように無手順としました。次にそれぞれのコマンドの詳細を示します。

絶対移動 : M<n>

ロケーション<n>へ移動します。内部演算の関係上、指定可能な値は 0〜32767です。

相対移動 : +<n> , -<n>

現在位置から +/- <n>ステップ移動します。指定可能な値は 0〜65536です。

原点復帰 : R<n>

原点へ復帰して値をロケーションカウンタに設定します。移動速度は 200pps一定速度で、ORG入力を検出するまで逆送りして、その後 ORG入力がなくなるまで順送りして終了します。通常は値を省略(0)します。

位置カウンタ設定 : P<n>

値をロケーションカウンタに設定します。値を省略すると 0を設定したのと同じです。

移動速度設定 : V<n>

移動速度を設定します。値の範囲は 0〜31で、166pps〜1266ppsまで 33pps単位で対応します。

加速度設定 : A<n>

起動・停止時の加速度を設定します。値の範囲は 0〜15で、値が大きいほど加減速が緩やかになります。

励磁方式設定 : M<n>

パルスモーターの励磁モードを設定します。値は 0〜3で、詳細は後述。

励磁ON/OFF : D<n>

モーターの励磁出力を ON/OFFします。0で OFF(初期値)、1で ONです。OFFの状態でも移動コマンドを受ければ ONします。励磁モード3ではこのコマンドを与えると無効パルスを出力します。

ステップ移動 : "<" , ">"

このコマンドは 1文字受信した瞬間に実行します (CRは不要)。"<" で 1ステップ逆送り、">" で 1ステップ順送りです。

パラメータ読み出し : "?"

P値、V値、A値、M値を読み出します。

動作パラメータ保存 : "_"

V値、A値、M値を EEPROMに保存します。次の起動時のデフォルト値となります。

急停止

移動系コマンドで移動中にブレーク信号 (20ms以上) を送ると即時停止します。

帰り値

各コマンドの処理が終了するとリザルトコードを返します。値と意味の対応は次の通り。

0正常終了
1無効コマンド
2リミット検出による非常停止
4ブレーク信号による強制停止

【励磁パターン】

    → 進み方向
    0 1 2 3 4 5 6 7
 A1 H L L H H L L H    モード 0 : 2相励磁
 A2 L H H L L H H L    常に両方の相が励磁されている、
 B1 H H L L H H L L    もっとも一般的な励磁方式です。トルク・消費電力共に最大。
 B2 L L H H L L H H

    0 1 2 3 4 5 6 7
 A1 H L L L H L L L    モード 1 : 1相励磁
 A2 L L H L L L H L    片方の相だけ励磁される方式です。
 B1 L H L L L H L L 
 B2 L L L H L L L H 

    0 1 2 3 4 5 6 7
 A1 H L L L L L H H    モード 2 : 1-2相励磁
 A2 L L H H H L L L    2相励磁のタイミングに中間の状態を追加した励磁方式。
 B1 H H H L L L L L    ステップ角度が半分(つまり精度は倍) になります。
 B2 L L L L H H H L

 A1 正転パルス         モード 3 : パルス出力
 A2 逆転パルス         CW/CCW入力のモータードライバを接続する場合に使いま
 B1 L                  す。パルス幅は 30μsec程度。
 B2 L

【各パラメータと動作との対応】

加減速動作

【原点復帰動作】

原点復帰動作

【リミット入力】

リミット入力

【資料】

PIC周辺回路例モータドライバ回路例プログラムのソースファイル

Sign