USB-UARTコンバータ   

 いくつかのコンバータをコピー製作しましたが作る手間と安定性から3種類を報告します。いずれも私の作業に必要なTXDとRXDだけを取り出すことにしています。3番目のcp2102は手に入りにくい上に小さすぎるので一般的には使いにくいのですが以前にデジキーでいくつかまとめ買いをしましたことと小型にできるので愛用している関係で付け加えています。
  AVRのUARTはTXDとRXDの2本をつなげばPCと通信することができます。データをPCに収集するだけでなく、特定の場所にデータ(文字)を埋め込んでデバグに使ったり、反対にPCからキャラクタを送ってプログラムの選択をすることができます。プログラムを書くときには、tera-termで通信することでずいぶん重宝します。 このデバグの方法はSDカードの読み取り実験では大きな役割を果たしてくれました。 UART通信は本来COMポートなのですが、COMポートのないコンピュータが一般になりましたのでUSB経由のCOMポートが必要になっています。


 FT232RL使用版 
 PIC18spx使用版 
 cp2102使用版 
 CH340G使用版(完成品)  2016.01.23






 FT232RL使用版 

その昔のFTDI232BMは値段も高く周辺部品も多くて扱いにくいものでしたが FT232RL になってチップ形状を含めて扱いやすくなりました。また秋月で入手しやすく価格も手ごろです。

写真のものは他の目的のためにTXD、RXD以外の信号線を取り出してある上にライタ機能の信号線も後に加えたために複雑な姿になっています。実際には次の回路図どおりに作るとコンバータ専用機としてシンプルにできると思います。3種類の中では最も一般的であり作りやすいものでしょう。



このデバイスは出力の電源電圧を5Vと3.3Vに切り換える機能を持っていますのでターゲットによって切り換えることができます。

使用に当たってはデバイスドライバのインストールが必要だったと記憶しています。(コンピュータをいろいろと使っている内に何が必要なのか分からなくなります。必要であっても以前にインストールしてあって何事もなく使える場合がしばしばあります。コンピュータを新しくしたときには気が付くのですが...)
なお、秋月のハンダ済みモジュールを使うとブレッドボードでも作ることができます。手元にはありませんが。

 FT232RL使用版 おわり







 PIC18spx使用版 
irukaさんが開発されたpic18spxはシリアル変換機能、ライタ機能、IO機能など多くの機能があるのですがここではシリアル変換機能の専用機を報告します。
常時使っているときはPCで機能変更も苦にならないのですが、機能変更の方法をよく忘れるので2台必要になっても専用機がほしいと思ってirukaさんにお願いしたところ800番地から始まるシリアル変換プログラムを快くすぐに作ってくれました。ライタ機能はありませんが、つなぐだけでシリアル変換してくれますのでらくに使えます。(irukaさんに感謝)





このpic18spxはpicを使うのですがPICライタが無くてもHIDaspxで書き込めるのでAVRファンにもハードルが低くなっています。HIDaspxでブートローダを書き込み、アプリをUSB経由のUARTでチップに読み込む形を取っています。
irukaさんのサイトにファイルがあるのですが、その後senshuさんが改良を加えられていて現在の状態を十分理解できていませんのでファームウエアの現状は報告できません。ただ、私が現在使っているシリアルコンバータに付いては AVR試用記(本館)に書いていますので参考にしてください。やがて最新の情報を理解できたらこの項を書き換えます。

PICのUSBハードウエアを利用しているので高速かつ安定に動作すると報告されています。価格も手ごろであり自作好きの方には面白い作品だと思います。

 PIC18spx使用版 おわり






 cp2102使用版 
FT232RLが発売される前のFTDI232BMしかないときに、外付け部品が極端に少ないこのデバイスを知ってDigiKeyで複数を注文しました。ピッチ0.5mmでリードがありませんからハンダ付け工作は難しいのですがなかなか素直に働いてくれるので愛用しています。(以前に何気なく検索していたら米国のサイトに「手ハンダしたやつがいる」と写真付きで紹介されていたことがありました。)



遊び心でUSBコネクタも基板で作ってみました。手元では十分実用になっています。



電源はUSBバスの5Vを使用していますが、このデバイスは内蔵のレギュレータで3.3Vに変換し、すべての回路が3.3Vで動いているようです。したがって、TXD端子も出力が3.3Vしか出ていません。AVRが5V動作の時は必要なH入力は5V*0.6=3.0Vですから、かろうじて使えています。一方、入力端子(RXD)は5Vトレラントらしく、5V入力を直接加えている回路を見ます。この場合も10kの保護抵抗?は入れてありますが、5V動作のAVRに接続するときは5Vがかかることになります。結果的には切り換えなく5Vと3.3Vで使えます。 このデバイスのドライバも、今ではWinXPかWEB上にあるようで(無責任?)何となくインストールできています。私の場合は過去にインストールしていましたのでそのまま使えました。(Win2kのころでしたか、デバイスドライバが見つからないとずっと拒否さてれていた記憶があります。トラ技にはCDに入っているとありましたがチップには付いてこなかったし、困っていました。過去の話です。)

 cp2102使用版 おわり






 CH340G使用版(完成品) 
 amazonに送料込みで¥198という低価格で出ていましたので購入してみました。そのまま使える完成品です。
web上の情報を総合すると、素子はCH340Gで接続ピンにはTXDとRXDの信号線のみである。5Vと3.3Vの切り替えをジャンパーピンで行える。arduino用のDTRは出ていないが素子は持っているので引き出せば使える。ということです。
DTRをArduinoのために取り出すことにするとリードはハンダ付けになりますからリードとコネクタが付いた変換器に改造することにしました。



1は改造のために保護フィルム(収縮チューブ)を取り去ったところです。
2は裏面です。TDR取り出し用の基板片を両面テープで貼り付けました。
3はリードを引き出しているところです。柔らかい4芯のロボットケーブルを使いました。
4は完成です。保護のために透明ビニルフィルムを巻いています。

Vcc端子は、5V端子または3.3V端子とショートピンで繋ぐようになっています。ショートピンを5Vに繋いで電圧を測ると 3.3V端子=3.15V  TXD端子=4.8V  RXD端子=4.8V (4.8Vはバス電圧と考えられる)となります。また、ショートピンを3.3V端子に繋ぐと 5V端子=4.8V  TXD端子=3.3V  RXD端子=3.3V となります。Vccピンはショートピンで埋まるから外部では使えない、5Vと3.3Vのピンは空いているピンの電圧は意味が無い、と考えられます。
このピンの切替は動作電圧(TXD、RXDなどの)の切り替えのためだけと判断しました。この基板から電源を取ることは考えられてないようです。したがって取り出しリードは、TXD RXD DTR GND の4端子としました。

使用OSはwin8.1です。UNO互換機は同じCH340Gを使っているのですがドライバーは自動でインストールできたのに対して、この変換器は自動ではダメでした。ドライバーCH341SER.zipをダウンロードして手動でインストールしました。
テストは、mini互換機で行いましたがスケッチの書き込み、データ通信ともに問題なく動作しました。(miniは16MHz 5Vですが動くので3.3Vで使っています)

コストパフォーマンスが良い変換器といえるでしょう。

(2016.01.24追記) R8C/M12A に使ってみました。こちらはDTRの必要はないので遊ばせています。もちろんプログラムの書き込みもデータ通信も問題はありません。嵩も小さくgoodです。
  CH340G使用版(既成品) おわり




















inserted by FC2 system