STM32学习笔记|GPIO的输入

0 阅读3分钟

前言

通过本节学习,基本熟悉了传感器内部电路,了解了滤波电容,如何利用电压比较器实现二值化,为后面学习通过按键输入信号,传感器输入信号奠定了基础。

按键

image.png

常见的输入设备,按下导通,松手断开。

按键抖动:由于按键内部使用机械式弹簧片进行通断,所以在按下和松手瞬间会伴随一连串的抖动。

ef7fa8e3cfa5ce199f19e50d7990fd8.jpg

注意:按下和松手都会发生一定时间的抖动。

传感器模块

传感器电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,在通过电压比较器进行二值化(即把连续变化的模拟信号,只分成低电平和高电平两种状态)即可得到数字电压的输出。

内部电路总览如下图所示

image.png

1.传感器电阻所在电路分区

28c3a1c85039b8db523b216a9fb8186.jpg

C2滤波电容:为了给中间电压输出进行滤波。滤除干扰,保证输出电压波形平滑。(在电路图中如果遇到电容一端接入电路,另一端接地,需要考虑该电容是否为滤波电容)

除去滤波电容看该电路,可将其视作由定值电阻和传感器电阻组成的分压电路。N1阻值越低,下拉作用越强,中间AO端电压拉低。反之易推。(上拉或下拉电阻阻值越小,拉动作用越强)

2.完成数字输出电路分区

3d6a51cfd2d7193e1d5c99224c6b46f.jpg 该目的由LM393芯片完成,该芯片可完成二值化(内部存在单门限电压比较器)

C2电源供电滤波电容

单门限电压比较器

e1ccece8f7bb3b8f6d59823e60c0826.jpg

以总电路图为例,比较器反相输出端接可调阈值电压,同相输出端接模拟电压端。 当同相输出端电压大于反相输出端电压,输出接VCC高电平:当同相输出端电压反相输出端电压,输出接低GND电平。

3.其余分区

e28b170eb5c14dcf2c82408ad7de9e8.jpg

硬件电路

ccfa3cd40b63a9558f53bb7f512fcb2.jpg

四类经典电压比较器

1. 过零比较器(单门限特例)

阈值 V T ​ =0V ,一端接地,输入信号接另一输入端;

功能:判断输入电压正负,正弦波转标准方波;

缺陷:零点微小噪声会造成输出频繁抖动,无抗干扰能力。

2. 单门限电压比较器

仅 1 个固定阈值 ,电路结构最简单;

适用场景:干净无噪声的稳定信号检测;

短板:传感器杂波、电源干扰会让输出反复误翻转,工业场景极少单独使用。

3. 滞回比较器(施密特触发器,工程首选)

引入正反馈,生成上下两个独立阈值:

上门限 V T+:电压上升到此才翻转

下门限 V T−:电压下降到此才翻转

回差电压: ΔV T ​ =V T+ ​ −V T− ​ ,可通过分压电阻自定义大小。

核心优势:只要噪声幅度小于回差电压,就不会产生误触发;

典型用途:温控开关、光敏阈值检测、按键硬件消抖、STM32 模拟看门狗底层逻辑。

4. 窗口比较器(双限比较器)

由两个单门限比较器组合,设置上下两道阈值;

逻辑:输入电压在 V RL ​ ∼V RH ​区间内输出一种电平,超出区间立刻翻转;

用途:锂电池过压 / 欠压保护、电源电压区间监测、ADC 模拟看门狗。