自作Arduinoで簡易オシロスコープ2012/11/24 23:09

九州工業大学が、パソコンとArduinoを使い簡易オシロスコープにするツールを
公開している。
電子工作初心者なんで当然オシロスコープなんて持っていないわけで、
これ幸いと試してみた。

作らなきゃいけない回路はいたって簡単なんて、ブレッドボードでさくっと作る。
Arduino部分は、前回作った自作Arduinoを利用。

簡易オシロスコープ

パソコンにProcessingというソフトと簡易オシロスコープProcessing用スケッチを、ArduinoにArduino用スケッチ入れて起動。
おぉ、動いてる動いてる、これは便利。

簡易オシロスコープ画面

初心者にとってはこれで十分ってレベルのオシロスコープだと思うので、
ブレッドボードじゃなくって基盤にきちんと作ろう。

で作った。
5時間かかった・・・

簡易オシロ&自作Arduino

PCとの接続部分は、ちっちゃいものくらぶさんのUSBSerialモジュールを利用。
配線ミスとかコンデンサ付け忘れとかいろいろあったけど、とりあえず動いた。
配線は美しくないけどね・・・

プローブ部分はどうするかな。
今はワニくちクリップでやってるけど、本物欲しいなぁ。

最後になったけど、このようなソフトを公開して頂き感謝します、九州工業大学。

ちびでぃ~のPRO3282012/11/23 22:54

ちびでぃ~のPRO328×3個、USBSerialモジュール×1個を
再びちっちゃいものくらぶさんから購入した。
ちびでぃ~のPRO328のうち1つは、フル実装用の部品セット。
水晶発振子などが追加されている。

ちびでぃ~のPRO328

ちなみに今回は、表面実装ICのはんだ付けやブートローダ書込みが必要な
ちょっと難易度の高いバージョンにした。

表面実装ICのはんだ付けは初体験なんで、とりあえずUSBSerialモジュールで
練習をする。
さすがに難しかったが、はんだ吸い取り器とかをフル活用しなんとか完成。

次はちびでぃ~のPRO328。
組立てに時間はかかったけど、意外と戸惑うことなく完成した。
基本的には、前回組立てたちびでぃ~のPROと変わらないからな。

今度はブートローダの書込み作業。
自作Arduinoと同じようにやれば問題ないはず。
ちびでぃ~のPRO328はATmega328なんで、自作ArduinoのATmega328Pと
ヒューズビットは同じだからな。

ブレッドボードにFT232RL シリアル変換モジュールを差し込んで、
ちびでぃ~のPRO328と接続。

(FT232RL)    (ちびでぃ~の)
       RI   --- RESET(RST)
       DSR --- SCK  (D13)
       DCD --- MOSI (D11)
       CTS --- MISO (D12)
       VCC --- VCC
       GND --- GND

ISPにピンをつけなかったんで、周りのピンに接続した。
ただ、RSTピンは実は未接続なので、ジャンパ線でつなぐ必要がある。

ちびでぃ~のPRO328書込み中

avrdude-GUIの設定
ATmega328用の設定が無いので作ってやる必要がある。
avrdude-serjtagのavrdude.confを好きなエディタで編集。
ATmega328Pの項目を全コピー・ペーストし、下記を修正する。
  id = "m328p";  →  id = "m328";
  desc = "ATMEGA328P";  →  desc = "ATMEGA328";
  signature = 0x1e 0x95 0x0F;  →  signature = 0x1e 0x95 0x14;

avrdude-GUIを起動して
・avrdude.exe Fileに、avrdude-serjtagのavrdude.exeを選択
・Programmerに、「FT232R Synchronous BitBang (diecimila)」を選択
・Deviceに、「ATmega328(m328)」を選択
・Command Line Optionに、「-P ft0 -B 4800」と記入
・Portは空欄
でFuse欄の「Readボタン」を押す。

ヒューズビット前

hFuse = DE
lFuse = FF
eFuse = 05
と入力し「Write」ボタンを押す。

Command Line Option欄の「-B 4800」を削除する。
Flash欄に「optiboot_atmega328.hex」を選択して、
「Erase - Write - Verify」ボタンを押す。

ヒューズビット後

Lock Bit欄に「0F」と入力して「Write」ボタンを押す。
これでようやく、ちびでぃ~のPRO328の完成。

あとは、ArduinoIDEでマイコンボートの「Arduino Uno」を選択したあと、
好きなスケッチを入れてやるだけ。

