使用单片机和电流互感器对非正弦周期电流有效值测定

前言:使用单片机加电流互感器测量交流电路的电流,是非常常见的手段。最简单的方案就是直接使用采样电阻,整流滤波,再进入MCU的ADC进行转换,再通过软件滤波得到一个代表着电流大小的数值。对于电流保护功能来说,这是行之有效的方法,只需要测量出电流在保护阈值情况下,MCU计算出数值即可。
对于采集正弦交流电流有效值,也可以使用峰值检波法,通过采集峰值电压的方法,再进行计算,也可得到。
而对于非正弦周期交流电流,想使用电流互感器采集其有效值,变得不那么简单了。

下面介绍一下我使用的一种高速采样的方法来进行有效值测定。

一、首先是理论分析

这是一个非正弦周期交流电流图形。我们想要得到它的有效值。根据有效值定义:

当交流电通过一个电阻时,如果在一定的周期内产生的热量与某个直流电在相同时间内通过同一电阻产生的热量相等,那么这个直流电的大小就被定义为交流电的有效值。

直流电流I通过电阻R,经过时间t产生的热量为:

根据微积分的思想,将交流电流进行分割得到了无数时刻的瞬时电流i(t),计算其通过电阻R产生的热量,在进行积分。得到一个周期内产生的热量为:

离散化处理后得到近似的计算公式:

根据有效值定义,将二者相等

换算后得到:

其实这也就是均方根值,其中

t=N*△t

i(n)代表着第n次采集到的电流值,N是采样的总次数,△t是采样间隔

t可以是信号整周期,也可以选择半周期(因为正负半周对称),N的数量越多则△t越小,精度越高,但是计算量也越大。

二、接下来是电路上的处理

1、通过电流互感器及采样电阻将电流信号转换为电压信号

2、经过精密整流电路将交流电压信号整流成直流

3、进行幅值运算放大,选取适当的放大倍数可以大幅减少后续计算量

4、经缓冲器进入单片机,对信号进行高速采样

因为高速采样最好使用DSP芯片,但是在产品方案中往往使用的还是单片机,最好使用带DMA的芯片,这样不会过多占用CPU的资源。并且计算过程中需要大量的32位平方运算,以及浮点运算。可以权衡一下精度与计算资源,选择恰当的采样数量。

三、软件处理

经过电路的处理,之前的公式也会相应做出变化

设电流互感器电流比为1:β

流过采样电阻电流i

采样电阻压降v

电路放大倍数为α

采样电阻RL

进入单片机ADC的电压为VADC=α*v

电流有效值:

其中

由于一下子处理N个数的平方和,再进行除法及开方运算,势必会造成程序阻塞,所以如果没有操作系统,裸奔情况下,只能一次处理少量数据,然后利用主循环进行多次数据处理,直至所有数据平方和结束,再进行取平均及开方运算。事实证明,这种方案是可行的。我所使用的芯片是没有DMA的,只能通过TIMER中断进行数据采集。好在产品功能并不复杂,完全可以应付过来。

另外在处理平方计算时,是选择浮点数平方还是32位变量平方,我曾经纠结了挺长时间,最后还是使用TIMER测试,实际测算出32位变量平方的用时略短一些。至于为什么使用32位变量而不是16位(ADC结果是12位,存放在16位单元中),是因为如果变量设计为16位,进行乘法之后,结果仍然是16位,会导致数据溢出。索性用32位变量计算。

四、误差

这种方法的误差主要在数据采集量,采集越多肯定越精确。另外电路中线性元器件的误差,二极管漏电流,运放的失调电压,以及电源误差,都会造成最终的结果存在误差。另外,不推荐使用二极管直接全波整流,使用运放精密整流会大幅降低误差。实际测量后,误差在0.3A左右,至少可以满足我的产品需求。

相关推荐
艾芯微科技2 小时前
SKY13370‑374LF|0.5‑6GHz SPDT 射频开关,WLAN/LTE 射频前端实用器件
网络·单片机·嵌入式硬件·集成测试·51单片机
jianqiang.xue3 小时前
收官:从v0.1到“研发新常态“,一套嵌入式智能体的落地与边界
stm32·单片机·物联网·架构·esp32
HUI-4744 小时前
EG1131|SOT23‑6 30V/1.5A 电流模式同步降压 DC‑DC,小体积消费类电源优选
嵌入式硬件·硬件工程
天空'之城4 小时前
单片机基础核心知识点汇总(三十)
单片机·嵌入式硬件
笨笨饿4 小时前
#137_死机恢复现场_Armino平台AP系统swd调试
git·python·stm32·单片机·嵌入式硬件·物联网·vim
linnux领域4 小时前
面包板供电“插哪都不亮“?一个暗断点引发的排查——硬件新手三板斧
单片机·嵌入式硬件·esp32·arduino·面包板·硬件入门
Jaixln_HRF4 小时前
芯维尔CN8010 1.2A/6V同步降压转换器芯片,集成350/230mΩ MOSFET与1.5MHz高频,用于汽车电子/IoT/便携仪器
嵌入式硬件·物联网·硬件工程
ACP广源盛139246256736 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#IX6024 PCIe2.0 交换芯片在轻量化 AI 服务中的机会与应用场景
大数据·数据库·人工智能·嵌入式硬件·macos·开源
深圳市恒锐丰科技杨生6 小时前
EG2124A 260V 三相独立半桥栅极驱动芯片|BLDC 外置 MOS 三相桥驱动方案
嵌入式硬件·硬件工程
学linux的QQ蛋7 小时前
吃透传输层:UDP 无连接、TCP 可靠传输、套接字函数、粘包问题详解
单片机·tcp/ip·udp