- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上拉电阻 - 原介绍与取值计算
本文载自 HYPERLINK /tutorials/pull-up-resistors /tutorials/pull-up-resistors 本人仅作翻译。看了百科上关于上拉电阻的解释说明,写的东西是很多,感觉也很规范,但就是看的不是很懂,这篇教程正好能解决关于上拉电阻的基本疑惑。
上拉电阻
简介
在使用微控制器MCU或者任何数字数字逻辑电路器件时,常常会遇到上拉电阻这个东西。这篇教程将会向你阐述什么时候,在什么地方要使用上拉电阻,并且通过简单的测试证明为什么上拉电阻是不可或缺的。
在继续阅读前请确保你已经了解下面这些名词概念:电压/电流/电阻,数字逻辑,输入/输出。
上拉电阻是什么
首先,假设我们有一个MCU,并且已经将其中一个管脚配置为输入。如果你的程序正在读这个管脚的状态,并且该管脚当前悬空,那么你的程序读的管脚状态是1还是0呢?实际上此时的管脚电压是一个浮动值,程序读的结果是一个不确定(是1还是0呢)值。而为了防止出现这种不确定的状态,就要使用到上拉/下拉电阻了,它们可以让管脚电压要么高于高电平下限,要么低于低电平上限,从而避免让管脚出现不确定状态。
由于实际应用中上拉电阻比下拉电阻更为常见,我们这里就只讲上拉电阻,上拉电阻与下拉电阻原理基本一致,差别仅在于上拉电阻有一端接VCC,下拉电阻有一端接地。
上拉电阻通常伴随按键、开头元件出现:
由于上拉电阻的存在,按键没有按下时,输入端口会读到一个高电平。详细点说,在VCC与输入端口之间只有一个很小的电流,因此输入端读到的电压非常接近VCC。
而当按键按下时,输入端直接接地,通过上拉电阻的电流此时流向地,因此输入端读到的电压是低电平。
显而易见,如果没有上拉,按键按下时,VCC将与地直接短路,这是非常可怕的一件事。
那么我们又怎么选择上拉电阻的阻值呢?
一言以蔽之,选个10 kΩ左右的就可以了。
这里,阻值小的电阻器称为大上拉电阻,因为电流会更大,相反,阻值大的电阻器称为小上拉电阻。
上拉电阻的阻值主要取决于两个因素:
当按键没有按下时,输入端的具体电压值取决于上拉电阻的阻值;
当按键按下时,在给定VCC的情况下,我们需要和能够接受多大的电流从VCC经由R1流向地。
一方面,我们不能让上拉电阻阻值太低,这可能会导致电流过大;另一方面,上拉电阻非常大的话,比如4MΩ,那么作为一个上拉电阻,它起的作用可能会适得其反。
要让VCC经上拉电阻R1和输入电阻R2分压后在输入端的电压值高于高电平下限,那么上拉电阻R1的值就不能非常大,通常的方法是让上拉电阻R1的阻值比输入端输入阻抗小一个数量级(前者为后者的1/10),MCU输入阻抗一般从100k-1MΩ,因此上拉电阻取值10kΩ比较合适。而若上拉电阻R1取值较大,大到与输入电阻R2相等甚至更大,那么可能输入端电压只有1/2*VCC的程度,假设VCC是5V,这样程序仍然没有办法从端口正确读取一个2.5V的电压值是逻辑1还是逻辑0。
既然上拉电阻显得如此至关重要,许多MCU,比如Arduino平台(这个都没听说过……)的ATmega328,都已经在内部集成了了上拉电阻,我们可以通过程序来使能或禁用它们。
下面的程序可以使能一个Arduino MCU的内部上拉电阻。
pinMode(5, INPUT_PULLUP); // Enable internal pull-up resistor on pin 5
还有需要注意的一点,上拉电阻的阻值越大,输入端端口电压响应变化就越慢。这是因为输入端的馈入系统实质上是个与上拉电阻相耦合的电容器,它们一起构成RC滤波器,而我们知道RC滤波器是需要时间充电放电的。如果当前有一个较高频率的信号(如USB),那么一个高阻值的上拉电阻会限制输入端口电压值变化到一个稳定状态的速度。
所有这些因素加起来共同影响着上拉电阻阻值的选取。
上拉电阻阻值取值的计算
在上面的电路中,假设当按键按下时,我们要限制通过R1的电流大概为1mA,其中VCC=5V,那么该选取多大的上拉电阻阻值是合适的呢?
使用欧姆定律很容易进行计算。
套用到当前电路中,得到:
移项后就可以得到对于当前这个电路,合适的上拉电阻阻值为:
文档评论(0)