あなたの映画力を試せる!POPLETA映画検定(無料) >>

こんばんは。
PICマイコンをやっていますが、
プルアップについてよく分かりません。
プルアップは、電圧を引き上げる、
と説明されていますが、
自分で測ったところ、
抵抗を入れたときと、入れないときでは、
入れないときの方が、ポートの
電圧は、高いようです。
他の説明では、あまり高い電圧だと、
ポートが破壊されてしまう、とも
あります。
ポートを守るため、と考えたほうが、
分かりやすそうですが、殆どは、電圧を
引き上げるため、とあります。
といっても、抵抗をいれないと、確かに、
反応がうまくいきません。
(そう考えると、一定の電位差を得るため?と
なりそうですが・・)。
初心者ですが、何かアドバイスがありましたら、
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

抵抗をつけなくてもIC内部の回路を通じてたしかに電圧は出ますが、周囲回路の状況やノイズなどでものすごく変動しやすい不安定な状態です。


そのために電源ラインから抵抗を通じて確実にHIレベルを保つためにプルアップ抵抗を使用します。
    • good
    • 0

質問者様がプルアップをどの箇所に使われているのかよくわからないこともあり


回答というよりも一般的解説になってしまいましたが,勉強のつもりで
お読み頂きたいと思います.


プルアップ抵抗といっても役目がいくつかあります.

文字通り,電源とその信号の間に入れる抵抗器を指します.
プルダウン(グランドと信号の間)もあります.
CMOS 以前の半導体部品では,プルアップ抵抗の方が消費電流が少ないので
プルダウンよりもプルアップを優先的に使う傾向がありました.

1. 入力端子で,未使用の場合のオープン防止,入力状態の固定.

  オープン(未接続)の場合,外来ノイズで入力信号がバタバタ変化するように誤解したり,
  静電気などの高い電圧がかかると永久破壊したりします.
  静電気は, 端子に触れなくても至近距離に接近しただけでも誘導されることがあります.
  プルアップやプルダウン抵抗はこれを防ぎます.(保護の役目)

2. 入力端子にやってくる信号がオープンコレクタ形式の場合のHighレベル保証.

  メカスイッチを入力端子に接続する場合,スイッチを押すとマイコンの入力端子を
  グランドにショートさせ,離すとオープンにするのが一般的と思います.
  ショートの際はグランドレベル(=Lowレベル)が与えられますが,オープンの際は
  本当なら Low レベルの反対の High レベルを与えたいのですが
  オープン状態では保証できません.
  (個体によりたまたまオープン状態を High レベルとして認識することはあります)
  そこでプルアップ抵抗によりHighレベル側を保証します.

  スイッチを押している最中は,プルアップ抵抗を電源~グランドに向かって
  無駄な電流が流れるので,消費が気になる場合は値をあまり小さくしない方がいいです.

3. (PIC が該当するか知りませんが)オープンコレクタ出力であり
  High レベルを保証する必要がある場合.

  2. と同じ理由を,出力側の立場から述べたものです.
  オープンコレクタ出力とは出力形式のひとつで,先のメカスイッチの場合のように
  Low に駆動する回路はあっても High 側に駆動する回路を持ちません.
  内部回路的にトランジスタのコレクタ端子がオープンなのでこう呼ばれます.
  オープンドレインも同義です.


また,上記3 の場合にも近いのですが, 出力ポートに使っている場合,
電源を入れてからポート初期化が済むまでの間,
時間にすれば数μ~数m秒でしょうが,出力が確定しないオープン状態にあります.
勿論どのような使い方をしているかにもよりますが,オープン状態ではその先の回路が
誤動作する危険性がある場合も,プルアップ・プルダウン抵抗で電圧レベルを確定させる,
ということを行ないます.

抵抗を入れない時の方が電圧が高いというのはちょっとわかりません.
    • good
    • 0

出力に何か繋がっていますか?


オープンでも電圧は出ています。でも、微量な電流しか流れないので、何か繋げると電圧は降下します。
例えですが
+5V ----10MΩ----出力---100MΩ----GND
のような回路の出力とGNDの間に1MΩの抵抗を繋げると、4.5Vから0.5Vに変化しますよね。
プルアップとして、10KΩの抵抗を+5Vと出力の間に入れておけば、出力は約+5Vが保たれます。
実際の動作とは一寸違いますが、このように考えると判り易いと思います。
実際には、No.1さんが言っているようにノイズに対する耐性の意味合いも大きいです。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qオープンコレクタ出力ってうまく理解できないんですが?教えていただけます

