秋月電子PICプログラマーUSB改良版

PICライター

秋月電子で販売されているキットをベースにUSB版PICライターを作ります。
ノートパソコンで使用するにあたって不便に感じてきたからです。
最近のノートパソコンはシリアルポートがついていませんからね。

制作にあたって条件を定めます。
・秋月電子PICプログラマーVer4.0と同じように使えること。
・電源は全部USBから取る。
・USBでも高速書き込み(FT232RLは遅いらしい)。
以上のことが満たせれば自分では満足です。

PICライターの電源について

秋月の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インターフェース

USB-シリアル変換ICを使います。
GPSの記事でも使用しました、秋月電子発売の変換モジュールです。
FT232RLを使ったものになります。

2008年、6月15日

秋月電子の片面ガラエポ基板(Bタイプ)を2段にして組もうかと思います。
とりあえず集中して一気に作業を進めてしまいます。

基板表
基板裏

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

基板表
基板裏

下部の基板も完成です。

MAX662

上記回路は失敗です。使用しないでください。詳しくは下記参照。

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

完成ー

とりあえず完成です。

早速ここで動作確認。無事動作しているようです。
適当なHEXファイルを書き込みしてみると、PIC16F877Aで57秒の書き込み速度となりました。
少し遅い感じです。

これもポートの設定を変えた上での速度で、デフォルト設定のままで使用すると150秒ほどかかったと思います。

他に速度がでるUSB-シリアル変換ICを探してみることにします。

2008年、6月21日

ストロベリーリナックスで発売されているCP2103 DIPモジュールを使ってみました。

CP2103

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

きばん

上の画像ではUSBコネクタの上部の金属シールドが剥がれていますが、上部の基板とショートしないようにするためで、故意に行っているものです。

とりあえず完成し、動作テストをしたところ、実用にはほど遠い書き込み速度となってしまいました。
ドライバはメーカーからダウンロードし、最新版を使っています。
設定も変更したりしたのですが、同じHEXファイルで170秒ほどの書き込み速度となってしまいました。
その後もベリファイ途中で通信ストップなど安定性がカナリ悪いです。

メーカーさんには申し訳ないのですが、CP2103には注意しましょう。

2008年、6月22日

次に、大手メーカーの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ライター本体

部品名個数販売先
PICプログラマーVer.4 バージョンアップキット1秋月電子
TD62003AP1秋月、千石
TC4066BPまたはTC74HC4066AP ※注、追記1千石
セラロック 4.19MHz1秋月、千石
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ソケット 14PIN1秋月、千石
ICソケット 16PIN1秋月、千石
ICソケット 28PIN1秋月、千石
ゼロプレッシャーICソケット 28PIN1秋月、千石
ゼロプレッシャーICソケット 40PIN1秋月、千石
ピンヘッダ 1×31秋月、千石
ピンヘッダ 2×61秋月、千石
ジャンパー(ショートピン)1秋月、千石
ピンソケット 2×61秋月、千石
ガラスエポキシユニバーサル基板(Bタイプ)2秋月電子
基板スペーサー秋月、千石
適当な配線材料

昇圧回路

部品名個数販売先
MAX662 DIPモジュール1秋月
1N4148(1S1588など適当な小信号用汎用ダイオード)2秋月、千石
積層セラミックコンデンサ 0.22uF (224)2千石
積層セラミックコンデンサ 1uF (105)3千石
タンタルコンデンサ(電解コンデンサでも可) 4.7uF2

USB-シリアル変換回路

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出力を取り出すことが解決策です。
回路図を差し替えておきました。

このページをdel.icio.usに追加 このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ このページをYahoo!ブックマークに追加このページを含むYahoo!ブックマーク