Monthly Archives: April 2019

マイクロマウス研修 Part12(岩本)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
岩本ブログ一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

こんにちは岩本です。
今回は、サンプルプログラムSTEP6-1~6-2(run_wait・run_ST_PWM)の中身を確認していきたいと思います。
STEP6-1は、180㎜進むためのサンプルです。
MOT_CWCCW_R(L)は、回転方向を決めており、portdef.hでポートの設定がされています。そして、MOT_FORWARDはstatic_parameters.hで0となっています。
MOT_CWCCW_R(L)に、0を出力すると、前進する方向に回転するようになっています。逆に1を出力すると後退する方向に回転するようになります。
43行目でMOT_POWER_ONでモーターを励磁させています。44行目は、いきなり回すと脱調することがあるため、脱調防止の為の待ち時間です。
48行目から52行目で、ブザーとモーターにパルスを出力しています。

 

上図46行目のLEN2STEP(180)の中身ですが、下図のmacro.hで定義されており、180㎜進むためのステップ数を求めています。タイヤの直径(TIRE_DIAMETER)は、parameters.hで定義されています。
PI:COで使われいるタイヤは直径48㎜、モータは1ステップで0.9度ずつ回転するモータ(1回転に400ステップ必要)を使用しています。
そのため、1ステップ辺りの移動量は、 48×PI/400 となり、
180㎜進む時に必要なステップ数は、 180/(48×PI/400)= 400×180/(48×PI) となります。
while文のカウントは、1回で2進むので、2倍されています。なぜ2倍しているかは後々解説します。

 

 

STEP6-2は、PWMでモータを回します。
今回メインプログラム部分は、part9で説明したモード選択しているだけなので、飛ばします。
モード選択の内容は下図のようになり、モータを励磁させた後122行目から123行目で最高速度・加速度を指定しています。
124行目でstraightが直進走行用の関数で、括弧内の180が移動距離を表しています。

 

straight()はrun.cで定義されています。
24行目で、PWMを出力して前進を開始しています。
34行目では、残りの走行距離と減速に必要な距離を比較して、減速が必要な距離になったら処理が開始されます。
この式は、関数で書いていると分かりにくいかもしれませんが、x=(V²-V0²)/(2a)(x:移動距離、V:速度、V0:初速度、a:加速度)の式です。
なお、STEP2LENは、LEN2STEPとは逆にステップを距離に変換しています。
最後に38行目で目標ステップ数に到達したらPWMを停止しています。

 

加減速は、interrupt.cのint_cmt0で定義されています。
23行目でspeedに加速度を足していっています。
25~31行目は、最高・最低速度の制限
36・37行目で求めた速度をTGRCのバッファレジスタに代入し、速度を変えてます。

 

続きを読む ›

Posted in Pi:Co Classic3 製作記


shotaのマイクロマウス研修15[回路設計③ 物体検出センサ回路]

こんにちは、shotaです。

社員研修として、オリジナルマウスの製作しています。

[前回の記事]では電源回路について書きました。

今回は物体検出センサ回路(通称:壁センサ回路)について書きます。

 

物体検出センサ回路

物体検出センサ回路のブロック図はこのようになりました。

点線から左側が内部回路で、上半分が発光回路、下半分が受光回路です。

点線から右側が外部回路です。回路はありませんが、赤外線を反射する壁があります。

 

物体の検出にはフォトリフレクタ[LBR-127HLD]を使用します。

フォトリフレクタには赤外線発光ダイオードとフォトトランジスタが内蔵されており、ダイオードが発光した赤外線が壁で反射し、フォトトランジスタで受光されることで壁を検出できます。

壁がない場合は、赤外線が反射されず、フォトトランジスタが受光できません。

 

回路図はこのようになりました。

自分のマイクロマウスには、この検出回路が4つ搭載されます。それぞれ、前(左)・左・右・前(右)の壁を検出します。

 

それでは発光回路・受光回路について説明します。

発光回路

回路図は[HM-StarterKit]を流用していますが、より詳しい発光回路の動きについては[マイクロマウスのセンサについて②]を参考にしました。

 

参考記事に書いてあるとおり、環境光による壁の誤検知を防ぐため、発光ダイオードをパルスでON/OFFさせます。パルスの周波数は1kHzとします。

発光ダイオードを1kHzでON/OFFすると、それに伴い電源電流が変動します。この変動をなだらかにするためにローパスフィルタを搭載しています(回路図のR5とC11)。

