11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【電子工作】CH340Eを使ったUSBシリアル変換モジュールを自作してみました!

マイコンを使った電子工作をやられている方ならUSBシリアル変換モジュール(USB to TTL)は1つや2つは持っていると思います。

USBシリアル変換モジュールはマイコンボードや組んだ回路などとPCを接続してデータをやり取りするために主に使われます。
マイコンを使った電子工作では必須アイテムですね!

変換チップにCH340やCP2012・FT232が使われたものなど、また5Vや3.3V(またはそれ以外の電圧)で使えるもの、そしてUSB端子の形状など様々なものが販売されています。

USBシリアル変換モジュールはいくつ持っているのか自分でもあまり把握出来ていませんが、普段よく使う手元に置いているものではこのあたりのモジュールが使いやすい感じです。

赤い基板の方はFTDI社製のFT232RL変換チップを使ったUSBシリアル変換モジュールです。
ドライバが不要で、そしてジャンパーソケットにより5V or 3.3Vの電圧切替が出来るタイプのものでよく使っています。

また青い基板の方は秋月電子さんのFT232RQが使われたものです。
こちらも同様にドライバ不要でDIPスイッチで電圧切り替えが出来るタイプのものです。
ピン配列がArduin Pro Miniと同じなので差し込むだけでスケッチの書き込みが出来るのもArduinoをよく使う私には便利に使えるモジュールです。

このようにUSBシリアル変換モジュールはいくつか持っているので私の用途では困ることはないのですが、製品によってUSB端子の形状が様々です。

上記のモジュールを例にするとFT232RLが使われたモジュールはMiniUSB端子、また秋月さんのFT232RQモジュールではMicroUSB端子となっています。
普段Type-C端子を使うことが多くなってきましたが、意外と?Type-Cに対応したUSB-シリアル変換モジュールってあまり販売されていない気がします。

ということでCH340Eを使いType-C端子に対応したUSBシリアル変換モジュール基板を自作してみました。

CH340Eを使ったUSBシリアル変換モジュールを自作する!

冒頭でお話したようにType-C端子に対応したUSBシリアル変換モジュールってあまりまだ出回っていないのかな?

手元にあるもので確認するとType-C端子に対応したモジュールは秋月電子さんで販売されているこちらのモジュール1つだけでした。
変換チップにCH340Eが使われたタイプのものです。

Arduino Pro Miniを使った製作物を作っている時に購入したものですが、このモジュールもPro Miniとピン配置が同じなので差し込むだけでスケッチの書き込みが出来ます。
Type-C端子に対応したものを私はこれしか持っていないということもありよく使っています。

MicroUSBやMiniUSBなど、PCまわりでUSBケーブルの端子タイプを確認して用意するのって結構面倒なんですよね!
電子工作関連のこのようなモジュールや製品などもう少しType-Cに対応したものが増えてくれれば便利なんですけどね。

そして秋月電子さんのこのUSBシリアル変換モジュールは5V仕様となっており電圧切替は出来ないタイプのものとなっています。

ちょうどオリジナルのArduinoボード製作を検討していてCH340CやCH340GなどCH340シリーズのチップを使ったテストをブレッドボード上で行っていたので、今回その流れでCH340Eを使ったUSBシリアル変換モジュールを自作してみました。

Type-C端子で5V or 3.3Vの電圧切替が出来るタイプのものとなります。

CH340Eを使った回路設計

CH340シリーズの変換チップにはCH340GやCH340C/CH340E/CH340Nなどがラインナップされています。
結構多いですね!

CH340シリーズのチップは単価が安いのでArduino互換機などでよく使われているのを目にします。

参考 CH340データシート秋月電子通商

CH340G以外はクリスタルが不要で内部発振器で動いてくれます。
またチップに取り付けるパーツも電源ラインのバイパスコンデンサだけというお手軽さで、UARTの制御に使われるDTRやRTS端子を使うことが出来ます。

CH340シリーズのチップを使いオリジナルArduino Unoボードの製作を考えていますが、CH340GやCH340Cなどブレッドボード上で試していたところ、その流れでCH340Eを使えば秋月電子さんで販売されているモジュールの電圧切替が出来るタイプのものが作れるということで基板を製作しました。

回路構成はこんな感じ。

