EagleCAD設計メモ ~よく使うライブラリを選別~

EagleCADにはライブラリが(数だけは)たくさんついてくるが、実際に使うのは手持ちにある部品、すぐに調達できる部品のものだけである。なので、たくさんついていてもかえって使いにくかったりする。
なので、標準でついているもののなかから、使いそうなものを選別していく。

  • 「ic-package.lbr」・・・ICパッケージとソケット。
  • 「rcl.lbr」・・・この中に、DIP/SMDのコンデンサ・抵抗・インダクタが入っている。電子工作で使うレベルではこれだけで良さそうな感じがする。
  • 「jumper.lbr」・・・秋月で売っているようなピンヘッダや、片面基板でどうしても交差を乗り越えなければならない場合に使うジャンパブリッジのシンボルが登録されている
  • 「pinhead.lbr」・・・名前の通り、ピンヘッダ
  • 「supply1.lbr」「supply2.lbr」・・・電源/グランドパターンのシンボル
  • 「switch」「switch-misc」「switch-dil」・・・スイッチ類

がどんな基板でも使いそうなもので、

  • 「atmel.lbr」・・・ATMEGA・ATTINYシリーズ。秋月で安いATTINY2313はなかったりする。
  • 「battery.lbr」・・・そんなにたくさん使うものではないでしょう。
  • 「con-ml」・・・2.54mmピッチのBOXコネクタ(いわゆるMILコネクタ)
  • 「diode.lbr」・・・ダイオード類
  • 「microchip.lbr」・・・PICなどのMicrochip社製品
  • 「ref-packages.lbr」・・・デバイスの外形が大量に納められている。新規デバイスを登録する際には、ほとんどの場合はここからパッケージ形状を引っ張ってくればよさそう。ロングパットタイプで、「ref-packages-longpad.lbr」というのもある。

はそこそこ役に立ちそうなものというところか。
これらのライブラリはプロジェクトディレクトリに作ったライブラリフォルダにコピーして「Use all」とし、元のライブラリフォルダを「Use none」することにした。


≪後日談≫
作ったデータの統計データをとってみると、こんなに簡単にはいかないようである(;_;)。

EagleCAD設計メモ ~デザインルールの修正~

結局、OLIMEXを使ってみたい、と思うようになってしまった。(手で配線するの、面倒くさいものね)
で、色々調べてみると、OLIMEXに出すためにはDRCを修正しなければならないようである。

