- ベストアンサー
プルアップ抵抗の選定について
- マイコンのI/O端子のプルアップについて、Highレベルの時にマイコンに流れる電流の許容値をどこで見ればいいのかわかりません。
- データシート上に「入力プルアップMOS電流」という項目があるのですが、使用するポートがそれに該当しないため、別の項目を探しています。
- マイコンの入力容量に記載されている静電容量を充放電する時に発生する電流がプルアップ時の入力電流であり、抵抗値の上限や下限の計算方法についても知りたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>プルアップの趣旨については解ったのですが、Highレベルの時にマイコンに流れる >電流の許容値をどこで見ればいいのかわかりません。 Hレベルの時にマイコンに流れる電流って、どこからどこへ流れる電流でしょうか? 電源(3.3V)→Pull-UP抵抗→マイコン入力ピン→GNDという経路のことを言っているなら それは限りなく0です。確かに過渡的には、あなたの言う電流が短時間に流れますが、 それ以降(入力の寄生Cを充電した後)は、入力電流=0と考えてOKです。 ICの入力は10の12乗とかのとても大きな入力抵抗なので、Pull-UP抵抗が1MΩでも1kΩでもHと認めてくれます。ですので、マイコンのことは気にせずに抵抗値が 決められます。気にしなくて良い=データシートに入力電流の項目が無い ということです。 あと、入力につけるPull-UP抵抗の大きさは、その前の回路の吸い込める電流以内の値にします。 例えば、センサの出力(例えばオープンコレクタとする)→マイコンという場合、3.3V→センサ出力ピン(Low)→センサの電源端子→GND(0V) という経路で電流が流れます。 センサには、定格として「出力電流の上限値」が書いてあるので、 その電流値の内輪になるような抵抗をPull-UP抵抗として選びます。 例えば、20mAまで吸える出力なら、3.3V/20mA=165Ω以上の抵抗ということになります。 設計者の入力Pull-UP抵抗の考え方としては、 ・センサ等、つながる機器の出力許容電流範囲内で使う必要があるが ノイズの影響を少なくする目的で、なるべく小さい値が使いたい ・でも小さい値だと、電流が流れてしまい、電源負担が大きくなってしまう。 これらのトレードoffで値を決めます。
その他の回答 (3)
ディスクリートの回路では、よくベース容量なんかを気にしますが、マイコンの場合はほとんど10KΩで大丈夫ではないでしょうか。 勿論既にコメントがあるように許容電流を越えるようではいけませんが… 消費電力を気にする場合には、10KΩ以上にすることもありますね。 以前、H8/3048でしたが、電池駆動する必要があって、クロック下げてプルアップ/プルダウンを47KΩで図面を出したら、お客様から「100KΩにしなさい」と突っ返されたことがあります。 文系の電子回路設計者さんが計算されたみたいに時定数の心配しなきゃいかんのでは?と思いましたが、そのときは特に問題は起きませんでした それと、私も文系(英文科卒)で、電子・電機の教育は受けたことがありませんので…(^^; 入力なんですね。 既にコメントされていますが要は論理レベルを固定できれば良いわけですからそんなに定数に神経質にならなくても大丈夫でしょう。 ノイズの影響の話しは、入力インピーダンスが高くなるから…ということでしょうけど、10kΩでも20kΩでも現実としては差は無いですよ(^^; (無線屋的感覚だと600Ωは既にハイインピーダンスです。数十kΩ台なら多少違う定数でも似た様なものではないかと…) 件の100kΩプルアップの話しもH8の入力でした。 屋外、公道上で何箇所か(すみません、場所は守秘義務絡みで書けません。地名を並べるとアレだってばれちゃいますが、かなり都会です)試験したそうですがハードウエアに依存するトラブルは皆無だったとエンドユーザーから伺いました。 勿論全てがそうなると言うわけではないですから、環境に応じて検証は必要でしょうけど… 自分は趣味が高じてこの世界に来てしまったので、難しい論理は判りませんが、半田ごて手にした年数と場数だけはこなしていますので、それを頼りになんとかやっています。 (トランジスタの2SB56、ゲルマニウムダイオードのSD34あたりが最新鋭、本格的な機器は真空管式…の時代からいじっていました) この世界に文系出身の人が来ると嬉しくなっちゃいます(^^;
お礼
のら猫さん 回答ありがとうございます。 元の回路については、ご指摘のとおり消費電力を考慮して22kΩとしたそうなのですが手持ちの在庫の 関係と抵抗値を高くするとノイズの影響を受けやすいという話しを聞き10kΩに変えようとしたのが今回 の質問のきっかけでした。 同じ文系(わたしは普通科卒です)出身とのことですが、私も頑張ってレベルをあげていきたいと思います。 たびたび回答ありがとうございます。 入力プルアップの件は、特に神経質にならず皆さんの意見(10kΩ)を自分の中の基準にして今後の経験の 中でその範囲を探っていきます。 わたしは、ついこの前まで制御盤関係から電子設計に移ったのでデータブックも今回初めて見たくらいで まだ判らない語句も多く悪戦苦闘中ですが、いつか質問に対して回答できるレベルになりたいと思います。
使用方法の確認ですが、 このポートは出力(H8出し)でしょうか? それとも入力(H8入力)でしょうか? これによって条件が違うと思います。 入力で使用する場合、特に気にする必要はありません。 (例えばVCCやGND直接でもかまわないと思いますが、VCCに直接つなぐ人はまずいません。) 入力信号のレベル固定がメインなので、適当な抵抗値を(10kΩ程度) が妥当だと思います。 出力で使用する場合は「おつさん」がおっしゃられていた通り、MAX2.0mA とありますので、プルアップの場合は端子をLに引いた時に H8に吸い込まれる電流値を2mA以下にする必要があります。 H8の出力がLでかつ0Vまで引いた場合、2.0mA以下にするには 3.3(V) / 2(mA) =1650(Ω) ですので、1.65kΩ以上の抵抗を接続する必要があります。 ということで10kΩに変更しても問題ないと思います。 一般的にプルアップは論理固定するためですが、抵抗値が大きいと 信号は徐々に変化するため、不定期間が多くなります。 また、小さくすると出力で使用したときに余計な電流が流れます。 オープンドレイン端子等もあるので、一概には決められませんが、 私の感覚では論理固定がメインであれば4.7kΩ~47kΩにしています。 といってもほとんどが10kΩですね。
お礼
saishimochi さん 回答ありがとうございます。 使用方法は、入力で入力信号のレベル固定が目的です。 「入力で使用する場合、特に気にする必要はありません。」とのことですが、 もしよろしければその理由について少しお聞かせ願えないでしょうか? これまでは、シーケンサをメインとした制御盤を扱うことがほとんどでこの時は 「プルアップ」「プルダウン」なんて考えなくてよい世界(自分のおこなっていた 範囲では)だったのでいろいろと悩むことも多いですが、1つ1つ解決させながら 覚えていきたいと思います。
もう少し他のパラメータを見てみましょう 次のページの出力許容電流値を見てください。 1端子あたりLow(吸い込み) High(吐き出し)ともに MAX2.0mAとあります。 これを超えないように設計します。
お礼
おつさん 回答ありがとうございます。こちらの質問の仕方をもう少し明確にすれば良かったのですが 現在思案しているのは入力の場合についてです。 あと、LowとHighのカッコ書き、ありがとうございます。まだ判らないことも多いので1つ1つ 勉強していきます。
お礼
島倉チョコさん 回答ありがとうございます。 細かい説明ありがとうございました。とくに、 「電源(3.3V)→Pull-UP抵抗→マイコン入力ピン→GND」の経路に関する 流れやその他の入力についての説明もありがとうございます。非常にわか りやすかったです。 おかげさまで理解することができました。 これまでの経緯と意見を参考に自分なりの定義と理由付ができそうです。 本当にありがとうございました。