オープンコレクタ出力ってうまく理解できないんですが?教えていただけますか。

Aベストアンサー

まず、『うまく理解できない』とのことですが、あなたの電気・電子の知識がどのくらいなのか分からないと教えることができません。
以下のリンクを見て、どこまで理解でき、どこの部分が分からないかを示して下さい。 トランジスタの動作が分からないとお手上げです。

http://www.wdic.org/w/SCI/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF

Qプルアップ抵抗値の決め方について

ほとんどこの分野に触れたことがないので大変初歩的な質問になると思います。

図1のような回路でプルアップ抵抗の値を決めたいと思っています。
B点での電圧を4.1Vとしたい場合について考えています。その場合、AB間での電圧降下は0.9Vとなります。

抵抗値×電流=0.9Vとなるようにプルアップ抵抗の値を決めるべきだと考えていますが、この抵抗に流れる電流が分からないため、決めるのは不可能ではないでしょうか?

抵抗値を決めてからやっと、V=IRより流れる電流が決まるため、それから再度流れる電流と抵抗を調節していって電圧降下が0.9Vとなるように設定するのでしょうか。どうぞご助力お願いします。



以下、理解の補足です。
・理解その1
ふつう、こういう場合は抵抗値を計算するためには、電圧降下と抵抗に流れる電流が決まっていることが前提だと考えていました。V=IRを計算するためには、この変数のうち2つを知っていなければならないからです。
また、例えば5V/2Aの電源を使った場合、マイコン周りは電源ラインからの分岐が多いため、この抵抗に2A全てが流るわけではないことも理解しています。

電源ラインからは「使う電流」だけ引っ張るイメージだと理解しているのですが、その「使う電流」が分からないため抵抗値を決定できません。(ポート入力電流の最大定格はありますが…)


・理解その2
理解その1で書いたように、抵抗値を計算するためには、電圧降下と抵抗に流れる電流が必要だと理解しています。図2を例に説明します。Rの値を決めたいとします。
CD間の電圧降下が5Vであることと、回路全体を流れる電流が2Aであることから、キルヒホッフの法則より簡単にRの値とそれぞれの抵抗に流れる電流が分かります。今回の例もこれと同じように考えられないのでしょうか。

ほとんどこの分野に触れたことがないので大変初歩的な質問になると思います。

図1のような回路でプルアップ抵抗の値を決めたいと思っています。
B点での電圧を4.1Vとしたい場合について考えています。その場合、AB間での電圧降下は0.9Vとなります。

抵抗値×電流=0.9Vとなるようにプルアップ抵抗の値を決めるべきだと考えていますが、この抵抗に流れる電流が分からないため、決めるのは不可能ではないでしょうか?

抵抗値を決めてからやっと、V=IRより流れる電流が決まるため、それから再度流れる電流と抵抗を調...続きを読む

Aベストアンサー

NO1です。

スイッチがONした時に抵抗に流れる電流というのは、最大入力電流や最大入力電圧
という仕様から読めば良いのでしょうか。
→おそらくマイコンの入力端子の電流はほとんど0なので気にしなくてよいと思われます。
入力電圧は5Vかけても問題ないかは確認必要です。

マイコンの入力電圧として0Vか5Vを入れたいのであれば、抵抗値は、NO3の方が
言われているとおり、ノイズに強くしたいかどうかで決めれば良いです。
あとは、スイッチがONした時の抵抗の許容電力を気にすれば良いです。
例えば、抵抗を10KΩとした場合、抵抗に流れる電流は5V/10kΩ=0.5mAで
抵抗で消費する電力は5V×0.5mA=0.0025Wです。
1/16Wの抵抗を使っても全く余裕があり問題ありません。
しかし、100Ωとかにしてしまうと、1/2Wなどもっと許容電力の大きい抵抗を
使用しなければいけません。
まあ大抵、NO3の方が書かれている範囲の中間の、10kΩ程度付けておけば
問題にはならないのでは?

QIC未使用端子処理のプルダウン/プルアップ抵抗

