【書籍】作って遊べるArduino互換機を買った。
arduino互換機を作成する為、AVRマイコンにブートローダーを書き込みたかったからだ。
将来的には3.3Vで動くarduino互換機を作成したいし。
書籍には付属基板があり、秋月の部品セット1000円、AVRマイコンを前回購入してある。
『作って遊べるArduino互換機』パーツセット
基板の組み立てはUSB-シリアルコンバータのFT232RLが表面実装ですごく細かい。
amazonのレビューでは「あまりに細かく素人には無理」とのこと。
まぁ、出来るだろうとおもったがはまった。
まず、チップを両面テープで固定してからクリーム半田を盛って加熱。
所々ブリッジしていたので、はんだ吸い取り線で半田を吸い取りなじませた。
半田が取れすぎてしまったようなところは、再度ハンダをもった。
その際、又ブリッジが起きてしまうが、ホームセンターで売ってる半田フラックスを、つま楊枝で足に塗ってから半田コテをあてて直した。
下手にはんだ吸い取り使うより、最初から細い半田コテではんだ付けして、ブリッジしたところだけ直すいつもの方法にしておけばよかった。
半田吸い取り線を強く当てたせいか、基板のパッドが曲がってしまった。
|
きれいに出来たが、一箇所、基板のパッドが少し曲がってしまった。 |
|
半田こての先で加熱しながら矯正。 |
とりあえず、テスターでは隣の足とのショートしておらず、オープンもしていないのでOK.
その他の部品を付いた。
USBに基板をつなげるとFT232RLのドライバーを認識したので、USB側は、はんだ不良は起きていない様子です。
さっそく書籍にあるようにヒューズの読み込みをはじめましたがエラー。
エラー内容よりUSB変換チップから先のAVRの書き込みが上手くいっていないみたい。
でFT232RLのピン足に半田を当てて再ハンダしてみるがうまくいかない。
(結局、このAVRとの通信エラーの原因は、ICソケット2階建てにしていたため。
(2階建てにして、ブートローダーを書き込んでから、ほかですぐ使えると目論んだ。))
で、いろいろいじっていると、PCでFT232RLを認識しなくなってしまった。
テスターで調べるとUSBの電源マイナスとデータ線がショートしている。
調べるとFT232RLチップの下の部分でショートしている模様。
半田でいじってもどうにも直せず、結局チップの片側の足を全はずしorz...。
|
ピンセットを差し込みながら加熱してチップのかた側を浮かせた。
パターンに接続されてない基板のパッドはみな取れてしまった。 |
で、なんとか直して、ヒューズもブートローダーの書き込みはできたけど、不安要素ありすぎ。
なので
秋月電子 ATMEGA168/328用マイコンボード(I/Oボード)
の、基板だけを前回かってあるので、これを使かおうかと。
この基板のUSBシリアル変換の部分は以下のモジュールを利用。
FT232RL USBシリアル変換モジュール
なので表面実装の半田付けは不要!
モジュールは他のマイコン用に2年ほど前に2つかってあるのでこれを使います。
やり方は以下を参照して。
秋月電子 Arduino互換ボードの使い方
備考。
ブートローダーの書き込みは
オープンソースで開発されていて、 Atmel AVRシリーズのプログラマ(ライタ)や開発機器をコントロールするプログラム、avrdudeをつかいます。
しかし、
avrdude ではFT245R/FT232R をサポートされていない模様ですが、
以下のサイトから
avrdude のFT245R/FT232R対応版 を書き込みソフトを入手します。
すzのAVR研究 FT245R/FT232R で avrdude (2)、avrdude-serjtag04e.zip
libusb-win32
を入手。
使用法は書籍にあったとおりでやりました。
以下のサイトを始めいろいろ説明があります。
avrdude-serjtag が serjtag-0.3.zipでちょっと情報が古いですが。
ヒューズ読み込みの際のエラー内容は以下。
avrdude.exe: BitBang OK
avrdude.exe: pin assign miso 3 sck 5 mosi 6 reset 7
avrdude.exe: led pin assign rdy 10 pgm -1
ft245r_drain called but queue is not empty 1
avrdude.exe: drain OK
ft245r: bitclk 76800 -> ft baud 38400
ft245r: set CBUS 40 -> 0
ft245r: set CBUS 40 -> 0
ft245r: set CBUS 40 -> 0
ft245r: set CBUS 40 -> 0
ft245r: set CBUS 40 -> 0
ft245r: set CBUS 40 -> 0
avrdude.exe: ft245r_program_enable: failed
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
ft245r: set CBUS 40 -> 0
avrdude.exe done. Thank you.
ところで、3.3V仕様のarduino互換機を作ろうと思ったが、
使用しようと思った手持ちにあるbluetoothモジュールが5V 電源だった。
I2C接続小型キャラクタLCDモジュール 8x2行 AQM0802Aは3.3Vだが、