科技 > 人工智能 > 物联网

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

91人参与 2024-08-02 物联网

一、首先是理论分析

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

直流电流i通过电阻r,经过时间t产生的热量为:
在这里插入图片描述
根据微积分的思想,将交流电流进行分割得到了无数时刻的瞬时电流i(t),计算其通过电阻r产生的热量,在进行积分。得到一个周期内产生的热量为:
在这里插入图片描述
离散化处理后得到近似的计算公式:
在这里插入图片描述
根据有效值定义,将二者相等
在这里插入图片描述
换算后得到:
在这里插入图片描述
其实这也就是均方根值,其中

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左右,至少可以满足我的产品需求。

五、值得注意的地方

1、运放选取时,由于使用lm324,考虑的是廉价及供货比较稳定,产品也不需要太高的精度,但是lm324不是轨到轨运放,所以放大倍数不能太大,否则会导致后续信号失真,尽量使输出信号最大值小于3v(±5v供电下)
2、当被测电流较大时,电流互感器二次侧电流过大,会导致运放输出电流超过额定值,使运放无法正常工作。如果发现小功率时电路工作正常,大功率时工作不正常。
一种方法是增加电流互感器匝数比,将电流互感器二次侧电流降到运放电流输出范围内。
另一种办法就是运放扩流,利用三级管的放大作用,增加运放反馈网络电流。需要注意的是后续电路放大时注意不要超过运放最大输出电压范围。

在这里插入图片描述

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

【好书推荐-第一期】《一书读懂物联网:基础知识+运行机制+工程实现》

08-02

2021电赛国一智能送药小车(F题)设计报告

08-02

我的PID学习历程---PID位置式和增量式

08-02

用友U9C无代码开发:电商平台、用户运营和CRM的高效API连接与集成

08-02

【Proteus仿真】【Arduino单片机】基于物联网新能源电动车检测系统设计

08-02

如何做滴灌营销?潜在客户培养指南(二)

08-02

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论