2点質問させて頂きます。

1点目
ICの未使用端子処理は、抵抗を介してプルダウンまたはプルアップ抵抗を接続して下さいという記述を多々見ます。普段、10kΩを繋いでいるのですが疑問があります。

この抵抗はどれだけ小さくても、またどれだけ大きくても良いのでしょうか。理由も併せて教えて頂けないでしょうか。抵抗が必要な理由も理解できません。

2点目
常にHレベル入力 / 常にLレベル入力の端子は抵抗を介さずに電源ライン / GNDに繋いでも良いのではないでしょうか。そのような回路は見たことがないので問題があるためだと思いますが、何故なのでしょうか…。

以上、よろしくお願い致します。

Aベストアンサー

こんにちは。

ごもっともな疑問と思います。私も悩んだことがあります。
2点まとめて回答してみましょう。
ポイントは、「基本的には、おっしゃるとおり、電源/GNDに直付けでよい。まあ、わずかながらの”消費電流”を考えると・・・」

 まず、プルアップ/ダウンの必要性はご理解のようですね。入力端子については、周囲の雑音(電磁波)により電圧が変動すると中にある(増幅または増幅同等の機能のある)回路が動作してしまい、それにより回路内部にさらなる雑音を発生させたり消費電流が大きくなったりするので、これを止めたいというもの。

 これを止めるためには入力端子の電圧を確定させればよいので、電源やGNDに直付けでも良いだろうというご意見はそのとおりで、質問者さんはご経験になっていないようですが、私は実用回路でもしばしば目にしています。(特にGNDに直付け。)

 さて、他方、抵抗を介してのプルアップ/ダウンも多いですね。これは、主に「消費電流」に関する次のような考え方によります。
・ICなどの入力端子が流れ出し型なのか流れ込み型なのかわからない
 話の単純化のためにバイポーラトランジスタ(FETではない旧来型トランジスタ)を前提にしてお話しましょう。
トランジスタにはPNP型とNPN型があり、いずれも入力端子は「ベース」と呼ばれますが、PNP型はベースから電流が流れ出そうとしており、大きく流れ出させる(Lo。GNDにつなぐ)とオンになります。
この際、入力端子回路そのもので電流(電力)を食うほか、内部の(少なくとも初段の)トランジスタも大きな電流を消費します。
NPN型では流れ込み型なので、入力電流を大きく流れ込ませる(Hi。電源ラインにつなぐ)と消費電流が大きくなります。
 このため、プルアップ/ダウンはPNPならアップ、NPNならダウンにしたいところですが、ICごとにいちいち内部回路(等価回路)を確認するのは大変。
 そこで、適当に抵抗をつないで妥協を図る・・・というのはご理解いただけるでしょう。
(消費電力を極限まで低下させる場合で量産品として社会的影響が大きい場合などはIC内部の等価回路まで確認してアップ/ダウンを決めます)

・抵抗値の適正な値は?
 さて、基本的には短絡(0オーム)でも良いので、抵抗値問題としては「どのくらい大きくできるか」・・・になりますね。
 抵抗を入れるのが妥協策である以上、最終的には消費電流と耐ノイズ性の妥協点であり、経験という面になってきますが、関係するのは「入力インピーダンス」になります。
「入力インピーダンス」は見かけ上の入力端子(とGND間)の抵抗で、通常はこれが極めて大きい故に端子電圧が「あばれる」ことになりますので、外付け抵抗はこれより十分に小さい必要があります。
 これも、結局はICごとに異なるので、最適な値というのは内部等価回路を知って決めることになりますが、もともと大した問題ではないので、経験的に多くのICが100kオーム~1Mオームのインピーダンスを持つことを前提に、それより十分小さい値として1k~10kオーム程度を選ぶ・・・というところでしょう。
 さらに、余談ですが、私は、自分で作った回路(装置)に後日、臨時のテストや修正、改造を加えることが多く、その際には配線が小さすぎてプルアップ抵抗を切り離すのに苦労することがあるので、大き目の10k~50kオームを選んでおきます。すると、プルアップ(hi)に固定したものを臨時にLo(GNDに短絡)したり、プルアップを放置したまま前段に別の回路を接続するといった無茶なことも可能です。(事前に短絡してあると変更の際は必ず切らなければならない)

 さてさて、いかがでしょうか。
