2018年1月15日月曜日
2018年1月1日月曜日
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
シリアル通信はオプションでしたので、今回は取り外しました。
配線する前に、デザインルールで、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 としました。
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
後閑哲也先生の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
2017年11月30日木曜日
MPLAB X MCC のmTouchの設定など
PICクラブの次回の情報交換会で ”8bitマイコンの作品”との課題が出たので、かねてからの案件のサーボモータの制御とmTouchにトライする事にしました。
今回の課題は以下の通りです。
候補としたマイコンは以下の通り。それで使ったことのあるPIC16F1705にしました。 PIC16F18326を勢い余って秋月電子に発注してしまい、コレクションとしてお蔵入りです。
mTouchユーザズガイドにmTouchの動作原理など詳しくのっています。 mccによる設定の仕方な等は、下記ヘルプを参考に設定します。
http://microchipdeveloper.com/touch:mcc-start-page
小ピンpicの設定sampleが下記にありますので、こちらがとても参考になります。
http://microchipdeveloper.com/touch:lowpincount-curiosity
MPLAB.X MCC、Libre Office のCalcを使って盛り込む機能を検討しました。後々の為の設計資料としてCalcにまとめています。
週末にPIC16F1705を使用した実験用基板を組み立てました。 小ピン(14ピン)なので組立は簡単です。ここまで組み立てるのに4時間ほどかかっています。 さらに MPLAB.X MCC、 Libre Office のCalcを使った機能の検討・ドキュメントの作成で4時間ほどかかっていますので、トータル8時間ほどはかかっています。20171203+8.0h
今回はじめて、mTouchを使ったのですが、MicrochipのDeveloper Helpを参考に設定したらすんなりと簡単に動きました。20171205+1.0h
今回の課題は以下の通りです。
- サーボの制御にはCLC機能を使う。
- タッチセンシングにmTouch機能を使う。
- 14Pinの小ぶりのパッケージ。
- 秋月電子で入手できる事。
候補としたマイコンは以下の通り。それで使ったことのあるPIC16F1705にしました。 PIC16F18326を勢い余って秋月電子に発注してしまい、コレクションとしてお蔵入りです。
- PIC16F1705
- PIC16F18326
- PIC16F1503
mTouchユーザズガイドにmTouchの動作原理など詳しくのっています。 mccによる設定の仕方な等は、下記ヘルプを参考に設定します。
http://microchipdeveloper.com/touch:mcc-start-page
小ピンpicの設定sampleが下記にありますので、こちらがとても参考になります。
http://microchipdeveloper.com/touch:lowpincount-curiosity
MPLAB.X MCC、Libre Office のCalcを使って盛り込む機能を検討しました。後々の為の設計資料としてCalcにまとめています。
週末にPIC16F1705を使用した実験用基板を組み立てました。 小ピン(14ピン)なので組立は簡単です。ここまで組み立てるのに4時間ほどかかっています。 さらに MPLAB.X MCC、 Libre Office のCalcを使った機能の検討・ドキュメントの作成で4時間ほどかかっていますので、トータル8時間ほどはかかっています。20171203+8.0h
今回はじめて、mTouchを使ったのですが、MicrochipのDeveloper Helpを参考に設定したらすんなりと簡単に動きました。20171205+1.0h
登録:
投稿 (Atom)
UTC7642_AMラジオ Ver.2.0 (2Tr+1IC) スーパーヘテロダイン(1)
UTC7642を使用したヘテロダイン方式のAMラジオをブレッドボードで試しています。 アンテナとバリコンは、 電子ウサギさんの記事 を参考にスーパー用にしています。 Q2(2SC1815)は他励式の局部発信(OSC)で放送周波数+455kHzの信号を作成し、Q1(2SC1815...
-
20200102 HARMONY 3 のインストールの仕方で迷いましたので、備忘録として今回のインストールした手順を記載しておきます。 下記がHarmonyの使い方などが記載されているwikiページです。 https://github.com/Microchip-MPLA...
-
以前から課題だった、PICマイコンでUSBメモリを取り扱いたい思いが強くなって、以前 インターフェース2014年12月号 を引っ張り出して、 UsbStudy の記事を再読しています。 週末に秋月に部品発注して記事にのっていた実験用のボードを組み立てました。20190628+1...
-
ポケットFMラジオなどは、イヤホンの線をアンテナと共用するような仕組みになっています。 アンテナと音声出力を一つの線で共用する為、それぞれにハイパスフィルタとローパスフィルタを入れます。 LTSpiceシミュレートして試してみます。 手持ちの部品の関係で、以下のような回路にしま...
