koheiのおもちゃ修理記録

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

8/25 インテルHexFormatViewer~不具合修正

2019-08-25 | PIC・電子工作
ちょっと前の記事「6/1 インテルHexフォーマットファイルのViewer、作ってみた~バージョンアップ
」で掲載した、インテルHexフォーマットのファイルを色付きで表示するViewer、先日使ってたら、上書き保存ができないバグがあったので、修正しました。

(上の画像は「1BYTE表示」の例。「2BYTE表示」にもできます。)

実行ファイルが欲しいだけの人は→ココ
プロジェクト全部が欲しい人は→ココ

見直してみたら、パス付ファイル名とパスとがごっちゃになってました。
とりあえずちゃんと動くようにしたけど、まだバグがあるかもなぁ…。

これだけの記事ではつまらないので、プログラミングに関する雑感を少し。
近々、小学校でプログラミングが必修になるとか。どうなることやらww。
必ずしも、何かの言語でプログラムが組めるようになるのを目指す訳ではなく、「プログラミング的思考を習得する」が目標という話もある…。

「プログラミング的思考」とは何ぞや?
文科省さんの定義によると、
「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」
だそうな。まあ、「プログラム」という物を無理やり言葉で説明するとこんなふうになるんだろうけど、さっぱり分からん~ww。

上の「IntelHexViewer」は、結構なボリュームのプログラムになったけど、あれぐらいのプログラムが作れるという事は、ぼくは「プラグラミング的思考ができる」(レベルはともかくw)という事だと思うけど、それはどうやって習得したのか?
小5の頃にいわゆる「マイコンブーム」が始まって、N-BASICやZ-80のマシン後の勉強をちょっとした。技術・知識よりも創造力が足りなかったので(w)、雑誌のプログラムを入力して遊んでたぐらいだけど、まあ、プログラムというものがどういうものかは、小学校の頃にあらかた習得してたのではないかしら?

小学校では、特定のプログラミング言語によらずに「プログラミング的思考」を習得するために、Scratchとかの「ビジュアルプログラミング」を使うとかの噂もあるけど、そんなまどろっこしい事せずに、VisualBasicとかで直接プログラムの勉強すればいいのに、と思うのでした…。
(何が言いたいのかよく分からないけど、とりあえず終了ですww。)
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

8/10 宇部定期開院

2019-08-13 | おもちゃ
8月度の宇部おもちゃ病院定期開院日です。
先月来てくれた宇部工業高校の子たちが、さらに一人増えて5人も来てくれました。

1件目、ラジコンカー。またもや写真撮りそこないました。ネットから多分これと思う物を拝借。

TAIYOの「スピントルネード」というラジコンカーだったと思われます(w)。
本体~ギアボックス間でのモーター線の断線です。高校生たち主体で直していきました。

ギアボックス側の付け根で断線ですが、本体側の付け根も傷んでるようだったので「本体側から全部引き直したい」という事で、本体側も分解。
本体分解の為にボディを外すには、頭(前輪中心部)を外さないといけない(頭の回転部分の下にネジがある)。
頭を外すには、車輪近くにあるネジ2本以外に、センターのシールの下にネジがあるので、シール破ってネジ外します。頭を外してボディを外せば、基板を出すのは簡単でした。

後輪のギアボックスの分解は、ちょっと悩みました。後輪はセンターでネジ止めなのですぐ外れますが、車軸が6角。ケース側の6角とちょうど位置を合わせれば、ケース分解できました。
ぼくの手持ちのビニール線だとちょこっと細めだったのですが、高校生君たちの「細いのは良くない」という意見で、他のドクターに赤黒の電源線を貰って、それに取り替えました。
今までよりもだいぶ太くなったので、本体側・ギアボックス側共に、線の取り出し部を削って広げないといけなくて、それが大変でした。

故障はここだけだったので、配線取替えして組み戻しして、試運転→ばっちり動いて終了です。

2件目、FisherPriceの知育おもちゃです。

