ESP8266和电流互感器实现交流电流检测

ESP8266和电流互感器实现交流电流检测 检测原理电流互感器Current TransformerCT 是一种用于测量电流的传感器它利用电磁感应原理将一次侧的大电流按比例转换为二次侧的小电流从而实现对电流的安全测量和监控。简单来说电流互感器就像一个电流缩小器 它可以把电路中的大电流“按比例缩小”变成仪器和电子设备能够安全测量的小电流。实验验证本次使用的电流互感器变比为2000 : 1这表示当一次侧电流为 2000 mA 时二次侧输出电流为 1 mA也就是说输出电流是输入电流的 1/2000。在测试电路中将被测导线直接穿过电流互感器中心作为一次侧二次侧并联一个 采样电阻Burden Resistor用于将电流信号转换为电压信号进行测量。使用示波器测量输出电压并与电流探头测量的电流值进行对比。测量结果如下互感器输出黄色波形电压峰值 ≈ 70mV电流探头输出蓝色波形电压峰值 ≈ 110mV根据互感器的变比我们可以计算出电流互感器测量的电流值电流互感器测量的电流值I70 mV130 Ω×20001.08AI130Ω70mV​×20001.08A电流探头测量的电流值I110 mV110 mV/A1.1AI110mV/A110mV​1.1A可以看到电流互感器测量的电流值和电流探头测量的电流值非常接近说明电流互感器的测量结果是准确的。ADC采样检测电路为了实现自动检测我们可以将电流互感器输出电压接入 MCU 的 ADC通过检测电压变化来判断是否有电流通过。电路示意如下电路主要包含以下几个部分采样电阻将互感器输出的电流转换为电压信号。耦合电容隔直阻断互感器回路与偏置电路间的直流分量。直流偏置电路DC Offset由于 ESP8266 的 ADC 无法处理负电压我们通过电阻分压注入一个直流基准。计算推导偏置电压VoffsetVCC×RdownRupRdown3.3V×1kΩ3.57kΩ1kΩ≈0.722VVoffset​VCC​×Rup​Rdown​Rdown​​3.3V×3.57kΩ1kΩ1kΩ​≈0.722V工作原理无电流时ADC 输入保持在 0.72V 的静态水平。有电流时交流信号以 0.72V 为中心上下波动。这种设计有效利用了 ADC 的量程0-1V将原始信号的负半周抬升到了正压区间确保采样完整性。从前面示波器的输出可以看到电流互感器会输出一个高峰和一个低谷分别对应交流电流的正半周和负半周。我们可以在一个周期进行多次采样通过分析采样数据的最大值和最小值来判断是否有电流流过。以 50 Hz 交流电为例一个周期 20 ms如果每 1 ms 采样一次连续采样 20 次刚好覆盖一个完整周期。代码示例// 1. 高速采样 for (int i 0; i 20; i) { samples[i] analogRead(A0); // 直接读取 0-1023 原始值 delayMicroseconds(1000); // 间隔 1000 微秒 (1ms) } unsigned long end_time micros(); // 记录结束微秒数 // 2. 处理并输出结果 int max_val 0; int min_val 1024; for (int i 0; i 20; i) { if (samples[i] max_val) max_val samples[i]; if (samples[i] min_val) min_val samples[i]; }电流判断方法通过比较 采样数据的最大值和最小值即可判断是否存在电流如果 max_val ≈ min_val 说明信号几乎没有变化 → 没有电流如果 max_val 与 min_val 差值较大, 说明存在交流波形 → 有电流这样就可以利用 电流互感器 ADC采样实现一个简单可靠的电流检测方案。