koheiのおもちゃ修理記録

宇部おもちゃ病院 毎月第2土曜日 13:00~16:00
宇部新天町の西の端、市民活動センターで開院してます。

7/28 断線チェッカー続き~チャーリープレクシングについての考察

2019-07-28 | PIC・電子工作
先日の「断線チェッカー作ってみた」の回路ですが、「ポート4つでLED10個を制御。どんなロジック…?」と思いましたが、「チャーリープレクシング」という回路だそうです。
とりあえず、直近で参照されたのは「ラジオペンチ」さんの記事。以前にちらっと読んだ気はするのですが、難しくて全然記憶に残ってませんでしたw。自分で手を動かしてみないと、見ただけではなかなか理解できない…。より理解を深めるべく、自分で回路書いて考えてみます。

基本の回路は下図。

A~Dの4つの中から2つを取る組み合わせは、LED組の左から順に、A-B・B-C・C-D、A-C・B-D、A-Dの6通り。
式で書くと、4C2=(4×3)÷2=6。
このポート組の間に、逆並列のLEDを挟んで点灯させるので、12個のLEDが制御できる。
式で書くと、4C2×2=(4×3)÷2×2=12。
結果、使うポート数をnとすれば、n×(n-1)個のLEDが制御でき、3ポートで6個、4ポートで12個、5ポートで20個、6ポートで30個…と、普通のマトリックスを使うより少ないポート数で、多くのLEDの点灯が制御できます。
難点としては、例えば8×7のマトリックスだと、列ごとに点灯を制御するので、7分の1(又は8分の1)のダイナミック点灯で出来ますが、チャーリープレクシングでは1個づつの点灯になるので、56分の1のダイナミック点灯となり、制御も煩雑、という事があると思います。

さて、ラジオンペンチさんの記事からは、居酒屋ガレージさんの「電波チェッカ用12LEDレベル表示回路」という記事が参照されてますが、そちらに書いてある回路は、LEDの電流制限抵抗を1回しか通らない回路です。この回路と、元の「逆並列LED」の回路は同じ物でしょうか…?
理解してみれば、記事内の「LEDは対向させずに、カソード側をコモンにしてつないでみました」で理解しろよ~という事かもしれませんが、自分なりに解釈して回路を書いてみます。

上の回路にて、各ダイオードのアノードに着目すると、Aからアノードに繋がってるLEDは3つあります。同様に、BもCもDも、アノードに繋がってるLEDが3つずつあります。
例えば、Cについて見ると、下図の通り。

という事は、LED:12個を、「アノードに繋がってるLED」でまとめると、

となります。

この下がどうなるか、最初「基本回路①」のLEDに番号を振って対応させようとしましたが、組み合わせを理解すれば簡単な事。
Aの下にはB・C・D、Bの下にはA・C・D、Cの下にはA・B・D、Dの下にはA・B・Cが繋がります。
これを回路として書くと、

となり、LEDを同じ向きで並べた回路の完成です。
各ポートの出力の、分岐の前に電流制限抵抗を変更すれば、「基本回路①」と同様に、抵抗を2回通る回路になります。
ここでひらめいた!「逆並列」の基本回路①では、A-BとB-Aを区別せずに、4C2×2と捉えましたが、LEDを同じ方向に表現すると、A-BとB-Aを区別して、順列「4P2=4×3=12」で表現した事になるのではないかと思います。

ラジオペンチさんの記事では、これを「マトリックス形式」に変形してますが、ここも自分で考えてみます。
同様に「アノードに繋がってるLED」を意識して書くと、下図のようになります。

各ポートからの出力を横共通線として、アノードに繋がるLEDが3つずつ付いてます。そして、「LEDを同じ向きで並べた回路」と同様に、今度は縦線を共通線として、「Aの下にはB・C・D、Bの下にはA・C・D、Cの下にはA・B・D、Dの下にはA・B・C」が繋がります。
見ても同じかどうか判別できませんが、きっと同じ回路ですw。

このマトリックスをよ~~~く見てると、あるものに似てるのに気が付いた!
スポーツ大会等で見る、リーグ戦の「対戦表」です。

4チームの中から2つを選ぶ対戦の組み合わせは6通りで、6試合となりますが、①の試合はAチームvsBチームで、①’は①と同じ試合ですが、BチームvsAチームとなって、①をひっくり返した結果になります。
つまり、マトリックス形式で書いた場合、右上半分と左下半分は、アノードとカソードをひっくり返した関係にあるという事ですね~。

ラジオペンチさんの記事では、マトリックスの隙間をつぶす為、右上半分のLEDをひっくり返した回路を紹介したのち、「SparkFun」のLEDマトリックスの回路を紹介していますが、上図の「マトリックス①」の右上半分を、そのまま「むぎゅ~~~」っと左に詰めると、下記の様な回路になります。

SparkFunの回路は、右上半分のLED群を下に詰めて、ポートとの接続が上側に出てますが、「アノードで整理」をスタートにすると、このような書き方に辿り着きました。

ラジオペンチさんの記事では、さらに「ikkeiさん」という方の記事が紹介されており、7セグLEDの点灯をチャーリープレクシングでポート数を減らす回路や、8×8LEDマトリックスの制御ポートを減らす回路が紹介されており、これまっっった難しいのですが、とりあえず、基本は理解できたかな~w。
(「チャーリープレクシングについての考察(続編)」に続くww。)
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 7/21 断線チェッカー作... | トップ | 7/28 チャーリープレク... »

コメントを投稿