デザイン変更

このサイトがWordpressでブログ化されて初めてのリニューアル! といってもテーマを変更しただけ (^_^;;)

前のテーマは1.5時代のふるーいもので、今でも動いているのが不思議なくらいなものだった。ウィジェット、jQuery、thickboxなんかに対応していないので、思いっ切って新しいテーマに切り替えてみた。このテーマはArcliteといって、シンプルでいてかつ高機能。デザインの詳細をアドミン画面でいじれるのがいいかな。

・テーマオリジナルのカテゴリ表示のon/off
・jQueryを使うかどうか
・タイトルバックグラウンド
・ウィジェットのタイトルバックグラウンド
・ユーザ指定のCSSの保存
・トップメニューのpage/category選択

これ以上にも設定項目はあるけど、重宝しているのは以上。特に独自CSSを設定できるのはありがたくって、早速codeタグの設定は旧テーマからそのまま引き継いだ(なのでちょっと浮いてます ^_^;;;)。

画像がAJAXで浮き上がってくるのがやはりいいかな。あと、新しいテーマのほうが軽い気がする。そういえば前のテーマはindex.phpにいろいろとこてこてと書かれていたっけ。

まだちょこちょこと修正していきます。

オーディオレベルメーター完成!

基板がOlimexから届いて早速製作に取り掛かった20 LEDオーディオレベルメーターなんだけど、初めて作ったPCBとあって、やはりバグがそこここに。。。 それを解決するのに少々時間が掛かったけど、無事、完成! パチパチパチ~。

IMG_0506一般公開を念頭に入れて(?)なるべく手に入りやすい3mmΦLEDを探したんだけど、これがまた難航。秋月のOSDR3133A(赤)、OSYL3133A(黄)、OSNG3133A(緑)を選んでみたけど、緑が若干暗い。スペック上は同じくらいの明るさ(500~600mcd)なんだけど、見るからに緑だけが目立って暗い。そこで千石に特価で3mmΦ緑LEDがあったので試してみたら結構いい感じ。発光パターンが少し違うから角度をつけてみると光り方が赤、黄とは違うけど、これは拡散キャップをつけることでカバーできるからよしとしよう。

まあ、紆余曲折はあったものの、無事完成! 長かった~。

IMG_0507バグその1。
LM3916Nの感度を下げるための分圧抵抗の場所を間違えてた (-_-;;)。これは回路図レベルのミスなので、どうにか抵抗の取り付け方でカバー。致命的なミスでなくて良かった。

IMG_0508バグその2。
LM3915N、LM3916Nの電圧範囲を決めるゲインを調整する可変抵抗を入れるべきところが普通の抵抗になっていた (-_-;;;)。う~ん、なんて初歩的なミス。これも回路図レベルのミスだから、なんとか可変抵抗を無理やり取り付けてカバー。まあ、これもリカバリーが楽なミスで良かった。

IMG_0514LM3915とLM3916のつながり具合、コンパレータ(NJM2403D)を追加して増設した最下位LEDの感度とも、非常にいい感じで調整できてる。LED10と11が境目だけど、全く違和感なし。音楽がフェードアウトしていくとともに最下位LEDが明滅する様子は感動的でもある。LEDが音楽とシンクロして動いているのを見ていると、時間を忘れる。。。

さて、これらのバグを直してさらにステレオ対応したオーディオレベルメーター Rev 2.0をOlimexに11/27 1:37 amに発注! 部品点数が倍増していながら基板は小型化!アートワークにも慣れてきて、今回はかなりトリッキーな技も使っていたりして。さて、今度はどれくらいで届くかな。クリスマス前には欲しいところだな。たのんまっせ、Tsvetan!

Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 3がインストールできない

アップデートの更新があるから更新しようと思ったらなぜか失敗する。更新内容は「Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 3」。OSはWindows XP Pro SP3。いろいろとググッたら、結構同じ目にあっている人がいて、MSXML6 SP2がどうも悪さをしているみたい。で、MSXML6を削除しようと思ったらこれもできない。

さらにググッたらWindows Install Clean Upユーティリティというものがあったので、それでまずはMSXML6を消す。そしてただいま自動更新を再実行中。。。 そして無事終了。

「プログラムの追加と削除」で確認したらMSXML6 Parserが追加されてた。SQL Server 2005 Express Editionが入っている似たような構成のPCでは自動更新はうまく言ったんだけど、このPCは最初からMSXML6 Parserだった。

なんだかよくわからないけど、うまくいったからいいか。

OlimexのPanelization

ボードの設計は160mm x 100mmに抑えるとSSS、DSSサイズでお安くなるんだけど、このサイズ以下の場合は複数ボードを取れるだけとってくれるらしい。一枚のパネルから複数枚のボードを切り分けることをpanelizationというけど、これにはちょっとしたテクニックがいる。切り取る際のきりしろをとっておかないといけない、ということ。

