EAGLEの使いこなし

KBAN + D2 CAD の組み合わせで電子回路を造ってきましたが、EAGLEもレパートリーに加えようと思います。EAGLE使いこなしの情報をこのページに蓄積していくことにしました


2005-10-08

************************************************************
 購入
************************************************************

80×100mmサイズまでなら無料で使用できますが。それ以上大きな基板が必要な場合は有料版が必要です。アマチュアの場合160×100mmあれば十分です。このサイズにはスタンダード版とノンプロフィット版があります。機能は同じですが価格は大分違います。ノンプロフィット版は「それで商売をしません」という誓約書を書く必要があります。
 スタンダード版は約¥73,000
 ノンプロフィット版は約¥18,000
購入先は日本代理店の

売店で基板を売っているので、正しくスタンダード版を購入。CD-ROMは2枚。1枚が製品そのもの、もう一枚がキーです。付属のマニュアルは英語です

PICT4505.jpg

インストールは既に導入済みとなっている無料版にキーだけインストールすればOK。通常、EAGLEを起動するとコントロールパネル、回路図、ボードレイアウトの3ウィンドウが開いている状態になっていますが、コントロールパネルだけを残して回路図とボードレイアウトを閉じた後に、「Help」-「ProductRegistration」を選択すると小窓が開いてキーをインストールできます

canvas.gif

160×100mmに広がった基板レイアウト

PICT4520.jpg

************************************************************
 EAGLE概要
************************************************************
このリンクを見てください

************************************************************
 用語
************************************************************

Technology と デバイスセット:
Technologyはライブラリーを効率よく作る仕組み。TTL74シリーズのようにピン配置が同じで名前の異なる、例えば74HC04、74LS04を別のデバイスとして登録するのは効率が悪い。こんな時、デバイス名に*をつけて74*04として登録し、TechnologyにHC,LSを登録すると、*の部分がTechnologyで登録した文字列に置き換えられる。ULPからはUL_DEVICE.nameを読みとると ”74HC04”+パッケージのバリアント, ”74LS04”+パッケージのバリアント が取れる、UL_DEVICESET.nameを読みとると ”74*04” が取れる。つまりDeviceのことをULPではデバイスセットと呼ぶ。ボードや回路図に張り付いている部品はデバイスセットではなくある特定のパッケージを持ったデバイスである

************************************************************
 ピンの属性
************************************************************

IN:つながってないとERCでエラーになり、回路図と基板レイアウトの同期が取れなくなる。7セグメントLED足は全部つながってないといけないわけではないのでINにするとダメ

************************************************************
 ユーザープログラム言語(ULP) と スクリプト
************************************************************

EAGLEは機械系CAD同様にユーザープログラム機能があります
C言語もどきの構文が使用出来、HELPをざっと見ただけでは、それなりに強力に見えるのですが、使ってみると案外非力なところが目立ってきます

===========================================
 ULPの非力だと思った所
===========================================

1.ULPは要素の読み出しに使えるが、書き込み及び修正が出来ない。ユーザープログラムでスクリプトを生成し、そのスクリプトを実行して要素の追加や変更を行うのが唯一の手段
  ULPからスクリプトを呼び出した後に呼び出し元に戻ってきてはくれないので、スクリプトの最後にULPを実行するステートメント(RUN ULP名)を付けて実行することにより、
  ULPとスクリプトを連携させる必要がある

2.ユーザー定義関数の引数に配列が使えない。組み込み関数のいくつかは配列を引数に取るのだが、ユーザー定義関数ではダメみたい

3.マニュアルが案外わかりにくい。 たとえば integerの1がtrueで0がfalseのようなのだが、何処にも載っていない

4.取り出せない情報がある。例えばライブラリーに登録されているデバイスの「パッケージのPAD」と「シンボルのピン」の接続(connect)情報。(本当にないのだろうか?)
   -> (追記)わかりにくいだけでした。

5.バグっているのではないか。以下のプログラムをmicrochip.lbrに対して実行すると。PIC16C52が5つある。
  デバイスの数はそのデバイスの中に含まれるパッケージの数になるので(Technologyが登録されていなければ)3つのはずなのだが
  2つの幽霊が現れる。今は消してしまっていて存在していないが昔存在していた物がULPを使うと見えてまっているのだろうか?

  output("test.scr", "wtD")
  library(L) {
   printf("%s\n", L.name );
   L.devices(D) {
    printf("device name = %s \n", D.name );
   }
  }


===========================================
 わかりにくい点
