2014年7月5日土曜日

Eagleでプリント基板のデザインをして発注するまで(追記あり:ドリルデータとドリルリストについて)

来週末は、勤務先のイベントで小学生対象の「ものづくり教室」の担当。去年実施したのが、Parallax社の8 core 32bitマイコンであるPropellerを使った、ドラムシンセサイザーだった。

内容は、Propellerのプロジェクトとして公開されている、Amiga Commodor 64の音源チップSIDエミュレータを使い、シンセドラムっぽい音をプログラムで自作したもの。欧米を中心に「SID Tune」という分野があって何千曲ものデータ蓄積があり、SIDはレジスタに書かれたパラメータに合わせて音響信号を出すだけのLSIなので、プログラムで高速制御して見事な効果を含む演奏する専用プログラムがあったほど。いまでも「SID Emulator」が各OS用にいろいろあって、バイナリに変換されたSIDレジスタ書き込みシーケンシャルデータを読み込んで再生することができる。それらには及ばないものの、僕もPropellerマイコン内蔵インタプリタを直接呼び出す言語「SPIN」で、様々に試行錯誤を突貫で行って、まぁなんとかできたという感じだった。

もともとの志は高かった。叩く部分、通称「パッド」にピエゾスピーカーを仕込んで、高速なA/Dコンバータならば、衝撃力に応じた電圧をばっちり計測できるところまで実験は済んでいたのだが、使ったチップがAnalog DevicesのADC124S021というもので、これはParallaxのActivity Boardという実験用基板で採用されているので、カリフォルニア本社まで出かけて諸々懸案を電子エンジニアと相談して解決したものだった。

ところが、このADC124S021はTSSOP10という、足の間隔が0.5mmの表面実装パーツで、DIP変換基板を使わないと自作基板の実験さえできないし、当時はDigikeyにしか在庫がなく、たしか1個400円ぐらいだったような気がする。10名参加で、このADCは4channelなので5つのパッドのためにひとりあたり2個、故障やはんだ失敗などを見込んで全部で30個を買った。DIP変換基板で0.5mmピッチの10pinで手頃なものはたまたま在庫がなく、Aitendoの18pin用をカットして使ったりした。それで、変換基板への手ハンダはうちの学生さんが職人技でやったんだけれど、そのあとピンヘッダを、教室実施の前夜にものすごくおおざっぱにつけたおかげでADCが浮いてしまい全部オシャカ(ICは生きているはずなんだが足を直す時間なし)という衝撃の事態があり、タクトスイッチに置き換えることになったりした。

アンプは、Activity BoardはRail-to-Railのオペアンプを使ってΣΔDACを組んで、たいへん良好な音を出していたんだけれど、カネが続かないので秋月のいちばん安価なオーディオ・アンプを選択したのが敗因で、すごくS/Nが悪く(あとから、秋葉原の店頭でアルバイトの男子学生さんっぽい従業員に尋ねたら、「僕も試してみたんですけどたしかにノイズ多いです」と答えてくれた)、回路が同じでも実装のしかたで音が全く違ってしまい、ブレッドボードで最適な増幅度とS/Nを見出しても、ユニバーサル基板に組むと、どれもまともな音が出なくて個別に調整というたいへんな思いをした。

そんな疲労困憊の記憶があるので、今年は両面基板を製作してリフローするんだと決めていたわけなんだけれど、PCBミルを自作してみたものの経験が足りなくて0.1mmの精度は出せず、そうしているうちにFusion PCB(安くて早いので有名な深圳のSeed Studio社のサービス)のリードタイムにも間に合わないことがわかり、最短翌日出荷に対応する、静岡県磐田市の「プリント基板センターPB」さんにお願いすることにした次第。前日到着は怖いので木曜到着を考えると水曜出荷で、金曜日に受け付けても月曜からの計算になるので3日コースということになった。この工場ですけれど、見積をオンラインでざっくりできるのでみていただきたいですが、特急であることを考えたらかなり安いほうだと思います。納品したガーバーデータも夜遅くまでひとつひとつチェックしてくださって、対応はとても良好な感じです。

まぁそういうわけで、3日寝ないで名古屋まで出かける非常勤講師の授業もこなしたりしつつ作ったのがこれ。ちなみにその前日までは、前エントリーのRaspbianのSDカード量産なんかをしていたので、週末から数えてやっぱり全く寝ていない。

Eagleの画面
SMD部品のサイズがいろいろなのは入手できたのがそれしかなかったから

今週末もArduino量産とかいろいろあるので徹夜が続く予定。

それはともかくEagleなんだけれど、回路はぶっちゃけActivity Boardの流用(オープンソースハードウェアです)に、去年の夏のノウハウが入ったものなので、回路図はライブラリを集めるのに苦労したけれどわりとさっくりできた(徹夜をはさんで2日でできた)。問題は図の右下をみていただくと気づかれるかどうか、スライドスイッチが裏面にあるわけです。

