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

前言:使用单片机加电流互感器测量交流电路的电流,是非常常见的手段。最简单的方案就是直接使用采样电阻,整流滤波,再进入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左右,至少可以满足我的产品需求。

相关推荐
scan17 小时前
单片机串口接收状态机STM32
stm32·单片机·串口·51·串口接收
Qingniu017 小时前
【青牛科技】应用方案 | RTC实时时钟芯片D8563和D1302
科技·单片机·嵌入式硬件·实时音视频·安防·工控·储能
深圳市青牛科技实业有限公司9 小时前
【青牛科技】应用方案|D2587A高压大电流DC-DC
人工智能·科技·单片机·嵌入式硬件·机器人·安防监控
Mr.谢尔比10 小时前
电赛入门之软件stm32keil+cubemx
stm32·单片机·嵌入式硬件·mcu·信息与通信·信号处理
LightningJie10 小时前
STM32中ARR(自动重装寄存器)为什么要减1
stm32·单片机·嵌入式硬件
西瓜籽@10 小时前
STM32——毕设基于单片机的多功能节能窗控制系统
stm32·单片机·课程设计
远翔调光芯片^1382879887213 小时前
远翔升压恒流芯片FP7209X与FP7209M什么区别?做以下应用市场摄影补光灯、便携灯、智能家居(调光)市场、太阳能、车灯、洗墙灯、舞台灯必看!
科技·单片机·智能家居·能源
极客小张14 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
m0_7393128716 小时前
【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
stm32·单片机·嵌入式硬件
嵌入式小章17 小时前
基于STM32的实时时钟(RTC)教学
stm32·嵌入式硬件·实时音视频