趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。
RSS icon
  • Ki-CADで基板設計(オートルータ)

    投稿日 2015年 10月 15日 コメントはありません

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

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

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

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

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

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

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

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


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

    投稿日 2015年 10月 14日 コメントはありません

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

    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で基板設計(部品を配置)

    投稿日 2015年 10月 13日 コメントはありません

    次にネットリスト・部品リストを読み込んで部品を配置します。引き続き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で基板図作成)

    投稿日 2015年 10月 13日 コメントはありません

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

    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

     


  • KiCADで基板設計(CvPCBで部品割付け)

    投稿日 2015年 10月 12日 コメントはありません

    KiCADで基板設計をしています。フットプリントライブラリの整備が終わったので、CvPCBというツールで回路図上の部品とフットプリントの対応付けを行います。

    この作業は「この回路図のこの部品は、このフットプリントを使う部品を使うんだよ」ということをKiCADに教え込む工程です。例えば、抵抗ひとつとってもリードのある抵抗(リードのある部品は基板を貫通させる穴に足を挿して使うことからTHD=Through Hole Deviceと言います)を使うのか、表面実装の抵抗(表面実装部品は読んで字のごとくSMD=Surface Mount Deviceと言います)を使うのか、リード抵抗あるいは表面実装の抵抗でも大きさはどのくらいのものを使うのかを指示するわけです。

    この工程はフットプリントライブラリの整備が済んでいれば簡単です。

    1.CvPCBの起動

    回路図上でネットリスト(拡張子が.net)のファイルを生成しますが、CvPCBを起動すると勝手にネットリストを読み込んで表示してくれます。左側に回路図上の部品と各部品に設定したフットプリント、右側にライブラリに存在するフットプリントのリストが表示されます。部品名称から適合するフットプリントがひとつしかない場合には勝手に選択してくれるようです。(正しいかどうかは自分で判断しなきゃダメです)

    2.ライブラリの設定

    使用するフットプリントライブラリの設定を行います。「設定」→「ライブラリ」で使用するライブラリの設定ウインドウが開くので、下半分に検索パスを追加し、上半分にライブラリファイル(Mylib_KiCAD)を追加して一番上に持ってきておきます。

    3.各部品にフットプリントを設定

    ウインドウの左半分の各行(回路図上の部品)を選択した状態で、右半分のフットプリントのリストから設定するものをダブルクリックすると関連付けが行われて、次の部品に移ります。これを全部品に対して行うだけです。

    4.作業の保存

    すべての部品にフットプリントを設定したら、「ファイル」→「保存」(またはHDDへの矢印のアイコン)で作業結果を保存します。(作業結果は拡張子 .cmp のファイルに保存されるようです)


  • KiCADで新規のフットプリントライブラリを作成する

    投稿日 2015年 9月 26日 コメントはありません

    最近少しずつですがKiCADで基板を設計しています。KiCADについてはググるといろんな情報がたくさん出てくるので、基本的な手順はそちらを見てもらうとして、自分用のメモを残しておきたいと思います。

    で、いきなりですが、KiCADで新規のプットプリントライブラリの作成に難儀したのでメモしておきます。

    通常、フットプリントライブラリはゼロからすべてを作ることは少なくて、既存のものに設計ルールに応じて手を加えて作るのが常道だと思います。横着して、既存のライブラリのままで進めたりすると、最後に基板屋さんのデザインルールと矛盾して手戻りしたりしてしまいます。

    オリジナルフットプリントライブラリの作成方法

    1. PCBnewを起動し、PCBnewの中から「モジュールエディタを開く」でモジュールエディタを起動
    2. 「現在のライブラリ」でベースとする既存のフットプリントが入っているライブラリを選択
    3. 「ライブラリからモジュールを読み込み」でベースとする既存のフットプリントを読み込み
    4. 必要に応じてフットプリントの編集をした後に、「モジュールのエクスポート」でフットプリントを保存する。(フットプリント単位での保存)
    5. 上記3と4を繰り返し、必要なフットプリントを保存する。
      (フットプリントの拡張子は.kicad_mod)
    6. 作成したモジュール(フットプリント)のうちの一つを「モジュールのインポート」で開く
    7. 「新規ライブラリにモジュールを保存」で新規のライブラリを作成して開いているフットプリントを保存する。自分は「Mylib_KiCAD.mod」として保存しました。
    8. PCBnewで「設定」→「ライブラリ」で上記7で指定したライブラリのパスを「ユーザー定義の検索パス」に追加し、フットプリントライブラリファイルに上記7のファイルを追加する。
    9. モジュールエディタに戻り、「現在のライブラリ」で上記7で作成したライブラリ(Mylib_KiCAD)を指定する。
    10. 保存したフットプリントの残りのファイルを一つ開く
    11. 「作業ライブラリ中にモジュールを保存」で現在のライブラリ(=作成したライブラリ)に開いたフットプリントを保存する
    12. 残りのすべてのフットプリントに対して10〜11の作業を繰り返す。
    13. PCBnewのライブラリブラウザで作成したライブラリを選択して、追加したフットプリントがすべて新規ライブラリに入っていることを確認する。
    14. 作成したライブラリを使ってPCBの設計を行う。
      ライブラリのパスやファイル名(Mylib_KiCAD)を設定する箇所がいくつかあるようです。とにかくパスの追加とファイルの追加をしまくりましたw。

    なお、2つ目以降のライブラリの追加は個別のフットプリントを保存する手順を省略して以下の手順でも行けそうです。

    1. モジュールエディタで「現在のライブラリ」をベースにするフットプリントが含まれるライブラリに切り替える。
    2. 「ライブラリからモジュール読み込み」でベースにするフットプリントを読み込む
    3. 必要な修正を施す
    4. 「現在のライブラリ」を作成しているライブラリ(Mylib_KiCAD)に切り替える。
    5. 「作業ライブラリ中にモジュールを保存」でフットプリントの名称をつけて保存する。

    こんな感じですが、KiCADだと回路図シンボルとフットプリントは一対一の対応ではないのでまだいいものの、Eagleの場合は回路図シンボル作成まで手戻りしないといけなかったりするので大変です。やっぱり手抜きはいけませんね。(といいつつ、手戻りしてるわけですが・・・)

    ほとんど完成に近いように見えますが、設計ルールがNGでやり直してます・・・涙
    ESP8266-BREAKOUT-FsESP8266-BREAKOUT-Bs

    設計ルールの変更に加えて、部品も変更しているので、ちょっと時間がかかってます。先に調べておかないとダメですよね〜。

    参考まで、ライブラリの修正内容は以下の点です。

    • 「最小シルク幅」がほとんどの既存のライブラリは5mil(0.127mm)になっているが、FusionPCBの設計ルールは6mil(0.1524mm)
    • 「シルクとパッドの間の最小クリアランス」について、既存のライブラリは6mil程度しかないが、FusionPCBの設計ルールは7mil(0.178mm)
    • 既存ライブラリではパッドの上にシルクが書かれているものが少なくない。
    • FusionPCBのシルク最小文字サイズは1mm