
電池で動作する機器のシリアルを送受信したくて、任意の電圧とのレベル変換機能があるUSBシリアルアダプタを設計したいと思います。
必要な部品

- USBコネクタ変換基板
- USBシルアル変換IC CH340C
- レベル変換IC RS0102
- 抵抗・LED・ピンソケット
です。
USBコネクタ変換基板
USB TypeCのコネクタから、電源とD+,D-の信号を引き出すための変換ボードです。上記の商品は、あらかじめCCピンに5.1kΩが接続されているので、外付けする必要がないので便利です。
USBシルアル変換IC
CH340Cは、接続する部品はコンデンサ2個だけ、あとはUSBコネクタのD+,D-を接続するだけという、とっても簡単に使えるUSBシリアル変換ICです。
ロジックレベル変換IC
RS0102(データシート)は、1.6Vから5.5Vまで対応した2回路入りのロジックレベル変換ICです。
USBシリアル変換ICのロジックレベルは5Vなので、ターゲットの機器のロジックレベルを5Vに変換します。
回路
回路図

回路は上の図のようになります。左からUSB変換基板、USBシリアル変換IC、確認用LED、ロジックレベル変換ICです。とても少ない部品で構成されているのがわかります。
試作

ユニバーサル基板に組み立てました。VCCに適当な電圧を印加し、RXDをGNDに接続すると、RXDのLEDが点灯しました。動作しているっぽいです。
パソコンで認識するか

それではパソコンに接続してみます。シリアル送受信のソフトのポートに「usbrerial-1420」が追加されました。パソコンにUSBシリアルとして認識されていることが確認できました。
実験
構成図

ロジックレベル変換のUSBシリアルアダプタが正常に動作するか、実験してみます。データの送信機にはPadaukのPFS123というマイコンを使います。このマイコンでシリアル信号を生成します。
マイコンの電源に安定化電源を接続し、電源電圧を変化できるようにしておきます。電源電圧を変化させると、シリアルのロジックレベルもそれに合わせて変化します。
電源電圧5V

まずは電源電圧を5Vにして実験です。Padaukマイコンは、super easy PDK Programmerを使って、プログラムの書き込みと実行を行っています。

シリアルのソフトにデータがどんどんやってきます。Padaukマイコンは、AA、カウント値、内部の1.2VリファレンスをADした値の合計4バイトを送信しています。受信データもそのようになっていますね。
4096 / AD値 *1.2 = 電源電圧 となるはずなので、計算してみます。
0x03B9を10進数に直すと953です。4096 / 953 *1.2 = 5.16V。電源電圧は5.16Vと推定されます。Padaukのリファレンス電源やADはそんなに正確ではないので、こんなもんだと思います。
電源電圧3.3V

電源電圧を3.3Vに下げてみます。大丈夫です。受信できています。
AD値の0x05C6を10進数に直すと1478です。4096 / 1478 *1.2 = 3.33V。電源電圧は3.33Vと推定。だいたい合ってますね。
2.08V

電源電圧をさらに下げて2.08Vにしました。これより下げるとマイコンが停止してしまいました。
AD値の0x0934を10進数に直すと2356です。4096 / 2356 *1.2 = 2.09V。電源電圧は2.09Vと推定。
電源電圧を2.08Vまで下げても正常に動作していますね。
正常に動作しました

レベル変換つきのUSBシリアルアダプタが正常に動作することがわかりました!!
基板を発注
基板を設計する

KiCadで基板を設計します。せっかくなのでTXDとRXDだけでなく、Arduino Pro Miniの書き込み機と同じピン配置でDTRとCTSも追加してみました。
シリアルの信号ってどれがINでどれがOUTなのかわかりにくいので、信号名にINとOUTを追加しました。

まとめて実装しやすいように、面付けします。今回は8枚を面付けして、10cm x 10cmの基板にしました。
子基板と子基板とはVカットで分割できるようにしました。Vカットの溝を掘ってもらいたところに、外形線で線を引きます。そして線の先端に「V-CUT」とシルクレイヤに書いておきます。Vカットは、横と縦のみ製造可能で、斜めは製造できません。
基板の発注

いつものPCBgogoに基板を発注します。まずは基板パラーメータの設定です。色々ありますが、上の5カ所を設定すれば十分です。

メタルマスクも一緒に作ってもらいます。メタルマスクは上記の2カ所だけ設定すればOKです。PCBgogoは全て日本語でOKです。このためメタルマスクのカットの指示も日本語で大丈夫です。
以上で設定が完了です。カートに入れてガーバーファイルをアップロードします。

ガーバーファイルをアップロードすると、PCBgogoでデータのレビュー(チェック)が開始されます。場合によっては時間がかかりますが、今回は5分で完了しました。右下のレジに進むをクリックします。

配送手段を選択し、右側の「支払い」をクリックします。PayPalの決済画面が表示されるので、支払いを完了させます。
以上で発注完了です。
届いたら組み立てたいと思います。
2025.7.17追加 続きはこちら
追加終わり
ここで紹介している「レベル変換機能付きUSBシリアル」はKohacraftのShopで販売しています。






コメント