LED チェッカーの製作(2009/09/04〜2009/09/23)

(Last update:2016/01/09)


手持ち LED のごく一部。
これだけでも数百個はある ^^;
お馴染みの市販 LED チェッカー。
光具合を見るだけならお手軽で
いいのだが・・
基板表。
試作品のため、LED 用コネクタ配線は
下記の実体配線図とは若干異なる
基板裏
基板表(図面は PasS で作成)
赤:ジャンパ、緑&橙:被覆ジャンパ
1列 LED コネクタは通常の LED 用、
3列 LED コネクタは FLUX LED 用
基板裏
同じく図面は PasS で作成
ケース加工の様子
角穴が多くて面倒 ^^;
ケースはタカチの SS-125B
蓋側内部。
LCD やコネクタ、電源
スイッチはホットボンドで固定
底面側内部。
電池ボックスは
ホットボンドで固定
測定の様子
回路図
動作の様子

製作の経緯

 管理人が電子工作を始めた30数年前、管理人は京都府北部の片田舎に住んでいた。当然、そんな田舎にパーツショップなどあろうはずもなく、電子パーツは年に 1〜2回、神戸のパーツショップで購入していた。したがって、下手にパーツを壊すと半年間は何も製作できなくなってしまうため、「部品は必ず予備を買っておく」という習慣が身に付いてしまった。

 以来、1時間で秋葉原に行ける場所に居を構えた現在でもその時の習慣が抜けきれず、管理人は必要以上に部品持ちである。特に LED は色や形のバラエティが多く、軽く1000個以上持っている。たぶん一生かけても使い切れない・・・(逝)。

 そんなわけで、管理人はもはや規格さえ判らない20年以上前の LED から最新の超高輝度 LED まで様々な LED を持っている。色や形で適当に部品箱から穿り出してきては市販の LED チェッカ(写真)で電流と輝度を確認するわけだが、市販の LED チェッカは LED を挿す位置を動かさないと電流値が変えられずに案外不便。また単に抵抗で電流制限しているだけなので LED の Vf(順方向電圧) で電流値が変わってしまうという問題もある。

 一方、照明用途で複数の LED を使う場合に Vf を揃えたい場合がある。特に国産 LED の Vf は結構ばらついているので、Vf 選別は重要だが、市販の LED チェッカでは別途テスタを繋いで Vf を測らなければならない。

 そこで、

 ・Vf が異なっても一定電流を流せる
 ・電流値を自動で変更できる(スイープ機能)
 ・Vf を自動で測定
 ・微弱電流時の Vf が測定できる(理由は後述)
 ・LED が挿さっているかを自動検出
 ・極性を自動判定

 といった機能を有する LED チェッカを作ることにした。規格の判らない LED でもポチっと挿せば後は自動で「良きに計らって」くれる、が基本コンセプト。


