新国标五孔计量插座10A

描述

本插座使用新国标五孔外壳,相比老款外壳更容易布线。在保留老款特性(磁保持继电器、电能计量、OTA升级固件)的同时,也解决了最后的短板(电流计数不稳定、外壳无法完美贴合等)。是计量插座的完全体。

免责声明:

本插座使用220V市电,DIY及使用时可能存在电击、高温烫伤等多种可能至人伤、残、死亡的风险。请严格按照安全规范操作并做好充足的保护,未成年人请在监护人的辅助下操作。使用本方案,表示你已经对安全风险有充足的认知,请确认自己有足够的知识储备再行操作。造成的任何损失和后果自负,本人不承担任何法律上的责任。

 

本人是软件方向,非电子硬件科班生,只是业余爱好者。因此可能很多基本的硬件常识都不知道,电路图上如有任何不妥,还望各位不吝赐教,拱手致谢。

硬件说明:

1.两种方案可选,电量计量芯片可使用方案1(BL0937)或者方案2(BL0942)。

2.之前使用的老版外壳,PCB布线上有诸多不便。插脚那里是直上直下直通电路板的,焊接时非常的不优雅。另外外壳上的凸起始终会被挡住,不太完美。所以更换了外壳,并解决了以上缺陷。

3.因为外壳尺寸限制,磁保持继电器只能选用超小型的,我只找到这一种适合而又不那么贵的(FH44L-1AT-L1-DC5V),有更合适的请在评论区留言(要求:磁保持继电器,耐压220V10A及以上,大概尺寸20x10x15mm)。

4.MCU部分需要单独打板,因此这个项目实际上需要打板2块,分别是(方案1或方案2的)插座主体和直插模块,2块PCB的厚度都是1mm。

5.方案1的计量芯片使用了BL0937,它的好处是便宜、外围电路简单。缺点是使用前需要校准,不过只用校准一次,问题不大。

6.方案2使用BL0942,它的好处是不需要校准,另外计量功能稍多一点。

7.没有使用隔离供电,220V市电L线直接连GND,因此整个PCB都带强电。调试时必须带外壳插在插板上测试,外壳在没有粘胶的情况下很容易被拔掉。请爱惜自己的生命。

8.如果在PCB打板过程中,厂家提示:中间铣槽连接位太小、会断板等,请回复:我已悉知并可接受此原因带来的风险,请直接按Gerber文件生产,谢谢!

软件说明:

1.编译环境为VScode+PlatformIO

2.使用开源的MQTT方案,不花一分钱就可以获得一个不限制设备数量和使用期限的云服务器。

3.实际使用中发现公共、免费的MQTT服务器虽然也能用,但延迟比较大。如果对实时性要求比较高的,建议在云服务器或者路由器上自建MQTT服务器(推荐软件EMQX,免费、性能强大)。

4.手机端不再使用MQTT dashboard_v0.4.5_apkpure.com.apk,这个APP已经很久没有升级过了,而且不能完整支持JSON ,没法用。改成附件里面的IoT MQTT Panel_0.45.18_Apkpure.apk,这个APP界面还行,使用也还方便,也完整的支持JSON,就是有广告这点不好。(有更合适的手机APP请在评论区留言)

软件主要功能:

1.支持网页配网
2.支持微信扫码配网(不推荐,不能100%成功)
3.支持网络对时NTP
4.支持MQTT,有助于更透彻的理解物联网工作机制。使用MQTT手机APP上的开关、倒计时器、定时器等方式开启或者关闭插座。
5.定时器程序是在插座本地实现的,非云端实现。只要提交参数上去保存好,哪怕后来断网了,插座还是可以定时开启或者关闭。所以用本插座物理重启光猫或者路由器,成为可能。
6.支持OTA在线升级固件,通过网络就可以升级固件。再不用痛苦的把板子拆下来重新刷固件了。
7.支持LittleFS文件系统,可以掉电保存各种参数。即使插座掉电重启,原先的参数还在。
8.支持电量计量,可显示实时电压V/电流mA/功率W,以及总功耗kWh。
9.网页配网页面,支持通过web上传固件及文件系统。用于刷固件变砖的恢复。
10.支持HomeAssistant MQTT自动发现,可以使用MQTT集成,方便的进行控制。

相关元件来源:

1.插座外壳(包括里面的220V10A公母一体插座)-> 上阿里巴巴一次买2个以上 便宜,电子按键就是普通的6x6x5侧按键,也可以自己单独买。

2.AC220V TO DC5V开关电源模块 右边的链接我都买过(注意:要买5V带脚的)-> 链接1 链接2 链接3

新国标五孔计量插座10A

4.ESP-12S模块 可购买ESP12E/F/S,三种型号都是兼容的。F最便宜我经常 -> 买这个,不到5块钱还包邮。

5.磁保持继电器注意:要买FH44L-1AT-L1-DC5V(5V4脚单线圈))-> 购买链接

6.磁保持继电器驱动芯片CN8023B(注意要买SOT-23,6脚的) ->购买链接

