KiCad においてミシン目を使って面付けをする

# 0. その後の状況の変化

### KiCad 6, プラグインKiKit, JLCPCBの面付け対応
　KiCad の大きな改版がありましたが、基本的な考え方は変わっていないと思います。また、プラグインKiKitに強力な面付け機能があり、Mouse Bitesによる面付けが簡単にできます。JLCPCBの面付けへの対応も進化しています。PCBオーダー時にV-cutによる面付けを指定できます。Economic PCBAサービスではV-cutは不可ですが、枚数制限緩和のためMouse bitesによる面付けが提案されています。これらについて以下の記事にまとめました。
[Qiita: KiCad 6のプラグインKiKitを使って面付けし、JLCPCBに発注する](https://qiita.com/BotanicFields/items/70155f1f245d88d5d26d)

　以下は、JLCPCBの追加料金に関する情報です。随時改版されている模様です。
[JLCPCB: Extra cost for different designs in one gerber file](https://support.jlcpcb.com/article/62-what-cases-will-be-charged-of-extra-cost)

# 1. はじめに
　中国のプリント基板製造業者は格安かつ短期間でプリント基板を試作してくれます。ただし異種面付けの場合、かなりの追加料金を求められます。特にVカットを指定すると厳しい様です。一方、ミシン目(Perforation)、スタンプホール(stamp hole, 目打)、マウスバイト(mouse bite)を使って面付けをした場合は追加料金なしで受け付けてもらえる場合があります。これらはルータ加工とドリル加工の範囲内であることに拠ります。Vカットには専用の加工機が必要です。ミシン目による面付けは必須のテクニックと言えそうです。

# 2. 面付け
　プリント基板を何枚か並べてまとめて製造することで1枚あたりの費用を下げることができます。この手法を「面付け(Panelize)」と呼びます。同一のプリント基板だけでなく異なる基板を並べる異種面付けもあります。製造業者は、異なる顧客からの様々なプリント基板を大きな1枚にまとめて製造しています。我々が製造業者に発注する段階でも、面付けを活用することで1枚あたりの発注金額を抑えることができます。製造上、プリント基板として最終的に切り出す前に部品を実装(はんだ付け)することも一般的であり、部品にストレスなく切り出せることも大切です。この切り出しのために、以下の方法を使用します。

- Vカット, V-cut, V-groove, V-scoring
- スロット, slot
- ミシン目, slit, perforation
- ブレークアウェイタブ, Breakaway Tab
- スタンプホール, Stamp hole, マウスバイト, mouse bite

　これらの方法と組み合わせ方については、プリント基板製造業者[^1]、技術サイト[^2]、ブログ[^3]など、解説記事が多数あります。
[^1]: [基板製造：面付けのポイント、間違わないようにしよう！](https://www.fusionpcb.jp/blog/?p=724)
[^2]: [【基板】『ミシン目(スリット)』と『Vカット』の違いとは？](https://detail-infomation.com/circuit-board-perforation-and-v-cut/)
[^3]: [「なんちゃって面付け」はどこまで許されるのか](https://ehbtj.com/diary/pseudo-panelizing-is-not-problem/)

# 3. 面付けの条件
　面付けに関する製造上の条件は、業者によって微妙に異なります。JLCPCB[^4]の製造条件[^5][^6]を引用すると以下の様になっています。

|項目|最低条件|説明|
|:---:|:---:|:---:|
|スペースなしのパネライズ|0mm|基板間のスペースは0mm|
|スペースありのパネライズ|2mm|基板間のスペースは≧2mm。そうでないと丸み加工ができません|
|丸みのある基板のパネライズ|≧20mm×20mm|基板1枚は≧20mm×20mm。スタンプホールで面付けを行い、4辺に捨て基板を設けます|
|端面スルーホール基板のパネライズ|スタンプホールで面付けを行い、4辺に捨て基板を設けます|端面スルーホールと基板の角の距離は≧3mm。推奨するスタンプホールの直径は0.5~0.8mm。推奨するスタンプホール間の距離は0.2~0.3mm|
|折り取る接続部分の最小幅|3mm|折り取る接続部分にマウスバイトがある場合は最小幅5mm|
|両端レールの最小幅|3mm|JLCPCB でパネライズする場合、両端に5mmのレールを追加します|

[^4]: [JLCPCB](https://jlcpcb.com/)
[^5]: [JLCPCB: PCB Capabilities - Panelization](https://jlcpcb.com/capabilities/Capabilities)
[^6]: [JLCPCB: FAQs - PCB Panelization](https://support.jlcpcb.com/article/49-pcb-panelization)

# 4. 実践
　今回作成したプリント基板です。回路が異なるプリント基板を含めて16枚を収容しています。サイズは全て同一です。JLCPCB に発注すべく、その製造条件を参考にしました。格安サービスに発注するため全体サイズを10×10cm以下としました。

- 基板サイズ 19.05×20.32mm (≧20mm×20mmをわずかに満足できていません)
- 基板間のスペース 2.54mm (inchグリッドで設計しています)
- 折り取る接続部分の長さ 5mm
- スタンプホールの穴の直径 0.6mm
- スタンプホールの穴のピッチ 0.89mm .. 穴と穴の間隔 0.29mm
- 基板の4辺に折り取る接続部分を設け、外周4辺を捨て基板で囲みました
- 両端レールの(捨て基板)の幅 5.08mm(太い方) 2.54mm(細い方)
- 全体のサイズ　99.06×99.06mm

![stamp1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/56f50c56-4096-44e8-c399-350554bce407.png)

# 5. 作り方
　製造データ(gerber)を取り込み、面付けした新たな製造データを作成するソフトウェア[^7]も存在します。面付けの機能のあるプリント板 CAD[^8]もあります。今回は KiCad[^9]のレイアウトエディタ(PcbNew)を使い手作業で作成しました。Kicad には特段の面付け機能がありません。2.54mm幅のスロットは外形レイヤーの線画で作成します。マウスバイトは、NPTH(Non-Plated Through Hole: メッキしない貫通穴)で作成します。部品のフットプリントと同じで外形レイヤーには現れません。
[^7]: [PCB PANELIZER & GERBER TOOL SUITE](http://blog.thisisnotrocketscience.nl/projects/pcb-panelizer/)
[^8]: [Quadcept PCB Designer](https://www.quadcept.com/ja/manual/pcb/post-333)
[^9]: [KiCad](https://kicad-pcb.org/)

### KiCad
　KiCad は、プリント基板を設計するための高機能なCADソフトウェアで、誰でも無料で使うことができます。プリント基板上に部品などを配置する際に使用する図形データをフットプリントと呼びます。KiCadには予め数多くのフットプリントがライブラリとして用意されています。必要なフットプリントがライブラリにない場合、自分でフットプリントを作成や修正するためのフットプリントエディタが用意されています。フットプリントエディタの操作方法やライブラリの管理方法については、解説本[^10]などを参照ください。
[^10]: [「KiCad Basics for 5.x」マッハ新書](https://booth.pm/ja/items/941963)

## 5.1 フットプリントの作成
　プリント基板間の折り取り接続部分として使用するフットプリントを作成しました。プリント基板間は2.54mm、接続の幅は約5mmです。フットプリントには外形線がないため Eco1.User レイヤーに線を描きます。あとでレイアウトエディタ上で Eco1.User の線をなぞる形で外形線を描きます。
![sh1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/71967947-14f0-ee92-5045-2a917be5dc37.png)
　マウスバイトの穴の直径は0.6mmです。パッドとして入力したあとNPTHを選択し大きさなどを入力します。
![sh2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/090f68ec-9b24-f130-2c6a-96d0a2e8f98c.png)
　穴の中心間の距離は 0.89mm、穴と穴との間は 0.29mmあります。基板の外形に外から接する様に 7個ずつ両側に配置しました。折り取ったあとのバリが外形に残りますが、今回の基板は外形近くまで部品が載っていることを考慮しました。あとでヤスリなどでバリを削り取る必要があります。
![sh3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/cbd7aabb-0b8f-6d26-bca5-c914d331cf1c.png)
![sh4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/845da451-3f4f-ba3c-a8e5-b6ef4ee63791.png)

## 5.2 プリント基板1枚分の外形線
　レイアウトエディタ PcbNew を単独で起動します。プリント基板の外形1つを Eco1.User レイヤーに描き、先に作成したマウスバイトのフットプリントを 4辺に配置します。
![sh5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/840d43f7-e417-503a-ecfe-d603573cc2ef.png)
![sh6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/e955679e-7559-c5b7-cafa-97e2658f965b.png)
　Eco1.Userの線をなぞる形で、Edge.Cutsレイヤーに外形線を描きます。
![sh7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/92ba3877-d2b5-457f-6c5d-87e144020167.png)
　2辺のマウスバイトを一旦削除すると、面付けの元となる1枚分の外形線とマウスバイトができます。
![sh8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/23c09825-bf76-837b-c09c-40c2edbf96ae.png)

## 5.3 面付け分の外形線
　プリント基板を縦横に並べます。マウスバイトの位置を上下、左右で合わせます。
![sh9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/d288ec51-f9ff-6703-bf06-6b1fd776315b.png)

## 5.4 捨て基板の追加
　全体を囲むように捨て基板の外形を描きます。不足しているフットプリントも追加します。捨て基板を最初に折り取るためのマウスバイトを捨て基板上の4か所に追加します。このマウスバイトは、0.6mm NPTH 1個をフットプリントで作成して配置します。これで外形が完成です。この時点で DRC の確認が必要です。
![sh10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/ab2f232c-87c5-b220-c7bd-9fe689472405.png)

## 5.5 基板レイアウトの貼り付け
　外形線に合わせて、面付けの元となるプリント基板レイアウトのコピー・貼り付けをしていきます。同一のレイアウトを複数貼り付けることも可能です。全て貼り付け終わったら完成です。**異種の基板レイアウトを貼り付ける場合、予め部品番号が重複しない様にしておく**必要があります。同一のレイアウトの場合は同じ部品番号が複数あっても同じ部品ですので問題なく処理されます。
![sh11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/61dd98e9-508e-708d-9c65-672040ba7f66.png)
![sh12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/0bc8e1d6-3a57-2b82-455e-3f0c93c1e922.png)

# 6. 問題
　面付け完成後のレイアウトに対して DRC を実行するとエラーを検出してしまいます。DRC は、面付け前のプリント基板単体で確認しておく必要があります。面付け完了後のチェックは目視によります。

# 7. 出来上がり
　JLCPCB から試作品が届きました。穴がきれいに開いています。
<img width="768" alt="IMG_4594.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/011164ce-e929-c3f9-5689-9d1f99c1b398.jpeg">
まず、捨て基板をマウスバイトのある位置で折り取ります。
<img width="768" alt="IMG_4595.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/1a6c5393-311e-8c18-1adb-0bfe99927220.jpeg">
きれいに取れました。
<img width="768" alt="IMG_4596.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/8912858e-2cb1-3874-f4b3-78ff7422e894.jpeg">
両側が取れました。
<img width="768" alt="IMG_4598.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/af14f160-7228-35fe-3283-b1e9578c0bc9.jpeg">
残りの捨て基板を取ります。
<img width="768" alt="IMG_4599.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/c1236df4-8c24-8e13-57e3-6a8750a19c50.jpeg">
1行毎に分けます。
<img width="768" alt="IMG_4600.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/6cf753f5-705a-6689-9738-a4af80161f9b.jpeg">
1個ずつになります。
<img width="768" alt="IMG_4601.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/36a7e6b8-61a1-3204-ed47-f11e1d4ad497.jpeg">
タブをラジオペンチで取ります。
<img width="768" alt="IMG_4603.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/9d11eb64-7bde-bccd-d15f-080cc0c1e8f3.jpeg">
できあがりです
<img width="768" alt="IMG_4604.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/a684ff7b-57d2-ec3e-5a11-914bcd9fad3d.jpeg">
4 辺のギザギザはヤスリで平坦にできます。
<img width="768" alt="IMG_4605.JPEG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/378410/baabb566-6bd8-80e7-bb28-9ddf7972a6c7.jpeg">

# 8. おわりに
　youtube に関連する動画[^11][^12][^13][^14][^15]があり参考にしました。手作業だとかなり手間がかかります。面付けツールの活用も検討すべきだと思います。また、KiCad の今後にエンハンスで面付けが簡単にできる様になることを期待します。
[^11]: [Manual panelizing of PCBs with tabs and mouse bites](https://youtu.be/_Syjz8m-2fw)
[^12]: [Panelizing boards within KiCad - Random KiCad Tips](https://www.youtube.com/watch?v=n-PufDKrF_o)
[^13]: [PCB Panelization with KiCad](https://youtu.be/lJU9Zu-mMXw)
[^14]: [How to Manually Panelize PCBs](https://youtu.be/iYrUztOn3dU)
[^15]: [How to Panelize PCB! | 40+ PCB for just $2 | JLCPCB](https://youtu.be/Ksha6d4s5QE)