この投稿は、バイナリクロックの輝度を向上するのに役立ちます。また、特に追加のLEDセグメントがアクティブになった場合に、すべてのLEDが一定の輝度を提供するための部品の選択についても説明します。
前の記事では、私たちは、「最低限適切な」ディスプレイ輝度の機能的なバイナリクロックを深く検討しました。その記事では、マイクロコントローラの電流処理と、多重化プロセス自体による輝度の低下という点で、多重化ディスプレイの限界を指摘しました。そこではパルス幅変調(PWM)信号への多重化を比較しました。6列 × 4行のLEDマトリクスの各LEDは、全体の1/6の時間点灯しており、これは約17%のデューティサイクルに相当します。また、選択したマイクロコントローラの制約により、LEDの電流は13mAに制限されました。これらの制約が相まって、ディスプレイとしてはあまり良いものではありませんでした。
今回の設定では、17%のデューティサイクルで駆動する6列 × 4行のマトリクスディスプレイを維持します。輝度を上げるため、行と列の両方に駆動トランジスタを使ってLEDの電流を増やします。13mAの代わりに、40mAのパルス電流を使います。この慎重な設定アプローチにより、LEDの電流を連続電流の約2倍にまで押し上げます。その結果、図1に示すように、元の設計より大幅な改善がされました。これは、図2に示すように、回路を少し複雑にすることで実現しています。
図1: 写真は列と行のドライバを備えた多重化LEDが特長の高輝度バイナリクロックで、1時35分46秒を表示
図2: 多重化ディスプレイ用の列ドライバおよび行ドライバを特長とする回路図
免責事項:
ほとんどのLEDには2つの電流定格があります。1つは連続電流で、通常は25℃の温度規定が伴います。2番目の定格は、一般にパルス駆動の多重化ディスプレイに適した高いパルス電流です。
LEDをより大きい電流で動作させることにより、多重化プロセスで失われた輝度の一部を取り戻すことができます。許容可能な動作と過剰なLED加熱による信頼性の低下との間には微妙な境界線があるため、これは難しい設計プロセスとなる可能性があります。原則として、多重化されたLEDは連続電流定格の全電流で動作させることができ、おそらく2~3倍の電流で動作させることができます。
データシートを参照して慎重に判断する必要があります。大量生産の場合は、メーカーのアプリケーションエンジニアに相談することをお勧めします。この記事で紹介したような単発の実験であれば、これは学習の機会だと考え、どこまでできるかを確認してください。
改良された設計
前回の記事では、PNPトランジスタの列ドライバを使用しました。これらのトランジスタは、一連の共通アノードLEDを正の電源レールにプルアップします。個々の行はマイクロコントローラによって直接駆動されました。今回の構成では、マイクロコントローラはカソードをグランド側に引っ張り、LED を点灯する回路を完成させます。
技術的なヒント: このアプリケーションの行トランジスタと列トランジスタはスイッチとして使用されます。最大電圧がLEDに印加されるように、トランジスタを完全にオンにすることが重要です。「完全オン」状態の場合、トランジスタは飽和状態(スイッチが閉じた状態)に駆動されます。これを行う1つの方法は、回路を強制ベータ状態に構成することです。これは、 I_C =10I_B を前提として抵抗を選択して行うことができます。これは一般的にはトランジスタを飽和状態にするのに十分ですが、成立しない場合もあります。例外については記事の本文を参照してください。
トランジスタの飽和と強制ベータ動作点に関する追加情報は、最近のフォーラムの投稿にあります。強制ベータの抵抗計算と、コレクタ電流が大きくなることによる複雑さを探求しています。
複雑化
当初は、前の記事で紹介した2N3906のPNP列ドライバをそのまま使用する予定でした。これは動作しましたが、特定の列で複数のLEDがアクティブになるとLEDの明るさが暗くなります。再確認した結果、抵抗の計算は正しいことがわかりました。さらなる検討により、2N3906 は大電流動作には不適切であることが判明しました。
問題は、電流が大きくなるとゲインが低下することです。抵抗が強制ベータの実施で選択されたことを思い出してください。この構成では、ベース電流がコレクタ電流の10分の1になるように抵抗が選択されます。これにより、通常、トランジスタが飽和状態になります。残念ながら、これは2N3906には当てはまりませんでした。私は、その枠外で動作するように求めていたのです。
多くのトランジスタと同様に、2N3906データシートにはさまざまなコレクタ電流における電流ゲインが示されています。私が気づくべきだった1つのデータポイントは、100mAのコレクタ電流に対しDCゲインが30(最小)という点です。選択した強制ベータの10と比較すると、それほど余裕はありません。しかし、選択した160mAでは、1つの列のすべてのLEDがアクティブになると、状況はさらに悪化します。
図3は、トランジスタの正規化されたゲインをコレクタ電流の関数として示しています。温度が25°、 I_C =10mAでは、ピーク1.0が見られ、これはゲイン100として近似できます。チャートには、1、2、3、および4個のLEDに関連付けられた電流がマークされています。ゲインが大幅に低下していることがわかります。実際、4個のLEDがアクティブな場合、160mAでのゲインは選択した強制ベータ値を下回ります。トランジスタは飽和状態にいるのではなく、線形範囲で動作しています。 V_{CE} 電圧降下の増加(非飽和)は、LEDの減光として現れます。ディスプレイは1列につき1個のLEDでは明るいのですが、LEDのアクティブ状態が移動するにつれて徐々に暗くなります。
図3: LEDの数が増加するにつれ、トランジスタのDCゲインが大幅に減少することを示すグラフ
解決策
解決策は、アプリケーションに適合したトランジスタを選択することでした。次に便利に入手できるトランジスタはMPSA56でした。このトランジスタは、元の2N3906のゲインが30であるのに対し、コレクタ電流100mAに対して最小ゲインが100であるため、これは適切な選択です。この変更により、LEDの明るさは表示されたすべての数値で均一になりました。
次に、LEDの電流制限について考えます。これは、各行の直列抵抗(R11~R14)を介して制御されます。この抵抗は、完全な5V DCがLEDに印加されると仮定して計算されます。ここではLEDの連続電流定格の約2倍である40mAの電流を使用します。前述したように、私たちはグレーゾーンで作業を行っています。この電流の増加により、LEDの寿命が短くなる可能性があります。
R_{LED} = \dfrac{V_{Supply} – V_{LED}}{I_{LED}} = \dfrac{5.0 – 2.3}{0.040} \approx 68\, \Omega
列ドライバの抵抗値を計算します。ここでは、 I_{LED} = 40 \, mA の強制ベータ状態を想定して計算します。また、最大4個のLEDを同時に駆動すると、160mAのコレクタ電流が生成されることに注意してください。
R_{ColumnDrive} = \dfrac{V_{Supply} – V_{BE}}{I_{ColumnDrive}} = \dfrac{5.0 – 0.9}{0.016} \approx 220\, \Omega
最後に、行ドライバ トランジスタのベース抵抗を計算します。
R_{RowDrive} = \dfrac{V_{Supply} – V_{BE}}{I_{ColumnDrive}} = \dfrac{5.0 – 0.8}{0.004} \approx 1\, k\Omega
この計算された行ドライバのベース抵抗は、トランジスタをもう少し深く飽和させるために680Ωに下げました。これにより、 V_{CE} が約0.5V DC低下しました。微妙ですが目に見える変化です。
終わりに
列ドライバと行ドライバの両方を追加すると、マイクロコントローラの出力電流が小さいという欠点が軽減されます。その結果、回路がわずかに複雑になりますが、ディスプレイの輝度は向上します。
連続定格よりも高いパルス電流を使用してLEDを動作させる場合は、データシートの仕様を必ず注意深く確認してください。ディスプレイの輝度を上げることとLEDを焼き切ることの間は紙一重です。
特にこれらのアイデアを組み込むことができた場合は、プロジェクトの結果をぜひ教えてください。
ご健闘をお祈りします。
APDahlen