WIFI计量插座 - ESP8266 HLW8110 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 WIFI计量插座 - ESP8266 HLW8110

简介:实现电压、电流、有功功率、视在功率、有功电能等基础数据的计量、局域网WEB页面访问、查看实时计量数据 、配网 、OTA 、定时关闭输出、过载保护等。

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2022-11-26 23:24:03
更新时间: 2023-11-19 23:07:54
描述

# <font color=darkcyan>声明</font>

<font color=red size=5>本文/工程发布于立创开源广场,未经许可,不得转载。请尊重开源。</font>


# <font color=darkcyan>功能介绍</font>
| | | | --- | --- | | 继电器 | 支持按键或者WEB页面控制。支持开机时恢复上一次的状态,若不使能恢复状态,可设定开机时默认导通或是断开 | | 电能数据测量 | 单相电压、电流、有功功率、视在功率、功率因数、电网频率、有功电能 | | 数据存储 | 支持ESP NVS存储和FRAM存储,频繁变化的数据如用电量存储到FRAM | | 可清零电能 | 总电能/总用电量不支持清零,但有一个可清零电能,方便单次计量用电量 | | 定时 | 倒计时关闭输出。可以单独使用也可以配合充满自动断电一起使用:当二者都开启时,定时任务结束,充满自动断电任务也会结束 | | 充满自动断电 | 适合给电瓶车充电使用,低于一定功率一段时间表示充满,自动关闭输出 | | 过载保护 | 有功功率高于设定值并持续一段时间将自动关闭输出 | | WEB页面交互 | 支持浏览器局域网访问,查看数据或对插座进行配置 | | WEB配网 | 用浏览器配置其要连接的WiFi,方便快捷 | | Hostname | 支持修改Hostname,即其在路由器上显示的名称,同时也显示在WEB主页和OLED上,方便区分多台设备 | | 局域网FOTA | 装机后,可以在不拆机的情况下利用WiFi对其进行升级 | | AD五向按键 | 支持校准 |
# <font color=darkcyan>注意</font>
<font color=red>**该项目把玩的是强电,请谨慎。对强电保持敬畏之心,漏电防护必不可少。**</font>
# <font color=darkcyan>关于精度和本项目</font>
由于采用的是免校准的电能计量芯片,免校准的或许精度就是不够理想吧,又或许是电阻总是存在误差(可能我买的电阻精度虚标),使用出厂前进行校准的电阻才能达到宣传的精度。测试时,1700多瓦的功率比电表高了几十瓦,频率也低得不正常。不清楚其中缘由。
于是尝试以电表(或是市面上的功率计精度也是不错的)作为基准,对K值进行修正,结果令电压、电流、功率、频率都达到一个貌似还不错的精度,但还需要时间去检验。 继续摸索中。。。
PCB已有增加485收发器的版本,如果介意精度的话,我后面更新软件,加入对DLT645-2007电表的支持,花几十块钱买一个支持2007协议的1P电表接上去即可,但是即使1P电表足够小,应该也塞不进这个86盒里。
现时仅作DIY心得和资料分享,具体技术细节会分part发布到CSDN。
对于小白来说,可能配置开发环境和导入工程就够你折腾了,请务必有足够的耐心才去复刻。
该DIY项目于5月发布硬件图纸,10月才实现基本功能,对ESP不太熟悉、事情比较多加上本人做事拖拉,我一度以为这项目要难产。技术水平实在有限,对于ESP和电能计量我也是边学边做,WEB页面也是凭着大学课程的记忆以及百度去做出来的,效果就不能要求太多了。
先放一两张成品图
![WEB页面效果图](//image.lceda.cn/pullimage/tfBBOcvZs7nia8nEhj6DPewkIYXkqZmsrf13bPDx.jpeg) <center><font color=blue>局域网下访问WIFI计量插座的主页</font></center>
![硬件成品图1](//image.lceda.cn/pullimage/FTeaRduf7oBQ8tlUBjBt6vU9NvvzAqHfx6PsOqlI.jpeg) ![硬件成品图2](//image.lceda.cn/pullimage/8ttPIeAgwldTTIi3bUOnAjdudEIpKuB1ED8ICbE7.jpeg) ![硬件成品图3](//image.lceda.cn/pullimage/5HHgK7fGyzdNc33MzqgzBSAhpHD6zHjLw7jPQHRs.jpeg) <center><font color=blue>暂未对86白板的按键和屏幕部分作开洞处理</font></center>

# <font color=darkcyan>材料与硬件</font>
从上图可知,该项目成品的外观没什么美感可言,要塞入这些东西,找不到合适的公模外壳。
## 结构件、工具、线材、辅材等如下
| 部位 | | | --- | --- | | 外壳 | 常见的86两位明盒 | | 86面板 | 五孔面板,自己根据需求选择 | | PCB遮羞布 | 86空白板 | | 接插端子 | 带2固定孔的品字插座,带3根短线 | | 供电线 | 品字线,俗称电饭锅线 | | M4塑料螺丝螺母 | 将品字插座固定住,货还没到齐,图中的是临时固定的 | | 低压供电模块 | 从手机充电头上拆的,5V1A的即可,或者tb优信电子买一个迷你开关电源,5V700mA。用过,没有炸机 | | 热缩套管 | 将低压供电模块包住防止短路 | | 小型手持切割机 | 切割底盒以将品字插座塞进去、给空白面板开孔 | | 按键键帽 | 延长按键塑料部分,也有绝缘的作用 | | 绝缘材料 | 将底盒的孔以及空白面板的孔封住,避免触电,其中空白面板的还要兼顾透明以及美观,还没找到合适材料 | | 烙铁 | 零火线的焊接起码要用60W的电烙铁,最好是内热式的,30W的搞不定那大面积的铜皮 |
## PCB设计
<font color=darkorange>**注意:低压供电模块的负极需要和PCB上的GND接到一起的,不管是以火线还是零线作为GND,都不要去触碰低压供电模块!!!**</font>
以火线还是零线作为GND,对测量精度不会有很大影响。
为什么电表火线作GND呢?我想应该是计费的需要,这样电流采样就在火线上,一定程度上能避免窃电。这里就没这个需求了,用零线作GND或许还能保你在不小心碰到PCB的时候是安全的。
这里用火线作GND的好处是显而易见的,和PCB相接的零线只作电压采样了,线径就没要求了,焊接也容易了一些。
CH340C和C口不是必需的,找一个CH340C或CH340G模块,将上面的TXD RXD RTS DTR这4根信号线与8266右上方的排针连接即可下载程序。后面的升级都用FOTA去完成。不差钱的话全部焊上去那就更方便美观了。
## 接线图
--- ![wifi计量插座接线图L作地.jpg](//image.lceda.cn/pullimage/vSboBdSJK0E6gveB9wkXZhTuDEqtnrUndAa7qh9i.jpeg) --- ![wifi计量插座接线图N作地.jpg](//image.lceda.cn/pullimage/FLnNYzz7lSdcI8KZZBMt8pxlT45qJeswEvM0TWFl.jpeg) ---
## 物料补充说明
| | | | --- | --- | | 排针 | 我这里连接上下层PCB的排针金属长度是25mm,再长2mm左右会更容易焊接 | | 塑料柱子 | 连接两块板的是M3x20的双通,下板底下的是M3x6+6一头是母另一头是公,上板的螺丝是M3x10 | | ESP8266 | 用的是ESP8266-12E/12F,4Mflash,用更小闪存的版本不保证能正常烧录和工作 | | 品字插座固定螺丝 | 可以是M3也可以是M4,取决于你买的品字座固定孔孔径,螺丝长度可以买10mm以上,宁长勿短,长了还能剪短。最好用塑料的 |
# <font color=darkcyan>软件</font>
## 获取项目代码
[\[项目代码地址\]](https://gitee.com/catbabys/tyrion-wifi-socket.git),或附件处获取。
## 安装开发环境以及烧录
> 按照[文章](https://blog.csdn.net/Stack_/article/details/128509864)去操作。 > > 我在这文章底部放了工具的下载链接,按教程安装好IDE和工具链,然后导入附件的SDK以及工程。 > > 执行一次编译和有线烧写之后,并按后续步骤配网成功以及配置好本地服务器和IP、端口后,ESP8266便支持FOTA。 > > 本工程和文章中的不一样了,如果看不懂不会操作,我再演示一次导入如下图
![导入工程1](//image.lceda.cn/pullimage/9Wdm3kOSZ8IY4BHU0kMD9RoQdwoISwLZ9gx737Vq.png) <center><font color=blue>依次点击File>Import > C/C++ > Existing Code as Makefile Project > Next > Browse,选择解压出来的ESP8266_RTOS_SDK路径,并按照图中配置,点finish</font></center>
![导入工程2](//image.lceda.cn/pullimage/95recXdh5vmd4FeWZB6AC87Nvv3wuM4KQeCQrld9.png) <center><font color=blue>左侧Project Explorer的ESP8266_RTOS_SDK上右键选择Properties,点击C/C++ Build,Build directory填入本工程的路径。这里是相对路径,你也可以像文章里的那样用绝对路径</font></center>
![导入工程3](//image.lceda.cn/pullimage/8UGTDU7mNQ6vZc07fNS4EMlffg0oXh3sSkk26P3W.png) <center><font color=blue>点击Environment,添加一项IDF_PATH,路径为ESP8266_RTOS_SDK的路径。这里是声明IDF/SDK的路径,一般不需要改变的,如果要更改编译的工程,上一张图片的工程路径需要更改</font></center>

## 配网
> 1. 初次烧入固件/使用,如果默认的wifi ssid和你家的不同肯定是连接不上wifi的,稍等片刻会自动切换到AP模式,**关掉手机数据网络**,选取名为TyrionMon的WIFI进行连接,密码如下图 > > 2. 连接上之后,浏览器(测试使用的浏览器是Via)输入192.168.4.1,登入内置WEB页面。 > > 3. 进入设置页进行WIFI配置即输入要连接的2.4G WIFI的名称和密码,完成之后点击重启。 > > 4. 复位之后,WIFI计量插座尝试连接WIFI,连接成功将会在OLED屏上显示192.xxx的IP地址,这时手机便可以在局域网下通过这个IP地址访问插座。 > > 5. 有些路由器有IP租期的,需要将租期设置大一些,不然插座的IP经常变化就烦人。 ![ap.png](//image.lceda.cn/pullimage/sjwWraopcsnxgO1qlYogI9vxlBEqJdc2UQJIjuRC.png)
## FOTA
> 1. 先按照[文章](https://blog.csdn.net/Stack_/article/details/130448713)第三步安装本地服务器。 > > 2. 将工程build目录下的**wifi_socket.bin**文件拷贝到本地服务器(nginx的html目录)并重命名为**ota.bin**。 > > 3. 强烈建议电脑边一直放置一块ESP8266核心板,每次OTA前先烧录到核心板里确定这个版本的固件不会导致芯片不断复位,否则不断复位会导致下一次OTA无法进行。 > > 4. 进入“其它配置”页面,如下图。输入你安装了本地服务器的电脑的IP和服务器端口,随后返回上一页,点击FOTA,将依次显示FOTA准备中、FOTA进度百分比、FOTA完成,随后点击重启。
![other](//image.lceda.cn/pullimage/KlTcIGu8NOw9VmEhMz6zYZRnYU7LN6NhaL0ztE51.jpeg) ![set](//image.lceda.cn/pullimage/OEeMGMHyWDmFPzdWi9Y7QZdVWU93xYwD4453l6VE.jpeg)
## 校正K值
> 上面提到,对K值进行修正可以提高各计量值精度。 > > 如果按照官方给出的电路参数去设计,理论上K值为1,但是电阻始终是存在误差的。 > > ~~电压K值计算:先确保电压K值配置为1,插座显示值÷电表显示值,例如WIFI插座显示224.856V,电表显示221.1V,相除得1.016987788;~~ > > ~~电流K值计算:先确保电流K值配置为1,接一个较稳定的负载,例如烧水壶。插座显示值÷电表显示值,例如WIFI插座显示8.271A,电表显示7.938A,相除得1.014195;~~ > > 23年11月已更新为直接输入标准电压电流值(电表的数值),由ESP8266执行计算K值。
![1696605388113.jpg](//image.lceda.cn/pullimage/zVlPQaklxpwQYYXa0UommWFvf5v3EShEk15pmnZp.jpeg)
## 校正按键
> 采用五向按键,根据AD值判断按下的按键 > > 校准方法:按下上键,看见当前值有变化,点击图中上键,当前值将更新到上键处,即完成上键校正 > > 暂未使用按键
![1696605388110(1).jpg](//image.lceda.cn/pullimage/N8IcZ1hTlxn3dguv9Bq5kXOk9Sj81QCxrNT85RNh.jpeg)
## 一些参数
> 调试时用到
![1696605388115.jpg](//image.lceda.cn/pullimage/SzZYP9gIPn42OO9cDUMMH5KbdylEqw2h4Mj7lzgA.jpeg)
## WEB页面图标获取
> [网站链接](https://igoutu.cn/)

<font color=orange size=5>to be continue</font>
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP