LED_MATRIX_DISP

LEDマトリクスによる表示機の自作

きっかけは,
#マゾ時計3プロト制作
のハッシュタグ.
こいつはすげぇぜ.
64x48=3072個のLEDを手半田するという無限地獄.
これに触発されて自作してみる.
ただ,同じものを作っても芸が無い.
別のマゾさを出してみる.
そうだ,2色LEDでやってみよう.

解像度の決定

スーパーひたちの前面ディスプレイ解像度は,
横64x縦80ドット=合計5120ドット
らしい.
また,京急C-ATSのLED表示機は,16x32の三段で48x32である
マゾ時計3は64x48である.

C-ATSの表示を模擬することを一つの目標として,48x32で検討.
ただ,C-ATSの表示機は,3段の段の間に隙間がある.
機械的に隙間を設けると,表示機としての汎用性が下がるので,LEDの未点灯で隙間を模擬する.
よって,縦のドット数は56とする

→LEDドットは,縦56x横32で決定
LEDはディスクリートではなく,8x8マトリクスモジュールを使う.
http://akizukidenshi.com/catalog/g/gI-09878/
□31.0mm アノードコモン 一個150円なり.
解像度56x32だと,7x4=28個を敷き詰める形となる.コストは4200円なり.

制御構成

コモンアノードのLEDを56行スキャン,32列駆動とする.
2色なのでその2倍の64列駆動となる.

部品選定

LED
Ifは40mAにする.Ifpulseの絶対最大定格が60mAなのでこれぐらいが限界.

行スキャントランジスタ
40mAx32列x2色分=2560mAなので,行スキャントランジスタは5A品程度を選定する.
アノードコモンなので,PchFETを探す.
http://akizukidenshi.com/catalog/g/gI-08358/
2SJ681(Q) 60V5A 40円

列ドライブトランジスタ
If40mAなので100mA品でよい.
アノードコモンなので,NPNタイプで探す.
抵抗内蔵 DTC123EL-T92-K 10円を発見.
http://akizukidenshi.com/catalog/g/gI-12468/
これにする.

出力ポート拡張
制御IOとして,
行スキャン56bit
列スキャン32bitx2=64bit
合計120bit必要.
よって何らかの手段でポートの拡張が必要.

行スキャンは74HC138 3-8デコーダ
http://akizukidenshi.com/catalog/g/gI-10013/
で拡張する.IC一個あたり8bit出力なので,7個使いで56bitを確保する.
G1入力で全出力をHに固定することができるので,安全上都合が良い.
(行ドライブトランジスタがPchFETなのでHで電流断)

列スキャン64bit分は,順当に74HC595 ラッチ付きシフトレジスタを使用する.
http://akizukidenshi.com/catalog/g/gI-08605/
8bitタイプなので,64bit確保のために,8個使い.
データ転送時間短縮のため,8個直列とはしない.8個のシフトレジスタを並列に動作させる.
:データは8パラ,SCK,LATは並列

制御マイコン
RAMを見積もる.
4kbyteあれば間に合うだろう.

ROMは重要でない.フォントデータ等の重いデータは上位側で持つことにする.

使い慣れたAVRでRAM4kを条件に探すと,ATMEGA1284P-PUとなる.
http://akizukidenshi.com/catalog/g/gI-04461/
ROM128k/RAM16k 40pinというリソース.不自由なし.

上位システム
ラズパイhttp://akizukidenshi.com/catalog/g/gM-12958/
を使う.IFとかは全部これに任せる.
制御マイコンとはUARTで接続する.


ソフトウエア

データ転送レートの見積もり
さて,ここでの問題は,AVRはDMAを持っていないということだ.
SPI 4MHzでデータが送られる場合,1バイト受信にかかるCPUクロックは,わずか40クロックである.
故に,受信の度に割り込みを起こすのは現実的ではない.
逆に,40クロック中にデータをRAMにストアできなければ,データを取りこぼす.
1バイト受信中に一回でも割り込みがかかったら,40クロックはスタック退避で経過するだろう.
→データ通信中は,割り込み禁止とし,処理に専念させる必要がある.

DMAがあればタイミング設計が楽.しかし,秋月で買える&DIPはんだ付け&それなりに小型&できれば5Vの条件を満たすものがない.
SH/Tinyのマイコンボードが合致するが,いまさらSHねえ...という感じ.
DMA無しAVRで頑張る方法を考える

