CADソフト EAGLEの落としあな
この一週間、暇さえあればEAGLEと格闘していた。きのうやっと充電回路分を除いたLPCMプレーヤー2号機の自動配線のところまで進み、少し目鼻がついてきたので、忘れないうちにこれまでの作業記録を残しておくことにする。自動配線の達成率は最初50%を割っていたが、昨日の段階で83%まで上がった。いやそれにしてもプリント基板の道は遠い。
この世界は、これまでとは、また全く違う世界である。ガーバーデータ、CAMプロセッサー、ネットリスト、ドリルデータなどという耳慣れない単語が続出する。熱心に説明されていることが何故重要なのか読んでいて理解できない。同じ電子工作の世界なのにまた右も左もわからない状態に放り込まれる。
恐らく職業でこの世界に飛び込めば、どこかに特化し、これほど混乱することはないのかもしれないが、こちらはアマチュアである。AVRから始まってアナログオペアンプ、ARM、JTAG、FPGA、組み込みLinuxなど、興味に任せて色々なところに手を出しすぎている。好奇心の強さでは人に負けないつもりだが、同じ電子工作、組み込みコンピューターの世界と言ってもその余りの違いにただ驚くばかりである。
プリント基板技術はこれらの世界のまさしく基盤を支えるものだけど、これはこれで世界が全く違うし、奥が深い(ネットでは精密加工や工作技術の人のサイトが多い)。今、世の中に溢れている携帯電話、パソコンなどの電子機器のプリント基板は16層が当たり前に使われていると言う。気の遠くなるような技術だが、アマチュアでも4層まで作る人がいる。こちらは2層で精一杯だが、それでも知らなければならないことが膨大にある。
プリント基板の制作はAVRマイコンを触り始めたころから横目でちらちら眺めていたが、ChaNさんから教わったUEW線の手配線が思いのほか調子が良いので手を出す機会がなかった。しかし、手配線では同じものを複数作るのはきついし、師匠のように汎用基板上に0.5ミリピッチの表面実装ICをすべてUEW線で半田付けしてしまうと言うような芸術的レベルにはとても届かない。それに何と言ってもプリント基板に実装された電子機器は美しい。見ているだけでわくわくしてくる。
先月、複数台の基板を作らなければならないことになって、ついに参考書を買ってCADソフトの定番EAGLEの勉強をし始めた。すでにいくつかCADソフトを使っていたので簡単そうに見えたが、実際の部品のライブラリを作り始めて早々に頓挫した。とんでもなく難しいのである。
悪戦苦闘の結果、回路図から自動配線が出来るまでになった。作業的には少し一段落したので、ここでこれまでに経験したEAGLEの落とし穴とその解決法について整理しておくことにする。アマゾンで酷評されていた(自分はそれほどでもないと思うが)最初に買った参考書は、結局、落とし穴からの脱出には殆ど役に立たなかった。
ただ、これから述べるEAGLEの落とし穴とは、あくまでもCADの素人がEAGLEを使うに当たって、はまりこんだ問題点であり、ソフトそのものの問題点ではないことをあらかじめお断りしておく。CADソフトの歴史は古く、多くの経験、実績によって現在の姿があるわけで、経験者から見れば、がた老AVR研究所のあげる問題点は的外れな指摘かもしれないからである。しかし、知らなければ、殆どの人がはまることになることは確信する。なお、対象はEAGLEの最新バージョン5.6.0の話である。
回路図の操作は簡単だが、部品エディターはとても癖があって難しい(7/30/09)
EAGLEの中で部品は、回路図を作る時に使うシンボルデータと、その外観とピン配置を規定して、基板に部品を配置し、配線するときのためのパッケージデータ、それにこの2つを組み合わせたディバイスデータに分かれる。同じ仕様で外観だけ違う部品があるので、この構造はとても合理的だ。回路図で部品と部品をつなぐ配線操作も難しくない。部品を動かすと配線した線がちゃんとついてくる。フリーのCADソフトに較べれば確かにレベルが高い。ここまでは快調だった。
部品データを収容するライブラリが用意されている。しかし、部品ライブラリが巨大で探すのが大変である。日本でおなじみの部品が中々見つからない。検索機能が用意されているが、正規表現的に厳密なのでなかなかヒットしない。(例えば、SOT23-5を検索するとき、両側に*をつけて *SOT23-5*としないと、SOT23-5を含むテキストにあたらない)。
ここにない部品は、自分でこれまでのデータを組み合わせたりして作ることになるが、この部品エディターが難物なのである。エディターの操作性もあるが、一番の原因は、ライブラリの構造からくるものである。
・ライブラリからパーツを抜き出すことが難しい
ライブラリはひとつのファイルで構成されているので、部品データはファイルとして物理的に分離できない。それぞれの部品データが物理的なファイルに分かれていれば、ライブラリの管理はとても楽になるが、それが出来ないため、一旦新しい空のライブラリを作った後、そこへデータをcopyする形をとらなければならない。そのとき、必ずターゲットのライブラリを部品(ライブラリ)エディターで開いておかないとcopyは出来ない。ここでまずはまる。
新しい部品データを作るとき、いちから作ることは殆どない。既存のシンボルやパッケージデータを流用することが多い。しかし、あとで色々編集できるようにとディバイスデータの形で既存の部品を自分のライブラリに持ってくるとえらい目にあう。ディバイスデータについてくるシンボルデータは簡単に消去したり編集できないからだ。パッケージデータとつながってディバイスを形成しているため、ちょっと操作をするとすぐ文句を言われて先に進めない。第一、エディターは、ディバイスデータを開いた時はシンボルとパッケージのピン接続をする以外ほとんど何も出来ない。
それではシンボルデータだけ持ってこようとすると、これが出来ない。EAGLEのコントロールパネルでライブラリを開きコピー(copy to library)できるのは、ディバイスデータと、パッケージデータだけなのである。
既存のシンボルデータを複製して新しい部品のシンボルにするには、まず、既存のデータの入っているライブラリをエディターで開き、欲しいシンボルデータをペーストバッファーに入れた後、別のターゲットのライブラリでエディターを開き直し、newで新しい名前を定義して空のシンボルデータを作って、そこへペーストするという回りくどい方法をとる必要がある。
この方法と下の操作をこのウェブで教えられて、始めて部品ライブラリの操作が自由に出来るようになった。それまでは全く手も足も出なかった。
・カット&ペーストとはコピー&ペーストのこと
EAGLEの操作は、GUIと言っても少しコンセプトが古く、「オブジェクトを決める」「それに対する操作を選ぶ」「実行する」という順ではなく、コマンドアイコンを先にクリックして操作の種類を決めたあと、次にその対象を選ぶという、これまでのキャラクタディスプレイのコマンドフォーマットを踏襲した形になっている。
慣れればそう問題ではないが、それより一番の問題は、カット&ペーストである。EAGLEのコピーコマンドは、単に回路図上で同じオブジェクトを増やすだけで、ペーストバッファーにデータは入らない。ペーストバッファーに入れるためにはカットする必要がある。EAGLEではカットしても原データはなくならない。カット&ペーストではなく、コピー&ペーストである。これを知らなくて何度「ペーストバッファーが空だよ」と怒られたことか。
ある部品のデータを別の部品に複製するには、まずコピーしたいシンボルまたはパッケージデータを開き、持って行きたい部分をグループ設定してから、その範囲内(ハイライトされる)で、カットコマンドを実行し(グループの上を一回クリックする。このとき画面は全く変化しない)、次にターゲットの部品を開き直し(前の画面はなくなる)、そこでペーストコマンドをクリック(実行)すると始めてさっきコピーした部品がカーソルとともに画面にあらわれる。部品エディターが複数のウィンドウを開けないためである。この操作は知っていなければ手品に近い操作である。
・簡単に消去が出来ない
ディバイスデータは、シンボルデータとパッケージデータで構成されるので、前にも書いたようにディバイスデータを簡単に変更することはできない。シンボルデータだけを消すことは出来ない。一旦ディバイスを開き、回路図上のピン(シンボルデータ内)と実際のパッケージのピンとの対応を全て切らないとディバイスデータに使われているシンボルデータは消す(変更する)ことが出来ない。
パッケージデータもディバイスデータとつながっているので消去しようとすると怒られる。パッケージは色々な部品(ディバイス)に使われているので、ライブラリを大きくすると大変である。しかも、ライブラリ上の部品データを消去するには、アイコンやメニューにコマンドがなくULPと言われるユーザープログラムをテキストコマンドエリアから入力する必要がある。恐らくEAGLEはテキストコマンドで操作するインターフェースから進化してきたCADなのだろう。その性格が色濃く残っている。
・位置決めが難しい
オブジェクトの移動がグリッド単位でしかできない。グリッドを細かくすれば、その単位で移動できるが、今度はグリッドが細かくなりすぎて、これを数えるのが難しい。配線図のときは良いが、正確な位置決めが必要なパッケージデータの編集ではこれが非常にネックになる。さらに、一旦細かい位置で位置ぎめしてしまうとグリッドを大きくしたとき、大きくしたグリッド単位でしか動いてくれない(Altキーを押したまま動かすとある程度自由に動かせることがあとでわかった)。
この問題の解決は、位置(mark)コマンドを活用することである。markコマンドで基準点にマークを置き、そのあとはメニューバーの下の情報エリアに表示される座標を読み取っていくと正確な位置にオブジェクトを置くことができる。もちろんそのときはグリッドを細かくしておかなければ望みのところには止まってくれない。
つながっているように見えても接続されていない(8/3/09)
部品エディターにやっと慣れて、ライブラリにない部品の登録が進んだ。SDカードスロットや、2連の可変抵抗器、DAコンバータなどである。秋月などで売られている基板用ステレオフォンジャックは、標準ライブラリの中にたまたま同じものを見つけた。
con-lumberg.lbrというライブラリにある1503_09という部品がそれで、外形はともかくフットプリント(基板上のピンの位置)が全く同じだったのでこれを使う。
電池の充電回路部を除いた(入るかどうかわからないため)回路図が完成した。ミニLCDの部品データはピンヘッダーですませる。いよいよ基板配線である。ボードエディターを開く。おおお、ratsnestという黄色い空中配線でつながれた部品が画面の隅にひとかたまりになって並んだ。部品の移動は回路図エディターと全く同様の操作なので楽だ。部品を所定の位置に運ぶ、配線も同時に動いてくる。素晴らしい。おやあ、2連可変抵抗器の大きさが大分違うぞ。どうもmilとmmの換算を間違えたらしい。
もう一度部品エディターまで戻って、実体をノギスで測り直し、正確な外形に修正する。ついでにSDカードスロットもヒロセのサイトから実体図のPDFを落とし測りなおす。EAGLEのすごいところは、変更した部品を回路図で更新すると、ボードエディターの外形まで替わっていることだ。何度も測りなおしたが、このへんは実際に基板を発注する時に、もう一度確認しておく必要があるだろう。部品ライブラリとしての公開は、ちゃんとした基板になってからでないと危ない。
想定した基板サイズ(48×74ミリ)上に部品を載せていく。うーむ、少し厳しい。そうか抵抗やコンデンサーが実体より少し大きすぎるようだ(パッケージを良い加減に選んだ)。これを直せば入るかもしれない。それより気になるのは、ratsnestになっていない(未配線)部品が多いことである。念のためERCコマンドでエラーを見てみる。
何と言うことだ、100近いエラーが出て、ratsnestのないところはすべてunconnectedになっている。EAGLEの鉄則は「基板エディターでは変えない。すべて回路図から修正する」なので、回路図エディターを確認する。ちゃんと配線されている。しかし、ネットを確認するコマンドを入れると、確かに色が変わらず配線されていない。拡大してみてもちゃんとピンと配線はつながっている。
良くわからない。サイトによると「wireは使うなnetで配線せよ」とあるのでnetでつなぎなおすが変わらない。原因を考えあぐねていたとき、たまたまmoveコマンドで部品を移動させたとき、つながっていないところは配線が切れて離れることを発見した。これだ。
接合は厳密に座標が合わないと実行されないようだ。それを試すのは、マウスで部品をつかんで動かしてみる。何度か動かしているうちに接合がされる。これは良い方法をみつけた。
overlapしているという警告も、この方法で原因を見つけることができる。配線は終端でどうしても余分なクリックをして枝が出来ていることが多いが微小なのでなかなか見つけられない。これも部品を移動させると、その枝が拡大されて一目瞭然になる。拡大されたところで不要な枝を消去すると警告はなくなる。
このノウハウを見つけてからは早かった。100近くあったエラーは、ピンの未配線や、Vccに違う名前(Vddなど)のピンを配線していることの警告だけになり、ratsnestもすべての部品に出るようになった。
自動配線を試してみる。何回かコンピューターが試行錯誤したあと自動配線が終了する。うむ、達成率は83%とこれまでより格段に上がった。そりゃそうだ2割近い配線が未配線だったのだ。
| 固定リンク
「電子工作」カテゴリの記事
- 生存証明2(2022.10.19)
- 生存証明(2022.01.23)
- パソコン連動テーブルタップの修理を諦めて自作(2021.02.16)
- 半年ぶりのブログ更新に漕ぎつけた(2019.09.19)
- 研究所活動は停滞したままでCCDカメラ顕微鏡導入など(2019.02.08)
「EAGLE」カテゴリの記事
- リニアPCMプレーヤー3号機の開発(2009.12.20)
- リニアーPCMプレーヤー2号機ついに完成(2009.10.09)
- Olimex発注の合間にACの実験(2009.09.09)
- CADソフト EAGLEにはまる(2009.08.19)
- CADソフト EAGLEの落としあな(2009.08.06)
コメント
堀田さん、コメントありがとうございます。
70代での挑戦、頭が下がります(私も頑張らねば)。
>Ver5.11で作っていますが、V5.3の方が使いよいですかね?
すみません。最近は、EAGLEをさっぱり触っておりませんので、お答えできません。いずれにしても、EAGLEは癖のあるソフトで、最初はとても使いにくいです。
>ベタアースで苦労しています。
これも、情報は集めながら実際に使わなかったので、コメントできません。「べたアース EAGLE」で検索すれば、親切なサイトがたくさん出てきます。そちらをご覧ください。今見たところでは、
http://junzo.sakura.ne.jp/dsp101/dsp101.htm
http://www.piclist.com/images/www/hobby_elec/eagle32.htm
あたりが、わかりやすそうです。
投稿: がた老 | 2012年1月18日 (水) 14時04分
がた老様始めまして
Webでこのサイトを見つけて大変喜んでいます。
私は70代でです。両面基板が作りたくてEagleに挑戦しています。Ver5.11で作っていますが、V5.3の方が使いよいですかね?。ボードを書いては壊し、書いては壊して早く理解したいと思っています。本を買っても本当に詳しくは書いていません。(どの世界の本も同じ)
今私はベタアースで苦労しています。取付穴がベタとつながらないため、苦労しています。何か秘訣があればご教授ください。
投稿: 堀田 昭 | 2012年1月18日 (水) 10時16分
有り難う御座いました。SDカードのライブラリーを頂きました。
残念ながら、持っていたのは秋月のSDカードでしたので千石で購入します。(形が少し異なる為)
自分で作れれば良いのですが、中々希望に沿うものは無いですね。
投稿: まぬけがさる | 2011年3月 4日 (金) 03時45分
2009/10/9の記事「リニアーPCMプレーヤー2号機ついに完成」に、ヒロセのSDカードコネクターの部品ライブラリを公開しています。ご利用ください。
この記事へは、「記事一覧」か、カテゴリー「EAGLE」で飛べます。
ここで公開していないのは、まだ確認がとれていなかったからです。
投稿: がた老 | 2011年3月 1日 (火) 11時29分
SDカードコネクターのライブラリーを公開して頂けませんでしょうか。
私には、未だそこまでの技量が無いものですから。
投稿: まぬけがさる | 2011年3月 1日 (火) 03時01分
がた老です。
このブログが役に立ったというコメントは嬉しいですね。
>楽しいでしょうか。
はい。マラソンや登山と同じで、苦しみのあとの喜びが麻薬のような快楽をもたらします(本文にときどきあるように相当中毒しています)。
仕事も、自分なりの目標を立ててその達成をめざすと、終わった時に苦しい仕事が楽しみに変わります。
投稿: がた老 | 2011年2月10日 (木) 22時01分
先ほどの接続されなかった原因が分かりました。
部品のシンボルをpropertyで見たら、positionが0.11になていて、0.1に修正したら一応直りました。
それにしても接続を確認するご教示の方法はまだ充分必要です。
もうイーグルを覚えたらPCBEに戻る気はしません。
投稿: kuutame | 2011年2月10日 (木) 18時31分
イーグル overlapで検索してここに辿りつき、overlap箇所を知る良い方法を知りました。有難うございました。しかし私の場合、何回やってもダイオード端子にワイヤがつながらず、ダイオードの方を動かしてやっとつながるが、ワイヤとダイオードのオーバーラップ分がヒゲになってそれを部品をよそにムーブしておいて、消すと完成というのはどうもよくわからない。なんかドイツのソフトって垢抜けないと思うのですが。
3週間近く苦闘してなんとか大体はイーグルをマスターしたようですが、もっと苦労している人がいるのだと思いました。
楽しいでしょうか。私の場合仕事で、ハンドルネームの通りなので、楽しげに複雑なものを作っている人(達)は不思議で、うらやましいです。
投稿: kuutame | 2011年2月10日 (木) 16時43分
もう一息ですね。
EAGLEはクセが強くて慣れるまで大変ですよね。
パッケージデータを作るときにイメージスキャナーで読み込んだ部品の写真と重ね合わせて作れると良いですよね。
投稿: そら。 | 2009年8月 6日 (木) 07時35分