💡

LEDドライバNJW4617でパワーLED調光制御

2022/11/21に公開

日清紡マイクロデバイスのPWM調光機能付き定電流LEDドライバ NJW4617 を使ってパワーLEDを調光制御する回路と方法です。

背景: LEDと定電流回路

LEDを点灯させるための電流を作る主な方法には、電流制限抵抗によるものと、定電流回路によるものがあります。電流制限抵抗による方法では電源電圧を V^+、電流制限抵抗を R、LEDの順方向電圧を V_\text{F} とすると、LEDに流れる順方向電流 I_\text{F} は、オームの法則により

I_\text{F} = \frac{V^+ - V_\text{F}}{R} \enspace[\text{A}]

と求めることができます。

3mm や 5mm の砲弾型LEDなど、通常の使用方法では放熱を考慮せずに点灯できる小型のLEDでは、抵抗器1つで実現できる電流制限抵抗による方法が最も簡単でコストも安く実現できます。

ところで、LEDは温度が上昇すると一般的には V_\text{F} が低下するという特性を持っています。


OptoSuply製3WウォームホワイトLED OSM5XNE3C1S の環境温度-VF特性

OSM5XNE3C1S というLEDのデータシートによると、常温(25℃)では V_\text{F} = 3.8 [\text{V}] になりますが、100℃ では V_\text{F} = 3.0 [\text{V}] に低下することがわかります。


今回使用したウォームホワイト色3WパワーLED OSM5XNE3C1S

ここで、このLEDに常温で電源電圧 5V、600mA の電流を流すとき、2Ω の抵抗のみを使って電流制限を行う場合を考えます。電源投入時はLED本体が十分に冷えているため 600mA が流れますが、点灯による熱で 100℃ まで上昇すると V_\text{F} = 3.0 [\text{V}] となり、

\begin{aligned} I_\text{F} &= \frac{5 - 3.0}{2} \\ &= 1\enspace[\text{A}] \end{aligned}

と予期した電流値から 400mA も上回り、絶対順方向電流の 800mA を超えてしまいます。電流の増加により発熱が増加し、さらに電流が増加する正のフィードバックを持ち、この熱暴走により最終的には素子の焼損に至ります。そのため、放熱が必要なほどのLEDを大電流で安全に点灯させるには電流制限抵抗を用いた方法は不向きで、V_\text{F} による影響を避けるべく、定電流回路を使う必要があります。

数十mA程度の電流であれば定電流ダイオード(CRD)を使って定電流回路を実現できます。100mA 以上の電流の場合はLEDドライバを使った定電流回路で実現できます。

NJW4617

そこで今回は 20mA から 500mA までをサポートする、PWM制御ピン付きの NJW4617 を使った回路を考えます。使い方は \textsf{R}_\textsf{S} ピンに流したい電流値に応じた電流センス抵抗を接続し、LEDの カソード側 をLEDピンに接続します。調光制御の必要がなく常時点灯させたい場合は EN/PWM ピンをHレベルにするだけです。


NJW4617データシートより

電流センス抵抗

電流センス抵抗値 R_\text{S} は、LEDに流したい電流値を I_\text{LED} とすると、

R_\text{S} = \frac{0.2}{I_\text{LED}} \enspace[\text{Ω}]

と求めることができます。内部で基準電圧 V_\text{REF} が 0.2V で固定されており、電流センス抵抗は V_\text{DD} に影響されません。以下に代表的な電流値と電流センス抵抗と抵抗器の組み合わせ例を載せます。括弧の電流は推奨範囲外、組み合わせの・は並列、+は直列を表します。

I_\text{LED}[mA] R_\text{S}[Ω] 抵抗器の組み合わせ例
(0)
20 10.00 10Ω
30 6.67 10Ω・(10Ω+10Ω)
50 4.00 10Ω・10Ω・(10Ω+10Ω)
80 2.50 10Ω・10Ω・10Ω・10Ω
100 2.00 +1Ω
150 1.33 (1Ω・1Ω・1Ω)+1Ω
200 1.00
250 0.80 0.2Ω+0.2Ω+0.2Ω+0.2Ω
300 0.67 1Ω・(1Ω+1Ω)
400 0.50 1Ω・1Ω
500 0.40 0.2Ω+0.2Ω または 1Ω・1Ω・(1Ω+1Ω)
(600) 0.33 1Ω・1Ω・1Ω
(700) 0.29 0.1Ω+0.2Ω
(800) 0.25 1Ω・1Ω・1Ω・1Ω
(850) 0.24

LEDのカソードから流れ込む電流 I_\text{LED}\textsf{R}_\textsf{S} ピンから電流センス抵抗に流れ出します。\textsf{R}_\textsf{S} ピンの出力電圧は V_\text{REF} と同じ 0.2V ですので、 I_\text{LED} が 500mA の場合は 0.1W の消費電力となります。

