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に切り換える機能を持っていますのでターゲットによって切り換えることができます。

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


(2023.02.23) シリアル変換の専用機を作る
 以前にFT232Rを使った専用機を作ったのですがなぜか手元にありません。cp2102のものはIOが3.3Vになっています。厳密には5Vターゲットには応じてないことになります。そこで、手元にFT232RLのリユース品がありましたので専用機を作りました。
回路は以前のものと同じで、手持ちの関係でCとRが少し変わっているだけです。
スイッチを付けて5Vと3.3Vを切り替えています。今回はUSB端子を基板に直付けしてみました。片面ユニバーサル基板で支持金具をはんだ付けできないのでエポキシ接着剤で固定しています。



FT232RLはハガキ程度の厚紙にカプトンテープを貼ったものの上に両面テープで固定してリード線(0.26UEW)をはんだ付けしました。 ピッチが0.65mmなので白光のB型鏝先を使って、半ばカンに頼りながらやや苦労して取り付けました。
なお、取り出しは TXD と RXD だけの最小限になっています。


 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に入っているとありましたがチップには付いてこなかったし、困っていました。過去の話です。)

上記のアダプターがショートかハンダ不良で残念ながら使えなくなりました。修理を試みたのですがチップへのはんだ付けがあとからではできません。仕方なく組み替えることにしました。(2017.07.14)

最大の難関はこのチップのピッチ0.5mmの端子へのはんだ付けです。過去の経験から、端子と同じ高さでエナメル線を位置づけられる台を用意します。基板上に直接チップを置いてエナメルリードを端子位置に持ってくると高さ方向に斜めに位置づけるためハンダが困難になります。紙で台座を作って同じ高さにしました。また、直接基板上では扱いにくいので小さな青銅板にチップを貼り付け、同時に台座も貼り付けてはんだ付け専用の形としました。必要なリードを付け終わってハンダ部に力がかからないようにエポキシ接着剤でリードを固定したのが次の写真です。


今回は手を抜いて万能基板(たまたまこの大きさのものがありました)に組み立てました。機能はもっとも単純なTXDとRXDだけです。


回路図は前回と同じものですが、Rが手持ちの関係で適当に変わっています。この値でも動いています。


3.3V動作のため、5V電源のときはぎりぎりセーフといった感じで、たまにはドライブ電圧不足と思われる「使用不可」になることがあります。ダメなときは諦めてFT232RLを使うことにしています。

(2017.10.07)他の1台も使っているうちに線が傷んで調子が悪くなりましtので組み替えました。
神(紙)技がうまくなってハンダも良くなったようです。

UEWは0.2mmより少し細いもの(廃品利用)を使っています。半田鏝の鏝先はgootの1Cを使い、鏝に乗せるハンダの量が微妙ですから0.8mmのハンダをハサミでできるだけ細かく切ったものを鏝で拾って使っています。倍率の大きなルーペで位置を確認してから倍率の小さなルーペのもとではんだ付けしています。鏝先を当てるときは半ばカンでしています。
基板は適当にテープを置いて作りました。

回路図は上記のものと殆ど変わりません。DTRはチップから取り出しましたが外部には繋いでいません。必要が生じたら対処する予定です。なお、チップ抵抗は470Ωと4.7kの2種類しか持っていませんがデジタルの実験ではかなりの範囲をカバーすることができます。もっとも、今回も10kにするために直列にしたり、220がほしいので470を並列にして使っています。1608サイズで小さいので邪魔にならず(取扱は困難ですが)秋月で多量に買ったので惜しみなく使えます。


3台目(2021.01.05)
廃棄予定の基板にcp2102がついていました。ヒートガンで取り外せたので新購入の半田鏝(白光FX600-02)の鏝先テストを兼ねてUEWをつけてみたところそこそこにできたのでシリアル変換器に組み立てました。回路図は上記のものとほとんど変わっていません(15k抵抗を10kにしたくらい)。 高さと長さを切り詰めてみました。基板はプラスチックカッターで溝をいれて作っています。コードはロボットケーブルを使いました。
うまく廃物利用ができました。


 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