7.(可选方案1)电能计量芯片BL0937 SOP-8贴片 我买的是-> 这个购买链接,    (可选方案2)BL0942 (注意要买SSOP10,10脚的) -> 购买链接

8.除此以外其他的元器件(包括电阻、电容、AMS1117、发光二极管LED等)我基本上都是在优信电子买的-> 优信电子淘宝店

9.ESP8266开发测试架/烧录器(初学者才需要),我买的是这个-> 购买链接

10.粘外壳用的,补鞋胶 ->链接 

软硬件安装步骤:

1.先给ESP12S刷好固件,参考:https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-ruan-jian-gong-cheng-dao-ru-VSCODE-yi-ji-bian-yi-shuo-ming 

2.给ESP12S配网设置好MQTT参数,参考:https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-ruan-jian-diao-shi-shuo-ming

3.在手机上安装MQTT APP,并设置好MQTT服务器参数。 教程: https://oshwhub.com/article/xin-guo-biao-wu-kong-ji-liang-cha-zuo-10A-pei-tao-shou-ji-APPan-zhuang-ji-she-zhi-shuo-ming

4.把刷好固件的ESP12S焊接到PCB上

新国标五孔计量插座10A

5.焊接主体PCB步骤

新国标五孔计量插座10A

6.上面大电流加焊那个地方,缺口那里一定不能焊的太高了,会挡住外壳。

新国标五孔计量插座10A

7.焊好的各个角度图

新国标五孔计量插座10A

新国标五孔计量插座10A

新国标五孔计量插座10A

新国标五孔计量插座10A

8.装壳测试,******不要用胶水******先大致装起来,万一有问题还可以返工。(必须插在插板上测试,因为外壳没有粘胶,很容易被拔掉,请爱惜自己的生命)

新国标五孔计量插座10A

新国标五孔计量插座10A

9.等测试完没问题,最后再把外壳用胶水粘起来,要等24小时胶水干了才能使用。

新国标五孔计量插座10A
(软硬件安装完成)

 

硬件更新说明:

2023/6/22
1.硬件更新(插座PCB BL0937 V1.1)
磁保持继电器驱动弃用场效应管,改用驱动芯片CN8023B。
在6月2日的更新中,场效应管虽然可以正确驱动磁保持继电器,不会出现上电瞬间抖动的问题。
但后续测试中发现,如果频繁打开、关闭插座开关,H桥有非常高的几率会直接将5V、GND短路。
预防短路的电路,我觉得比较复杂、元件多、不太优雅,所以重新找了一个驱动芯片,也就是CN8023B,不再使用场效应管驱动继电器。
2.增加了BL0942方案的插座PCB,该方案的优势是只要关键位置的测量电阻精度为1%,就基本不用校准。

2023/6/2
硬件更新(插座PCB V1.0,ESP12S双面直插模块2x6P V2.7)
1.弃用驱动芯片MD7620A,因继电器上电瞬间抖动的问题。
经过研究,发现这是继电器驱动芯片MD7620A的硬件BUG,跟IO抖动无关。
具体原因是因为ESP12S在初始化时会自动设置IO脚为输入模式,也就是IO输出置高电平,这个时间有100-300ms。
即使人工设置IO脚为低电平,但初始化IO为高已经发生,并且无法避免。
而MD7620A芯片,当2个输入都为高时,输出不确定(也就是继电器可能闭合也可能断开)。
外在表现就是:当设备上电时,继电器可能会吸合然后断开,也就是闪了一下。也可能不会发生,有一定的概率。
这是MD7620A芯片的硬件BUG。我的解决办法是换成4个场效应管组成H桥,驱动继电器。实测再无上电时继电器抖动。感谢@21568P  @hlg123  的报错。
2.插座主体PCB,已增加底层的铜皮和过孔,开槽也向下扩展了。感谢@squarer的指点
3.直插模块PCB,已将2个电容挪到了VCC引脚的附近。感谢@squarer的指点
2023/2/15

1.硬件发布(插座PCB V0.7,直插模块右插脚 V2.4)

软件更新说明:

(请注意看源代码的更新时间,如BL0937的源代码时间是2023/9/6,那么它就不具备2023/9/6之后的软件更新功能)

2023/12/11
1.添加了HomeAssistant MQTT自动发现设备的能力(以前只能发现MQTT实体),使用更方便。感谢网友的解决方案和示例代码。

2023/11/27
1.添加了看门狗机制,超过10分钟未发布将自动重启。

2023/11/10
1.增强WiFi断网连重连的能力。

2023/10/19
1.上电启动时,当WIFI未初始化(用户名、密码为空),会在等待1秒后自动进入网页配网界面。
2.客户端ID与MAC地址关联,第一次初始化时,客户端ID自动设置为MAC地址。

2023/10/8
1.修正了频繁切换开关时,有一定几率会造成插座死机的问题。 感谢 @unanxtg 的报错。
2.增加了在网页配网及微信配网界面,也能使用按钮切换开关状态,以及按钮10秒重启插座的功能。

