PR 記事には広告が含まれています
Translate

ESP32の書き込み用にCH340Cを使った回路を作ってみました(成功)

CH340C

先日作った回路はCH340Kがパソコンで認識できなかったので、CH340Cを使って回路を作ってみました。

先日の失敗回路の記事はこちらです。

スポンサーリンク

回路図

ESP32Writer

回路は先日とほぼ同じで、USBシリアル変換ICにはCH340Cを使い、トランジスタの代わりにMOS-FETを使っています。IC1つとMOS-FET2個、コンデンサ2個ととても簡単な回路です。

C2の1uFは、これがあるとプログラムの書き込み時に書き込みモードに入らないというエラーが起こりにくい気がします。

スポンサーリンク

はんだ付け

ユニバーサル基板にはんだ付けします。

程なくして回路完成です。

ESP32-DevKitCの書き込み回路と置き換えてみます。

スポンサーリンク

パソコンで認識するか?

 

CH340Kの時は、全く認識されなかったのですが、今回はすんなり認識しています。

Arduino IDEでも、今回作った回路のシリアルポートが選べるようになっています。

スポンサーリンク

プログラムの書き込み

書き込めました!!

書き込み回路にトランジスタではなくMOS-FETを使ったのですが、正常にリセット信号とBootモードの信号が出力され、ESP32の書き込みモードに入ることが確認できました。

ESP32-DevkitCに正常にプログラムが書き込まれました。

テストプログラムは、ニキシー管時計の時刻の分が更新される時に、時間が1秒間だけランダムに表示されるというギミックとなっています。

かわいい目覚まし時計の姿のニキシー管時計は、こちらで販売しています。
目覚まし時計風ニキシー管時計販売
スポンサーリンク

シンプルな書き込み回路ができました

CH340CとMOS-FET2個で、ESP32の書き込み回路ができました。

電池2,3本で動作するESP32-DevKitC互換機ができました👇👇!!

コメント

  1. とても参考になる情報を公開してくださり,ありがとうございます。
    BSS138はとてもよいですね。私も常にストックして使っています。

    私も2002年ですが,ニキシークロックを作ったことがあります。
    https://spectrum.ieee.org/new-life-for-nixies

    ところで一つ教えて欲しいのですが CTSとRTSですが,ショートする必要はないのでしょうか? CTSがオープンなのが気になったのですが・・・。昔のパソコン,PC9801の時代にシリアル通信で,パソコンからデータを送信するとき,自作の回路ではたいていの場合,それらはショートしていました。わたしのニキシークロックでもGPSとの接続でショートしています。

    こちらの記事は私とは関係が無いのですが,そのことに触れていたりします。
    https://www.cqpub.co.jp/hanbai/books/46/46071/46071_p113-116.pdf

    • matsuさん
      お役に立てて嬉しいです。
      あえて仕組みを魅せるGPSニキシー管時計いいですね。
      記事最後のグレイさんが「古めかしいニキシー管を現代のマイコンで制御するのが妙でありそこがまた楽しい」言っていることに同感です。

      UARTの制御信号に関してですが、ESP32DevkitCの本家の回路図
      https://dl.espressif.com/dl/schematics/esp32_devkitc_v4-sch.pdf
      によると、プログラムの書き込み時にESP32がダウンロードモードでブートするよう、UARTの制御信号のうち出力ピンのDTR,RTSピンを使い、入力ピンのDRS,CTS入力ピンは未使用になっていました。これに合わせたため、CTSがオープンにしてあります。
      おそらく、教えて頂いたCQ出版の文献116ページにある「制御信号の転用」のように、制御線をフロー制御などに利用せず、単純にIOピンとして書き込みに利用しているのだと思います。
      ESP32に接続するUARTとして使う分には、CTSがオープンでも問題なさそうです。もちろんフロー制御になった時のために、CTSとRTSをショートしておいてもいいのではないかと思います。
      シリアル通信は、ケーブルにストレートとかクロスとか全結線タイプとか、オスメス変換アダプタとか色々あって正しく選ばないと通信できなくて複雑でしたね。
      貴重な資料と情報ありがとうございます。

  2. kohapepe様

    ご回答ありがとうございます。
    とてもわかり易く、疑問点解消できました!注意点も添えていただき助かります

    回路作成の参考にさせていただきますm(_ _)m

  3. コメント失礼します。
    当方ESP WROOM 32単体モジュールを用いた小型基板作成を検討しているのですが、小型化のため書き込み部とモジュール部の切り離しを計画しております。

    そんな中こちらのサイトを拝見し、私の知りたい情報が詰まっておりとても感動しました。

    サイト内容に関し質問があるのですが、お手好きの際回答いただけると幸いです。

    こちらのサイトではDivKitCに接続し書き込みをしていましたが、ESP WROOM 32単体でも、同様のPin接続でプログラム書き込み可能でしょうか?(別途ESP WROOM 32単体に電源など必要でしょうか)
    またMosfetを用いていることにより書込みモード用スイッチは必要ない(自動書き込み)の回路となっているとの認識であっていますでしょうか。

    よろしくお願いしますm(_ _)m

    • Bさん ブログを読んで頂いてありがとうございます。
      Q.別途ESP WROOM 32単体に電源など必要でしょうか
      A.書き込みの際には、書き込みのための接続の他に、ESP32に3.3Vの電源を供給する必要があります
      また、ENピンはプルアップなどが必要です。

      Q.書込みモード用スイッチは必要ないでしょうか
      A.自動書き込みができない時のために、IO0をGNDレベルにするためのスイッチまたは、パッドがあった方がいいと思いますが、
      これまでのところ問題は起きていません。ただし、回路図中のC2の1uFが無いと自動書き込みに失敗する確率が高いようです。

      書き込み回路にトランジスタではなくMOSFETを使うことで、トランジスタのベースに接続する抵抗が不要になり、省スペース化できますね。
      注意が必要なのは、一般的なMOSFETはONするためのゲート電圧が4V程度という点です。そのため、3.3Vで動作させるためには低電圧でONするMOSFETが必要です。
      BSS138は2V程度からONし、また入手性もいいため今回の回路に採用しました。
      参考にして頂けて嬉しいです。これからもよろしくお願いします。