素子の定数はHM-StarterKitの値をそのまま使用しています。電源ICがHM-SterterKitのものから変わっているので、実際に動かした時の波形を見て定数を変えようと思います。(もしかしたらフィルタ回路が不要かもしれません。)

 

ON/OFFするパルスは、ESP32から出力します。発光した赤外線が別の受光部に入らないように、4つのダイオードを別々のタイミングで発光させたいです。

そのためには、パルスの出力端子も4つ必要ですが、ESP32の端子数が足りないため出力端子を2つに減らしています(回路図のIRLED_R_FLと、IRLED_L_FR)。

本来は別々に点灯させる、RとFLを同時に点灯させます。同じようにLとFRも同時に点灯させます。

RとLのセンサは角度が傾いているので、センサRとFL、LとFRのペアで発光すれば、誤検知しません(おそらく)。

受光回路

こちらも、HM-StarterKitの回路図を流用します。

フォトリフレクタに内蔵されているフォトトランジスタは、ベース電流の入力が光の入力に置き換わったトランジスタです。

[赤外LEDとフォトトランジスタ –

続きを読む ›

Posted in DCマウス研修, ブログ, 研修


マイクロマウス研修(kora編)[22] STM32マイコンでLチカ

こんにちは。koraです。

前回、CubeMXでSTM32の初期化コードを作成しました。今回はそれを使ってLEDを点滅させます。

Lチカプログラムの作成
コードのインポート

CubeMXで生成したコードをSW4STM32にインポートします。

SW4STM32を起動して、FileメニューからImportをクリックします。

Existing Projects into Workspaceを選択してNextをクリックします。

Import Projectsウィンドウが開くので、Select root directoryのBrowseボタンをクリックして、CubeMXで生成したコードが入っているフォルダ(前回作成したblink_led)を選択します。

Import ProjectsウィンドウでFinishボタンをクリックすれば、インポートされます。
画面左側のProject Explorerにblink_ledプロジェクトが追加されているので、横の「>」をクリックして中身を開きます。Srcフォルダの下にmain.cファイルがあるので、ダブルクリックして画面中央のエディタに表示します。

Lチカコード追加

CubeMXで生成されたmain.cファイルには、次のようなループが書かれています。

/* USER CODE BEGIN ○○○ */ と /* USER CODE END ○○○ */ に挟まれている部分は、CubeMXで再度コードを生成したときに上書きされません。

なので、次のように書き加えます。

頭に「HAL_」とつく関数はSTM32の機能を使いやすいようにあらかじめ用意されたものです。(マニュアルはこちら
HAL_GPIO_TogglePin()はGPIO出力に設定されているピンのHigh/Lowを切り替えることができる関数です。LEDとつながっているGPIOのポート(GPIOC)とピン番号(GPIO_PIN_15)を指定します。
HAL_Delay()は指定した数字の分だけミリ秒単位で待機する関数です。上の例では100ms待機します。

ビルド

ProjectメニューからBuild Allをクリック、あるいはCtrl + Bでビルドします。問題なければ画面下部のコンソールにBuild Finishedと表示され、実行ファイルであるelfファイルが生成されます。

Lチカプログラムの実行

STM32マイコンへの書き込みには、CubeProgrammerを使用します。

CubeProgrammerのインストール

CubeProgrammerはSTM32にプログラムを書き込んだり、デバッグができるソフトウェアです。こちらのページからダウンロードします。
※最新版でないと新型のマイコンに書き込めないことがあります。今回はバージョン2.0.0をインストールしました。

接続&書き込み

USBシリアル変換モジュールとマウス基板を接続します。STM32F7は電源を入れる時orリセット時にマイコンのBOOTピンをHIGHにしていれば、書き込み可能になります。この基板では書き込みボタンを押しながら電源を入れます。

CubeProgrammerを起動して、接続方法としてUARTを選択し、「CONNECT」ボタンを押します。

接続に成功したら、画面左端の「↓」ボタンを押して「Erase&Programming」画面に切り替えます。次に「Browse」ボタンで先ほど生成した実行ファイルを選択して「Start Programming」ボタンで書き込みを開始します。

「Run after programming」がチェックされていると、書き込み完了と同時にLチカプログラムが実行され、LEDが点滅を始めます。

次回

次回は、シリアル通信でマイコンからPCに文章を表示してみたいと思います。

続きを読む ›

Posted in DCマウス研修


マイクロマウス研修 Part11(岩本)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
岩本ブログ一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

こんにちは岩本です。
今回はサンプルプログラムSTEP5の中身を確認していきたいと思います。
まずは、メインプログラムの全体像からです。

 

__cplusplusですが、ファイルの中を全部探しても、定義がどこでされているのか見つかりません。
これは、もともとコンパイラに定義されているマクロであり、C++のコンパイラから読まれたときは有効になり、Cコンパイラから読まれたときはスルーされます。
もう一つextem ”C”もどこにも定義されていません。これは、extem ”C”{} 内に書かれた内容をCでコンパイルするための設定です。
なぜ、こんなにめんどくさい処理をするのかと言うと、C++では、同じ名称でも型などを変えると、違う関数を作ることが出来るため、関数をコンパイルすると内部では関数が修飾されて、名前が変わってしまうためです。(このことをマングルという。)
最後にabortですが、これは、プログラムに何らかの異常が発生した場合、プログラムを終了終了させるための関数です。
この関数は、Cでコンパイルする必要があるため、extem ”C”{}を使っています。

 

今回のメインプログラムは、init_all()とview_adc()です。
なんか見た目、すごく少なく見えますが、関数の中で結構いっぱい処理があります。

 

init_all()の中身はinit.hに記載されていますが、新たにinit_adcが追加されています。

 

init_adcは、init.cの中で定義されています。
183・185行目でいつものようにプロテクト解除・保護をやってます。
184行目は電力の供給を行っています。(参考
187行目はAD変換の書き方を右詰にしています。なお、ルネサスのマイコンは、初期設定は右詰になっていますので書く必要はないのですが、分かりやすくするため記載されています。(参考
ちなみに何故、右詰の必要があるのかと言うと、右側に予約ビットがあると、値を読みに行くときに、値をシフトさせなくてはならなくて、少し分かりにくいため右詰めにしています。
188行目はPCLK(周辺クロック)の分周しない設定にしています。(参考

 

メインプログラムにあったview_adcは、adjust.cファイルで定義されています。
センサーの値を読み取って電圧表示しています。
USB_PRINTFは、USB通信でprintfするための関数です。
18~21行目は、センサーの値を表示させています。
22行目は、ADDR8に入っている値を㎷の値になるように計算して、表示させています。

 

続きを読む ›

Posted in Pi:Co Classic3 製作記


マイクロマウス研修(kora編)[21] STM32マイコンの初期設定

こんにちは。koraです。

今回は、新型マイクロマウスに使うマイコンの初期設定を行います。

SW4STM32のインストール

HM-StarterKitではRenesasマイコンの開発環境としてCS+を使っていました。新型マイクロマウスに搭載しているSTM32マイコンの開発環境としては、SW4STM32(System Workbench for STM32)を使用します。

SW4STM32のインストーラをダウンロードするには、OpenSTM32 Communityにログインして、左端にあるMenu欄の「System Workbench for STM32」からダウンロードページを表示します。Windows版はWindows7のみ対応のように書いてありますが、一応Windows10でも動くらしいです。

ダウンロードしたインストーラを起動してインストールします。インストール完了後、SW4STM32を起動すると、workspaceを選択するように求められます。ここで選択したフォルダの下に、ソフトウェア関連のファイルを保存していくことになります。

STM32CubeMXのインストール

STM32CubeMXはSTM32マイコンの初期設定を視覚的に行うことができるソフトです。UARTやSPIやADCといった機能の初期設定用のコードも生成してくれます。こちらのページからダウンロードできます。ダウンロードが終わったらインストーラの指示に従ってインストールすればOKです。

プロジェクトの作成

CubeMXを起動したら、File → New Projectをクリックし、「New Project」画面を開きます。
検索欄に今回使用するマイコン名「STM32F732RE」を入力し、選択欄で「STM32F732RE」をクリックして、右上の「Start Project」ボタンをクリックします。

プロジェクトを作ったら、File → Save Project Asで、SW4STM32のworkspaceにプロジェクト名(今回はblink_led)を付けて保存します。

ピンの設定

プロジェクトが作成されると、まず「Pinout&Configuration」タブが表示されますので、回路図に合わせてピンひとつひとつにGPIOの出力やSPIのクロックといった機能を設定します。

クロックの設定

「Clock Configuration」タブを開いて、クロックの設定を行います。
できるだけ処理速度を高めたいので、CPUクロック(HCLK)を最大値の216MHzにします。この値が大きいほどマイコンの消費電力も大きくなるらしいですが、それは今後の動作を見て調整しようと思います。

コードの出力

「Project Manager」タブを開いて、「Toolchain/IDE」をSW4STM32にします。また、「Generate Under Root」にチェックを入れます。

次に、「Code Generator」ページで「Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral」にチェックを入れます。これにチェックを入れない場合、初期化コードがmain.cにまとめて書かれてしまい、ファイルが長くなって読みにくくなるためです。

設定が終わったら、画面右上の「GENERATE CODE」ボタンを押します。これで、STM32の初期設定が書かれたC言語のコードが出力されました。

次回

今回出力したコードから、LEDを点滅させるプログラムを作りたいと思います。

続きを読む ›

Posted in DCマウス研修


マイクロマウス研修 Part10(岩本)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
岩本ブログ一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

こんにちは岩本です。
今回は、Part9の解説に一部追記+後々のモータのPWMについて解説しときます。

 

まず、MTUの設定は、init.cで定義されています。

 

126~128行目は、プロテクト解除⇒MTUモジュールをON⇒プロテクト保護を行っています。
MTUの機能は、CMTと同様に省エネの為、初期状態では、電源供給されないようになっています。
また、130行目、タイマストップしているのは、TCRレジスタの設定を行う際、止める必要があるためです。

 

スピーカー用MTUの設定は下図のようになります。
133行目は、PWMのカウントをクリアするタイミングの設定です。
134行目は、カウントする周期の設定。
135行目は、PWMのモードに設定。(このマイコンはモードが複数あるためです。)
136~137行目は、コンペアマッチしたときの動作の設定。
138~139行目は、周波数の設定をしています。

 

この設定で生成される波形は、下図のようになります。

 

モーター用MTU設定は以下のようになります。取り敢えず、左右一緒なので右モータについてだけ説明します。
殆どスピーカの設定と同じですが、148行目にTGRCが追加されています。TGRCは、TGRAの値を途中で変更するためのバッファー用です。(ただし、値を変更するタイミングは、TGRAコンペアマッチ後となります。)
バッファーモードの設定は、150行目で行われています。
TGRAの値を直接変えることもできるのですが、不都合が生じる可能性があるためバッファーモードを使用します。
例えば、TGRAの値を12000から1000に変えた時、カウントが1000を通り過ぎていた場合、いつまでたってもコンペアマッチしない、と言う状況にならないようにバッファーモードを使用します。
なお、TGRCの値はPI:COのスピードを変えるために使用されます。
152~154行目は複数の割り込みが発生した場合、どのプログラムを優先的に処理するかの設定です。優先度は15が最大です。

 

この設定で生成される波形は、下図のようになります。
PWMのhighの時間がTGRCで変更できます。これによって速度を変更することが出来ます。

今回は以上です。

続きを読む ›

Posted in Pi:Co Classic3 製作記


shotaのマイクロマウス研修14[回路設計② 電源回路]

こんにちは、shotaです。

社員研修として、オリジナルマウスの製作しています。

[前回の記事]では回路ブロック図について書きました。

今回は電源回路について書きます。

 

マウスの回路ブロック図(振り返り)

マウスの回路ブロック図は以下のとおりでした。

今回は、この左上部分の電源回路について書きます。

 

電源回路の回路ブロック図

電源回路のブロック図はこのようになりました。

点線から左側が外部回路で、LiPoバッテリが接続されます。

点線から右側が内部回路で、コネクタから始まり、スイッチやLDO、その先にはESP32マイコンやモータドライバが接続されます。

 

それでは、各ブロックの役割を左から順に説明します。

LiPoバッテリ

LiPoバッテリは、電源回路(広く言えばマウス回路)の電源供給源です。バッテリがなければ回路は動きません。

どのLiPoバッテリを使用するかは、動かしたい回路の電源電圧や消費電流などから選定します。

今回は[HM-StarterKit(通称ハムスター)]で使用しているバッテリ 3.7V 150mAhを使用する予定ですが、容量を何mAhにするかは実際に動かしてみて決めたいと思います。

ESP32はWiFiやBluetoothが使用できるので、150mAhでは容量が足りないことを懸念しています。

 

別のLiPoバッテリ使用する場合は、[Amazonで”lipo 3.7V”と検索]したり、模型屋さんでドローン用のバッテリを調べたりして入手しようと思います。

 

電源コネクタ

電源コネクタは、使用するバッテリのコネクタ形状に合うものを選びます。

今回はハムスターで使用しているものと同じ、JSTのZHコネクタを使います。

[ZHコネクタ データシート]

ケーブルが車体外に飛び出ないようにトップ型を選びます。

また、ケーブルを繰り返し抜き差しすることを想定して、スルーホールタイプ(表面実装タイプではない)を選びます。

(私はケーブルを外すときに、表面実装のコネクタを剥がした経験があります)

 

続きを読む ›

Posted in DCマウス研修, ブログ, 研修


マイクロマウス研修(kora編)[21] リフロー

こんにちは。koraです。

今回は、前回届いたプリント基板にはんだ付けをします。

マイクロマウスは基板が小さいのでほとんどの部品が表面実装部品です。これをリフロー(基板にクリームはんだを塗って部品を載せた後、全体を熱してはんだ付けする方法)で実装します。

リフロー実践

それではさっそくやってみましょう。まず次のものを用意します。

  • プリント基板
  • 実装する電子部品
  • ステンシル
  • クリームはんだ
  • ヘラ
  • 鉄の台
  • ネオジム磁石
  • 無水エタノール
  • キムワイプ
  • ステンシルとは、はんだを載せるところに穴が開いた型板です。Elecrowでプリント基板と一緒に発注しました。

    ステンシルを無水エタノールとキムワイプで綺麗に拭きます。これを基板と一緒にネオジム磁石で台に固定します。
    そしてクリームはんだを塗布します。小さなヘラで上からできるだけ一様に塗っていきます。

    塗り終わったらピンセットで一つ一つ電子部品を載せます。足の多い部品ほど難易度が高いので先にやると比較的楽と聞いたので、ここではマイコンから先に置いています。

    リフロー炉として一般的なホットプレートを使います。(※はんだは健康に良いものではないので、リフローに使ったホットプレートは食用には使わないようにしましょう。)
    ほとんど初めてのリフローなので、1、2個失敗するだろうと見越して3個作ります。

    はんだ付けができたものがこちらです。よく見るとマイコンがずれていたり、はんだブリッジしていたり、セラコンがチップ立ちしていたりと残念な出来です。

    この後、はんだごてを当てて修正し、なんとか使いものになる基板が1個だけできました。(あらかじめ3つ作っておいて良かった…。)

    次回

    できた基板にプログラムを書き込んで、LEDを点滅させてみたいと思います。

    続きを読む ›

    Posted in DCマウス研修


    マイクロマウス研修 Part9(岩本)

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
    岩本ブログ一覧
    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

    こんにちは岩本です。
    今回はサンプルプログラムSTEP4の中身を確認していきたいと思います。
    まずは、取り敢えずメインプログラムの全体像を確認します。

     

    37~43行目の_LED関数の定義は下図の様になっています。
    led_dataの値によってLEDの点灯条件を制御しています。
    LED0は、led_dataと1を&で比較していますので、led_dataの値が2進数で1桁目が1になった時、点灯します。
    LED1は、led_dataを1つ右ビットシフトした後、1と比較していますので、led_dataの値が2進数で2桁目が1になった時、点灯します。
    LED2は、led_dataを2つ右ビットシフトした後、1と比較していますので、led_dataの値が2進数で3桁目が1になった時、点灯します。
    LED3は、led_dataを3つ右ビットシフトした後、1と比較していますので、led_dataの値が2進数で4桁目が1になった時、点灯します。

     

    なお、”>>”はビット演算子の一つで、”右ビットシフト”と呼ばれます。
    右辺の値分だけ右にビットをずらします。また、右側の枠からはみ出た値は消えます。(オーバーフロー)

     

    led_dataの中に入る値は、64行目で_LED(mode)と呼び出されています。そして、modeの値は53行目で初期値を1と決めています。
    そのため、led_dataの値は最初1となり、”LED0=1&1”となりますので、電源を入れたらLED0のみ値が1となり点灯します。
    次に55行目からの無限ループの中身ですが、まず57行目では、関数wait_msを使って待ち時間を作っています。
    CHATTERING_WAITの中身は、static_parameters.hファイルで10と定義されていますのでwait_ms(30)が引数となります。
    58行目、DISABLE_BUZZERの中身は、macro.hでブザーを止めに行っているだけです。
    60行目は、Part8でも紹介したので、そちらを見てください。

     

    wait_msはmisc.cファイルで定義されています。
    先ほど定義された引数wait_ms(30)を例にとるとwtimeは30となります。start_timeはtimerの値を代入しており、timerの中身はextemで別のフォルダで宣言されています。
    このプログラムを読まれた瞬間からtimerが30カウントしたら値がfalseとなりますので、whileから抜け出せることが出来ます。

     

    timerの定義は下記ですが、int_cmt0が読み込まれるタイミングはcmt(コンペアマッチタイマ)で制御されています。
    cmtは、設定したカウント数に達した時、何らかのアクションを割り込ませる為の機能です。
    割り込みされたプログラムは、メインプログラムを中断して優先的に処理されます。

     

    続きを読む ›

    Posted in Pi:Co Classic3 製作記


    マイクロマウス研修(kora編)[20] 新機体の基板発注

    こんにちは。koraです。

    前回設計したマウスの基板を、プリント基板メーカーに発注します。
    今回は、価格がお手頃とよく聞くElecrowのPCB Serviceに発注します。

    デザインルールの設定

    Elecrowで製造できる基板の仕様は、ここに載っています。

  • PCB fabrication specification
  • ビアの穴径の最小値は0.3mm(12mil)
    ランド径の最小値は0.6mm(12+6+6mil)
    配線の最小幅は0.15mm(6mil)
    配線同士のクリアランスの最小幅は0.15mm(6mil)

    KiCadのデザインルールはPcbnew → Setup → Design Rules → Design Rules Editorにあります。Global Design Rulesタブで全体の設定、Net Classes Editorでネットクラスごとの設定を行います。
    実は前回の設計の段階で設定していたのですが、もう一度確認します。

    どれも満たしているようなので、次のステップに進みます。

    ガーバーファイルの生成

    ガーバーファイルを生成します。ガーバーファイルはプリント基板の製造に使用されるデータです。
    Kicadでは、Pcbnew → File → Plotから出力することができます。

    2層基板で必要なデータは

  • F.Cu 表面の銅箔パターン
  • B.Cu 裏面の銅箔パターン
  • F.SilkS 表面のシルク
  • B.SilkS 裏面のシルク
  • F.Mask 表面のレジスト
  • B.Mask 表面のレジスト
  • Edge.Cuts 基板の縁
  • ですが、今回は4層基板で設計しているのであと2層分も必要です。

  • In1.Cu 内部の銅箔パターンその1
  • In2.Cu 内部の銅箔パターンその2
  • 必要な設定をした後、Plotボタンをクリックすれば、各レイヤーのガーバーファイルが出力されます。

    ドリル穴のデータは別に生成します。Plot画面下部のGenerate Drill Filesボタンを押して、次の設定画面に入力します。そしてGenerate Drill Fileボタンをクリックすれば出力されます。

    発注

    Elecrowの発注ページはこちらです。
    受け付けているファイル名は、発注ページの下部に書いてありますので、それに従って、ファイル拡張子を変更します。

  • 表面の銅箔パターン プロジェクト名-F.Cu.gtl → .GTL
  • 裏面の銅箔パターン プロジェクト名-B.Cu.gbl → .GBL
  • 表面のシルク プロジェクト名-F.SilkS.gto → .GTO
  • 裏面のシルク プロジェクト名-B.SilkS.gbo → .GBO
  • 表面のレジスト プロジェクト名-F.Mask.gts → .GTS
  • 表面のレジスト プロジェクト名-B.Mask.gbs → .GBS
  • 基板の縁 プロジェクト名-Edge.Cuts.gm1 → .GML
  • 内部の銅箔パターンその1 プロジェクト名-In1.Cu.g2 → .G1
  • 内部の銅箔パターンその2 プロジェクト名-In2.Cu.g3 → .G2
  • ドリルファイル プロジェクト名.drl → .TXT
  • これらのファイルをひとつのzipファイルにまとめてアップロードして、必要な設定を入力した後、支払いを済ませれば発注は完了です。
    データや設定に問題がなければ、製造が開始されます。

    続きを読む ›

    Posted in DCマウス研修