PCBWayから基板が到着したので早速組み立てて、Padaukマイコンの書き込み機を作りたいと思います。
PCBWayから基板が届く
発注から10日ほどで基板とメタルマスクが届きました。
細かい配線ですが、とても綺麗に製造されています。PCBWayは品質が悪い基板に当たったことがありません。
クリームはんだを印刷
ダンボールの上に基板を置きます。
メタルマスクを上に載せて、四隅に開けておいた穴にマップピンを差し込み、メタルマスクと基板との位置合わせと固定を行います。開けておく穴の大きさは直径0.75mmです。
メタルマスクの奥側にクリームはんだを載せます。クリームはんだには、普通のオーブンでも簡単にリフローできる、低融点鉛フリーはんだを使っています。
先端の部分が適度にしなるスキージを使って、クリームはんだを手前に引き寄せながら印刷していきます。
クリームはんだは何度も印刷すると、クリームはんだが多めに印刷されて、パッドからはみ出してしまいます。なるべく1回の印刷で完了できるように慎重に印刷します。
マップピンで位置合わせをしているので、マイコンのパッドなど完璧な位置にクリームはんだが印刷できていることがわかると思います。
部品の実装
表面実装部品は、掃除機のように部品を吸い付けるHAKKO394を使って、テープから直接吸着します。
ノズルにはこれを使っています。

部品の上から吸着するので、写真の中央のように部品が密集していても実装が可能です。
また、テープの中では極性が同じ向きに収納されています。テープから直接吸着することで、毎回部品の向きを揃えたり確認する必要がありません。
基板の設計時に、極性のある部品は同じ向きに配置しておきます。こうすることで、実装時に連続して実装することができ、効率的に実装できます。
ノズルを吸盤タイプに交換すると、ICも吸着することができます。

ICも実装できました。
全ての部品が実装できました。電動バキュームピックアップツールのHAKKO394を使うことで、ピンセットに比べて格段に速く実装が可能です。
リフロー
熱風が庫内を循環して庫内全体が均一に加熱される、コンベクションオーブンでリフローします。
庫内に熱電対温度計を入れておいて、温度をモニターしながら温度を調節します。100度→130度→165度と温度を変化させます。
165度に達したらリフロー完了です。扇風機で冷却します。
リフローが完了しました。
捨て基板を取り外し、基板を分離します。
ファームウェアの書き込み
認識できるか
STM32マイコンは、DFUボタンを押しながらUSBを接続すると、内蔵のブートローダが起動します。
果たしてのブートローダが起動するでしょうか。USBデバイスにSTM32が追加されるか確認します。
おおお!USBのデバイスにSTM32のブートローダが追加されています。STM32が動作しています。
ファームウェアの書き込み
Easy PDK Programmer softwareのReleaseからプログラム一式をダウンロードします。
Firmwareフォルダの中の、EASYPDKPROG.dfuがSTM32に書き込むファームウェアです。
ファームウェアをSTM32に書き込むツールをインストールします。コンソールからbrewでインストールします。
続いてSTM32にファームウェアをダンロードします。
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations
Clearing status
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading element to address = 0x08000000, size = 38016
Erase [=========================] 100% 38016 bytes
Erase done.
Download [=========================] 100% 38016 bytes
Download done.
File downloaded successfully
正常にファームウェアがダンロードできました。
USBを一旦抜いて、再度差し込み、USBデバイスを再認識させます。
STM32がEasy PDK PRogrammerとして動作し始めました。
ここまで順調です。
PFS122に何か書き込んでみる
今回作ったEasy PDK Programmerでやりたいことは、PFS122の6ピンマイコンにプログラムを書き込むことです。
それでは、PFS122に適当なプログラムが書き込めるか試してみましょう。
まずはEasy PDK ProgrammerにPFS122を接続して、デバイスを認識できるか確認してみます。
PFS172として認識できました。PFS172はPFS122の古い型番です。PFS122が認識できています。
試しにPFS123用のプログラムですが、書き込めるか試してみます。
書き込めました!書き込みソフトは、書き込んだ後にベリファイを実行しているので、正常に書き込まれているはずです。
書き込んだプログラムを読み出してみましょう。
test.hexとして読み出してみました。hexファイルを見てみましょう。
何かしらプログラムが書き込まれていることがわかります。
メモリの後半は、何も書き込んでいない3FFFという値で埋まっています。メモリの最後の方にある3ワードは、クロックのキャリブレーションのための値が書き込まれている領域です。このため、メモリが最後まで正しく読み出されていることがわかります。
Developerバージョンの書き込み
Easy PDK Programmerは通常版と、より多くのマイコンに対応したDeveloper版の2種類があります。Developer版にすると、書き込み機だけでなく書き込みツールもDeveloper版にしないといけません。
書き込みツールのコンパイル
developmentブランチをクローンします。
クローンしたフォルダに移動してmakeします。
書き込みツールのeasypdkprogが生成されました。
ファームウェアのコンパイル
ARMのコンパイラをインストールします。
Fiemwareのフォルダに移動します。
ファームウェアの書き込み
Easy PDK ProgrammerのDFUボタンを押しながら、USBを接続します。
動作チェック
Easy PDK ProgrammerにPFS122を接続して、デバイスの認識ができるか確認してみます。
Probing IC... found.
TYPE:FLASH RSP:0x1CA6 VPP=4.50 VDD=2.00
IC is supported: PFS172 / PFS172B / PFS121 / PFS122 ICID:0xCA6
Develop版になると、PFS173としてでなく、PFS173と同じ後継モデルのPFS121,PFS122なども表示されるようになりました。
コメント