gEDA+PCBでプリント基板を作る

両方ともGPLなソフトで、これらを組み合わせることで基板を設計できます。 gEDAは回路CADの一種で、電子部品間の配線を定義することで回路図を作成で きます。これには物理的な制約(部品のサイズや足の配置など)は含まれません。 PCBはPCB CADの一種で、物理的な制約を考慮して、基板上の部品配置を設計し ます。

PCBについては、すばらしいチュー トリアルがありますのが、英語です。これにそって勉強したので、さらっ とだけ書きます。(ここをよむよりも、向うを読んだほうがいいでしょう)

gEDA+PCBで基板を作る

まずはコンパイル

インストールします。Plamoな環境なので全部./configure && make && make installです。

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ $ tar xfvz libgeda-20040111.tar.gz $ pushd . $ cd libgeda-20040111 $ ./configure $ make # make install $ popd $ tar xfvz geda-symbols-20040111.tar.gz $ pushd . $ cd geda-symbols-20040111/ $ ./configure $ make # make install $ popd $ tar xfvz libgdgeda-2.0.15.tar.gz $ pushd . $ cd libgdgeda-2.0.15 $ ./configure $ make # make install $ popd $ tar xfvz libstroke-0.5.1.tar.gz $ pushd . $ cd libstroke-0.5.1 $ ./configure $ make # make install $ popd $ tar xfvz geda-gschem-20040111.tar.gz $ pushd . $ cd geda-gschem-20040111/ $ ./configure $ ./configure $ make # make install $ popd $ tar xfvz geda-gnetlist-20040111.tar.gz $ pushd . $ cd geda-gnetlist-20040111 $ ./configure $ make # make install $ popd $ tar xfvz geda-gsymcheck-20040111.tar.gz $ pushd . $ cd geda-gsymcheck-20040111 $ ./configure $ make # make install $ popd $ tar xfvz geda-utils-20040111.tar.gz $ pushd . $ cd geda-utils-20040111 $ ./configure $ make # make install $ popd $ tar xfvz pcb-20040530.tar.gz $ pushd . $ cd pcb-20040530/ $ ./configure $ make # make install $ popd

gEDAを使う。

GUIで設計します。ショートカット操作は特殊なので注意が必要ですが、メ ニューでほとんどの操作ができるので悩むことは無いでしょう。ほとんどお絵 かき感覚で部品を配置して、線を結んで行けば完成です。VHDLなども使えるそ うです。

まずgEDAを起動して、主要な部品を配置します。