===========================================

 呼び出す順番によって違う物が得られる。サンプル1のほうはデバイス名のフルセット名が得られるし、サンプル2のほうはデバイスの中にあるパッケージのバリアントが得られる。

 サンプル1
  output("test3.scr", "wtD")
  library(L) {
   L.devices(D) {
    printf("devicename: %s \n", D.name );
   }
  }
  
 サンプル2
  output("test4.scr", "wtD")
  library(L) {
   L.devicesets(DS) {
    DS.devices(D) {
     printf("devicename: %s \n", D.name );
    }
   }
  }

===========================================
 スクリプトの非力だと思ったところ
===========================================

 1.マニュアル(HELP)に書いていないことが多い。ドイツ人は几帳面だと思っていたがそうではないようだ。見ていないがドイツ語版のHELPには載っているのかもしれない

 2.スクリプトで操作できない要素がある。例えば線の太さを変えるとき  CHANGE WIDTH (X座標 Y座標);  の構文を使うが、この座標上に複数の要素があると、どれが選択されるかわからない
   要素IDで操作できるような仕組みが欲しい。内部では持っているのであろうが表には出てこない

2005-10-23

/////////////////////////////////////////////////////////////////////////////////////
 OLIMEXのデザインルールでライブラリーにパッケージを追加するプログラム
/////////////////////////////////////////////////////////////////////////////////////

OLIMEXは基盤製造から撤退しました。現在は発注できません

-----------------
仕様:
-----------------

・ライブラリーの全てのデバイスにOLIMEXデザインルールを適用したパッケージを追加登録します
・パッケージ名は _OLMX というPrefixが付いた物が新たに登録されます。既存のパッケージは何の変更もされずにそのまま残ります。このPrefixは変更できます
・variant名もパッケージ名同様にと同じ _OLMX というPrefixがつきます
・このULPを使って変更したライブラリーを再度加工しようとしても何も実行されません(実質的に何も実行しないスクリプトを生成します)
 この仕組みは同じPrefixの物が既にあるか否かをパッケージおよびデバイス単位で検知することにより実現しています
・開発に使ったEAGLEのバージョンは4.15です。

 要素毎の変換ルール

  ●PAD
    ・PADのドリルの径はOLIMEXの標準ドリルの 3.3 2.1 1.5 1.3 1.1 1.0 0.9 0.7 のうち最も近い物に切り上げられます。
    ・標準ドリル以外のドリルを使いたいときのために、上記以外の径のものも使えるようにしました。
    ・radiusは(AUTO)にすることも、元々の大きさのまま(FIXED)にすることも出来ます。ドリルの径を切り上げているのでAUTOにするとPADの径も大きくなってしまいます。
     wirepad.lbrはAUTOにするとPADが小さくなりすぎるのでFIXEDにします。
  ●SMD
    ・何の変更も加えません。
  ●RECTANGLE
    ・何の変更も加えません。幅が10mil未満でもそのままです。そのままにしておく理由はとくにありません。別に変更しなくてもいいだろうと思っただけです。
  ●WIREおよびARC
    ・幅が10milより狭い物は10milに変更されます。10milより太い物は変更されません。
  ●TEXT
    ・サイズが50milより小さい物は50milに変更されます。テキストの線幅を10milにすると50milより小さい文字はつぶれて見えなくなってしまうためです。
    ・フォントはVECTORフォントに変更されます。線幅を10mil以上にするためです。
  ●HOLE
    ・ドリルの径はOLIMEXの標準ドリルの 3.3 2.1 1.5 1.3 1.1 1.0 0.9 0.7 のうち最も近い物に切り上げられます。
    ・PAD同様、標準ドリル以外のドリルを使いたいときのために、上記以外の径のものも使えるようにしました。
  ●CIRCLE
    ・線幅0のCIRCLEの半径が10milより小さいと、半径は10milに変更されます
     補足:線幅が0のCIRCLEは塗りつぶされた円です
    ・WIRE同様、幅が10milより狭い物は10milに変更されます。10milより太い物は変更されません。
-----------------
BUG:
-----------------

 ・EAGLEの仕様ではVariantの数は最大254です。このプログラムはVariantの数を倍に増やすので既に254/2個のVariantがあるとスクリプト実行時にエラーを出します
  このエラーはrcl.lbrで出ることを確認しました。スクリプトを実行する前に不要な物を削除すれば回避できるので、このBUGは修正しないことにしました
 ・時々 unknoun Object type というエラーを出してEAGLEが異常終了(EAGLEの全ての画面が閉じる)ことがあります
  スクリプトを生成した後、ライブラリーを一端閉じて、再度同じLibraryを開き、これに対してスクリプトを実行するとうまくいきます
  これはCADSOFTのホームページからダウンロードしたライブラリー cap-master.lbr で発生しました。(追記)この問題はかなり多くのライブラリーで発生するようです

