LoginSignup
25
19

More than 3 years have passed since last update.

EAGLEとCNCで、お手軽両面プリント基板の作成

Last updated at Posted at 2018-08-23

目的

 FPGAのソフトだけでなく、ハードも作りたくなったが、配線のはんだ付けは気が重い。
 プリント基板が作成出来れば、手間が省ける。
 でもエッチングは液の取扱いなど床に穴をあけそうで、機械的に削り出す方向で検討しよう。
 3Dプリンタの部品を流用した設計を考えてブツを物色していたが、A*とかE*でCNCが安くなっているではないか。
 ※CNCミニルーター(フライス盤)のことです。

経緯

 (1)A**で一番小さいCNCフライス盤(CNC1610)のキットを調達(2018/8購入時点で20,000円ぐらい)
Image99.jpg

 (2)なんとかキットを組み立てる。多少トラブル有るもとりあえず稼働を開始。
 (3)回路をプリント基板から削り出すには、gcodeへの変換が必要なことが調査により判明。
 (4)お手軽にgcodeに変換する為に、EAGLEを使うことに決定。(小さい寸法なら無料かな)
 (5)まず試しに適当設計を行い、EAGLEの自動配線(すごく便利)で片面基板にパターン化、pcb-gcodeでgcode化。
 (6)取り合えず片面は無事作成出来たが、配置配線に大きな制約が有ることが判明。(当たり前だが)
  ジャンパ線が増えるとは面倒くさいし。

 ---- そうだ「両面プリント基板」にしてしまおう ----

両面基板を作る

 といっても、ソフト(EAGLE)は両面基板を作れるように出来ている。
 問題は、部品面とはんだ面の位置合わせが面倒で、うまく重ならないとの情報アリ。
 この部分の問題を、お手軽に解決する方法を考えたので、以下に説明する。

1.前準備
 (1)CNCを組み立て、Grblcontrol(Candle)で制御できるようにする。
  ※前提として、Candleのversionは1.1.7、grbl(制御基板)は1.1fです。
 (2)制御基板のA5より、z-probe(Z軸のゼロ調整)用配線を引き出す。
  ※ついでに基準点(XYZ)復帰確認SWも付けておくと位置調整が楽になる。
 (3)Heightmapを使用可能にしておく。
  ※この辺りが詳しい [小型工作機CNC2418 その3(HeightMap検討)]
 (4)EAGLEを導入
 (5)EAGLEのulpとしてpcb-gcode(Version 3.6.2.4)を導入
  ※この辺りが詳しい [EAGLE 8.5.2でPCB-Gcode 3.6.2.4(ULP)の試用]
  ※当方だけの問題かもしれないが、Windows10でpcb-gcodeが動作しなかった。そこで
   "pcb-gcode.ulp"の129行目の"viewer.exe"を"viewer.exe.bat"に変更
    "system(g_path + "/viewer/application.windows/viewer.exe.bat");"
   "viewer.exe"の存在するディレクトリに下記内容で"viewer.exe.bat"を追加。
    path=%path%;C:\Program Files\Java\jdk1.8.0_152\bin
    %~p0\viewer.exe
    ※viewer.exeは"pcb-gcode.ulp"が存在するディレクトリ下の"\viewer\application.windows"
     javaの格納位置が異なる場合は"C:\Program Files\Java\jdk1.8.0_152\bin"もそれに合わせる。

2.回路とボードを作成
 EAGLEの使い方がまだよく判らないので、取り合えず回路は"\examples\tutorial"のdemo2を流用する。
 "demo2.brd"をプリント基板化する。
 基板の切り出しを行う為に、ボードのレイヤー46(Milling)にボードの外形を追加記入する。
 この時、基準点(+)を含ませて、最小サイズより1-2mmより大きく書いておく。
Image9.jpg

3.gcodeへの変換
 ulpとして"pcb-gcode-setup.ulp"を起動、下記を設定。
 ※取敢えずの設定、最適化している訳ではない。
Image8.jpg
 "Accept and make board"を選択すると、画面とダイアログが(4回)出るのでOKして閉じる。
 見本の設定では"demo2.brd"のディレクトリに**.tapが5個出来ている。(はず)

4.部品面のカッティング
 (1)両面プリント基板をベッドに固定。
 (2)Grblcontrolを起動、"demo2.top.etch.tap"を読み込む。
 (3)ドリルの刃として、Vカットを装着。