せっかくなので、OLIMEXの技術条件(OUR TECHNOLOGY LIMITATION)を順に確認していくことにしたい。(解釈が合ってるかはしらないよ)

  • 「Our minimum track width/space is 0.203 mm (8 mils).」は、最小の線幅・線間がそれぞれ8mils=0.203mmということで、Design RulesのClearanceで設定する項目だろう。ただ、「FILE FORMATS we accept:」を見ると、「IMPORTANT! Please before sending Eagle files for manufacturing use these DRU files to check your design: for 8 mils (15 working days turnaround) and 10 mils (3-5 working days turnaround).」という記載があり、8milsの場合は製造に実働15日、10milsの場合には実働3-5日でできるようである。微細でなければ10milsの方が良いだろう。
  • 『The (pad/via – drill hole) clearence must be minimum 0.406 mm (16 mils) i.e. the resulting annual copper ring around the drilled hole to be 0.203 mm (8 mils), example: if 0.9 mm drill hole size is used it MUST have pad/via diameter = min. 1.306 mm』という記載がある。
    ドリルの穴の直径と、その周りのリング状(図面上は円だが、仕上がりでは真ん中に穴があくので、リング状になる)のPadの外周直径の差が最低16mils必要、ということだと思う。すなわち、もっとも小さなスルーホールを作るには、ドリル径24mils(0.6mm)、パッド径24+16=40mils(1.02mm)が必要ということになる。周りとの干渉を考えると、周囲のクリアランス(銅箔無し部分)が更に半径8milsが必要で、置き場所としては直径40mils+半径8mils×2=直径56mils程度の場所が必要ということだろう。
    これは時間のかかる8milsルールでの話で、短期間でできる10milsルールで更に追加費用の必要ない標準ドリルの最小0.7mm(0.028”)を使う場合では、もっとも小さなスルーホールを作るには、ドリル径28mils、パッド径28+20=48mils(1.22mm)が必要ということになる。
    これらは「Resting」という項目の「Pads」の部分のTopとBottomのMinの値の部分だろう。
  • 次に「Our minimum drill size is 0.6 mm (24 mils)」と記載されていて、最小ドリルサイズは24mils(0.6mm)のようだ。一方で、「Our standard drill tool rack is: 0.7 mm (0.028″), 0.9 mm (0.035″), 1.0 mm (0.039″), 1.1 mm (0.043″), 1.3 mm (0.051″), 1.5 mm (0.059″), 2.1 mm (0.083″), 3.3 mm (0.13″).」と記載されていて、24milsは標準ドリルではないようである。その場合、価格表によると1ユーロ余分にお金がかかるようである。さらに、「Our maximum drill size is 5.0 mm (197 mils) we can’t drill large than 5.0 mm drill hole on your board, if your board have > 5.0 mm drill it will be replaced with 5.0 mm drill」という記載があり、最大ドリル径は5ミリで、5ミリを越えるものは5ミリに丸められる、ということである。
  • 「Our drill hole limit is 500 holes for SSS,DSS and 2000 holes for SSQ,DSQ panels. If you exceed the maximum hole limit you will be charged additionally see our PRICE web page.」という記載があり、穴は160ミリ×100ミリの基板サイズで500個まで。それを越える場合には別料金。
  • 「Each layer MUST have text inside or outside PCB area to prevent board production with mirrored layers. i.e. the text on bottom should be mirrored if you look on the board from top.」という記載があり、それぞれのレイヤーは基板の領域の中でも外でもいいから文字をいれておく必要がある。この場合、半田面の文字を部品面透視図でみると、反転しているように見える。
  • 「Lines under 0,1 mm (5 mils) on component print layer may not be visible.」という記述があり、部品面の5mils以下のライン(シルク印刷)は見えない場合がある。参考文献によると、以前は10mils以下のラインが印刷できなかったようであるが、それが今は5mils以下になっているということだろう。

ということで、10mils.dru はDSSサイズで追加料金1ユーロが取られる程度のようで、それさえ気にならなければそのままで良いのではないかと思う。

(参考文献)
プリント基板CAD EAGLE活用入門、今野邦彦著、CQ出版社、ISBN978-4-7898-3630-2
(EAGLEのメジャーバージョンも変わっているためか、よく見ると書籍内の画面キャプチャとボタン配置が違うことがあるので要注意だが、作業手順としては参考になります)

EagleCAD設計メモ ~パターン設計~

回路図が完成したところで、回路図エディタの「Board」を選択すると、ボードエディタが起動し、領域外に部品が置かれた状態+ラッツネット(端子間の関係がわかるように細い直線でつながれている)の状態で表示される。
部品をレイアウトして、オートルータを起動、という流れは変わらないので、注意事項だけ記載する。

  • 外形図をはじめに修正する。最初から左下原点で適当なサイズが設定されているので、グリッドやサイズ表示などを使って、希望のサイズに外形図を修正する。
  • 部品形状などは「Replace」コマンドを使って、ライブラリにある他の部品にこの時点で変更ができる。変更結果は回路図エディタが起動していれば回路図にも反映される。つまり、回路図エディタは起動しっぱなしでなければならない。
  • 電源パターンなどは、パターンエディタで「Class」コマンドでクラスを作成して、それを回路図エディタ側でネットのプロパティを開いて修正することで、太さを設定する。
  • 部品の配置は初期値は全て部品面である。半田面に変更するには、「Mirror」コマンドで設定すると、半田面側に移動する。(部品のプロパティでも設定可能)
  • べたパターンはPolygonコマンドを使って設定する。外周だけを描いた後、プロパティで、太さを0.024(0.016ではDRCでエラーが出る。おそらく、塗りつぶしに時間がかかるからだろう)milに、レイヤーを部品面か半田面かを適切に、信号名をGNDなりの接続先のネット名に、NetClassもそれにあったものに修正する。
  • OLIMEXに製作を委託する場合には、DRCの際にOLIMEXからダウンロードしてきた「10mils.dru」をLoadしてDRCを行う。