接触抵抗と寄生抵抗による電流低下

電流センス抵抗が特に低抵抗の場合は、抵抗器の端子の接触抵抗や基板配線の寄生抵抗により抵抗値が増加し、LEDに期待したほどの電流が流れない現象が発生します。特に 1Ω を下回る抵抗値ではこの影響を無視できなくなります。


1Ω抵抗をはんだ付けして0.4Ωにしたもの

ブレッドボード上の場合、電流センス抵抗に複数の抵抗器を使う場合ははんだ付けする、NJW4617 と電流センス抵抗を極力近い場所に置くなど、接触抵抗と寄生抵抗を下げる工夫が必要になります。

プリント基板の場合は上記に加えて配線を太くするなどして寄生抵抗を下げるなどの工夫ができます。

定電流ドライバの損失熱

大電流を扱う場合はLEDと電流センス抵抗の損失熱の他に、NJW4617 自体に発生する損失熱についても考慮が必要です。


NJW4617データシートより

電源電圧を V_\text{DD}\textsf{V}_\textsf{DD} ピンに流れ込む電流を I_\text{DD}、LEDのアノード側電圧を V^+、LEDの順方向電圧の総和を \Sigma V_\text{F}、LEDの順方向電流を I_\text{LED} とすると、定電流ドライバの消費電力 P_\text{D} は、

P_\text{D} \approx V_\text{DD} \times I_\text{DD} + (V^+ - \Sigma V_\text{F} - V_\text{REF}) \times I_\text{LED} \enspace[\text{W}]

となります。ここで V_\text{REF} は前述の通り 0.2V、I_\text{DD} で固定となります。

試算として前述の3WパワーLEDを1つ点灯させることを考えます。たとえば V_\text{DD} = V^+ = 5 [\text{V}]I_\text{DD} = 290 [\text{μA}]\Sigma V_\text{F} = 3.8 [\text{V}]I_\text{LED} = 500 [\text{mA}] とすると

\begin{aligned} P_\text{D} &\approx 5[\text{V}] \times 290[\text{μA}] + (5[\text{V}] - 3.8[\text{V}] - 0.2[\text{V}]) \times 500[\text{mA}] \\ &\approx 501 \enspace[\text{mW}] \end{aligned}

となります。LEDの V_\text{F} が温度によって低下することを考慮すると、

\begin{aligned} P_\text{D} &\approx 5[\text{V}] \times 290[\text{μA}] + (5[\text{V}] - 3.0[\text{V}] - 0.2[\text{V}]) \times 500[\text{mA}] \\ &\approx 901 \enspace[\text{mW}] \end{aligned}

となります。
式から、LEDのアノード側電圧と順方向電圧の総和に差が多いと NJW4617 の損失が大きくなることがわかります。たとえば V_\text{DD} = V^+ = 12 [\text{V}] に増加させると、

\begin{aligned} P_\text{D} &\approx 12[\text{V}] \times 330[\text{μA}] + (12[\text{V}] - 3.8[\text{V}] - 0.2[\text{V}]) \times 500[\text{mA}] \\ &\approx 4004 \enspace[\text{mW}] \end{aligned}

となり、放熱器なしでは連続点灯が難しくなってしまいます。このためアノード側電圧をいたずらに高くできず、順方向電圧の総和に応じて適切に電源を選択する必要があります。電源の決め方は後述します。

NJW4617 の放熱

NJW4617 を直接プリント基板に実装する場合は2層基板で 1190mW、4総基板で 3125mW までの消費電力に対応できます。これを超える電力で点灯させるには放熱器が必要になります。

サーマルシャットダウン機能によりICの温度が160℃(参考値)を超えると電流の出力が停止します。無論、この機能はIC保護のための保険であり、ICのジャンクション温度の範囲内である150℃以下で動作させなくてはなりません。


NJW4617をSIP変換基板に載せ、放熱器を装着

秋月電子から TO-525-5 SIP変換基板 が発売されています。これに放熱器として こちら を組み合わせます。放熱器の足の部分を除去することでやや緩いですがブレッドボードに挿すこともできます。

LED ピン電圧と出力電流

LED ピン電圧 V_\text{LED}V^+ と LEDの順方向電圧の総和 \Sigma V_\text{F} に合わせて変動します。

V_\text{LED} = V^+ - \Sigma V_\text{F} - V_\text{REF} \enspace[\text{V}]

ところで、ある程度の大きさの V_\text{LED} がないと電流センス抵抗をどれだけ小さくしても出力電流 I_\text{LED} は流れません。以下に示すのは NJW4617 データシートの特性例にある Output Current vs. Output Pin Voltage のグラフです。V_\text{LED} が高いと出力電流 I_\text{LED} は電流センス抵抗 R_\text{S} に応じた電流値で飽和しますが、V_\text{LED} が低くなると I_\text{LED} もまた少なくなっていくことがわかります。


