- ベストアンサー
プルアップ抵抗について
こんばんは。 PICマイコンをやっていますが、 プルアップについてよく分かりません。 プルアップは、電圧を引き上げる、 と説明されていますが、 自分で測ったところ、 抵抗を入れたときと、入れないときでは、 入れないときの方が、ポートの 電圧は、高いようです。 他の説明では、あまり高い電圧だと、 ポートが破壊されてしまう、とも あります。 ポートを守るため、と考えたほうが、 分かりやすそうですが、殆どは、電圧を 引き上げるため、とあります。 といっても、抵抗をいれないと、確かに、 反応がうまくいきません。 (そう考えると、一定の電位差を得るため?と なりそうですが・・)。 初心者ですが、何かアドバイスがありましたら、 お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
抵抗をつけなくてもIC内部の回路を通じてたしかに電圧は出ますが、周囲回路の状況やノイズなどでものすごく変動しやすい不安定な状態です。 そのために電源ラインから抵抗を通じて確実にHIレベルを保つためにプルアップ抵抗を使用します。
その他の回答 (2)
- saru_1234
- ベストアンサー率33% (452/1341)
質問者様がプルアップをどの箇所に使われているのかよくわからないこともあり 回答というよりも一般的解説になってしまいましたが,勉強のつもりで お読み頂きたいと思います. プルアップ抵抗といっても役目がいくつかあります. 文字通り,電源とその信号の間に入れる抵抗器を指します. プルダウン(グランドと信号の間)もあります. CMOS 以前の半導体部品では,プルアップ抵抗の方が消費電流が少ないので プルダウンよりもプルアップを優先的に使う傾向がありました. 1. 入力端子で,未使用の場合のオープン防止,入力状態の固定. オープン(未接続)の場合,外来ノイズで入力信号がバタバタ変化するように誤解したり, 静電気などの高い電圧がかかると永久破壊したりします. 静電気は, 端子に触れなくても至近距離に接近しただけでも誘導されることがあります. プルアップやプルダウン抵抗はこれを防ぎます.(保護の役目) 2. 入力端子にやってくる信号がオープンコレクタ形式の場合のHighレベル保証. メカスイッチを入力端子に接続する場合,スイッチを押すとマイコンの入力端子を グランドにショートさせ,離すとオープンにするのが一般的と思います. ショートの際はグランドレベル(=Lowレベル)が与えられますが,オープンの際は 本当なら Low レベルの反対の High レベルを与えたいのですが オープン状態では保証できません. (個体によりたまたまオープン状態を High レベルとして認識することはあります) そこでプルアップ抵抗によりHighレベル側を保証します. スイッチを押している最中は,プルアップ抵抗を電源~グランドに向かって 無駄な電流が流れるので,消費が気になる場合は値をあまり小さくしない方がいいです. 3. (PIC が該当するか知りませんが)オープンコレクタ出力であり High レベルを保証する必要がある場合. 2. と同じ理由を,出力側の立場から述べたものです. オープンコレクタ出力とは出力形式のひとつで,先のメカスイッチの場合のように Low に駆動する回路はあっても High 側に駆動する回路を持ちません. 内部回路的にトランジスタのコレクタ端子がオープンなのでこう呼ばれます. オープンドレインも同義です. また,上記3 の場合にも近いのですが, 出力ポートに使っている場合, 電源を入れてからポート初期化が済むまでの間, 時間にすれば数μ~数m秒でしょうが,出力が確定しないオープン状態にあります. 勿論どのような使い方をしているかにもよりますが,オープン状態ではその先の回路が 誤動作する危険性がある場合も,プルアップ・プルダウン抵抗で電圧レベルを確定させる, ということを行ないます. 抵抗を入れない時の方が電圧が高いというのはちょっとわかりません.
- tyunji
- ベストアンサー率19% (68/349)
出力に何か繋がっていますか? オープンでも電圧は出ています。でも、微量な電流しか流れないので、何か繋げると電圧は降下します。 例えですが +5V ----10MΩ----出力---100MΩ----GND のような回路の出力とGNDの間に1MΩの抵抗を繋げると、4.5Vから0.5Vに変化しますよね。 プルアップとして、10KΩの抵抗を+5Vと出力の間に入れておけば、出力は約+5Vが保たれます。 実際の動作とは一寸違いますが、このように考えると判り易いと思います。 実際には、No.1さんが言っているようにノイズに対する耐性の意味合いも大きいです。