(4)ドリルを部品面の基準(0点)位置まで移動。※左下が基準位置
 (5)z-probeを実行。Zelo_XY,Zelo_Zでワーク位置を0,0,0に設定。
Image03.jpg
 (6)HeitmapのCreateを選択すると、下部にHeightmap_settingsが現れるのでautoを選択、XYWHが設定される。
  probe_gridを適切に設定、Zt(1.00)とZb(-1.00)も適切に設定。
  probeを実行。z-probeが上下を繰り返し、マップが作成される。
※z-probeを繋ぎ忘れるとえらいことが。
  ※エラー(Alarm)になった場合、"\$X"を送信、それでも解除されない場合は"?"を送ってから"\$X"を送信で解除。
 (7)Edit_modeを選択する。切削モードになるので、忘れずに"Use_heightmap"を選択しておく。
Image2.jpg
 (8)Sendを押すと、切削が開始される。

5,外周のカッティング
 (1)外周データ(demo2.top.mill.tap)を開く。
Image04.jpg
 (2)この時に、基板のX方向の幅を記録しておく。(図では -2.540_48.260)
 (3)Z軸を上に上げ、ドリルをEnd_millに換装。(取敢えず0.8mmを使用している)
 (4)手動でドリルを基準点まで持って来て、x-probeを実施、Zelo_ZでワークのZ軸を0に設定する。
 (5)Sendを押すと、音を立てて外周カッティングを実行。※切削速度が速いとドリルがポッキリ
Image06.jpg

6.部品面、はんだ面の入れ替え
 (1)基板を取り出し、左右方向に180度回転。※重要
 (2)下側(部品面)に両面テープを張り付け、取り出した場所に再度固定する。
 (3)この時に切削したドリルの寸法だけ隙間が有るので、平等に振り分ける。
  ※振り分け用のツールを使えば比較的簡単。
Image09.jpg
   1)ツール(黒い部分が0.5mmの幅で飛び出している)の上に、基板を乗せる
   2)基板の上に両面テープを張り付ける。
   3)基板を左右にひっくり返して、元の穴に埋め込む。
   4)ツールを取り外すと、基板がほぼ穴の中心に来ている。

7.はんだ面のカッティング
 (1)はんだ面のデータ(demo2.bot.etch.tap)を開く。
 (2)Z軸を上に上げ、ドリルの刃としてVカットに換装。
 (3)ドリルを基準点のオフセット分移動させる。
 ※外周カッティングに記録した寸法(-2.540_48.260)の場合、引き算して45.72mm移動。(G00X45.72)
 (4)z-probeを実行。Zelo_XY,Zelo_Zでワーク位置を0,0,0に設定
Image010.jpg
 (5)Heightmapを実行。
 (6)Sendを押すと、切削が開始される。

8.はんだ面からの穴あけ
 (1)"demo2.brd"を再度開き、ulpとして"pcb-gcode-setup.ulp"を起動し、MachineqタブのDriill Depthを1.6mmに設定。"Accept and make board"を実行。
  ※現在の設定だと貫通しない。
 (2)穴あけのデータ(demo2.bot.drill.tap)を開く。
 (3)Z軸を上に上げ、ドリルをEnd_millに換装。
 (4)ドリルを基準点まで移動させ、x-probeを実施、Zelo_ZでワークのZ軸を0に設定する
 (5)Sendを押すと、穴あけが開始される。
  ※今の設定では部品面、はんだ面から各々1mmずつ穴あけしており、既に貫通しているはずだが。

9.出来上がり
 基板を取り外し水洗い。
正しく操作出来ていれば、部品面の穴が貫通して、それ以外の穴は無い筈。
Image015.jpg

10.評価ほか
 (1)上記の方法で両面基板の部品面、はんだ面の位置合わせは旨く行っており、当初の計画は成功。
 (2)但し、スルーホール等は上下で繋がっている訳ではなく、はんだ付け時に考慮が必要。
 (3)線幅、切削速度、切削速度等は未だ未成熟、今後詰める必要が有る。

-- 両面プリント基板の作成に目途が立ったので、なにを作るのかを考えて行こう。 -- (本末転倒だね)

 上記記載内容は無保証であり、各自の責任においてご利用願います。
 ドリルの刃がポキッと折れても、当方は責任を取れません。

"

25
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
19