SSブログ

PIC&ESP32書き込みツールの製作

 ESP32用書き込みツールPIC用書き込みツールをこれまでに作りましたが、いずれもUSB-シリアル変換モジュールを使っているのでその部分を共用して一体化することにしました。
モジュールとしては USB Micro BコネクターのFT231X搭載モジュール(ESP32用ツールで使用)を使いたかったのですが、信号のレベルが3.3VのみなのでPICによっては使えず*、結局PIC用ツールで使用したFT232RL搭載モジュール(USB mini Bコネクター)を使う事にしました。
*FT231X入力は5Vトレラントなので5V系PICが出力する信号は受信できます。もしFT231Xの出力する3~3.3V程度のHighレベル信号をHighレベルとして扱ってくれる5V系PICであれば問題なく通信できるのでFT321X搭載モジュールも使えると思います。AE-FT231Xを使った場合の回路はこちらのようになると思います。(動作確認はしていません)

回路図を図1に示します。

図1
PIC&ESP32_Writer.jpg

構成としてはPIC用とESP32用とで共用される信号線で切り替えの必要なものをアナログスイッチで切り替えるだけです。

資料は以下で閲覧・ダウンロードできます。
回路図ならびに製作図
使用方法


 回路について若干説明します。
PICのVPP電圧生成回路は電流余裕を得るためにDC-DCコンバーターを使いました。
必要とするPICがあるかどうかわかりませんが、20mA程度は問題なく得られます。
この回路は負荷が小さい時は間欠動作をしますが電圧の安定化はできています。
出力側のC14 チップセラミックコンデンサーはリップル軽減のもので、無くても問題ないリップルレベルかもしれませんが念のために入れてあります。
 VPP生成回路としてはST662Aというチャージポンプ方式で12V/30mA出力するフラッシュメモリー用プログラム電源デバイスがあり、これを使っても良いかもしれません。(その場合は9Vは12Vから三端子レギュレーターで生成する。)

 信号線の切り替えはCMOSアナログスイッチ74HC4053を使っています。 実回路での確認はしていませんがCMOS4000シリーズの4053でも問題ないと思います。
CMOSアナログスイッチはOFF時の入力インピーダンスが高くノイズを拾いやすいので直接基板外部に出るラインにはサージ対策として47Ωを入れてあります。

 ResetとProgram ボタンは、ESP32プログラム時に何らかの原因で自動で書き込みモードにならない時にマニュアルで書き込みモードにする時やESP32をリセットする時に使用します。(ESP32書き込みツールの製作 参照)

 PICとESP32の切換えスイッチが小さくてちょっと貧弱です。ちょっと大きめのスイッチを探したのですがケースの蓋に当たって蓋が閉まらなくなるのでやむを得ず現状品を使っています。いろいろな店で探せばもっと良いスイッチがあるかもしれません。


>> ブログ記事一覧へ
nice!(0) 
共通テーマ:趣味・カルチャー

PICライター(PICerFT)の製作

 私の製作物の中でPICを使ったものはそのソフトウェアを提供していますが、それをPICに書き込む安価なツールが欲しいという方がおられるかもしれません。
純正のツールはデバッガー機能もあるので高価ですので 書き込み機能だけで安価なものを作れないかインターネットで探してみたところ、PICerFT という素晴らしいものがありましたので作ってみました。

PIC_Writer.jpg

 今回PICライターを製作するにあたり、これまでのいろいろなものを製作した際に購入した部品が結構余ってたので USBシリアル変換器AE-UM232R以外は新規購入しないというコンセプトでチャレンジしました。従いまして今回製作したものはオリジナルのPICerFT回路とは部品や回路が異なる箇所があります。
今のところ PIC12F1840, PIC16F1827, PIC24FJ64GA002, dsPIC33FJ64GP802 での書き込みは問題なくできていますが、他のデバイスについては検証できていませんので推奨できる回路ではありません。
回路と部品についてはあくまでもオリジナルのものを推奨しますが、抵抗器についてはチップに変えても良いのではないかと思います。その際には今回紹介している基板サイズと構造でも収納できると思いますので何らか参考になる部分があるかもしれません。

資料は以下で閲覧・ダウンロードできます。
回路図ならびに製作図
使用方法

 PICライターの部品コストは1,500円程度ですが、部品によってはパッケージ(複数個入り)購入なのでそれで計算すると2,500円程度かかると思われます。

今回製作した回路について説明します。

・ VPP電圧の元電圧生成にQ1 (2SC1815)でスイッチング動作していますが、安易に異なるトランジスターを用いるとスイッチング性能が悪かったりドライブ条件が不適当でQ1が発熱して発煙や発火に至る事があります。(この際Q1がショートモードで壊れるとL1を大きな電流が流れてL1も発煙・発火を起こす可能性があります。)
またスイッチング特性の低下やオン抵抗が増えたりすると十分な出力電圧が得られないこともあります。(L1の特性も出力電圧に影響します)
こういったことからQ1, L1についてはオリジナル回路で使われている部品を使うのが無難です。
私の製作した回路ではオリジナルと異なるものを使っていますが、オシロスコープで波形を確認したり部品の温度を確認して使っています。ただし同じ型のトランジスターでも個体差があるので推奨はできません。

・ VPP電圧生成に可変電圧レギュレーターNJM11100をIC2に使っていますがオリジナルでは12Vと9Vのツェナーダイオード 2本だけです。ツェナーを持ち合わせていれば当然それを使ったのですが、無かったのでNJM11100を使いました。
始めはNJM11100の電圧検出抵抗(R11~R14)は現在の値の1/10の値で構成していましたが、負荷が重くてIC2の入力電圧が低下して9Vの出力が出ませんでした。そこで電圧検出回路の抵抗を10倍したところ、9Vは出るようになったのですが未だ12Vは出ませんでした。更なる負荷の軽減のためR3,R4,R8の抵抗値を大きくし Q2をPチャンネルFET(AO3401)にしたら12Vが得られるようになりました。
但し、実際にVPP電圧12V品のPICを繋いで負荷を増やしたときに十分な電圧が出るかどうかは そういうデバイスを持っていないので確認しておりません。
<2023.10.14記> VPP電圧生成に関しては「PIC&ESP32書き込みツールの製作」で使っている回路やST662Aを使う回路などにするとVPP電流が大きめのデバイスでも安心して使えます。

・ RST信号(AE-UM232RのRI#出力)はLowレベルの出力が若干高い様でQ4にはコレクター電流が流れます。R3の値を大きくしたのでわずかなコレクター電流でもQ2をONするに十分なゲート電圧を生じていたので、R15を追加してQ4のベース電流を減らして(すなわちコレクター電流を減らして)Q2のONを防いでいます。


<2023.10.12記>
PICとESP32兼用書き込みツールを作りました。こちら参照。

===== 関連記事 =====
ESP32書き込みツールの製作


>> ブログ記事一覧へ
nice!(0) 
共通テーマ:趣味・カルチャー