『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: depboy

[经验分享] 自制低成本的基于ESP8266的mini电能电量监控模块

  [复制链接]

0

主题

19

帖子

411

积分

中级会员

Rank: 3Rank: 3

积分
411
金钱
392
HASS币
0
发表于 2022-6-5 23:07:14 来自手机 | 显示全部楼层
纯纯粹粹吃
回复

使用道具 举报

11

主题

183

帖子

1366

积分

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1183
HASS币
0
发表于 2022-10-2 19:56:12 | 显示全部楼层
MP150功率能改大点吗,整好正常加三极管和继电器后就带不起来了,拆掉就能正常
回复

使用道具 举报

5

主题

85

帖子

951

积分

论坛DIY达人

积分
951
金钱
846
HASS币
80
 楼主| 发表于 2022-10-5 19:58:47 | 显示全部楼层
Awe7 发表于 2022-10-2 19:56
MP150功率能改大点吗,整好正常加三极管和继电器后就带不起来了,拆掉就能正常 ...

看数据手册最大输出电流是5V200ma,带个继电器和8266应该没问题吧,是不是输出电感选小了
回复

使用道具 举报

11

主题

183

帖子

1366

积分

金牌会员

Rank: 6Rank: 6

积分
1366
金钱
1183
HASS币
0
发表于 2022-10-11 00:50:59 | 显示全部楼层
depboy 发表于 2022-10-5 19:58
看数据手册最大输出电流是5V200ma,带个继电器和8266应该没问题吧,是不是输出电感选小了 ...

按你的电感搞的,试试大电感?
回复

使用道具 举报

7

主题

1072

帖子

3361

积分

论坛元老

Rank: 8Rank: 8

积分
3361
金钱
2289
HASS币
0
发表于 2022-10-11 09:01:34 | 显示全部楼层
真牛x,有技术,有能力。佩服,搞几个成品卖啊
回复

使用道具 举报

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
金钱
17
HASS币
0
发表于 2022-10-11 09:13:06 | 显示全部楼层

3

主题       
58

帖子       
601

积分
论坛DIY达人


积分601金钱528HASS币60
发消息
电梯直达
跳转到指定楼层楼主
发表于 2022-2-9 11:43:21 | 只看该作者 |只看大图 回帖奖励
本帖最后由 depboy 于 2022-2-13 14:49 编辑


【低成本-基于ESP8266的mini电能电量监控模块】


----------------Warning----------------
此模块供电为非隔离供电!!!想要制作的小伙伴们需要注意安全!!!
没有接触过强电经验的小伙伴请慎重考虑!!!

自从接触HA以来老早就想把家里大大小小的插座都给监控上了,这样可以清楚的知道家里什么地方什么时候消耗了多少电能。
不过一来市面上带有功率监测的插座成品都太贵了,二来家里的插座基本都装好了,没有必要再去更换。
想要购买模块来改造,电源模块加wifi模块加电能模块的体积简直和一个插座相当了,想着如果能在现有的插座内集成一个电能模块就好了。

入户电能监测已经使用培正模块加8266接入了hass,剩下的就是家里的插座了。
首先要植入插座,体积必须足够的小,esp01自然不能用了,供电,电能取样自然也要集成。
那就只能自己画板子了,不过现在打样这么方便,省了不少。(嘉立创YYDS)

------器件选型------
要画自己的板子,器件当然要先选好啦。
通讯
无线通讯自然是要选择编程烧录都很方便的ESP8266,不过这次不选择模块,选择芯片集成方式。
马云家2元一片就可以。

供电
迷你版供电自然要尽可能缩小,隔离式电源因为有个变压器就放弃,因为是在插座内部,即使是非隔离电源也不会有什么问题。
所以选定了非隔离式电源,方案用比较成熟的MP150非隔离供电。马云家3元左右一片。


电能计量
这个也比较好找,我自己使用esphome平台作为编程,在esphome官网上就有支持的芯片介绍,我选择了HLW8032作为计量芯片。
马云家约3元1片(其实之前才1块多的,后面涨价了。-_-||)



其实还有其他零散的器件买这些的时候都一并购买了。


------原理图------
器件选择好了接下来就是画图了,既然要放到插座里面体积不能太大,板子就定6cmx3cm大小。
原理图先画好
供电部分

直接照抄了官方的电路,加1117-3.3V稳压输出给8266。
通信部分

这里踩了不少坑,之前没画过这种类型的电路,对天线部分不太熟悉,打样回来不是信号不好就是连不上热点。
前后修改了几次才比较完美。
电能采集部分

同样也是照抄了官方的电路,不过用了两套方案,康铜丝检流和互感器检流都可以,应对不同场景。
这是最后一版的图,兼容hlw8012和hlw8032两种芯片
(这里也有坑,后面说)

------电路板------
接下来就是画板了,首先强电和弱电部分肯定是要分开啦,左右布局就可以,左边放8266右边放供电和采集
龙飞凤舞画完后就是这样~

左面是8266通讯,右上面是供电,右下面是采样,自认为布局还阔以。
3D模拟是这样~

(没错那个电容我XY翻转了一下,忽略掉它吧)
这里也有坑,一开始我输出的电感选小了,带不动8266,发热厉害,查了资料才知道原来是电感问题,后面才加大了

------打样焊接------
这个就略过吧,前前后后设计了几个版本,最后的一个版本比较稳定。

因为是小体积,器件也用了比较小的封装,焊接基本是用风枪加锡膏。


------程序烧录------
使用8266可以使用hass自带的esphome编程和烧录,首次烧录需要串口链接电脑,烧录完成后期就可以直接使用OTA升级了,超方便!!!(破音)



