当前位置:   article > 正文

ESP01S使用homekit上电IO抖动无法直驱三极管以及待机功耗过高解决方法_esp01上电抖动

esp01上电抖动

ESP01S上电IO抖动问题处理

问题描述

ESP-01(S) 引脚定义

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

参考光耦电路

电路原理

修改esp01s继电器控制脚位为GPIO0或GPIO2后即可正常控制!

开始使用的是 fullhaaboot.bin 方式接入,参考esp01s接入HomeKit,用Siri控制你的灯 这个方式虽然也成功,但是配对过程中需要连接github,因为没有魔法所以很慢,还经常失败,所以就给放弃了。

后来参考这位大佬文章ESP8266控制继电器(支持HOMEKIT) 连接至HomeKit,正常添加正常控制。

到这里控制什么都正常了,但有个问题,就是上电过程中有IO抖动,也就是高低电平翻转,这就导致一上电就听到继电器滴答几次开合,有研究过源码程序,屏蔽掉相关脚位还是一样,哪怕在初始化前退出也如此,猜测可能是硬件翻转或者在很前端动作这两个IO口,因此最后还是放弃折腾这个思路!

最终选择搭GPIO4引脚来使用,就很稳了!

上电IO抖动处理

网上大家常用解决方案

  • 方案一:查找问题原因,重新编译固件。(这个自己尝试过,失败)

  • 方案二:在GPIO口直接接电解电容来消除上电抖动。(感觉麻烦就没尝试)

  • 方案三:使用硬件实现上电时的消抖,即在上电时的500ms内保证继电器的初级一直是开路状态,此时即使GPIO口抖动,继电器也不会动作。另外四个GPIO口公用一套消抖电路,大大减少了电路元件的数量。(也感觉麻烦也没做)

自己的方法

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

ESP8266EX Datasheet

引脚定义 Pin Definitions Figure 2-1 shows the pin layout for 32-pin QFN package.

从图中可以看出来是第16脚,引线出来就行。

脚位定义说明

引线连接方式

至此,上电IO抖动问题就算完美解决了!

GPIO0跟GPIO2无法直驱三极管问题

找不到根本原因,但更换了GPIO4以后就自己解决了。 可能是这两个脚位复用或者驱动电流不够的原因吧!

待机功耗过高

问题

刚开始是自己搭的电路,在关闭继电器时待机功耗为 1.37W,吸合继电器时待机功耗为 1.86W。这个待机功耗还是挺高,毕竟都接近2W功耗,对于24H通电的机器来说一年功耗还挺高。

后边拿手头参考替换,发现使用BP2525电源芯片方式比较合适。

型号空载关继电器开继电器备注
天猫蓝牙通断器0.2W0.244W0.509W
小米WIFI插座-0.88W1.36W
国际电工433遥控-0.65W0.68W
易微联WIFI通断器-0.4W1.1W
小米电源插头-0.825W-
个人旧版本ESP01S-1.37W1.86W
整改后-0.58W1.26W

解决

通过这数据对比,发现基本都在1W以下,最终更改还没打板回来,手动搭电路测试。效果还算满意。

总结

到这里算是解决了ESP01S问题!结果也还算满意。这样的初衷是连接到HomeKit或者homeassistant里面。 到这里算是都解决。动手能力还行的小伙伴也可以试试,其实也就飞线一下。

软件的话就需要搭建环境,不过网上已经有很多教程,根据发现的问题慢慢处理就行。

实在不想动手可以有偿让人帮弄改一下。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/163486
推荐阅读
相关标签
  

闽ICP备14008679号