Eagle と Sevenmini を使って電子基板を作る その2


20150129_test_main

概要
Eagle は電子基板を作成する CAD ソフトです。
Sevenmini は、MITS社の基板加工専用のミリングマシンです。
前回の題材は 3x3LEDマトリックス・シールド でした。
今回は Arduino 互換ボードです。

Eagleデータは GitHub で公開しています。

Eagle 側の作業
(1) 回路図 (sch) とボード図 (brd) を作成するところは、ほぼ同じです。
ボード図では、配線を太くしたり、PADを大きくしたりします。
20150129_eagle_sch 20150129_eagle_brd

(2) ガーバーデータを出力します。
このとき、Mirror にして、ハンダ面が表になるようにします。
MACのときは、改行コードを LF から CRLF に変換します。
20150129_gerber

FLASH 側の作業
1. CONVERTER アプリ
(1) 単位をインチに切り替えます。
(2) ドリル情報 (drl) を読み込みます。
(3) 変換条件を設定します。
フォト変換条件の単位系を 0.0001 インチにします。
穴変換条の単位系を 0.0001 インチにします。
20150129_flash_photo 20150129_flash_drill

(4) ガーバーデータを読み込みます。
ハンダ面データ (sol) を「フォト表」として読み込みます。
「特殊なアパーチャ形式です」という警告が出ますが、気にせず進みます。
ドリルデータ (drd) を「穴」として読み込みます。
外形データ (out) を「外形表」として読み込みます。
20150129_flash_wranig

(5) 読み込んだガーバーデータが 0.1 インチ刻みのグリッドに合っていれば、OK です。
20150129_flash_converter

2. EASY CAD アプリ
(1) 輪郭線抽出を行います。
繰り返し回数を「2」にします。
20150129_flash_easycad

Sevenmini 側の作業
1. 配線の加工
(1) 基板を両面テープで固定します。
(2) 原点を移動します。
(3) ミリング用のエンドミルを取り付けます。
(4) CAM-Circuit2 アプリから加工を指示します。

2. 穴の加工
(5) 指示に従い、ドリル用のエンドミルを取り付けます。
CAM-Circuit2 アプリから加工を指示します。
ドリルの太さに応じて、何度かエンドミルを交換するように指示が出ますが、今回は 0.8mm ドリルで全て済ませました。

3. 外形の加工
(6) 次に、フォーミングの指示が出ますが、今回は外形は切らずにここで終了します。
20150129_sevenmini

穴の拡張
ピンヘッダなど 0.8mm では小さいところに、
ミニドリルで1.0mmの穴に広げます。

基板の研磨
銅箔面を研磨剤で磨いて、ハンダが乗りやすいように、表面を滑らかにします。
20150129_pcb_polish

ハンダ付け
(1) 表面の配線を行います。
(2) 部品をつけて、裏面をハンダ付けします。
20150129_pcb_rear 20150129_pcb_front

動作確認
1. Arduino ボード
(1) ブートローダーが書き込んである CPU を差します。
(2) USBシリアルアダプタを差します。
(3) Arduino IDE から Blink スケッチを書き込みます。
(4) 書き込み完了が出れば、ボードは正しく動作しています。
(5) 続いて、LED が点滅すれば、OKです。

2. シールド
(1) 前回作った LEDシールド を差します。
(2) USBシリアルアダプタを差します。
(3) スケッチを書き込みます。
(4) 全ての LED が点滅すれば、OKです。
20150129_test_board 20150129_test_shield

課題
ミリングマシンには特にないです。
基板の実装に関して、いくつかありました。
(1) 3端子レギュレータ
19mm と高さがあったので、横にしました。
今回は基板の外側になりましたが、内側にあるほうがいいです。
(2) 電源入力端子
ピンヘッダを使ったところ、シールド基板にあたります。
ピンを横に曲げて対応しました。
DCジャックを使ったほうがいいです。
(3) リセットボタン
この位置だと、ICソケットからCPUを抜きにくいです。
(4) 電池
使用したことのある乾電池だと、電圧が低かったです。
1.5V×4本でなく、5本か、9V電池がよさそう。


リフロー機 Puhui T-962


20150128_reflow_t962