HLW8032集成在esphome里面没有,不过可以使用CSE7761集成替代,底层通讯应该是一样的:
https://www.esphome.io/components/sensor/cse7761.html
HLW8012集成有,直接使用现成的例程就可以了:
https://www.esphome.io/components/sensor/hlw8012.html
两者使用前都需要标定,这样数据才比较准确(没办法这就是不使用模块的代价)

在板子上,如果使用HLW8032,则HLW8032TX口对应8266的GPIO4,所以编程时需要定义RX为4,波特率为4800,串口缓冲区为24字节。
uart:
  rx_pin: 4
  baud_rate: 4800
  rx_buffer_size: 24
  id: rx8032
复制代码

如果使用HLW8012,则需要定义SEL脚为GPIO13,CF脚为GPIO4,CF1脚为GPIO12
  - platform: hlw8012
    sel_pin: 13
    cf_pin: 4
    cf1_pin: 12
复制代码

下面是我自己HLW8012的程序:
sensor:
  - platform: hlw8012
    sel_pin: 13
    cf_pin: 4
    cf1_pin: 12
    current:
      name: "HLW8012-1 Current"
    voltage:
      name: "HLW8012-1 Voltage"
    power:
      id: pwr_sensor
      name: "HLW8012-1 Power"
    voltage_divider: 2074.6
    current_resistor: 0.001
    update_interval: 1s
   
  - platform: total_daily_energy
    name: "HLW8012-1 Energy"
    power_id: pwr_sensor
   
time:
  - platform: sntp
    id: my_time
复制代码


下面是HLW8032的程序:
uart:
  rx_pin: 4
  baud_rate: 4800
  rx_buffer_size: 24
  id: rx8032

sensor:
  - platform: total_daily_energy
    name: "HLW8032 Daily Energy"
    power_id: my_power
   
  - platform: cse7766
    uart_id: rx8032
    current:
      name: "HLW8032 Current"
      accuracy_decimals: 3
    voltage:
      name: "HLW8032 Voltage"
      accuracy_decimals: 2
      filters:
        # Map from sensor -> measured value
        - calibrate_linear:
            - 0.0 -> 0.0
            - 500.0 -> 1085.0
    power:
      name: "HLW8032 Power"
      accuracy_decimals: 2
      filters:      
              # Map from sensor -> measured value
        - calibrate_linear:
            - 0.0 -> 0.0
            - 5000.0 -> 10968.0
      id: my_power
    update_interval: 2s

time:
  - platform: sntp
    id: my_time
复制代码
能够读取电压,电流,功率,每日用电数。

------接入HASS------
一般来说烧录完成重启后在HASS通知内会直接提示发现新设备,添加后就可以在集成里面看到添加的模块了。

把目前接入的插座都汇聚到一个面板上就是这样:

没错只有四个,有两个是这个模块配上培正模块,放在入户电箱里面,有两个实装了。
其实还可以拓展显示模块,加个TM1637就可以实时显示用电功率了


我处方的插座上就加了个显示模块,直接透过面板显示,效果还不错,没有功率时可以息屏。


内部是这样的,使用互感器检测电流

------后记------
这个模块从有想法到最后完成经历了好几个月,一是工作太忙了,二是懒(不是,最后完成了还是有那么点成就感的。
不过毕竟是自制的东西,有几点缺点还是要说说的。
第一是由于使用的是非隔离的供电,在使用和调试的时候都要加倍小心,一旦接入220V市电,整个板子都会带电!!此时千万不能用手摸板子的任何部位,也不能使用电缆连接电脑调试!!
第二在使用过程中发现使用HLW8032的模块会随机性的重启,表现为死机,然后看门狗重置,这个可能是esphome没有优化好的原因,使用8012就没问题。
第三是模块的测量精度与最大功率有关系,板载的康铜丝实测最大可用功率为1300W左右,超过了这个功率显示的就不准确了,可能是超过芯片的差分输入量程了。

这是我第一次自己做智能家居,有什么问题大家可以互相交流,我看到了也会回复的

最后祝大家新春快乐!!
回复

使用道具 举报

20

主题

122

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
金钱
1841
HASS币
10
发表于 2022-10-11 11:13:42 | 显示全部楼层
这东西能搞个3d打印的外壳吗
回复

使用道具 举报

7

主题

104

帖子

876

积分

高级会员

Rank: 4

积分
876
金钱
772
HASS币
0
发表于 2022-10-11 12:57:37 | 显示全部楼层
这个可以有,准备抄作业。想问问大佬,如果要增加功率的统计,要改动哪里?我是一个新手,想把这个接入到家里的集成灶,有3500W,还是一个风管机空调,功率也比较高。
回复

使用道具 举报

5

主题

85

帖子

951

积分

论坛DIY达人

积分
951
金钱
846
HASS币
80
 楼主| 发表于 2022-10-12 20:51:19 | 显示全部楼层
kffnqtd 发表于 2022-10-11 12:57
这个可以有,准备抄作业。想问问大佬,如果要增加功率的统计,要改动哪里?我是一个新手,想把这个接入到家 ...

增加功率的统计是什么意思,是计算每天的耗电量吗?这个esphome有自带的统计,可以直接计算每天的耗电量,0时自动清零。另外挂两天应该会发另一篇新的模块帖子,比这个更好些,可以关注下
回复

使用道具 举报

5

主题

85

帖子

951

积分

论坛DIY达人

积分
951
金钱
846
HASS币
80
 楼主| 发表于 2022-10-12 20:52:24 | 显示全部楼层
wison 发表于 2022-10-11 11:13
这东西能搞个3d打印的外壳吗

不会建模,我是直接用热缩管套起来的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-29 15:07 , Processed in 0.148837 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表