在电子技术领域,单片机对直流信号的检测至关重要,其应用广泛,从简单的电子设备到复杂的工业控制系统都有涉及。不过,直流信号的电压范围差异很大,如常见的 3.3V、5V,也有 12V、24V、36V 甚至 220V 等,所以在检测时,需要做好限流、分压、转换或隔离等处理。以下将详细介绍单片机检测直流信号的常用电路,如有考虑不周之处,欢迎指正。

对于 3.3V/5V 信号,通常可采用三极管或者 MOS 管来搭建电平转换电路。虽然市场上有现成的转换芯片和 LDO 可供使用,但从成本角度考虑,三极管或 MOS 管更为常用。
若仅使用一个三极管,逻辑会反转。三极管工作在线性放大区时可放大信号,当作开关使用时则工作在非线性区,即输入高电平时导通,输入低电平时截止。为确保有明确的电平,下拉一个 4.7k 电阻到地,否则可能出现不确定的开通或关断情况。当左边 VIN 输入低电平时,Q1 不导通,Q2 导通,Vout 被拉高,输出高电平;当 VIN 输入 5V 高电平时,Q1 导通,其集电极接地,VOUT 输出低电平。

若要实现高转高、低转低的正逻辑,还需再增加一个三极管。当左边 VIN 输入低电平时,Q1 不导通,Q2 导通,Q2 集电极接地,Vout 被拉低,输出低电平;当 VIN 输入 5V 高电平时,Q1 导通,其集电极接地,Q2 截止,VOUT 输出 3.3V 高电平。

对于 -6V 至 6V 之间符合规范的电压信号,可采用电阻限流 + 二极管钳位的组合方式,实现双向过压保护,该电路也可用于单片机 IO 输入保护。

此电路中的二极管选用 SS34B 肖特基二极管,它正向压降低、反应速度快,适合用于保护电路。输入信号为 3.3V 或 5V,经过一个 1kΩ 的电阻 R11 后,有两个二极管 D1 和 D2 分别连接到地和电源。当输入电压正常时,二极管处于截止状态,不影响信号传输;当输入电压超过 VCC(如 5V)加上二极管的压降时,D1 导通,将多余的电压导向 VCC,防止高压进入后续电路;若输入电压低于 GND,D2 导通,将电压钳位到 GND,防止负压损坏电路。
电阻 R3(1kΩ)的作用主要有:限制输入电流,防止瞬间高压损坏后级电路;与二极管配合形成钳位电路时进行限流保护;降低信号源的输出阻抗要求。肖特基二极管 D1 可将输入电压钳位在 VCC + 0.3V(假设系统电源 VCC = 5V 时,输入电压超过 5.3V 时导通),D2 可将输入负压钳位在 GND - 0.3V,防止负电压冲击。
该电路的保护逻辑如下:正常信号(3.3V/5V)时,D1/D2 均处于截止状态,信号通过 R3 无衰减地传输至后级电路;过压保护(>5.3V)时,若输入电压超过 VCC + 0.3V,D1 正向导通,将多余电压通过 VCC 电源回路泄放,避免高压冲击后级电路;负压保护(< -0.3V)时,若出现负电压,D2 正向导通,将电压钳位在 -0.3V 左右,保护后级 CMOS 器件。
不过,该电路也有一定的设计注意事项和应用限制。虽然允许输入信号略大于 VCC,但需确保系统电源能吸收 D1 泄放的电流,且瞬时功率不超过二极管和电阻的额定值。它不适合持续高压输入,对高频干扰防护能力有限,信号传输存在约 0.3V 的电压误差。其典型应用场景包括微控制器的按键检测接口、工业传感器信号输入(24V 系统需增加分压电路)、防止热插拔引起的电压浪涌以及 ESD 静电防护(需配合 TVS 二极管)等。
对于 12V、24V、36V 电压的检测,虽然三极管也可使用,但它不具备隔离功能,若后级电路损坏,很可能影响前级电路。因此,通常采用光耦进行检测。光耦的正向电流与温度有关,温度越高,电流越小。以 70° 为例,设计正向电流为 10 - 20mA 即可。以 12V 电压为例,正向导通压降为 1.2V,限流设置为 15mA,则限流电阻阻值为 (12 - 1.2) / 0.015 = 720Ω,功率为 0.015×0.015×720 = 0.162W,可选用 1/4W 的电阻,如 0805 封装或更大的。
另一种方法是采用电阻分压,并加一个跟随器跟随,也能起到保护作用,该方法相对简单,在此不做过多解释。
对于 220V 交流信号检测,正向导通压降 1.2V 相对于 220V 来说可忽略不计。从规格书来看,导通电流设置为 1 - 2mA 是可行的,如 220 / 200k = 1.1mA,100k 电阻的功率为 0.0011×0.0011×100k = 0.121W。
交流导通时,正 / 负半周电流通过 R4→光耦 LED→R5→零线(或反向),光耦内部 LED 发光,光耦输出端导通,OUT 引脚被拉低至近地电平(逻辑 0),单片机检测到低电平脉冲,判定交流电存在;交流断开时,光耦输入侧无电流,输出端保持高电平(通过 R3 上拉至 3.3V),单片机检测持续高电平,判定交流电断开。在过零点处理方面,电容 C2 在电压过零时放电,维持光耦输入侧短暂导通,避免信号抖动。100K 电阻功率余量充足(实际功耗 0.12W < 0.5W),可避免长期过载风险。与单向光耦需整流桥方案相比,双向结构简化了电路,降低了成本,提升了可靠性。