お知らせ:この記事はJLCPCBの提供でお送りしています。
今回は前回の記事で予告した通り、現在私が製作しているFPGAとESP32を組み合わせた回路をプリント基板化し、JLCPCBに発注する流れを紹介していきます。まずは前編として、プリント基板CADであるKiCadで設計したプリント基板と部品の情報をJLCPCBに発注できるファイル形式に変換して出力する手順を紹介します。
今回発注するプリント基板
さて、今回発注するプリント基板ですが、基本的には最初の写真のユニバーサル基板に組んだ回路をプリント基板化したものになります。ざっくりとした仕様は下記の通りです。
項目 | 詳細 |
MCU | ESP32-WROVER-32(B/E) |
FPGA | iCE40Ultra/UltraPlus |
入出力 | MIDI入力(3.5mmミニジャック)
オーディオ出力(3.5mmミニジャック) USB-C(ESP32書き換え用USB-UART) |
サイズ | 60mm x 80mm |
私はプリント基板の設計にいつもKiCadを使っています。今回もKiCadを使用しました。基板のパターン設計が適当なところがちらほらあるのはご愛嬌ということで…
製造用ファイル準備の流れ
今回はJLCPCBでプリント基板だけでなく、一部の部品の実装まで行います。プリント基板製造と部品実装を発注する場合、下記のファイル群を用意する必要があります。
- 基板製造用のガーバーデータ
- 基板製造用のドリルデータ
- 部品表(BOM:Bill Of Materials)
- 部品配置データ
今回はこれらのファイルのKiCadでの出力方法を順に紹介していきます。ちなみに、KiCadを含め、様々なプリント基板CADからのデータ出力方法がJLCPCB公式サイト(英語)にもまとまっています。適宜公式サイトも参照してみてください。
ガーバーデータの出力
まずは基板のパターン情報となるガーバーデータを出力します。KiCadではPCBエディター1を使ってガーバーデータの出力を行います。「ファイル」メニューの「プロット」をクリックすると、ガーバーデータの出力設定画面を出すことができます。
ガーバーデータの出力設定画面ではいくつかの設定があります。基本的に画面真ん中の「含めるレイヤー」と「全般オプション」「ガーバーオプション」は画像の通りで問題ないと思います。
(1)の「出力ディレクトリー」はガーバーデータの出力されるフォルダを指定します。デフォルトの空欄のままだと、KiCadのプロジェクトフォルダにそのままガーバーデータが出力されてしまい、提出用のデータとKiCad形式の作業用データが混ざってしまうので、適当な名前のフォルダを作ってそこに出力することをお勧めします。
設定が完了したら、(2)の「製造ファイル出力」を押すとガーバーデータが出力されます。ガーバーデータの出力を終えた後は、(3)の「ドリル ファイルを生成」を押してドリルデータの出力に移ります。
ドリルデータの出力
「ドリル ファイルを生成」ボタンを押すと上記の画面が出ます。ここの「出力フォルダー」はガーバーデータと同じフォルダでよいと思います。各種設定については上記と同じになるように設定します。(JLCPCBの公式の設定に合わせています)
設定が終わったら「ドリル ファイルを生成」ボタンをクリックして、ドリルファイルを生成します。これで基板製造用のファイル生成は完了です。最後に、JLCPCBへのアップロード用に、ここまでに生成したガーバーデータとドリルデータのファイル群をzipファイルとして圧縮しておきます。
部品表の出力
基板製造用のデータの出力が終わったら、次は部品実装用のデータを出力します。まずは部品表データからです。KiCadの場合、部品表は回路図エディターから生成します。「ツール」メニュー→「部品表を生成」と押していくと、部品表を生成するための設定画面が表示されます。実はPCBエディターにも「部品表を生成」というメニューがあるのですが、なぜかそちらからだと遷移する画面が異なるので、回路図エディターから部品表を出力することをお勧めします。
KiCadの部品表出力はカスタマイズが可能になっていて、各社の仕様に合わせた部品表を出力できます。JLCPCB向けのスクリプトをarturo182さんが公開していますので、上記ページの”Download Zip”からスクリプトをダウンロードします。(”Raw”を押して直接ファイルのみをダウンロードすることもできます。)
スクリプトファイルが入手できたら、画面左側の”+”ボタンを押してダウンロードしたzipファイルの中から取り出したbom2grouped_csv_jlcpcb.xslを開きます。
無事にスクリプトが追加できると上記のような画面になります。「BOM ジェネレーター スクリプト」の欄の”bom2grouped_csv_jlcpcb”を選択した状態で「生成」ボタンを押すと、KiCadのプロジェクトフォルダの中に「(プロジェクト名).csv」というファイルが生成されます。これが部品表です。
部品表の編集
さて、生成された部品表を開くと上記のような内容になっています。ここにはまだJLCPCBの部品実装サービスで使われるLCSCでの部品番号が記載されていません。そのため、LCSCの部品番号を1行目が”LCSC”となっているD列に記入していく作業が必要です。また、”Footprint”の欄もKiCadのライブラリの情報がそのまま書かれていますので、最低限のパッケージ情報にするよう編集します。その他、届いてから手はんだで実装する等、部品実装サービスで実装しない部品の行の削除も行います。
LCSCの部品番号はJLCPCBのページから検索することができます。画面下側のカテゴリをクリックするか、検索窓にキーワードを入れて、部品リストを表示します。
検索すると上の写真のように複数候補が出てきます。部品の耐圧・サイズ・値などの一般的な項目の他に、注意すべきポイントとして”Basic Part”と”Extended Part”の違い、MOQ(Minimum Order Quantity:最小発注数量)が挙げられます。
“Basic Part”はJLCPCB側で常に部品実装機に投入できる形態2で在庫を持っている部品、”Extended Part”は在庫は持っていても部品実装機に投入できる状態にセットアップする作業が別途必要な部品です。Extended Partを使う場合、部品1種類ごとにセットアップ料として3ドル追加で必要になります。基本的な抵抗やコンデンサ類はBasic Partの中にありますが、ちょっと変わった値やパッケージの部品を使う場合、Extended Partから選ぶことになります。
MOQは読んで字のごとく、その部品を使う場合に最低限発注しなければならない個数を表します。例えばある部品を1枚の基板で1個使い、同じ基板を5枚作る場合、その部品は5個あれば十分なはずですが、MOQが30個であれば30個分の料金を払う必要があるということになります。たまにMOQが非常に大きい部品がありますので、要注意です。
部品リストの中から部品を選び、型番のリンクをクリックするとこのように詳細が表示されます。ここにある”JLCPCB Part #”を部品表に転記していきます。部品番号の横にカーソルを持ってくるとクリップボードに番号をコピーするためのボタンが出るので、それをポチポチ押しながら部品表に番号を転記していくことになります。
部品番号の転記と不要な行の削除、”Footprint”の列の修正を終えるとこんな感じになります。”Footprint”の列に記載するパッケージ情報ですが、日本でよく見かけるmm式の表記(例:1608→1.6mm x 0.8mm)ではなく、インチ式の表記(例:日本の1608 = 0603→0.6 in x 0.3 in)で記載することをお勧めします3。
部品配置データの出力
最後に出力するのは部品配置データです。
再びPCBエディターに戻り、「ファイル」→「製造用出力」→「部品配置ファイル(.pos)…」をクリックし、設定画面を出します。
設定画面の選択肢は上の画像のようにします。この状態で「部品配置ファイルを生成」をクリックすると”(プロジェクトファイル名)-all-pos.csv”というファイルがプロジェクトフォルダ内に生成されます。
部品配置データの編集
生成されたファイルの1行目がタイトル行になっていますが、JLCPCBのシステムにが認識できるようにするため、上の画像の通りに書き換えを行います。また、”Package”の欄も部品表と同様に適宜編集します。
編集を終えると上記のような状態になると思います。これでJLCPCBにアップロードするデータを揃えることができました。
まとめ
今回はJLCPCBに基板製造と部品実装を発注するためのデータをKiCadから出力する手順を紹介しました。ここまでで下記のファイルができているはずです。
- 基板製造用データをまとめたzipファイル
- ガーバーデータ
- ドリルデータ
- 部品表
- 部品配置ファイル
次回は後編として実際にJLCPCBに発注する際の手順を紹介します。お楽しみに!