リフロー機とは、クリームハンダを溶かすために、250度くらいの温度になるオーブンのことです。
今回試した機種は Puhui (普恵科技) の T-962 です。
同社から ユーザマニュアル が公開されています。

使い方は、シンプルです。
「F3」ボタンを押して、温度曲線を選択します。
「F1」ボタンを押すと、選択された温度曲線に従い自動的に温度が上昇し下降します。
15分ほどしたら温度が下がるので、「S」ボタンを押してストップします。

今回の題材として 秋月電子で販売している Arduino互換基板FT232 チップを載せてみました。
部品のうちこれだけが表面実装品です。

クリームハンダは アマゾン で購入しました。
香港 Mechanic 社の Sn63/Pb37 です。

クリームハンダを塗るためのマスクは、普通紙をレーザーカッタで切りました。
しかし、PADの間にもハンダが乗ってしまいました。
紙が薄く柔らかかったようです。
爪楊枝で余分なハンダを拭いとりました。
20150128_reflow_mask

あとは、リフロー機に入れて、15分ほど待ちます。
仕上がりは、多少のむらはありますが、ハンダがちゃん乗っているようです。
20150128_reflow_pcb

なお、T-962 の評判はあまりよくないみたいです。
改造している例がいろいろ見つかります。

参考
Infrared IC Heater T-962
ペーストはんだ・クリームはんだ Sn63/Pb37 – アマゾン
リフローオーブン(T-962)を改造する


Arduino のブートローダーを書き込む その2


20150118avr_isp_shield

その1 では、Arduino を2台使って、ブートローダーを書き込きました。
今回は、SparkFun 社の AVR ISP Shield を使ってみます。
このシールドの利点は、ZIF (Zero Insertion Force) ソケット を使っているので、CPU の交換が楽です。
基本的な手順は、その1と同じです。

(1) Arduino に AVR ISP Shield を載せます。
(2) ZIFソケットに CPU を差します。
(3) スケッチ「ArduinoISP」 を書き込みます。
(4) ツール > マイコンボード を、ターゲット側の Arduino に合わせます。
(4) ツール > 書き込み装置 を Arduino as ISP にします。
(5) ツール > ブートローダーを書き込む を実行します。

参考
SparkFun AVR ISP Shield
Freeduinoキットを組み立てる
Arduino Uno用ブートローダライタシールドの製作


Arduino のブートローダーを書き込む その1


Arduino の CPU は Atmel 社の AVR シリーズです。
一般的には、AVR にプログラムを書き込むには AVRマイコンライター を使います。
Arduino のブートローダーに関しては、Arduino 自身をライターにすることが出来ます。
プログラムを書き込むターゲット側も Arduino を使うことが出来ます。
つまり、Arduino を2台使って、ブートローダーを書き込むことが出来ます。
この方法は、Arduino の公式サイトに Using an Arduino as an AVR ISP として掲載されていますが、情報が古いようで少し違いがありました。

(1) ライター側の Arduino に Example にあるスケッチ「ArduinoISP」 を書き込みます。
公式サイトでは、Arduino 1.0 では delay の値を 20 に変更するとありますが、1.05 では変更されています。
20150117isp_ide_skech

(2) ターゲット側の Arduino の ICソケットから CPU を抜きます。
何も書かれていない素の CPU を差し込みます。
注意:ICソケットは結構固いです。
IC引抜治具 やマイナスドライバーを使って、ゆっくり抜いてください。

(3) ライター側の Arduino と、ターゲット側の Arduino を接続します。
ターゲット側のRESETとGNDの間に10μFのコンデンサを追加します。
10 – RESET
11 – 11 (MOSI)
12 – 12 (MISO)
13 – 13 (SCK)
5V – 5V
GND – GND
20150117arduinoisp

(4) ツール > マイコンボード を、ターゲット側の Arduino に合わせます。
通常は、ライター側なので、早合点しないように。
20150117isp_ide_board

(5) ツール > 書き込み装置 を Arduino as ISP にします。
20150117isp_ide_writer

(6) ツール > ブートローダーを書き込む を実行します。
無事、書き込みが完了というメッセージが出れば、OK です。
20150117isp_ide_burn

参考
Using an Arduino as an AVR ISP