電池ボックスに液漏れマンガン電池が入ってて端子がボロボロだったので、リューターで磨いてもらった結果、LEDは点くようになりましたが、音は全く出ない…。
φ40mmのスピーカー不良だったので、手持ちのφ36mmの薄型スピーカーで、裏に詰め物して、取り替えました。
これで試運転してみるも…、上の写真の青い部分、ノートパソコンを模したような箇所にA~Fと音符マークのボタンがある部分が、全く反応しない…。
高校生君たちが基板まで分解しましたが、特に異常はないし、導電ゴムSW部を直接短絡しても反応なし…。時間切れになって「もうこれでいいんじゃない?」となりかけましたが、入院でぼくが預かる事となりました…。

難航を予感したのですが、簡単なトラブルでした。
外してゴソゴソしてたら、ふと鳴る事がある。どうやら、ノートパソコンのフタを開けないと、下のボタンは反応しない仕組みになってる。その「開」の検知がしっかりできてない様です。
開の検知は、小さなリミットSWでした。

SW自体の反応は特に悪くない。フタ側の構造も、特に割れたりしてない。写真の白い部品(ボタン全体を押さえてる部品)でSWを押さえてる箇所が、押されて逃げるか少し遊びがあるかで、フタを開けてもSWの押しが不十分な状況と思われます。
SWのおしり側に厚めスポンジの両面テープを二重に貼り付けて組んだところ、ちゃんと開・閉反応する様になりました。

さて3件目、かなり年季の入ったおもちゃです。トミーの「はたらくじどうしゃ ビッグローダー」です。

高校生君たちがだいぶ悩んで、とりあえずモーターの8Tピニオン取替えまではしてみましたが、前進・後進の切り替えがうまくいかず時間切れで、これもぼくの入院となりました…。

フリーで回転するドラムがあって、これをストッパーで止める位置で前後進を切り替えるのですが、分解状態でだいぶ長時間動きを確認した結果、このフリー部がいつも同じ所で引っかかる。

写真の上の矢印部、フリードラムのストッパーと下のギアが接触して、ここでフリードラムの回転が止まってしまって、前後進がちゃんと切り替わらない事が分かりました。
この接触の原因ですが、下の平ギア、ケースの切り欠き穴に対して、左に寄り過ぎてほぼケースと接触してしまってます(下の矢印部)。この平ギアがもっと右に寄ってるべきと思われるのですが…。

このギア、スプリングが付いた「クラッチ機構」のギアセットですが、何かがおかしい…。

よくみると、スプリングが半透明の接着剤で固めてあります…。これは…シロウト(ご家庭のお父さん等)のしわざとは思えません。どこかのおもちゃドクターのやった事と思われます…。
(後日)修理完了の連絡時に聞いたら、おもちゃ病院での修理初めてで、ご主人が修理を試みたとの事…。じゃあしょうがないか…。

多分、クラッチが滑って坂を上らなくなった様な症状に対して、クラッチ機構を固定してしまったと思われます。クラッチが滑る場合には、ギア全体をバネが縮む方向にずらして、バネによる押し付け力を上げる調整が正論であり、バネを接着剤で固定するなんて…。
(クラッチのボス部に亀裂が見られる。軸との保持力下低下してギアがずれたのかも。)
せめてもうちょっと右で固定してくれてれば被害が少なかったのに、ケーシングに当たりそうな左めいっぱいで固定されてる…。
接着剤が緩まないかとドライヤーで加熱してみたけど、全く緩む気配なし。多分エポキシです。
左側にナット噛まして、バイスで相当力掛けてみたけど、まっっったくビクともせず。恐るべしエポキシ…w。

しかたなくこの位置で、当たる部分のフリードラム側をほんの少し削って、まあまあフリードラムは止まらないようになったけど、車輪の軸に入ってる平ギアとの噛み合いが凄く悪い…。手で回してもゴリゴリなって引っかかりがある。

このクラッチ付きの平ギア、よくみると、これもなんだかおかしい…。

歯と歯の間に所々半透明なものがくっついて、歯が埋まりかけてる箇所がある…。エポキシと思われる…。このせいで、相手の平ギアの歯先が当たってしまって、ゴリゴリと抵抗になっている。
スプリングにエポキシ塗った時に誤ってついたのか、歯の傷みを補修しようと思ったのか、いずれせよヒドい…。
とりあえず、カッターでなんとか歯型整形してぼちぼちにしてみたけど、まだいまいちスムーズじゃない…。

