banner

ニュース

Aug 14, 2023

LEDを制御する

前回の記事では、LED 全般とその特性について説明しました。 この記事では、LED の駆動例をいくつか示し、最も一般的に使用されるいくつかの方法を比較したいと思います。 「すべてに適合するフリーサイズ」はありませんが、可能な限り一般化しようとします。 そのアイデアは、LED の明るさを効果的に制御し、寿命を延ばすことができるようにすることです。 長距離での導入を計画している場合、効率的なドライバーが大きな違いを生みます。 問題を見て、解決策について話し合いましょう。

ほとんどの初心者は、LED を爆破せずに光らせることに興味があるでしょう。 もう少し進むと、明るさの制御と、カラー ピッカーから任意の色合いを作り出す色の混合に行き着きます。 いずれの場合も、最終アプリケーションを明確に理解することが重要です。 作業台ライトなどの照明アプリケーションでは、ロマンチックなムードの照明制御が必要になることはほとんどありません。 逆に、ディスコ ライトでは、さまざまな色の LED の強度を変動させる必要があります。

では、明るさはどのように感じられるのでしょうか? 論理的に言えば、それぞれ 100 ルーメンの LED ランプが 2 つある場合、結果は 2 倍の明るさになるはずです。 実際には、人間の目は強度の変化に対して対数的に敏感であるため、強度が 2 倍になると小さな変化として認識されます。

光の強度の知覚は、光が占める視野の量に応じた指数を持つスティーブンスのべき乗則に従います。 5 度のスポットの指数は約 0.33 ですが、点光源の場合は約 0.5 です。 これは、5 度のスポットの場合、2 倍明るく見えるために光源は 8 倍増加する必要があり、点光源の場合は 2 倍明るく見えるために 4 倍増加する必要があることを意味します。

Adafruit から入手可能なもののような単純な 1 W SMD LED から始めましょう。 これは90ルーメンの定格で、ヒートシンクとしてアルミニウムPCBが付属しています。 ここでは、LED のパラメータの一部を簡単に説明します。

データシートには、順電流(連続)とピーク順電流から始まるいくつかの非常に重要な情報が記載されています。 値はそれぞれ 350 mA と 500 mA であり、超えてはなりません。

さらに 2 つの重要な情報が使用され、グラフとして表されます。 1 つ目は順方向電流と電圧のグラフで、LED を順方向バイアスするには約 1.8 V の電圧で十分であることを示しています。 その後、電流は抵抗的に上昇し、約 3 V で約 200 mA を消費すると報告されています。 2 番目の曲線は、相対的な LI 対順電流であり、電流が光出力の量を制御することを示しています (「4」マークまで伸びる直線)。

LED がオームの法則に従っていることを考えると、電流は電圧に正比例するはずなので、電圧を変化させて明るさを制御できます。 そうですね、小さな問題が 1 つだけあります。それは、順電流の曲線が非常に急峻であるため、電圧がわずかに増加すると電流の変化が大きくなるということです。 アルカリ電池 2 個を接続する場合とコイン型電池を接続する場合では、明るさが異なります。 両者には3Vの電位差がありますが、供給される電流量が異なるため、明るさが異なります。 電圧を制御するよりも、LED に流れる電流を直接制御する方が良いでしょう。

最も簡単な方法は、LED と直列にポテンショメータを追加することです。 単純! 基本的に抵抗を変えると、オームの法則が働き、出来上がりです。 可変抵抗は可変電流に相当し、可変輝度は可変です。

以下は、100 オームから 1 キロオームまで変化する可変抵抗器を備えた LED のシミュレーションです。 唯一の問題は、LED の抵抗が変化したり、電圧が変動したりすると、悲惨な結果が生じる可能性があることです。 これは本質的に開ループ制御であり、明るさの変化以外に回路からユーザーへのフィードバックはありません。

もちろん、ポテンショメータによっても電力が消費されるため、効率の問題もあります。

次に簡単なのは定電流回路を作ることです。 単純な定電流源を作成する方法は数多くありますが、その詳細な説明については、書籍「Art of Electronics」を参照することを強くお勧めします。 当然のことながら、このテーマに関するウィキペディアの記事もあります。

古典的な LM317 可変電圧レギュレータを使用して、小さな定電流を供給できます。 電流が高くなると調整抵抗で大量の熱が放散されるため、あまり効率的ではありません。

より良い方法は、過剰な電流を抑制し、負荷の変動を補償するアナログ フィードバックを提供する閉ループ回路を使用することです。 示されている回路は単純な電流制限器であり、他のトランジスタ回路よりも効率が高いため推奨されます。

これは、R_sense を流れる電流を、その両端の降下が 0.6 V 以下になるように制限するように機能します。これが起こると、Q2 がオンになり、Q1 がオフになり、R_load (この場合は LED) を流れる電流が制限されます。 オームの法則を使用して R_sense を調整すると、LED の最大電流を調整できます。

個人的には、Q1 を MOSFET に置き換えた上記の回路の方が好みですが、明るさをデジタルで制御したい場合には、次の方法の方がはるかに適しています。

次の回路では、一連のパルスを使用して LED に流れる電流をオンおよびオフに切り替えます。 電源スイッチを素早くフリックすると、照明が暗くなったように見えるのと同じです。 一般に PWM またはパルス幅変調として知られる、可変デューティ サイクルまたはオン時間とオフ時間を持つ一連のパルスをタスクに使用できます。

このトピックでは、2 つの部分について説明します。 1 つ目はスイッチング ソースで、単純な発振器またはマイクロコントローラーを使用できます。 2 つ目は、この設計の駆動段階となるスイッチ自体です。 両方について簡単に見てみましょう。

パルスを生成するには、humble 555 が良い選択です。 この回路は、T1 がスイッチング素子である単純な PWM 回路を示しています。

パルスを生成するには、humble 555 が良い選択です。以下の回路は、T1 がスイッチング素子である単純な PWM 回路を示しています。

現時点では、いくつかの選択肢と答えるべき質問があります。

1. PWM の正しい周波数はどれくらいですか?

2. 供給されている電流の量と、

3. これらすべてが明るさにどのような影響を与えるのでしょうか?

PWM の周波数は、知覚されるちらつきに影響を与えます。 簡単な例としては、デジタル ビデオを録画する場合、60 Hz の照明環境で NTSC を使用すると、カメラで多くのちらつきが発生するため、PAL に切り替えると大幅に改善されます。 PAL の場合は 50 Hz なので、Web カメラで今すぐ試して、その効果を確認してください。

スイッチング周波数は高いほど良いという考え方ですが、任意に高くすることはできません。 すべての LED には、スイッチがオンになって点灯し始めるまでに必要なターンオン時間が存在することに注意してください。 切り替えが速すぎると、LED が点灯しなくなります。 もう 1 つの結果は、周波数がスイッチング素子の効率に影響を与えるということですが、これについては後ほど触れます。 現在、LED に最適な周波数を把握する必要があります。 上にスクロールして、データシート スニペットの最後のエントリを確認します。

1 KHz と書かれていますが、これはメーカーが推奨する値であり、ほとんどの場合、この情報はデータシート自体に記載されています。 そうでない場合は、500 Hz 以上のものを使用できるはずです。 LED の調光に関するアプリケーションについては、このリンクをチェックしてください。

この技術により電流、ひいては明るさのデジタル制御が可能になるため、次のステップは明るさを制御する方法を見つけることです。 LI は電流に正比例しますが、知覚される明るさは対数であることに注意してください。 線形ステップ入力を対数電流変化に変換する必要があります。

マイクロコントローラーや FPGA を使用する場合、答えは非常に簡単です。ルックアップ テーブルです。 知覚される一連の輝度値に対応する PWM デューティ サイクルのリストを用意します。 言及しなければならない素晴らしい例は、設計者が FPGA を使用してログ LUT を作成し、ユーザー入力から線形 PLI を生成する例です。 同じルックアップ テーブルは Arduino でも使用できるので、ぜひ試してみることをお勧めします。

