2011年2月6日日曜日

Writer509CDC 全機能版

前回、安く簡単に作れるUSB接続のプログラマ「Writer509CDC簡易版」を紹介しました。前回紹介した「Writer509CDC」はミニブレッドボードで簡単に作れるように回路構成を簡略化してあり、そのかわりVppの高電圧(9V)を006P角型電池を使っています。そのため、使うときにちょっと手間になります。今回はVppの高電圧を電池を使わずにUSBの電源5Vを昇圧して作るタイプの「Writer509CDC」を紹介します。こちらのタイプは、回路が少し複雑になりますが、電池を使わなくて良いので使い勝手がよいです。私はこのプログラマを愛用しています。

上の図が回路図です。回路図の左の真ん中あたりにある、コンデンサとダイオードが並んだ回路がチャージポンプ式の昇圧回路です。この回路でUSBの5VからVpp用の高電圧約12Vを作っています。9Vの電池を使った場合と違って、この回路では約12Vを作るので、Writer509が対応しているPICのほとんどに書き込むことができます(念のため書き込み対象のPICのVppの許容電圧範囲を確認してご使用下さい)。VppをON/OFFするためのトランジスタの回路も、今回のものはPNPとNPNの2つを組み合わせて使っています。この回路の方がより確実な動作になります。

制御用マイコンのRC3端子につながっている10kΩの抵抗R_LVPは、通常は不要です。次の記事「PICマイコンのプログラマ その4」で紹介しているHIDaspxを使って制御用マイコン(PIC18F14K50)にファームウエアを低電圧モードで書き込んだ場合には、この抵抗を接続しておいてください。(2011/3/13追記)

回路図の右上にある3.3Vのレギュレータとスイッチは、このプログラマでPIC18F14K50に書き込む場合に使います。そのときは、スイッチを3.3Vレギュレータの側に切り替えて使ってください。PIC18F14K50以外のマイコンに書き込む場合はスイッチをUSB5Vの側にしておいてください。PIC18F14K50に書き込むことがない場合は、3.3Vのレギュレータと切り替えスイッチは不要です。

制御用マイコンPIC18F14K50の左側、RA3の端子につながっているスイッチは、制御用マイコンPIC18F14K50にファームウエア(制御用プログラム)をブートローダー経由で書き込む場合に使います。普段使用するときはこのスイッチをOFFにしておいて下さい。

書き込み対象のPICマイコンを差し込むソケットには、20ピン以上のものを使って、この回路図のように配線しておくと、8,14,18,20ピンのPICに書き込むことができます。どのPICでも、ソケットの一番上に合わせてPICを差し込みます。ソケットには私はゼロプレッシャー(ZIF)ソケットを使っています。ちょっと高いですが、抜き差しが簡単で使いやすいです。安く作るのなら、耐久性が劣りますが普通のICソケットでもいいと思います。が、平ピンではなく、せめて丸ピンタイプのものを使ったほうが耐久性が良いと思います。


これくらいの規模の回路になると、ミニブレッドボードで組むのはちょっと難しくなります。もう少し大きなブレッドボードを使えば、頑張れば組めると思いますが、ユニバーサル基板を使ってハンダ付けで作るのがよいでしょう。

Writer509CDCの使用部品
マイコンPIC18F14K50200円
セラミック発振子12MHz(コンデンサ内蔵)20円
トランジスタPNP2SA1015100円/20個
トランジスタNPN2SC1815100円/20個
ダイオード1N4148100円/50個
コンデンサ0.1μF 100円/10個
コンデンサ0.22μF 100円/10個
コンデンサ1μF 100円/10個
コンデンサ10μF 200円/10個
抵抗470Ω、10kΩ、100kΩ各100円/100個
LED赤色400円/100個
USBコネクタBタイプ・メス50円
ICソケットZIFソケット24ピン
丸ピンICソケット20ピン
700円
60円
レギュレータ3.3V S-812C33AY-B-G100円/8個
注)価格は2011年2月の秋月電子の価格


このプログラマに使っているマイコンPIC18F14K50に書き込むプログラムは前回のWriter509CDCのものと全く同じです。一応、こちらにもリンクをおいておきます。

Writer509CDC用ファームウエア(Ver.1.0)のダウンロード
(Ver.1.0にアップしました 2011/9/13)
Ver.1.0の動作確認が不十分なので、旧バージョンもおいておきます。
Writer509CDC用ファームウエア(Ver.0)のダウンロード



使い方は前回の「Writer509CDC簡易版」で紹介したEriter509CDCと全く同じです。