回路設計

 まず LED に流す電流を PIC からどう変化させ、どう検出するか、を考えてみる。

 通常なら PWM を使って電流をコントロールをするところだが、電流値を実際に測らなければならないのでちと面倒。しかしながら今回の用途では LED に流す電流は連続値でなくてもよいので、複数の CRD(定電流ダイオード)で適宜電流を加算してやれば良いことに気づいた。これなら LED 毎に異なる Vf を CRD が吸収してくれるし、電流値をわざわざ測定しなくてもあらかじめ決められたデータテーブルを参照するだけで良くなる。当然、電流の増減もポートを普通に叩くだけでよいのでソフトウエアも極めて簡単になる。

 ただ CRD を使う場合は CRD の肩電圧に注意が必要。肩電圧とは定格電流の 80% が流れる電圧のことで、要するに CRD にどれぐらい電圧をかければ定格電流付近の電流が流れるか、ということ。石塚電子の CRD の場合、0.1mA 品こそ肩電圧が 0.1V と低いが、1mA 以上のものは概して 3V 〜 4V 程度かけないと定格電流が流れない。これにより、電源電圧は 8.2V 以上( LED Vf 最大 3.7V + CRD 最大 4.5V で計算)必要になる。電源には 9V 電池を使えば屋外でも使用できて丁度良かろう。(ソーラーパネル関係の製作物なんかは直射日光下での LED の視認性確認したくなる時がある)

 また CRD の制御は、ハイサイド側で行なう必要がある。ローサイド側は LED の Vf を測るために使えないからだ。この場合、電源電圧よりも高電圧になるハイサイド側を PIC から直接ドライブできないので、NPN トランジスタをかましてドライブする。トランジスタには部品点数削減のため(と余剰部品消費のため ^^;)、デジトラを投入する。

 次に、LED の挿入検出と極性判定について考えてみる。

 今回の装置では 常に LED が接続されているとは限らない。LED 未接続の場合(および逆接続の場合)、最悪 PIC の入力ポートに電源電圧 (5V) 以上の電圧が印加される可能性もあるので PIC の入力ポートには保護ダイオードを入れておく。実は PIC 内部にも保護ダイオードは入っているのだが、最大 60mA 流れる可能性もあるため、保険のために外付けで追加しておく。なお、このダイオードは Vf が小さい SBD にする必要がある。また保護ダイオード経由で電気が流れる=三端子レギュレーターの出力側に高電圧がかかる、ことを意味するわけで、三端子レギュレーター保護のためのダイオードも入れておく。

 上記のような保護対策を行った場合、LED が未接続なら PIC には 5V 付近の電圧が印加されるため、A/D 変換値 4.8V 以上なら LED 未接続と判定することができる。ただし、LED の極性が逆で挿入されている場合も 5V が PIC に入力されるので、LED 未接続と判定した場合はリレーで LED の極性を反転し、再度 Vf を測定することで極性の判定と Vf 測定を行う。

 次に、LED にどれぐらいの電流を流すかを考えてみる。

 通常の LED なら定格電流は 10mA〜20mA 程度。だが最近の照明用 LED は 30mA ぐらいから数百mA クラスまでと幅広い。さすがに CRD で数百mA は無謀なので ^^; 今回は 0.1mA 〜 60mA までとする。

 ただ、挿入されている LED が照明用の大電流品かどうかを自動で判別する術は無いので、不用意にノンパルスの 60mA も流し込むのはマズい(下手すりゃ LED が焼ける)。そこでたとえスイープ時であっても 15mA まで流したらスイープを停止させ、以降、キーを押すごとに電流値をインタラクティブに上げ下げすることにする。

 一方、LED がほとんど光らない 0.1mA もサポートしておく。これは LED の Vf を電圧調整の目的で使用する場合を想定しているため。( LED を含め、ダイオードの Vf は流す電流によって変化し、微弱電流下ではかなり Vf が低下する場合がある。実際、こちらなどで定格 Vf 3.3V の青 LED Vf が、微弱電流下で 2.2V まで低下していた)。またこの 0.1mA を常時流しておけば、PIC の入力ポート電圧が不定値をとらず、安定するというメリットもある。

 で、結局流す電流は、

 0.1mA, 3mA, 5mA, 8mA, 10mA, 15mA, 20mA, 30mA, 40mA, 50mA, 60mA

 とする。ただ正確には

 0.1mA, 3.1mA, 5.7mA, 8.7mA, 11.3mA, 15.1mA, 20.7mA, 30.1mA, 41.4mA, 50.7mA, 61.9mA

 となるが、細かいことは気にシナイ(殴)


ソフトウエアの仕様

 プログラム言語は今回も当然ながらアセンブラを使う(爆)

 ・電源投入後、電流を 3mA から 15mA まで自動で増やしていく(スイープモード)
 ・スイープモードで 15mA に達したら、以降はインタラクティブモードに移行する
 ・スイープモードの途中でも、何かキーが押されたら、以降はキー操作で電流を増減する「インタラクティブモード」へ移行する
 ・スイープモードの途中で LED が抜かれたら電流値を保ったままインタラクティブモードへ移行する。
 ・再度スイープモードへ戻るには、PIC のハードウエアリセットを使う
 ・LED が挿入されているかは約1秒毎に常に監視し、未接続と判定されたらリレーを切り替える。
 ・LED の極性判定結果は N (Normal) もしくは R (Reverse) を LCD に表示する
 ・Vf は小数点2位まで計算する

 ソフトウエアでの LED の挿入確認方法は前述の通り。Vf が 4.8V 以上だったら LED が繋がっていないと判定する。


製作上の注意点

 LED を挿すコネクタにピンヘッダ用のコネクタを使った場合、FLUX LED のように足が平板状のものはコネクタの実装方向に注意が必要。コネクタの実装方向を間違えると足がうまく挿さらずに接触不良になる(参考資料:秋月電子・ブレッドボードの達人)。


使用部品について

 リレーは手持ちの関係で 12V 用の OMRON G5V-2 を使用した。一応 9V でも動作するが、30mA 程度電気を喰うので、秋月で売っている高感度品の 941H-2C-9D (9V 16mA) の方がお勧め。

 デジトラは、抵抗、C1815, A1015 を使ってディスクリートで構成しても OK。その場合、ベース抵抗は 1〜10KΩ、BE間の抵抗は無くても良い。

 なお、ケースは手持ちの関係でタカチの ABS のケースを用いたのだが(写真参照)、電池交換が容易なケースの方がヨカッタ・・・。


基板エディタ PasS について

 これまで、部品レイアウトは紙と鉛筆と消しゴムでチマチマと検討してきた。普通この手の作業は PCBE や EAGLE といったいわゆる定番の基板エディタを投入するところなのだが、これらの定番基板エディタは高機能なぶん操作が複雑で、イマイチ食指が動かなかった。

 ところが PasS なるソフトがあることを知り、使ってみたところこれが非常に便利。機能が絞られているので操作をすぐに習得でき、部品ライブラリも Windows 標準のペイント(アクセサリに入っているやるね)で簡単に追加できる。ユニバーサル基板での製作ならばまさに決定打的基板エディタともいえるものであった。

 ただ、UNDO 機能が無い、右クリックメニューがマルチディスプレイに対応していない、編集画面のウインドウサイズが固定で高解像度ディスプレイが活かせない、といったあたりが少々不便なのだが、実物通りに部品をレイアウトできる便利さはその欠点を補って余りある。作者様に感謝。

 なお、配線データは PCBE にもエクスポートできるので、業者への基板発注にも対応可能な模様。今後、この電子工作のコーナーでは PasS の実体配線図を参考に掲載していく予定。


問題点

 一部の LED で、0.1mA 時に何故か LED 未接続と判定されてしまう場合がある。また、このチェッカを製作された方から、LED に定格以上の電流を流しても未接続判定されてしまう場合がある、との報告もいただいている。いずれ原因を究明せねば・・・。


今回の感想

 20年前の LED は 20mA 流してもたいして明るくないのに、最新の超高輝度 LED は 3mA でも屋外で十分視認できる。ってか 0.1mA でもそこそこ光ってる (!) 技術の進歩って本当に素晴らしいデスネ ^^;


改良のアイデア等

 CRD は 5.6mA x 2 → 10mA、15mA x 2 → 30mA としているが、これはたまたま管理人の手持ち部品の都合。10mA 品や 30mA 品 1本で OK。5.6mA 品は肩電圧が 4.5V と大きいため、もっと肩電圧が低い 4.5mA 品の方が良かったかも。

 また今回は LCD に S-10551D を使ったが、こいつは見た目 16文字 x 1行ながら実際は 8文字 x 2行と同じメモリアドレス配置という変りモノ。そのため ACM0802C-NLW-BBH でもプログラムを変更せずにそのまま動く。バックライトに電気を食われるので電池仕様には不向きだが、小型に仕上げるにはこちらの方が便利。

 また 16文字 x 2行の LCD にして、電流制限抵抗値を自動計算して表示させようにしてみるのも便利ではなかろうか。



プログラム

 EEPROM 領域へデータを焼けるライタが必要。当方は Writer509 で焼いている。

プログラム(商用利用厳禁)Ver 1.0, 2009/09/23
LED_Checker_v1.0.zip


参考ホームページ、文献等 (管理者、プログラム作成者様に多謝)

花夢電科雑多猫 こちらの 16F628用 LCD 制御ライブラリを 16F88 用に修正、拡張して利用させていただきました。
趣味のホームページ 各種PIC用ライブラリが充実。
PIC を始めよう 液晶ディスプレイ(LCD)で文字を表示」にて LCD 制御方法がアセンブラで詳細に解説されています。
ELECTRONICS SHELVES こちらの「PIC マイコンの使い方とサブルーチン集 8 ビット、16ビット四則演算ルーチン」を参考にさせていただきました。

 [電子工作のページへ]