テープLEDでイルミネーション!


その1 LED の光らせ方

そうだ、PCをライティングしよう!!w

せっかくなら、スペアナみたいの作ろう・・・!!

というわけで、いろいろ遊んでみます。

動画はこちら ニコニコ動画

(1) いんとろだくしょん

最近 PC を新調しました。

ケースが最近流行のサイドアクリルのケースなので、LED でライティング してみたくなったわけです。

かといって、安直に赤とか青の単色をチョイスしてしまうと、気分が変わったときに困ります。 両面テープだから剥がすのも一苦労しそうですし、使わなくなった LED がもったいないです。

それに、明るさを調整できるようにしないと、ギラギラでケバケバになり、 まるで DQN 車(光らせている時点で同類とかツッコミが聞こえそう・・・w) の様になってしまうのは火を見るより明らかです。

となると、やっぱフルカラー LED にしたいですよね
明るさ、色は好きに調整できますし。

さらに、ボリュームで調整とか野暮ったいので、PC からスマートに LED をコントロールしたいですよね

さらにさらに、PC でコントロールできたあかつきには、いろいろな用途で使用できそうで、 夢がひろがりんぐです。

というように、”どう考えてもいいことだらけ”なので(ほんとかよ・・・w)、フルカラーテープ LED を使用して、 PC から操作できるイルミネーション!!を作ってみましょう。


今回使用するケース Fractal Design Define R5 Window かっこいいです!

(2) LED の明るさを変えるためのLEDの駆動回路を考えよう

基本的には電圧を制御してあげればよいので、 一番簡単な回路は LM317 のような可変三端子レギュレータを使用する方法です。 しかし、この方法はスマートではありません。

例えば、12[V]のLEDを半分の明るさで点灯しようと思い、 可変三端子レギュレータで 6[V] を与えたとしましょう。 この場合、6[V]分はムダになってしまいます。 ただのムダならば、そう問題にはならないのですが、 厄介なことにムダ分はレギュレータ部分で熱になります。


LM317 で LED を駆動する例

ちなみに、今回使用する LED の定格 12[V]、0.6[A] から、 1 つの LED を 50[%] で点灯させたときの電流を 100[mA] と、 ざくっと見積もって計算してみますと・・・

P = V × I = 6[V] × 100[mA] = 600[mW]

この 600[mW] が全て熱になりますので、 おそらくヒートシンクなしの状態では、レギュレータが焼損する危険があるでしょう。

<補足>
これが今回使用するテープLEDの回路図ですが、 テープLED は複数の LED がパラレルに接続されていますので、 思いの他たくさんの電力を消費します。 ちなみに今回使用するテープLEDは 7.2[W] です。

(3) PWM で駆動するのが普通です

そこで、普通は PWM(パルス幅変調)という方式で、電圧を制御します。


FET を使用した LED の PWM 駆動回路

原理はいたって簡単で、高速なパルスを生成し、 そのパルス幅を 0 ~ 100[%] の間で可変させることで、 出力電圧を可変します。


PWM の様子

上図は Duty 比(パルスの周期に対して ON している時間の割合です 半分 ON していれば 50%、1/4 ON していれば 25% です) 50% の場合ですが、12[V] のパルスを 50[%] は ON、 残りの 50[%] は OFF することで、結果的な実効値は 6[V] となり、 DC6[V] を印加するのと同等になります。 (パルスの周期で見てみると、色が付いている部分の面積が同じですよね?) まあ、詳しい原理は wiki でも参照してください。

PWM の利点は、効率が非常に良いことです。 FET は、パルス幅に応じて ON/OFF を繰り返す単なるスイッチとして動作すればよいので、 FET 部分では「ON抵抗」と呼ばれる数100[mΩ]分の熱しか発生しません。 今回使用する FET 2SK4017 の ON抵抗は 70[mΩ] です。 同じように 100[mA] 流れたとして計算をして見ますと、

P = I × I × R = 100[mA] × 100[mA] × 70[mΩ] = 0.7[mW]

0.7[mW] しか発熱しません。 実際に、今回のケースではまったく発熱することはありませんでした。

PWM すげぇ!!

(4) PWM はマイコンで簡単に実現できるよ!


ATmega168

