
秋月電子で販売されているキットをベースにUSB版PICライターを作ります。
ノートパソコンで使用するにあたって不便に感じてきたからです。
最近のノートパソコンはシリアルポートがついていませんからね。
制作にあたって条件を定めます。
・秋月電子PICプログラマーVer4.0と同じように使えること。
・電源は全部USBから取る。
・USBでも高速書き込み(FT232RLは遅いらしい)。
以上のことが満たせれば自分では満足です。
秋月のPICプログラマーでは15V以上のACアダプタを使用します。
PICマイコンでは書き込み時に12V〜13V程度の電圧が必要だからです。
秋月ライターの回路図を追ってみると、2個の3端子レギュレータで2種類の電圧を作り出しているようです。
IC等、本体の電源に5V。PICの書き込みに12.75V(実測)。
12.75Vという微妙な電圧は可変型3端子レギュレータによって作り出されているようです。
USB化にあたってUSBから取れる5V電源を12V(できれば12.75V付近)まで昇圧させなくてはいけないことになります。
12Vでも動作するかとは思いますが、心配といえば心配ですので。念のため。
回路に関してはIC一つで済まします。
同じく秋月電子通商で販売されている「MAX662」を使用します。
これは5Vから12Vを生成するICです。
出力にちょっとした回路をつけることにより20V生成も可能です。
この20V出力を抵抗で分圧して使用することにします。
電流の消費は少ないので大丈夫かと思います。
※追記: 分圧を行うと不安定になります。12V出力のまま使用します。
USB-シリアル変換ICを使います。
GPSの記事でも使用しました、秋月電子発売の変換モジュールです。
FT232RLを使ったものになります。
秋月電子の片面ガラエポ基板(Bタイプ)を2段にして組もうかと思います。
とりあえず集中して一気に作業を進めてしまいます。


上部の基板完成。
基板裏にはピンソケットをつけています。
2枚の基板を重ねたときにわざわざ配線しなくてもいいようにします。


下部の基板も完成です。

上記回路は失敗です。使用しないでください。詳しくは下記参照。
昇圧部分の回路は上の通りです。
一度、20Vを作り出し、分圧抵抗によって12.8V付近の電圧を作り出します。
面倒ならば1N4148周りを外してしまいましょう。
12V出力になりますので、そのまま接続できるかと。
12V出力で使用します。それ以外は安定しません。

とりあえず完成です。
早速ここで動作確認。無事動作しているようです。
適当なHEXファイルを書き込みしてみると、PIC16F877Aで57秒の書き込み速度となりました。
少し遅い感じです。
これもポートの設定を変えた上での速度で、デフォルト設定のままで使用すると150秒ほどかかったと思います。
他に速度がでるUSB-シリアル変換ICを探してみることにします。
ストロベリーリナックスで発売されているCP2103 DIPモジュールを使ってみました。

USBコネクタはモジュールについていないので、別途取り付ける必要があります。

上の画像ではUSBコネクタの上部の金属シールドが剥がれていますが、上部の基板とショートしないようにするためで、故意に行っているものです。
とりあえず完成し、動作テストをしたところ、実用にはほど遠い書き込み速度となってしまいました。
ドライバはメーカーからダウンロードし、最新版を使っています。
設定も変更したりしたのですが、同じHEXファイルで170秒ほどの書き込み速度となってしまいました。
その後もベリファイ途中で通信ストップなど安定性がカナリ悪いです。
メーカーさんには申し訳ないのですが、CP2103には注意しましょう。
次に、大手メーカーのUSBシリアル変換ケーブルでも使用されているPL2303というICを使用します。
このICはどうも一般には販売されていないらしく、市販のUSBシリアル変換ケーブルを分解することによって入手します。
秋月電子のUSBシリアル変換ケーブルもPL2303が使われているということなので、これを使用することにします。


ニッパなどで無理矢理分解していき、コネクタまで外します。
表面に配置されているのがPL2303と発振子、EEPROMです。
裏面にあるのがSP213ECAというRS232レベルコンバータのようです。
ライター本体ではRS232ではなくTTLレベルの通信になるので外してしまいます。
今回はそこに配線することにします。

SP213Eの6ピンがTXD(T2IN)、19ピンがRXD(R5OUT)となっていますので、そこへハンダ付けして線を出します。
PL2303の1ピン、5ピンでもいいのですが、場所が場所だけにハンダ付けしづらいので。
線については瞬間接着剤で固定していまうとパターンにストレスがかからなくていいです。
下手に扱うとパターンが剥がれてしまいますので。
うまく配線できたら基板にのせます。