-----------------
使い方:
-----------------

ULPが実行できる場所ならライブラリー、スケマティクス、ボードの何処でもOKなので 0_OLIMEXLIB.ulp を実行する。
すると、こんな画面が出る。ライブラリーから実行すると既にライブラリー名は埋まっています

OLMX02.GIF

Select Libraryボタンを押してOLIMEXデザインルールを適用するライブラリーを選択します。ライブラリーを選択するとLibrary File Name欄が埋まります。Standard Drillは変更できません。それ以外は変更可能な項目です。意味は仕様の所に書いたとおりです。通常はそのまま何も入力しないでOKです。選択したライブラリーの画面も開いた状態になります。最後にExecuteボタンを押します

OLMX01.GIF

Executeボタンを押すとスクリプトの生成が始まります。大きなライブラリだと結構時間がかかります。完了するとこんなメッセージが出ます。このメッセージが出たらQuitボタンを押して画面を閉じます

OLMX05.GIF

スクリプトはオープンしているプロジェクトの所に出来ます。このファイルはEAGLEを終了すると自動的に削除されます。マウスの右クリックでExecute in Library を選択するとライブラリーにパッケージが登録され、ついでにそれが各デバイスにも追加されます

OLMX06.GIF

登録された状態がこれ。スクリプトではあえてライブラリーの保存は実行していません。何か変なエラーが出たときは保存しないようにします

OLMX07.GIF
ULP+動いているところ
ファイル ファイルタイプ 添付ファイルの解説
0_OLIMEX_LIB.zip EAGLE OLIMEXのデザインルールでライブラリーにパッケージを追加するプログラム(旧バージョン)
0_OLIMEX_LIB2.zip EAGLE OLIMEXのデザインルールでライブラリーにパッケージを追加するプログラム(新バージョン)
追加した機能&修正したバグ
・OLIMEXデザインルール以外のパッケージ(つまり、元あったパッケージ)を削除するスクリプトを生成するようにした
      OLIMEXLIB_DEL_PACKAGE.scr  <- パッケージを削除するスクリプト
      OLIMEXLIB_DEL_VARIANT.scr  <- バリアントを削除するスクリプト(上の物よりこちらを先に実行すること)
    ライブラリーからパッケージやバリ案をを削除しようとするとワーニングメッセージが出ますが、これを抑止できません。
    rlc.libなど多数のバリアント、パッケージを含む物はEnterキーの上に錘でも乗せておいてください。
・パッケージ名称に「’」を含んでいると正常に動作しませんでした。このBUGを修正しました。
    rlc.libの SANYO-OSCON_A' なんかがこれに該当します
EAGLEULP.wmv MOVIE 動いているところ

2005-10-27

/////////////////////////////////////////////////////////////////////////////////////
 ドリルの穴を全て0.3mmにするプログラム
/////////////////////////////////////////////////////////////////////////////////////

追記)標準ULPにdrill-aid.ulpというものがあります。日付を見る限りこれを作った時には既に存在していたようです

ドリルの座りが良くなって正確に中央に穴が開けられます。(それでも、ちょっとずれますが許容範囲内に収まります)

pad02.jpg

オリジナル

pad01.jpg

変更後

-----------------
仕様:
-----------------

・ボードの中のPADのドリル径を0.3mmに変更しているわけではありません。PADの真上に直径0.3mmの穴のあいた円を描いています。
・感光基板用のマスクを作るための物です。穴の径を0.25~0.3mmにするとドリルの先端の座りが良くなって正確に穴を開けられます。
・円はLayer 102100番に描いています。印刷するときこのレイヤーを含めて印刷します。 <-101番以上を使うのがお作法のようなので102に変更しました
・穴の径はPADとVia両方に作用します。
・ドリルの径0.3mmはプログラムの4行目の値で設定しています。これを変えれば好きな直径に出来ます。とても小さなプログラムです。
・開発に使ったEAGLEのバージョンは4.15です

-----------------
使い方:
-----------------

1.安全のためファイルを一端保存します
2.ボード画面でULPを実行します
3.現在開いているプロジェクトの所にPAD.scrというスクリプトが出来ます
4.出来たスクリプトをボード上で実行します
5.印刷するときにはLayer 102100番を含めるようにします。 <-101番以上を使うのがお作法のようなので102に変更しました

ULP
ファイル ファイルタイプ 添付ファイルの解説
0_PAD.zip EAGLE ULP現物

2005-11-15

/////////////////////////////////////////////////////////////////////////////////////
 OLIMEXの標準ドリルサイズ以外の物がボード上の何処にあるか探すプログラム
/////////////////////////////////////////////////////////////////////////////////////

