2011/12/02

制御回路

試作・実験CNCとして、簡単な制御から始めた。
PCからシリアル経由で位置とスピードを送信し、コマンドと言う形で受け取ったマイコンがステッピングモーターを駆動する方式である。
マイコンは、Arduino互換のブートローダーを書き込んだAVR ATMEGA328Pを使用し、開発はArduino環境上で行った。
ステッピングモータは2相2組のコイルがあり、順番に電流を流すことで一定の角度でモーターが回る原理だ。今回はマイコン内のプログラムからコイルのONパターンを直接出力し、トランジスタを使ってコイルに電気を流すようにしている。専用ICを使えばプログラムはシンプルになり、モーターの駆動性能も向上するが今回は実験目的のため使用しなかった。

Arduinoは常にシリアルポートからのコマンドを待ち、XYZ3つのモータのうち1個または2個の移動距離及び速度を記入した以下のようなコマンドを受け付ける。

>4,200,150,400 (内容:X軸とY軸モータを位置(200,150)へ合成速度400で移動せよ)

受信直後から内蔵タイマに対してスケジュールがセットされ、目標位置までモーターを回転させる。モータに繋がった長ネジはステージ側のナットを介して直線運動に変換され、各ステージを移動させる。
ここで、ステッピングモータは400パルスで1回転(360度)する。すなわち1パルス0.9度で、長ネジは1回転0.8mm移動する。これより1パルスあたりの精度は0.002mmだが、構造上そこまで精度が出るはずもないので、ソフトウェアで最小寸法を0.1mmとしている。

0 件のコメント:

コメントを投稿