個人的なメモ: LED が最初に登場したとき、私たちが直面した問題の 1 つは、ランプに付属の LED ドライバーが誤動作することでした。 私は最初に、スイッチング素子が過熱した場合に LED をシャットダウンするサーミスターとともに電流を制限する小さな回路を設計しました。 最終的に、専用のソリューションが登場し始めました。これについては、以降のセクションで説明します。

メニューの 2 番目の項目は、実際のスイッチング要素です。 予算と精神状態に応じて、BJT、FET、または MOSFET を使用できます。 BJT はより単純な生き物であり、追加のコンポーネントはほとんど必要ありません。 2N2222 は 800 mA の電流を安全に処理でき、多くのアプリケーションに適しています。

一方、MOSFET はコンポーネントの点で要求が厳しく、導入には少し注意が必要です。 その代わりに、ミリオームのオーダーのはるかに低いオン抵抗とより高い効率を提供します。 両方を見てみましょう。

これは最も単純な BJT LED ドライバー回路です。 エミッタ接地構成で接続されたトランジスタで構成されます。 入力スイッチが閉じるとトランジスタがオンになり、LED からグランド端子に電流が流れるようになります。 抵抗は次のように計算されます。

r0 = (Va+Vce) / Ic ここで、Va は初期電圧です。

これは一定ではなく、トランジスタの動作点によって異なり、飽和状態では数オーム程度になります。 電力損失は、数ミリアンペアの場合は重要ではありませんが、消費電流が大きくなるとすぐに問題になります。

EEVBlog の [Dave Jones] によるビデオ投稿を参照してください。そこでは、BD136 と 555 を使用して機器の LED の明るさを変化させています。 これは、ワット数が低い負荷には機能しますが、より大きな LED を駆動したい場合は、かなり大型のヒートシンクを追加することが予想されます。

MOSFET のオン抵抗は数ミリオーム程度と非常に低いため、このような状態では、P = I2R に従って非常に少量の熱が放散されます。

これらは電圧駆動のデバイスであり、入力インピーダンスが非常に高いため、多数のデバイスを安全に並列接続できます。 残念ながら、これらは誤ったターンオン イベントの影響も受けやすいため、スイッチング用途では回路を慎重に設計する必要があります。 興味のある方は、より詳細な説明をここでご覧いただけますが、この記事の執筆では一般的なケースを続けます。

最近、地元の金物店からノーブランドの LED パネルを 2 枚購入しました。 販売者は、12 V 電源に接続すれば動作すると言いました。 これらをチェーンで繋いでベンチ電源に接続したところ、12 ボルトで最大 2.7 アンペアを消費できることがわかりました。 近距離での明るさは恐ろしいので、明るさを制御する必要があります。

次のステップは、最適な MOSFET を特定することです。 スイッチング時のオーバーシュートを考慮して、安全側として 20 V または 30 V のドレイン-ソース電圧デバイスを選択したいと思います。 電流に関しては、約 5 アンペアのピーク電流を流すつもりであれば、0.1 オームの Res(ON) は 2.5 ワットを意味します。 このような場合、ヒートシンクのコストは最終製品に大きな影響を与えることになります。 代わりに、特に SMD デバイスの場合、オン抵抗が 0.01 オーム以下など、数分の一のものを希望します。

次はMOSFETを555かArduinoで切り替えようと思います。 これは 5 V Vgs に相当するため、ロジック レベル MOSFET が推奨されます。 ただし、12 ボルト電源で LED を駆動するので、トランジスタまたは専用の MOSFET ドライバを使用できます。 これがなければ実効抵抗はさらに高くなりますが、それでも試してみる価値はあります。