EAGLEに標準で付いてくるdrillcfg.ulpを使うと、何種類のドリルサイズを使っているのか表示してくれるのですが。それを何処で使っているのか探すのが大変です。標準以外のドリルサイズの箇所に白いマルと穴のサイズを書き込むプログラムを作りました。書き込むレイヤーは101番を使っています

oldrill.jpg

-----------------
仕様:
-----------------

・標準以外のサイズのドリルを使っている箇所に白いマルを描きます。
・穴の右上に穴のサイズをテキストで書き込みます。
・マルとテキストはレイヤー101番に書き込みます。もし既にレイヤー101番があると、そこにあるマルとテキストが削除されますので注意してください
 これは複数回実行したときに前回作成された白いマルとテキストを削除するためです。この機能には副作用があります(使い方を参照)
・穴の公差は0.02mmです。例えば穴のサイズが0.7mm±0.02mmに収まっていると、0.7mmの標準ドリル穴であると見なされます
 この値を変更したいときはULPの6行目を修正してください。例)   KOUSA = 0.02 となっている物を KOUSA = 0.01 とすれば 0.7112mm(=28mil)も範囲外とみなされます。
・開発に使ったEAGLEのバージョンは4.15です

-----------------
使い方:
-----------------

1・安全のためにファイルを一端保存しておきます。
2.ボード画面でULPを実行します。
3.現在開いているプロジェクトの所にOLIMEX_DRILL.scrというスクリプトが出来ます。
4.出来たスクリプトをボード上で実行します。このスクリプトはEAGLEを再起動すると削除されます。
  既にレイヤー101が存在すると表示されるレイヤーが 1, 16, 17, 18, 19, 20, 21, 23, 25 に変わってしまいます。
  これは前回の実行で描いたマルおよびテキストを削除するために、一端レイヤー101だけを表示させていますが(そうしないとよけいな物が消える可能性がある)、
  その状態から「直前のレイヤーの表示状態に復帰する」といった都合の良いコマンドが存在しないためです。そのためよく使うであろう上記のレイヤーを機械的に表示するようにしています

全ての穴がOLIMEXの標準ドリルだと以下のメッセージが出て、問題がないことを知らせてくれます

notfound.GIF
ULP
ファイル ファイルタイプ 添付ファイルの解説
0_OLIMEX_DRILL.zip EAGLE ULP現物

2006-02-18

/////////////////////////////////////////////////////////////////////////////////////
 OLIMEX標準の10mil以下のシルク線の物がボード上の何処にあるか探すプログラム
/////////////////////////////////////////////////////////////////////////////////////

OLIMEXは10mil以下のシルク線を印刷できません。シルク幅を一括で10milにするULPは公開されていますが、これは10milより細い線の上に、10mil幅の線を上書きするので、全ての部品のレイアウトが決まった後にしか実行できませんし、設計の一部変更をしたりするときに上書きされた線を消さなければなりません。そこで10mil以下の線が基板上の何処で使用されているかみつけるプログラムを作りました。このULPで問題箇所を見つけあとは手作業で線幅を修正することになります

10silk.jpg

-----------------
仕様:
-----------------

・10mil以下の線の一端に白い○を描きます。円の場合は円の中心部に○を描きます。
・○の右上に線の幅をテキストで書き込みます。
・マルとテキストはレイヤー101番に書き込みます。
 もし既にレイヤー101番があると、そこにあるマルとテキストが削除されますので注意してください。これは複数回実行したときに前回作成された白いマルとテキストを削除するためです
 この機能には副作用があります(使い方を参照)
・線以外にも、円弧の線幅、円の線幅、ポリゴンの線幅、四角形の幅、が10milにみたないものを見つけます
・レイヤー21と25のみの図形要素を対象にしています。それ以外のレイヤーはOLIMEXでは無視されるからです。
・ベクターフォント以外のフォントをみつけて、そのテキストの右下にフォントの種類を表示します。
・ベクターフォントであっても線幅が10milに満たなければ、そのテキストの右下に線の幅を表示します。
・開発に使ったEAGLEのバージョンは4.15です。

-----------------
使い方:
-----------------

1.安全のためにファイルを一端保存しておきます。
2.ボード画面でULPを実行します。
3.現在開いているプロジェクトの所にOLIMEX_LINE10.scrというスクリプトが出来ます。
4.出来たスクリプトをボード上で実行します。このスクリプトはEAGLEを再起動すると削除されます。
  既にレイヤー101が存在すると表示されるレイヤーが 1, 16, 17, 18, 19, 20, 21, 23, 25 に変わってしまいます。
  これは前回の実行で描いたマルおよびテキストを削除するために、一端レイヤー101だけを表示させていますが(そうしないとよけいな物が消える可能性がある)、その状態から「直前のレイヤーの表示状態に復帰する」といった都合の良いコマンドが存在しないためです。そのためよく使うであろう上記のレイヤーを機械的に表示するようにしています。
