先日息子が買ってきた「MPLAB Snap」ですが、「PIC Kit 3」と比べるととても小さい為、「書込みアダプタ」と組み込んでみることにしました。それほど大きなPICを使用することも無いと思いますので、8P・14P・18P・20PのDIPと8P・14PのSOPに書き込めるようにします。
 書込み電源は、最初「MPLAB Snap」から供給するつもりで作りましたが、「プチ改造」で配線した線材を外す時に熱を加えすぎ壊してしまったため、新規購入した物を壊したくないので「USBからの外部供給」で作りました。
 以下に制作過程等を紹介させてもらいますが、「MPLAB Snap プチ改造(内部電源利用)」される方は、熱の掛け過ぎに十分注意してください。

「MPLAB Snap」組込み「PIC書込み器」の製作(8P・14P・18P・20P対応)

「MPLAB Snap」「プチ改造Ⅱ」(書込み電源 内部電源利用)

 先日入手した「MPLAB Snap」ですが、20PinZIFソケットとSOP 8Pin用DIPアダプタが届いたので、書込み器を作ってみました。「MPLAB Snap」は、正式には書込みに外部電源が必要なのですが、基板内に+5Vと+3.3Vの電源が出ています。本来は書き込み電源を用意すべきなのでしょうが、せっかくですのでこの電源を使うことにしました。(「プチ改造Ⅱ」への変更時に熱を加えすぎてしまい壊してしまったため、新調しましたので外部電源に変更してあります。)

 

プチ改造Ⅱ

プチ改造Ⅱ

 

 「MPLAB Snap」のコネクタは8Pinで6,7,8Pinは使いませんので、このうち6,7Pinを利用して+5Vと+3.3Vを引き出しました。引き出すコネクタピンを基板から切り離しラッピングワイヤー(AWG28)で接続しました。この時ピンからの引出のため半田付けをしますが、基板とのショートには十分気を付けてください。たぶんショートすると壊れます。

 ここで注意が必要なのは「MPLAB Snap」は「熱に弱い」ことです。かく云う私も半田付けに手間取り、一枚「MPLAB Snap」をダメにしてしまいました。一般的な半田より低温で使える「共晶半田」を用いたほうが安全かもしれません。また 接続ワイヤーはあらかじめ半田メッキをしておいた方が確実です。

配置とSOPソケットの改造

 8Pin・14Pin・18Pin・20PinのPICで書込みに使用するピンですが、18Pinのみが違い結線を切り替える必要がありますので、ピンヘッダ3列とピンソケット2列を使い切り替えるようにしました。切り替える必要のあるピンは4種(Vdd,Vss,PGD,PGC)になります。

 また SOPアダプタですが、前の8ピンのみで14ピンのピンが付いていませんでしたので、ピンヘッダを2本追加してありますが、そのままでは基板上にピンが出てラッチを押し下げたときに当たってしまうため、ピンが基板面一になるように切り取ってから半田付けしています。

書込み器_配置

書込み器_配置

 

 使用した基板は手持ちの、片面パターンの7cm x 9cm(30穴 x 24穴)ユニバーサル基板を使用しています。配線図と実装画像を載せておきますので、参考にしてください。基板上には若干余裕がありましたので、書き込み電源を組み込みました。百均のマイクロUSBケーブル(データー転送可能の物)を利用しています。マイクロUSB側はケーブルそのままではテンションが強すぎましたので被覆を剥いて芯線だけにしてあります。

 書き込み電源は5VをUSBの電源電圧を使い、3.3VはUSBの電源電圧5Vから三端子レギュレータ(100mA)を使って作っています。たぶん「MPLAB Snap」から書込み電源をとっても問題ないとは思いますが、さすがに半田付けで2度も壊すのが嫌なので、別に書込み電源を用意しました。こうすれば「MPLAB Snap」の改造も必要無くなり、リスクが少なくなります。

「MPLAB Snap」外部電源 / 内部電源での動作確認

 発注してあった「MPLAB Snap」が届いたので、動作確認のためブレッドボードで確認しました。

MPLAB Snap動作確認

MPLAB Snap動作確認

 

 最初は外部給電で5V(USBより供給)を使い書き込んでみましたが、問題なさそうです。
次に基板より5V一本を仮接続して書き込みましたが、問題なく書き込めました。

色々と不具合発生(通信エラー)

 満を持して書き込みアダプタに取付けますが、何度やっても通信エラーが出て「MPLAB Snap」と接続されません。もしやと思い、ラッピングワイヤーでUSBケーブルを基板に止めていたので、外してみると接続できシリアルナンバーを読み込めました。どうもラッピングワイヤーがループになっているため、通信時のパルス波を乱していたようです。しかし「MPLAB Snap」を認識できましたが、書き込みで通信エラーが出て書き込めません。USBケーブルを切断して、再度結線しただけですし、ケーブルはシールド線でもありませんでした。

動作確認_変更したケーブル処理

動作確認_変更したケーブル処理

 

 いろいろ考えてみましたが、解りません。残っているのはラッピングワイヤーで起こったのと同様に、むき出しになっているケーブルをまとめるためにケーブルを四つ編みにしたことだけです。半田付けした結線部を外し、四つ編みを解いて再結線して書き込んでみると、うまく書き込めるようになりました。

完成

完成の図

完成の図

 

 動作を確認できましたので、配線面がショートしないように「シリコンコーキング剤」を使って絶縁して完成です。

 参考までに今回作成した物の回路図を載せておきます。

完成品

完成品

 

 半田面のコーキングが乾きましたので画像をアップしておきます。

番外 ブレッドボード用USB供給電源

 今回ついでにブレッドボードへの電源供給も作っておきました。簡単な物ですがあると意外に便利です。但しブレッドボード電源ラインのピンピッチが微妙に合わないため、ユニバーサル基板の電源供給ピンを付ける穴をΦ1.2に広げて、半田付け作業最後に、ブレッドボードに設置した状態でピンヘッダーを半田付けしました。

 ブレッドボード用の電源基板が売られていますので、一つ購入してみるつもりです。こちらは5Vと3.3Vの供給電源を持っていて、マイクロUSBから電源を取っているようです。

その他

 今回は「MPLAB Snap」の“プチ改造”を行って壊してしまいましたが、振り返ってみると壊した原因は最初に改造した電源ラインのGNDを外す時に熱を掛け過ぎたためだと考えられます。調べてみるとVssとGNDは繋がっていますので配線の必要は無かったようです。

 新たに入手した「MPLAB Snap」を実験的にVdd(2Pin)と基板上の5Vだけを接続して書き込んでみましたが、問題なく書き込めました。

 もし「MPLAB Snap」を簡単に使うのであれば、基板上の5VをVdd(2Pin)に半田付けするだけで良いと考えられます。(勉強不足と経験が足りないため、私にはなぜ3.3Vが必要なのかわかりません)