CH340Eは外部クリスタルを付ける必要がなく、データシートによると電源ライン(VCC/V3)にそれぞれバイパスコンデンサを付けるのみという非常にシンプルな構成で作ることが出来ます。

VCCに付けるのが外部電源用のバイパスコンデンサ、V3に付けるのがチップ内臓の3.3Vレギュレーター用ということでしょうか。

MEMO
V3端子-GND間には必ずこのコンデンサを入れる必要があります!
ブレッドボード上で何度もテストしましたが、このコンデンサを入れておかないとデバイスとしてPCに認識されないようです!

あとチップ内臓の3.3V(V3端子)からの出力は使わず、外部に3.3Vレギュレータを取り付けました。
CH340Eの最大出力電流は20mAほどですが、ESP8266など消費電流が高いデバイスと接続して使う際に駆動できないなど不安定になることがこれまで手持ちのUSBシリアル変換モジュールを使った場合に何度も経験したので取り付けています。

CH340EにはDTR端子が付いていませんがRTS端子が付いています。
Arduinoへの書き込みの際もRTS端子からの信号がLOWレベルになりArduino側にリセットをかけることが出来るので書き込みも問題なく行うことが出来ました。

またCH340Eはデータ送信時にTNOW端子がHIGHになります。
この端子にLEDを取り付ければデータ送信時のインジケーターランプとして使うことが出来ます。
秋月電子さんのモジュールでもこの端子を使いLEDが点滅するようになっていますが、データ受信時はこの端子はLOWのままなので点灯しません。

データ送受信でランプを点灯させるために今回TX/RXラインにインジケーター用のLEDをそれぞれ取り付けました。

電圧切替やArduino、ESP8266など書き込みテストも問題ないようです。

JLCPCBに基板発注

今回も基板の発注はJLCPCBさんを使いました。
このサイズの基板なら400~500円程度、10日ほどで手元に届きます。

一応基板データ(ガーバーファイル)をダウンロード出来るようにしておきます。
何かの参考になればと思います。

またJLCPCBへの基板発注方法に関しては、こちらの記事で詳しく解説しているので合わせて読んで頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!

0805サイズのパーツをベースに作っているので通常の手はんだでも実装できますが、最近導入したヒートガンを使ってパーツの実装を行いました。

パーツの実装

使用パーツは0805サイズをベースとしているので手はんだでも可能ですが、Type-C端子やCH340EはMSOP-10パッケージサイズと非常にピッチが狭いのでヒートガンを使ってパーツ実装を行いました。

ブリッジした箇所を後ではんだゴテを使い修正する程度でヒートガンを使えばサクッと綺麗に仕上がりました。

表面実装パーツのはんだ付けはヒートガンが非常に役立ちます!
ほんと便利な道具ですよね!

【電子工作】初めてのヒートガン(リワークステーション)を買ってみました!1台持っているとはんだ作業で大変重宝します!【RF4 RF-H2】
使用パーツ一覧
コンデンサC110μF(0805)
C2/C31μF(0805)
C4/C50.1μF(0805)
LEDD1電源LED(0805)
D2TX LED(0805)
D3RX LED(0805)
抵抗R1/R4/R51kΩ(0805)
R2/R35.1kΩ(0805)
リセッタブルヒューズF1350mA(0805)
USB Type端子J1基板取付用
6PピンヘッダーJ2or ピンソケット
AP7333-33SAGU13.3Vレギュレーター
CH340EU2USB-シリアル変換IC
スライドスイッチ(SMD)U3MSK-12C02

最後に!

電圧切替が出来るタイプでUSB Type-C端子に対応したUSBシリアル変換モジュールを持っていないことから、Kicadの練習も兼ねてCH340Eを使って自作してみました。

JLCPCBさんでの基板製作料金と用意したパーツ(ほぼ手持ちパーツです)を合わせて700円ほどで作ることが出来ました。

USBシリアル変換モジュールは販売されているものもこれくらいの価格で入手する事が出来るのでわざわざ自分で作る方なんてあまりいないと思いますが・・・でも自分で作ったものが使えると愛着もわき電子工作としては楽しいものですね!

私が持っているUSBシリアル変換モジュールではMiniUSB端子となりますがFTDIのこちらのモジュールが安価ですが問題なく使えるので1つ持っておくと便利だと思います。

コメントを残す