【KiCAD応用講座】PCB切削で平面コイルが動くか試してみる① CADファイルの準備


※ 当ページには【広告/PR】を含む場合があります。
2020/12/18
2022/10/02
Debian LinuxにKiCad v6以降をソースコードビルド・インストールしてみる
KiCadとInkscapeでSVG画像からGBR(ガーバー)ファイルに変換して卓上CNCで基板を削る①

今回はKiCADで手で配線しながら設計することの難しい平面コイルの作成法を、kicad_pcbファイルのフォーマット構造などを考慮しながら解説していきます。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

マイクロ平面コイルを作って遊びたい

海外の技術ハック系サイトでFlexARという柔軟性のあるマイクロ平面コイルを見かけて、何だかとても気になってはきました。

合同会社タコスキングダム|蛸壺の中の工作室

結構構造が単純でとても安価ではあるのですが、これをヨーロッパから取り寄せになると送料がかなり高くなってしまいそうです。

...ならば同じような構造のものが自分で作れるか検討してみよう、ということでオリジナルマイクロ平面コイルを作成してみます。

なお、個人的に柔軟な素材である必要がないので、両面銅板PCBに切削加工でコイルを削り出す方法でトライすることを画策中です。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

kicadファイルの構造をじっくり見てみよう

.kicad_pcbファイルの中身をじっくり観察してみます。

適当な回路図面を描いて、その
kicad-pcbファイルを何かテキストエディタで開いてみましょう。

            
        
などなど丸括弧()で囲われたテキスト形式で図面の設定らしきものが羅列されていることが見て取れます。

これは、S式Pcbnewファイル・フォーマットと呼ばれて定義されているkicad_pcbファイルの図面の表記表現です。

参考資料:
Files Formats KiCad (4.x) ファイル・フォーマット日本語版

構成される主要な要素は以下のようになります。

            
        
察しの良い方はここら辺でピンときているかもしれませんが、今回はシェルスクリプトで配線の加工座標を計算して、pbcnewフォーマットのファイルでそのまま加工してみるチャレンジングな試みになります。

なお、海外の方で
pythonによる平面コイルを出力してくれる便利なスクリプトを公開している方がいますので、シェルスクリプトは使えなくて嫌だという方はぜひ参考にしてみてください。

個人的な趣向が主な理由ですが、平面コイルだけでなく今後さまざまな図形に拡張しやすくしたいがために、今回はシェルスクリプトでkicad_pcbを吐き出してみます。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

実践〜スクリプトからKiCAD図面まで

それではここから実際にどうやって平面コイルを設計していくのかを具体例な手順を見ていきましょう。

平面コイル図形の出力スクリプト

まずは平面コイルを狙ったレイヤー(デフォルトでは
F.Cu(表銅面))にコイル図形を描画できるbashスクリプトを以下に作成してまみした。

            
        
とりあえずこれをmake_coil.shとでも名付け、適当な作業フォルダに保存しておきます。

なお、動作環境としてはbashとawkの使えるLinuxやMacOSでも動作するように思います。

もしwindowsで利用したい場合には、以前特集した
busyboxが便利です。

詳細は以下のリンク先の記事を方を参考にしてください。

参考|WindowsでもLinuxシェルコマンドをいつでも簡単に使いたい!と思い立ったときの魔法のツール・busybox

このスクリプトは各コイルの設計諸元をコマンド引数で渡すことでkicad_pcbのセグメントセクション(配線リスト)だけを計算して出力してくれるものです。

使用例として、

            
        
というふうに使えます。

コマンドオプションで分かりくいだけ解説すると、

            
        
といった具合になります。

bash/awkの参考書

KiCADは強力な回路基板の設計ツールですが、色々な図面を描いていくうちに、今回のようにちょっと手で配線しながら描いていくのが難しい構造に出くわすこともあるかもしれません。何かしらのスクリプト言語と併せて、補助的な設計手法にも慣れておくとよいかと思います。

個人的にはほとんどコマンドも文法構文も変えないで済むシェルスクリプトで作成しておくと、何年先も安定して使えるというメリットがあると考えます。

AwkやSedなどは是非この機会に扱えるようになっておくと良いと思います。

KiCADでコイルの設計作業

では、先程の例で吐き出した
custom_coil_r5.0_t20.txtの中身を適当な***.kicad_pcbをテキストエディタで開いて、以下のように(kicad_pcb ..)の中のセグメントセクションの方にコピペしてみましょう。

            
        
コイルのセグメントセクションを追記して保存した後で、このkicad_pcbファイルをkicadで開くと、コイル形状表示されていたらインポート完了です。

合同会社タコスキングダム|蛸壺の中の工作室

ということで、平面コイルは割とアッサリ設計できることが分かっていただけたら幸いです。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

まとめ

今回は切削加工で平面コイルを試すための前段階として、KiCADから基板図面をどのように作成するかを解説していきました。

コイルやパターンプリントなどの規則性がある図形は、手で描いていくよりも、何かしらの言語でスクリプトで組んでみたほうが作業時間の節約にもなって賢いやり方かと思います。

さて次回以降では、この平面コイルが切削できるのか、コイルとして動作するのか、などなど検証していく内容の方をお届けする予定です。著者的には別のことで作業が飛び飛びになることが最近多いのですが、業務時間の合間合間をみてコツコツ前へ進めていきます。

参考サイト

Let KiCad And Python Make Your Coils(海外)

平面コイル用pythonスクリプト - KiCAD_CopperSpiral_v2.py

記事を書いた人

記事の担当:taconocat

ナンデモ系エンジニア

電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。