5.全ての線が10mil以上だと Not Fount のメッセージが出て、問題がないことを知らせてくれます

ULP
ファイル ファイルタイプ 添付ファイルの解説
0_OLIMEX_LINE10.zip EAGLE ULP現物

2007-01-24

************************************************************
 自動配線能力
************************************************************

デジタル回転計の基板で自動配線能力を試してみました。これは片面基板です。また、この基板はジャンパー線ゼロで配線が可能です。自動配線の結果がこれです。左下の物だけ僅かに(1本だけ)手動配線をしていますが、それ以外の青い線は全て自動配線による物です。赤い線は自動配線しきれなかった物です。10本ちかく未配線が残ってしまいました

aaz.GIF

ある程度手動で配線しておいてから...

bbz.GIF

自動配線すると未配線本数は少なくできます

ddz.GIF

両面基板だと部品が互いに接触してしまうほど高密度に実装できます。

ベタアース、ベタVCCを作った後でも自動配線はしてくれるが、配線結果は違った物になる。ベタアースする前は100%自動配線できたのにベタアース後は100%配線できないことがあるので、一番最後にベタパターンは作るべき

最短距離を通って配線しようとする傾向が強いので、接続したい部品の足と足を出来るだけ接近させてやると意図したように自動配線されます。
A:セラロックとPICを接近させています。結果、PICのOSC1,2とセラロックの左右のピンは最短距離で接続されています。
B:PICのピンに接近させた抵抗は最短距離で配線されています。この回路はPICでLEDバーを点灯させる物です、ポートと点灯させるLEDの関係は並んでいる方が(ポートBのビット0でLEDの一番右を、ビット1で右から2番目を、ビット2で右から3番目を...と言った具合に)ソフトが書きやすいのですが片面基板では、配線のしやすさを優先するようにしないとジャンパー線が多数必要になってしまいます。この基板では配線のしやすさを優先した結果、100%自動配線できています。
C:抵抗とLEDも接近させたので最短距離で接続されています

PICT0565.jpg

最短距離で配線する傾向が強いので不必要にピン間を通してしまうことがあります。そんなときは通したくないところにビアを打って邪魔してやるとOK。配線が終わったらビアは消します

PICT1614.jpg

自動配線を正しく妨害するためにはRestrictレイヤーを使うのが正解のようです。
 tRestrict:表面に配線パターンが通って欲しくない領域を、線やポリゴンで囲む
 bRestrict:裏面に配線パターンが通って欲しくない領域を、線やポリゴンで囲む
 vRestrict:ビアが通って欲しくない領域を、ポリゴンで囲む
左はAC100電源に他の信号線が近寄らないようにする設定。tRestrict、bRestrictレイヤーを多角形で囲んでいます、さらに領域内にビアを作りたくないのでvRestrictレイヤーにポリゴンを書き込んでいます。緑の領域がそれ。右は絶対にビアを作りたくないときの方法。基板全部をvRestrictレイヤーに配置したポリゴンで覆ってしまいます

PICT4660.jpg
PICT4661.jpg

EAGLEは回路図設計、基板パターン作成、自動配線機能がそれぞれ別売りにされていますが、どれか一つかけても不便。しかも回路図書きから基板設計へ作業を続けていけるところがいいので、ばら売りする必要性が解りませんでしたが、別売りの他社製ソフトがあるようです。ちょっと面白そうだったので自動配線機能だけのELECTRAというのを使ってみました。EAGLEの自動配線機能は回路が単純であれば即完了しますが、片面基板でちょっと部品数が多いと時間がかかります。このELECTRAはとても高速に自動配線します。EAGLEとELECTRAの連携方法はここに紹介されています。紹介例はちょっと古いようで最新バージョンではデザインルールファイルを指定する様に変更されており手動入力項目がうんと少なくなっています。試用版はEAGLEからの読み込みが出来ますがELECTRAで配線した結果をEAGLEに渡せない制約がかかっています

実験に使った基板です

PICT2066.jpg

