2014/12/15

[電子工作]Eagleあれこれ その2

,
 Eagleについての個人的なTipsなどをまとめました。位置付けとしては、「Eagleあれこれ」という記事の続編です。

 Eagleのバージョンは、今のところ7.1.0が最新のようです。ちょうどこの前このバージョンにアップデートしたので、この記事では7.1.0を使っているとして、話を進めます。

 あっちなみにまだ書きかけです。

Libraryで、複数ピンの割り当て

「1ピンと2ピンがGND」みたいなICのライブラリを作成する時、回路図上ではGNDは1つのピンとして描き、ピンの割り当てで2つのピンをGNDにする時に使います。
 前からあったんですかね?Ctrl押しながら複数のピンを選択出来ました。
回路図では1つのPinに、2つのPadを割り当てるとき。Ctrlを押しながら、2つのPadをマウスで選択します。
こんな感じになります。Padの数字の左側に、繋がってるマークが出ます。
回路図上では、このようなシンボルになります。(PGNDに「1*2」と書かれる。)

Test Pointを設けよう

テストポイントと言うのがあります。テスターやプローブを当て、電圧や信号が正しく出ているか確かめるための場所です。自分が電圧をチェックしたい配線や、ほとんど露出してない信号線などに明示的に配置すると便利です。「testpad」というライブラリの「/TP/TPTP06R」や、「SparkFun-Passives」の「/TEST-POINT/TEST-POINT2」などがそうです。
test pad

回路図上のtest pad
実際に配置したtest pad

 特に、GNDやVccなど、動作確認やデバッグの際に利用しそうな配線には、予めオシロスコープのプローブを引っ掛けられるようなピンを用意しておくといいと思います。マックエイト社製のものが有名です(少々値は張りますが…)。GNDは、何箇所かチェックピンがあるとなおよし。

Polygonに優先順位(Rank)を付ける

Polygonは、「囲った領域をパターンなどで埋める」機能です。ベタグラウンドのためによく使われます。ですが、ベタグラウンド以外にも、DC-DCコンバータ周りのVccなどをポリゴンで描きたいときもあります。この時、Rank付けをしないと、下の図のように、2つのポリゴンが重なってしまいます。
Rank付けしない時の、Polygon同士の重なり。下の図と比較すると、VccとGND間にあるべき隙間が塗りつぶされたことが分かります。

 GNDのRankを"6"(最低)にして、VccのRankを"1"にすれば、ベタグラウンドはVccのPolygonがあるところを避けて塗り潰してくれます。

Rank付けした時の、Polygon同士の重なり。Rankが低いベタグラウンドが、VccのPolygonを避けています。
参考 : パターン図作成のテクニック (8) Polygonに関しての説明があります。

外に出す部品(コネクタ、LEDなど)は、なるべく大きなグリッド上に配置する

これはマイルールなのですが、外に出す部品は、なるべく大きなグリッド上に配置しています。これは、外のケースに穴あけをする際に、2mil単位などだと分かりにくすぎて間違えそうなためです。

 Eagleならまだ良いのですが、ケースの穴あけ図を別のCADで書くとき、統一されたグリッド上にあるほど楽な気がします。間隔なども規則正しくないと気持ち悪いですからね。

 今のところは、
  • 外に出す部品を、50milのGrid上に配置する。(100milだと少し不自由すぎるから…)
  • 電源線を引く。電源は、1Aで1mm(≒ 39.4mil)くらいの幅を必要とするので、後から引くのが大変。
  • 細かな部品配置と、信号線を引く。
という流れでやっています。

電源ライブラリについて

昨今の基板で電源系統が1つだけなんて珍しい気がするんですが、Eagleの場合、デフォルトのSupplyライブラリにあるのは"Vcc"とか"VccIO"とかくらいですよね。そもそも"Vcc"って名前は情報量少ない気がするので"Vcc_3V3"とかにしたいけれど、どうやるんだろう…と思ってたら、以下のような記事がありました。やっぱり自分で作らないとダメなんですね…
 余談ですが、Protelという電気CADがありまして、これだと電源名が自由に変えられるんですよね。Eagleの場合、アイコンにある名前が固定なので、ちょっとつらい。

2006-09-23 - Blackfin空挺団::Blog http://d.hatena.ne.jp/suikan+blackfin/20060923

回路はなるべく機能別に分離できるようにする

プログラミングだと、機能別に関数に分けたりすることで、それぞれの動作確認(テスト)をしたりしますよね。あれと同じで、ハードウェアでも機能別に分けられると、デバッグが楽です。大体の基板は一発で動かないような気がしますし…デバッグの手段を設けるのは重要だと思っています。

 大規模な回路だと、「表示部」「アナログ部」「MPU部」などを別基板に分けて、それらを基板対基板ケーブルで接続するというのも分離する方法のひとつのように思います。
 が、私の作る基板はそこまで大きくはないです。私の場合、「ソルダージャンパのパターンで電源を分離する」ようにしています。電源をOFFにするだけでも、その回路は動かなくなりますからね。ただ、この場合は他モジュールからの信号の影響も考えないといけないですが、小規模回路なら十分なような気がします。

 ちなみに、「外す可能性がある」ところにはピンヘッダ+ジャンパピンを利用し、試験以外の時には接続している前提ならば、0Ω抵抗やソルダージャンパのパターンを使うような区別もしています。


!他のライブラリを信用しない

自分のライブラリを作

ライブラリが豊富なことは、Eagleの魅力の一つです。が、それとは相反するような話です。どうしてこんなことをするのかというと、以下のような理由のためです。
  • 推薦フットプリントが、会社ごとにびみょーーーーーーーに違ったりする(ex. SOT-23)。
  • シルクの統一
  • プレフィックス(prefix)の統一
 同じパッケージのフットプリントでも、「リフロー用」か「ウェーブ用」かといった違いがあります。また、手半田する場合、リフロー用のフットプリントですと、ランドの大きさに余裕がなくて少し大変だと思います(私はいつも大きめにしています)。ですので、結局ちょっと手を入れることになったりします。

 シルクの統一についてですが、マイルール『基板のシルクでは、部品の「>VALUE」は要らない。「>NAME」は40milでfontはvector』があることが理由です。
 ほとんどのライブラリでは、設定がデフォルトの「50mil、proportional」になっています。これを、いちいち[Smash]→[Info]で変えていくのは煩わしい手間です。なので、予めシルクを変更したライブラリを用意しておいたほうが楽なんです。特に、部品点数が多くなる抵抗やコンデンサではこの必要性を感じます。

 プレフィックスも統一したいですね。例えばICは「IC」、「X」、「U」など様々ですし、可変抵抗は「VR」とか、トランジスタは「Tr」(自分はあんま好きじゃないけど)とか、文句をいうと際限がないです。プレフィックスが問題になるのはBOMを出力したときで、同じICでもプレフィックスが違うと、ソート出来ずに、リストの飛び飛びの場所にICが書かれていたりしてしまいます(多分)。なので、プログラミングでの命名規則のように、プレフィックスも統一したいんです。

参考


Cadsoft Eagle tips and tricks - DP http://dangerousprototypes.com/docs/Cadsoft_Eagle_tips_and_tricks

HOW-TO: Polygons and ground fills for PCBs in Eagle | Dangerous Prototypes http://dangerousprototypes.com/2012/07/18/eagle-polygons/

0 コメント to “[電子工作]Eagleあれこれ その2”

コメントを投稿