$ gschem test.sch
  • ショートカットi→ライブラリconnector→部品connector2-1で部品を置く。
  • 小さく表示されるので、ショートカットwで拡大範囲を選ぶ。
  • ショートカットi→ライブラリdiode→部品led-2で部品を置く。
  • ショートカットi→ライブラリanalog→部品resister1で部品を置く。
  • ショートカットnで配線します。

  • 次に、アイテムを選択 してeeを押してアトリビュート編集画面を出します。ここで値を編集して、 refdesを固有の値にします。ここではconnectorのrefdesをCONN1、LEDの refdesをD1、抵抗のrefdesをR1にします。


    ショートカットfsで保存します。

    必要なら、一回gEDAをおとして、refdes_renum --pgskip test.sch で番号 を振り直します。以下のように、refdesの値が固有な値に振り直されます。こ れでCONN1はCONN101、R1はR101、D1はD101になりました。

    $ cat test.sch v 20040111 1 C 13400 75200 1 0 0 resistor-1.sym { T 13600 75500 5 10 1 1 0 0 1 refdes=R101 } ...

    gEDA→PCBのデータ取り込み

    gEDAで作成した部品間の接続情報をPCBに読み込ませますが、基板を作るに は、(1)部品一つ一つの足の位置情報(footprint)、(2)部品間の配線の情報 (netlist)の、2つが必要です。現在gEDAで入力した情報は(2)だけで、(1)はあ りません。

    部品の物理的な情報を決める方法は2種類あります。(a)gEDAからは配線の情報(netlist)だけ取り込んでおいて、PCB上で足の位置情報(footprint)を指定する、(b)gEDA上で部品に「footprint」属性を設定する。

    ここでは(a)の方法で進めます

    配線の情報だけ取り込む

    PCB上で指定する場合は、部品間の配線の情報だけ取り込めばOKです。この場合は、以下のように、netlist(部品間の配線の情報)に変換します。

    $ gsch2pcb test.sch WARNING: CONN101 has no footprint attribute so won't be in the layout. WARNING: D101 has no footprint attribute so won't be in the layout. WARNING: R101 has no footprint attribute so won't be in the layout. No elements found, so nothing to do. $ cat test.net unnamed_net3 CONN101-2 D101-1 unnamed_net2 CONN101-1 R101-1 unnamed_net1 D101-2 R101-2

    PCBで基板にする

    PCBを起動します

    $ pcb

    pcb-bin-libraryが開きますので、そこから部品を選択して配置します。 headersの0.1_inch_2pin、~opticalのred, LED 5mm、~resister 0.25Wの10, R 0.25Wを配置します。

    部品に名称を付けます。 部品を選んで、右クリックのメニューからEdit Nameを選択し、それぞれ headersの0.1_inch_2pinに、CONN101~opticalのred、LED 5mmに、D101、~ resister 0.25Wの10, R 0.25Wに、R101 と付けます。この名称は、test.schの refdesに指定した名称と同一、test.netに書き込まれている名称と同じです。 右クリックした場所によってはPinに名称を付けてしまうので要注意です。ピ ン以外を選択しましょう。


    file-load netlist fileからtest.netを選びます。配線を確認するには、pcb-bin-Netlistでnetを 選択→Sel Net On Layoutを行います。


    メニューConnectsの Optimize rats-nestを選択して、Netlistの結果をRat linesに変換します。


    全アイテムを選択してメ ニューSelectのAuto-place selected itemを選択します。自動的に最適(?)な 配置になります。微妙に変な配置になったばあいも、再度選択するとまた別な 配置になります。


    メニューSelectの Auto-route all ratsを選択します。これでrats lineが自動的に配線に変換さ れます。


    基板作成

    練習がてらバイポーラステッピングモータドライバを基板化します。目標 は片面基板、ピン間1本で自分で焼いてみる、というレベルです。また、ここ では、gEDA上でfootprint属性を付けて見ます。ここ を参照。

    使用した道具

    サンハヤトのキットは便利です。必要なものは大体入っているので楽チン ですし、金額的にもお得だと思います。PCで基板設計するためのバージョンが ほしいなぁ...OHPシートと温度計の入手が難しかった...平面光源がなくても 蛍光灯で代用できますが、ぼやけますので細かいものには向かないでしょう。

    使用した道具一覧
    名称 値段 入手元
    サンハヤト 基板作成キット 1600 シリコンハウス
    エッチングバッグ 500 デジット
    リューター 2500 シリコンハウス
    Φ0.8半月型ドリル 500 シリコンハウス
    インクジェット用OHPシート(10枚入り) 1000? PCデポ
    インクジェットプリンタ - -
    温度計 - 実家
    ローソンの割り箸 - ローソン
    ゴミ袋(LL) - 近くのスーパー
    100円ショップでかった深めのタッパ 100 100円ショップ
    陰極管平面光源 800 シリコンハウス

    回路図をgEDAで書く

    gEDAでモータドライバの図面を書きました。こんな感じ( 画像/gschem ファイル)です。

    PCBの部品を作る

    TA84002Fは特殊な足の配置を持っているので、PCBの部品を自分で作成します。

    ただし、ピン番号は配置した順番で決まってしまいます。問題があったばあい はテキストエディタで番号を変更する必要があります。

    これで、部品は一通りそろったので次は配線です。

    PCBで配線を行う(自動配線)

    netlistをロードし、メニューConnectsのOptimize rats-nestを選択して、 Netlistの結果をRat linesに変換します。全アイテムを選択してメニューSelect のAuto-place selected itemを選択します。配置が終わったらRat linesを配線 に変換します。片面にしたい場合はSolderのみ表示状態にして自動配線すればOK です。が、うーむ、楽には楽ですが使えるかどうか…

    自動配線で不満なのが90度単位でしか配線してくれない(45度単位なら実装密 度が上がる)、複数の線の太さを混在させることができない、ぜんぜん最適とは いえない、という点です。ある程度の規模になったら自動配線に任せるしか無い でしょうが、この規模なら手動でも全然いけます。

    PCBで配線を行う(手動配線)

    まず、netlistをロードし、メニューConnectsのOptimize rats-nestを選択し て、Netlistの結果をRat linesに変換します。このRat lineを頼りに配線経路が 短くなるようにあーだこーだします。ちょっと操作したら再びRat linesを最適 化してみて、配線が短くなるかを見てみます。また、配線ミスもこれでチェック できます(netlistにない配線のショートがあるとその箇所がピンクで表示されま す)

    まずディスクリート部品を表(component side)に移動し、チップ部品を裏 (solder side)に移動します。配置が決まった部品は順にロックします。

    今回はTLP521-4周りの抵抗でGNDやVccが共通のものが多いので、これが最短 ルートで接続されるように調整します。また、出力側の配線を太くするとその経 路が問題となります。

    注意点をいくつか。

    作成したのはこれです。

    PDFを作る

    pcbでprintoutを選ぶととPSファイルができます。出来上がるファイルは以 下の通りです。(印刷したのはこれ です)

  • 出力ファイル名_assembly.ps 部品リスト
  • 出力ファイル名_back.ps 配線パターン(裏)
  • 出力ファイル名_backpaste.ps 半田ペーストのマスク(裏)
  • 出力ファイル名_backmask.ps レジストのマスク(裏)
  • 出力ファイル名_backsilk.ps シルク(裏)
  • 出力ファイル名_front.ps 配線パターン(表)
  • 出力ファイル名_frontpaste.ps 半田ペーストのマスク(表)
  • 出力ファイル名_frontmask.ps レジストのマスク(表)
  • 出力ファイル名_frontsilk.ps シルク(表)
  • 出力ファイル名_fab.ps ドリル穴
  • 作成したPSファイルをImageMagicでpdfに変換(convert hogehoge.ps hogehoge.pdf)して印刷します。私はpsファイルをepsにコンバートして強引に 結合していますが…

    ここで紙に印刷して部品サイズを実物合わせでチェック。 紙の上に部品を載せてみて、当たる部分がないか、印刷サイズが正しいかを チェックします。問題があったら再度修正です。これ以降は修正が難しくなる ので面倒でもきちんとチェックしておいたほうが特です。

    プリントする

    あちこち見て集めた情報では、「OHPシートに印刷して、それを2枚重ねで 感光に使う」「レーザよりもインクジェットの方がインクが厚いのでお勧め」 だそうです。

    EPSONのインクジェット専用OHPシートに、PM-G500(スーパーファインモード、 画質=きれい)でプリントアウトしました。見た感じ、問題はなさそうですが、 よくみると、ベタ塗りの箇所は微妙に模様が入っています。光を通しそうもあり ませんが、念のために2枚重ねにします。

    基板を焼く

    サンハヤトの基板作成キットを使用します。

    感光

    OHPシートを2枚重ねた状態で光にかざしてみて位置をきっちりあわせます。 ずれないように、マスキングテープで4角をしっかり固定します。

    OHPシートを基板に張り付けます。基板とOHPシートはめくって確認できる スペースを残してしっかりと固定します。

    27Wの蛍光灯、距離10cmで三十分感光を行いました。パターンがきっちりと 浮き上がりました。ただし、蛍光灯では、蛍光灯から離れた部分がぼやけてし まいます。

    できればサンハヤトの専用のライトがあればいいのですが、結構値がはり ます。私はシリコンハウスで陰極管平面光源が800円で売られていたので、そ の上に3mmアクリル板を載せてを利用することにしました。時間は25分です(ア クリル板が紫外線を吸収する&光源がたった4Wなので時間がかかります)。

    感光が完了すると写真のようにうっすらとパターンが現れます。


    現像

    現像液を作ります。容器にお湯をいれ、水を足して温度調整し30度にしま した。それから現像液の元を投入。温度が高いと全ての感光剤が溶け ますので、注意。容器はエッチングパックでもいいのですが、時間 にシビアなので取り出しやすい平たいタッパがお勧めです。

    基板を木箸で動かしながらたまに様子を見て、感光した場所が溶けたのを確 認。30秒ほどで完成。

    現像終了すると写真のように感光した部分の感光剤が完全になくなり、銅 箔の金属光沢が見えます。ただし、見た目この状態になってもなお、薄く感光 剤が残っている場合があるようです。これは、光を反射させてみて光沢の違い で確認できるようです。現像の仕上がり状態を見て、パターンが切れていたら レジストペンで埋めて、パターンの接触があったらカッターで削ります。また、 線の間隔の狭い部分にうっすら残っている場合は、手で修正するするのではな く、感光剤を有機用剤で溶かして現像液で洗い流すという方法もあります。

    現像液はこのままとっておく方が得策です(エッチング後に感光剤を取り除 く時に使います)。使わないのであれば、酢(酸性)で二倍に薄めて現像液のア ルカリ性を中和します。固形分をこしとりながら流しに捨てます


    エッチング

    エッチング液は強力な薬品なので、下にビニールシートを敷いて床にこぼ れないようにします。60度のお湯をタッパにいれておいて、そこに未開封のエッ チング液のボトルを投入。タッパに蓋をしてタオルでグルグル巻きにして15分 ほど放置。お湯の温度が45になりエッチング液のボトルも十分温まったのを確 認。エッチング液をエッチングバックに移して基板を投入。

    エッチング中は液を撹拌しながら、湯煎して温度を保ちます。お湯の温度 が下がってきたら、すかさず湯煎のお湯を足して45度調度を維持します。お湯 の量が多いほど安定するのでやりやすくなると思います。

    基板を15minほど揺らしていると...できあがったのかよく分かりません。 光を反射させて、感光部分に銅箔の光沢がなくなっていれば、完成だと思いま す(現像剤が残っていた場合は、いつまで足っても銅箔が残ったままになりま す)。基板を取り出して触ってみると表面に凹凸ができているようです。こん な感じだろうと思いエッチング終了。取り出した基板を洗って置いておきます。

    エッチング不足があった場合、感光剤を削ってもう一度エッチングすると いう手もあるらしいですが…細い線が消えるリスクもあるので難しいかと。

    私はやりませんでしたが、エッチング液を二倍に薄めるとエッチングが速 く終るそうです。ただし、強力になる分時間の調整が難しくなる、エッチング 液を使い回すことができなくなる、などの問題が有ります。

    エッチング液はエッチングバッグのままとっておいて、何度か使用するこ とができます。捨てる場合は温かい間に廃液処理。結構手間です。処理剤Aを いれてシェイク。飲んだら3秒で死ねそうな緑色になってきました。冷えたら、 続いて処理剤Bをいれてシェイク。... 青汁?。30min待ってセメントをいれ て終了。あとは不燃ゴミとして捨てるだけ。


    仕上げ

    最初に感光剤を取り除きます。理由は、先に穴を開ける と加工の熱で感光剤が硬化してしまうこと、フラックスを塗ると感光剤が溶け 出すことです。また、フラックスをぬってから穴をあけると、(完全に乾いて いないと)切り粉がベトベトのフラックスの上にくっつくので、穴開けを先に するか、もしくはフラックスを完全に乾かしてから穴を開けます。

    基板に残っていた感光剤を取り除きます。全面を感光させて現像液で溶か すか、キット付属のスチールウールでガリガリと取り除きます。ただしスチー ルウールの場合は当然ながらラインをきずつけることが有るので現像液でやる 方が安全だと思います。

    この段階でショートしている箇所があったら、カッターで修正します。パ ターンが切れていたら…後でジャンパで直すしかありません。パターン修正で すが、モレが発生しやすいようです。元の図を参照しながら一箇所ずつライン をチェックしていき、問題箇所が合ったらマーキングしておいて、最後にまと めてラインの修正を行いました。


    次は穴あけです。φ1.1とφ0.8半月型、φ1.0半月型、で挑戦しました。入 手元は、φ1.1は秋月、半月型はシリコンハウスで購入したものです。使った 感じは半月型のドリルの方がいいです。結構切れる、先が滑りにくいし、カエ リは小さいし、粉も少ない。寿命は分かりませんが、個人で基板を作る程度な ら問題ないでしょう。さらに最近出回っている2500円の安物リューターを使用 しました。パワーがありますし充電式。位置合わせはボール盤よりも簡単でしょ う。

    ヘッダピン相手の場合径はφ1.0、その他の部品の場合φ0.8未満がいいよ うです。0.8ではラウンドがあまり残りません。φ0.5のドリルを使いたいので すが、なかなかチャックの入手性がよくないので断念しました。

    次に錆びないようにフラックスを塗るか半田を乗せます。フラックスを塗っ ていても手でペタペタさわると錆びるので、なるべくさわらないように注意し ます。


    半田付け

    普通に半田づけです。表面実装部品も3点だけありますが、半田付けはさほ ど難しくは有りませんでした。困ったのはパターンの間隔が狭いところ (10mil)ではすぐに「ブリッジ」したことです。強引に、ブリッジをカッター で切り離してから個別に溶かして引き離しました。設計で10mil以上にするか、 半田前に再度フラックスを塗っておけば、これは起こらなかったのでしょう が…。また、レジストを塗っていないので、使っているうちに、段々と錆びて いきます。安全のためにレジストを塗っておいた方が得策でしょうか?


    残課題

    とりあえず、思いついたものを適当に。

  • 両面基板に挑戦
  • 自作感光装置のアクリルは紫外線を吸収する。ガラス板にする。
  • 光源が弱い。
  • 原因分析

    テキトーに問題発生時の原因と対策をまとめてみました。

    Phase現象原因対策
    感光時パターンがぼやける基板とOHPシートの密着不足硬い板(ガラス板)に押し付ける
    重石を重くする(やりすぎると逆効果)
    真空クランプを使う
    シートの凹凸の癖を取り除く
    基板の凹凸を取り除く
    シートと基板の間に油やメンソレータムを入れる
    光の入射角がきつい薄いシートを使う。
    光源の数を増やす。
    光線を並行にする。強い光源を使い、光源との距離を離す。
    印刷が荒いスーパファイン紙などで設定し密度の高い印刷を行う。
    パターンに穴が開いているOHPシートか基板の汚れ。事前に確認
    感光剤の傷。事前に確認
    パターンが出てこない光源の紫外線が弱すぎる。紫外線の強いものを選ぶ
    光源のカバーが紫外線を吸収した。ガラスが望ましい
    感光剤が光源の熱で変質してしまった。
    古い基板ではパターンが見えないが感光している場合もある感光基板の消費期限を守る。
    OHPシートが裏返しだった確認不足。OHPシートに文字を入れておく。
    感光で感光剤が溶けた感光剤は水+熱(?)でとける十分に乾燥させてから感光
    現像時不要なパターンが残っている現像液の温度が低すぎる。適温25〜30度に調整
    印刷がぼやけた感光のパターンがぼやけた場合を参照
    現像時間が短すぎたパターンの状態を見ながら調整(30秒〜1分)
    有機溶剤で溶かして現像液で濯ぐ/td>
    必要なパターンが消えた現像液の温度が高すぎる。適温25〜30度に調整
    紫外線がOHPシートを透過したスーパファイン紙などで設定し濃度の高い印刷を行う。
    インクジェットなら2枚重ねに
    レーザプリンタなら3枚重ねに
    現像時間がが長すぎたパターンの状態を見ながら調整(30秒〜1分)
    パターンがぼやけていた感光のパターンがぼやけた場合を参照
    現像されない現像液の温度が低すぎる。適温25〜30度に調整
    感光できていない感光のパターンが出てこない場合を参照
    現像時間がが短すぎたパターンの状態を見ながら調整(30秒〜1分)
    不要なパターンを消そうとしたら、必要なパターンが先に消えた現像速度の不足でぼやけた新しい現像液を使う
    現像液を温度を高めに調整する。
    感光不足感光時間は長めに。
    エッチング時必要なパターンが消えたエッチング時間が長すぎたエッチング時間を調整(45度 15分)
    エッチング液の温度が高過ぎた45度を維持する。
    現像で細い線が消えていた現像後に手でパターンを修正
    現像ですでに必要なパターンが消えていた
    不要なパターンが残っているエッチング時間が短すぎたエッチング時間を調整(45度)
    エッチング液の温度が低かった湯煎して45度を維持する。
    現像で細い隙間が消えていた現像後に手でパターンを修正
    現像時に不要なパターンが残っていた
    不要なパターンを消そうとしたら、必要なパターンが先に消えた感光でぼやけていた感光時間は長めに。多少長くても問題無し。
    現像でぼやけていた現像時間は長めに。ただし、パターンが細るので微調整が必要。
    エッチング速度不足新しいエッチング液を使う
    エッチング液の温度を保つ
    エッチング液をお湯で二倍に割る

    感光の考察

    感光についての考察です。あちこち調べた情報の寄せ集めなので、信憑性 はあまりないとおもいますが…

    感光基板は紫外線で変質します。感光波長は360nmで、これはUVA(長波長紫 外線)に分類されます。

    まず、光源の種類です。ここが参考になりま す。原子を励起して発光させているので、使用する原子の種類でピーク周波数 が決まります。このピーク周波数で使用可能な光源は限定されます。 理想はブラックライトやちびライト、GaInN LEDです。蛍光灯でも代 用できますが時間がかかります。太陽光は「紫外線を含み、かつ並行な光で感 光ぼやけにくい」とメリットはありますが、いかんせん、強さの調節ができな いのでアウトです。

    光源波長
    太陽光全域
    殺菌灯257nm
    白熱灯-(360nmを含む)
    蛍光灯(熱陰極管)-(360nmを含む)
    蛍光灯(冷陰極管)-(360nmを含む)
    ケミカルライト300〜400nm(Peak 360nm)
    ブラックライト300〜400nm(Peak 360nm)
    ペット用紫外線灯UVB(360nm含まず/Peak250nm?)
    GaInN LED(紫外線LEDの一種)370nm
    サンハヤト「ちびライト」352nm

    つぎに板とシートを密着させるための透明な板の素材ですが、以下のよう になります。石英ガラスが理想ですが、入手しにくいので通常のガラスでも代 用できると思います。

    素材透過率
    石英ガラス90% @ λ=360nm,t=3
    通常のガラス70% @ λ=360nm,t=3
    アクリル30% @ λ=360nm,t=3
    ポリカーボネートほぼゼロ
    ガラエポほぼゼロ

    参考文献/サイト

    goto TOP
    このドキュメントはフリーです。
    勝手に再配布/変更しても構いません
    $Date: 2006/11/07 03:20:40 $
    $Revision: 1.1.1.1 $