今回使用するマイコン ATmega168 は、タイマーを3つ持っていまして、3ch の PWM を実現できます。 この 3ch の PWM を フルカラーLED の各色の点灯制御に用いることで、自由自在に RGB を制御します。

また、ADC(ADコンバータ)も 5ch 持っているので、これによってボリュームの値を読み取り、 PWM の可変に使用します。

さらに UART と呼ばれる「非同期送受信回路」を持っていますので、 RS232C による通信も行えます。

もちろん EEPROM で設定値の保存もでき、これだけの機能がひとつの IC にパッケージされている 非常に使いやすいマイコンです。値段も ¥200 で安いしねw

(5) ハードウェア部分

実際の回路はこんな感じになります。

(a) 基本回路

ボリュームと ADC を利用したマニュアル調光と、 RS232C を利用した外部調光の2通りをサポートした回路です。


回路図 (PDF の DL は ”ここ!”)

メインはマイコンで、部品点数も多くないと思います。 今回私が製作したのもこのパターンです。

(b) PC 制御のみの回路

もし、マニュアル調光を使用しないのなら、 ボリューム部分を一切排除した下図のような回路でもOKです。


回路図 (PDF の DL は ”ここ!”)

私としては、マニュアル調光は動作確認程度にしか使用しなかったので、 ボリュームはなくてもいいかな?と思ってます。

ちなみに、プログラムを変更し、ADC 部分を無効化するならば、ADC のピンは開放でもいいですが、 私のプログラムをそのまま使用する場合は、下図のように入力端子を GND へ接続してください。 (入力を開放するのはお行儀が悪いので・・・)

(c) 外部 DC12[V] アダプターを使用する回路

今回はPCの内部電源を使用しますが、”電源に余裕がない方”、”PCから直はちょっと怖いな・・・”と思う方は、 外部電源の使用も可能です。

その場合は、ペリフェラル電源で LED の ON/OFF を行うようにすると、 PC電源と連動させることができます。

注意点は、PC ペリフェラル電源は 12[V] ですので、 マイコンの端子にそのまま入力すると壊れてしまいます。 必ずトランジスタを介して接続してください。 具体的には、下図の回路を参考にしてください。


回路図 (PDF の DL は ”ここ!”)

マニュアル調光が必要ない場合は、 上記の説明どおりボリュームを排除しても結構です。

あと、いずれにしてもヒューズは入れるようにしたほうが無難ですね。 PC内で燃えるのはいやですよね?

(6) 購入品など

細かい部品(抵抗、コンデンサ)などは回路図から読み取っていただくとして、 代表的なものについて書いておきます。 アフィじゃないのでリンクは張りませんが、秋月の名称を記載しておきますので、 検索すれば該当商品が見つかるはずです(その他の部品も全て秋月で入手可能です)。

(a) テープLED

部品の中で一番高いのはテープLEDですね。

短めなら、「フルカラーテープLED(RGBLED15個付25cmタイプ) ¥850円」
長めのやつは、「フルカラーテープLED(RGBLED30個付50cmタイプ) ¥1.500円」

いずれも、はさみで簡単に切断できますので、 ご自身の PC ケースと相談して、長さ、本数を決めてください。

<補足>

ちなみにテープ LED の最大本数ですが、今回使用する FET 2SK4017 (秋月で¥30円で入手できます)は 5[A] まで流せますので、 4本くらいは駆動できます。

<補足>

どうでもいい情報ですが、この LED・・・なんかすごい臭いんですよ!w

(b) テープLEDと基盤間をつなぐケーブル

フルカラー LED なので、電源、R、G、B 4本の線が必要になります。 お手ごろなものを探すと、ずばり

「テープLED用4端子延長コード ¥200円」

というものが秋月で売ってますので、これを利用したらいいかと思います。

<補足>

私は、秋月で購入した「スリムロボットケーブル」を使用しました。 線径が AWG28 とちょっと細いんですが、電流は束ねた状態で 0.8[A] まで使用できますので、 LED を全灯した状態でも許容範囲内に収まります。

(c) RS-232C の接続ケーブル

一応、通信のためのケーブルなので、シールド線がいいかと思います。 秋月で買うなら、

「シールドスリムロボットケーブル ¥700円」

