RGBのパワーLEDをArduinoで制御する

数十WのRGBパワーLEDを手に入れたのですが、制御する回路がなくては扱いにくい事に気がつきました。RGBのパワーLEDドライバーは製品として売られている事には売られているのですが、Arduinoでの制御をしたいとなると数が少なくなってしまうので自分で作ることにしました。

仕様

パワーLEDをArduinoで、という時にいくつか問題があります。まずパワーLEDは大抵10V~20Vが必要になるため、Arduinoの最大電圧である12Vを越えてしまいます。また、抵抗での電流制限は不安定なので他の方法で電流を抑える必要があります。

前者は、8.5Vの電圧レギュレーターをつけることで解決しました。後者は、NSI50350AST3Gという350mAの定電流源ICを使うことにより解決しました。
また、電源アダプタの用意が必要になりますが、今回はプリンターの電源(Canon K30321)を使用しました。省電力のために何もしないときは8Vが出力されます。真ん中のピンがスイッチになっているので、そこに3V以上10V以下を入力すると24Vが出力されます。

また、実際のスイッチとなるMOSFETは500mA流せるBS170を使用しました。3.3VのArduinoでは使えませんが、最も安いので良しとします。

回路図

アノードコモン(プラスが共通)のLED用です。

左端の3ピンはPHコネクタでK30321に繋ぎます。1がGND、3が8V/24V(SW1で切り替え)となっています。入手性を考えて8.5Vの所が図では9Vになっていますが、そこはArduinoのVINに繋ぎます。

電源は20V程度であれば何でもよく、ノートパソコンの電源を使う場合は2を抜かして1と3をそれぞれマイナスとプラスに繋ぎます。
また、抵抗については33Ω≦R1,2,3≦100Ω、10K≦R4,5,6≦100Kと別の値でも良いです。

スケッチ

オンとオフの制御だけだと明るすぎ&色の幅が限られてしまうと思うので、普通はanalogWrite()を使ったPWM制御でアナログ的に明るさを調整します。サンプルのRGBの色が回転するスケッチを見つけたので試してみてください。
ピン接続はRが6、Gが5、Bが3です。

コメントを残す