查看: 582|回复: 10

[已解决] 关于上拉电阻的疑惑

[复制链接]

该用户从未签到

发表于 2021-3-10 11:33 | 显示全部楼层 |阅读模式
本帖最后由 dpxiachixx 于 2021-4-8 15:08 编辑

pull-up.jpg 1615347110821.jpg
当引脚设置为输入(INPUT)模式时,引脚为高阻抗状态(100兆欧)。此时该引脚可用于读取传感器信号或开关信号。
我理解上拉和下拉电阻相当于给了个“默认值”,目前也知道它是怎么应用的,但是背后的原理搞不明白,查了好多资料,还是没完全理解我试过在开关打开状态下,去掉这个上拉电阻,这时引脚2依然可以读到高电平(这样可能会因为电流过大,烧坏引脚2),目前也理解了这个电阻有限流作用
下面是未理解的部分
1、当开关闭合时,为什么高电平状态就读不到了?这是什么原理?
2、下拉电阻模式,开关闭合时,否算相当于5V直接连引脚2?(大概率“否”),为啥?

求有耐心的大神,别嫌弃新手的蠢问题,给科普一下
问题已经解决,谢谢各位大佬!!!




该用户从未签到

 楼主| 发表于 2021-3-12 10:49 | 显示全部楼层
shouzama 发表于 2021-3-11 00:55
圖一是上拉(PULL HIGH)
當開關ON時,從 5V~GND 產生了一個回路,限流電阻被視為這個回路中唯一的負載,
依電 ...

圖一是上拉(PULL HIGH)
當開關ON時,從 5V~GND 產生了一個回路,限流電阻被視為這個回路中唯一的負載,
依電學基本公式計算,5V 電壓全降在 10K 電阻上,電流 I=V/R=5/10000=0.0005A=0.5mA;
電壓降 V=I*R=0.0005*10000=5V;電阻消耗功率 P=V*I=5*0.5=2.5mW。

那試問,當 5V 電壓全降在電阻上,也就是電阻的一端是5V、另一端是 GND,
PIO 2 能讀到 5V(HIGH)才是奇蹟了不是嗎?

而當開關OFF時,若 PIO 被定義為 INPUT,則它會處於高輸入阻抗狀態,
通常可視為【開路】,,這時電阻一端為 5V,因為【未構成回路沒有電流流過】,
電壓降視為 0V,因此電阻的另一端依然是 5V(HIGH
)


因為在開關OFF時,PIO 會常時讀到 HIGH 電壓,故這種電路叫 PULL HIGH;
反之,圖二叫 PULL LOW,運作原理大致相同,就不再贅述了
图1,上拉电阻,开关OFF时
在这个状态下,我用万用表测试电阻两端的电压,结果是0V,所以困惑了很久,感谢这位老师的耐心解释。
之前我一直以为开关OFF时,电流会从5V流向PIO....因为我对「开路」这个概念给忘光了。。。
这就去补一下电路基础知识,非常感谢8楼这位老师的耐心解释!感恩!

该用户从未签到

发表于 2021-3-10 13:23 | 显示全部楼层
你知道电位吗

该用户从未签到

 楼主| 发表于 2021-3-10 14:12 | 显示全部楼层
本帖最后由 dpxiachixx 于 2021-3-10 14:20 编辑

电位是指该点与指定的零电位的电压大小差距。电压就是指电路中的两点的电位的大小差距,就是电压。
电压和电位的联系:a.b两点间的电压=a点的电位-b点的电位,即:Uab=φa-φb

签到天数: 1 天

[LV.1]初来乍到

发表于 2021-3-10 15:37 | 显示全部楼层
楼主可以去b站看看太极创客入门课程,这里不方便贴链接可以自己去找找

该用户从未签到

 楼主| 发表于 2021-3-10 15:43 | 显示全部楼层
zhaoxuano 发表于 2021-3-10 15:37
楼主可以去b站看看太极创客入门课程,这里不方便贴链接可以自己去找找 ...

兄台,我就是看的那个,刚才我描述了,目前我知道“拉阻”怎么使用,但是教程里没解释这是什么原理,,我有强迫症哈,问了好多人,都跟我一样,知道怎么用,但是说不清里面的原理,我觉得刚才2楼的兄弟可能能从“电位”角度解释清楚

该用户从未签到

 楼主| 发表于 2021-3-10 15:44 | 显示全部楼层

不清楚引脚12进入INPUT模式后,电位有多少,电位的概念我查过了,

该用户从未签到

发表于 2021-3-10 18:48 | 显示全部楼层
是的,就是这样。

签到天数: 58 天

[LV.5]常住居民I

发表于 2021-3-11 00:55 | 显示全部楼层
本帖最后由 shouzama 于 2021-3-11 07:13 编辑
下面是未理解的部分
1、當開關閉合時,為什麼高電平狀態就讀不到了?這是什麼原理?
2、下拉電阻模式,開關閉合時,否算相當於5V直接連引腳2?(大概率“否”),為啥?

圖一是上拉(PULL HIGH)
當開關ON時,從 5V~GND 產生了一個回路,限流電阻被視為這個回路中唯一的負載,
依電學基本公式計算,5V 電壓全降在 10K 電阻上,電流 I=V/R=5/10000=0.0005A=0.5mA;
電壓降 V=I*R=0.0005*10000=5V;電阻消耗功率 P=V*I=5*0.5=2.5mW。

那試問,當 5V 電壓全降在電阻上,也就是電阻的一端是5V、另一端是 GND,
PIO 2 能讀到 5V(HIGH)才是奇蹟了不是嗎?

而當開關OFF時,若 PIO 被定義為 INPUT,則它會處於高輸入阻抗狀態,
通常可視為開路,,這時電阻一端為 5V,因為未構成回路沒有電流流過,
電壓降視為 0V,因此電阻的另一端依然是 5V(HIGH)

因為在開關OFF時,PIO 會常時讀到 HIGH 電壓,故這種電路叫 PULL HIGH;
反之,圖二叫 PULL LOW,運作原理大致相同,就不再贅述了

该用户从未签到

发表于 2021-3-11 08:24 | 显示全部楼层
dpxiachixx 发表于 2021-3-10 15:44
不清楚引脚12进入INPUT模式后,电位有多少,电位的概念我查过了,

8楼说的很好了!补充关键一点,在没有内部上拉/下拉的前提下,input模式的IO口属于高阻态,分析时可以看做开路。stm32里这个叫浮空输入,这个名字很形象,就是说IO的电平状态是不确定的,完全由外部输入决定

该用户从未签到

发表于 2021-3-11 09:15 | 显示全部楼层
节点电流定律,节点电压定律,从旁边理解,去看看这两个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

arduino程序设计基础 blinker物联网解决方案

热门推荐

【教程】pico+hx711电子秤
【教程】pico+hx711电子秤
pico+hx711电子秤 【前言】 我做过多款电子秤,这次移植到pico上
ESP8266+Onenet平台远程数据传输和控制
ESP8266+Onenet平台远程数
这是我的第一个diy,主要功能实现了onenet云平台温湿度数据的传输和远程控制LED灯平台
【Arduino】108种传感器模块系列实验(48)---三轴ADXL345模块
【Arduino】108种传感器模
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
ps2遥控小车——uno实现
ps2遥控小车——uno实现
前几天在阁楼发现了好久以前3d打印,激光切割的底盘,于是决定做这个东西 正好手上又
震惊!OLED菜单竟只用10行代码就可以完成到完美!!!
震惊!OLED菜单竟只用10行
震惊!OLED菜单竟只用10行代码就可
Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
快速回复 返回顶部 返回列表