がいいかと思いますが、ちょっとお高いですね。

<補足>

まあ、正直なところ、普通のフラットケーブルでもいけるかと思います。 万が一、通信エラーになるようでしたら、通信速度を下げるという回避手段もあります。

(d) RS-232C レベル変換

秋月の

「3V・3.3V・5V系-RS232レベル変換基板 ¥500円」

を使用しました。これは小さくて楽なので、私のお気に入りです。 ただ、MAX232 系の IC が ¥200円程度で購入できるので、MAX232 系の IC を使用するのも良いかと思います。

また、COMポート自体が存在しない、空きがないのなら、 USB 変換モジュールを使用する手もあります。 例えば秋月の

「超小型USBシリアル変換モジュール ¥600」

などを使用するのもいいでしょう。

<補足>

いずれにしても、クロスで接続する必要があるので、「マイコン側」→「変換 IC」→「PC の COMポート」、 それぞれの「RXD、TXD」の方向を間違えないでくださいね。

IC のマニュアルに TXD と書かれていても、 ”COM ポート側 TXD への入力”かもしれませんし、 ”COM ポート側からの TXD の出力”かもしれません。 よーくマニュアルを読んで接続してください。

ほんと、良く間違えるんですよ・・・w
<補足>

レベル変換基板から COM ポートへの接続については、 キットの説明書通り D-Sub 9ピンコネクタへ接続し、 普通ににCOM ポートに接続してもいいです。

また、M/B の COMポートを使用するなら、

「ピンソケット (メス) 2×5 (10P) ¥50円」

などに接続することになると思います。

その際にピン番は M/B のマニュアルを良く見て接続してください。 ちなみ私の場合「ASUS X99A」では、こんな感じでした。

レベル変換基板 の出力 CN2 を

CN2 2 → RXD1
CN2 3 → TDX1
CN2 5 → GND

という具合に、そのままピンを間違えず接続すればいいですね。

実際に接続している様子です。シールドのパヤパヤ(網の部分)が気になるので、 収縮チューブで保護しています。

たぶん、皆さんの COM ポートも同じじゃないかな?とは思うのですが、 間違えて壊れてもあれなんで、しっかり確認してください。

(e) ユニバーサル基盤

使用する基盤は

「片面ガラス・ユニバーサル基板 Cタイプ(72x47.5mm) めっき仕上げ ¥70円」

がいいかと思います。大きさも PC 内に配置することを考えると丁度良いかと思います。 小さいかな?と思うかもしれませんが、きちんと計画的に配置すれば、余裕で収まります。

<補足>これ以上大きいと、PC 内に収納するスペースが限られてきますので、 あんまし大きくしないほうがいいと思います。
(f) セラロックについて

AVR 内蔵の発振器でもいいかなと思ったんですが、RS232C を使うのでセラロック付けておきました。 まあ、なくても大丈夫なような気もしますし、だめなような気もするし・・・ 仮にセロロックを使用しない場合で、通信が不安定になるようであれば、 ボーレートを 9600 に落とせば OK でしょう。 (その際には、ヒューズの設定が変わるので注意してください)

(7) 製作してみた

ま、こんな感じですね。

PC ペリフェラル電源のコネクタは、余っていた物を流用しました。
(自作 PC を作っているような方なら数個は持っているんではないでしょうか?)
もし持っていないのならば、PC ショップで変換ケーブルを購入し、 途中で配線を切って、コネクタ部分を使用すればよいと思います。

HDD ベイには両面テープで取り付けるボスを使用して、 基板を固定しています。
(タカチ製で「ASR型貼り付けボス」というものです)

<注意>

HDD ベイに取り付ける場合は、部品の高さにも気をつけた方がいいでしょう。
(HDD の高さを超えるとぶつかっちゃいますからね・・・)

<補足>

作ってから思ったんですが、LED、COM、電源と結構配線が多いので、 コネクタを使用した方がいいと思いました。

<補足>

ちなみに、ポリウレタン線というものを今回始めて使用してみたのですが、 これいいですね!! 慣れると、さくさく配線できました。 ただ、見た目では絶縁が確保されているのかがわからない点が怖いですね・・・

次回予告

今回はハード中心でした。

次回は、ソフトを中心に書いていきます。

前回へ戻る