2016年7月3日日曜日

PCB切削 2

前回、CNC4030でPCBを切削した場合にバックラッシュが原因と思われるZ軸のズレにより加工の最後の方が旨く削れないと書いた。それで何か工夫できないかと考えて、加工中定期的にZ軸のゼロ点調整をやったらどうなるか、FT2232HLを使ったJTAGボードを題材にして試してみた。ゼロ点調整は手動では無くGコードプログラムにゼロ調用のコードを埋め込んで実行させる。

ゼロ調用のコードは以下のようにした。

G00 X0 Y0
G04 P2.5
G31 Z- 2.3 F25
G92 Z0
G04 P0
G00 Z2.0

GコードのG31はプローブ電極(今回はPCBの銅箔をプローブ電極として使う)と導通検出できるまでZ軸を下降し、検出された時点で下降を停止するので、下降が停止した時点でGコードG92でZ軸の値を0にリセットする。 このゼロ調は、今まさに切削しようとしている場所で行うのが理想なのだが、その場所はそれまでの切削によって銅箔が島状になり電気的に絶縁された状態になっている場合もあり得る。その場合はZ軸がどこまで下がっても導通が検出されないことになってしまいワークやCNC自体を破損してしまうことになる。そのため、ゼロ調はどの時点に置いても確実に導通が取れる場所で実行する必要がある。今回は以下のように座標基準点(X0,Y0)を基板の外側にとり、そこでゼロ調を実行させることにした。


PCB切削用データは、回路設計からパターン設計およびガーバーデータ出力までをKiCadで行い、出力されたガーバーデータをpcb2gcodeでCNC用のGコードに変換して作成している。
pcb2gcodeが生成するGコードはグループ化されており、グループ間の境界部は以下のような感じになっている。


ゼロ調用コードは、G00 Z2.00000 ( retract )行と、次のブロックの開始行との間に挿入する。
次のようなawkスクリプトを書いて実行した。全てのブロック境界に挿入すると時間がかかるので、5ブロック毎に挿入するようにしている。


そうやって作成したGコードで切削をしてみたところ、1回の切削でほぼ完璧に加工できた。

写真はパターン切削の後に穴空けと外形切り出しまで完了した状態のもの。
刃は前回同様Φ0.2mmのドリルを細工して使っている。0.5mmピッチのパッドも良い感じに削れている。




ウラ面

実際に部品を実装してみた。

銅箔の酸化防止を兼ねて全体にハンダを付けたのだが、見た目が汚くなってしまった。。。残念
しかし、ハンダ付け自体は普通の基板へのハンダ付けと変わるところはなく簡単に出来た。
また、動作もバッチ・グーで動作した。

0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 25

まだ制御ソフトが完成していないので今まではスピンドルを移動するために一々簡単なプログラムを書いて移動させていたのだが、非常に面倒なのでCNCペンダント的なものを作ることにした。 右側の縦に2つ並んでいるスイッチ...