Eagle と Sevenmini を使って電子基板を作る その1


20150103_sevenmini

概要
Eagle は電子基板を作成する CAD ソフトです。
Sevenmini は MITS社 の基板加工専用のミリングマシンです。
Roland 社の Modela との違いは、ガーバーデータの読み込みができる、ミリング・ドリル・フォーミングの専用のエンドミルがある、基板押えがある機構なので水平面が取りやすいなどがあります。
そのため、Modela より精度の高い加工ができるようです。
今回は、お試しとして、3x3LEDマトリックスの Arduino シールドを作成しました。

EagleデータとArduinoスケッチは GitHub で公開しています。

Eagle 側の作業
(1) 回路図(sch)とボード図(brd)を作成するところは、ほぼ同じです。
ボード図では、配線を太くしたり、PADを大きくしたりします。
20150114_eagle_sch 20150114_eagle_brd

(2) ガーバーデータを出力します。
このとき、Mirror にして、ハンダ面が表になるようにします。
MAC のときは、改行コードを LF から CRLF に変換します。
20150114_gerber

FLASH 側の作業
Sevenmini には FLASH というCADソフトが付属しています。
EASY CAD、CONVERTER、CAM-Circuit2 という3つのアプリケーションを切り替えて使います。
CONVERTER アプリは、Eagle など代表的な基板作成CADのガーバーデータが読み込めます。
例題がついているので、それが正しく動くことを確認します。

1. CONVERTER アプリ
(1) 単位をインチに切り替えます。
(2) アパーチャーとドリル情報を読み込みます。
CAD種別は Eagle に選択して、アパーチャー (*.whl) を読み込みます。
現行の Eagle は、アパーチャーは出力しないので、例題にあるものを読み込みました。
ドリル情報 (*.drl) を読み込みます。
(3) 変換条件を設定します。
フォト変換条件の単位系を 0.0001 インチにします。
穴変換条の単位系を 0.001 インチにします。
値が違うので、要注意。
20150114_flash_converter_photo20150114_flash_converter_drill

(4) ガーバーデータを読み込みます。
Sevenmini は両面加工で出来ますが、今回は裏面のみとするので、裏のデータを表として扱います。
ハンダ面データ (*.sol) を「フォト表」として読み込みます。
ドリルデータ (*.drd) を「穴」として読み込みます。
外形データ (*.out) を「外形表」として読み込みます。
(5) 読み込んだガーバーデータが 0.1 インチ刻みのグリッドに合っていれば、OK です。
違うときは、単位系を調整します。
20150114_flash_convert

2. EASY CAD アプリ
(1) 輪郭線抽出を行います。
繰り返し回数を「2」にして、半田ブリッジを防止します。
20150114_flash_easy_cad_2

Sevenmini 側の作業
1. 配線の加工
(1) 基板を両面テープで固定します。
(2) 原点を移動します。
(3) ミリング用のエンドミルを取り付けます。
(4) CAM-Circuit2 アプリから加工を指示します。

2. 穴の加工
(5) 指示に従い、ドリル用のエンドミルを取り付けます。
CAM-Circuit2 アプリから加工を指示します。
ドリルの太さに応じて、何度かエンドミルを交換するように指示が出ますが、今回は 1mm ドリルで全て済ませました。
CAM-Circuit2 アプリから加工を指示します。

3. 外形の加工
(6) 指示に従い、フォーミング用のエンドミルを取り付けます。
CAM-Circuit2 アプリから加工を指示します。
20150114_pcb_milling

ハンダ付け
(1) 基板を研磨剤で磨きます。
(2) フラックスを塗ります。
(3) 表面の配線を行います。
(4) 部品をつけて、裏面をハンダ付けします。
20150114_pcb_polish20150114_pcb_rear
20150114_pcb_front

課題
(1) 配線から輪郭線が抽出ができない箇所がありました。
PADの形状が大きいのかも。
加工したあとで気づいたで、カッタナイフで刻みを入れました。
20150114_flash_easy_cad_miss

(2) 1mmドリルは、抵抗などのリード線の穴には少し大きかったようで、ハンダ付けがやりにくかったです。
0.8mmドリルくらいがよさそうです。