PR 記事には広告が含まれています
スポンサーリンク
Translate

世界最強のSuper Easy PDK Programmerが完成しました

スポンサーリンク

Easy PDK Programmerの最終形態、Super Easy PDK Programmerが完成しました。

スポンサーリンク

PCBgogoから基板が届く

PCBgogoに基板を発注して1週間くらいで、基板とメタルマスクが到着しました。今回はいつもより数日早く到着しました。

シルクスクリーン印刷はとても綺麗です。掠れることなく綺麗に印刷されていますね。

ソルダーマスクブリッジ付き!

今回驚いたのが、QFPパッケージのレジストです。これまで、他の業者ではパッドとパッドの間が狭いために、黒レジストの場合レジストが印刷されませんでした。しかしPCBgogoでは、この狭いパッドとパッドの間もレジストが印刷されています。

パッド間にレジストがあることで、はんだブリッジしにくくなったり、リフローの時にICが正しい位置へ移動するセルフアライメントが起きやすくなると思います。これはいいですね。

PCBgogoの製造品質はとても高いことがわかりました。

スポンサーリンク

組み立て

それでは、早速組み立てていきましょう。

クリームはんだの印刷

ダンボールの上に基板を置きます。今回は基板の端まで部品があり、基板の端にもクリームはんだが印刷されるので、同じ厚みの基板をつないで段差をなくし、スムーズに印刷できるようにしています。

四隅の穴にマップピンを刺して、位置合わせと固定をします。穴の大きさは0.75mmです。

奥側にクリームはんだを乗せます。クリームはんだには、低温で溶ける低融点鉛フリーはんだCHIPQUIK TS391LT50を使っています。メタルマスクからの抜けが良く、粒子が細かいのでクッキリ綺麗に印刷できます。常温保存できるのもとても便利です。

先端がしなるスキージを使って、クリームはんだを手前に引き寄せながら印刷していきます。

USB Type-CやQFPパッケージなどの細かいパッドにも、完璧な位置に綺麗に印刷できました。

部品の実装

続いて部品を実装していきます。私はピンセットではなく、吸着ピンセットHAKKO394を使っています。

テープから部品を掃除機のように吸着します。

部品を目的の場所に置いて離します。部品の上面を吸着するので、上の写真のように、部品と部品の間が狭くても実装が可能です。

ノズルにはこれを使っています。

バキュームピック用ノズル3種類セット | kohacraftのshop
電動バキュームピックHAKKO394の純正よりも使いやすいノズルのセットです

Interactive HTML BOMプラグイン

ちなみに実装の時には、KiCadのプラグイン Interactive HTML BOM を使っています。部品をどこに実装するのか一目でわかって、とても便利ですよ。

上の例では、0.1uFのコンデンサを実装する場所が、赤く表示されています。

LEDやダイオードなど極性のある部品は、テープの中で同じ方向を向いています。テープから直接吸着することで、毎回向きを揃える必要がなくなります。

吸盤のノズルに交換すると、ICなども吸着できます。

マイコンも実装できました。

バキュームピック用吸盤3種類セット | kohacraftのshop
電動バキュームピックHAKKO394でSOPやQFPが吸着できる吸盤のセットです

吸着ピンセットのおかげで、スピーディに実装ができました。

リフロー

熱風が庫内を循環してむらなく加熱できる、テスコムのコンベクションオーブンでリフローします。テスコムのコンベクションオーブンは、加熱の途中でも温度を変更できます。できないメーカーもあるので購入の際は注意してください。

庫内に熱電対温度計を入れておいて、温度をモニターしながら温度調節つまみを調節します。

90度→120度→140度→165度と変化させて終了です。120度、140度とはんだが溶ける近辺の温度をゆっくり上げると失敗が起きにくい感じがします。

リフローが完了しました。目視でのチェックでは問題なさそうです。

スポンサーリンク

ファームウェアの書き込み

それでは、マイコンにファームウェアを書き込んでみます。

DFUボタンを押しながらUSBを接続すると、STM32マイコン内蔵のブートローダが起動します。

ブートローダが起動していることが確認できる

USBデバイスツリーを見ると、ブートローダーが接続されていることが確認できます。

dfu-util -d 0483:df11 -a "@Internal Flash /0x08000000/064*0002Kg" --dfuse-address 0x08000000 -D EASYPDKPROG.dfu

ここで、dfu-utilを使ってEasy PDK Programmerのファームウェアを転送します。

Easy PDK Programmerとして認識された

USBを抜いて、刺し直します。するとEasy PDK Programmerとして認識されました!順調です。

試しにマイコンにプログラムを書き込んでみましょう。

正常に書き込めました!

スポンサーリンク

PFS122の様々なパッケージ

SOP14とSOP8のピンの入れ替え

PFS122など一部のPadaukマイコンは、SOP8とSOP14で一部のピンが異なります。一つのソケットでどちらも対応できるように、今回の書き込み機には切替用のスイッチを設けました。この切り替えがうまくいくか検証してみます。