PC側の制御ソフトは、一応、私の作った書き込みソフトもあります。拡張PIC16F(PIC12F182、,PIC16F1823など)にも対応する目的で作りました。

◆Windows版書き込みソフト<W509CS
◆Linux、Mac OSXなどクロスプラットフォーム版<W509Mono

(2011/2/26追記)
回路図を次の4ケ所修正しました。
・3.3Vレギュレータの入力部に0.1uFのコンデンサを追加しました。
・マイコンの右側のピンRC0にLEDを接続しました。USBを接続したときに点滅します。
・Vppの高電圧を作るチャージポンプ回路のダイオードの1つを赤色LEDに変更しました。電圧を微調整するためです。
・VppをON/OFFするトランジスタの回路の抵抗値を2つとも100kΩにしました。

(2011/3/13追記)
回路図を修正しました。
制御用マイコン(PIC18F14K50)のファームウエアを低電圧モードで書き込んで、ConfigurationのLVPが有効になっている場合には、RC3につながっている赤色の10kΩの抵抗R_LVPを接続してください。それ以外の場合はこの抵抗は不要です。

(2011/3/13追記)
このWriter509CDCを使ってPIC18F14K50に書き込む場合、PC側の書き込み制御ソフトは「でんし研」さんの「Writer509+b版」をご使用ください。オレンジ電子さんのオリジナル版のPC制御ソフトではPIC18F14K50は対応していません。
本文中にも書いていますが、PIC18F14K50に書き込む場合は、電源をUSB5Vではなく、レギュレーターの 3.3Vを使ってください。

また、「FENG3」さんの「PICProg4U 2.3.0」も、Writer509でPIC18F14K50にも対応しているのですが、なぜか通信エラーが出たり、読み込みで間違った値が表示されたりするなどの不具合があります。
この問題はオリジナルのWriter509では発生しないので、私のWriter509CDCのプログラムに何らかのバグがあると思います。原因を究明して、プログラムを修正しようと思っていますが、まだできていません。

(2011/3/19追記)
PICProg4Uでエラーが出る原因がわかりました。が、PICProg4Uでエラーが出ないようにすると、今度はオリジナルのPC側制御ソフトでうまく動作しなくなってしまいます。そういうわけで、PICProg4Uを使いたい方のために、PICProg4U用ファームウエアを作成しました。本文中のダウンロードの中に追加しておきました。
 この問題について、PICProg4Uの作者FENG3さんに相談したところ、ありがたいことに、次期バージョンでは私のWriter509CDCでも動くように対応していただけるそうです。次期バージョンが出るまでの間は、ファームウエアを使い分けるという暫定対策でお願いします。

(2011/7/13 追記)
今更ながら、いくつかのデバイスで書き込み動作の確認をしたところ、上に記載の回路ではPIC16F627A(628A他も多分同様)にうまく書き込めないことがわかりました。原因はVppの電圧不足のようです。スペック的に満足しているような気がするのですが。
(その後、さらに調べたところ、Vpp電圧の問題ではないようです。Writer509CDCを2つ持っているのですが、1つでは書き込めて、もう1つの方では書き込めないです。原因は不明です。回路はほぼ同じなんですが。)
このようにVppの電圧不足で書き込めない場合は、回路図の左上の、チャージポンプの1段目のLEDを、普通のダイオードに変更すると、Vpp電圧が1V程度上昇します。ただし、そのように変更した場合は、Vppの上限電圧が低いデバイスでの使用にご注意ください。

それと、もうひとつ、PIC12F510で、デバイスの消去がうまくできません。これもVpp電圧不足を疑ったのですが、上限の13.5Vまで上げてもだめでした。原因不明です。

参考までに、チャージポンプ1段目=LEDの場合と、普通のダイオードの場合の、Vpp電圧の測定値を書いておきます。負荷電流=約1mAの場合の値です。


駆動電圧 = 5V駆動電圧 = 3.3V
LED(赤色)11.2V7.9V
ダイオード(1N4148)12.1V8.8V

(2011/9/13追記)
ファームウェアをVer.1.0に更新しました。
ターゲットとへの書き込みクロックを少しだけ高速化しました。
あと、PIC12F510に書き込みができない問題を、不完全ながら修正しました。
このファームと、私の作ったPC側制御ソフトW509CsまたはW509Monoを使うとPIC12F510に書き込み可能です。オリジナルの書き込みソフトW509などでは、だめなようです。


にほんブログ村 その他趣味ブログ 電子工作へ
↑最後まで読んでいただいた方はこちらのリンクをクリックしてランキングにご協力下さい。
↓ついでに、下のリアクションもチェックお願いします。