2011年1月10日月曜日

MetaBoard(ちびでぃ〜の)を試してみました

できるだけ安価にArduinoを作ろうと考えて、いろいろと試しているところですが、拙作のWebサイトでも吐露した通り、USBポートへの接続(FT232RLなどのUSBシリアル変換ICが必要)がネックになっていました。そんな折、ATmegaxx8をUSBに直接つなぐ方法があることがわかったのでネットで探し回ると、MetaBoardというものがあることがわかりました。子どもたちに使わせることを考えると、ブレッドボードに載せて使うものよりも、Arduino UNOのようなボードになっているものの方が良いと思っているので、これを使おうと考えました。

日本でMetaBoardを制作・頒布されている「ちっちゃいものくらぶ」で問い合わせたところ、MetaBoardは、本家Arduinoボードのちょっとズレたピンソケットを変更してあるので、Arduino用シールドには対応していないとのこと。それでは、これまでArduino用に作ってきた自作シールドたちが無駄になってしまいます。そこで、「ちびでぃ〜の」キットを使って、Arduinoに合わせた互換ボード(Diavolino PCBATmega168/328用マイコンボードなど)と組み合わせてArduino互換機を作ってみることにしました。

早速ちびでぃ〜のキットを購入して、ArduinoやMetaBoardの回路図を見ながら、「アーデュイーノ互換マイコン・ボードを作る」に付いていた「ejackino-mini」に載せて動作確認してみました。(とりあえず、最小の部品構成と回路の変更で、どこまでArduinoらしくなるかをチェックしたかったので、Metajackino-mini?的なものを作りました)ATmega328Pを載せる28ピンICソケットの13番ピンをGNDにつながるようにジャンパーして、MetaBoardブートローダ書き込み済みのATmega328Pを挿し、「USB直結Arduino互換ボード」や「ちびでぃ〜の作り方」を参考にしながら、USBのD+とD-に抵抗(R1,2…51Ω、R3…1.5kΩ)やLED、ツェナーダイオード、セラミックコンデンサをつないで、4番ピンと6番ピンに接続しました。USBから供給される5VとGNDは、ejackino-mini基板のVとGにそれぞれ接続しました。

次に、Arduino-IDEの設定に取りかかります。まず、Arduino-IDEの内容を表示して、「Java」までたどったら、「hardware」→「arduino」内のboards.txtにMetaBoardの情報を書き込みます。MetaBoardに対応した.hexファイルは、MHVBoard用ファイル群に含まれているので、これをダウンロードして展開し、同じくArduino-IDEの「arduino」フォルダ内の「bootloaders」の中へ「metaboard」フォルダをコピーします。(この他にもファイルやフォルダがあるので、必要に応じてコピーします。ただし、boards.txtをファイルごとコピーしてしまうと、設定が168用なのでうまく動きません。テキストエディタで開いて、必要な部分だけをコピー&ペーストするのが良いでしょう)

こうしてできあがったejackino-miniに組んだちびでぃ〜のに、Arduino-IDEから「Lチカ」スケッチを流しこんでやると、無事にArduinoらしい動作をしてくれました。これで、FT232RLなどのUSBシリアル変換ICを使わなくても、USBに接続可能なArduinoが作れることがわかりました。
#スケッチをATmega328Pに書きこむ際には、Uploadボタンを押した直後に、ejackino-miniのリセットスイッチを押す必要があります。(1度うまくいかなくても、再度挑戦するとうまくいくことがあります)

この実験で得られた知見を利用すれば、秋月のATmega168/328用マイコンボードをベースにして、格安のArduino互換機が作れそうです。部品の構成をどこまで減らせるのか、その際、どの程度回路を変更(パターンを切ったりジャンパしたり)すれば良いのかを検討する必要がありますが、今後も時間を見つけて研究を進めていきたいと思っています。

【追記】ついでに、ちょっと古いですが「AVRFuses」というAVRライターソフトを見つけました。これを使うと、簡単にブートローダなどが書き込めるらしいです。(Arduino-IDEで用は足りているのですが…)(2011.1.10)

0 件のコメント: