2017年12月28日木曜日

UselessMachine002の設計(3) FusionPCBへの発注

Kicadでガーバー出力してFusionPCBに発注する手順です。
ちなみにFusionPCBはスイッチサイエンスさんの基盤発注と同じです。

PCBエディタの画面で、プロットをクリックします。(もしくは、メニューのファイル→プロット)




下記項目にチェックを入れ、製造ファイル出力をクリックします。
F.Cu / B.Cu / B.Silks / F.Silks / B.Mask / F.Mask / Edge.Cuts /
フットプリントの定義をプロット / フットプリントのリファレンスをプロット / Protelの拡張子を使用




次にドリルファイル生成します。製造ファイル出力のとなりのドリルファイルの生成ボタンをクリックし、ドリルファイル生成画面を表示し、下記項目にチェックを入れドリルファイルをクリックします。

mm / 小数点フォーマット / ガーバー / 絶対位置



出力したドリルファイルの拡張子を、.drlから .txt に変更します。




出力した外形ファイル(cuts)の拡張子を、.gm1から .gml に変更します。






出力した8つの全てのファイルをまとめて .zip ファイルに圧縮します。
※各ファイルの拡張子は、.txt .gbl .gbs .gbo .gml .gtl .gts .gto



FusionPCBへ基板のガーバーデータをアップロードし製造条件を指定します。 
FusionPCBのサイトをブラウザで開き、ガーバーファイルを追加のボタンをクリックし、先ほどの .zip ファイルをアップロードします。 その後ガーバービューワーを開いて、ガーバーファイルが正しくアップロード出来たかを確認します。 ガーバービューワーでは各レイヤ別に確認が出来るので、それぞれが正しく出来ているか確認できます。






ガーバービューワーから元の画面に戻り、製造条件を入力します。たいていの項目はデフォルトで問題ありませんが、寸法については注意して基板の大きさを指定する必要があります。


製造条件などの指定が終わったら、画面右側にある緑色の カートに追加 ボタンをクリックします。 その後、配送先住所、配送業者、支払い方法(カードまたはpaypalなど)を指定して発注を行います。 ※paypal がおすすめです。


最後に THANK YOU!! の画面が表示されれば基板の発注は完了です。


20171228+3.0h

2017年12月22日金曜日

UselessMachine002の設計(2) FreeRouting

UselessMachineNo.2の概算の配置図をもとに、制御基板の大きさを35mm×35mmに決めました。 この大きさに収まるように基盤の各部品を配置します。 残念ながら シリアル通信用のコネクタが基盤から溢れてしまいました。


シリアル通信はオプションでしたので、今回は取り外しました。

配線する前に、デザインルールで、POWER, GNDなどの配線を太くしておきます。それとLED駆動用の配線も念のため太くしました。

配線は自動配線の FreeRoutingを利用しています。 GIT HUB からZIP形式でダウンロードして適当な場所に解凍し、binariesフォルダにある、FreeRouting.exeを実行する事で自動配線します。
KicadのPCBエディタ画面で Freerouter のアイコンをクリックし、ポップアップした表示の一番上、DSNファイルへエクスポートをクリックします。


下記のように、適当な場所に .dsn ファイルをエクスポートします。

その後、FreeRouting.exe を起動して、先ほどエクスポートした .dsn ファイルを読み込みます。


読み込んだ後、自動配線する条件などをメニューのParameterで設定できますが、ここではデフォルトのまま自動配線します。

Autorouter のボタンをクリックして自動配線を開始します。


自動配線の様子

自動配線した結果は、メニューのFile → Export Specctra Session File とクリックして、.ses ファイルにエクスポートします。

KicadのPCBエディタに戻って自動配線した結果をKicadに取込ます。Freerouter のアイコンをクリックし、ポップアップした表示の一番下、SESファイルのインポートをクリックしてファイルを読み込みます。


以上で、自動配線の結果が反映されました。
自動配線の結果について、気になる箇所を手動で配線を引き直します。 
配線に問題ないようでしたら、グランドベタパターンを設定します。

メニューの配置→塗つぶしゾーンを選んで、塗りつぶす箇所を画面上でクリックすると導体ゾーンのプロパティが開きますので、塗りつぶすレイヤ、ネットを選択します。 
サーマルパターンについてですが、デフォルトのままだと若干ハンダ付がやりづらいので、クリアランスを大き目に0.7mm、スポーク幅を細めに0.36mmとしています。

プロパティの設定が済んだら OK をクリックして、塗りつぶす箇所を四角で指定します。
また塗りつぶしたくない箇所がある場合は、事前にメニューの配置→キープアウトエリアを選んで塗りつぶさない部分を指定しておきます。


表面、裏面両方にGNDのベタパターンを指定して、下記のような仕上がりになりました。


基盤の大きさや、穴の位置、配置に関わる部品の位置(今回はスイッチ)について、 Eco1.User レイヤーに寸法線を記入します。 
メニューの配置→寸法線を選んで、寸法を記入する箇所を指定します。

以上でプリント基板の設計は終了です。 20171227+5.0h








2017年12月18日月曜日

UselessMachine002の設計(1)

ターゲットのPIC16F1705マイコンの基本的な機能が確認できましたので、これを使ったUselessMachineを設計していきます。




UselessMachinについては、以前マイコンを内蔵しないバージョンを作成していましたが、今回動作のバリエーションを増やす為にマイコンを使用し、サーボモータを制御して動かします。

まずスイッチの配置と基板の大きさを決めるため、Jw_cadで概算の位置を決めました。 スイッチとサーボのアームの先端が最短になるように、サーボの軸とスイッチの軸が同一線上になるように配置しています。 この検討の結果、制御基板の大きさは 35mm x 35mm としました。


2017年12月11日月曜日

PIC16F1705 サーボモータの設定

PIC16F1705を使用して、サーボモータの制御を試みています。


後閑哲也先生のPIC16F1モジュールの使用説明を参考にさせていただき、CLC機能の設定をする事で、PWM出力でサーボモータを制御する事ができます。

PWMのパルス幅は、2.4msなのに対して、サーボモータの制御信号の周期が20msと長いので工夫が必要です。 Timer1,2 及び SRラッチ,Dフリップフロップを組み合わせて 2.048ms-ON / 20.48ms-周期 のパルスを生成し、制御用のPWMとANDを取って出力をするといった設定となります。



実際この設定を行った所、どうもmTouchの処理(Timer6の割込み処理)が重いようでサーボ側へ出力信号が不安定でした。 そこでCPUのクロックを 8Mhzから32Mhzに上げてなんとか不安定を解消できました。
(※手持ちのUSBオシロの性能が低く、Timer1のオーバーフロー信号を捕まえる事ができずに手間取って時間がかかったのはまた別な話。)20171210+6.0h









KT0913 FMラジオの作成(8) 出来上がったPCB基板にミスあり。

  FusionPCB から基板がとどきました。20240121. 1月11日に発注したので10日で出来上がって届きました。 早速組み立てましたがが、イヤホンジャックのフットプリントが裏返っており、痛恨のミス。。。 しかしながら、他にも問題が無いか一通り組み立ててチェックしました...