これで完成です。

実際に接続してみてテストすると、書き込みは39秒ととても満足できる結果となりました。
是非このICは一般向けにも販売してほしいですね。
回路的にも結構簡単にできますので皆さんも挑戦されてはいかがでしょうか?
| 部品名 | 個数 | 販売先 |
| PICプログラマーVer.4 バージョンアップキット | 1 | 秋月電子 |
| TD62003AP | 1 | 秋月、千石 |
| TC4066BPまたはTC74HC4066AP ※注、追記 | 1 | 千石 |
| セラロック 4.19MHz | 1 | 秋月、千石 |
| 1/4W カーボン抵抗 470Ω | 2 | 秋月、千石 |
| 1/4W カーボン抵抗 1KΩ | 3 | 秋月、千石 |
| 1/4W カーボン抵抗 10KΩ | 5 | 秋月、千石 |
| 1/4W カーボン抵抗 47KΩ | 1 | 秋月、千石 |
| 積層セラミックコンデンサ 0.1uF (104) | 2 | 秋月、千石 |
| 赤色LED(電源確認用) | 1 | 秋月、千石 |
| 緑色LED(書き込み確認用) | 1 | 秋月、千石 |
| ICソケット 14PIN | 1 | 秋月、千石 |
| ICソケット 16PIN | 1 | 秋月、千石 |
| ICソケット 28PIN | 1 | 秋月、千石 |
| ゼロプレッシャーICソケット 28PIN | 1 | 秋月、千石 |
| ゼロプレッシャーICソケット 40PIN | 1 | 秋月、千石 |
| ピンヘッダ 1×3 | 1 | 秋月、千石 |
| ピンヘッダ 2×6 | 1 | 秋月、千石 |
| ジャンパー(ショートピン) | 1 | 秋月、千石 |
| ピンソケット 2×6 | 1 | 秋月、千石 |
| ガラスエポキシユニバーサル基板(Bタイプ) | 2 | 秋月電子 |
| 基板スペーサー | 秋月、千石 | |
| 適当な配線材料 |
昇圧回路
| 部品名 | 個数 | 販売先 |
| MAX662 DIPモジュール | 1 | 秋月 |
| 積層セラミックコンデンサ 0.22uF (224) | 2 | 千石 |
| 積層セラミックコンデンサ 1uF (105) | 3 | 千石 |
| タンタルコンデンサ(電解コンデンサでも可) 4.7uF | 2 |
FT232RL(簡単に実装できるが、書き込み速度が少し遅い[16F877A:57秒前後])
| 部品名 | 個数 | 販売先 |
| FT232RL USBシリアル変換モジュール | 1 | 秋月電子 |
| USBケーブル | 1 | 秋月、その他 |
PL2303(実装は面倒だが、書き込み速度は速い[16F877A:39秒前後])
| 部品名 | 個数 | 販売先 |
| USBシリアル変換ケーブル | 1 | 秋月電子 |
| USBコネクタ | 1 | 秋月、その他 |
| USBケーブル | 1 | 秋月、その他 |
| フラットパッケージの足に配線できるケーブル | ||
| 瞬間接着剤等 |
以下、全回路図です。
秋月のPICプログラマーがベースになっています。
PICプログラマー本体 [拡大画像(jpeg)]

電源回路 [拡大画像(jpeg)]

USB-シリアル変換回路 [拡大画像(jpeg)]

ドライバダウンロード先
FT232RL (FTDI)
http://www.ftdichip.com/Drivers/VCP.htm
CP210x (Silicon Laboratories)
http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/USB/en/mcu_vcp.htm
PL2303 (Prolific Technology)
http://www.prolific.com.tw/eng/downloads.asp?ID=31
ライターソフトダウンロード先
秋月電子通商
http://akizukidenshi.com/down/tk/picpgm_v4/index.htm
パフォーマンスについて計測してみました。
パソコンについているシリアルポートを使い、16F84Aにブランクプログラムを書き込んだ場合:5秒。
USB(PL2303)経由でブランク書き込みした場合:6秒。
まずまずな結果です。
※
TC74HC4066APを使うと書き込みが出来ないなど、なぜか不安定です。
なんでだろー。
回路間違ったかな?調査中。
※8/29
リアルタイムでモニタしたところ
電圧が不安定です
このおかげで、動作が不安定となっていたようです。
とりあえず、20V出力→12.8V出力としないで、単に12V出力を取り出すことが解決策です。
回路図を差し替えておきました。