SOP14

PFS122のSOP14をソケットに入れます。SOPソケットはソケットの周りを上から押し込むことで部品をセットできる状態になります。その中に、バキュームピックを使ってマイコンセットします。

スイッチをSOP14にセットします。

プログラムを書き込んでみます。

easypdkprog -n PFS122 write firmware.ihx
Erasing IC... done.
Writing IC (289 words)... done.

正常に書き込めました。

SOP8

続いてSOP8を試してみます。

スイッチをSOP8にセットします。

プログラムを書き込んでみます。

easypdkprog -n PFS122 write firmware.ihx
Erasing IC... done.
Writing IC (289 words)... done.

正常に書き込めました。スイッチで切り替える作戦は成功です。

一つのSOPソケットで、SOP8もSOP14、SOP16に対応できることが確認できました。

SOT

ついでにSOTパッケージも試してみます。

easypdkprog -n PFS122 write firmware.ihx
Erasing IC... done.
Writing IC (289 words)... done.

正常に書き込めました。SOTとSOP全てのパッケージに書き込みができることがわかりました。

スポンサーリンク

インサーキット書き込み

この書き込み機の最大の特徴である、インサーキット書き込み機能を試してみます。TARGETと書かれたコネクタと、回路とを接続します。

スイッチを「WRITE」にセットします。

マイコンがターゲットの回路から切り離され、書き込み機に接続されます。

プログラムを書き込んでみます。

easypdkprog -n PFS122 write firmware.ihx
Erasing IC... done.
Writing IC (289 words)... done.

書き込めました。

スイッチを「RUN」に切り替えます。

マイコンが書き込み機から切り離されて、ターゲットの回路と接続されます。

マイコンが動作を開始して、回路が動作しました。

インサーキット書き込み機能も正常に動作しました!!

スポンサーリンク

最強のSuper Easy PDK Programmer完成

SOT,SOPパッケージのPadaukマイコンに対応した、インサーキット書き込み機能のある世界最強のSuper Easy PDK Programmerが完成しました。

書き込みツールのeasypdkprogが対応していれば、どのマイコンでも書き込めます。

これで、Padaukマイコンの開発が捗ります。

何台か作ったので、今回制作したSuper Easy PDK Programmerを頒布したいと思います。詳しくは下記のサイトをご覧ください。

[頒布]Super Easy PDK Programmer | kohacraftのshop
全てのSOT,SOPに対応し、インサーキット書き込み機能を追加した、開発捗るEasyPDKProgrammerです

世界的にもホビイストの中でPadaukマイコンはブームが去っており、私だけが一人で盛り上がっているだけなので、これを逃すと書き込み機は2度と手に入らないと思われます。ちょっとでもPadaukマイコンで遊んでみたいという方は是非お手に取ってみてください。

Super Easy PDK Programmerが対応しているPadaukマイコンのリストです。

Supported ICs:
MCU390 (0xC31): OTP : 2048 (14 bit), RAM: 128 bytes (RO)
PFS154 (0xAA1): FLASH: 2048 (14 bit), RAM: 128 bytes
PFS172 (0xCA6): FLASH: 2048 (14 bit), RAM: 128 bytes
PFS173 (0xEA2): FLASH: 3072 (15 bit), RAM: 256 bytes
PMC131 (0xC83): OTP : 1536 (14 bit), RAM: 88 bytes (RO)
PMC251 (0x058): OTP : 1024 (16 bit), RAM: 59 bytes (RO)
PMC271 (0xA58): OTP : 1024 (16 bit), RAM: 64 bytes (RO)
PMS131 (0xC83): OTP : 1536 (14 bit), RAM: 88 bytes (RO)
PMS132 (0x109): OTP : 2048 (14 bit), RAM: 128 bytes (RO)
PMS132B (0x109): OTP : 2048 (14 bit), RAM: 128 bytes (RO)
PMS133 (0xC19): OTP : 4096 (15 bit), RAM: 256 bytes (RO)
PMS134 (0xC19): OTP : 4096 (15 bit), RAM: 256 bytes (RO)
PMS150C (0xA16): OTP : 1024 (13 bit), RAM: 64 bytes
PMS152 (0xA27): OTP : 1280 (14 bit), RAM: 80 bytes
PMS154B (0xE06): OTP : 2048 (14 bit), RAM: 128 bytes
PMS154C (0xE06): OTP : 2048 (14 bit), RAM: 128 bytes
PMS15A (0xA16): OTP : 1024 (13 bit), RAM: 64 bytes
PMS171B (0xD36): OTP : 1536 (14 bit), RAM: 96 bytes
PMS271 (0xA58): OTP : 1024 (16 bit), RAM: 64 bytes (RO)
PFS122はPFS172として、PFS123はPFS173として書き込みが可能です