私が見落としている理由もあるかもしれませんが、お役に立てば幸いです。

こんにちは。

ごもっともな疑問と思います。私も悩んだことがあります。
2点まとめて回答してみましょう。
ポイントは、「基本的には、おっしゃるとおり、電源/GNDに直付けでよい。まあ、わずかながらの”消費電流”を考えると・・・」

 まず、プルアップ/ダウンの必要性はご理解のようですね。入力端子については、周囲の雑音(電磁波)により電圧が変動すると中にある(増幅または増幅同等の機能のある)回路が動作してしまい、それにより回路内部にさらなる雑音を発生させたり消費電流が大きくなったりするの...続きを読む

QVccとVddの違い

トランジスタのバイアス電圧などでよくVccとかVddとかかかれているのをみます。
Vccのccとは何の略で、Vddのddとは何の略なのでしょうか?
また使い分け方を教えて下さい。

Aベストアンサー

cはコレクタ,dはドレインの略です.
Vcと表記すると該当のトランジスタ1個のコレクタ電圧を指しますよね.
Vccという表記は,それと明確に区別するために使われていると思います.
ccで,複数のトランジスタのコレクタを意味しているのでしょう.
つまり,ccは「コレクタ側電圧(電源)」,ddは「ドレイン側電圧(電源)」
と考えればよいでしょう.
ちなみに,Veeでエミッタ側のマイナス電源(NPNの場合)を表します.
それと,ccとかddとかは,大文字でCC,DDと表記することが決まっている
はすです.小文字の場合は「小信号」を意味するからです.
IEEEやJEDECで表記の規則が手に入るはずです.

Qプルアップ抵抗のしくみ

マイコンのスイッチ回路について
今年4月から勉強しているのですが
スイッチが
ON→1
OFF→0
で、プルアップ抵抗を使用すると
ON→0
OFF→1
となるしくみがよくわかりません。
検索エンジンを使用しても、いいサイトが見つからず。。
どなたか教えてください。
よろしくお願いします。

Aベストアンサー

+5V
|
R
|
+--出力
|
SW
|
GND

で,SWをONにすると +5V->R->SW->GND と電流が流れます。
が、SWがONしたときの抵抗(ON抵抗)がR(プルアップ抵抗)より十分小さければ、+5Vの大半はRによる電圧降下で打ち消されて、出力は(ほぼ)0Vになります。
(GNDに流れる電流を制限するためにRが入っている、と見ることもできます)

Qコマンドプロンプトでデバイスマネージャーのデバイス名取得方法

WindowsXPでコマンドプロンプトを用いて
デバイスマネージャより閲覧できる
デバイス名の取得方法を調べています。

デバイスマネージャーを起動すると
モデムに
 ★ IBM Integrated 56K Modem
と言うモデム名が表示されております。
(PC内蔵モデム)

またUSBカメラなどを接続すると
イメージングデバイスに
 ★ UCAM-N1D30 series
と言うUSBカメラ名が表示されるようになります。

コマンドプロンプトを用いて上記★の
 デバイス名を取得したいと思っております。

コマンドプロンプトより
modeと言うコマンドを使用すると
デバイスの状態などがわかりますが
接続されているデバイス名などを調べることが出来ませんでした。

どなたか知識を持ち合わせていましたら
ご教授ください。

よろしくお願いいたします。

Aベストアンサー

コマンドプロンプトで

powercfg /devicequery all_devices

と実行すると、現在システム上にあるデバイスをすべて列挙します。

QPICでのプログラムによるチャタリング対策

こんにちは。
非常に基本的かも知れませんが、
プログラムによるチャタリング対策の
仕方がわかりません。

スイッチONを割り込みでうけつけてから、
0.5~1秒待って、まだ、ONであれば、
実行する、という方式でやっています。
短い秒は、カットされていますが、長押し
があると、おかしな動作になってしまいます。

どういう方式をとるのが一般でしょうか。
特に言語はといません。方式、考え方が
知りたいです。
(ハードによる防止は、
まったく考えていませんので、
結構です)。

以下、参考までに
自分のプログラムです(PA使用)。

warikomi
call cwait //0.5-1s待ち
sb rb.7 //もう一度チェック
goto warikominot //押されてなければ、addしない。
add intervala,#01h
warikominot
clrb rbif
retfie

お願いします。

Aベストアンサー

普通「チャタリング」っていうとせいぜい数十ms くらいを想定するものだと思うんだけど....
0.5s~1s って, どんなチャタ?
ついでにいうと (聞いても答えられないような気はしますが)「長押しするとおかしな動作をする」といわれても, 「押し続ける時間」「期待する動作」「実際の動作」を示さないと解決できないかもしれませんよ.

QPIC アセンブラ ポートB 内部プルアップ抵抗の使い方

PIC16F877Aを使っています。
プログラムを作り始めてかなりたってから
ポートBにプルアップ用の抵抗があることを知りました。
それで使い方とか調べてみたんですが
ポートBで内部プルアップを使う場合は
RBを全部入力設定にしないといけない的な事を
書いてるページがありました。
これって、そうしないとPICが壊れてしまうって事でしょうか?

RB0~RB3にタクトスイッチ(入力)
RB4~RB7に7セグのカソード(出力)
として入出力を混ぜて使いたいのですが
スイッチ用にポートBをプルアップ抵抗ONにしても問題ないでしょうか?

Aベストアンサー

こんにちは。
日本語データシートをダウンロードして読んでみましたら、

> PORTB の各ピンには内部で弱プルアップの設定を行う
> ことができます。
~中略~
> ポートピンが出力に設定されている時
> は、弱プルアップが自動的にオフになります。プルアッ
> プはパワーオンリセットによりオフになります。

という記述がありましたので、心配ないと思います。

Qテブナン終端

テブナン終端について教えてください。
テブナン終端で入力端に配置する抵抗の消費電力について計算しています。
Vcc、GNDにそれぞれ100Ωの抵抗を接続して終端しています。
(ICの出力インピーダンス50Ω、特性インピーダンスを50Ωと仮定)

この場合に終端抵抗の消費電力は、
出力インピーダンス50Ωを加味して計算するのが正しいのでしょうか。
それとも考えないないで計算するべきなのでしょうか。

そのほかに加味しなければならない値等ありましたら教えてください。
よろしくお願いいたします。
  
 
 

Aベストアンサー

ANo.2です。
お礼の計算はちょっと違うような・・・
信号がデューティ50%の矩形波ならより正確な計算も簡単です。

信号源の50Ωを計算に入れるのは、テブナン終端抵抗に加わる電圧を計算する上で不可欠だからです。信号源の50Ωを考慮しないと出力電圧の振幅も違ってくるため、当然ながら終端抵抗に加わる電圧も違ってくるからです。


具体的には、以下のようになります。
テブナン終端抵抗100ΩはVcc側もGND側も全く同じ条件になるので、片方だけ計算します。
(図を参照してください。)

テブナン終端抵抗100Ωにはクロックの半周期だけVccの3/4の電圧が掛かっています。
のこりの半周期はVccの1/4の電圧がかかっています。

そこでまず、3/4掛かっているときの電力を計算します。Vcc=2.5vなら、3/4*2.5V=1.875V ですから
電力は 1.875^2 / 100 = 0.0352W

次に、1/4掛かっているときの電力を計算します。1/4*2.5V=0.625Vですから
電力は 0.625^2 / 100 = 0.0039W

これらは同じ時間配分で加わります。また周波数が高いので、抵抗の温度はこの周期についていけません。
つまり、抵抗の平均電力が熱になるという考え方をします。
平均電力は 0.0352Wと0.0039Wの平均ですから 0.01955Wとなります。約20mWです。

0.1Wの抵抗なら十分なディレイティングで動作できます。

ANo.2です。
お礼の計算はちょっと違うような・・・
信号がデューティ50%の矩形波ならより正確な計算も簡単です。

信号源の50Ωを計算に入れるのは、テブナン終端抵抗に加わる電圧を計算する上で不可欠だからです。信号源の50Ωを考慮しないと出力電圧の振幅も違ってくるため、当然ながら終端抵抗に加わる電圧も違ってくるからです。


具体的には、以下のようになります。
テブナン終端抵抗100ΩはVcc側もGND側も全く同じ条件になるので、片方だけ計算します。
(図を参照してください。)

テブナン終端抵抗100Ωに...続きを読む


人気Q&Aランキング