基板が届きました

やっと基板が届きました。10月11日発注で11月7日着なので、ほぼ4週間ですね。

ENVELOPE

前回は箱で届いたのですが、今回は封筒で届きました。よくよく見ると、差出人が「CHANGI AIRFREIGHT CENTRE」になっています。CHANGI=シンガポール・チャンギ国際空港です。たくさんの荷物(発送物)をシンガポールまでまとめて運んで、シンガポールから日本へ発送しているんでしょう。Tracking Numberが決まってからシンガポールを出るまでに10日かかっているので、梱包や送り状の貼付けは中国で行い、その後シンガポールまでは船便なのかもしれません。

<次回の参考にすべくTracking情報を追加しました>

日本郵便でのトラッキング:

Tracking

https://www.singpost.com/ でのトラッキング(トラッキングナンバーを入力して、表示されるステータスでトラッキングナンバーのところに張られたリンクを辿ると下記詳細が表示されます):

singapost

結局、「Information Recieved」というのは中国国内で受け付けした、という情報なのでしょうかね・・・。

PACK

こんな風にパッキングされて、プチプチ付きの封筒に入ってきました。

BOARD

右下の部分にCADにはない記号が入っています。以前は発注時に自分でオーダー番号をシルク面に入れないといけなかったのですが、今は勝手に空いているところに入れてくれるようです。(余計なものが勝手に入るのはけしからん、という考えもないでもないですが、オーダー番号が入るのは定尺サイズから安く基板を作るための方策でしょうし、自分で入れる手間を省いてくれるんだから歓迎ですね。)

出来はホビーユースとしては十分なレベルですが、気づいたところはこんなところです。

  • C1の枠のシルクが切れかかってます。
    裏側も寸法ギリギリの枠のシルクが入ってなかったりします。もう少しマージンが要るのかもしれません。
  • スルーホールにかかったシルクは欠損してます。
    基本的には設計で重ねないようにすべきだと思って作業していたのですが、いくつか重なっちゃってます。勝手にその部分は抜いているのか、抜けてしまうのかわかりませんが、問題ありません。
  • 取り付け穴用の穴は内面がスルーホールメッキされていませんでした。前回は内面がスルーホールメッキされていました。でも、CAD上は区別がないはずなんだけど、どうなってるのか謎です。
  • 写真の1枚は左上に傷が入ってますが、実使用上は全然問題ない範囲です。
  • ヘッダピン用の穴が小さいのではないか?
    既存のライブラリがそのまま使えそうなので、そのまま使ったのですが、確認漏れです。やっぱりいくら綺麗にCADで表示されても実物が来ないと気づかない点ってありますね。
  • いまさら思い出したけど、I2C接続の液晶を載せられるようにするのを忘れてた・・・

さて、次は部品実装です。

ESP32のβ版がもうすぐリリース!?

Twitterの情報(Espressifの中の人)によると、EspressifからもうすぐESP8266の次の製品が出るようです。

ざっと書いてあることは、こんな感じ。(意訳です。英語力ないので違ってても責任持てませんw)

我々は過去1年間ESP32と呼んでいる新しい製品の開発に全力を傾けてきた。皆さんのコメントを聞いて、細心の注意を払いながらそれらをリストアップし、最新のチップでは大部分を満足できるようベストを尽くした。皆さんの役に立てるよう、こんな機能をこのチップに搭載した。

  1. より速くなったWiFi。ビデオストリーミングができる144.4MBbps。また、新しいRFアーキテクチャを採用し、アプリケーションの回路がよりシンプルになるようにした。
  2. Bluetooth LE対応。レガシーも(もちろん)サポート。
  3. 160MHzで動作するデュアルコアのパワフルなTensilica L108プロセッサ。
  4. 低消費電力。Deep Sleep中でもADC変換などが可能。
  5. 周辺機能盛りだくさん。DMA付きのインタフェースで、タッチセンサ、ADC、DAC、I2C、UART、SPI、SDIO、I2S、RMII、PWM。申し訳ないがUSBはない。
  6. RAMたくさん。現時点で〜400kB。
  7. セキュリティ。AESとSSLのハードウェアアクセラレータ内蔵。
  8. 簡単になったAPI。