上下、組んだ状態でこんな感じ。

このクラッチ付き平ギア、ただでさえ薄いのに、歯幅の半分ぐらいしか上のギアに噛んでない。どのみち、この位置では噛み合い外れたり引っかかったりの懸念が解消されない。
え~い、「資材持ち」なので、取り替えてしまえ~!

あ~、すっきりw。以前に雑多ギア各種詰め合わせで買った中の24T平歯車に取り替えました。

これでだいぶ改善したのですが、まだどこかで引っかかる。もう怪しい所を片っ端からやってくしかない!

フリードラムの軸にもなってる、モーターからのクラウンギアについてる8Tピニオン、割れでピッチが開いてる様なので、取替え。(クラウンギアのボスも亀裂が入ってるっぽかったのですが、今の所トルクが掛けられるようだったので、クラウンギアとピニオンは連結はせず、それぞれ軸との摩擦でもたせる事にした。)

これで、さらにだいぶ改善したが、コースを走らせてみると、タイヤが空回りして中々ちゃんと進まない。坂が全く上れないだけじゃなくて、平地でも空回り。特にカーブがヒドい。
駆動輪のゴムが、片側はスカスカして空回り、片側は硬化してカチカチ。これもなんとかしなくては…。

スカスカの方外してみると、車輪側の溝がかなり深くて、プラレール用の動輪ゴムでは、溝の中にすっぽり入ってしまう。

1mm程度のゴム板在庫があったので、溝の中に二重に敷いてから、プラレール用の動輪ゴムをだいぶ伸ばしてはめると、なかなかいい感じに仕上がりました。

しかしこれでもまだ、負荷が掛かると「ガッ、ガッ」と歯飛びしたり引っかかって動かなくなったり…。全体的に摩耗が進んで遊びが増えてる気がします…。
最終的に、例のクラッチが付いてた軸の軸受部に敷き板したら、歯飛びもせず回る様になりました。

これでやっと、コースのどこでもばっちり走る様になった~!!!
で、コースを走らせてみると…、レールの青い部分、ダンプからショベルローダに乗り換えて、ショベルですくい上げる動作の所で、ショベルが上がらずにつっかかって車体が浮いてしまい、前進→後退の突起を蹴れず、次の動作に進めない…。
何かがおかしい、何かが足りない…。

ここで、ネットで動画を探して確認。oh!部品が足りてない!

これが動画から取った画像。矢印の所、門柱みたいな金属枠が立ってる。ショベルの頭の部分についてる棒がこの枠に引っかかって、ショベルが上がる構造になってる。この「金属枠」がなくなってるのね!

この金属枠、無いなら作らないといけない。レール側の穴を確認すると、3mm棒だとジャスト。
ホームセンターに買いに行こうかと思ったけど、SUSの3mm棒なんて買ったら、多分数百円と掛かってしまう。
ちょうど我が家で20年使ってとうとう寿命になった物干しハンガーの骨を使う事にした。
被覆針金だが、切ってみたら、中は全く錆びてなかった。20年も経ってるのになんと優秀な。

各所測って寸法決めて、折り曲げ。かなりじょうぶ(曲げにくい)でいい感じの材料でした。
被覆外径が4mm、被覆を全部剥いじゃうと2.5mm。なので、外径ちょうど3mmになるぐらいまで、根気よく被覆を削って、ちょうど遊びなく穴に刺さる様に加工。
やっと「金属枠」完成~!

これでほぼ復活、動画を載せておきます。→「動画はコチラ

これからさらにちょっと微調整。右上のホッパーから玉をショベルのバケット落とす所、ゲートがあくのがちょこっと早過ぎて、かなり荷こぼれします。もう少し遅くあくように、部品を削る→引っかかってあかなくなる→エポキシ盛る、と、結構時間かけて調整。
これで、完璧に復活です!

