2021年10月10日日曜日

CH340KでArduino Unoクローンをつくる

  先日、いくつかの部品を例によって、秋月から購入した時に CH340K というICも併せ入手しました。
 シリアル‐USB変換用ICといえばこれまでは FTDI 社の FT232シリーズが有名で、その多機能・高性能を売りにしてきたのですが、シリアル-USB変換用のみに使用するには比較的高価でした。

 そうこうするうちにFT232のクローン?や安価な変換IC が出現したりしましたが、ここのところ安価な中華製品には16ピンの CH340G が使われてきました。
 この CH340G は中国は南京にある会社の製造によるもので、WCH(WinChipHead)ブランドです。

 今回、上写真にある CH340K に注目したのは、非常に小型10-pin ESSOP ピン間隔1mmで12MHzの発振器も内蔵しており、シリアル‐USB変換回路が、部品点数も少なく、かなり小さくできそうな予感がしたからです。

 右写真に各ピンの割り当てを示します。
 単に、シリアル‐USB変換に使うだけなら、右端の2ピンは無視してかまいません。

 







 ただ以下の点に注意してください、
 1. V3ピンは必ず0.1uFでグランドに落とすこと
 2. Arduino Unoクローンへ応用するときには#DTRピンと ATmega328 のリセット・ピンを0.1uFで結ぶこと。

 それではArduino Unoクローンを作っていきましょう。
 最初にAVRプログラマを用いて ATmega328 にヒューズ・ビットを書き込みます。 Arduino Unoでは搭載している ATmega328 に Low:FF High:D6 Ex:FD が書き込まれています。私は左写真のように自作のプログラマ HIDaspx をつかい、ISPで書き込んでいます、このプログラマは随分前のものですが、信頼性も高く重宝しています。(書き込まれる ATmega328 の現状ヒューズ・ビットが不明な場合は外付けクリスタルが必要です。)

 つぎにこのままの接続で、Arduino IDEを立ち上げ、メニューバーツール→ボードで Arduino Uno を指定します。

 次いで、メニューバー→ファイル→スケッチ例→01.Basics→Blinkで新しい画面を出し、そのメニューバーの左端のチェック・ボタンを押してコンパイルします。


 コンパイルされた .hex ファイルは、PC→ローカルディスク→Arduino→temp と辿った先のtempファイルの中にあります。

 左に示したのがそれで、「Blink.ino.with.bootloader.hex」がお目当ての .hex ファイルです。

 このファイルをプログラマで先ほどヒューズ・ビットを書き込んだ ATmega328 に書き込みます。


 右図はCH340KSOP→DIPへの8ピン変換基板に載せたものと ATmega328 との結線を簡単に表現したものです。
 前述したように赤丸で示した0.1uFを忘れないように、、、、

 USBプラグの電源線赤(+5V)(GND)や ATmega328 周りの配線などは省略してあります。


 左写真は先ほどの「Blink」プログラムを実行しているところです。

 この状態からこのまま他のプログラム、おっとスケッチというんでしたっけ、もアップ・ロードして実行可能です。

 こうしてみると思ったように小型化できていると思います。
 こう見えてもArduino Unoクローンなのですから、、、、

0 件のコメント: