なのでインチ系を諦めて 0.25mm grid でワイヤを引いた。ワイヤのセンタがパッド中心に合うので、 ワイヤを 0.25mm くらいまで太くできる。... が、拡大画像のほうでもワイヤとパッド中心が合ってるよーに見えないな。 強拡大するとこんな風 (マス目は 2mm):
もっとも厳しいのはワイヤ〜パッド間なので、残りを 10mils (0.254mm) ルールとした dru ファイル。![]()
なお、Olimex さんに作ってもらったときに 製作プロセスが 8mils (Delivery in 15 WORKING DAYS) でなく 10mils のほう (Delivery in 3-5 WORKING DAYS) になるところにこのルールの価値がある。 フォトマスクのアパーチャも 0.0100inch (10mils) になってくれてるてこともあるかしらん。
むろん微妙に余裕削って狭くしてるので、 出来上がりがパターン切れとかショートとかを起こしている確率は確実に上がっているはずである。念のため ... あくまで数字上、ルールチェック上の話ではあるけども。
適当に線を引いたあと、Change → Width から最下段の "..." を選ぶ。"New Width?" なる入力枠が出てくるから、 ここで 0.25mm と入力。 一回、こーして 0.25mm のを入れておくと、ワイヤの幅のメニューに 0.25mm が出てくれるようになるので、 次からはそれを選べばいい。
ライブラリで任意のサイズの smd pad を作りたいときも同じように "..." を選んだあと、"1.5 x 2.5" などと入力すると (grid に mm を指定してある場合は) 1.5mm x 2.5mm のパッドが描ける。
一回は入力するってのが嫌なら、${EAGLEDIR}/scr/eagle.scr にそー書いておけば最初からメニューに入る、 んだろうがそこまでしてないので未確認。
なお、ドリル径などのメニューリストは 16 個分の FIFO になっているらしく、 山ほどリストに追加すると最初のほうを忘れる。
これを同じことだからといって 28mil にしてはならない。28mil = 0.7112mm なので、 本当に 0.70mm で開けた穴が Design Rule Check でエラーになる。 0.7mm にしとけば 0.70mm も 28mil もパスする。 mm/mil 混合系ではこーゆーとこで気が抜けないのであった。
なお、実際に使われるドリル径は 2.5% の誤差を見込むようである。 つまり 1.0mm てのは 0.975mm 〜 1.025mm のことだそーな。 Olimex の指定する 39mil (0.9906mm) も eagle ライブラリの指定する 40mil (1.016mm) も この範囲に入るので両者は同じドリルのはずだが drillcfg で mil 指定すると両者が別のドリルになってしまう ... のかな。いや、何か困るのか知らないけど。
最初の技が cmd-snap-board.ulp. 実行すると指定した grid に合ってくれる。
だがしかし、笑えん副作用がある ...。 たとえば 0.250mm ピッチに合わせて cmd-snap-board すると、部品はもちろん配線済ワイヤもこのピッチに合わせようとする。 結果、たとえば 0.65mm ピッチの石と繋がるワイヤが斜めに崩れる。 2.54mm ピッチの石に繋がってるワイヤが 0.125mm くらいずれてもなんてことはないが、 0.65mm ピッチのパッドでワイヤが 0.125mm ずれると引きなおしになる。
で、最近使ってるのがコマンドラインから
move 名前 (整数 整数)すること。カッコ内は座標、単位は grid のものなので整数で必ず grid に合う。 使う時は座標が分からないので、適当な部品上で Info を叩くとその部品の info が分かる。 その座標値はたぶん整数ではないが、そのあたりの整数値な座標で move なんちゃらすると、その近所に件のデバイスが出現する。 あとはそれを掴んで適当に配置。
でまあ、このことに合わせて覚えたこと:
TQFP-48 のパッケージの例。デバイスの origin (中央付近の十字) がパッケージ (or ダイ) 中心になく、ずらしてある。 ボードに配置したとき、このデバイスの origin が grid に乗るのだが、 こうしておくと origin が grid に乗った瞬間にパッドもまた grid に乗る。つまりワイヤがパッド中心を通る。![]()
Origin を美意識優先でパッケージ中心にもってくると、辺あたり偶数ピンをもつパッケージでは ボードの grid を ピン間隔の 1/2 にしなくてはピンと grid が合わなくなることに注意。
ガーバに変換するときの drillcfg で書き換える手もあるが、annual ring のことを考えると触りたくない。 ライブラリで指定したドリル径はボードでは変更できないので、ライブラリ側を変換する。
ライブラリを開いてから File → Export → Script で、ライブラリをテキストファイル化する。 中身はこんなの:
sed 's/Drill 0.8128/Drill 0.9/'g かけるなりする。こーゆー変換する ulp 書くのがほんとなんだろうが、 細かいとりまわしまでよくわからんす。... hange Drill 0.8128;Pad '25' Octagon 0 R0 (6.35 3.81); Change Drill 0.8128;Pad '26' Octagon 0 R0 (3.81 6.35); Change Drill 0.8128;Pad '27' Octagon 0 R0 (3.81 3.81); Change Drill 0.8128;Pad '28' Octagon 0 R0 (1.27 6.35); Layer 51; Circle 0.254 (-2.54 2.54) (-1.27 2.54); ...
さて、修正したあとライブラリに戻すのだが、.scr になってるからといってすぐ実行してもたぶん名前重複エラーになる。 ライブラリエディタから New して空のライブラリを開き、そこから 修正済の .scr を実行するようにする。
実際には、con-lstb.lbr (ピンヘッダ) の穴径を 1.016mm から 1.1mm に広げたんだったかな。 秋月のピンヘッダは 0.7mm 角だから、少なくとも仕上がり径で 0.7 x 1.4 = 1.0mm ないと入らない。 con-lstb の仕上がり径 0.9mm だと長いピンヘッダで困る。
てか、あれ? 1.1mm でも足りないかな ...
というわけで、文字を記入するのは 1, 21, 25, 27, 29, 51, 裏文字記入が 16, 22, 26, 28, 30, 52.
作ったボードは 100x80mm と Eagle light ed. の上限一杯、そろそろ余分な文字を記入すべきエリアがない ... というか、すでにほとんど文字はいってんだけど、ソルダーマスク層までは書いてないからなぁ。
EAGLE for Olimex で setabc というものが 配布されているようなのだが、このサイト、中に入れなかった。ていうか、実体 (下位層) はまだあるんかいな。 Eagle and Olimex さん家で ソースが掲示されているので そっちを参考に
てな .scr を実行。いや、書いた文字は kamiki でなくせっかくなので mail address だけど。 ボードは (0, 0) 〜 (100, 80) の範囲で、文字はその外側にあるが、これでもかまわんと。GRID MM; Change Size 2.54; Change Ratio 10; Change Font Vector; LAYER 1; TEXT '(c) kamiki' (1 -4.0); LAYER 21; TEXT '(c) kamiki' (1 -4.0); LAYER 25; TEXT '(c) kamiki' (1 -4.0); LAYER 27; TEXT '(c) kamiki' (1 -4.0); LAYER 29; TEXT '(c) kamiki' (1 -4.0); LAYER 51; TEXT '(c) kamiki' (1 -4.0); LAYER 16; TEXT '(c) kamiki' (99 -4.0); LAYER 22; TEXT '(c) kamiki' (99 -4.0); LAYER 26; TEXT '(c) kamiki' (99 -4.0); LAYER 28; TEXT '(c) kamiki' (99 -4.0); LAYER 30; TEXT '(c) kamiki' (99 -4.0); LAYER 52; TEXT '(c) kamiki' (99 -4.0);
bottom 側にあるレイヤ (16, 22, 26 ...) はこのままでもちゃんと裏文字になってんのね(一番上のボードの右下参照)。
ところで、setabc.scr そのものがやってるようにレイヤ 17 (Pads 層) 等や レイヤ 20 (Dimension 層) に書いてはいけないんではないかな。 前者は TOP, BOTTOM 両側のマスクに絡むのでガーバに変換したときに表裏の区別ができなくなるし、 後者は Dimension の定義によって、DRC が通らなくなる (文字はポリゴンみたいに閉じてない)。
なお、枠外に書いた文字は Eagle light ed. の枠 100x80mm の外にあるが、 Eagle light ed. はこれをちゃんと正しく扱ってくれる。あくまでボードが 100x80 以内であればいいらしい。
... まあ、brd ファイルで送っても向こうでこの 3 行を実行するだけなんだけど。 これだと裏面シルクはない。 無くても大丈夫なつもりでいたが、裏のチップ部品が全部同じという訳ではなくなってしまった。 ぜんぶ 0.1uF だけとかなら良かったんだけど、2, 3 種混じってる。 ついでなのでデバッグ用のメモも入れて裏面にもシルク。
変換手順上、1, 2 はそのまま。3 が少し変わる:
ADD すると今みている section を duplicate するので、 section 名を変更。BOTTOM 層のシルクなら mirror にチェックして 20, 22, 26 てとこか。それとファイルの suffix も。![]()
変更すると close するときに save するかどうか訊かれる。/usr/local/eagle/cam とかで実行してると save できへん ... というハマり方をしたのでふつーは ${EAGLEDIR}/cam/ を別に作っとくものらしい。 ともかく ${EAGLEDIR}/cam/ あたりに save しておくと、次回からは最初から両面シルク付きで変換してくれる。 つーか、そういう両面シルクなガーバをつくってくれる job ファイル: gerb274x_doublesilk.cam. 使い方は gerb274x.cam と一緒。
ところで、裏面シルクのオプション料金だが、これは本家の FAQ に書かれている。
5 ドルってことは OLIMEX FAN で知ってたけど、"double side" にも "how to order" にも書かれてないんだもん。Q: Can I order my board with silkscreen on top and bottom? A: Yes, we can do this for additional charge of $5.00 for DSS and $20.00 for DSQ panels.
0.16 拾って来て make 一発。こちらではベタパターンもベタになっていた(からたぶん本物もちゃんとベタになるんだろう)。
これは裏面のシルクマスク、の部分拡大。ガーバデータの段階では裏面も文字が読めるむきになる。 デフォルトの彩色がえらく暗いんだけど、重ね合わせとかした時に意味があるらしい。ンな機能ぜんぜん使ってないけど ...。![]()
それと、新しい版では File メニューからガーバファイルを直接 open できなくなった。project を経由しなければならない。 gEDA まともに入れてないから project 使えねーっす。 command line からの引数としてはガーバファイル名を受け付けるので
% gerbv file.solとかするしかないみたい。
| Jul 13 | 10:00 +0200 | "fax received" の mail |
|---|---|---|
| Jul 16 | 13:00 +0200 | "boards shipped" の mail |
| Jul 22 | 昼 | モノが書留で郵便局着 |
ちなみに、不在標によれば差出人は「ブルガリア」(カタカナで) だそうである。 海外からの書留って別に国名が差出人になるってことはなかったと思うんだが ... 現物みて納得した。よーするに読めなかったんだな。"BULGARIA" だけ(英語で)読めるわけで。