いや~大変でした。それにしても非常によく考えられた凝ったおもちゃです。器用に前進・後退を切り替えながら、動作を繰り返していきます。「ピタゴラ装置」の様ですw。1977年発売との事ですが当時の日本おもちゃ業界の設計に対する気合を感じます。(ギミックも増えてトーマスバージョンになったりして、今でも売ってるらしい。)
しかし…、見てるだけでおもしろいとはいえ、これをずーーーっと見てても遊びにはならない…。レールを組み替えてオリジナルな動作とかができないと、発展の余地が無い…。
「遊び」としては、単純なプラレールの様な自由度の高い物の方が優れてる気がします…。


コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

8/7 チャーリープレクシングについての考察(続編3)

2019-08-04 | PIC・電子工作
英語版wikiのCharlieplexingには、他のいくつかの派生形の解説がある。それらもどんなものか理解しておこう~。wikiに出てる順番に書いていきます。

1.Tucoplexing
解説記事は「Tucoplexing: A New Charliplex For Buttons And Switches」。
「3つのポートで、4個のLEDと4個のスイッチ」との事で、回路は下記。

これは…、ちょっとズルいなぁw、アナログな要素が入ってますね。まあそもそも、Charlieplexing自体が「狙ったLED以外にも電流が流れるLEDがあるけど、Vf不足で点灯はしない」というアナログ要素が入ってるし、「続編2」の「3ポートで12LED」ほどアナログでもないし、ポートもデジタルしか使わないけどねぇ。

Charlieplexingは、3ポートならA-B、B-C、A-Cの3つの組み合わせを使うけど、LED用にはA-B、B-Cだけを使って4LED。A-C間はスイッチに使うけど、ダイオード追加スイッチで2点に加え、コンデンサの充電を使って倍に増やして、スイッチ4個、という回路。

スイッチ入力確認方法の英文の説明がちっとも理解できないw。単にボクの英語力が足りない問題だけではない気がするのだけど…。
SW1検出の為には、PAを内部プルアップの入力・PCをL出力にして、PAがLならSW1押された、というスキャンをするはず。ただこれが、時間が短い場合には、SW2が押されてても、PAはLになる。SW2が押された場合は、0.1uのコンデンサが充電されると10kΩ経由でGNDに落ちる回路になるので…、この10kΩがコントローラの内部プルアップの抵抗より十分大きかったら(3倍以上とか?)、PAはHと判断される…かな?
①PAを内部プルアップの入力・PCをL出力にして、すぐチェックしてPAがLなら、SW1orSW2が押されてる ②しばらく経ってから再度PAをチェックして、LのままならSW1、Hに変わってたらSW2
というスキャン方法かな…?

(ちなみに「Tucoplex」というネーミングは、飼い猫の名前から付けたらしい。元の「Charlieplexing」も「チャーリーさんの考えたMultiplex回路」というネーミングで、この記事のスタートになったラジオペンチさんのブログでも「意味の分かる名前を付けてくれればいいのに」と苦言を呈されていたけど、まさか飼い猫からとは…w。)

回路として使うかなぁ…。よっぽどぴったり「4LED&4スイッチ」のニーズがある場合じゃないと使わないかも。でもまあ、Charlieplexingのペアの中にLEDとスイッチを混在させるアイディアはおもしろいかも、といった所かな。

ひらめいた!先日の記事「7/28 チャーリープレクシングについての考察(続編1)」で、「8PINマイコンの限界に挑戦!」とか称して、3ポートのCharlieplexingを2つ使って、6LED&6スイッチの回路を作ってみたけど、4ポートでペア組み合わせが6組できる。これを、3つをLED、3つをスイッチに使えば、4ポートで6LED&6スイッチができてしまうじゃないの~?!
4ポートで回路を書いて論理表を付けると、こんな感じ。