NJW4617 データシート 特性例より

たとえば V^+ = 5 [\text{V}]\Sigma V_\text{F} = 3.8 [\text{V}] とすると V_\text{LED} = 1 [\text{V}] となり、問題なく 500mA を流せることがわかります。

一方、V_\text{F} = 3.8 [\text{V}] のLEDを直列に2つ点灯させようとして V^+ = 8 [\text{V}] しかない場合、V_\text{LED} = 0.2 [\text{V}] となり、200mA 程度しか流せないことになります。

500mA を流すには、少なくとも V_\text{LED} は 0.5V 以上を確保する必要があります。電源電圧 V^+

V^+ \geq \Sigma V_\text{F} + V_\text{LED} + 0.2 \enspace[\text{V}]

の範囲で選択しなければなりません。

並列接続

NJW4617 では電流センス抵抗を 0Ω、つまりGNDにショートすると最大850mAまで電流を流すことができます。しかしこれは、保護機能による電流制限が働いた結果であり、NJW4617 1つで500mAを超える電流を流すことは推奨されていません。


NJW4617 データシートより

500mAを超える電流を流す場合は、NJW4617 を並列に接続することで対応ができます。上図の通り、LEDピンとEN/PWMピンを共有させます。電流センス抵抗は共有できません。
2つの NJW4617 を並列駆動させることで、最大1Aまで電流を流せます。3つ以上を並列させることもできます。電流の合計はそれぞれの NJW4617 に流れ込む電流の総和になります。

\begin{aligned} I_\text{LED} &= I_\text{LED}\text{1} + I_\text{LED}\text{2} \\ &= \frac{0.2}{R_\text{S}\text{1}} + \frac{0.2}{R_\text{S}\text{2}} \enspace[\text{A}] \end{aligned}

PWM制御

EN/PWMピンにPWMで信号を与えると輝度の調節ができます。NJW4617 のデータシートでは EN/PWM端子 ON 電圧 V_\text{ENPWM\_ON} の最小値が V_\text{DD}<5[\text{V}] のとき 0.7V_\text{DD}、それ以外では 3.5 と記載があります。この記載を信じると、ロジックレベルが 3.3V のSoCから制御しようとするとHレベルが 3.5V に届かず駆動できないように見えます。一方で V_\text{ENPWM\_ON}V_\text{DD} の特性グラフを見るとどの値も約 2.7V を上回ることはないように見えます。


NJW4617 データシート 特性例より

実際に室温20℃、V_\text{DD} = 5[V] の状況で V_\text{ENPWM\_ON} を測定すると 2.05V 前後で点灯しました。結果は特性グラフの記載通りかと思われます。よって制御のロジックレベルが3.3Vであっても動作すると考えられますが、確実にロジックレベルを V_\text{DD} まで上げる場合はレベルシフタが必要になります。


NchMOSFETを使ったレベルシフタとオペアンプを使ったレベルシフタ

EN/PWMピンに電流を流す必要はないため、NchMOSFETを使ったレベルシフタを使えます(画像左)。
ところで、V_\text{DD} へプルアップを行うるため、入力のPWM信号が Hi-Z になったり低圧側の供給が一瞬でも遅れると出力は V_\text{DD} になってしまいます。つまり、電源投入直後は制御に関係なく一瞬だけLEDが点灯してしまうことになります。通常の利用方法であれば問題になりませんが、大電流で点灯もしくは複数のLEDを使う場合は突入電流が発生する状況と同じになります。

これの解決法は低圧側がHレベルでない場合は常にLレベルが出力されることが保証できる回路を作ることです。方法はいくつかありますが、たとえばオペアンプによる方法があります(画像右)。

Arduinoによる制御例

調光を試すために今回は Raspberry Pi Pico で Arduino フレームワークを使います。以下に回路図を示します。


Raspberry Pi Picoを使った点灯制御回路

プログラムは至ってシンプルです。Arduinoの場合、analogWrite によるPWM出力で調光制御できます。

#include <Arduino.h>

// for Raspberry Pi Pico (RP2040)
#define PIN_PWM 16

void setup() {
  pinMode(PIN_PWM, OUTPUT);
  analogWrite(PIN_PWM, 0);
}

void loop() {
  for (size_t i = 0; i < 255; i++) {
    analogWrite(PIN_PWM, i);
    delay(10);
  }

  for (size_t i = 0; i < 255; i++) {
    analogWrite(PIN_PWM, 255 - i);
    delay(50);
  }

  analogWrite(PIN_PWM, 0);
  delay(1000);
}


動作風景

参考文献

  • 日清紡マイクロデバイス PWM調光機能付き定電流LEDドライバ NJW4617 データシート
  • OptoSupply Xeon 3 Power Warm White Star LED OSM5XNE3C1S データシート

Discussion