1、介绍
使用微控制器(MCUs) 或任何数字逻辑设备时,上拉电阻器非常常见。本教程将解释何时何地使用上拉电阻器,然后我们将做一个简单的计算,以显示为什么上拉很重要。
2、上拉电阻是什么?
假设您有一个将一个引脚配置为输入的 MCU。如果引脚没有连接任何东西,如果这个时候程序读取引脚的状态,则引脚是高(拉到 VCC)还是低(拉到接地)?
很难说。这种现象被称为浮空输入「floating」。
为了防止这种未知状态,上拉或下拉电阻确保引脚处于高或低状态。
使用上拉电阻的情况下,如果没有按下按键,输入引脚会读到高电平,会有少量电流流入MCU的GPIO。如果按下按键,输入的引脚GPIO直接连接到地,输入引脚将会读到低电平,如果没有上拉电阻,按下按键的时候,会直接让VCC接到GND,短路爆炸就出现了。
3、上拉电阻的大小如何选择?
需要选择上拉电阻的值以满足两个条件:
1、按下按钮时,输入引脚被拉低。电阻 R1 的值控制VCC 的电流经按钮再流向GND。
2、未按下按钮时,输入引脚被拉高。上拉电阻器控制输入引脚上的电压。
对于条件1,电阻的大小不能太低,如果电阻过低,流到GND的电流就会越大,这样损失的功耗也就会越大。
对于条件2,电阻的大小不能太高,如果过高,GPIO读到的分压电压会过小,这样会导致在没有按下按钮的时候,GPIO读不到高电平。比如在5V的系统中,如果分压是2.5V,MCU读到的状态就是不确定的。
还有,如果上拉电阻越大,引脚对电压变化的反应就越慢。
4、上拉电阻如何计算?
假设我们希望把电流限定在1mA。
根据欧姆定律
最后得到的上拉电阻是 5KΩ。