ステッピングモーター制御
◆ステッピングモーターの性能を十分引き出そうとすると、等加速度制御や、複数モーターの
平行的制御が必要になってきます。これをメインCPU一個で対処するのは困難な場合が多々
あります。この項では、個別のステッピングモーターを専用のマイクロコントローラーで制御し、
メインCPUはこれら複数のユニットをシリアル通信で制御する方法を研究します。
◆ステッピングモーターのコントローラーはAT90S2313を使用。
シリアル通信により上位CPUからコマンドを送信することで制御を実行します。
◆サンプル回路では、PCを用いた実験できるように、RS-232Cドライバーを使っていますが
組み込みシステムの場合はTTLインターフェースを使用することが可能です。
◆モータードライバーはSLA7021Mに変えてSLA7033Mのようなドライバーを使うと回路が
もっとシンプルになります。この場合パターン・テーブルのパターンを変更します。
ただしSLA7033Mも今後は入手が難しくなりそうで、新しいSLA7026Mを使うことが推奨
されています。SLA7026Mはネガティブ信号でもポジティブ信号でも動作しますが、どうしてか
理由は不明ですがネガティブ信号の方が高速領域まで回転するようです。
なお、これらのドライバーはA、/A、B、/Bの各相に入力を与えるドライバーですが、
クロック信号だけで回転させることができるドライバーもあります。SLA7073MRTはその上
電流検出抵抗を内蔵している便利なドライバーなのでお勧め、といきたいところですが、
実験開始後しばらくは順調、、間もなく電流検出抵抗が収められていると思しき
部分がパチンと鋭い音と共に破裂。最大電流を流した訳でもないのですが暫く原因を追及
する勇気もないままお蔵入りという経緯です。最大電流、温度等の保護がされている
はずですが?
◆詳しい仕様等はドライバーの解説を参照してください。
◆等加速テーブル値は、エクセルの加速計算で計算することができます。
得られた値をコピペして区切りカンマを追加すればいろいろな速度条件を試すことが
できるでしょう。
慣性負荷、抵抗負荷、モーターの発生トルク特性、駆動電圧等により異なってきますが
条件を選ぶことにより、かなりの高速度(3000〜5000pps)まで追従できると思います。
◆複数のモーターユニットに固有のアドレスを与え、個別に制御することも、全ユニット
に同時にコマンドを送ることもできます。
正回転、逆回転、ステップ数指定回転、ブレーキ保持機能があり、モーターユニットからホスト
への上り情報として回転中ビジー信号、設定した時間後にタイムアップ信号を返す機能もあります。