とりあえず、回路的には何の変哲も無いんですがマトリックスLEDの足にひたすらシフトレジスタの出力端子をつないでいます。アノード側には180Ωの抵抗を挟んでいます。これでLEDの電流を17mAに制限します。計算方法は以下の通り。 電圧5V LEDの電位降下2V(多分) ( 5V - 2V ) / ( 180Ω ) = 3 / 180 = 0.0167A 右は組み終わったところです。45x45x25mmの中に、DIP16pinのICソケット4つ、抵抗を16本、32pinのマトリックスLEDが配線されています。まぁ、こういう高密度実装は表面実装でやれって話ですがね。一応、一通りのショート・絶縁チェックを行いました。あと、ICの向きは3回くらいは確認しておきましょうね。今回は失敗しませんでしたが、前回の基板にやったときは2個ほど逆に半田付けしてしまいましたよ…… 最初、変な風に点灯していたのですが、そういえばカソード側のシフトレジスタは、LOW状態の時に点灯する回路だったので、前の回路でもデータ入力にNOT回路を入れていたんですね。ということで、トランジスタでサクッとNOT回路を搭載。 で、再び通電。左の写真のような状態になりました。一応回路自体には全くミスがありませんでした…めずらしく。大抵ミスを一つくらいはしてるんですけどねぇ。 でも、横にON部分が3個以上並ぶとその列がくらくなってしまうという不具合がとれませんでした。前回、電流制御抵抗をカソード側にグランドコモンにした抵抗アレイを入れていて、そこの部分に不具合があるのかと思っていたのですが、どうやらシフトレジスタICの方で問題が発生しているようです。 で、結局何が問題かというと、ICからとれる電流の最大値がかなり小さかったということでした。多分、20mA位しか取れないのかな?せいぜい2個分の電流しかとれないので、まさにこの現象と一致します。 で、それを改善するためにどうしたらいいか、いくつか考えてみました。 1.差し替え可能でもっと多く電流がとれるICを探す 2.別規格ICで電流がとれるICをつなぐ 3.ソフト的に、点灯方法を変更する 4.バッファを入れる 1・2は実際そんなに電流がとれるICが見つからないので、無理でした。 3は、要するにテレビの走査線のようにLEDを1個ずつ点灯させればいいわけですが回路を一部変更しなければいけないのに加え、これで使っているマイコンのクロックが20MHzで、その中でIOポートのON、OFFでクロックを発生させているので一つのLEDを光らせている時間がとても短くなってしまうため、明るさがかなり減ってしまいます。 4は、回路を作るのがひたすら面倒です。 ということで、明るさを改善する方法は4番しか無いわけです。ということで、16個のバッファ(ON、OFFの状態は維持するが電流をバッファからとる回路になる。)を入れることにしました。で、もうソケットは取り外せないので、ソケットをもう1個用意し、その間にバッファを入れることにしました。 バッファは普通、NOT回路を2つつなげるのですが、それをトランジスタで作るとトランジスタを32個も組み込むことになってしまいます。面倒すぎるので、バッファの代わりにNOT回路をいれ、DATA入力を反転することにしました。 左の写真が、とりあえず8個の2SC1815と10KΩ抵抗アレイで、IC1個分作ってみたところです。上に4つ見えますが、ソケットの間にも4つ入っています。10x10x25mmの中にNOT回路を8個納めました。いやぁ、空中配線は大変だw。ってか表面実装でやれw で、DATA入力を反転しなければいけないのですが、さっき追加したNOT回路を通している部分だったので、NOT回路を通さない配線に変更しました。 で、半分しか作っていない状態ですが、通電してみました。上半分はそのままデータが逆なのでおかしな表示になります。でも、下は横にたくさん同時に表示する状態でも、しっかりと明るく表示されるようになりました。 2SC1815を買ってきて、完成させました。 Windows Media Player用(1.44MB) Real Player用(306KB) 今回使用したトランジスタは、2SC1815ですが、東芝セミコンダクタのサイトにあるデータシートによると定格は以下の値です。 コレクタ・ベース間電圧 VCBO 60 V コレクタ・エミッタ間電圧 VCEO 50 V エミッタ・ベース間電圧 VEBO 5 V コレクタ電流 IC 150 mA ベース電流 IB 50 mA コレクタ損失 PC 400 mW 接合温度 Tj 125 C 保存温度 Tstg 55〜125 C コレクタ-エミッタ間飽和電圧 V_CE(sat), max 0.25 V 直流電流増幅率 hFE, 70〜700 (2SC1815Yなので、hFEは120-240です。) ここで一番問題になるのはコレクタ電流です。この回路では最大で横に16個のLEDを同時に点灯させます。ということは、その瞬間は17mAが16個で272mAの電流がコレクタ-エミッタ間に流れることになります。定格オーバー。 ですがトランジスタが破壊されるのは電圧によるものと熱によるものが多く、電圧に関しては5V回路なので問題なし。熱は電流によって発生しますが、この16個のトランジスタは順に1個ずつ電流が流れる状態になるので電流が流れる時間は1/16になり、17mAが常に流れているのと同じと言えます。コレクタ電流の定格は、コレクタ電流によってhFEが変化したときに、トランジスタとしての働きがある程度はたらく範囲の最大値なので、トランジスタの破壊に至る量ではありません。 ということで、発熱もほとんどしていないので大丈夫ということにしておきましょう 完
|