そんなこんなで出来上がったパターン図は、こんな感じ。なんかスッカスカ。頑張れば片面に入るかも。
基板屋さんに出すわけじゃなくて、ユニバーサル基板のためのレイアウト検討が目的だから、べたGNDにする必要はなかった(というか、しちゃいけなかった)んだけど、なんとなく。ここまでやったらシルク抜き(シルクの調整が面倒なので)でOLIMEXに出してもいいかな、なんて一瞬思ったが、スイッチなどは間に合わせに似たものシンボルを拾ってきただけなので、これではまだ無理ですね。もっとちゃんとライブラリの作成と確認をしなきゃならんですね。回路にしても、PICのパスコンなんかは「どうせ端子が隣り合わせだから後でチップコンを入れよう」とか横着してたのを思い出したし。

でも、一度OLIMEXに出してみてもいいかも。基板屋さんで作るなら、ハンダゴテでつけられる範囲の表面実装部品(SMD)なら自由に使えるようになるし、何より細かいハンダ付けをしなくてもよくなるのが嬉しい。さらに、SMDで作ればそれだけで小さくなるうえに、両面なら同じ場所の表裏にそれぞれ部品が載せられるので、更に小型化ができる。基板についても基板屋さんで作れば基板の厚さも変えられるから、大幅な軽量化も可能。うーん、やりたくなってきた。

(参考文献)
プリント基板CAD EAGLE活用入門、今野邦彦著、CQ出版社、ISBN978-4-7898-3630-2
(EAGLEのメジャーバージョンも変わっているためか、よく見ると書籍内の画面キャプチャとボタン配置が違うことがあるので要注意だが、作業手順としては参考になります)

EagleCAD設計メモ ~回路図入力~

シンボル登録ができたら、次は回路図入力である。
回路図入力自体はこれといって難しいことはなく、部品を置いて結線していくのみ。
ここでは引っかかった項目を自分へのメモとして記載しておくことにする。

  • 自分で作ったシンボルは、Nameコマンドで名前をつける必要がある。Value等の使い方も今後の要検討課題。
  • シンボルにひっついている、部品の番号や値を移動させるには、一度「Smash」を選択して、その状態で部品を選択しなければならない。その後で移動が可能となるが、Smash状態を戻してしまうと、部品の番号や値も元の場所に戻ってしまうので要注意。
  • 抵抗やコンデンサは細かい部品をこの時点で考える必要は無い。パターンエディタでReplaceを行うと回路図にもバックアノテーションされるので、パターンを引く段階でDIP品にするかSMD品にするかなどの細かい部品選定を考えれば良い。表面に配置するか、背面に配置するかも同様。
  • 電源配線などの特殊な指定がある配線は、パターンエディタで Class コマンドで、Net Class を設定(例えば、1番にName:Power、Width:16mil、Clearance:10mil、Dril: 0milなど)してから、回路図エディタで対象ネットを右クリックして、プロパティでNetClassを設定すること。
  • パターンエディタに移行するまでにDRCをかけること。

こうしてできたのが、こんな回路図である。細かいところは手抜きなので、ご容赦を。
(ユニバーサルボードで作る計画なので、PICのパスコンなども後付け前提で記載していない。)

(参考文献)
プリント基板CAD EAGLE活用入門、今野邦彦著、CQ出版社、ISBN978-4-7898-3630-2

(EAGLEのメジャーバージョンも変わっているためか、よく見ると書籍内の画面キャプチャとボタン配置が違うことがあるので要注意だが、作業手順としては参考になります)

EagleCAD設計メモ ~シンボル登録~

EagleCADのインストールができたので、早速設計仕様を回路図に落としていく・・・・といいたいところだが、話はそう簡単ではない。

