2020年6月5日金曜日

秋月のATmega168/328ボードが完成した!


じゃーん!できたー!!!
まともにはんだ付けするのがものすごい久々なので、部品の実装がめちゃくちゃ雑になっちゃいました。各方面から怒られそうなはんだ付けですが、これでも「めっちゃ丁寧にやったつもり」なんです許してください!

組み立てで難しかったのは、はんだ付け前の部品の固定でしょうか。特に1列のピンヘッダーとかピンソケットが動かないように固定するのが難しいです。多分、他の部品を実装する前にまずピンヘッダーやピンソケットを実装してしまったほうが楽に作業できるのではないでしょうか。

組み立てる上でのこだわりポイントは、基板上のLEDの配色です。このキットには元々赤色LEDが4個付属してくるのですが、自分は純正のArduino UNOに合わせて、電源LEDをグリーン、それ以外のLED(Tx, Rx, L)をイエローにしました。LEDのVfが2.1V前後で、数mA程度の電流を流せるものであれば、特になにもしなくてもポン付けできると思います。

このキットを組む上で避けては通れないのが、FuseBitとブートローダーの書き込みです。
FuseBitは、いわばマイコンに対する初期設定のようなものです。マイコンの動作条件などを指定します。ブートローダーは説明が難しいですが、簡単に言えば「Arduinoのスケッチを読み込むための下準備」といった感じです。

これらの初期セットアップをするためには様々な方法があります。
正攻法では、AVRISPmkIIという書き込み装置と、Atmel Studio 7という統合開発環境を使い、PCからマイコンにプログラムを書き込める環境を用意します。ですが、AVRISPmkIIは入手が今のところ困難なようですし、書き込み装置を別途用意するのはお手軽ではありません。
このため、ボードに標準搭載されているUSB-シリアルインターフェース "FT232RL" を使った、Bitbangと呼ばれる書き込み方法がお手軽です。
ですが、個人的にハマった点が、Atmel Studio 7はどうやらFT232RLからのBitbang書き込みには対応してなさそうなんです。悪戦苦闘の末、Atmel Studio 7を使うのは諦めました。

結局のところ、以下のURLで紹介されている手法を用い、AVRdude-serjtagを使ったBitbang書き込みを行いました。
外付けAVRライタ無しでBootloaderを書き込む - kosakalab
Bootloaderファイルは、Arduino IDEをインストールするとついてきます。

また、以下のサイトも参考とさせていただきました。助かりました。

ちなみにこれは耳寄り情報なのですが、既に動作するArduino(もしくはその互換機)を持っていれば、Arduino as ISPという機能を使って、Arduino(もしくはその互換機)同士を接続してブートローダーやスケッチの書き込みができるようです。結構簡単に扱えるので苦労も少ないかもしれません。
そういう面では、このキットは既にArduinoを持っている人が2台目3台目として組み立てるのに向いているとも言えそうです。

完成したキットでLチカをしたり、LCDで遊んでみたりしましたが、それは別の記事として書くことにします。
いやあ、マイコン遊びは超楽しいです。

0 件のコメント:

コメントを投稿

ATmega328P-PUを最小構成で動かす

最近、空き時間にAVRマイコンで遊んでいるのですが、Arduinoボードのように周辺機器や回路を満載せず、最小構成で動かしたいと感じることがあります。 Arduinoボードには、USB-シリアル変換インターフェース、5Vおよび3.3V定電圧電源、水晶発振子やセラミック発振子、電源...