基于HLW8032芯片的电能参数采集--附测试软件

前言

之前写过一篇关于使用HLW8032芯片的说明,然后最主要的就是HLW8032的供电和高压隔离问题,因为HLW8032的GND是需要接220V交流电的其中一根零线或者火线,使用起来不方便,所以我做了一个光耦隔离的HLW8032模块。以下就是我用这个模块做的一些电能测试!

一、准备材料

1HLW8032采集模块采集电能数据
2USB转TTL串口模块把HLW8032模块输出的输入传到电脑
3电源线一根作为模块的输入电源
4小螺丝刀一把用来拧HLW8032模块上的接线端子

HLW8032和USB转TTL串口模块可以问马爸爸要:https://url.cn/5Qy8qDf

电源线我是剪了我一个充电器的,螺丝刀我作为一个专业的冒牌电工必须有的啦!

鉴于“山西大学”某个同学的操作,模块资料不免费开源!!!

需自行用积分或进群下载!!
https://download.csdn.net/download/qishi3250/89240567

STM32把电能数据通过NB-IOT上传onenet代码及教程:

链接:百度网盘 请输入提取码   提取码:1234 

基于STM32设计的NB-IOT电量采集系统(超级详细)--1.Onenet平台配置及M5311配置_Knight-20的博客-CSDN博客_m5311 stm32驱动

二、接线

接线其实很简单的,模块上有字符标识,直接丢接线表:

HLW8032模块上的标识USB转TTL模块的标识
5V5V
TRXD
GGND

HLW8032的5V引脚是指需要外面给模块提供5V电源才会工作,而不是模块能对外提供5V哦。因为模块使用的是5V隔离电源,必须使用5V,不能使用3.3V哦。T引脚可以直接接3.3V单片机的RXD引脚。

模块上的IN接线端子接220V交流电,OUT接线端子接负载,就是用电设备啦!交流电不分正负的,所以IN和OUT端子哪个接火线、零线都没关系的。

 测试可以先不接交流电,也会有电参数数据输出!!!

三、上电测试

1.把USB转TTL串口模块插到电脑USB口上,此时HLW8032模块的指示灯不停闪烁为正常工作状态,如果常亮或者不亮灯都为异常,检查接线或者模块已损坏;

2.打开资料里面的调试软件目录下的HLW8032.exe软件,软件无毒,放心使用;

3.打开软件后通过看电脑的设备管理器查看USB转TTL模块所在的串口号,然后再软件选择对应的端口号,然后点击打开串口(如果没显示COM号就需要安装驱动,自行百度安装):

 电脑端的解析软件也能看到数据了:

 此时因为没有连接交流220V,所以参数比较小,这个是属于正常现象的哈。接下来就可以连接220V进行测试了。

接上电源线,不区分火线和零线,然后确认模块背后无金属物品后再接通220V电源。接通220V电源后,就不要触碰HLW8032模块了。

 接通220V电源后的软件显示:

1)为啥有效电压为231V,而不是220V?

这个是正常的,和附近的变压器有关,这个主要和你所在地方的区域有关,供电所为了供电容量,都会提高供电电压。最高我见过是258V的。这个电压范围也不会烧家电的,放心使用就好,你也可以使用万用表交流档测试电压,基本也是和模块测量的差不多的。

2)为啥有效电流在不接用电器的时候也会有显示,而不是显示0?

这个是正常现象的,模块电流检测范围为50ma-10A;虽然有效电流显示有参数,但是用电量不会增加的,这个可以放心。检测有没有接用电器的方法最好是检查第一个字节是不是0xF2,如果是0xF2就是没有接用电器了。

 关于原数据里面的每一位代表的含义,可以去看HLW8032的数据手册哈,这里就不过多阐述了,不然我都睡着了。

四、数据计算方法

 关于有效电压和有效电流及功率的计算,我这里结合公式和用我上面采集到的数据来举例说明:

首先,我们看一下数据手册怎么说的:

知道了电压系数和电流系数,接下来我们就要知道电压参数寄存器,和电压寄存器了,这两个参数在哪呀,你大爷的!!!

MM:你听我慢慢说嘛!

WW:我想听你快点说,我裤子都脱了,你给我说这个!

MM:好吧,在HLW8032发送过来的串口数据里面呀!

WW:特么的一大堆数据,我哪知道哪个啊!

MM:这个。。。

这里说明一下,每个模块的电压、电流、功率参数寄存器是出厂设置好了的,为固定值。

结合我们软件上的数据:F2 5A 2 E1 80 0 6 52 0 3E A8 3 A6 C8 4F 9A E8 5E 79 B 61 0 1 27

所以我在用的这个模块的电压参数寄存器的值为: 02 E1 80;这个是十六进制数据,我们要知道哪个是高位,哪个是低位才能转成十进制数据;

看不懂???意思是高位先发,低位后发,就是02为高位,E1为中位,80为低位!

还是没懂???没关系,那我直接给你来个公式;

电压参数寄存器=2*65536+225*256+128=188800

因为02的十进制是2并且该位为高位,所以就是2*65536;

因为E1的十进制为225并且该位为中位,所以就是225*256;

因为80的十进制为128并且该位为低位,所以就是128;

关于为什么要乘上65536和256的问题,这是进制转换的问题!别问我,我不想回答!

然后就是电压寄存器:00 06 52

电压寄存器=0*65536+6*256+82=1618

所以根据公式

有效电压=(电压参数寄存器/电压寄存器)*电压系数

=(188800/1618)*1.88=219.372V

怎么感觉我在教数学课。。。

其他的话就自己琢磨一下啦,有问题可以留言哈!

五、瞎鸡儿乱搞

为了测试模块的功率计算,我用上了我的违规电器--吹风筒,和我的小米原装快充充电器,为啥注明快充呢,一会你就懂了!

首先,为了测试方便,我买了一个插板,然后用我的超高的电工技术接入HLW8032的OUT接线端子,看图,然后夸我:

注:把负载接入OUT接线端子前,先把电给拔了!!!

先看看我的违规电器--吹风筒,下图是最大热风,马力开最大的数据:

(注:从这里往下的数据截图中的实时数据是缺一位的,是我把实时数据放进显示框时,放少了一个,解析后数据是正确的)

为了这个数据,我前后花了我足足0.5度电,唉,太难了我!~!~

接下来就是我的小米原装快充充电器的数据啦

首先,我打了几把落地成盒的游戏把手机电量耗到了19%,然后插入充电器的数据为:

这就是为啥我要说快充的缘故啦,输出功率19W耶。

然后当我的手机充电到85%时:

 再然后我的手机充电到92%时:

最后,我的手机充满电,并且手机息屏时:(为啥要注明息屏呢,因为充满电后我边充边玩时的功率大概在5W左右)

最后本人得出一个结论:快充充电真滴快!!!

  • 37
    点赞
  • 257
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 43
    评论
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Knight-20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值