ケースも3Dプリントしたものを使うのだけれど、小学校3年生がネジ止めで工作できる範囲というと、ケースの上面にはスピーカーと電源スイッチ、電源ランプ相当のチップLEDの窓がある形にならざるを得ず、簡単で安価なのは基板をフタにネジ止めすることで、したがって電源スイッチとLEDが基板の裏面にあって、表面から電池ボックスのコネクタやスピーカーの端子にアクセスする形をとることになるというわけ。

ここでようやく本題。Eagleは部品を裏にまわすには、基板エディタでパーツを選んで「Mirror」ボタンを押せばいいのだけれど、それは表面実装部品の場合で、Padがあるスライドスイッチはそうはいかない感じでありました。シルクは反転して裏面に行っている感じなんだけれど。それでPadの上に同じ形のSMDパターンを置いたりなんだとやったら、当然ERCでも文句言われるし、オートルーティングでも無視されたりするわけです。

しかたがないので手で配線を引いてやるわけですが、そのあとのオートルーティングもベタパターンもどうも具合が悪い。

やむなくライブラリを手編集すべえと調べてみたら、ライブラリ(.lbrファイル)ってXMLのテキストファイルなのですね。で、DTDはdocの下にあるeagle.dtdなんだと。それで、DTDの<pad>タグの定義にLayerを追加したりとか変なことをしているうちに、「Info」ボタンから「Properties」を開いてやると、「mirror」というチェックボックスがあるじゃないですか。それチェックしたら、TOPレイヤーにPadが描かれて(緑色のPadの上に赤のクロスハッチが上書きされた状態になる)、これでオートルーティングかけると何事もなかったかのように未配線を残さず完了するわけで、ここまでたどりつくのに3時間かかってすごく残念な気分になりました。

これをチェックすればスルーホール部品でも裏面に移動できる

Eagleのネット上での説明というと、「EAGLEによるプリントパターン自動作成」が唯一まともな資料として他の説明もすべてそこにリンクされているわけですけれども、両面基板だとかSMDだとかのことは書いてないわけです。そもそも、最終工程がエッチングなのでして、基板発注をお安く個人がする時代のちょっと前の記事です。

そういうわけで、ガーバーデータを出力するのは、例えばCuBeatSystemsさん(個人)のページとかが簡潔にまとまっているのかな、というところ。ガーバーデータを確認するビューアは、3Dプリンタがらみでいろいろ入れているのでいつのまにかgerbvが入っていたのでMacでもことなきを得た感じ。

(追記:「ドリルデータとドリルリストがありません」とのご指摘をプリント基板センターPBご担当者様からいただき、急ぎ送信しました。諸々は「P板.com」さんの手順と同じなんだろうと思うので、Cam Processorのジョブでexcellong.camを実行する形で作成したんですが、ドリルデータってG-Codeなんですね。へえって思いました。2014-07-07)

あと、今回はプリント基板センターPBさんに、特別にメタルマスク(英語的にステンシルというと思っていたんだけれど、それでは通じないんですね)も製作してもらうことにしたので、メタルマスク出力用の設定追加は「Eagleでメタルマスク用ガーバーデータを出力する」のブログエントリをみて実施しました。

当初の構想では、カッティングマシンでコート紙でも切ればいいやと思っていたけれど、最小ピン間0.15mmなんでたぶん無理だろうと。試行錯誤している時間がないからプロに頼むと。

いずれにせよ、プリント基板製作にもメタルマスク作成にもCNCミル使っているはずなんで、自作するなら手堅くプロクソンのフライス盤をCNC化していく方向から経験を積んでいかねばならんだろうなと思っているところ。

そして、レジストとシルクなんだけれども、レジストは塗布後にマスクを印刷したフィルムを載せて紫外線に当ててから洗えばいいのかと。参考

シルクは、インクジェットプリンタでプリントゴッコ(昭和の記憶)的にやるのが簡単そうだなと。参考

あとはあまり考えたくないんだがリフロー前のマウンタも自作したりしたら実装の内職できるんじゃないかみたいななにか。

そういえば、クリームはんだ(はんだペースト)をまだ買ってないのだった。大昔にシリンジに入ったのを買ったのがどこかにあるはずだが、フラックス足せば古くても使えるとか読んだんだがそれで足りるのだろうか。アマゾンで65gの瓶が3000円で出ているが、価格を出している業者を見ると980円なんで、えらいぼったくりだなと思ったり。参考

それで、検索すると「クリームはんだ印刷機」というのがいつもトップにあるんだけれど、いまどきはマスクみたいな再利用がきかないものは作らないんですね。ついでに「クリームはんだロボット」という見出しが別に見えたので、もしかすると3Dプリンタのエクストルーダ改造で、シリンジ入りのソルダペーストをプリントできるんではないかと思った。