組み直し とりあえず、回路的には何の変哲も無いんですがマトリックスLEDの足にひたすらシフトレジスタの出力端子をつないでいます。アノード側には180Ωの抵抗を挟んでいます。これでLEDの電流を17mAに制限します。計算方法は以下の通り。 ![]() 電圧5V LEDの電位降下2V(多分) ( 5V - 2V ) / ( 180Ω ) = 3 / 180 = 0.0167A ![]() ![]() 通電&NOT回路追加 最初、変な風に点灯していたのですが、そういえばカソード側のシフトレジスタは、LOW状態の時に点灯する回路だったので、前の回路でもデータ入力にNOT回路を入れていたんですね。ということで、トランジスタでサクッとNOT回路を搭載。 通電2 で、再び通電。左の写真のような状態になりました。一応回路自体には全くミスがありませんでした…めずらしく。大抵ミスを一つくらいはしてるんですけどねぇ。 ![]() で、結局何が問題かというと、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回路追加 バッファは普通、NOT回路を2つつなげるのですが、それをトランジスタで作るとトランジスタを32個も組み込むことになってしまいます。面倒すぎるので、バッファの代わりにNOT回路をいれ、DATA入力を反転することにしました。 ![]() で、DATA入力を反転しなければいけないのですが、さっき追加したNOT回路を通している部分だったので、NOT回路を通さない配線に変更しました。 通電3 ![]() 完成 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が変化したときに、トランジスタとしての働きがある程度はたらく範囲の最大値なので、トランジスタの破壊に至る量ではありません。 ということで、発熱もほとんどしていないので大丈夫ということにしておきましょう 完
|