フレームレートは30fpsが限界そう.
このとき,1sあたりのデータ数は46080Byteとなり,転送レートは460kbpsとなる.
1バイト受信あたりのCPUクロック数は,434クロックとなる.ぎりぎりいけそうだ.


ダイナミックスキャン制御
スキャンレートは200Hz(5ms)ぐらいか.ちらつかない範囲でなるべく遅くしたい.
30fpsだと33.3msなので,この6倍のレートでスキャンする.これでだいたい200Hzになる.
48列なので,1列あたりのON時間は5ms/48=104usである.

8個のシフトレジスタそれぞれに8bit分のデータを転送しなければならない.
Loop 8
RAMから1バイトリードし,ポートにライト 4クロック
SCK立ち上げ 1クロック
SCK下げ 1クロック
End Loop
ループ展開しても48クロックは必要そう.

PWM4階調を狙う.
となると,階調倍のレートでスキャンする必要がある.
一列あたり,104usなので,この1/4の25us(40kHz)で処理を起動する.
20MHzクロックだと,500クロックしかない.つらい.

何にせよ,TIM1で割り込み周期500カウントの周期動作を起動する.



スキャン中に,UARTで割り込まれることを考慮する.
つまり.処理時間がばらつく.これは輝度のチラツキとして現れるだろう.
そこで,LATをタイマのコンペアマッチで駆動し,ハードウエアでラッチタイミングを規定する.

上位とのやりとり
表示側は,FIFO化されたVRAMを表示し続けるだけにする.
VRAMを上位からシリアルで更新することで,表示を更新する.
てきとーにプロトコルを決めて情報をやりとりする.
Modbusか?

電源まわり
5V単電源動作なので,簡単である.
ただし,行スキャンの度に2.5Aが200Hzx56行分=11200Hzで流れこむ.
この電流を小さいループで回すため,電源ラインにはそれなりのコンデンサを入れる必要がある.

リプル0.2Vに抑えるコンデンサ容量を見積もる.(0.2Vという値に根拠は無い)
i/C=dV/dtであるから,
C=i dt/dvである.
i=2.5A,dt=1/11200=0.09ms,dv=0.2Vとすると,C=1160uFと求まった.

マージンを見て1000uF10Vを3パラにして入れておくことにする.
http://akizukidenshi.com/catalog/g/gP-08424/
容量の安全率は3である.実際は,電源側からも電流が供給されるため,条件は緩和される.

2.5Aというと,電解コンの許容リプル電流が心配になるレベルである.
選定した電解コンの許容リプルは460mAである.3パラなので1380mAである.
ピーク2.5A,デューティー10%で実効値を求めると0.8Armsとなる.ディレーティング58%である.(デューティー10%は感覚的なもの)
実際は電源からも電流が供給されるため,リプル電流は減ることが期待できる.
問題ないだろう.

1000uF3パラなので,突入電流の配慮が必要.調光用のドロッパでソフトスタートをかけることで,突入電流を抑制する.
詳細は以下.

調光機能
グローバル調光をLED電源電圧を可変することで実現する.
トランジスタバッファ付きボルテージフォロアとし,基準電圧をCPUからのPWMDACで可変し,電圧可変電源を構成する.
ドレイン損失は2W程度となり,放熱対策が必要.
ソフトスタートにより電解コンデンサの突入抑制を兼ねる.

オペアンプはRROUTが必要.
http://akizukidenshi.com/catalog/g/gI-06840/
オフセットとかはどうでも良いので,適当に選ぶ.


電源容量
5V 2.5A なので12.5Wが消費電力である.
5V 余裕を見て4A出力の20W程度のACアダプタを電源とする.
http://akizukidenshi.com/catalog/g/gM-06238/

保護回路
過電流保護:3A定格(6Aで遮断)のポリスイッチで保護
http://akizukidenshi.com/catalog/g/gP-00769/

逆接続保護:
しない.指定のACアダプタを使用すること

過電圧保護:
しない.指定のACアダプタを使用すること

機構周り

コネクタとか配線が面倒なので,LED部を分離するとかはしない.一枚の基板にラズパイ以外の要素を全て載せる.
ラズパイとはピンヘッダで接続する.

ちゃんとした外装を持たせることを考える.


基板設計

両面基板で設計.
1A/1mmルールに則る.
クリアランス0.15/最小パターン0.15
行ドライブラインは,2.5A流れるので2.5mm確保.

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2018年04月25日 13:20