EagleCADはドイツのメーカーのソフトなので、日本で売られている電子パーツについてはあまりサポートがないので、回路図入力に先立ってシンボルの登録をする。
大雑把な流れとしては、以下の通り。作業後に書いたので、漏れがあるかもしれない。

  1. ControlPanelから、編集するライブラリ(部品集)を開く
    ControlPanelと言う名前だけど、Exploror風のプロジェクトの概観がわかるツールという方が近い。ここの「File」→「Open」→「Library」で部品追加するライブラリを開く。(1回目は新規作成なので、「Open」ではなく「New」になる)
    そうすると、ライブラリエディタが開く。
  2. 1つの部品の作成は、「(レイアウト用の)パッケージの作成」→「(回路図用の)シンボルの作成」→「(それらを結びつける)デバイスの作成」となる。
  3. 「Edit Package」ボタンを押すと、ライブラリに含まれるパッケージの一覧が表示されるが、新規に作成する場合には、「New」のところに名前を入れて、「OK」を押す。その後、パッケージの形状(TO-92など)を入れるが、慣れないうちや、細かい資料が無い場合などは品名を入れておいた方が無難な気がする。
  4. Gridコマンドでピン間隔に合わせてグリッドを設定し、パッド形状を選択した後、パッドを順番に配置していく。この時のピン番号は番号ではなくIDが勝手に振られているので、配置後にNameコマンドで実際のピン番号に修正する。
  5. Gridサイズを修正し、Wire/Arcコマンドでシルク印刷シンボルを入力する。
  6. 部品名と値のシルク印刷シンボルを入力する。Textコマンドで、部品名に「>NAME」、値に「>VALUE」とそれぞれ入力する。
  7. 「Description」をクリックし、説明をHTMLで入力する。
  8. これでパッケージの作成は完了なので、一旦保存する。
  9. 次にシンボルを作成する。「Edit a Symbol」ボタンを押すと、ライブラリに含まれるシンボルの一覧が表示されるが、新規に作成する場合には、「New」のところに名前を入れて、「OK」を押す。その後、シンボルの名称を入れるが、品名を入れておけばよさそうな気がする。
  10. 「Draw」→「Pin」で回路図上で使用するピンを配置する。
    ツールバー上にピンの表示の向きや、論理/エッジ動作の表示、長さ、端子の表示のしかた、入出力などの電気的属性(多分、DRCで使うのだろう)などが表示されるので、これを設定しながら回路図上の端子を配置していく。
  11. 配置が終わったら、Nameコマンドで端子名を入力する。入力後、文字が重ならないようにMoveコマンドで文字を移動して見栄えをよくする。
  12. 回路図シンボルをWireコマンドで描く。(今のところ、あまりレイヤを気にしていないのだが、大丈夫だろうか??)
  13. これでシンボルの作成は完了なので、一旦保存する。
  14. 次にこれらを結びつけるデバイスの作成を行う。「Device」ボタンを押すと、ライブラリに含まれるデバイスの一覧が表示されるが、新規に作成する場合には、「New」のところにデバイス名を入れて、「OK」を押す。この時に入れるデバイス名はパッケージ形状を含まないデバイス名を入れるのが良いようである。(パッケージ形状は後でVariant nameに入れる)
  15. 「Add a part(ちょっとわかりにくいが、左側のANDゲートのアイコン)」を押すと、回路図シンボルを選択するダイアログが出るので、作成したシンボルを選択する。選択すると、シンボルを左上のエリアに配置できるようになるので、中央で左クリックして配置する。
  16. その後、右下の「New」ボタンを選択すると、パッドの選択ダイアログがでるので、対応するものを選択する。この時に、大抵の場合はデバイス名のうちの後ろの部分についているパッケージ形状を示す部分を「Variant name」に入れる。OKを押すと、パッドは勝手に右上に配置される。
  17. 左下の「Description」をクリックして、説明を入力する。
  18. この時点ではパッドの端子番号とシンボルの信号名の対応がついていない。右下の「Connect」をクリックすると、対応付けを行う画面が出るので、PinとPadからそれぞれ対応するものを選択して、下の「Connect」を押すと、その組み合わせが右側の「Connection」のところに表示される。他のピンも全て同様にして対応付けを行う。
  19. 全て完了したら、保存して終了。

