Grbl 1.1はスピンドルモーターの回転数をPWMで制御できます。今回はプロクソンのルーターから取り出した小型DCモーターの回転数をGrbl 1.1+Candleで制御したいと思います。
CNCシールドが古いバージョンでモーター回転数制御用の信号は、Z時のリミットスイッチ用のZ+とZ-から出力されていました。今回はZ+を使用。(写真の右上です)
スピンドルはCandleを使ってリアルタイムで回転数を変えられます。Grblから出力されているクロック周波数は1000Hzです。CandleのSpindleを1000にするとクロックデューティ比が100%になります。0にすると0%になります。
LED等の小電力のものはこのままダイレクトにPWMで制御できますが、モーターの場合電流が足りなので、MOSFETでスイッチングしてあげるわけですが、手元にMOSFETがなかったので、以前デジタルアンプを作った時に余ったパワートランジスタで代用します。
まずトランジスタの型番を見てみますと、TIP31Cと刻印されていました。調べてみるとモーター制御にも使えそうです。
回路図はこんな感じです。
モーターは電源の供給をやめても慣性の法則に従って回り続けて逆起電力が発生し、それが回路を逆流して来ますので、整流ダイオードによってショートさせています。コンデンサはノイズ対策のために入れています。抵抗は適当なもので大丈夫です。これでINからの信号がHighになると、トランジスタのスイッチング作用によって、コレクタとエミッタ間が電気的に繋がります。
実験的にブレッドボードに回路を組みます。
12Vの電源は使っていないモータードライバへの電源供給部分から調達しました。
これでうまく回転制御ができています。
パワートランジスタはかなり発熱しますので、後で放熱板を取り付けて実装したいと思います。余裕があったら発熱が少なくなるようにMOSFETに変更したいと思います。