RGB LEDとアドレサブルRGB LED | 風変わりなPC物語 -スズメさんち-
2019-11-17 14:56:35

RGB LEDとアドレサブルRGB LED

テーマ:回路類

3年くらい前からゲーミングM/BではおなじみのRGBイルミネーション機能。
うち、+12VとRGB各色をコントロールして、
好きな色(ただし同時に1色のみ)を出せるというのが、「従来のRGB」。

ここ1年くらいは、それぞれのLEDを好みのカラーや明るさに変更できる、
アドレサブルLEDが台頭してきました。

左側は従来のRGB。右側はARGB。

写真はGIGABYTEより拝借させていただいております。

 

今回は両者の解説(ただしPC向け限定)です。

 


○従来のRGB
過去の拙作記事でも回路図等を掲載していますが
各社PC向けのRGBの仕組みは、
・+12Vを共通(コモン)電源とする(アノードコモン)
・G、R、Bの色の順番でカソード側にある半導体スイッチ(トランジスタやFET)を
 ON時間とOFF時間を高速に可変させることで、各色の明るさを変えている

という具合で、回路図で言えばこんな感じ。

高速というのは、KHzオーダー(1秒間に数千回以上)のON-OFFを繰り返すことで
見た目にはわからず、目には単にRGB各色の「明るさ」の合成として
認識させている...というわけです。

つながっているLEDの電源そのものを制御しているため、
すべて同じ色でしか変色できません。

「アナログRGB」なんて表現されることもあるようですが、

映像端子のほうと混同しやすいため、本記事中では「従来のRGB」と呼びます。

 

☆共通の具体例
①つながっているLEDすべてを「青紫色(R,G,B)=(128,0,255)」にしたいとき
 →Dutyを、Rは50%、Gは0%、Bは100%として駆動させる

②つながっているLEDを端からに、つまり

 「赤(R,G,B)=(255,0,0)」「白(R,G,B)=(255,255,255)」「」「」...としたいとき
 →実現不可能


☆消費電力
+12Vで3個を1グループとしており、仮に白で最大輝度(255,255,255)の場合、
多くのLEDテープ系はLEDの順方向電流を各色20mA程度に設定していることが多く
  12V×20mA×3色=720mW@3個
なお、実際には電流制限抵抗が外付けにあり、その消費電力分も含めて
  ∴240mW/個
となります。

 

 

○アドレサブルRGB(ARGB)

アドレサブル、アドレッサブル、個別制御、デジタルRGBとも呼ばれるこちら。

省略してARGBと評されることも多く、本記事中も「ARGB」と呼ぶことにします。
こちらは+5Vを電源とし、制御ICが内蔵された専用LEDが使用されます。

色の制御は個別のLED内のICで行われるため、
すべてのLEDで違う色を表現できるようになります。

 

電源線に加え「データ線」があるのが特徴です。
LEDの端子としては+5V、DATAin、DATAout、GNDの4端子で、
1個目のLEDのDATAoutが2個目のDATAinに接続されるデイジーチェーンとなるため
見かけ上の配線は3本のみになります。
回路図で書くとこんな感じ。

LED素子の中に制御ICや電流制限素子も含まれるため、

事実上1チップだけなのですが、

急激な色変化(特に暗→明のとき)に電源電圧の低下を防ぐため

LED近傍にセラミックコンデンサも付加されているものが多いようです。

 

ここでもう少し具体的な話をすると、
PC界隈でいうところの「アドレサブルRGB」は、いわゆる「NeoPixel」系のもの...
例えばWorldsemi社のWS2812B(および互換のLED)が使えます。

秋葉原ではおなじみの秋月電子通商では
PC界で本格的に普及する前から単品/テープともに取り扱いがあります。
単品なら2個で80円。

後述しますが、例えば同店で取り扱っている、

互換品とされるWorldsemi社SK6812を用いたテープLEDも使用できます。
コネクタの改造(といっても丸ピンソケットのはんだ付け程度)ができるなら

自作PC用のパーツよりも圧倒的に低価格で入手できます。

 

ただし、WS2812Bは通電だけすれば光るようなものではなく、
通信を行わなければ、まったく光りません。
この通信はI2CやCAN、RS-232のような規格準拠ではなく独自のプロトコルで、
非常に単純に、RGBカラーのビット数を送り付けるだけです。
内容はこんな感じ。
・まずは1つ目のLEDのG、R、Bの順番に、各8ビットの色を指示する
  ※1ビットは1.25μsec (つまり8ビットで10μsec、1個のLEDあたり30μsec)
  ※Hレベル(図中High)は0.7VDD以上(ここでは3.5V以上)

  ※Lレベル(図中Low)は0.3VDD以下(同1.5V以下)
  ※ビット表現の方法は
   「1」ならHレベルが長め(1.25μsecの先頭0.8μsec)
   「0」ならHレベルが短め(1.25μsecの先頭0.4μsec)


・間髪入れず、2つ目のLEDのG、R、Bの順番に、各8ビットの色を指示する
・...これをn発目まで繰り返す
・最後に50μsec以上、Lレベルにする(次のサイクルに入れる)

 

接続された1個目のLEDは、先頭の24ビットのみを消したデータを

そのまま次のLEDのDinに向けて送信します。

こうすることで、デイジーチェーンでつながった各LEDは

自分が何番目かを認識することなく、

流れてきた最初の24ビットだけを見ていれば色の指示がわかる...というわけです。

 

