最近のマイコンに驚愕2022/07/08 21:55

Arduino Unoもどき

Arduino Unoが欲しい、でもちょっとお高い。そこで.....

最近のマイコンチップは5V電源のみで書き込みができるらしい。 さらにはArduinoというマイコンボードとその開発環境であるArduinoIDEの出現で、マイコン開発がめっちゃ楽になってるっぽい。 さらにはArduinoIDEはMacでも動く。 当然インストールしても、ターゲットがないので、単なるなんにもできないアプリケーションだが.....。

一般的に入手しやすくてとっつきやすいのはArduino Unoなのだけれど、まぁそれなりのお値段します。 いろいろネットで調べた結果、ブートローダー書き込み済みのマイコンチップとやらも売っていて、それにUSBシリアル変換キットを繋げれば、Arduinoもどきが作れることが判明。

ということで無性にマイコンいじりたくなって、秋月でいろいろ通販で買っちゃいました(^^;。 とりあえず今回作ったのはArduino Proもどき。 内蔵クロックの8MHz動作させるので、外部クリスタルも不要。 マイコンチップは400円ととても安いのだけれど、左隣のUSBシリアル変換キットが1100円以上もして、結局普通の値段になってしまった(;_;。

QFPの半田付けがこんなに大変だとは思いませんでした2022/07/09 12:39

ATmega48 on DIP-32変換ボード

3.3Vで動作して12MHz以上のクロック動作する中で、秋月で一番安かったので購入したのですが>ATmega48-20PU。。。

QFPの半田付けにはまりました...orz。 HPの写真は拡大されているので、気づきませんでしたが、 LSIパッケージの一辺が約7mm角<小指の幅より小さい。 ハンダ溢れて隣とくっつくは、最終確認としてテスターあててみたら、接触不良端子が見つかるは、何度も心が折れそうになりました。 フラックスを買いそびれたことも、失敗に拍車をかけたことでしょう。 半田吸い取る過程でLSI熱しすぎで壊れてなければいいんだけど。。。

せめてもの幸いだったのは、昨日百円ショップでルーペと拡大メガネを買っておいたことでした。

もうQFPの半田付けは嫌だ〜。 次からは多少高くてオーバースペックでもDIPのATmega328Pにしよう。 そうしよう。

USBaspの自作2022/07/12 22:31

QFPの半田付けで苦労したATmega48ですが、当初の予定通りUSBaspを参考にAVRマイコン書き込み装置を自作しました。 奥のブレッドボードはターゲットマイコンです。 「書き込み装置が無いのにどうやってプログラム書き込むの?」という、靴紐問題というかにわたま問題が出てくるのですが、そこは「FDTI」、「BitBang」で検索してください。

久しぶりのボード作成だったこともあり、 半田付けで繋がってなかったり、隣のランドと半田でショートしちゃったりと、下手になったな〜と結構へこみました。 フラックスを買いそびれていた失敗もあるんですが、配線に使った線材がブレッドボード用ので、太すぎて複数色あって回路たどりやすいメリットを全て打ち消すほど邪魔でした(^^;。 程よい太さの単線の被覆線材ってなかなかないのよね〜

ArduinoもどきモードとBitBang書き込みモードの両立2022/07/14 01:10

AE-UM232Rを使ったシリアル通信とBitBang書き込みの両立

秋月からAE-UM232RというFT232Rチップを使用したモジュールが販売されているのですが、これはよくAVRマイコンにBitBang方式でプログラム書き込みできることで知られています。 このモジュールはBitBangで使用する RI#/DSR#/DCD#/CTS# 信号ラインの出力端子があるので重宝されているのですが、いかんせん大きい。 DIP24ピンで幅が600mil(2.54mm X 6=約15mm)と、ちょっと普段使いしにくい大きさです。

私もAVRマイコン(ATmega48)に書き込みプログラムを書き込むのに使用したら、その後お役御免だと思っていました。 ところがいざマイコンプログラムを開発しようと思うと、設定変更でブートローダーを書き換えたいので、その度にマイコンチップを書き換え装置に差し替え直して、動作確認のためにマイコンベースボードに差し戻して・・・、という作業が起こり、その度にボードの設定を変更し直しとかとか、面倒だということがわかりました。

よく考えたら、AE-UM232RモジュールのBitBang書き込みには、シリアル通信のarduinoプロトコルで必要な TXD/RXD/DTR#/RTS# などの信号線を使っていません。 ならば、シリアル信号線も結線してしまえば、ブートローダー書き込みとArduinoIDEからのスケッチアップロードも、一本のUSB接続で両方できるんではなかろうかと。

結論:無事できました。 四苦八苦して結局使い方がわからなかったUSBaspLoaderより、なんぼか自由度が高かった (そのかわりArduinoIDEの設定修正が大変でしたけど^^)。 唯一の欠点は、AE-UM232RモジュールのUSBポートがmini-Bだということでしょうか(^^;。 百円ショップではケーブルが売ってませんでした(^^;;;。