当前位置: 首页 > news >正文

一文读懂上拉电阻:工作原理和阻值确定

上拉电阻器:它是如何工作的和选择一个值

上拉电阻器非常普遍,您会一直在数字电路中看到它。它只是一个电阻器,从输入端连接到V断续器,电路的正电源。

[这里是图片001]

上拉电阻用于确保在未按下按钮时输入引脚上具有高电平状态。如果没有一个,您的输入将是_浮动的_,并且您有可能在输入在高和低之间随机变化,因为它在空气中拾取噪音。

如何选择上拉电阻值

低电阻值称为强上拉(电流流动较多),高电阻值称为弱上拉(电流较少

规则 1:值不能太高。

上拉值越高,输入端的电压就越低。重要的是,电压要足够高,芯片才能将其视为高电平或逻辑1输入。

例如,如果使用具有 10V 电源的 CD4017,则输入端至少需要 7V 才能将其视为 HIGH。

规则2:但它也不能太小。

例如,如果您选择100 Ω,问题是当按下按钮时,您会获得大量电流流经它。

使用9V电源时,您可以在100 Ω(90 mA)获得9V电压。这是不必要的功率浪费,但这也意味着电阻器需要承受0.81W。大多数电阻器只能处理高达0.25W的功率。

经验法则

[这里是图片002]
一般规则是使用比输入引脚的输入阻抗(R2)**小一个数量级(1/10)**的上拉电阻(R1),小10倍的电阻值。

通常,10 kΩ的上拉值就可以解决问题。但是,如果您想了解它的工作原理,请继续阅读。

上拉电阻器如何工作?

在这里插入图片描述

您可以使用分压器公式查找未按下按钮时输入引脚上的电压:


如果对上拉R1使用1MΩ电阻,并且输入引脚的阻抗R2约为1MΩ(形成分压器),则输入引脚上的电压约为VCC的一半,并且微控制器可能不会将引脚记录为处于高电平状态。在5V系统上,输入电压为2.5V

计算示例

假设您的芯片的输入阻抗为1MΩ(对于许多芯片来说,100kΩ至1MΩ是正常的)。如果您的电源是9V,并且您选择10 kΩ的上拉电阻值,那么输入引脚上的电压是多少?

在这里插入图片描述
输入引脚上的电压为8.9V,足以用作高电平输入。

通常,如果您坚持使用不超过输入阻抗十倍的上拉电阻的经验法则,您将确保输入引脚上始终具有至少90%的VDD电压。

总结

由于通常需要上拉电阻,因此许多MCU(如Arduino平台上的ATmega328微控制器)都具有可以启用和禁用的内部上拉电阻。要在 Arduino 上启用内部上拉,您可以在 setup() 函数中使用以下代码行:

COPY CODEpinMode(5, INPUT_PULLUP); // Enable internal pull-up resistor on pin 5

需要指出的另一件事是,上拉电阻越大,引脚对电压变化的响应速度就越慢。这是因为馈电输入引脚的系统本质上是一个与上拉电阻耦合的电容器,因此形成RC滤波器,而RC滤波器需要一些时间来充电和放电。如果您有一个非常快速变化的信号(如USB),高阻值上拉电阻可以限制引脚改变状态的速度(信号还具有可靠性)。这就是为什么您经常会在USB信号线上看到1k至4.7KΩ电阻的原因。

所有这些因素都决定了使用什么值的上拉电阻器。

结束

少年就是少年,他们看春风不喜,看夏蝉不烦,看秋风不悲,看冬雪不叹,看满身富贵懒察觉,看不公不允敢面对,只因他们是少年。 – 陀思妥耶夫斯基 《少年》
在这里插入图片描述

http://www.xdnf.cn/news/825535.html

相关文章:

  • bootstraptable 手册_JS表格组件神器bootstrap table使用指南详解
  • 一文读懂 K8s 持久化存储流程
  • COCOS学习笔记--TexturePacker使用详解
  • Hutool工具包等常用工具类总结
  • 电子管是什么?
  • CSharp(C#)语言_反射 和 特性
  • Windows 中安装 Mysql
  • 差分逻辑电平——LVDS、CML、LVPECL、HCSL互连
  • PLY模型格式详解【3D】
  • FTP命令全集
  • struts2 简介
  • 串口驱动分析
  • 11种方法用Python下载文件,建议收藏!!
  • 模拟退火算法详解
  • 简单聊一下EL表达式与单列集合
  • 虚函数详解
  • 什么是ETL?什么是ELT?怎么区分它们使用场景
  • 软件测试面试题合集
  • 学术期刊数据库---EBSCO
  • 两万字总结Linux常用指令 (非常详细)从零基础入门到精通,看完这一篇就够了
  • jQuery插件大全
  • qsort函数的使用方法,以及模拟实现
  • 个人博客系统的测试报告
  • Dom4j解析XML
  • 机器学习洞察 | JAX,机器学习领域的“新面孔”
  • HTML <select> 标签
  • MySQL中redo与undo的区别
  • 【Linux-常用命令-基础命令-解压rar文件-unrar-x-命令-笔记】
  • Android开发基础(一)
  • 最全Linux操作系统的下载与安装(保姆级教程),Linux运维-Binder机制及AIDL使用