Charlieplexはポートを増やすとずんずん操作可能数が増えるので、コンデンサで無理せずとも、n×(n-1)の点数を、LEDとスイッチで好きに割り振れる、と思えば、応用が広がるかも!
(上の回路図では、A-B・A-C・A-DをLED、B-C・B-D・C-Dをswitchに割り振って、Port-Aにのみ電流制限抵抗を入れたが、割り振り方によっては電流制限抵抗の入れ方も変えないといけない。それと、この回路では、switchスキャン時にはAがプルアップ無しのZなので、LEDはどれも点灯しないが、LEDとswitchが混在すると、switchスキャン時のプルアップ有りZでLEDが点いてしまう可能性があるかと…。まあ、switchスキャンの時間はダイナミック点灯の時間と比べてうんと短いので、目に見えない程度かもしれないけど。)

2.GuGaplexing
分かりやすいEDNの日本語記事は「LEDの多重制御で必要なI/O端子数を削減」。
作品例としては「GuGaplexed Valentine LED Heart」が挙げられている。
チャーリープレクシングのLED数を倍にできる回路。基本回路は下記。

真ん中のトランジスタの回路、見た事あります。インバータ回路ですね。
チャーリープレクシングは、逆並列のLEDをペアのポートで挟んで、”01”と”10”の2通りで点灯させるので、nC2×2のLEDが制御できますが、GuGaPlexingでは”01”,”10”,”00”,”11”の4通りで点灯させるため、nC2×4のLEDが制御でき、Charlieplexingの倍になります。
インバータ回路の左側は、Charlieplexingと同じで、”01”と”10”で点灯しますが、”00”にすると、インバータの後ろ側では”10”になってD3が点灯、”11”にすると”01”になってD4が点灯、となります。
どちらかのポートがZの時は不点灯ですが、PAがZだとインバータの出力がVcc÷2程度になる為、その時に”Z0”や”Z1”でD3orD4が点灯しない様に、VccがLEDのVfの2倍より、ある程度余裕をもって低い必要がある。(例えば、Vf=1.8Vの赤色LEDなら、電源電圧は3V以下ぐらいがいいでしょう。)
ただこれは、Charlieplexingでも似たような状況がありますね。

(ちなみにネーミングは、発案者2名:Sarthak Gupta/Dhananjay Gadreの名字の最初を取ったみたいなので、発音は「グガ」で良さそうな気がする。)

LTSpiceで確認すると、

D3にかかる電位差は「1.77V」ですが、3.5mA流れてて、点灯してしまいそうです。電源を3Vまで下げると、電位差1.72V、電流2.1mAまで下がるので、やはり電源電圧は3V位の方が無難そうです。
(※日本語版EDNの説明では、LTSpiceで検証した結果「入力がHi-Zの時のインバータ回路の出力は、広い電源範囲でVcc/2になる」と書いてありますが……、それは、LEDを繋いでないインバータ回路単体の検証ではないかしら…?
上のLTSpiceシミュレーション結果で、PNP-Q2は、Q2→R1→D1→R5の経路でベース電流が流れる為、NPN-Q1よりもベース電流が約6μA多く流れてます。多分その影響で、PR2はVcc/2より少し高くなってます。作品例の「GuGaplexed Valentine LED Heart」のデモ動画でも、関係ないLEDが薄っすら点灯してる事があるみたい。
インバータ回路のベース抵抗を10kΩぐらいまで上げると、計算上では少し緩和するので、トランジスタのHfeに合わせてベース抵抗を調整すれば、なんとかベストが狙えるかも。)

ポート4つに拡張すると、下記の回路になります。

インバータ回路は、ポート数-1の個数が必要です。
どこにどのLED組をぶら下げてどのポートに繋げるかは、逆並列LEDのChalieplexing基本回路と、これをバーLEDの様に1列に並べたときに、上側にどれを繋げるか、下側にどれを繋げるか、を理解すれば、簡単にわかります。上に繋げるLED組だけにインバータを入れます。
4ポートなら、組み合わせはA-B・A-C・A-D、B-C・B-D、C-Dの6通り。Aが上のLED組は3つで、相手はB・C・D。Bが上のLED組は2つで、相手はC・D、Cが上のLED組は1つで、相手はD。Dが上の組は無いので、Dにはインバータは不要、となります。
そして、インバータの後ろにも、同じ組み合わせのLEDをぶら下げれば完成です。

