koheiのおもちゃ修理記録

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

9/21 LEDのI-V特性などなどの続き~Attiny13aでのQステア送信機検討

2020-09-21 | PIC・電子工作
昨日アップした記事ですが、検討した回路に不具合(?不都合)がありました…。

大泉さんより、
「PB5(RESET)は駆動能力が低い。PB0とPB1が強力だが、ADC入力できない。PB2、3、4を使った方が良い。(ADCの分解能に十分余裕があるので、分圧抵抗値は今より下げる)」
という助言を貰いました。

「そんなポートの出力に差があるなんて、データシート(日本語版)の18.1絶対定格にも18.2DC特性にも書いてない…」と思ったのですが、
・19.8出力駆動部能力(低能力ピン):PB4,3,2
・19.9出力駆動部能力(通常ピン):PB1,0
・図19-40I/OとしてのRESETピン出力電圧 対 ソース電流(Vcc=3V)
にこっそり書いてありました…。不親切だなぁ…。I/Oの所とかに一覧表にして書いてくれればいいのに…。(ここのグラフ以外に「低能力ピン/通常ピン」なんて表現はどこにもない?!)

よって、「プルアップ抵抗が高めのPB5を使おう!」と思ってましたが、LEDの直接駆動には向かない(というか、ほぼ無理w)。操作可能距離に響くので、LEDには15mAぐらいは流したい。PB2,3,4なら15mAぐらいまでは流せそうだけど、分圧抵抗をいまより下げると、そちらに流れる電流が増えて、ポートがますます厳しくなる…
といった事で、いろいろと制約が増えてきました…。
こうなると、素直に14PINの16F1503で作るか、8PINにするなら12F1501なりを使う方がいい気がしてくる…。

しかし、次善の策として「ターボSWとチャンネルセレクトを兼ねる」という作戦も考えてた事を思い出しました。回路にするとこんな感じです。

機能・プログラムとしては、
・ターボSWだけは正論理にして、ピン変化割り込みから外す(ターボSW単独押しではWake-upしない)
・Wake-upしたら、プルアップONしてADCを読んで、チャンネルを設定する。
・万が一Wake-up時にADC読み込み結果=ほぼVccだったら、ターボSWが押されていると判断して、sleep前のチャンネル設定を踏襲する。

ちなみにこれで、プルダウン変化時の電圧はこうなります。

昨日の記事の回路より、こっちの方が断然簡単な気がしてきましたww。

操作上の不都合としては、「電源入れて最初(orチャンネルセレクトSWを変更して最初)に、先にターボを押しながら前進を押す様な操作をすると、チャンネル設定がちゃんとできない」だけかと思いますが、「あれ?操作できない」となっても、多分次に何か操作してみたら動いた、ぐらいの事で済みそうに思われます。
さてこれで、Attiny13aで実際に作ってみるかみないかは…私次第ですw。
コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 9/20 LEDのI-V特... | トップ | 9/22 Attiny13aの内蔵オ... »

コメントを投稿