2012年2月4日土曜日

ドットマトリクスLED評価基板

先日購入した¥200赤色ドットマトリクスLED OptoSupplyのOSL641501-ARA。 AVRマイコンで評価基板を作ってみました。
AVRマイコンは、ATMega88P-20PUを購入しました。 秋月電子で¥180- 
 ATMega88Pの入出力ポートは、VCC=3Vでシンク電流10mA時VOL=0.6Vの駆動能力がありますから、外付けドライバ回路なしで設計しました。(ただし、ポート合計で100mAとか制限あり、詳細はデータシートを) 部品は、単4電池ボックス、単4電池2本、抵抗8本、あとはAVRマイコンとISPコネクタだけです。
ユニバーサル基板に、錫メッキ線とUEW線で配線します。 UEW配線は、機械的な強度はありませんが、被覆を剥く必要がなく、試作にはお手軽です。

デバッグ中風景。 フレームレート125Hzのダイナミック点灯にしました。 内蔵の8bitタイマカウンタ0で、1KHzのインターバル割り込みを作り、PORTD[7:0]でカラムイメージを出力して、PORTB[1:0]、PORTC[5:0]で、負論理でロウスキャンし、電流を流し込むという構成です。 AVRアーキテクチャーの命令はシンプルでわかりやすいですが、いくつか注意が必要です。

①R27:26がXレジスタ、R29:28がYレジスタ、R31:30がZレジスタとなる
②イミディエート値を扱えるのはR16~31
③プログラム領域(cseg、FLASH領域)は16bitワード
.DBでバイト定数を並べるとき、奇数バイトだとパディングが入る、また、LPMで定数をロードするときに、Zレジスタには、2倍したアドレスをセットしておく。
④基本I/Oレジスタは、OUT命令でアクセスできるが、拡張I/Oレジスタは、STS命令でないとアドレスが届かない

とは言え、PICの変態命令セットよりは天国に近いです。 今回のソフトもアセンブラで99ステップで組めました。 これでもマイコンの機能の1%以下しか使っていないです。 それが¥180ですから、LEDドライバICつかってハードで組むのがアホらしくなってきます。

 完成しました。 人間の眼は不思議で、それぞれのLEDは、ダイナミック点灯で1/8の時間(今回は8mS中1mS)しか点灯していないのに、同じ電流でスタティック点灯したときより、暗くなったかんじはありません。
わざと基板を振って撮影すると、ちゃんとブレてくれて、ダイナミック点灯ですね。
video

ソフトを改造してランダムパターンを表示するようにしてみました。

0 件のコメント:

コメントを投稿