左がEAGLE,右がELECTRAの自動配線結果。わずかに部品の配置を変更してしまったので、両者とも完全に同じ条件ではありませんがEAGLEはこの配線に10分以上かかりました、一方ELECTRAは僅か5秒で完了。未配線は共に2本。EAGLEのほうは手動で配線した赤い線を含む結線がそれ。ELECTRAのほうはグレーの線です。未配線の結線が残らないように 部品のレイアウト修正->自動配線 を幾度と無く繰り返し、ほとんど丸1日をそれで費やしたりすることは良くあることです。さすがに¥85000もするのでアマチュアには手が出せませんが商売でやるならEAGLEは遅すぎです。アマチュアの工作の場合「ジャンパーが最も少なく、かつ、ジャンパーが斜めにならない」パターンを生成してくれるとありがたいのですが、この点でもELECTRAのほうがジャンパー線を入れやすい自動配線をするようです

PICT2067.jpg
PICT2055.jpg
ELECTRA
ファイル ファイルタイプ 添付ファイルの解説
electra.wmv MOVIE ELECTR実行速度

もう一例。これはEAGLEでは自動配線率が低いデジタル回転計

PICT2081.jpg

EAGLEは自動配線率84.4%でこれだとジャンパー線が多すぎてこのまま続ける気が起きません。ELECTRAは97.4%、数本の未配線を残すだけです。ELECTRAはデジタル回路配線に特化しているようで、パターンもそのようになります。アマチュアの回路の場合、「繋がっていれば問題なし」という物が多いので、これで安ければ文句なしです。EAGLEのようにノンプロフィット版が出ることを期待したいところです、これがないと時間のあるアマチュアはこのパターンを見ながらEAGLEで手動配線する道を選択してしまいます。たいていの場合ELECTRAのほうが自動配線率が高くなるようですが、EAGLEがたまに勝つこともあります

PICT2070.jpg

EAGLE

PICT2079.jpg

ELECTRA

2009-02-23追記
Mini-ELECTRAというのが発売されているようです。価格は345ユーロ

************************************************************
 使い方(わかりにくい機能のみ)
************************************************************

インクジェットプリンター用OHPフォイルに印刷してみました。白い紙の上に置いて撮影したので、紙に印刷したように見えてますが実際は透明です

insatsu1.jpg

単なるプリンターの性能評価ですがピン間1本はきれいに抜けます。線の幅は20mil程度が適当なようです。ピン穴が異常に小さいですが、この方がドリルの座りがいいのです。これは上で紹介した「ドリル穴を0.3mmにするプログラム」を使っています。EPSONのハイエンド機を使いましたがインク粒子が1.5ピコリットルの物なら同程度になるはずです。4ピコリットルの物(PM-830)はここまできれいに印刷できません

insatsu2.jpg

************************************************************
 印刷機能
************************************************************

BUSアイコンを選択してBUSを書く。BUSは青い線で太く描かれる。Net(=普通の配線)を描くときの方法と全く同じ

PICT7469.jpg

