卓上CNC‎ > ‎CNC3040‎ > ‎

ステッピングモータの誤動作

ステッピングモータの誤動作

記事日付: 2013/01/26

★パターンずれの問題
CNC-3040の加工台の面だしがおわり、Z軸の原点設定もできるようになった。
これで基盤加工に最低限必要な準備が整ったので、試験として簡単な基板を作成した。

加工が終わって確認してみると、ドリル穴位置とパターンの位置がズレている
ひどい所では2mm以上ズレていて、そもそも穴がパターンの中に収まっていない。
このズレ方は、すでに加工精度云々の範囲ではなく、論外である。

★原因の考察

原因として以下が考えられた。

可能性① CAM用データに何らかの不整合がある
昔、ガーバーデータから加工用のデータを作ろうとしたとき、
データのインポート設定の都合によりパターン縮尺とドリル穴縮尺が合致せず、カットアンドトライを繰り返した経験による。

しかし、今回はTARGET3001!から直接Gコードを生成している。
データ生成はTARGET3001!単体で完結しており、ドリル穴とパターンの間でデータフォーマットの不整合が生じる余地はない。
NCVCやMach3の加工画面を見ても、特にズレがあるようには思われない。

可能性② 加工中に脱調している
加工の抵抗に負けてステッピングモータが脱調している可能性である。
加工を低速で行っているので脱調は考えにくいが、逆に低速ゆえ、何らかの過負荷で脱調した後、
すぐに同期をとりもどしているのかもしれない。
これが原因だとすれば、加工のズレはパターン加工の長さを減らす方向にのみ作用するはずである。

しかし、ズレたパターンを精査すると、加工長が伸びる場合や、X軸だけ移動する加工にもかかわらずY軸方向にも動く、などの現象が見られた。
したがって、脱調とは別の原因があるはずだ。


可能性③ ノイズによる誤動作
ノイズ等により 、Mach3の制御と無関係にXYZ軸のステッピングモータが動作している可能性である。
本システムにおいて、いちばん強力と思われるノイズ原はスピンドルのDCモータ(ブラシ付き)である。

試しにスピンドルを回さずヘッドだけ動かしてみた。ヘッドを動かすだけで、加工はしない。無負荷である。
このとき、加工プログラムの実行前と実行後で原点はぴったり一致した。すなわち、ズレていない。

次に、スピンドルを回しながら同様に無負荷でヘッドを動かすと、プログラムの実行後と実行前で原点の位置が大きく変わってしまった。
すなわち、Mach3の座標管理と関係なくモータが動いている。
以上のことから、本問題の原因はスピンドルモータに関係しているものと推察された。
スピンドルのDCモータから出たノイズが、どこかに影響しているのだろう。

それをふまえて、よく見てみると、スピンドルモータを回転させたときXYZ各軸のステッピングモータがピクピクと動くことに気がついた。


★誤動作箇所の特定

スピンドル関連のノイズによりモータドライバが誤動作していることがわかったので、次はどこが影響されているか調べる。

ステッピングモータの誤動作であるから、ステッピングモータのドライバが影響されていると考えるのが最も短絡的な考えである。
そこで、モータドライバ基板の信号入力と、基板上のモータドライバICの信号入力の波形を観察した。

モータドライバの制御入力信号入力には、回転量を指示するCLK入力と、回転方向を指示するDIR入力がある。
今回の不具合では加工長が大きくなる場合があることから、ノイズによりCLK入力にパルスが生じたことで回転量が多く指示されたのだと考えられる。
そのため、まずはCLK入力の信号を監視することとした。

モータドライバ基板のCLK入力のIF回路は、下図のようである。
入力信号は、IC出力の高速フォトカプラにより絶縁されてからモータドライバICに供給されている。
下の図では、普通のフォトカプラの記号を使っているが、実際は高速なIC出力 (ただしオープンコレクタ) である。


(なお、DIR入力は、高速なパルス入力がないためか、フォトトランジスタ出力の低速なフォトカプラが使われている)


モータドライバICのCLK入力にオシロスコープを接続して波形を監視すると、以下のように幅の小さなパルスが生じている。
幅は小さいが、ICが誤動作するには十分と思われる波形である。


このような波形が多数生じることから、モータドライバICに不正な動作指令が与えられ、
時間経過とともにズレ量が蓄積してどんどん大きくなるものと思われた。

モータドライバ基板につながる信号ケーブルを取り外すとパルスの発生がなくなることから、
信号入力側からきたノイズにより高速フォトカプラが誤動作しているものと推定された。


ノイズ対策

すでにスピンドルのDCモータがノイズ源であることがわかっているので、
モータの端子間にZNRやコンデンサを追加するなどしてノイズ対策としてみたが、
誤動作に対して目立った改善を得ることはできなかった。
そのため、まずは対症療法としてモータドライバの入力にLPFをもうけることとした。

オシロスコープによる観察により、信号線上に生じているノイズ波形の周波数はおおよそ10MHz以上であることがわかった。
一方、Mach3が出力するCLK信号のパルスの幅はおおよそ100usであって、帯域としては100kHzあれば十分である。

フォトカプラの入力には電流制限用の抵抗 (510Ω)がもうけられているので、これを活用してRC LPFとする。
ォトカプラの入力端子(LEDのアノード・カソード間)に2200pFのキャパシタを接続すれば、
カットオフ周波数  fc= 1/(2πRC) ≒ 140kHz のLPFを構成できる。
これにより、本来の制御信号に大きく影響することなく、しかし、モータからのノイズはカットができる。



上記の対策をX,Y,Zの各軸用モータドライバのCLK入力、および、DIR入力に行ったところ、モータの誤動作はなくなった。
(DIR入力はもともと低速なので、改修しなくてもよかったかもしれない)
以下の写真の、ICの足に直づけしてある茶色のコンデンサが今回追加したもの。

★まとめ

・CNC-3040は、スピンドルに起因するノイズでステッピングモータが誤動作する場合がある。
・ステッピングモータドライバの入力にキャパシタを追加することで対策できる。

以上は対症療法であるようにも思うので、スピンドルモータに起因するノイズの評価および対策については別途検証することとしたい。

Comments