ステッピングモータを2つ同時に動かす

ちょっと間があいてしまいましたが、電子工作ネタのステッピングモータを動かすシリーズの続きです。

前回はリミットスイッチを使ってステッピングモータを停止するということをやりました。

 

 

alasixosaka.hatenablog.com

 

今回は、2つのモーターを同時に動かすということをやります。

今回のお題は、わかってしまえばなんてことないのですが、CNCシールドの使い方が今ひとつわかってなかったのでまたしてもハマってしまいました。自分の恥を晒すようなもんですが、備忘録と同じようなことをやろうとしている人の参考になればと思って書きます。

CNCシールドの同期機能

CNCシールドにはモータードライバーを4つ刺すことができます。それぞれX、Y、Z、Aと名前がついています。

f:id:alasixOsaka:20210205205516j:plain

CNCシールドにはドライバを4つ刺すところがある。X,Y,Z,Aとなっている。

X、Y、ZはそれぞれX軸、Y軸、Z軸用という意味合いです。それではAはというと、X軸、Y軸、Z軸のいずれかと同期させることができます。CNCシールドの左下の部分にジャンパーピンを刺すところがあり、X、Y、Zとラベリングされています。X、Y、ZのいずれかとAを同期させるためには、ジャンパーピンをジャンパーさせて使用します。例えばXとAを同期させたければXの部分をジャンパーします。

f:id:alasixOsaka:20210205205954j:plain

 

ということで早速やってみました。

 

f:id:alasixOsaka:20210206211703j:plain

写真のような感じでステッピングモータを2つ平行に並べて配置し、モーターにはネジ山の切った棒をカップリングを使って接続してあります。ネジ棒には例の四角い箱が刺してあって、それぞれが縦方向の柱に通してある滑車に接続しています。滑車の台どうしをL字の金具を使ってアルミの角棒につないでいます。つまり、2つのモーターを同時に動かすことでアルミの角棒が上下に動きます。Arduinoのスケッチは初回のものと同じものです。すなわち前進1000ステップ、後退1000ステップを行い無限ループに入ってストップします。

ところが、下には動くのですが上には動きませんでした。はじめは、写真をみてわかるよう角棒にステッピングモータがつけてあるので(こいつの使い方はまた次回にでも書いてゆきます)、重くて上に動かないのかと思って、角棒を外して見たら、なんと片方は上下に動かず下向きに2度動いていることが判明しました。

ここで前回の悪夢が蘇ってきました。前回もステッピングモータの方向転換が働かずに一方向のみに動く現象が出ました。そのときはモータードライバーを交換することで正常に動作するようになりました。ただ、今回は新しいドライバーを使ったのでまた壊れたということは考えにくかったのです。何はともあれ検証のため色々と接続を変えて試してみました。まず配線を入れ替えると、モーターの動きが左右逆になり、正常に動いていたのがダメになって、ダメだったほうが正常に動いたので、モーターには問題がないことがわかりました。

次にダメだった方のケーブルを別のものに交換してみましたが症状は変わらずケーブルにも問題がないことがわかりました。次にドライバーの刺す位置を変えて、Y軸、Z軸でも試してみました。また、ドライバーも入れ替えて見ました。その結果A軸だけが正常に動作しないということがわかりました。ここでCNCシールド自体の問題ではないかと考えましたが、冷静になってもう一度回路図を見直してようやく気が付きました。

ジャンパーピンは一つではダメ

ジャンパーピンは何をしているかというと、Arduinoからのシグナルをブリッジして2つのモータードライバーに同じシグナルを送るようになっています。ブリッジするのはStepとDirの2つです。ですのでジャンパーピンも2つ必要です。

 

 

f:id:alasixOsaka:20210205210247j:plain

CNCシールドの回路図。ジャンパーはStepとDirの両方をジャンパーする必要があることがわかる。

写真のようにZ軸ならZとプリントしてあるところの隣の2ピンをジャンパーし、更にその隣の2ピンもジャンパーする必要がありました。

 

f:id:alasixOsaka:20210206212252j:plain

 

ほんとわかってしまえば何でもないことですが、これにハマってああでもないこうでもないと結局2日がかりでした。

 

 

参考にしたサイト

全自動成形綿あめ機械と印刷クッキーの開発日記: CNCシールドを流用するにあたってのメモ