このあたりは、いずれ再度デバイス登録の際に画面キャプチャしながら自分用の詳細メモを作成するつもり。

(参考文献)
プリント基板CAD EAGLE活用入門、今野邦彦著、CQ出版社、ISBN978-4-7898-3630-2
(EAGLEのメジャーバージョンも変わっているためか、よく見ると書籍内の画面キャプチャとボタン配置が違うことがあるので要注意だが、作業手順としては参考になります)

Ubuntu10.04に回路図エディタEagleを導入

久しぶりに電子工作に取り組んでいます。工作にあたり、まず仕様書・・・というほど大げさなものではなく、メモ程度の要求仕様(どんなものを作りたいのか)、設計仕様、システム仕様を整理します。これを今回はUbuntu+OpenOffice.orgでやってみたのですが、電子工作の範囲であればまったく問題なさそうです。(むしろWindows環境+Microsoft Officeよりも使いやすいくらいかも)

設計仕様・システム仕様がまとまったところで、回路図を作ります。最終的にはユニバーサルボードに組むのですが、一度は回路図を書いて、レイアウトを決めないと行き当たりばったりだと苦労しますので。昔はそれでもよかったのですが、最近細かいものがつらくなってきた(;_;)ので、事前に詰めておきます。

そのために、回路図CADを導入することにしました。最初はWindows環境に・・・と思ったのですが、せっかくなのでUbuntu環境でトライしてみることにしました。調べてみると、EagleCADはLinux版があるようなので、そちらにしてみることにします。(調べる過程で出てきたFRITZINGは一見オモチャっぽく見えるけど、電子工作用途ではすごく強力なツールのような気がします。電子工作がマーケットとして成立しつつあることを示しているようで非常に面白い。Windows/Linux32bit/Linux64bit/MacOS-Xのクロスプラットフォームのようなので、今度調べてみたいと思います。)

話をEagleに戻します。CadSoft社のダウンロードのページに行くと、Linuxのダウンロード先へのリンクが貼られています。これを右クリックして、「リンク先を別名で保存」として、適当な箇所に保存します。
保存後、シェル(端末)を開いて、

$ sh eagle-lin-5.10.0.run

とすると、しばらくの沈黙の後、

こんな画面のインストーラが立ち上がります。
Nextを押すと、ライセンス(EULA)の確認を促す表示が出ますので、確認した後「Yes」を押します。
次にインストール先を確認してきます。デフォルトでは、ホームディレクトリの下に作るように表示されています。とりあえず、このまま進めてみますので、「Next」を押します。
次にコピー先(インストール先)の確認画面が出ますので、「Next」を押します。
コピー作業が行われて、所有するライセンスの確認画面が表示されます。

ここで「Don’t license now」を選んでおくと、最初の起動時にライセンスを選択できるようです。
Freemium codeというのは、60日限定版のStandardに近いライセンス、ということのようです。(要はほぼ機能制限無しの60日限定お試し版、ということみたいですね)
今回はそれほど大きな回路を作るわけでもないし、Light Edition(=Freeware)で済ませることにします。ですので、ここで「Run as Freeware」を選択しておきます。これでインストールは完了です。

起動は、ホームディレクトリ上で、

$ eagle-5.10.0/bin/eagle
で起動します。(ホームディレクトリにインストールしたのだから当然ですね)
初回起動時に、プロジェクトを保存するディレクトリを作成するか聞いてきますので、作成します。
作成すると、プロジェクトの管理画面が開きます。
Linuxのアプリケーションとは思えない、簡単インストールでした。(rootになる必要すらない、というbがすごい驚きです)

IdeaPad S10-2 + Ubuntu10.04 で無線LAN

例のUSBメモリにインストールしたUbuntu10.04だが、会社のノートPC以外に持っている自宅のネットブック(レノボのIdeaPad S10-2)ではBroadcom製の無線LANが動作せず、有線でしか動作しない不便な思いをしていました。Googleさんに聞いてみても、Broadcomのドライバをダウンロードしてきてツールで切り出して・・・・と面倒な感じでした。