我々は開発者のサポートに全力を尽くすことを約束する。その1つとして我々が求めているのは、どのようにしたらツールチェーンを改善できるか、ということだ。我々はどんな意見でも歓迎する。
βテストはまもなく開始する。開発者向けのアプリケーションボードはこの先2週間以内に発送する予定だ。(ただ)限られた数しかチップがないので我慢して欲しい。合計200枚しか送れない。
最後に1つ、我々は情熱と才能のある開発者を探している。Espressifには興奮するような開発がたくさんある(ハードもソフトも)・・・製品に搭載するしないに関わらず。我々は常に応用分野を広げようとしており、我々に加わってくれる才能(ある人)をもっと必要としている。もし興味があるなら連絡して欲しい。我々は世界中から才能ある人が上海の私達に加わってくれることや、世界のどこからでも貢献してくれることを歓迎する。
我々の製品を気に入ってくれることを期待している。応援してくれる全ての人たちに感謝します。

・・・だそうです。

いや、すごいですね。盛りだくさんです。RMIIがあるので、PHYをつければEthernetも付くということですね。(無線LANコンバータやアクセスポイントを構成できるってことですね)
自分が気になるのは、

  1. 技適の取れたモジュールがいつ出てくるか?
  2. Arduino IDE対応はどうなるのだろうか?
    (やっぱりArduino IDEはお手軽ですからね〜)
  3. UbuntuやDebianでのクロスコンパイル環境構築が容易になるといいな。できれば Debパッケージで提供されたりapt-get/aptitude/synapticでインストールできたりすると嬉しいんだけどなぁ。
  4. ツールチェーンも重要ですが、サンプルプログラムもたくさん用意されるといいな。
  5. 電池でどこまで動くかなぁ?
  6. 高速なデータI/Fは何を使うんだろう?SDIOなのかなぁ?
  7. いくら位なんだろうか?

というところでしょうかねぇ。用途はたくさんありそうです。まさしく、「WiFi Everywhere!」「IP Everywhere!」という感じになりそうです。

日本に入ってきている?

Singapore Postでのトラッキングによると、

singpost

ということで、日本の郵便局まで届いているようです。この記述を信じるなら、最寄りの郵便局と読めないこともないのですが、単に日本に入ってきただけ、とも読めます。(どっちでしょう?)

一方、日本郵便のサイトでは「国際交換局から発送」のままです。まあ、まだ来ないところを見ると、通関中なんですかね?

やっと日本で検索できるようになった

Singapore Postで検索できるようになっても、なかなか実際の荷物の動きが見えないんですが、やっとシンガポールを出たようです。

Screenshot-17

シンガポールから日本に向けて(かな〜?)発送されたようです。
同じ情報は日本郵便のサイトでも確認できました。(Information Recievedの時には日本郵便のサイトでは確認できませんでした)

Screenshot-18