ちびでぃ~の2作成2012/11/22 23:41

先週末組み立てたちびでぃ~の2の事をつらつらと。

今回は、LCD他がついてくるフルセット版を購入。
これで1500円とは安すぎだと思う。

組立はHP見ながらやれば、ほとんど問題なく完成すると思う。
ただ、可変抵抗の取付方向がHPと90°ずれてるのにとまどった。
基盤の3本穴に入るように取り付ければ問題なし。

組み立て終わったら、HPにあるようにPCに
USBシリアルPL2023HXデバイスドライバーをインストール後、ケーブル接続。

あとはArduinoIDEで「Arduino Uno」を選択したら、
すんなりスケッチも書き込みできた。

ちびでぃ~の2

実は一昨日ちびでぃ~のPRO328を注文してたんだが、早くも今日届いた。
明日はこの組み立ての事を書こうかな。

自作ArduinoのUno化2012/11/21 20:45

昨日作ったArduino互換機がバージョンアップ。

Arduino IDEの \arduino-1.0.1\hardware\arduino\boards.txt を見てたら
気になる項目が。
(boards.txtは、Arduino IDEのマイコンボード用設定ファイルっぽい)

昨日マイコンボートとして選んだ「Arduino Duemilanove w/ ATmega328」の
atmega328.bootloader.file=ATmegaBOOT_168_atmega328.hex って、
昨日作った互換機に入れたブートローダのファイルだよな。

ってことは、「Arduino Uno」に書いてある
「optiboot_atmega328.hex」っての書き込んだら、Uno互換機になるのかな?
調べてみると、optibootは容量が小さい(512Byte)からプログラム容量が
1.5kByte増えるらしい。

ってことで、早速入れてみた。

ブレッドボードを書き込み用の回路に直してから、avrdude-GUI起動し、
hFuse欄に「DE」と入力して「Write」ボタンを押す。
(↑ブートローダサイズが変わったから)
Flash欄に「optiboot_atmega328.hex」を選択して、
「Erase - Write - Verify」ボタンを押す。
Lock Bitがまた「3F」に戻ったから、「0F」と入力して「Write」ボタンを押す。
これで完了。

ブレッドボードを組みなおした後、Arduino IDEを起動して
マイコンボートを「Arduino Uno」に選択。
基本のBlinkを書き込んで・・・成功!

昨日作ったとき参考にしたHPは、Unoが出る前に書かれたんだろうな。
最新ボード互換機になったし、optibootになったからメモリも節約できたし。
なによりちょびっとスキルアップしたのが嬉しい。

Arduino自作してみた2012/11/20 00:38

次は自作に挑戦。

通販で注文してたATMega328PとかFT232RL シリアル変換モジュール等が、
今日やっと来た。

生のATMega328PにArduinoを書き込む方法としては、他のArduinoを使う方法
とかもあるみたいだけど、今回はシリアル変換モジュールでやってみる。

・avrdude-serjtag
・avrdude-serjtag用設定ファイル:avrdude.conf
・avrdude-GUI

上記3つをダウンロードして、vrdude-GUIを起動後に下記の設定。

・avrdude.exe Fileに、avrdude-serjtagのavrdude.exeを選択
・Programmerに、「FT232R Synchronous BitBang (diecimila)」を選択
・Deviceに、「ATmega328P(m328p)」を選択
・Command Line Optionに、「-P ft0 -B 4800」と記入
・Portは空欄

ATMega328PをセットしてFuse欄のReadボタンを押したら、hFuse,lFuse,eFuseにそれぞれ数値が入力されるはず。(数値は忘れた)

で、今回はATMega328Pなので、
hFuse = DA
lFuse = FF
eFuse = 05
と入力し、数値に間違いが無いか確かめた後Fuse欄の「Write」ボタンを押す。
これで高速クロックモードに切り替わったので、
Command Line Optionの「-B 4800」を削除する。

いよいよ書き込み開始。

Flash欄にATmegaBOOT_168_atmega328.hexを選択して、
「Erase - Write - Verify」ボタンを押す。
1分くらいで書き込み完了するはず。

書き込み終わったら、Lock Bit欄に「0F」と入力して「Write」ボタンを押す。

ATMega328PへのArduino書き込み完了!

あとは、Arduino互換機の作り方を紹介しているHPを見ながらもくもくと作成。
Arduino IDEのマイコンボード選択では「Arduino Duemilanove w/ ATmega328」を選んだらうまくいった。

自作Arduino