部品を買ってきました

FusionPCBからTrackingできるようになったよ、という通知がとっくに来ているのですが、なかなか荷物状況の確認ができるようにならず・・・。で、ようやくSingapore Postのトップ画面左側にある「Track Item」で「Information Received」になりました。でも、物理的な荷物の引受とは関係ないんだそうで(^^;。

まあ、焦ってもしょうがないですので、部品を買い集めました。

PARTS

基本的には秋月で手に入るものばかりで基板設計したので概ね揃いました。

FusionPCBのステータスが変わった

製造自体は速そうに思えたFusionPCB。なかなかステータスが変わりません。まあ、10月頭に国慶節で大型休暇があったりしたので、オーダーが溜まっちゃったりしているのか、あるいは、1.2mmなどというちょっと妙な基板厚さを指定したからバッチ処理に入るのに必要なオーダーが貯まらないのか理由はわかりませんが、なかなか発送の連絡が来ません。

・・・が、やっとオーダーステータスが変わりました。

Screenshot

しかし、PCB ProcessingとProcessing、何が違うのでしょうね。

・・・ググってみると、Processingになると翌日にはShippedになるという情報がありました。辛抱強く待ちましょう(笑)。

Ki-CADで基板設計(FusionPCBへ基板発注)

いよいよ、FusionPCBへ基板発注します。

1.FusionPCBへアクセス

http://www.seeedstudio.com/ にアクセスして、上の方にある「Fusion」のタブをクリックします。
Electronics Servicesの中から「Fusion PCB」をクリックします。

2.Gerberファイルのアップロード

画面上の方に「Select your Gerber File(only zip, rar accepted)」という枠があるので、そこをクリックします。
ファイル選択ダイアログが開くので、先に作成したガーバーファイル入りのZIPファイルを指定します。
しばらくすると「Successfully processed」という表示が出れば、アップロード成功です。

3.Gerberファイルのチェック

右下の方に「Gerber Viewer」というボタンができていますので、これをクリックすると、作成される基板のイメージを確認することができます。

4.基板製造仕様の設定

製造仕様を指示します。

  • Layer
    今回は2層なので2のままです。
  • PCB Dimension
    49ミリ角で設計したので、「5cm Max*5cm Max」のままです。
  • PCB Thickness
    標準は1.6ミリですが、今回は軽量化のため1.2ミリにします。
    (1ミリでも良かったのですが、ネジ止めすることもあり、1.2ミリにしました)
  • PCB Qty
    数量は10のままです。
  • PCB Color
    安く作りたいのでGreenのままです。
  • Surface Finish
    安く作りたいのでHaslのままです。
  • Copper Weight
    選択肢は1oz.しかありません。
  • Panelized PCBs
    今回はパネライズ(面付け)してないので1のままです。
  • Expedited Option
    安く作りたいのでNOのままです。
  • PCB Stencil
    部品は自分で手載せのみなので、クリームはんだ印刷用のStencilも作成しません。

5.カートに入れる

これで金額が$9.90であることを確認して「Add to Cart」を押します。すると、Seeed Studioへのログイン画面が出ますので、ログインします。ログインするとカートに入ったことが確認できます。

6.チェックアウトする

これで送り先、発送方法などを設定します。
製造自体は非常に速いようですが、安く送ろうとするとSingapore POST経由になるので時間がかかります。推定実働15−45日なので、3週間から9週間かかることになりますが、仕方がありません。EMSやFEDEX、DHL、UPSなどを使うと送料で$20〜$30くらいかかります。

7.支払い方法を選択する

Paypal一択でした。

8.最終確認

基板製造が$9.9、送料が$4.51で合計$14.51です。
・・・が、Paypalでの決済がうまくいかないので難儀しました。
成功すると、「Success – Thank you」という表示と、Order Confirmationの確認メールが飛んできます。すぐにPayPalからも支払いの連絡メールが飛んできました。$14.51で1798円でした。まあ、それでも激安なんですが、数年前だと1000円ちょっとだったので、ちょっと考えちゃいますね。

さらに、1時間後には「Order Update #オーダー番号」というタイトルでPCB製造のプロセスに入ったことを知らせるメールが飛んできました。オーダーの状況を確認する方法もメールの中に書かれています。出荷後、通常1〜2日で「Shipped」から「Traceable」に変わる、と書いてあります。

さて、どうなることでしょうかw。

 

Ki-CADで基板設計(ガーバーファイル生成)

設計が完了したら、基板屋さん(今回はFusionPCBに発注します)に出すデータを生成します。

ガーバーファイルの生成

Pcbnewで「寸法」→「パッド-マスク(レジスト)のクリアランス」を選択して、設定を行います。

  • レジストのクリアランス
    FusionPCBの設計ルールにはそれらしいものが見当たりません。なので、今回は0.1mmを指定しておくことにしました。
  • はんだマスクの最小幅
    今回は自分で部品を手載せするので関係ありませんが、FusionPCBの最小値は0.1mmなので、この値を設定しておきます。
  • はんだペーストのクリアランス
    これも今回は自分で部品を手載せするので関係ありませんが、FusionPCBの最小値は0.13mmなので、この値を設定しておきます。

「ファイル」→「プロット」で製造ファイル出力のウインドウが開きます。

  • 出力フォーマット
    「ガーバー」を選択します
  • 出力ディレクトリ
    出力先のディレクトリを設定します。
  • レイヤー
    今回は基板の製造のみをFusionPCBに発注するので、必要なものは
    「F.Cu」「B.Cu」「F.Siliks」「B.Silks」「F.Mask」「B.Mask」「Dwgs.User」「Edge.Cuts」の8つになります。この8つにチェックを入れておきます。
  • オプション
    「シルクスクリーンにパッドを出力」にチェックを入れておきます。
    「全ての他のレイヤーから基板外形レイヤーのデータを除外します」は今回はチェックを外しておきました。
    部品のリファレンスは今回手作業で全てシルクに入れたので、「モジュールの値をシルク上にプロット出力」「モジュールのリファレンスをシルク上に出力」「モジュールのその他のテキストをシルク上に出力」のチェックは外しておきます。
    また、今回は部品下にビアがあるので、「ビアにテンティングしない」のチェックは外しておきます。これでビア上にレジストがかかります。
  • ガーバーオプション
    「正規のファイル拡張子を使用」「補助座標系の原点を使用する」はチェックを入れて、「シルクをレジストで抜く」はチェックなしとしました。

これで「製造ファイル出力」をクリックしてガーバーファイルを生成します。

ドリルファイルの生成

次に「ドリルファイルの生成」をクリックして、ドリル(穴あけ)用のデータを生成します。

  • ドリルユニット
    FusionPCBの設計ルールをみると、キリのいいのはmmの方なので、「mm」を選択
  • ゼロフォーマット
    何も触らず「小数点フォーマット」のままとしました
  • ドリルマップファイルフォーマット
    FusionPCBの要求では拡張子TXTを要求しています。「ガーバー」を指定して生成しました。
  • オプション
    設定せず(チェックなし)としました。
  • ドリル原点
    製造ファイル出力で補助座標系を指定したので、ドリル原点も「補助座標系」としました。

ここで、穴の数でPTH(メッキあり)とNPTH(メッキ無し)が2つ出てきてしまいました。後者は取り付け穴用です。ファイルを生成すると、それぞれのドリルファイルができてしまいます。
ライブラリを修正して取り付け穴もメッキありとしました。

これで「Drill File」をクリックするとドリルファイル(拡張子DRL)が生成されます。発注用のファイルには含まれませんが、GerberViewでのチェック時に読み込ませるために「マップファイル」をクリックしてマップファイルを生成しておきます。

生成したファイルのチェック

次に、生成されたファイルをチェックするためにKiCadのGerberViewを起動します。「ファイル」→「ガーバーファイルを読み込む」で生成したガーバーファイルを、「ファイル」→「EXCELLONドリルファイルの読み込み」で生成したドリルファイルを読み込みます。右側にレイヤー一覧が表示されるので、各レイヤーを1つずつチェックします。CAD上でどう表示されていても、ガーバーファイルに基づいて製造されるので、しっかりチェックします。

なおGerberViewは下記のファイル名の変更後のファイル一式でも読み込むことができます。その場合、ドリルのマップファイルは含まれていないので、ファイル名変更前に確認しておくか、別途マップファイルを読み込むかが必要になります。

FusionPCB発注用ZIPファイル作成

FusionPCBへ送付するファイルのファイル名のルールは「基板名.拡張子」です。

Top Layer: pcbname.GTL
Top Solder Mask: pcbname.GTS
Top Silkscreen: pcbname.GTO

Bottom Layer: pcbname.GBL
Bottom Solder Mask: pcbname.GBS
Bottom silkscreen: pcbname.GBO
Board Outline:pcbname.GML/GKO
Drills: pcbname.TXT

ですので、生成したファイルのファイル名を修正します。

  • 基板名-F_Cu.gtl → 基板名.GTL
  • 基板名-F_Mask.gts → 基板名.GTS
  • 基板名-F_Silks.gto → 基板名.GTO
  • 基板名-B_Cu.gbl → 基板名.GBL
  • 基板名-B_Mask.gbs → 基板名.GBS
  • 基板名-B_Silks.gbo → 基板名.GBO
  • 基板名-Edge_Cuts.gbr → 基板名.GML
  • 基板名.drl → 基板名.TXT

ファイル名を変更したら、「基板名.zip」のファイル名で圧縮しておきます。

ファイル名変更後のGerberファイルをGerberViewで開くとこんな感じです。

Screenshot from 2015-10-11 12:33:11

表示するレイヤーを選択して、表面だけを表示したもの。

Screenshot from 2015-10-11 12:34:41

左上部分を拡大したところです。青が銅箔面、緑がシルク印刷、くすんだ黄色が(多分)レジスト逃げ(レジストもなく銅箔もない≒仕上がりでは基板の基材が見える部分)です。

Screenshot from 2015-10-11 12:35:03

Ki-CADで基板設計(シルク印刷)

パターンができあがったらシルク印刷の内容を作ります。

シルク印刷のレイヤーは「F.Silks」と「B.Silks」ですので、これを選んで作業します。作成する際には、(今回発注予定の)FusionPCBの設計ルールをよく見て線の太さ、文字の大きさが合致するようにしなくてはなりません。

  • 線の太さ
    「Minimum silkscreen width」は6milなので、線幅が6mil以上でなければなりません。
  • 文字の大きさ
    「Minimum silkscreen text size」は1mm(40mil)なので、最小文字サイズは1mm(40mil)ということになります。
  • パッドとシルクの最小間隔
    「Minimum distance between pads and silkscreen」は7milなので、パッドとシルクスクリーンの間は7milのスペースが必要です。

右側の「表示」の部分でレイヤー・レンダーで作業に必要な情報だけを選択して表示することにより、少しでも見やすくして作業を進めることができます。

Screenshot from 2015-10-10 22:04:58

レイヤーに「F.Silks」を選んで、右側の「T」の文字のアイコンを選択、文字を起きたい箇所で左クリックすると「テキストのプロパティ」が開きますので、サイズにXとYそれぞれに0.04インチ(40mil)、太さに0.006インチを指定して、テキストに描きたい文字列を入力して「OK」を押すと、テキストが表面シルクに追加されます。

一つシルクのテキストを作成したら、コピペしてから編集することですべての部品に必要なシルクを入力します。(注:部品のレファレンスや値はガーバー生成時に「Plot footprint references」や「Plot footprint values」にチェックを入れておくと出力できます。なので、これらはシルク層でレイアウト調整するのではなく、リファレンスや値の表示の位置やプロパティを調整するとよいでしょう)

Screenshot from 2015-10-10 23:13:00

Ki-CADで基板設計(ベタパターン追加)

配線が終わったら、電源インピーダンスを下げて動作を安定させるためにGNDなどをベタパターンにしておきます。

ベタパターンは右側のアイコンの「塗りつぶしゾーンの追加」を選定した状態で、ベタパターンにしたい領域を指定し始めると、「導体ゾーンのプロパティ」が開いて、パラメータを設定します。

  • ネット
    ベタパターンにしたいネットリスト名を選択します。通常はGND、他に電源等です。
  • クリアランス
    他の信号線等とのクリアランスを指定します。20mil=0.02くらいでいいかと思います。
  • パッド接続
    ハンダ付けしにくくならないよう、サーマルリリーフを選択しておきます。
  • コーナーのスムージング
    フィレットを指定します。半径は0.02にしてみました。
  • セグメント数
    複雑な形のベタGNDを指定する場合には、セグメント数を増やしたほうが良さそうです。

形状はまずはだいたいでOKです。コーナー付近で右クリックして明示的選択で「ゾーンの外枠(切り抜き)」を選択すれば「コーナー移動」等で形状を修正できます。

ベタパターンの指定が完了するとこんな感じです。(ベタ領域に打つ追加のビアのための追加配線も入った状態でキャプチャしています)

Screenshot from 2015-10-11 12:49:11

これでは表裏混在なのでわかりにくいので表示を表面のみにするとこんな感じになります。

Screenshot from 2015-10-11 12:49:58

キャプチャ画面の範囲では2種類のベタ指定がしてあります。中央の小さい領域は+3.3V、その外側がGNDベタです。更に外側にもハッチングが見えますが、これは配線禁止領域のハッチングです。+3.3Vの領域にある配線は追加でビアを打つためのものがほとんどです。実際にはベタ化しますので、「領域+ビア」のみが出来上がりの形になります。

エリア指定が終わったら、右クリックで「すべてのゾーンを塗りつぶす」でどんな感じにベタパターンになるか確認できます。その下の「全てのゾーンの塗りつぶしエリアの削除」でベタを削除でします。何度でもトライできるので、好みの状態になるまで調整していきます。そのままの状態では隙間が不足するなどしてベタにならない箇所があるかもしれません。その対策と、ベタGNDの表と裏を多めに接続しておくためにGNDからパターンを追加します。パターンに適当な間隔でビアを打つことで、反対面のベタ作成をさせることと、ベタパターンにまんべんなくビアが打たれるようにしてGNDを安定化させます。

Screenshot from 2015-10-11 12:57:38

表面だけ表示させるとこんな感じになります。

Screenshot from 2015-10-11 13:05:40

ビアの部分がグレーで表示されていますが、実際には銅箔あり+穴になります。

Ki-CADで基板設計(オートルータ)

次に、オートルータを動かします。オートルータで配線すると、ルートが決して適切ではないですし、GNDをベタパターン化した時に断片化してしまいます。また、見た目にも美しくありません。・・・が、どのくらいの配線難易度なのか、あるいは、手配線を行う際のスタートとしては使えます。

自動配線の手順は以下の通りです。

  1. まず、Pcbnewの上の方のアイコンの中から「トラックモード:自動配線」を選択します。
  2. グリッドに沿って配線されますので、グリッドサイズを小さめに設定します。大きすぎると未配線がたくさん残ります。小さくすると処理に膨大な時間がかかります。自分は2.5mil程度を選択して自動配線を試みています。
  3. 次に、適当なところで右クリックし「自動配線」→「Autoroute All Modules」を選択すると、すべてのネットについて自動配線を試みます。

右クリックした時に「Autoroute Module」を選択すると、カーソルがあった位置にあるモジュールに関連するネットのみ自動配線を試みます。

自動配線を行う前には右側の縦のアイコン列の中から「切り抜き(配線禁止)エリアの追加」を使って、部品面と半田面それぞれに自動配線してほしくない領域を指定しておきます。

自動配線を試みた結果はこんな感じです。

Screenshot from 2015-10-11 13:36:59

オートルータの結果を見て、9割くらい配線できていれば、手作業での結線でいけると思いますので、頑張って手配線していきます。外部ツールを使えば、自動配線の品質があがるとされていますが、手配線には到底叶いませんので、自分は手配線派だったりします。手配線の最中に配置に気をつけないといけないとか、いろいろチェックできるというのもあります。

Ki-CADで基板設計(デザインルールを設定)

基板のデザインルールの設定を忘れていました。

Pcbnewで「デザインルール」→「デザインルール」で基板上のパターンの設計ルールを設定します。

まず、「グローバルデザイン」タブで全体の設計ルールを決めます。FusionPCBの製造条件はここの下の方にありますので、参照して値を入れていきます。

  • 最小配線幅
    FusionPCBの「Minimum trace width」を見ると、6mil(0.1524mm)が最小になっています。(4層以上の場合は8mil)
    ここではマージンをみて8mil(約0.20mm)に設定することにしました。
  • 最小ビアドリル径
    先に、最小ビアドリル径を決めます。FusionPCBの「Drilling Hole Diameter (Mechanical)」を見ると、「11.81 – 250.00mil(0.3 – 6.35mm)」となっています。ここでは0.4mmにすることにしました。0.4mm≒15.7milに設定しました。
  • 最小ビア径
    FusionPCBの「Annular Ring」を見ると「≥6mil」となっていますので、15.7+7+7=30milに設定することにします。
  • マイクロビア
    マイクロビアは使用不可にしておきます。

次にネットクラスエディタで個々のネットに対するパターン幅を決めていきます。
まずウインドウ内上半分のネットクラスでパターン幅を何通りか作ります。

  • Default
    もともとDefaultのネットクラスが存在しています。特に指定しないものはDefaultにします。
    DefaultはFusionPCBの設計ルールを見ながら決めます。
    クリアランスはFusionPCBの製造条件「Minimum trace/vias/pads space」ではMin 6milとなっていますので、ここでは8milにしておきます。配線幅、ビア径、ビアドリルはグローバルデザインルールで決めたとおりにしておきます。
  • Power
    電源パターンのパターン幅を決めます。新規ネットクラス名として「Power」を入力し、今回は配線幅を20mil(≒0.5mm)にします。他はDefaultのままです。

次にウインドウ内した半分のメンバーシップを設定します。右側のメンバーシップのドロップダウンメニューから今作成した「Power」を選び、そこに入れる信号線(+3.3V、+5V、GNDなど)を「>>>」を使って移していきます。

KiCADで基板設計(部品を配置)

次にネットリスト・部品リストを読み込んで部品を配置します。引き続きPcbnewで作業します。

1.ネットリストの読み込み

上の方の「ネットリストの読み込み」アイコンをクリックすると、ネットリストの読み込みのためのウインドウが開きます。ネットリストファイルは通常は勝手に選択されているようですので、確認だけしておきます。読み込みの際のオプションがいくつか選択できるようになっていますが、そのままにして「現在のネットリストを読み込む」を選択します。
読み込みが完了すると、一箇所にすべての部品が読み込まれますので、「ネットリストの読み込み」ウインドウを閉じます。

2.部品の配置

このままでは作業できないのバラバラに配置させます。上方の「フットプリントモード」を選択し、図面中の何もないところで右クリックして「Glob Move and Place」の下の「すべてのモジュールを移動」を選択します。実行するか聞いてくるので「はい」を選択すると、基板外に部品がバラして置かれます。

3.配置が決まっている部品の配置

コネクタなどは位置が決まっている部品を配置し、位置を固定(ロック)します。

4.残りの部品を自動配置

図面中の何もないところで右クリックして「Glob Move and Place」の下のAutoplace All Modulesを選択します。ロックしていないモジュールを移動していいか聞いてくるので、「はい」を押します。繰り返し実行すると少しずつ改善していきます。
ただ、どうせほとんど全部再配置なので、最初から手動で配置したほうが楽かもしれません。

5.手動で部品を再配置

ラッツネット(部品パッド間の白い直線)が全体でなるべく短くなるように考えながら、部品を配置していきます。

Screenshot from 2015-10-11 13:19:50

これが配置完了後の状態です。

KiCADで基板設計(Pcbnewで基板図作成)

次に、基板図を作成します。

0.Pcbnewの起動

PCBの編集はPcbnew(基板エディタ)で行います。KiCADからパターン図と鉛筆が付いたアイコンをクリックし、Pcbnewを起動します。

1.基本情報を設定をする

「ファイル」→「ページ設定」で図面の基本情報を設定します。図面サイズはA4にします。リビジョンとかタイトルとかは必要に応じて適当に入れます。
絶対に設定しておくべきは図面サイズくらいでしょう。
設定するとCADの名称とか日付とかは勝手に挿入して図面枠を作ってくれます。

2.レイヤー構成を設定する

プリント基板には銅箔面の数に応じて片面、2層(両面)、4層、6層・・・といった種類があります。ここではFusionPCBへの発注を考え、2層基板とします。
「デザインルール」→「レイヤーのセットアップ」でレイヤーセットアップのウインドウを開きます。今回はできるだけ表面実装部品を使用して両面に実装するので、上の方の「プリセットレイヤーのグループ」を「2レイヤー、両面実装」にします。F.CuとB.Cuが銅箔面のパターンの名前ですが特に触りません。下の方のDwgs.userには外形寸法などを記載するので、チェックマークを追加しておきます。また、今回は部品を手で載せるのでAdhesとPasteは必要ないのですが、そのまま(チェックがついたまま)にしておきます。

3.原点の設定

図面の原点を設定します。基板サイズを考えつつ、基板の角がどこにくるか考えながら「グリッドの原点」と「ドリルファイル、実装ファイルの原点」を設定します。今回は約50ミリ角なので、左上からXYそれぞれ80ミリのところにそれぞれの原点を設定しました。

4.外形図の入力

ウインドウ上方のアクティブなレイヤー(作業レイヤー)の選択で「Edge.Cuts」を選びます。その後、ウインドウ右方向の「図形ライン(またはポリゴン)を入力」を選択し、49mm☓49mmの四角い基板外形を作成しました。このサイズにしたのは、FusionPCBで一番安い「50mm角両面」の範囲に収めるためです。50mm角ピッタリにしてしまうと、切りしろが無いので製造できなくなります。

5.取り付け穴の配置

ウインドウ右方向の「モジュールの追加」を選択し、取り付け穴を配置する辺りで左クリックすると「モジュールの読み込み」ダイアログが開くので、「ブラウザーで選択」で別途作成しておいた固定穴用のシンボルを選択し、固定穴を置く位置で左クリックで確定します。入力した取り付け穴は通常移動しませんので、右クリックしてフットプリントのパラメータの編集でプロパティを開き、「移動/配置」を「ロックする」にしておきます。(ロックすることで、後でネットプリントを読み込む際に「追加のフットプリント」を「削除」にして読み込んでも取り付け穴は削除されません)
※ここが今回後戻り項目になってしまったのですが、FusionPCBではドリルファイルは1つしか指定しないので、内面のメッキ無し穴を作る方法がわかりません。後でメッキありの取り付け穴に変更しました。

6.外形寸法の入力

ついでに外形寸法も入力してしまいます。アクティブレイヤーに「Dwgs.User」を選択し、ウインドウ右方向の「寸法線入力」を使って、寸法を記入します。
記入したい地点を左クリックで2点指定し、その後マウスを動かして寸法補助線を起きたい位置で左クリックすると寸法が記入できます。テキストは右クリックして「寸法線テキストの移動」で場所を変えることができます。

7.配線禁止エリアの設定

基本的な配線禁止エリアもここで設定してしまいます。基本的な、と書いたのは、ここで設定するのはプリント基板の製造工程からくる禁止エリアの設定のことを指すからです。FusionPCBの設計ルールによれば、基板端から0.4ミリは配線禁止(項目Circuit to edge)になっています。そこで、マージンを0.1ミリ付加して基板端から0.5ミリの配線禁止領域をPcbnewの「切り抜き(配線禁止)エリアの追加」で指定してやります。
作業レイヤーにB.Cu(ウラ面銅箔層)を指定し、グリッドをミリで0.5に設定して、基板端から0.5ミリを4つの部分に分けて設定していきます。エリアを作成しようとすると禁止エリアのプロパティ設定をどうするか聞いてきます。禁止エリアオプションとして「To Tracks(配線禁止)」「No Vias(ビアの禁止)」「No Copper Pour(ベタ禁止)」がありますが、基板端の禁止項目としては3つとも指定します。
B.Cu(ウラ面銅箔面)が終わったら、F.Cu(表面銅箔面)も同様に指定してやります。

作成後はこんな感じになります。(完成後に不要な要素を削除したりしてキャプチャしたので、ユニバーサルエリアがあったりしますが、こんな感じです。)

Screenshot from 2015-10-11 13:54:50

基板部分はこんな感じです。

Screenshot from 2015-10-11 13:55:21