2023/9/30
1.插座初始化时(在连接wifi之前),根据上次开关状态设置本次开关状态。感谢 @star19997 的建议。
2.修正了按钮切换开关状态时,状态没有正确保存的逻辑问题。

2023/9/6
1.增加了电量累计的功能,针对插座断电和不断电重启都有对应的处理。感谢 @matrixwell 的建议。
2.增加了“开关反向”的选项,用于调试。

2023/8/5
1.根据 @star19997 的反馈,调制了MQTT发布数值的阈值。只有当数值变化超过5%(或者距离上次发布时间已有5秒),MQTT才会发布。
2023/7/17
1.根据 @star19997 的反馈,增加了对MQTT用户名、密码的支持。
已做好的插座如需更新此功能,除了升级固件,还需要在配网页面升级LittleFS文件系统。因此参数会重置,需要重新配置。
2023/6/2
1.网页配网页面,现已支持通过web上传固件及文件系统。用于刷固件变砖的恢复。
2.已支持HomeAssistant MQTT自动发现,可以使用MQTT集成,方便的控制本插座。
2023/2/23

1.修正了倒计时参数掉电以后不能保存的问题,感谢 @liang_work 的报错。

2023/2/21
1.增加了一个LED控制开关
APP面板:
复制 开关
名字:LED长亮
JsonPath: $.led
JSON pattern for publish: {"m":"led","v":""}
(说明:ON,LED随开关长亮,开关开LED亮,开关关则LED灭;OFF,限制LED点亮延续时间,LED最多只亮100秒,减少光污染。)

2023/2/16
1.使用MQTT遗愿参数设置了设备在线状态。(赞叹:很巧妙的方法)
2023/2/15

1.软件发布

附件:

工程附件里面的3个PCB layout文档非常有用。我以前计量插座布线总是干扰很大,看完文档简直如醐醍灌顶。

下载附件:新国标五孔计量插座10A.zip

OTA步骤:

1.在VSCODE里面编译固件
20220811000333.png
1.是编译固件的按钮,2是编译出来的固件地址。

2.将编译好的固件上传到一个HTTP地址,可以是网站或者是你的本地路由器,地址类似于:http://x.x.x.x/data/esp12s.bin
上传好以后一定要打开浏览器实际测试一下,看看这个固件地址是不是能正常下载。

3.在 WEB配网 里面设置好OTA固件链接,就是那个网址类似于:http://x.x.x.x/data/esp12s.bin
4.在手机APP里面点 升级固件
OTA升级时,LED会随下载进度快速闪烁。
升级成功会自动重启。

疑问:

1.470uf普通电容更换为10uf钽电容,我可能根本就没有注意到推荐电路是470UF的普通电容。主要是我用10UF钽电容很顺手,贴片的不占地方而且也很好用。
2.如果你做4路的,那我觉得还是4路共用470UF电容更好,毕竟容量比10UF大多了。供电电压5V的情况下,限流电阻R1(1欧)不是必须的,所以也可以4路共用。但C4(100nF)这个是必须每路一个,单独用比较好。而且C4要尽量贴近芯片,走线越短越好。

我看到有的驱动芯片IO引脚到INA和INB之间分别接了一个1K的限流电阻,这个芯片不用么?
我看到有些参考电路上并没有接这个限流电阻,感觉它可有可无。

你好我想请问一下,能不能就是在采样部分是连接L端当强电的地,然后芯片供电和其他模块的地全是用隔离电源带来的地啊,不然你的电路图里面感觉是已经将L和隔离电源的GND完全连一起了,那个隔离电源好像完全没起到作用,就是不知道这个地不统一的话会不会导致采样不到电流
1.我用那个隔离电源仅仅因为它是模块化的,只是使用方便而已,并不一定非要用出“隔离”的效果。
2.电路图里面L和隔离电源的GND,以及芯片的地,都连在一起。其实这是照搬计量芯片的厂家设计的一个典型的应用电路。
3.地不统一的话,厂家有另外设计一个电压电流互感器的方案。
那个方案电路设计比较复杂点,而且互感器本身元器件也比较大,我怀疑没办法用在这个外壳里面。

这个电源也不需要隔离的 博联的插座里就用的非隔离的
作者主要这个电源模块用的多,比较熟悉。你有其他(便宜好用)的非隔离电源模块链接吗?
MPS的MP157 国产的EG1120

说一下我的理解仅供探讨,不对的地方还请指正:
1.隔离电源/非隔离电源、隔离采样(互感器采样)/非隔离采样(电阻采样),这几种电路布局都是可行的,并不是说必须要非隔离电源。我之前的计量插座项目附件里面有HLW8032的设计参考文档,里面厂家有各种详细的设计方案,可以参考一下。
2.严格说来我这个原理图它就是非隔离电源+非隔离采样(电阻采样),如果是隔离电源,GND不能直接连到后端计量芯片。我之前使用过DC5V-5V隔离电源模块,DC5V和GND都是前后端隔离。后来评论区说不用也行我就去掉了。
3.你困惑的可能是采样电路的接地那里,但其实这个是厂家的设计。在附件文档BL0937应用指南里面有这个参考设计图。