NameアイコンでBUSに名前を付ける。書式は BUS名[Net開始番号..Net終了番号」のようにする。例えば ADDR[1..20] とすると。BUSの中に ADDR1 ~ ADDR20 までのNetが生成される。名前を付けたらNetアイコンを選択して、BUS上のNetを引き出したい位置を左クリックすうとネットの一覧が表示される。目的のNetを選んでピンまで配線する。「連続する番号を持つ複数のNetをまとめた物がBUSである」というのがEAGLEにおけるBUSの定義のようだ

PICT7471.jpg
PICT7472.jpg

回路図と基板上でそれが配線された様子

PICT7474.jpg
PICT7476.jpg

************************************************************
 ライブラリー
************************************************************

いくつかEAGLEを使用した作品の公開をしたので、自分が使っているライブラリーをここに時々アップロードしておきます。回路図やボード図で使用している部品からライブラリーを生成するULP(exp-project-lbr.ulp)もあるようなので、あまり価値ありませんが...

ライブラリー
ファイル ファイルタイプ 添付ファイルの解説
001mylib.zip EAGLE 2006-02-02アップロード
00xmylib.zip EAGLE 2008-09-23アップロード

2006-03-10

************************************************************
 OLIMEXへの発注
************************************************************

OLIMEXは基盤製造から撤退しました。現在は発注できません

LowCost DROのところにOLIMEXへの発注方法を掲載しているのでそれを見てください。実際に送ったEAGLEのファイルも添付してあります。

OLIMEXホームページのFAQに
「2回目以降、もしクレジットカードの番号が変わっていなかったらオーダーフォームにカード情報以外の部分を書き込んで、それをスキャナーで読み込んでメールで送ればいいよ」ってなことが書いてあるのですが、実際に書き込まずに送ったら
thanks, but in card info field you should fill: previous po#, card EXP and CVC code to check against the archive
Olimex
という返事が返ってきました。結局、「CardNumber:」欄に Prev PO# XXXXXXXX と書き込むこと以外は通常通り全ての項目を全部埋めて、それをスキャナーで読み込んでメール添付したらOKになりました

スルーホールでない穴もメッキされます。0.1mmほと径が小さくなります

PICT3362.jpg

ちょっとぎりぎりなのでVIAのランド径はもうちょっと大きくした方が良さそうです。<-大きくしなくても大丈夫みたいです。今まで5枚作ってもらいましたが不良品出ていません

PICT3390.jpg

VIAの径はこれで決まるので8mil->10milに変更すると大きくなります。上の物は8milです

8mil.JPG

2007-03-23追記
今回発注かけた物は品質が悪い。週休二日制の影響か?

シャーリング加工時に無理な力がかかって基板が白く変色している。シルクのひどいズレ

PICT2605.jpg
PICT2584.jpg

穴が開いていない!! 上にシルク印刷がくると穴が開かないのか???
(追記)OLIMEXの製造ミスでした。こういうケースの場合、作り直してもらえます。面付けしていても160×100の基板がそっくり一枚作り直されるようです

PICT2606.jpg
PICT2590.jpg

シルクのかすれと、ズレ

PICT2588.jpg
PICT2591.jpg

これはいつものことだが、基板の側面をヤスリで整えた後に残る削りくず。刷毛塗りしたように色が違っているレジスト。修正したみたいだ

PICT2596.jpg
PICT2625.jpg

シャーリング(=ギロチン)ではなく切断砥石で切ってもらうことも出来ます。切り代が2mm必要になりますが、仕上がりはきれいです。P版.comのルータ仕上げよりは荒い感じですが、ヤスリがけは不要です

PICT8365.jpg

2009-02-25追記
複数枚同時注文時の注意

以下のようなPOフォームが来たときは DSS 2pceと書いてあるので 同じ基板が2枚作られることを意味します。もし2種の基板をそれぞれ1枚ずつ注文したにもかかわらず、これが届いた場合は注文を再度やり直します。これを、そのまま注文してしまうと同じ物が2枚届きますが、それに対して文句を言っても作り直してもらえない可能性があります

PICT9016.jpg

複数枚の基板を注文するときは、面付図の各基板にIDを付けておきます。そうすると左のようなPOフォームになります

PICT9019.jpg
PICT9017.jpg

2010-01-22追記 シルク印刷の質が向上した

PICT1449.jpg

2010-02-12追記
複雑な面付基板の発注。160×100mmの両面基板が2枚になる時。基板の切断は切断砥石を使用する

PICT1443.jpg
OLEMEXに送ったファイル
ファイル ファイルタイプ 添付ファイルの解説
order.zip EAGLE ファイル一式

2007-02-25

************************************************************
 P板.comへの発注
************************************************************

・基板を多数作るならOLIMEXの試作基板より安くできます。
・EAGLEのボードファイルを直接受け取ってくれません。業界標準のガーバーフォーマットで基板パターンを送る必要があります。
 手順はP板.comのサイトに詳しく掲載されているので省略します。手順の通りやればOK。
・穴はOLIMEXより精度良く仕上がります。OLIMEXで作ってちょうど良い穴のサイズならP板.comなら少し緩くなります。

読まないといけない文書類
 ・EAGLEでガーバーデータを出力する方法
 ・基板製造用データ説明書

OLIMEXと一番違うのは、側面の仕上がり。とてもきれいです。多数注文したときは10枚ずつ小分けパックされて発送されてきます

PICT2320.jpg
PICT9711.jpg

基板の角にRがついて仕上がります。シルクもランドの上には乗りません。半田メッキ仕上げです。半田レベラーというらしい

PICT2323.jpg
PICT2321.jpg

【情報いろいろ】

1.一枚の基板に複数面付けして作るとかなり安くなる。
  たくさん面付けすると切り離し料金が高くなるが、1枚あたりの単価が安くなるので最も安くなるポイントを「お試し見積り」機能で探り当てる。
2.面付けした基板を切り離すところまでやってほしいときはルーター切り離しを依頼する。その分高くなるが枚数が多いときは面付けした方がかなり安くなる
  ルーター切り離しを依頼しないと自分で切り離さなければならなくなる。
3.20×20mmのような小さな基板も作成可能。このような小さな基板は面付けしないと高くなりすぎる。
  大きさの制限があるのはV-CUTする時で70×70mmより大きくないとV-CUTは出来ない。ルーター切り離しの場合はサイズ制約はない。
4.面付けはOLIMEX同様無料でやってくれるが、切り離しは有料になる。
5.日本なので、質問に丁寧に答えてくれる。以下はその例。
  質問の内容はホームページに書いてあることなので、回答してくれた人から見れば、「HPよく見ろよ」と言いたいところでしょう。
  コミュニケーション取りやすいのがP板.comの最大のメリットかもしれません。

===== 当方からの質問 =========================
質問1.
 ・3種類の基板が 各20枚ほしい。
 ・基板のサイズは 80×100 で、3種共同サイズ。
 ・シルク印刷は部品面のみ。特注対応は無し
 ・製造日数は 5日コース

 このとき

 それぞれ、個別に注文すると ¥33705 × 3 = ¥101115

 3種の基板を1枚に面付けして 100×(80×3+3+3) サイズの基板を20枚注文
   【ルーター切出 3面付】を選択すると ¥58002

 となります。
 ルーター切り出しでは、どちらも全く同じ物が出来るはずですが、
 価格は約半分になるのですがこれで考え方あっていますでしょうか?

質問2.
 また、面付け費用は無料とあるのですが
  面付けした基板を切らないなら 無料
  面付けした基板をルーターで切るなら 3面付けで 約¥5000追加費用必要
 ということでしょうか?

質問3.
 面付けする前の基板のサイズに特に制約はないようですが
 20×20mmのような小さな物も可能でしょうか


===== P板.comからの回答 =========================

質問1.について
同種・異種ともに面付けすると、製造費用がお安くなり、
同種であれば同じ基板が複数枚製造されることとなります。
お客様よりお問合せいただいた通りでございます。

質問2.について
面付け編集費用はいただいておりませんので、基板を切り分ける加工を
追加しない場合は、追加のご料金はいただいておりません。
V-CUTやルーター切出しの加工を行う場合は、その費用が加算されます。
面付け編集は無料ですが、納期を+1日いただきます。
納期変更なしでの製造をご希望であれば、編集費用として+5,000円
追加させていただきます。

質問3.について
編集するにあたって特に基板サイズに制限はございません。
20×20mmのような小さな物も対応可能でございます。
V-CUTを追加する場合は、面付け後のサイズが70×70mm以上
必要となります。

===== 当方からの質問 =========================

面付けについて質問があります。

3枚の基板を以下のように面付けした場合、これは3面付けになるのでしょうか?
それとも4面付けでしょうか?
必要な部分はA,B,Cです。それ以外の部分は不要です

q1.GIF

===== P板.comからの回答 =========================

お問い合わせいただきまして、誠にありがとうございます。

添付画像のマークした箇所は、基板は存在するのでしょうか。
何らかのデータが存在しないのであれば、3面付けのデータとなります。

gaikeisen.GIF

補足:
このQ&Aは実際の質問文、回答文の不要な部分をカットしてあります。
実際は当方が送信した図形データが正しく送信できていなかったりしたための、やりとりが発生しています

==========================================================
OLIMEXで試作->P板.comで量産 する時の注意点
==========================================================
・OLIMEXのほうが製造ルールが厳しいので、殆ど未修正でP板.comに発注できます
・異なる点は...
 1.外形線はOLIMEXの場合、太さ0でOKですが、P板.comは0.2mmです。
   EAGLEの場合DIMENSIONレイヤーの基板外形線を0.2mmに変更します。
 2.OLIMEXではレイヤーを示すテキスト文字を含める必要がありますがP板.comでは不要です

OLIMEXでは必要なレイヤーを示すテキスト文字は不要です。P板.comに発注する場合このテキストは削除します。

PICT9713.jpg

************************************************************
 その他いろいろ
************************************************************

=========================== 単位 ==================================================

1000mil=25.4mm=1インチ

=========================== DXFファイルの生成 ============================================

DXFファイルを生成するULPを使ってみました、ケースの加工時に穴開け座標を取るのに使えそうです。EAGLEのレイヤー情報も保持したまま受け渡せるようです。写真の物は鍋CADです

PICT2091.jpg

=========================== 部品のスナップ移動 =============================================

ケースに収める場合、部品は1mmグリッドの交点に並んでいると便利です。ICなどケースの外から見えない部分はどうでもいいのですが、基盤の固定穴はグリッド上に整列してくれると穴あけ座標の割り出しに便利です。これを実行してくれるのがcmd-snap-board.ulp 但し、全部品一括で実行するのでmilとmmを混在させたいときなどは困ります。そもそもグリッド上に部品をスナップする機能が無いのは変だと思い調べてみたらありました。Ctrlキーを押しながら部品を移動させればいいだけでした。

これは一括移動してくれるULPの実行画面

PICT2237.jpg

ULP実行前と実行後。部品を1個ずつグリッド上に配置したいならCtrlキーを押しながら移動させればOK

PICT2235.jpg
PICT2239.jpg

2008-08-21

************************************************************
 ユニバーサル基板用自動配線
************************************************************

写真枚数が多いのでこの説明は別ページにしました

158_jyanomekiban.jpg