google-site-verification: google3bd66dd162ef54c7.html

カラーLEDアレイの点灯テスト BARCO R764699

 先日のMFT2015の だめだめだんさん のブースで買ったLEDアレイを動かして見ました。

 これは仕様不明のジャンクとして売られていた物で値段は100円。要するに、これが使えるもんならやってみろ!というノリで販売されていた物です。買ってくれるんなら2個100円でもいいよ、と言われましたが、家にゴミが増えるのがいやなので、 あとで来る人に悪いから、と辞退して一つだけ買いました。

▼MFT2015の会場で買ったカラーLEDアレイ
MFT2015で買った

▼8x11のカラーLEDアレイ
LED表示モジュール
 雰囲気からすると、カラーLEDディスプレイ用のパネルのようで、10.5mm程度のピッチで、LEDが8行11列並んでいます。上下左右隙間なく並べられる構造になっているので、たぶんこれを沢山並べて大型のカラーLEDディスプレイを構成していたものと思われます。

▼裏側はこうなっています
BARCのLED表示モジュール
 キャノンコネクタのような丸型のコネクタが付いています。また放熱用のファンも付いています。

 インターフェイスがどうなっているか少し調べたのですが、ちょっと歯が立ちそうにありませんでした。特定のピンに5Vを加えるとファンが回ったり赤と緑のLEDが点滅するようにはなりましたが、表示用のLEDは一切反応がありません。たぶん特殊なプロトコルでデーターをやり取りしているのでしょう。アマチュアがちょっとやったくらいでは解析は難しそうです。

▼メーカー名と型番
BARC R764699
 ベルギーのBARC社の製品で型番はR764699、SNはぼかしています。ネットをあたっても詳しい情報は出てきませんが、表の保護パネルを外した人を見つけたので私もやってみました。

▼保護パネルを剥がす
保護パネルをひっぺがす
 LEDに被さっている透明な樹脂はえらく丈夫なのでたぶんポリカーボネートの真空成型品でしょう。この上に黒い樹脂をモールド成型してあります。なお、分解する時に樹脂片が飛び散って危険なので保護メガネが絶対必要です。

 発光体は予想通りRGB三色のLEDでSMTで足が6本出ている物。アノード側が基板のパターンでパラに接続され、カソード側で調光しているようです。なお、8行ある各行のLEDのアノードは全て並列に接続されており、行間は接続されていませんでした。

 LEDは多層基板の上に乗っていますが、小径スルホールが沢山あるので、裏側には駆動回路が実装されているのだと思います。これだけの数のLEDを駆動するには大きなパワーが必要になります。そこで高い電圧で給電し、降圧DC/DCコンバーターでLED駆動用の電圧に落とすようなことがやられているような気がします。

 LEDを外して単体で何かに使ってもいいのですが、せっかく放熱版やファンが付いているアセンブリになっているので、このまま使うことを試みます。

▼LEDに直接配線
カラーLEDに配線
 RGB各々の端子を並列に接続します。配線にはφ0.26のテフロン単線を使用し、この写真の赤線のように芯線を折り返すことで、導体の繋ぎ目無しで配線しました。

▼電流制限抵抗
電流制限抵抗付けて完成
 手持ちのセメント抵抗で軽く電流制限をかけておきました。なお、元の基板の回路と並列になりますが、特に問題は出ませんでした。

▼駆動回路
カラーLEDドライブ回路
 LEDを光らせる方法さえ判ればこっちのもの。ArduinoとN-MOSパワーFETを使って駆動します。図ではLEDは1つしか描いていませんが、実際には各々11個並列になっています。R1だけ5Ωになっているのは赤のLEDのVfが低いためです。

 ArduinoのソフトでPWMで駆動することでいろいろな色で発光させます。なお、LEDに流れる電流の合計は1Aを超えるので、電源はArduinoとは別電源から供給します。

▼全体
全体
 LEDの電源にはモバイルUSBバッテリーを使っています。

▼光らせてみた
点灯
 一行だけしか配線していませんが、うまくいきました。いろんな色で光って面白いです。

 動作確認に使ったスケッチ
/* カラーLEDの駆動テスト
* アノードコモンに接続したLEDのカソードをnMOS-FETでPWM駆動
* RGB各色の電流で調整することでフルカラーのデモを行う
* 2015/8/7 ラジオペンチ http://radiopench.blog96.fc2.com/
*/

#define Red 9 // 赤LED駆動信号Pin (PWMが出せれば他のピンでもOK)
#define Green 10 // 緑
#define Blue 11 // 青

int col;

void setup() {
Serial.begin(9600);
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);

TCCR1B = (TCCR1B & 0xF8) | 0x03; // Pin9,10のPWMの周波数設定
// 0x05=30.5Hz, 0x04=122Hz, 0x03=490Hz, 0x02=3.9kHz, 0x01=31.4kHz
TCCR2B = (TCCR2B & 0xF8) | 0x03; // Pin3,11のPWMの周波数設定
// 0x05=30.5Hz, 0x04=122Hz, 0x03=490Hz, 0x02=3.9kHz, 0x01=31.4kHz

for (int n = 255; n >= 0; n--) { // いきなりフル点灯した後に徐々に絞る
analogWrite(Red, n);
analogWrite(Green, n);
analogWrite(Blue, n);
delay(20);
}
delay(2000); // 消灯状態でちょっと待つ
}

void loop() { // 連続デモ開始
col = RandomInt(); // 乱数でレベルを決めて
Serial.print(col); Serial.print(", "); // 値を表示
analogWrite(Red, col); // LEDを駆動。以下各色の設定

col = RandomInt();
Serial.print(col); Serial.print(", ");
analogWrite(Green, col);

col = RandomInt();
Serial.println(col);
analogWrite(Blue, col);

delay(800); // ちょっと待つ
}

int RandomInt() { // 1を右詰めで立てた乱数を発生
int i, j;
i = random(8); // 1の数を決める(0から7の乱数)
j = 0x00;
if (i > 0) { // 0なら何もしない。つまり0x00
for (int m = 0; m < i; m++) { // iの数だけ
j = (j << 1); // 全体を一つ左にシフト
j = j | 0x01; // 最下位に1を立てる
}
}
return j;
}
 AnalogWriteは256段階に出力(明るさ)を変えることができます。でも人間は、電気的にリニアに値を変化させても、明るさがリニアに変わったとは感じません。ここはAカーブのボリュームのように指数関数で変化させる必要があります。ということで、プログラムで2のべき乗で明るさを変化させるようにしています。49から59行までの関数です。

 今回動かしたのはLEDアレイの1行分だけですが、8行全部を動かすと88個のLEDが光るわけで、さぞかし明るい光源ができると思います。その場合の発熱量はかなりのものになりそうですが、ヒートシンクとファンがあるので30Wくらいは楽勝で対応出来ると思います。

 そうは言っても、私のところでこの強力なLEDパネルの使い道はあまりありません。ということで今回はあくまでも実験と言うことにしてこのまま塩付けにしておくことにします。

 それでも何かに使うとすれば、色もしくは色温度を自在に変えられる照明か、大光量のストロボライトくらいかなと思います。でもこれって、考えてるだけで暑苦しくなるので夏の間はパスです。
関連記事

コメントの投稿

管理者にだけ表示を許可する

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード