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

 找回密码
 立即注册
查看: 755|回复: 15

[硬件DIY] ESP01S使用homekit上电IO抖动无法直驱三极管以及待机功耗过高

[复制链接]

2

主题

55

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
234
HASS币
0
发表于 2024-1-15 17:00:56 | 显示全部楼层 |阅读模式
ESP01S上电IO抖动问题处理


ESP-01(S) 引脚定义

7da37912a4266ce56f4ebd16369cf31f.png

从引脚图中看出,我们能使用的GPIO为GPIO0和GPIO2,尝试过直接用这两个脚位串电阻驱动三极管进而控制继电器,但不知为啥芯片总启动不了了,GPIO0连接FLASH还说得过去,但GPIO2也一样就没法解了(怀疑是IO口驱动能力问题导致ESP01S死掉!),所以硬件电路变成了常用的光耦模式。

参考光耦电路

d74a2fb24a454cd89146aaf207a6b8f8.png

电路原理

image-20240115150328827.png

修改esp01s继电器控制脚位为GPIO0或GPIO2后即可正常控制!
开始使用的是 fullhaaboot.bin 方式接入,参考esp01s接入HomeKit,用Siri控制你的灯这个方式虽然也成功,但是配对过程中需要连接github,因为没有魔法所以很慢,还经常失败,所以就给放弃了。
后来参考这位大佬文章ESP8266控制继电器(支持HOMEKIT)连接至HomeKit,正常添加正常控制。
到这里控制什么都正常了,但有个问题,就是上电过程中有IO抖动,也就是高低电平翻转,这就导致一上电就听到继电器滴答几次开合,有研究过源码程序,屏蔽掉相关脚位还是一样,哪怕在初始化前退出也如此,猜测可能是硬件翻转或者在很前端动作这两个IO口,因此最后还是放弃折腾这个思路!
最终选择搭GPIO4引脚来使用,就很稳了!
上电IO抖动处理
网上大家常用解决方案
  • 方案一:查找问题原因,重新编译固件。(这个自己尝试过,失败)
  • 方案二:在GPIO口直接接电解电容来消除上电抖动。(感觉麻烦就没尝试)
  • 方案三:使用硬件实现上电时的消抖,即在上电时的500ms内保证继电器的初级一直是开路状态,此时即使GPIO口抖动,继电器也不会动作。另外四个GPIO口公用一套消抖电路,大大减少了电路元件的数量。(也感觉麻烦也没做)

自己的方法
既然这连个脚不行就换一个,说做就做,因此在网上找到ESP8266EX脚位图,发现最靠近的GPIO4可以尝试。所以手动接线出来控制就行,还发现这个脚位能直接控制三极管进而控制继电器,意外之喜。

12.png

从图中可以看出来是第16脚,引线出来就行。
脚位定义说明

6a13b698e3d04d2cbd0d70b549de2740.png

引线连接方式

image-20240115154633590.png

至此,上电IO抖动问题就算完美解决了!
GPIO0跟GPIO2无法直驱三极管问题
找不到根本原因,但更换了GPIO4以后就自己解决了。可能是这两个脚位复用或者驱动电流不够的原因吧!
待机功耗过高问题
刚开始是自己搭的电路,在关闭继电器时待机功耗为 1.37W,吸合继电器时待机功耗为 1.86W。这个待机功耗还是挺高,毕竟都接近2W功耗,对于24H通电的机器来说一年功耗还挺高。
后边拿手头参考替换,发现使用BP2525电源芯片方式比较合适。
型号
空载
关继电器
开继电器
备注

天猫蓝牙通断器
0.2W
0.244W
0.509W

小米WIFI插座
-
0.88W
1.36W

国际电工433遥控
-
0.65W
0.68W

易微联WIFI通断器
-
0.4W
1.1W

小米电源插头
-
0.825W
-

个人旧版本ESP01S
-
1.37W
1.86W

整改后
-
0.58W
1.26W
解决
通过这数据对比,发现基本都在1W以下,最终更改还没打板回来,手动搭电路测试。效果还算满意。
image-20240115160831237.png
image-20240115160838768.png
总结
到这里算是解决了ESP01S问题!结果也还算满意。这样的初衷是连接到HomeKit或者homeassistant里面。到这里算是都解决。动手能力还行的小伙伴也可以试试,其实也就飞线一下。
软件的话就需要搭建环境,不过网上已经有很多教程,根据发现的问题慢慢处理就行。
实在不想动手可以有偿让人帮弄改一下。
image-20240115161453199.png






回复

使用道具 举报

11

主题

287

帖子

2033

积分

金牌会员

Rank: 6Rank: 6

积分
2033
金钱
1746
HASS币
0
发表于 2024-1-15 17:10:50 | 显示全部楼层
GPIO4這麼小的位置也能焊出來太厲害了  
我有老花眼了  就算看的到也沒這個焊接技術
回复

使用道具 举报

2

主题

55

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
234
HASS币
0
 楼主| 发表于 2024-1-15 17:13:02 | 显示全部楼层
george65 发表于 2024-1-15 17:10
GPIO4這麼小的位置也能焊出來太厲害了  
我有老花眼了  就算看的到也沒這個焊接技術 ...

这个脚位很好焊啊,因为它就在边边那里,烙铁一焊就上去了
主要是嫌弃它上电闪动几下
回复

使用道具 举报

11

主题

287

帖子

2033

积分

金牌会员

Rank: 6Rank: 6

积分
2033
金钱
1746
HASS币
0
发表于 2024-1-15 17:15:54 | 显示全部楼层
zml3589110 发表于 2024-1-15 17:13
这个脚位很好焊啊,因为它就在边边那里,烙铁一焊就上去了
主要是嫌弃它上电闪动几下 ...

我是採用方案二  焊接電容來消除抖動  缺點就是要開開關時會有一點點延遲感
回复

使用道具 举报

2

主题

55

帖子

289

积分

中级会员

Rank: 3Rank: 3

积分
289
金钱
234
HASS币
0
 楼主| 发表于 2024-1-15 17:18:31 | 显示全部楼层
george65 发表于 2024-1-15 17:15
我是採用方案二  焊接電容來消除抖動  缺點就是要開開關時會有一點點延遲感 ...

方案二应该挺多人用
你接光耦么?我的GPIO0跟GPIO2直接控制三极管不行,得带光耦,不知为啥
回复

使用道具 举报

11

主题

287

帖子

2033

积分

金牌会员

Rank: 6Rank: 6

积分
2033
金钱
1746
HASS币
0
发表于 2024-1-15 17:20:29 | 显示全部楼层
zml3589110 发表于 2024-1-15 17:18
方案二应该挺多人用
你接光耦么?我的GPIO0跟GPIO2直接控制三极管不行,得带光耦,不知为啥 ...

印象中好像是接光耦第三腳的樣子 好久前弄的
回复

使用道具 举报

23

主题

631

帖子

4350

积分

元老级技术达人

积分
4350
金钱
3704
HASS币
30

教程狂人

QQ
发表于 2024-1-15 17:38:17 | 显示全部楼层
GP01和GP03这两个脚完全可以拿来用啊,反正用来控制继电器,TX和RX不用也浪费
回复

使用道具 举报

50

主题

1300

帖子

4909

积分

论坛DIY达人

积分
4909
金钱
3609
HASS币
20
发表于 2024-1-15 18:10:29 | 显示全部楼层
ESP01S地球最难用系列,买过一个,直接扔垃圾桶
回复

使用道具 举报

18

主题

423

帖子

1907

积分

金牌会员

Rank: 6Rank: 6

积分
1907
金钱
1484
HASS币
0
发表于 2024-1-15 18:56:17 | 显示全部楼层
接继电器 上电抖动那一下根本没有解决的必要
通常线路接上以后 一年也不会断电几次
回复

使用道具 举报

8

主题

863

帖子

5126

积分

论坛元老

Rank: 8Rank: 8

积分
5126
金钱
4263
HASS币
0
发表于 2024-1-15 19:48:22 | 显示全部楼层
学习,也是遇到这个问题,谢谢分享
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-1 15:14 , Processed in 0.060451 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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