※ 当ページには【広告/PR】を含む場合があります。
2024/03/23
2024/04/02
最近やっていた趣味の工作で、DCジャックを実装したい場面に出くわしたため、銅張基板に1x1.6mm寸法の長穴を開ける必要がありました。KiCadでさっとフットプリントを呼び出してExcellon形式のドリル加工ファイルを作りましたが...どうやらFlatCAMでは、ドリルで長穴を空けてはくれないようです。ということで、FlatCAMから長穴だけを開ける加工を作る手順を紹介します。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング FlatCAMだと長穴を認識しない?
著者の古い認識だと、楕円状の長穴(Oval)は、以下の模式図のように、ドリルを連続して近い位置に打って作る、のをFlatCAMがいい感じに解釈して加工してくれると考えていました。でも、実際のFlatCAMからのドリル加工の設定だと、Excellon Object(ドリル加工)
の軌跡からは長穴(Slots)の部分だけ除外されて、そのままだと加工してくれないようです。どうやら、対処法を調べていくと、「長穴はドリルで無理に突貫工事しないで、ちゃんとエンドミルで加工しましょうね」というお話のようで、FlatCAMでのドリル加工は、スルーホールかビアかどちらかの構造に限定されるようです。この辺は同じようにFlatCAMから長穴を加工するテクニックを紹介されている方の記事も参考になります。参考|KiCad + FlatCAM で楕円を削る基本的には、この記事の中で紹介されていることと同じことをやるわけですが、使われているKiCadやFlatCAMのバージョンが異なるのか、ドリル加工の用にGerberX2形式を経由したり、"負のツール径"でパスの内側を削る裏ワザのようなやり方を考案されていたり、結構トリッキーです。そうまでしなくても、FlatCAMの[Excellon Object] > [Milling Geometry]
を使うと、Slots(長穴)だけ切削加工できるので、今回はそちらの手順を説明します。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング FlatCAMで長穴を削る手順
まずは古いFlatCAMでは、バグや機能に違いがあるかもしれませんので、バージョンを確認しましょう。著者の環境で利用しているのは、以下のベータ版です。なお、Debian OSへの導入方法については別記事で解説しています。[FlatCAM導入] FlatCAM 8.9(Beta)をLinuxにインストールする無償で利用できるCAMソフト・FlatCAMのベータ版をDebainLinuxへ導入する手順をまとめてみます。
まずは、通常どおりKiCadからエクスポートしたExcellonファイルをFlatCAMで読み込みます。回路設計で載せた部品のフットプリントの穴が全て配置されていることがわかります。左の[Project]
ツリーから、[Excellon]
の中にあるExcellonオブジェクトをダブルクリックすると、[Selected]
タブが開きます。ドリル加工の中身を[Tools Table]
で確認すると、今回で言えば、2つのツールによって「ドリル加工(Drills)」が計26箇所、「スロット加工(Slots)」が計3箇所存在していることが見て取れます。[Tools Table]
から1番のツールを選択して、Cut Z
にドリルの加工深さを設定後、[Generate CNCJob object]
をクリックすると、CNCJobオブジェクト
が生成されます。このCNCJobオブジェクトでは、ドリル径が1.0mmで深さ1.7mmの貫通穴加工ができます。NCファイルをエクスポートしてから、NC Viewerなどで加工がシミュレートしてみましょう。ドリル加工が行われるのは、丸穴のみで、長穴のある箇所の加工は「分離」されていることが確認できます。残りの長穴(スロット)加工は、やはり1番のツールから別手順で作成することができます。再び[Project]
に戻って、Excellon
オブジェクトをダブルクリックし、再度1番のツールを選択します。選択したツールの下にある項目で[Milling Geometry]
の箇所で、長穴加工したいエンドミル径を入力し、[Mill Slots]
をクリックします。すると、今度は_mill_slot
というサフィックスの付いたGeometry
オブジェクトがプロジェクトに追加され、エンドミルツールの加工パラメータを入力することで、残りの長穴加工を作成することができます。後は先程の手順同様に、[Generate CNCJob object]
をクリックして、エンドミル加工用のCNCJobオブジェクトを生成し、長穴加工のところだけがプロジェクトに追加されたことがわかります。実際にこの部分だけNCファイルとして取り出して、NC Viewerで確認すると、ちゃんと、独立したエンドミル加工として動くことが確認できます。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング 最新のFlatCAMベータ版でのスロット加工の注意点
(※この節の内容は2024年4月にアップデートしたものです。)最近、別のLinuxパソコンにFlatCAMをインストールしてみたときに気付きましたが、現状のBeta版の最新バージョンは、『v8.994』となっています。前節の手順説明に使ったBetaであるv8.993とは下3桁が一つ繰り上がっているだけなので、大した変更点も無かろうと高をくくっていましたが、使ってみるとアプリのGUIが若干異なるようです。特に、Excellonファイルからの長穴加工機能がインポート時点ではアクティブにならずにかなり面食らってしまいました。当初は何かしらPythonのライブラリにエラーが出ているのかと、さんざんpythonモジュール周りを弄ってみたものの、長穴加工機能がアクティブになることはなく...。その後、Mill Slot
をアクティブに出来るか色々試したところ、ようやく解決策(?)に辿り着くことができました。まず、読み込んだExcellonオブジェクト
を開き、[Excellon Editor]
を開きます。そして何も編集することなく、[Exit Editor]
で閉じます。重要そうなのは、その際、なぜか何も内容を編集してはいないわけですが、変更内容の保存を[Yes]
とします。すると、Excellonオブジェクト
の設定タブにMill Slots
がアクティブ状態に変わります。おそらくこれはExcellon
ファイルの初回ロード機能のバグではないかと思います。とりあえず、FlatCAMのv8.994でも長穴加工は出来るということで一安心です。
KiCadではじめる「プリント基板」製作 (I・O BOOKS) IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング まとめ
今回はFlatCAMで、基板への実装時に長穴が必要なフットプリントのあるパーツのための穴加工をどう設定すればよいのかを解説していきました。