2011-04-11
●外観
(アルミケースに組み込む)
●液晶表示と操作スイッチ部の拡大
●手組み基板の様子
●回路図
(クリックで拡大↓)
●解説
●ATmega8マイコンを使ったLEDテスタの製作 (個別にLED電流を変化して、順方向電圧と明るさを比較できる) ●LEDの明るさを比べたい LEDを使ってあれこれ工作する時、やはり気になるのは明るさです。 さまざまな高輝度LEDが入手できますが、実際に点灯させてみないことには、雰囲気がつかめません。 透明な樹脂レンズから出る光もあれば、着色された樹脂全体が光るLEDもあります。 スペックを見て高視野角品だと思って選んだLEDでも、同電流で光らせた高輝度LEDの横漏れ光のほうが明るく感じる場合もあります。 また、明るさだけでなく順方向電圧も重要な特性です。 LEDの明るさ比較をするのに、電源や抵抗をつないで光らせるのは面倒なものです。 そこで、手軽に実験できるようにと回路を作ってみました。 ●DC-DCコンバータを使った定電流回路 とりあえず、同電流での明るさ比較用に作ったのが【図1】の回路です。 比較したい二つのLEDを直列に接続して点灯し、同じ電流値での輝度を比較しようというものです。 汎用DC-DCコンバータICを使って昇圧し二つのLEDを点灯します。 電流は抵抗R1の値で決まり、R1両端の電圧がICの基準電圧値1.25Vとなるよう定電流制御されます。 点線で囲った回路は電流値をボリュームで可変するためのものです。 LEDと並列に入れたツェナーダイオードは、通電状態でどちらかのLEDを外した時でも回路に電流が流れ、ICが正常動作できるように入れた保護回路です。 電源電圧が3Vくらいまで下がっても動作します。 ●LEDの電流と電圧を計りたい 図1の回路では、R1両端の電圧を計ればLEDに流れている電流が計れます。 そして二つのLEDそれぞれの電圧を計れば順方向電圧が分かります。 しかし、GNDを共通にした測定系でLEDの電圧を計るには差動アンプ回路が必要になります。 そこで【図2】の回路を試してみました。 PNPトランジスタを使ったカレントミラー回路です。 OP-AMPとTR1で定電流回路を構成し、その電流I1をカレントミラー回路でI2とI3に流します。 LEDの順方向電圧が異なっても二つのLEDには同じ電流が流れるのです。 R1の電圧を計ればI1が測定できるので、GNDを共通にした測定系でLEDの電流と電圧を読めるようにと考えたのです。 この回路では、LEDを片方だけにした時にも規定の電流が流れるようにするため、LEDに並列に入れたツェナーダイオードが必須です。 これが無いと、LEDを一つだけにした時、バランスが崩れてI1と同じ電流が流れません。 しかし、この回路では正確にI1=I2=I3となりませんでした。 汎用トランジスタを使ったということもあるでしょうが、負荷が変わってトランジスタのVceが変わると微妙な変化が生じ、電流値として誤差が生じるのです。 また、LED二つのために余分な電流I1がいるというのも無駄です。 ●独立して電流を可変できるように あれこれ模索しましたが、最終的に、同電流での明るさ比較だけでなく、二つのLEDに流す電流を独立して可変して発光具合を観察できる回路に落ち着きました。【図3】 制御マイコンにアトメルのATmega8を使い、16文字×2行の液晶表示器に設定した電流値とLEDの順方向電圧を表示します。 スイッチ操作でPWMのデューティを可変して電流値を設定します。 LEDの電流は0.1mA単位で最大25.5mAで設定でき、順方向電圧を最小桁0.01Vで表示します。 ●ATmega8マイコン 28ピンDIPタイプを使いました。 ピン互換の旧タイプAT90S4433と比べて、メモリの増加や高速化されただけでなく、プログラムの面でも乗算命令が増えていたりLPM(Load Program Memory)命令が使いやすくなるなど改善されています。 4MHzの内蔵クロックを使って動作させています。 ●電源まわり 電池での運用を考えていたので、マイコンの電源は3.3Vの三端子レギュレータで安定化し、DC-DCコンバータで昇圧して作った9.5VでLEDを点灯します。 A/Dコンバータの基準電圧はマイコン内蔵のもの(標準2.56V)を利用します。 また、DC-DCコンバータのスイッチングパルスを整流して、液晶表示器のための負電圧バイアスを用意しました。 単3電池4本をケース底面に設けた電池ボックスに入れて使います。 ●定電流回路 マイコンのPWM出力(2系統)をCR回路で平滑してDC電圧を作り、LEDに流れる電流を制御する定電流回路のOP-AMP入力に加えています。 この電圧とQ1(Q2)のMOS-FET(N-ch)のソースにつながる100Ω・R10(R18)の電圧が同じになるように制御され、例えば1Vなら10mAの電流が流れて、定電流回路となります。 PWM出力のデューティが100%オン(=電源電圧)になった時が最大電流になります。 設定できる最大電流は25mAにしています。 D5(D6)のツェナーダイオードは、LEDをつながない時でも電流を流すためのものです。 順方向電圧が高めのLEDでも4Vほどですので、5.1Vのツェナーを使いました。 ●順方向電圧測定回路 定電流状態で光らせているLEDの順方向電圧を計る回路がややこしくなりました。 LEDのアノードが電源につながっているので、GND間の電圧として測定できません。 【図4】のように差動アンプにする手もありますが、ゲインを決める抵抗(R1/R2:R3/R4)の誤差を解消するために半固定抵抗による調整回路が必要です。 そこで、フライング・キャパシタ回路を使ってみました。 LEDの順方向電圧を保持するコンデンサC15(C21)をアナログスイッチ(4016,4066でも可)で切り替えます。 LED側へ切り替えてコンデンサを充電したあと、OP-AMPの非反転入力につないでA/D変換して電圧値を読み取ります。 ソフト的なゲイン調整だけで、実電圧値を計算します。 ●他のA/D入力 LEDを駆動している電流のモニタのため、残ったA/D入力で定電流回路の電流を決めている抵抗R10(R18)の電圧を読み取っています。 現在の電流制御は、PWM出力を固定的に出しているだけですが、この電流モニタデータを使えば、フィードバック制御することも可能です。 残っているch4のA/D入力で、電源電圧を監視しています。 ●液晶表示 一般的な16文字×2行のものを4ビットモードで使っています。 電源電圧が3.3Vなのでプラス電源だけだとコントラストが低く、文字が見にくくなってしまいます。 そこで、コントラスト調整端子をマイナスまで振れるようにしています。 ●制御プログラム LEDの電流を増減するスイッチ操作を監視しながら、アナログスイッチを切り替えてA/D入力値を数字に変換して液晶表示を続けるという単純な処理です。 スイッチ入力があれば電流値を変えるためにPWMデューティを変更します。 変更した電流設定値はEEPROMに保存して、次回の電源投入に反映させてます。 変更のたびにEEPROMを書き込んでいると、書き込み回数の制限に引っ掛かってきますので、スイッチ操作が終わって2.5秒待ってから書き込むようにしています。 連続したスイッチ操作が続いている間は、EEPROMへの書き込みは行ないません。 ●キャリブレーションモード マイコンに内蔵している基準電圧回路や、分圧抵抗の誤差を補正するため、キャリブレーションモードを設けています。 電源オン時にどれかスイッチが押されていたらこのモードになって、PWM出力やA/Dコンバータの補正値を設定できるようにしています。 ・PWM出力:LEDを駆動する定電流回路が20mAとなるように合わせます。 ・LED順方向電圧と電源電圧:A/D値に対応する電圧値を設定します。 補正値はマイコン内蔵のEEPROMに記憶して、次回の電源投入で読み出します。 制御の詳細はソースファイルをご覧ください。 ●組み立て ユニバーサル基板に手組みしました。 LEDの抜き差しを簡単行なえるよう、ピンヘッダーのレセプタクル(2列タイプ)を利用しました。 一般的な砲弾型LEDの場合、アノードとカソードで足の長さが異なっていますので、短いほうのカソード側がきちんと接触するコネクタを選んでください。 ●運用 比べたいLEDをソケットに差し込んで、適当な電流を設定するだけです。 LEDの色や製造方法によって微妙に電圧が異なるのがよく分かります。 二つのLEDを並べつと、視野角による見えかたの変化も調べられます。 同一品でも、電流を変えた時の違いが比較できます。 |
◆青色LEDと黄色LEDで 同一電流での順方向電圧と 輝度変化を比較 |
◆質問やご意見はブログ:居酒屋ガレージ日記の関連記事にどうぞ。 ・2006年06月24日 LEDチェッカー ・2007年04月17日 へんなLED ・2007年04月19日 へんなLED #2 ・2007年04月20日 LEDテスター ・2007年07月26日 へんなLED再び ・2010年06月03日 アルカリ電池液漏れ |
◆◆◆制御プログラム◆◆◆ ※「LED_TEST1.LZH」ダウンロード (ソースファイルとマイコン書き込みデータを圧縮) |