さて、3ポートで12個,4ポートで24個,5ポートで40個…は、なかなかの個数ですが、実際に使うには、追加の部品点数が多すぎる気がする…。まあ、隣国から直輸入のSMD部品を使えば1~2円/個とかなので、インバータ回路1ヶ所10円程度ではあるけど、それでもPICのピン数を増やした方が安くつきそう。
「74HC04みたいなインバータ使えばいいじゃん?(まだその方が安いw)」と思ったけど、そうすると「え?!8PINのIC1個で40個のLEDを独立制御なんて、どうやってるの???」という、電子工作のロマンがなくなるww。
そのロマンと製作欲を満たしたいのでなければ、おとなしくPICのピン数を増やした方が無難だな、という感想~ww。(ただ、作品例の「GuGaplexed Valentine LED Heart」は、ちょっと作ってみたいw。)

3.Chipiplexing
英語版の元記事は「“Chipiplexing” efficiently drives multiple LEDs using few microcontroller ports」。
EDNの日本語記事は「少ないI/Oで多数のLEDを制御、同時点灯も可能」。
Charlieplexingと比べてLEDの個数は増えないが、LEDを同時点灯できる組み合わせができて、ダイナミック点灯時の分割回数が減らせるので、明るさを増やせるとか、ポートの出力電流を減らせるとかのメリットがあるとの事…。

4ポートで表現した回路は下記。(紹介記事は3ポートで書いてあったけど、3ポートだとメリットがほとんど感じられないので…)

ポート”H”の場合は変わらないが、”L”の方はエミッタフォロワで使ったトランジスタでGNDに落ちる為、コントローラの方にはごくわずかな電流しか流れず、LEDの駆動電流はほぼ一定の電圧降下(Vce≒0.7V)でGNDに流される仕組みのよう。
これにより、同時に複数のLEDを点灯しても、明るさが変わらない(という回路らしいw。)

例えばPA~PDを”1011”にすると、D1・D8・D10の3つを同時点灯できる。
”1”を出力してるポートは、それぞれ1個のLEDしか点灯させないので、ポートの負荷は変わらない。
エミッタフォロア回路無しのCharlieplexing回路で同じことをすると、PBに繋がってる電流制限抵抗の電圧降下が大きくなって、LEDの点灯が暗くなってしまうと思われる。
(ポート1個だけ”H”・残り3つを”L”でも複数同時点灯すると思うけど、LEDは暗くなるでしょう。)
結果、N-1個のLEDを同時点灯する事が出来て、ダイナミック点灯の時間を増やせる。
ポート数が多くなるほどメリットが大きくなり、5ポート20LEDの場合、Charlieplexingでは1/20に対し、Chipiplexでは1/5で済む、との事。(ほんとかなぁw、検証はめんどくさいなぁ…w。)

使うかなぁ…。同時に点灯させる場合分けのアルゴリズムが複雑な気がする…(作ってしまえばそうでもないのかもしれないけど)。かなり無理させた回路で、どうしても明るさを稼ぎたい時には役に立つかも…といった所。


さてこれで、長らくかかったCharlieplexingの研究wは、とりあえず終了です。
「このぐらいの事は、元の記事みりゃ分かるわ~」という人もおられるでしょうけど、何事も自分で考えてみるのが大事w。誰かほかの人の為の記事というよりも、自分の勉強の為の記事という事でww。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

8/3 チャーリープレクシングについての考察(続編2)

2019-08-03 | PIC・電子工作
引き続き「チャーリープレクシング」について調べてると、「LED = n×(n-1) + 2n」で「3ポートで12個のLEDを制御する例」という回路を見つけました。
元記事は「Three microcontroller ports drive 12 LEDs(December 15, 2006)」。
日本語版もあるらしいとの事なので探してみたところ「3つのマイコンポートで12個のLEDを駆動 (1/2)」。