ちなみに、ほっぽっておくと彼らが適当にpanelizationしてくれるというけど、あんまり信用置けないなぁ。

で、panelizationするときはボードのdimensionに注意する必要がある。160mm x 100mmのボードを長辺でn等分するときは、せん断(guilotinee cut)なら、ボード長 = (160-0.254(n-1))/n-0.254 (単位はmm)切削(abrasive disk cut)なら、ボード長 = (160-2(n-1))/n-0.254 (単位はmm)という計算になる。

今度6等分したボードを設計しようと思うけど、その際のdimensionはせん断でn = 6
X = (160-0.254(6-1))/6-0.254
 = 26.201 mm
となる。milに換算すると、切捨てで約1031mil。このサイズをEagleで設計しようする場合、まずグリッドをmilにして、最小単位を1milに設定する。座標軸で(0, 0)~(1031, 3937)がボード寸法になる。

切削の場合は24.746mmとなって、1枚のボードあたり1.455mmも小さくなってしまう。6等分もすると1辺が短くなってくるからこの差は大きい。細かくpanelizationする場合はせん断するに限るね。

ちなみに、このサイズは外形であってEagleのdimensionの線は10milに設定しておく必要がある。

unrouted.ulpを試す

この前書いたEagle CADのunrouted.ulpを試す機会があったので、早速レポートを。unrouted.ulpはwww.cadsoft.deにあるので、ダウンロードしてEagleのULPフォルダに入れておく。

ratsnestを行ってairwireが見つかったと報告されるけど、目視では中々見つからないairwireがある場合、ボードウィンドウのコマンドラインからrun unroutedを実行するとEagleのカレントディレクトリ(c:¥Program Files¥Eagle-5.6.0)にunrouted.txtが作成される。ここにSignal = N$13 (2980/1560) (3000/1560)
Signal = V- (1483/2973) (1490/2973)
こんな感じでairwireの名前と座標が出力されている。

名前でピンとくればいいけど、大体は座標で絞り込んでいく。ボードウィンドウの左上に表示される座標をunrouted.txtにある座標に近づけていく。近くなってきたらズームしていくとairwireが見えてくる。それでも見えない場合は付近のwireを移動させてみたり、rip-upしてみると見えてくる。

前回紹介したレイヤを非表示にする方法はちょっと手間が掛かるからこっちのほうが便利かも。まあ、DRCのようなインターフェースでピンポイントで指し示してくれるのが一番いいんだけどね。でも、これで大分効率が上がったかな。

Olimexから基板到着!

人生初のオリジナルプリント基板をOlimexに頼んだんだけど、昨日ようやく届いた。先日作成したオーディオレベルメーターをPCBにしてみた。そのためにEagleを勉強して、そもそもPCBの作り方、Olimexへの注文方法、Olimex用のEagleの設定とか諸々を調べた。あまりにもボリュームが多いので、気がついたものから少しずつ公開することにしよう。

IMG_0501色々なサイトでPCB作成は取り上げられてて、初めて作ったPCBには感動すると書いてあるけど、いや~、自分の設計したものがカッコイイボードになっていると本当に感動する。金色がキラキラしててきれいだなぁ。こちらが表面。Component Sideあるいは部品面と言われるほう。

IMG_0502そしてこちらが裏面。Solder Sideあるいは半田面と言われるほう。初心者なのにいっちょまえにグランドをベタにしたので一面緑色。これもきれい。

IMG_0504こちらもいっちょまえに名前を入れたんだけど、Eagleの設定がそうなっているから何も考えずにテキストをTopレイヤーに入れたら見づらい。。。 そうか、シルクに印刷するには25 tNamesレイヤーに書かなきゃいけないのか。。。

IMG_0505Olimexと言えばシルク印刷の線幅が10mil、フォントはVectorと相場は決まっているようだけど、最近「5milにも対応しました」ってHPに書いてあったから(一応メールで確認を取った上で)、5mil幅、Proportionalフォントのデータを送ってみた。なんときれいに印刷されてるじゃありませんか。これは便利。ってゆーか、最初から対応していればいいのに、って話なんだけどね。ま、相変わらず回路の線幅、クリアランスは10mil、8milルールが存在する。それでもシルク印刷のテキストを強制的にSize=50、Ratio=20%、Font=Vectorにしなくてよくなったのはとても楽。部品のアウトラインも同様だけど、ulpを使って一発変換できるから手間ではないんだけど、不可逆だし見栄えが悪い。あと、25レイヤー以外にある情報を印刷したい場合は25レイヤーにコピーしないといけないのは以前と同じ。

半固定抵抗は側面調整のものにも対応できるようにすればよかったかも、とか、配線を見ていると???と思うところもあるけど、初PCBであることを考えてみれば上出来、上出来。

