• 简介
    • 硬件设计
      • 厂家推荐电路
      • 互感器采样方案
    • 软件设计
      • 代码讲解
    • 计算部分

软件设计、硬件设计

简介

合力为官网,hlw8012规格书中资料:

HLW8012 为单相多功能计量芯片,其提供高频脉冲 CF 用于电能计量和高频 CF1 用于指示电流有效值或者电压有效值。
高频脉冲 CF,指示有功功率,满足 50/60Hz IEC 687/1036 标准的准确度要求,在 1000:1 范围内达到±0.2%的精度。
[说明]在满幅输入是 1000W 的条件,在 1W 到 1000W 的量程范围内,有功功率的测量精度(线性度)是 0.2%。  高频脉冲 CF1,可配置成为输出电流有效值或者电压有效值,在 500:1 范围内达到±0.5%的精度。

硬件设计

厂家推荐电路

参考合力为推荐的方案

互感器采样方案

220v情况下,将采样电阻换成1Ω,并且与电流互感器相连
关注获取方案

软件设计

使用GPIO中断测量的方案网上有很多,所以不做介绍
此处介绍的是需要测量很多组电能时,需要使用mcu上20,30甚至更多gpio的情况,每个hlw8012芯片测量时需要至少2个gpio,所以其他带uart、spi的芯片也不适合使用。

使用单片机测量频率或周期,通常是利用单片机的定时计数器来完成的,测量的基本方法和原理有两种:
测频法:在限定的时间内(如1秒钟)检测脉冲的个数。(采用此法)
测周法:测试限定的脉冲个数之间的时间。
  1. 采样频率根据实际测量频率决定,设置为100us测量一次引脚电平状态-----采样函数在100us的定时器中断函数中。
  2. 假设总共测量时间为200ms,启动测量时,先记录一次电平状态begin,之后每100us判断一次,当两次电平状态不一致时,count++,到200ms后停止测量。
  3. 此时 count/2 = 脉冲个数 , 脉冲个数/200ms = 频率。

代码讲解

第一部分限定时间控制与逻辑控制,在1ms软件定时器中执行(可先看第二部分),可参考我的其他文章参考单片机框架。

static float PulseTemp = 0;     //脉冲个数
static float TimeTemp = 0;         //总时间if(GbHlw200MsTimerEnable)     //需要启动测量时,此标志位置1
{GbHlw100UsScanEnable = 1; //启动采样if(Gu16HlwTimeCnt++ == 200)    //200ms的总时间{GbHlw100UsScanEnable = 0;     //到时间先关Gu16HlwTimeCnt = 0;GbHlw200MsTimerEnable     = 0;PulseTemp = 0;TimeTemp = 0;PulseTemp = ((Gu16PulseJumpCount*1.0 + 1.0) / 2.0);    //脉冲个数 +1为补偿TimeTemp = 200 * 0.001;   //总时间   //换算成 SGu16HlwTempFrequency = PulseTemp / TimeTemp;  //最终的频率Gu16PulseJumpCount = 0;                    //翻转次数清零}
}

第二部分为采样函数,每100us访问一次

void  HlwPinScan(void)       //在100us定时器中扫描
{static bit SbTempPin;   //临时static bit SbBeginFlag;  //记录刚进来时电平状态bit TempStatus;if(GbHlw100UsScanEnable)           //在1ms定时器中开启扫描后{if(SbBeginFlag == 0)      //记录第一次判断时的电平状态{SbBeginFlag = 1;       //开始采样Gu16PulseJumpCount = 0; SbTempPin = Pin5;      //读取电平状态 }else{if(Pin5 != SbTempPin){SbTempPin = Pin5;             //记录当前状态Gu16PulseJumpCount++; //记录翻转次数,全局变量,配合使用}}}elseSbBeginFlag = 0;
}

计算部分

高精度:
最好分段校正,分段计算斜率
用固定交流负载,例如100w,频率实际测得f1,110w时,频率测得f2,计算小区段的斜率,通过多次测量校正,最后得到的结果会很准确。

低精度:
按照计算格式来即可:

使用8012测量10组以上的功率、电流,可评论获取代码

hlw8012电能测量芯片(多组功率电流测量)相关推荐

  1. 电能计量芯片应用心得之选型篇

    电能计量芯片应用心得之选型篇 什么是计量芯片 计量芯片是测量交流电信号的一类芯片,因最早是使用于电表产品,所以在行业内也俗称电表芯片,它可以统计用电负载的用电量.测量用电负载的功率大小和电流大小,以及 ...

  2. 免校准的电量计量芯片_【应用】基于高精度免校准电能计量芯片CSE7761的漏电保护设计,可支持单芯片两路计量...

    随着家电产业开始步入物联网时代,终端企业也开始借助更为智能的手段来保障电器的使用安全,如电器电能监测.过载检测.故障预警等等,使得电能计量芯片开始崭露头角.本文将介绍 漏电是由于电器外壳和市电火线间因 ...

  3. ESP8266+电能计量芯片

    ESP8266+BL0937电能计量芯片 1. BL0937计量芯片的介绍 BL0937的应用电路图 BL0937的外围电路图 2. ESP8266与BL0937芯片的引脚连接 ESP引脚 BL093 ...

  4. 免校准的电量计量芯片_技术 | 免校准电能计量芯片,让家电智能化更简单

    物联网时代,随着人们对节能环保,以及电器安全使用意识的提高,"能源智慧管理"."设备故障预判"."智能诊断"成为了智能电器产品的热门口号. ...

  5. 免校准的电量计量芯片_免校准电能计量芯片,让家电智能化更简单

    原标题:免校准电能计量芯片,让家电智能化更简单 物联网时代,随着人们对节能环保,以及电器安全使用意识的提高,"能源智慧管理"."设备故障预判"."智能 ...

  6. cse7761电能计量芯片驱动程序

    stm32+CSE7761电能芯片驱动 这篇文章介绍CSE7761电能计量芯片的驱动和应用的部分程序,如需要完整解决方案(电压.电流.功率.电量.过载.过零.漏电),请私信. spi引脚配置 GPIO ...

  7. 基于嵌入式多芯片模组的微机保护平台

    为适应微机继电保护向高度数字化.网络化.综合化和智能化方向迅速发展的趋势,在采用工业数控开放式系统体系结构的基础上,提出并成功地开发了基于嵌入式多芯片模组的高性能通用微机保护平台.该平台以具有自主知识 ...

  8. 电能计量芯片HLW8110/HLW8112

    电能计量芯片HLW8110/HLW8112 芯片特性 ²  工作电压:3.3V/5.0V ²  免校准 ²  UART/SPI通讯方式 ²  内置晶振 ²  漏电检测 ²  内置温度传感器 ²  一路 ...

  9. 计量芯片可以识别0mA电流吗?

    最近经常遇到一些客户询问同一个问题,计量芯片是否有以下功能? 1.如何可以识别0mA电流? 2.如何可以判断继电器断开? 3.有没有一种芯片可以区分微小电流和0mA电流? 要回答以上问题,我们先了解下 ...

  10. H.265及最新芯片模组技术现状和研究方向

    在视频监控领域,目前支持H.265的芯片厂商有安霸和海思,海思芯片在成本控制等方面具有很大优势,在视频监控领域处于国内领先地位.前端H.265芯片方案主要有Hi3516D,Hi3516CV300:后端 ...

最新文章

  1. 万引大佬自曝这样被MIT拒掉:“系里不喜欢你”,找校长对峙后悟了
  2. DNS Tunneling及相关实现——总之,你发起攻击都需要一个DNS server,下载一些工具作为client发起数据,server收集数据并响应...
  3. 从一个疯狂下载者变成一个学习者
  4. int函数在Oracle,vb中int是什么意思 ?
  5. Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢
  6. mysql rrd_将RRD数据库中数据导入MYSQL中
  7. Druid 配置及内置监控,Web页面查看监控内容
  8. 基于matlab的图像仿真研究,基于MATLAB的图像锐化算法研究与仿真
  9. 第10章 评价分类结果 学习上
  10. Ubuntu 18.04 ——— ROVIO运行与EVO的评测与使用
  11. WIN10去除磁盘写保护(只读属性)的步骤
  12. 2010计算机系助学金,计算机系贫困生助学金申请书范文
  13. Oracle DG主库失败Failover参考
  14. 数据库系统,数据库应用系统,数据库管理系统,数据库
  15. 【认识AI:人工智能如何赋能商业】【08】通用人工智能应用—智能机器人
  16. 使用Microsoft Office Publisher制作海报Poster
  17. IP交换机与路由器配置
  18. android wms各个类的作用,Android系统服务 —— WMS
  19. 基本IO函数的使用(open,write,read)(一)
  20. android之文件上传

热门文章

  1. 带你轻轻松松了解route-map
  2. linux下sybase创建数据库,教小白搭建sybase数据库环境
  3. 定制WES7紧急修复U盘
  4. 步进电机和伺服驱动器接线
  5. (已解决)利用LiveReload插件实现vscode和谷歌浏览器实时刷新
  6. linux升级libpng,在Linux中安装libpng-dev以解决pngquant构建失败的问题
  7. lisp画配筋_[BIM]柱配筋施工图的信息化应用
  8. html5 绘制思维导图,Qunee组件制作思维导图
  9. CEIWEI CommMonitor 串口监控精灵v12.0 串口过滤;串口监控;Serial port monitor tools
  10. 扫雷win10_手把手教你玩扫雷