テーブルと回路を見比べてみれば、まあ、やりたい事は分からなくもない。
チャーリープレクシングは、2つのポートで逆並列LEDを挟んでHとLを出力、他のポートはHi-Zにして、1つのLEDを狙い撃ちにするけど、1つだけLにして他のラインからVccを供給するか、1つだけHにして他のラインでGNDに落とすかで、チャーリープレクシングでは使えていないポートのTri-Stateの組み合わせを使って、LEDを点灯させるんでしょう。
しかしこの回路、見ただけではちゃんと意図通りに動くか理解できない…。
例えば、D9を点灯させようと「Z-0-Z」にすれば、D9が点きそうな気はする。
しかし、D1を点灯させようと「1-0-Z」にしたときに、D9やD8が点灯しない?

疑問はやってみるしかない!
この回路、左側のチャーリープレクシングの部分を除いた右側、書き換えるとこうなってるのではないかしら。

普通は、ハイサイドのスイッチングをPNP、ローサイドをNPNですると思うのだけど、逆になってる。例えばハイサイドのNPNで言えば、LEDとPNPの状態によってはNPNのVeが上がってVbeが確保できずにIbが流せない→トランジスタOff、といった、2個分のLEDのVfとトランジスタのVbeをうま~くバランスさせるような回路かしら…。

実機を組むのがめんどうだったので、回路シミュレータ「LTSpice」で試してみたけど、うまく行かない…。ポートを1個だけLにすると、狙ったLEDに4μA程度の電流が流れるけど、これじゃあLEDが点灯しない。
「VfとVbeの微妙なバランス」みたいなシミュレートはLTSpiceには無理なのかしら?
止む無くブレッドボードで、上記の右側のみの回路を組んでやってみるけど、やっぱりLED点灯できない。(ちなみにトランジスタは、リード部品で手持ちがあったSS8050とSS8550を使った。)

この回路、VfとVbeやHfeとベース電流等をしっかり調整しないと点灯しないのでは?
という事で「動かないじゃ~ん」と一旦諦めて、ブレッドボードの仮組みも全部撤収した後、つらつらと考え事してたら、「Hfeが低いんじゃ。ならベース電流を上げてやればいい~」と思いついた。

LTSpiceで、上のNPNも下のNPNもバイアス抵抗を1kΩに変更した所、狙ったLEDに点灯する程度の電流が流れるシミュレーションができました~。
ポートBのみLにした計算結果。

D9のみ1.79mA流れて、なんとかD9が点灯するかな。(R1~R3ももっと下げていいかな。)

ポートAをH、BをLにした計算結果。

D1に3mA程度流れて、点いちゃうんじゃないかと思ったD8・D9には10~20μAぐらいしか電流が流れておらず、D1のみが点灯しそう。

一旦片付けちゃってめんどうだけど、もう一回ブレッドボードで組んでみよう。
作業風景はこんな感じ。

右半分だけの回路を組んで、NPNのバイアス抵抗を1k、PNPの方も1k、間の抵抗は5kに変更した結果、ちゃんと「1個だけH、1個だけL」で、狙ったLEDが点灯する様になりました。

しかしまだ、ポートの「1個をH、1個をL」にすると、LEDが2個点灯してしまう…。「やっぱり無理なんじゃ…」と挫けかけたけど、ふと「左半分のチャーリープレクシング部分もセットじゃないといけないのか?」と思い当たり、ブレッドボード上に左半分も組付けて確認。これでちゃんと、一番上の論理表のとおりに点灯する様になりました~!

今回の最終の回路は下記。

これでも、左半分のLEDと比べて、右半分のLEDの点きが暗い。
SS8050とSS8550は、IcMAXが大きい反面、Hfeが低くVceも大きいんじゃなかったかな?
もっと小電流でいいので、Hfeが大きいトランジスタを使って、各抵抗の値を調整すれば、なんとか全部のLEDを同じ明るさにできるかしら…?

とりあえずこの「3つのマイコンポートで12個のLEDを駆動」の回路、一応期待通りに動く事は確認できたけど、ちゃんと動くには、使うトランジスタの特性に合わせた抵抗値調整と、各LEDの明るさ調整のための抵抗値調整とが、かなり面倒そうという事が分かりました。
12個のLEDを点灯させたかったら、チャーリープレクシングのみで4ポート使った方が無難だな~ww。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする