ちょっとTea Time!? 7SEG_LEDの憂鬱の巻き. 2022.8.30

 数字や文字を表示させたいときは通常はLCDを使います. LCDだと消費電流も小さいし、それに沢山の文字が表示できます.
さらに、I2Cコントロールのものだと配線は2本で済みます.
 ただ、LCDだとちょっと無機質な感じもあるのので、少ない数値の場合にはLEDをつかったりします.
もともと、LEDやLEDなどの表示器は好きなので、安いものがあったりすると、つい買ったりします.
まあ、部品箱の肥やしになる一番悪いパターンではありますが.


共立で購入購入です.50個300円なので思わず買ってしまいましたが、典型的な部品箱の肥やしになるパターンです.

たまったLEDをなんとかつかおうとは努力をしています(笑.
もちろん、多桁数での表示なのでダイナミック点灯となるわけですが、LED間のパターン配線が一番面倒です.
とはいえ、まだ大き目のLEDだと配線は楽ですが、小さいLEDとなると、配線だけでイライラしてきます.
ほんと、イライラするくらいならLEDなんか買うなよ!って言われそうです.

しかし、手配線でLEDをつかおうとしても使える量は知れています.16桁の表示器を作ったところで
全然在庫減りませ〜ん(笑.


7SEG_LEDを消費しようとしてこんなものを作ったりしますが、焼石に水です.


単調な配線が続きますが、LEDが大きいとまだましです..

LED表示器も温かみがあっていいのですが、一番のネックはそのサイズです.
何かに組み込むには、大きいのものが多いです. 時計などの用途にはいいですが、
時計なんか部屋に1台あれば十分ですからね.

小さいLEDもあるが・・・・

そういった中で、小さい7SEG_LEDを以前に沢山頂きました.
これなら並べてもさほど大きくはなりません.

こちらは貰い物です.小さいLEDなので、使い勝手もよさそうです.

頂いたLEDは国産のもので、アイテンドさんでも売っているものでした.

SL-8111 - aitendo  アイテンドさんでも売っています.


ラッキーなことに部品のピン配置もありました.

これも折角なので使ってみようということで時計と作ったことがあります.
だいぶ昔の製作物ですが、電源を入れたら動きました.ただ、RTC(リアルタイムクロック)モジュールを
取り外しているので、表示は動きませんでした.

RTCは外していますが、一応時計のようなもの(?)を作ってみました.

ただ、このLEDは小さいということもあって、ダイナミック点灯させるときのパターン配線がもの凄く面倒です.
横着して裸線をつかってエイヤで取り付けていますが、ピン間を裸線が通ることになっているので、
いつ短絡しても不思議ではありません. まあ、短絡しても火がでることはないですが---.


LEDが小さいから配線が細かいです.面倒なので裸線で配線していますが、隣のピンに接触しないように注意が必要です.

このLEDも沢山あるので、時計を作ったくらいでは在庫が全然へりません.
なにか、汎用的に使えるような基板を作っておけば何かと便利かな〜と思ってみました.

便利なように基板を作りましょう!

ということで、すこし小さめの基板でこのLEDをつかった表示器を作ってみることにしました.
できるだけ小さくするために、ドライバには専用のICを使います.
ちょうど、共立に使えそうなものがあったので買ってみました.
でも、あとで調べたら秋月のほうがほんの少し安かったなあ〜.

LEDのドライバにはこれを使いましょう. 500mAまで流せます. あ、秋月の方が少し安いかな?

LEDの表示構成として6桁×2行という構成にしました.
というのも、2行とすることで電源ユニットなどにつかった場合には電圧と電流が表示できることになります.
また、6桁×2行あれば年月日と時分秒のすべてを表示することができます.

ということでパターンを描いてみました.
機器への組み込みを考えると、LEDの取り付け面に背の高い部品は取り付けられませんから、
LEDは基板の背面側に、そして他の部品は表面側に取り付けるようにします.

早速パターンを書いてみました. 機器への組み込みを考えてLEDは裏面に取り付けます.


パターンを表と裏に分けるとこんな感じになります.


一応、こちらが部品面です. 



こちらはLEDの取り付け面です. LED以外の部品はすべて表面実装部品なのでLEDの高さを超えることは
ありません.


基板も出来上がりました!

他の基板にあわせて、面付に割り込ませることができました.


一気に基板も作ってみました.こちらはLEDの取り付け面なので一応裏側です.


さっそく組み立てといきたいところですが、
その前に回路図も起こしておかなくっちゃ(って順序が逆だろ!
それに、色々と忙しいからいつ手が付けられるかなあ〜

#なんか、やりかけたけど途中で何か月もあいたりすることが多いいから、これもそうなっちゃうかな〜?


やめやめ!止めたあ〜 2022.9.4

なんとおバカな私!完全に没だあ〜.
カソードコモンとアノードコモンを間違えていたああああああああ!




組み立ててからおバカな間違いに気付いてしまいました.
明日もあるから、もう寝よ!(ふて寝です)



リベンジ! 2023.1.10

思い出したようにリベンジです。
このまま引き下がるわけにはいきません。いや、引き下がった方が傷口が広がらなくていいような気もしますが〜。

そもそも、部品箱のLEDにカソードコモンとアノードコモンを取り違えたのは、それらが混在しているのが原因です。
気を付ければいいのだけなのですが、こうなったらどちらでも使えるような回路と基板にすればいいわけです。

ということで、再開です。


沢山あるLEDたち。右2つがアノードコモン、左2つがカソードコモン。
桁数も違えば、ピン配置も異なります。もう〜ややこしいのだから!

ドライバICを変更!

最初の段階ではLEDの各セグメント(A〜G,Dp)の駆動は専用のIC、そしてセグメント全体の電流ON/OFFには
バイポーラトランジスタを使う予定でした。そうではなくて、実装面積を点からもどちらも専用のICを使うことにしましょう。
というのも、専用のICはほぼピン配置が同じなので、ソース側とシンク型を入れ替えることでLEDの種類を変えることができます。

駆動用のICについては、ソース側、シンク側ともどちらも秋月電子で購入可能です。

さらにバイポーラ型とMOS型があります。もちろんMOS型の方が降下電圧が小さいと思われるのですが、
ソースドライバのTD62784(秋月のDIP20でのラインアップ)では駆動電圧が少し高く4.5Vが要求されるものがあるので注意が必要です。
ちなみに手持ちのTDA62783(共立で購入)についてはON電圧は2.0Vです。

まあ、いづれにしてもLEDの電圧降下を考えると3.3Vの電源電圧では心もとないので5Vにするでしょうから、問題ありませんが・・・・。

ソースドライバ
(電流を出すIC)
シンクドライバ
(電流を吸い込むIC)
バイポーラ TD62784AP


ON電圧4.5V以上
TD62083APG


ON電圧2.5V以上
MOS TBD62783APG


ON電圧は2.0V以上。ON抵抗は標準で1.6Ω
TBD62083APG


ON電圧は2.5V以上。ON抵抗は標準で2Ω。

基板パターンを書いてみましょう!

再度、基板のパターンを書いてみました。 制御側についてはアノードコモンならびにカソードコモンのどちらにも対応できるようにしておきました。
そのため、表示器(LED)はセパレートにしています。


再度、基板パターンを描いてみました。

あ!そうだ! 2023.1.12

よく考えてみれば、7SEG-LEDのアノードコモンとカソードコモンを間違えただけだから、
ドライバーICをソース側からシンク側に入れ替えて、トランジスタもNPNからPNPに変更したら
動くはずです。 もっとも、ドライバICの電源を入れ替えて、トランジスタのエミッタをGNDからVDDに
変更するパターン変更が必要ですが、さほど手間はかからないはずです。
 基板を作り替えるとなると、かなりのコストがかかりますから、まずは失敗基板をできるだけ
活用するようにしましょう。

まずは、間違った基板の回路図を清書して、どこを変更するかを検討していきます。


当初、カソードコモンと思い込んで作成していた回路図.



アノードコモン用に回路図を修正. 修正箇所にはコメントを入れています.さほど、多くの修正は不要な様子です.

修正箇所をピックアップ

基板の修正箇所は切断3箇所、ジャンパー2箇所です.

黄色の部分がカットする部分です.


赤の部分がジャンパー接続する箇所です.

さて、この修正でいいはずですが、シンクタイプのドライブICは秋月に注文しているので
届いたら早速試してみましょう.

トランジスタはどうする? 2023.1.13

ダイナミック点灯は人間の目の残像を利用する方法ですが、パルス的に各LEDを点灯させるため
多くの電流が必要です.この基板では12個のLEDのダイナミック点灯ですから、通常の電流の12倍
流す必要があります. LEDは1mAでもながれれば結構な明るさで点灯しますが、十分に明るくするには
数mA、すくなくとも3mA程度は必要かな〜と感じています. 3mAだとして12個のダイナミック点灯なので
36mAです. さて、問題はアノードコモンLEDの場合、すべてのセグメントに共通して流すPNPのトランジスタ
には最大で8個分(A〜G,Dp)の電流がパルスで流れます. すなわち36mA×8=288mAになります.

しかし、よくつかう2SA1015のコレクタ電流の絶対最大定格は150mAです. 

絶対最大定格とは一瞬でもその値を超えると、素子に致命的な損傷を与える可能のある数値になります.
さてさて、288mAなんてパルスでも流してはだめなのでしょうか?
対策は色々とあります.
 その1: LEDに流す電流は平均で1mA程度に抑える.そうすればコレクタ電流の最大値は100mA以下になります.
       少々暗いのは我慢する.
 その2: コレクタ電流の大きいトランジスタを使う.
 その3:: パルス電流なら2SA1015でも大丈夫だとたかをくくる.

その1については、まあ最悪のケースではあるのでその2、その3を考えてみましょう.

その2:2N5401はどうだろう?
手元のトランジスタを色々と探していたら2N5401というものがみつかりました.
Ic=600mAまでいけるようです. これは単身赴任のときに、とりあえず適当に詰め合わせで買った
ものの中に入っていたものです. 15種類各40個で全体で600個入っていて1500円ほどでしたので、
結構お得です. まあ、お得かどうかは一定数は消費しないと言えませんけれどね.

ただ、気をつけなければいけないのは海外規格のトランジスタって足の並びが違うのですよね〜.
国産の2SA,2SCだとはECBの並びですが、海外規格品はEBCのものが多いです.

以前に気付かなくて、動かなくて悩んだことがありました.

で、2N5401のトランジスタはECBとEBCの並びの2種類があるようですが、パッケージの銘板からでは
どちらかわかりません. これは調べてみる必要があります.


これなんかはコレクタ電流が大きいです.Ic=600mAです.


単身赴任の時に買いました.色々なトランジスタが600個ほど入っていて
1500円ほどでした. 海外規格のものがおおいです.



2N5401はIc=600mAまで大丈夫なようです.


このパッケージの足の並びはどっちなんだろう?

残念!
 簡単にブレッドボードで回路を組んで調べてみました、足の並びはEBCでした. これだと基板にとりつかないな〜.
ということで、この2N5401はボツです.

その3:パルスなら大丈夫かな?
実はトランジスタ技術700号の別冊に2SC1815の特集記事があり、その中で2SC1815をパワーアンプにつかったものがありました.
その中では十分な冷却(放熱板に取り付け)すれば、ピーク値でコレクタ電流450mAでPc=2.3Wの条件でも10分以上壊れなかったという記載がありました.
10分後に壊れたかどうかはわかりませんが、放熱板を取り外したところ煙がでたということなので、冷却した状態なら大丈夫なのかもしれません.
それに、今回のLEDではピークではIc=300mAですし、そもそもスイッチとして使いますからPc=180mW程度です. 平均値でいえばIc=36mA、Pc=22mWですから
余裕なはずです.

こりゃ、一度試してみるかな?

ということで、下図の様な回路でテストです. ドライブするパルスは
2kHzでDUTY10%としました. フリッカーを抑えるには100Hz以上あったほうが
安心でしょうから、2kHz駆動だと12桁LEDで167Hzの点滅速度になります.


この回路でテストです. 負荷抵抗は10Ωとすこし重たくしています.
これで動いてくれないと、余裕なさすぎです.



PICをつかってDUTY10%(2kHz)のパルスを作成です.


1)負荷抵抗10Ω

まずは負荷抵抗10Ωです. オシロのプローブは負荷抵抗の電圧を測定です.
まずは、問題なく動きますね. 数分動かしましたが、トランジスタの過熱もないようで.
大丈夫そうです. まずは、パルスなら最大絶対定格を超えられるようです.

しかし、負荷抵抗に印加される電圧が低いです. 電源電圧5Vに対して
トランジスタがONの場合でも2.4V程度です. 負荷に流れる電流は240mAです.
恐らくトランジスタの内部抵抗に相当するものが高いのでしょう. 
トランジスタでの損失が2.6Vあります.TRの電圧降下分0.6Vを除くと2Vなので、
内部抵抗相当値は8.3Ωあることになります.

なお、このときトランジスタの消費電力はピークで624mWですが、平均だと62mWです.
ピーク値だと絶対最大定格を超えますが、平均値は余裕でパスです.

負荷10Ωでまずはテストです.


負荷の電圧は最大で2.4V程度しかかかりません.


2)負荷抵抗15Ω
つぎは負荷を少し減らしました.というか、負荷抵抗値を5Ω大きくして
15Ωにしました. この場合、出力電圧は3.9V程度まで上昇しました.
負荷に流れる電流は260mAと、負荷抵抗10Ω時240mAと比べてちょっとだけ大きくなりました(目測誤差程度?
トランジスタの内部抵抗相当値は1.9Ωです. こちらはだいぶ低くなりました.

このときのトランジスタの消費電力はピークで286mW、平均で29mWです.

今度は負荷抵抗15Ωにしました.



負荷電圧も3.9V程度まで上昇しました.(負荷抵抗15Ω)

3)トランジスタを大きいものに変えてみると?

トランジスタの内部抵抗が問題だとすると、トランジスタを変更すれば大きくかわるはずです.
ということで、手近にあった2SA490に差し替えてみました.そうすると、出力電圧は4.8Vまで上がりました.
負荷は15Ωなので流れる電流も320mAまで上昇です.

2SA1015GRの代わり2SA490Yを挿してみました.


出力電圧は4.8Vまで上がりました.(負荷抵抗15Ω)

ここまでのまとめ

まずは小型のTR(2SA1015)はパルスで動かせば絶対最大定格を約2倍程度超えても
問題なさそうです. ただ、流れる電流の最大値が260mA程度にありそうなので、
そのあたりをめがけてLEDに流れる電流を設定する必要がありそうです.

電源電圧5Vでトランジスタでの降圧0.6V、内部抵抗による降圧0.5V、LEDの降圧2.2V、
そしてシンクドライバの内部抵抗による降圧約0.4Vですから、電流制限抵抗にかかる電圧は1.3Vです.
流すトータル電流を260mAとするなら、8個のLEDで割ると32.5mAですから40Ωになります. 
E24系列からだと39Ω程度を選択すればいいでしょう.

早くドライバーIC届かないかな〜

ブツ到着! 2023.1.14

夕刻にブツが到着です. で、さっそく基板に実装です.


ブツが届いたので、さっそく基板に実装です.


まずはPNPについては純正(?)の2SA1015GRを搭載しました.

最低限のプログラムで動作確認

ダイナミック点灯用のプログラムを作成して、まずは動作確認です.
で、最初に電源ONしたときには表示が無茶苦茶です. でも、これで成功です.
表示ができることに意味があったわけですからね. 表示がおかしいのは、
プログラムが間違っているのか、回路図の清書間違いでしょう.

ということで、現物あわせでソフトを修正です.

そうすれば、問題なく使えることが確認できました. 明るさも十分です.
点灯速度は1kHzにしたので、12桁のリフレッシュには80Hz程度になりますが、
フリッカーは感じませんでした.


プログラムを書いて電源ON! なにか表示がおかしいけど、問題なしです.
まずは、表示ができたことで成功です.



プログラムを修正して問題なく表示も大丈夫なことを確認です.
これで、基板を廃棄せずに済みそうです.


あとは増殖あるのみ!

基板もつかえることが判ったので、あとは増殖させるだけです.
PNPもチップトランジスタも部品箱の肥やしとして、結構な量があるのでそれも消費するのに使えそうです.
気になるのは、チップトランジスタの熱容量が小さいので過熱が心配でしたが、発熱もほとんどないようです.

チップトランジスタでも作ってみましたが、こちらも問題なく動きました. 発熱もほとんどありません.

これで、表示器としてのレパートリーが増えました.

でも、一番嬉しかったのは廃棄しようかと思っていた基板が活用できることが判ったことかな!

さて、これをつかって色々と応用していきましょう(←本来はそれが目的です.

(おしまい)

回路図修正 2023.1.15


回路図が間違っていたので修正です. これが最終版.

おまけ

ここまで作ったのでなにか実用的なものを、ということでもともとのターゲットとしていた
電圧&電流計をつくってみました.
 INA226をつかった超簡単なものです. 5V電源は供給される電源から作成するので、
電源電圧は概ね8V以上の場合のみ使えます.

以前にINA226をつかったときは、誤差が大きかったのですが、その原因は10mΩのシャント抵抗誤差
にあるかと思っていましたが、色々と試してみて配線にあることがわかりました. ただ、INA226は入力抵抗の大きな
差動アンプをつかっているだろうから、そこまでの配線を短く太くすることでなんで誤差が小さくなったかは
よくわからず仕舞いです. ひょっとしてチップ抵抗の半田付け部分の位置なんかも電圧測定点のずれに影響して
いたのかな? いづれにしても10mΩのシャント抵抗なので、いたるところの接続抵抗が無視できない
ということなのでしょう. まだまだ修行が必要だなあ〜.


INA226をつかった電圧&電流センサーを使えるようにしてみました.


裏から差し込んで使用です.


上電圧計、下が電流計です. 表示分解能はそれぞれ1mVと1mAです.
電圧の単位がVではなくてUになってしまうのはご愛敬です.



シャント抵抗から最短でICのセンシング端子に配線することで、
誤差がかなり小さくなりました.


(おしまい)

電流値の誤差は基板パターンが原因か!

最初このモジュールをつかったときに誤差が10%ほどあり(電流値が高くでる)、
抵抗器の誤差かと思っていましたが、抵抗器を1%級のものに変えても変らずでした。

で、電流センサーのモジュール基板を眺めていて、なんとなく原因が判ったような気がします。
電圧検出をすべき箇所が10mΩのシャント抵抗の両端でなく、すこし離れたところから
電圧検出しているためと思われます。そのため銅箔パターンの抵抗分で誤差がでていると
思われます。

電圧検出モジュールの基板パターンです。


問題はこの部分と思われます。みかけのシャント抵抗の値が大きくなる可能性があります。

この3mmx2.5mmx2箇所のパターンの電気抵抗を計算してみます。
銅箔厚さ:35um、銅の導電率6x10E7(S/m)とすると

R=長さ/(導電率x断面積)= (2.5E-3x2)/(6.0E7 x 3E-3 x 35E-6)
 =7.9E-4 (Ω) = 0.79mΩ

となります。シャント抵抗器が10mΩですから、約7.9%分の誤差になり、
実測で発生した誤差(約10%)とほぼ一致する感じです。

10mΩのような低い値のシャント抵抗を使う場合は、電流検知を行う場所については
もっと抵抗器両端に極近接した箇所にしないといけないですね。これはパターンが悪い!
といか、こんなパターンで10mΩの抵抗を採用するのが問題かな。

でも、AMAZONなんかでみているとほとんどこのパターンの基板のようです(同じ会社?)
シャント抵抗は100mΩのものが多いので、発生する誤差も1%程度と小さくなるので、
抵抗器の誤差と勘違いされているのでしょう。無理やりでも1%ほと補正をかけると、
より精度の高い計測モジュールになるのですけれどね。

(こんどこそおしまい)

すこし改造 2023.1.16
より精度を上げるために、すこしモジュールを改造です。


余分な電流センスのパターンを切断しました。


シャント抵抗両端から直接信号を取り出します。同時に、データシートに
あるようなフィルタを追加しておきました。 10Ωの抵抗と0.1uFのセラコンを追加です。


結果は・・・・
 いままででスターでの電流測定結果より高目にでていましたが、
今回の改造で、約2%低い値となってしまいました。 うう〜ん、どっちが正しいのかな?
というよりテスタも信用ならないしな〜。
 でも、問題なのは測定する機器毎で測定値が異なるのが問題だなあ〜。

やっぱり(CPU上で)補正機能をつけた方がいいかな〜(悩。

(おしまい? 何度目?)

さらに続きます