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 だそうで。通常のユーザープロセスに、リアルタイムスケジューリングを安全に提供するしかけ・・・みたいです。
それにしても紛らわしい名前ですね。

Ubuntuその後8(KlamAVはちゃんと仕事しているのか?)

Linuxといえども、やっぱりインターネットに接続している以上はウイルス対策をしないと不安です。というか、しなければなりません。

・・・・で、ClamAVのGUIフロントエンドであるKlamAVを入れて、スケジュールスキャンを設定しているのですが、本当に動いているのか不安になってしまいました。(^^;
そこで、www.eicar.orgからテスト用のファイルをダウンロードしてスキャンテストさせてみました。
http://www.eicar.org にアクセスし、右上の「Anti Malware Testfile」をクリックします。そうすると、下の方にテスト用のファイルが4種類ありますので、これをダウンロードしてきてどこかに保存します。これらのファイルは単に文字列を表示するDOS用の実行形式のCOMファイルで、拡張子を変えたりZIPで圧縮したりして4種類になっています。実際に実行しても無害とのことです。
テスト用のファイルが何なのかEICARが何なのかは、Wikipeiaでも見てください)
で、スキャンさせてみると・・・
ということで、無事に検出してくれました。途中、ファイルをゴミ箱に入れたりしているのバレバレですね。

Ubuntuその後7(スクリーンショットの取得)

WindowsでもLinuxでも、操作方法の説明の記録を残そうとすると、ウインドウや画面全体のスクリーンショットを取りたくなることがあります。Windowsでは「ALT+PrintScreen」などでクリップボードに落とすことができますが、Ubuntuではどうするのか調べてみました。
調べてみると、Ubuntuではそのためのアプリケーションが用意されていて、「アプリケーション」→「アクセサリ」→「スクリーンショットの取得」で、

のような画面が開きます。ここで「取得するまでの待ち時間」を設定して、「スクリーンショットの取得」を押すと、そのタイミングでスクリーンショットが取れるみたいです。スクリーンショットを取った後、ファイルの保存場所を聞かれます。なお、「取得するまでの待ち時間」の初期値は0になっているので、要注意です。

 

USBメモリにUbuntu 10.04をインストール(5) ~使ってみた~

先々週、出張で上海に行ってきました。
泊まりはビジネスホテルでしたので、ネットワークは無料で使用可能。
早速、USBメモリをノートPCに挿入して起動し、Chromeブラウザを起動すると、無事にアクセスできました。その喜びを早速ブログに・・・と思ったら、blogger.comには接続できませんでした。(泣)

上の写真は有名な観光地である外灘(ワイタン)から見た黄浦江の対岸の浦東(プートン)地区のパノラマ写真です。この日の上海は万博も終わりに近い日曜日ということで、もの凄い人でした。

加速度センサ

ついでに電子工作で使えそうな加速度センサも調べてみた。デジタル出力のみ抽出。

  1. MMA7455L(Freescale)
    StrawberryLinux扱い。3軸デジタル出力(I2CまたはSPI)。電源電圧2.4~3.6V。測定レンジは2G、4G、8G。分解能8ビットなので、15.6mG。最大サンプリングレート250Hz。
  2. MMA8450Q(Freescale)
    DigiKey扱いで単価@310円。3軸デジタル出力(I2C)。電源電圧1.8V。QFNパッケージ。測定レンジは2G、4G、8G。分解能12ビットなので、0.976mG。最大サンプリングレート400Hz。
  3. LSM303DLH(STmicro)
    StrawberryLinux扱いでモジュール販売。3軸加速度デジタル出力+3軸地磁気デジタル出力。電源電圧2.5~3.3V。レンジは2G、4G、8G。加速度分解能は12ビットなので、0.976mG。

加速度を測定する用途というとこんな感じか?

  • 地震検出
    震度1で1mGくらい(周波数成分によって変わるけど)なので、震度1は無理として、震度2くらいからなら記録できるかな?
    ただ、地震波形を記録するなら、±2Gのレンジで16bit、できれば20bitくらいの分解能が欲しいところですね。MEMSで作るのは難しいのかな?
  • 車両の揺れ検出
    車や電車の前後左右方向の加速度ログなんかとってみると面白いか?
    新幹線は前の車両と後ろの車両で揺れ方が違うと思うのだけど、一度実測してみたい。
  • 車両の衝突検出
    JPEGカメラと組み合わせてドライブレコーダとか。でも、実験したくないですね。
  • 加速度検出タイプの万歩計
    ・・・もう市販品を持ってる。

いまいちグッとくる応用例って思いつかないですね。