さて、いつ来るんでしょうか(^^;。

部品を買ってきました

FusionPCBからTrackingできるようになったよ、という通知がとっくに来ているのですが、なかなか荷物状況の確認ができるようにならず・・・。で、ようやくSingapore Postのトップ画面左側にある「Track Item」で「Information Received」になりました。でも、物理的な荷物の引受とは関係ないんだそうで(^^;。

まあ、焦ってもしょうがないですので、部品を買い集めました。

PARTS

基本的には秋月で手に入るものばかりで基板設計したので概ね揃いました。

FusionPCBのステータスが変わった

製造自体は速そうに思えたFusionPCB。なかなかステータスが変わりません。まあ、10月頭に国慶節で大型休暇があったりしたので、オーダーが溜まっちゃったりしているのか、あるいは、1.2mmなどというちょっと妙な基板厚さを指定したからバッチ処理に入るのに必要なオーダーが貯まらないのか理由はわかりませんが、なかなか発送の連絡が来ません。

・・・が、やっとオーダーステータスが変わりました。

Screenshot

しかし、PCB ProcessingとProcessing、何が違うのでしょうね。

・・・ググってみると、Processingになると翌日にはShippedになるという情報がありました。辛抱強く待ちましょう(笑)。

Ki-CADで基板設計(FusionPCBへ基板発注)

いよいよ、FusionPCBへ基板発注します。

1.FusionPCBへアクセス

http://www.seeedstudio.com/ にアクセスして、上の方にある「Fusion」のタブをクリックします。
Electronics Servicesの中から「Fusion PCB」をクリックします。

2.Gerberファイルのアップロード

画面上の方に「Select your Gerber File(only zip, rar accepted)」という枠があるので、そこをクリックします。
ファイル選択ダイアログが開くので、先に作成したガーバーファイル入りのZIPファイルを指定します。
しばらくすると「Successfully processed」という表示が出れば、アップロード成功です。

3.Gerberファイルのチェック

右下の方に「Gerber Viewer」というボタンができていますので、これをクリックすると、作成される基板のイメージを確認することができます。

4.基板製造仕様の設定

製造仕様を指示します。

  • Layer
    今回は2層なので2のままです。
  • PCB Dimension
    49ミリ角で設計したので、「5cm Max*5cm Max」のままです。
  • PCB Thickness
    標準は1.6ミリですが、今回は軽量化のため1.2ミリにします。
    (1ミリでも良かったのですが、ネジ止めすることもあり、1.2ミリにしました)
  • PCB Qty
    数量は10のままです。
  • PCB Color
    安く作りたいのでGreenのままです。
  • Surface Finish
    安く作りたいのでHaslのままです。
  • Copper Weight
    選択肢は1oz.しかありません。
  • Panelized PCBs
    今回はパネライズ(面付け)してないので1のままです。
  • Expedited Option
    安く作りたいのでNOのままです。
  • PCB Stencil
    部品は自分で手載せのみなので、クリームはんだ印刷用のStencilも作成しません。

5.カートに入れる

これで金額が$9.90であることを確認して「Add to Cart」を押します。すると、Seeed Studioへのログイン画面が出ますので、ログインします。ログインするとカートに入ったことが確認できます。

6.チェックアウトする

これで送り先、発送方法などを設定します。
製造自体は非常に速いようですが、安く送ろうとするとSingapore POST経由になるので時間がかかります。推定実働15−45日なので、3週間から9週間かかることになりますが、仕方がありません。EMSやFEDEX、DHL、UPSなどを使うと送料で$20〜$30くらいかかります。

7.支払い方法を選択する

Paypal一択でした。

8.最終確認

基板製造が$9.9、送料が$4.51で合計$14.51です。
・・・が、Paypalでの決済がうまくいかないので難儀しました。
成功すると、「Success – Thank you」という表示と、Order Confirmationの確認メールが飛んできます。すぐにPayPalからも支払いの連絡メールが飛んできました。$14.51で1798円でした。まあ、それでも激安なんですが、数年前だと1000円ちょっとだったので、ちょっと考えちゃいますね。

さらに、1時間後には「Order Update #オーダー番号」というタイトルでPCB製造のプロセスに入ったことを知らせるメールが飛んできました。オーダーの状況を確認する方法もメールの中に書かれています。出荷後、通常1〜2日で「Shipped」から「Traceable」に変わる、と書いてあります。

さて、どうなることでしょうかw。

 

Ki-CADで基板設計(ガーバーファイル生成)

設計が完了したら、基板屋さん(今回はFusionPCBに発注します)に出すデータを生成します。

ガーバーファイルの生成

Pcbnewで「寸法」→「パッド-マスク(レジスト)のクリアランス」を選択して、設定を行います。

  • レジストのクリアランス
    FusionPCBの設計ルールにはそれらしいものが見当たりません。なので、今回は0.1mmを指定しておくことにしました。
  • はんだマスクの最小幅
    今回は自分で部品を手載せするので関係ありませんが、FusionPCBの最小値は0.1mmなので、この値を設定しておきます。
  • はんだペーストのクリアランス
    これも今回は自分で部品を手載せするので関係ありませんが、FusionPCBの最小値は0.13mmなので、この値を設定しておきます。

「ファイル」→「プロット」で製造ファイル出力のウインドウが開きます。

  • 出力フォーマット
    「ガーバー」を選択します
  • 出力ディレクトリ
    出力先のディレクトリを設定します。
  • レイヤー
    今回は基板の製造のみをFusionPCBに発注するので、必要なものは
    「F.Cu」「B.Cu」「F.Siliks」「B.Silks」「F.Mask」「B.Mask」「Dwgs.User」「Edge.Cuts」の8つになります。この8つにチェックを入れておきます。
  • オプション
    「シルクスクリーンにパッドを出力」にチェックを入れておきます。
    「全ての他のレイヤーから基板外形レイヤーのデータを除外します」は今回はチェックを外しておきました。
    部品のリファレンスは今回手作業で全てシルクに入れたので、「モジュールの値をシルク上にプロット出力」「モジュールのリファレンスをシルク上に出力」「モジュールのその他のテキストをシルク上に出力」のチェックは外しておきます。
    また、今回は部品下にビアがあるので、「ビアにテンティングしない」のチェックは外しておきます。これでビア上にレジストがかかります。
  • ガーバーオプション
    「正規のファイル拡張子を使用」「補助座標系の原点を使用する」はチェックを入れて、「シルクをレジストで抜く」はチェックなしとしました。

これで「製造ファイル出力」をクリックしてガーバーファイルを生成します。

ドリルファイルの生成

次に「ドリルファイルの生成」をクリックして、ドリル(穴あけ)用のデータを生成します。

  • ドリルユニット
    FusionPCBの設計ルールをみると、キリのいいのはmmの方なので、「mm」を選択
  • ゼロフォーマット
    何も触らず「小数点フォーマット」のままとしました
  • ドリルマップファイルフォーマット
    FusionPCBの要求では拡張子TXTを要求しています。「ガーバー」を指定して生成しました。
  • オプション
    設定せず(チェックなし)としました。
  • ドリル原点
    製造ファイル出力で補助座標系を指定したので、ドリル原点も「補助座標系」としました。

ここで、穴の数でPTH(メッキあり)とNPTH(メッキ無し)が2つ出てきてしまいました。後者は取り付け穴用です。ファイルを生成すると、それぞれのドリルファイルができてしまいます。
ライブラリを修正して取り付け穴もメッキありとしました。

これで「Drill File」をクリックするとドリルファイル(拡張子DRL)が生成されます。発注用のファイルには含まれませんが、GerberViewでのチェック時に読み込ませるために「マップファイル」をクリックしてマップファイルを生成しておきます。

生成したファイルのチェック

次に、生成されたファイルをチェックするためにKiCadのGerberViewを起動します。「ファイル」→「ガーバーファイルを読み込む」で生成したガーバーファイルを、「ファイル」→「EXCELLONドリルファイルの読み込み」で生成したドリルファイルを読み込みます。右側にレイヤー一覧が表示されるので、各レイヤーを1つずつチェックします。CAD上でどう表示されていても、ガーバーファイルに基づいて製造されるので、しっかりチェックします。

なおGerberViewは下記のファイル名の変更後のファイル一式でも読み込むことができます。その場合、ドリルのマップファイルは含まれていないので、ファイル名変更前に確認しておくか、別途マップファイルを読み込むかが必要になります。

FusionPCB発注用ZIPファイル作成

FusionPCBへ送付するファイルのファイル名のルールは「基板名.拡張子」です。

Top Layer: pcbname.GTL
Top Solder Mask: pcbname.GTS
Top Silkscreen: pcbname.GTO

Bottom Layer: pcbname.GBL
Bottom Solder Mask: pcbname.GBS
Bottom silkscreen: pcbname.GBO
Board Outline:pcbname.GML/GKO
Drills: pcbname.TXT

ですので、生成したファイルのファイル名を修正します。

  • 基板名-F_Cu.gtl → 基板名.GTL
  • 基板名-F_Mask.gts → 基板名.GTS
  • 基板名-F_Silks.gto → 基板名.GTO
  • 基板名-B_Cu.gbl → 基板名.GBL
  • 基板名-B_Mask.gbs → 基板名.GBS
  • 基板名-B_Silks.gbo → 基板名.GBO
  • 基板名-Edge_Cuts.gbr → 基板名.GML
  • 基板名.drl → 基板名.TXT

ファイル名を変更したら、「基板名.zip」のファイル名で圧縮しておきます。

ファイル名変更後のGerberファイルをGerberViewで開くとこんな感じです。

Screenshot from 2015-10-11 12:33:11

表示するレイヤーを選択して、表面だけを表示したもの。

Screenshot from 2015-10-11 12:34:41

左上部分を拡大したところです。青が銅箔面、緑がシルク印刷、くすんだ黄色が(多分)レジスト逃げ(レジストもなく銅箔もない≒仕上がりでは基板の基材が見える部分)です。

Screenshot from 2015-10-11 12:35:03

Ki-CADで基板設計(シルク印刷)

パターンができあがったらシルク印刷の内容を作ります。

シルク印刷のレイヤーは「F.Silks」と「B.Silks」ですので、これを選んで作業します。作成する際には、(今回発注予定の)FusionPCBの設計ルールをよく見て線の太さ、文字の大きさが合致するようにしなくてはなりません。

  • 線の太さ
    「Minimum silkscreen width」は6milなので、線幅が6mil以上でなければなりません。
  • 文字の大きさ
    「Minimum silkscreen text size」は1mm(40mil)なので、最小文字サイズは1mm(40mil)ということになります。
  • パッドとシルクの最小間隔
    「Minimum distance between pads and silkscreen」は7milなので、パッドとシルクスクリーンの間は7milのスペースが必要です。

右側の「表示」の部分でレイヤー・レンダーで作業に必要な情報だけを選択して表示することにより、少しでも見やすくして作業を進めることができます。

Screenshot from 2015-10-10 22:04:58

レイヤーに「F.Silks」を選んで、右側の「T」の文字のアイコンを選択、文字を起きたい箇所で左クリックすると「テキストのプロパティ」が開きますので、サイズにXとYそれぞれに0.04インチ(40mil)、太さに0.006インチを指定して、テキストに描きたい文字列を入力して「OK」を押すと、テキストが表面シルクに追加されます。

一つシルクのテキストを作成したら、コピペしてから編集することですべての部品に必要なシルクを入力します。(注:部品のレファレンスや値はガーバー生成時に「Plot footprint references」や「Plot footprint values」にチェックを入れておくと出力できます。なので、これらはシルク層でレイアウト調整するのではなく、リファレンスや値の表示の位置やプロパティを調整するとよいでしょう)

Screenshot from 2015-10-10 23:13:00

Ki-CADで基板設計(ベタパターン追加)

配線が終わったら、電源インピーダンスを下げて動作を安定させるためにGNDなどをベタパターンにしておきます。

ベタパターンは右側のアイコンの「塗りつぶしゾーンの追加」を選定した状態で、ベタパターンにしたい領域を指定し始めると、「導体ゾーンのプロパティ」が開いて、パラメータを設定します。

  • ネット
    ベタパターンにしたいネットリスト名を選択します。通常はGND、他に電源等です。
  • クリアランス
    他の信号線等とのクリアランスを指定します。20mil=0.02くらいでいいかと思います。
  • パッド接続
    ハンダ付けしにくくならないよう、サーマルリリーフを選択しておきます。
  • コーナーのスムージング
    フィレットを指定します。半径は0.02にしてみました。
  • セグメント数
    複雑な形のベタGNDを指定する場合には、セグメント数を増やしたほうが良さそうです。

形状はまずはだいたいでOKです。コーナー付近で右クリックして明示的選択で「ゾーンの外枠(切り抜き)」を選択すれば「コーナー移動」等で形状を修正できます。

ベタパターンの指定が完了するとこんな感じです。(ベタ領域に打つ追加のビアのための追加配線も入った状態でキャプチャしています)

Screenshot from 2015-10-11 12:49:11

これでは表裏混在なのでわかりにくいので表示を表面のみにするとこんな感じになります。

Screenshot from 2015-10-11 12:49:58

キャプチャ画面の範囲では2種類のベタ指定がしてあります。中央の小さい領域は+3.3V、その外側がGNDベタです。更に外側にもハッチングが見えますが、これは配線禁止領域のハッチングです。+3.3Vの領域にある配線は追加でビアを打つためのものがほとんどです。実際にはベタ化しますので、「領域+ビア」のみが出来上がりの形になります。

エリア指定が終わったら、右クリックで「すべてのゾーンを塗りつぶす」でどんな感じにベタパターンになるか確認できます。その下の「全てのゾーンの塗りつぶしエリアの削除」でベタを削除でします。何度でもトライできるので、好みの状態になるまで調整していきます。そのままの状態では隙間が不足するなどしてベタにならない箇所があるかもしれません。その対策と、ベタGNDの表と裏を多めに接続しておくためにGNDからパターンを追加します。パターンに適当な間隔でビアを打つことで、反対面のベタ作成をさせることと、ベタパターンにまんべんなくビアが打たれるようにしてGNDを安定化させます。

Screenshot from 2015-10-11 12:57:38

表面だけ表示させるとこんな感じになります。

Screenshot from 2015-10-11 13:05:40

ビアの部分がグレーで表示されていますが、実際には銅箔あり+穴になります。