例えば、「赤(R,G,B)=(255,0,0)」「黄((R,G,B)=(255,255,0)」「青((R,G,B)=(0,0,255)」

の指示を受けた時の流れは...

①「赤」「黄」「青」がコントローラーからくる

②先頭のLEDが「赤」を読み取り、「赤」にあたるデータを削ったものを次のLEDに送る

③次のLEDは「黄」を読み取り、「黄」を削ったデータをその次のLEDへ送る

④その次のLEDは「青」を読み取る (次のデータがなければそれでおしまい...後続は光らない)

...という具合です。


PCに「ARGB対応」の端子があれば、そのまま使えます。
ない場合は市販品のコントローラーを用いるか、
Arduinoなどのマイコンボードに、通信するプログラムを組み込んで使うことになります。

前者の場合、簡易的なコントローラーならLEDピカリ館で取り扱っている

NeoPixel RGBコントローラー 24KEY」あたりが手軽かと。

後者は(いくらサンプルがあるとはいえ)

プログラムがいじれないことには「自由に」とはいきませんが、

自分のやりたい点灯の仕方がコントローラーに実装されていないのであれば

この方法で自作するしかありません。

 

☆共通の具体例
①つながっているLEDすべてを「青紫色(R,G,B)=(128,0,255)」にしたいとき
→Din端子に「00000000 10000000 11111111」を繰り返し送信する

②つながっているLEDを端からに、つまり

 「赤(R,G,B)=(255,0,0)」「白(R,G,B)=(255,255,255)」「」「」...としたいとき
→Din端子に「00000000 11111111 00000000」「11111111 11111111 11111111」を繰り返し送信する


☆消費電力
+5Vで1個単体で使用できるのが特徴。

Ainexの「RLD-STRDM50」を例にとると、50cm、30LEDで最大9W(白色輝度最大時)とのことなので、

1個あたりは単純に

  9W÷30個=300mW

となります。

(仮にLEDの順方向電流は同じく各色20mA程度に設定されていると仮定した場合も
  5V×20mA×3色=300mW(/個)
 が答えで同じになります)
※内蔵の制御IC自体の消費電力は微々たるものとしてここでは無視しています。

 

...つまり、ARGBのほうが素子当たりの消費電力が高くなります。

 

なお、電流制限素子もLED内にあるため、
消費電力はすべてこのLED単体のものとなります。
従来のRGBは電流制限素子と分かれていたため発熱が分散する傾向にありますが、
ARGBはすべてがLED素子での発熱であるため、
ただでさえ相対的に消費電力が大きなARGBはLEDの局所的な発熱が顕著です。
基本的にLEDもあまり熱い環境で使用すれば寿命
(一般的に輝度の半減で寿命とされる)が短くなるとされますので
より一層設置方法に工夫が必要である...と解釈すべきでしょう。

 

さらに言うと、仮に同じ消費電力だったとしても、

+5Vが電源であれば、+12Vに比べ2.4倍もの電流を必要とします。

Ainexの「RLD-STRDM50」が9Wということは、5Vで1.8A。

2個直列に接続すれば3.6Aということに。

それ以上つなぐ場合は、LEDテープの途中に電源強化策が必要でしょう。

 

 

○互換性
片や単に駆動電源のON/OFFをしている、また一方は内蔵ICに色命令を送っている...
しかも両者は電源電圧も違う...
この時点で、双方に互換性は皆無です。

強いて言えば、Deepcoolのゲーミングブランド、Gamerstormから
「DP-FRGB-CHUB5-12V」という変換アイテムが発売されております
(記事当初は国内未発売でしたが、2020年4月にアユートが取扱することになった模様)。
従来のRGB端子の情報をARGB用に読み替え、ARGB用のアイテムが使えます。
ただし原理上単色変化のみの対応ですので、用途は限定的でしょうか。

 

 

○安価な秋月のARGBテープは使えるか?

理論上は使用できるであろう、秋月電子通商で販売中の

SK6812使用マイコン内蔵フルカラーテープLED 1m 60LED 非防水」。

1m、60LEDで1,350円と安価ですが、モジュールも電極も露出、コネクタは非互換。

テープ下地の色も白ですので、昨今多い黒環境では目立ってしまいう点はご容赦を。

左側はハーネスケーブルを自作するため用意したもの。

LEDピカリ館で「WS2811用3Pコネクタ配線 [6458]」として

1セット50円で売られています。

 

当方、ARGB端子のあるM/Bは所有していないため、

借りてきたLian LiのBORA DIGITAL付属コントローラーを使います。

 

電源はSATA Power→JST HX2ピンというハーネスで、これはそのまま使えます。

LED側出力はHX4ピン→LED用3ピンなのですが、

先ほどの50円の片方に、HX4ピンをかしめてハーネスを自作します。

結果はこの通り。

点灯/コントロールさせることができました。

 

なお、LEDテープのDin側をコントローラーの出力につながないと

光りませんのでご注意ください。

...というのも、秋月で取り扱っているLEDテープはオス側がDataInなのに対し、

LEDピカリ館で扱っているLEDテープはメス側がDataInであり、

仮に秋月のLEDテープでピカリ館のアイテムを接続する場合は

雄雌変換が必要になってしまいます。

 

 

○注意

ARGBの指令は結構高速な信号で、しかも+5VとGNDの振幅があります。

ケーブルを長くするとノイズ対策が必要になるかもしれませんし、

スパイク系のノイズが混じり、誤動作や故障の要因にもなりかねません。

これらを含め、PC用でないものを転用する使い方は自己責任となります。

またPC用のものであっても、なるべく配線は短くするのがおすすめです。

 

 

 

一応、年間目標の15本目の記事が上がりましたが、

年内あと1~2本掲載予定です。

次回は12月上旬を目指します。

 

※2020年5月2日に記事内容を加筆し、画像を中サイズにしました。