さあ、この基板で20ステップのレベルメータを作ってみよう!

Eagle CADの抵抗器のパッケージ規格

Eagle CADの謎の一つに抵抗器のパッケージ(外形)規格がある。良く使う1/4W抵抗器はピッチ幅75mm(正確には2.54mm x 3 = 7.62mm)だから、抵抗のpackageはR-US_0207/7(type 0207, grid 75mm)を使っていた。でも、今取り掛かっているPCBには1Wとか3Wとかの抵抗が必要で、メーカーやものによって大きさが様々である。抵抗の形状って、どういう基準があるんだろう?

いや、これまで使ってきた0207って何だろう? と思ってググッても中々答えが見つからない。小一時間ググッたらVishayの技術資料にそのものズバリがこっそりと載っていた。DIN規格らしいのだが、最初の二桁は直径で、後ろの二桁は長さをmmで小数点以下を四捨五入したものと明記されている。ほほ~と思って色々と見てみたら、四捨五入と言うより切り捨てに近い感じ。0207なら直径1.5~2.4mm、長さ6.5~7.4mmなんだけど、直径2.x mm、長さ7.x mmくらいに考えておいたほうが良さそう。

まあ、言われてみればそんな感じのネーミングだわな。なんでいままで気がつかなかったんだろう???

Eagle CADのairwireの探し方

Eagle CADでアートワークをしているのがとっても楽しい。けど、配線も終盤になってくると面倒なのが残っているairwireを探し出すこと。くまなく探しているんだけど、見つからないairwireもある。配線しているときにしっかりと端子に結合していなくて、と~っても微小なairwireが残ってしまうことが結構ある。こういうときは、ボード画面のコマンド入力欄でdisplay none
display 19
とやると、airwireだけを表示させることが出来る。まあ、大抵はこれで乗り切れるけど、本当に本当に微小なairwireはこれでも見付けづらい。ちなみに、Eagleのデフォルト表示レイヤーに戻すには、display 1 16 17 18 19 20 21 22 23 24 25 26 27 28 39 40 41 42 43 48 49 51 52とする。

すべて終わっちゃったんだけど、unrouted.ulpなるものがあることを知った。http://www.cadsoft.deでダウンロードできる。run unroutedを実行するとairwireを探し出してくれるようだ。unrouted.txtというファイルがカレントディレクトリ(c:¥Program Files¥Eagle-5.6.0かな?)に出力されて、これを見ると分かるらしい。airwireがない状態では空ファイルだった。今度これを使ってみよう。

Google ChromeでPDFが開かない

Google ChromeでPDFが開けなくなった。これはChromePlusも同じこと。どうも最近Adobe Readerを9.2.0にアップデートしたせいじゃないかと思うんだけど、確かではない。

DatasheetのほとんどはPDFだし、そもそもググッたらいきなりPDFっていうのもあって、Chromeが固まると結構うっとうしい。ChromePlusはマウスジェスチャも標準でついてくるので他に乗り換えるのも今となっては面倒。

で、いろいろと試したら、Adobe Readerを立ち上げておくと一瞬でPDFが表示される。これは逆に気持ちいいほど速い。しばらくこの方法で対処しよう。

※2009/10/26 update!
やっぱりAdobe Readerを立ち上げておいてもChromeでPDFを開こうとするとそのタブだけフリーズします。おかしいなぁ、これを前書いていたときはうまくいっていたのに。。。

Eagle CADの部品番号の並び替え

LEDレベルメータのPCBを作るためにEagle CADを使い始めたんだけど、なかなか便利。最初は敷居が高いんだけど、慣れてくると思いのほか簡単に基板設計ができる。

特にulpやscrというユーザが拡張できるコマンドを駆使できるようになると使い勝手が加速度的に良くなる。あとはキー割り当てを変更することができるので、よく使うコマンドをFキーに割り当てるといいかも。F7(Move)とF6にRouteを割り当てたら無茶苦茶使い勝手が上がった。あと、以外に重宝するのがChange機能。線幅を間違えたり変更したいときなんかはこれがあると便利。レイヤー間移動も簡単。

さて、本題の部品番号の並び替えだけど、renumber-sch.ulpというコマンドがあるんだけど、これがいまひとつで、上下、左右の順番に付番してくれる。感覚的には左右、上下で付番してほしい。こんなときはスクリプトをちょちょっと改造すればOK。renumber-sch.ulpのバックアップをとっておいて、renumber-sch.ulpをエディタで開いて92行目あたりにある、 sort(nrNames,i, sh, y, x); sort(nrNames,i, sh, x, y);に変えるだけ。

これでしっくりくる番号が振り直された。ちなみに、回路が分かれているときはGroup Moveして左右に並ぶようにするといい。