また、PH2520U や、現在は廃止されているロジック レベル MOSFET の MTP3055VL も検討したくなります。 MTP3055VL は比較的高いオン抵抗を備えており、0.18 オームと多くの電力を犠牲にして 5.0 ボルトでオンにすることができます。

IRF530、IRF540、IRFZ44N、および AO3400A は、在庫がいくつかあるので、すべて良い選択です。 IRFZ44N を使用して簡単な LED ドライバーを作成し、Arduino Uno を直接使用しました。 Arduino ピンは最大 5V に達するので、すぐに PWM を生成するフェードの例を使用したことを思い出してください。 PWM 信号の周波数は 490 Hz で、かなりまともです。

その結果、パネルが効果的に調光されます。 ただし、波形を詳しく見てみると、単一の LED パネルでは出力の立ち上がり時間が大幅に長くなっていることがわかります。

これは容量性寄生と弱い電流駆動によるもので、トランジスタ ドライバ段を追加することで解決できます。 この TI アプリケーション レポート (PDF) では、[Joost Yervante Damad] によって詳細に研究されている非反転バイポーラ トーテムポール ドライバを参照しながら、ゲート ドライバ回路について詳しく説明しています。 スイッチング周波数は低い範囲にあるため、これらのスイッチング損失は重要ではありません。 kHz 範囲または MHz 範囲でスイッチを切り替えた場合、これらの寄生要素によりプロトタイプはすぐに駄目になってしまいます。

私の場合は、駆動ステージを行わずに作業を進めましたが、デューティ サイクルが 75% になるようにコードを変更し、PWM の値を変化させて消費電流を測定しました。 消費する電流はピーク電流の 1 A より少し足りないことがわかりました。 MOSFETはヒートシンクが必要なほど発熱しませんでしたので、このLEDパネルでも回路はそのまま使用できます。 私の小さなランプ用の PCB の作成に進むことができますが、検討したいオプションがもう 1 つあります。

専用の LED ドライバー チップを使用すると、すべてのパラメーターを考慮することなく LED を効果的に制御できます。 良い例は、内部制御される PWM を使用して高輝度 LED の制御を可能にする TPS92512 です。 電流制御は内部で実装されており、アナログ信号だけでなくPWMを含む外部信号を使用して輝度をリニアに制御できます。 ルックアップテーブルは必要ありません。

IADJ ピンを使用して輝度が制御されるように、同じ LED パネルを備えたテスト ボードを配線しました。 単純なプリセットを使用して、目的のピンの電圧を 0.8 ~ 1.8 ボルトの間で変化させました。 出力はクリーンで効率的な変動電圧であり、出力段キャップによってフィルターされます。

インダクタ間をプローブすると、PWM 周波数は約 580 kHz になります。 ただし、出力 LED ピンで発振は確認できませんでした。これは、フィルター ステージが効果的に機能していることを意味します。 Autodesk Eagle (GitHub) で PCB の DIY バージョンを作成しました。これをダウンロードして独自に作成できます。

そこにはOSHParkのパープルが少し入っているので、自分でハンダ付けしたいと思っています。 ピンのサイズを見ると、楽しい練習になるはずです。 自分で作ったら教えてください。

では、どのようにして LED を駆動するのでしょうか? 答えはあなたのアプリケーション分野にあります。 LED の消費電流が小さい場合は、BJT がよりシンプルで最も安価です。 中程度の消費電流には MOSFET が適しており、すぐに使える優れたエクスペリエンスを提供するソリューションが必要な場合は、専用ドライバー チップが最適です。 私に関して言えば、テストでうまくいったので、中間の道を使用するランプを完成させる必要があります。 ビデオがちらつくようになった場合は、TPS92512 ソリューションが非常に役に立ちます。 皆さんも独自のソリューションをお持ちだと思いますが、それを共有する最良の方法は Hackaday.io のプロジェクトでしょう。 さあ、雪のように白い光の小さなランプを作って、あなたのストーリーを私たちにシェアしてください。

導かれた
共有