LnuxCNCからAVRでソフト・パルスモータードライバーでパルスモーターを1-2相励磁で廻す。
解りにくいタイトルです。説明します。
LinuxCNCでGコードを実行するとプリンターポートからは位置決め用のパルスが出てきます。移動距離と移動速度によってパルス数とパルスの間隔(速度)でモーターのドライバーを駆動してモーターを動作します。
このテストはプリンターポートのパルスをAVRのIC、ATMEGA168で受けてAVRのソフト(アセンブラ)でパルスモーター用に1−2相の励磁パターンに変換してAVRの出力ポートからを自作の位置決め基板の上のFETドライバー(ハード)を通してパルスモーター(2相)を廻しています。
テストの段階なのでAVRのSTK-500にICを実装してPORTCをプリンターポートへPORTDをドライバー基板に接続して有ります。
右側の画面ではLinuxCNCが動作中です。

 画像1

LinuxCNCとMath3のテストはどちらもOKでした。プリンターポートから出てくるパルスは最大で5マイクロSECしか出て来ないのでOFFの時も同じ時間を取ると最大で10マイクロSEC(100KHz)で1−2相の励磁パターンの変換を3軸分(X,Y,Z使用)しなければなりません。しかしAVRは非常に高速なので可能に成りました。多分PICでは駄目だと思います。AVRは内臓の8MHz、CR発振で動作しているので外部発振の20MHzにすれば、まだ軸数を増やすことが可能です。

画像2

プリンターポートからのパルスをAVRのICで受けてFETドライバーを駆動すればあと少し抵抗があれば簡単にパルスモーターを廻す事が出来ます。

画像3

非常に簡単にパソコンのCNCを試す事が出来ます。
AVRのICとドライバー3軸分を載せたユニバーサル基板を製作中です。
2軸2相ドライブのサンプルが掲示版の有ります。ドライバー部分の回路図はPICの2軸直線補間の物と同じです。AVRはプログラム見てください。
参考になれば感謝です。

 

まごのてメカトロソフトに戻る