since 2007.8 by K-ichi

やっつけPICライタ外観 信号線から電源を取るなど邪道、などと思いつつも、RCDライタを作ってみた。

PICの開発は、純正のMPLABを使うので、これに対応したライタが欲しいところ。すでに製作済みのAN589準拠が使えればよかったが、MPLABではサポート外。対応ライタをざっと調べてみたが、どうも日曜工作でできるような代物ではなさそう。
仕方がないのでそれ以外に目をやると、やはりケーブル一本で済むシリアル系が手軽であり、ユーザも多そうという印象を受けた。調べた中から、簡易さと性能のバランス、日本語が通じる、などから、RCDライタを選んだ。

このライタは簡易であることが身上なので、ツェナダイオード(ZD)を購入した以外は、ありあわせの基板にありあわせの部品で作っている。とりあえず試用してやるか、程度のやっつけな気持ちもあった。この状態で1年半あまり。今ではすっかり右腕になっている。ハードウェアのバージョンは2.5相当。
ちなみにライタソフトは、なんの不満もないのでPICprog4U 0.8.3を使用。
ICソケットからの引き抜きには、千枚通しを使う。ICを深く挿すと、マイナスドライバーでは入らないことがあるため、鋭利な先端が必要。差し込み、こじながら浮かせて、さらに奥へ差し込み、最後はICの背中を指で押さえつつ、テコにして水平に引き抜いている。


remaked RDC writer 作りながら回路を眺めていると、気になる部分がいくつか出てきた。オリジナル(左)からいくつか変更して、現在まで安定して使用できている。

まずは、VPPの可変抵抗(R3)。
PICのVPPは、ワンタイム版を除けば極わずかな電流しか食わない。そのため、この抵抗があっても問題が出ていない、と思われる。データシートや書込仕様書を見ても、多くのデバイスでVPP電流の記載はない。PICのデータシートは、初期のデバイスのほど詳細に載っている癖があるので、フラッシュ版初期のPIC16F8X Programming Specificationあたりを見てみると200μA(max)とある。これはひとつの目安になる。
よく使う12F675で実測してみると、約5秒の書き込み時間で5%~10%ほど電圧が下がる。これらと470uFとでざっと計算すれば、VPPの入力抵抗は200kΩ~100kΩあたり、60μA~120μAとなる。R3が10kΩなら問題は起きそうもないが、そもそも存在の意味もないので入れてない。

シリアルポート保護のために入れたという、R6も微妙な存在。
ポートが±12Vで動作していると想定する。TxDが-12Vのときに、ZDの順方向を使ってC1を充電。+12Vに切り替わると、チャージポンプでC1の+端子は+24Vになってしまうので、ZDで+13Vでクランプするとともに、VPPを供給。この充放電の急激な電流を、緩くするための抵抗がR6。ポートの保護にはなると思うが、入れる位置がおかしい。
+24V→+13Vに落ちるまでに、ZDが流し捨てる電流によってR6に電圧が発生する。つまりZDの+13Vに下駄を履かせてしまう。しかも470uFと220Ωの時定数分の長時間、絶対定格を越える電圧がPICにかかる。入れたいのであれば、C1のどちらかの端子のすぐそばに入れるのが妥当だろう。またシリアルポートは外部へ引き出す線でもあり、ショートしても燃えないような電流制限機能が付いている。それで十分なので、R6も省いてある。

回路的に問題があったわけではないが、D7も変更した。
マルツ電波では、13VのZDが悪意を感じる価格設定になっていた。5.1V、8.2Vを併せて買ってもお釣りが来るので、これを直列にして使用した。このままでは、順方向のVFが倍になり、TxDがマイナスの間、VPPが-2VFにもなり、チャージポンプで昇圧した結果も下がってしまう。実動的には、前者はPIC内蔵のクランプダイオードで保護され、後者はポート電圧が十分高いので、問題は起きない。でも癪ではあるので、並列にダイオードを入れてある。D7-1~D7-3でオリジナルのD7と同等になる。

C2、R4で、VDDを遅延させているという。
どう考えても遅延しそうもないのだが、R4を取り払うとうまくない。この点は謎。

オリジナルのまま作成した当初は、1kワード近いプログラムは、かなりエラーが出やすい気がしていた。12F675は気難しがり屋というページにも共感を覚えた。回路変更後、たまにエラーが出ることはあるが、2度続けて出ることはまずない。気難しがりの原因を突き止めたわけではないが、1年半以上安定して使えているところから、少なくとも変更部分については間違ってはいないと思われる。

0 件のコメント:

コメントを投稿

.

関連記事


この記事へのリンク by 関連記事、被リンク記事をリストアップする」記事

ブログ アーカイブ