・・・が、「システム」→「システム管理」→「ハードウェア・ドライバ」とするのと、それっぽいインストールされていないドライバ(確かプロプライエタリなドライバ、と表示されたと思う)が2つでてきますので、それをインストールすると、あっさり使えるようになりました。

これで無線LANによる自宅内ロケーションフリーなUbuntu環境が整いました。

BBshoutのサーバ探し

ずいぶん前に秋月電子でインターネットラジオを聴くためにBBshoutを購入、SONY製のPC用のアンプ内蔵のスピーカーに接続して使っています。自分の部屋にいるときにはBBshoutのページからダウンロードした選局リストに入っていたSwissMixJazzのラジオ局をBGMとして聴いています。

さて、今回、英語の勉強を兼ねて、英語のニュースのラジオをBGMに追加したくなりました。

まずサーバーの探し方ですが、Chromeブラウザで www.shoutchast.com を開くと、ジャンル別にラジオ局が表示されます。BBshoutで聴けるのはMP3だけですので、その条件で探します。
これだと思う局が見つかったら、青い文字で表示されている再生ボタンか局名をクリックすると再生されます。聴いてみてよければ、再度再生ボタンか局名を右クリックして「リンク先を別名で保存」を選択します。保存した拡張子「.pls」のファイルをテキストエディタで開くと、「File=」で始まる行にURLが記載されています。

次に、これをBBshoutに登録します。BBshoutのIPアドレスの8080ポートにブラウザでアクセスすると、BBshoutのトップページが開くので、「チャンネルの新規登録」を選択して、表示用タイトルと先のURLを入力します。登録&選局ボタンを押すと、しばらくしてBBshoutで聴くことができるようになります。

PIC開発環境構築

久しぶりに電子工作をしたくなり、PICの開発環境を構築した。といっても、別に変わった環境ではなく、

  1. まずWindowsXP上でMPLAB IDE v8.60をインストールした。インストール中に HIGH-TECH C lite のインストールをするか確認してくるので、インストールを実施。今回のターゲットに PIC10、PIC12 が入っているので、必要なのです。
  2. 次に、PIC24用のCコンパイラとして、MPLAB C30をインストール

これで完了です。昔あった MSXML がらみの無限WindowsUpdateも起こらないみたい。

次に、動作確認として、手持ちの12F675のGPIO2にLEDをつけたものを用意した。プロジェクトをウィザードに沿って作成し、その際にデバイスはPIC12F675、Cコンパイラとしては HIGH-TECH C を選択する。プロジェクトが生成できたら、以下のようなソースを作成し、main.c として保存後、main.c を Source Files に登録する。

ヘッダファイルはCコンパイラ標準のものは特に Header Files に登録しなくても大丈夫なようである。「Configure」→「Configuration Bits」で、FOSCは内部発振、WDTは禁止、PWRTも禁止、MCLREがGPIO3をデジタルI/Oに設定、BODも禁止して、「Project」→「Build」でコンパイルを行う。コンパイルが成功したら、書込みはPICkit2で行うので、「Programmer」→「Select Programmer」→「PICkit2」と設定し、「Programmer」→「Program」で書込みを行うと、LEDの点滅が始まった。

 

 

Ubuntuその後9(rtkitってなに?)

KlamAVがちゃんと動いているのか確認する過程で、なにげなく「ps -auxww」して眺めていたら、

rtkit     1247  0.0  0.0  22908   912 ?        SNl  Nov05   0:00 /usr/lib/rtkit/rtkit-daemon

などというプロセスがいることに気がついた。『名前からして rootkit か?』とかなり焦ったが、よく考えるとそんなバレバレな名前をつけるのも変な感じです。
で、Googleさんに聞いてみた(単にググったともいう)ところ、RealtimeKit だそうで。通常のユーザープロセスに、リアルタイムスケジューリングを安全に提供するしかけ・・・みたいです。
それにしても紛らわしい名前ですね。