打印
[开源硬件]

ESP8266 SDK开发入坑2 -- 触摸控制继电器-电路设计、硬件选型

[复制链接]
3115|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
straka|  楼主 | 2018-8-23 22:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 straka 于 2018-8-23 22:20 编辑

ESP8266 SDK开发入坑1(http://www.straka.cn/blog/starting-with-esp8266-light-a-led/)
1里面有最简单的demo,2里开始使用中断进行简单的控制吧,这回重点从代码转移出来,到电路部分,一直想自己打样PCB,不过不会,最近上B站看了些小视频学了些,就匆忙大了个样,不过。。。下一篇再说【逃】
我的想法就是做个能替换现有机械开关的wifi物联网开关(嗯,我没敢像市面上的开关那样就一个远程控制就敢说智能,家居要到智能的程度,还有很长的路要走,技术其实差不多都可以实现,但是至少离普通人家还很远),第一步先不管远控的事,先只实现触摸控制。
软件部分很简单,代码见下一篇【http://www.straka.cn/blog/starting-with-esp8266-touch-relay-code】,设置引脚中断,然后在中断里控制继电器引脚电平输出,再一个定时器,闪烁下灯简单判断工作状态(这个本是后续开发才用上的,但是好在这一步就顺便开启了,不然后面调试的时候有个坑迟迟跳不出来)。
硬件部分也不复杂,220AC-DC模块取电5v,然后接AMS1117转3.3v,5v用于控制继电器,3.3v ESP8266供电。GPIO引脚控制继电器采用光耦隔离+三极管放大电流驱动。触摸感应用的模块,没有设计电路板,毕竟和电路板不在一起,触摸感应芯片是TTP223,亲测5mm左右的感应距离,还是蛮好用的。
然后是选型,这个对于我这个业余来说是个很头疼的事情,又不能看着网上别人咋画电路图用啥元件我就用啥吧,本身电路就容易出bug,我这种业余的就更难应对了。先上原理图,先说电源部分

这部分选型参考的模块说明书,没啥好说的

然后是继电器驱动部分

这里要根据继电器、光耦、三极管的说明书上的特性曲线选型才能达到比较好的效果。
首先我们要从继电器的说明书看起,因为最终这部分电路要使得继电器部分能有足够大的驱动电流。
这里选SRD-5V的版本而言,线圈电阻70ohm左右,电流71.4mA,要驱动这么点电流,光耦肯定不合适,但也并不需要大功率三极管,S8050就够了,我买的S8050没有配到资料,也查不到厂家,但是通常的S8050的放大倍数100左右,带个至少100mA没问题,以长电的S8050,sot23封装为例(简标J3Y),

Ic为71mA左右,Hfe大概为110倍,那么Ibe大概要有大于0.65mA,如果按上述原理图,R23是为保证光耦断开的时候,三极管B极可靠接地,因而R23可以选择大一点,10k,减少电流消耗,那么根据下图:

当Ic为70mA,Vbe为0.6~0.7V之间,那么导通时的R23上的电流约0.07mA,R22上的电流约0.65+0.07~0.72mA,这些都是粗略的估算,不要太较真具体数值,数值范围合理就行(本身电路也充满了不确定性、元件参数的误差、实际使用环境的影响,不可能存在理想的选型,完美的电路设计,总是有浮动空间的),那么再看光耦的参数:

这个图是前向电流-电流转换率的图,那么当IF=1mA,转换率略大于0.5,那么输出电流才0.5*1~0.5mA,有点不太够,当IF=2mA,看图转换率>0.7,差不多够了,那么,如果我们按照这个边界条件选型的话:

根据上图,Vce压降约0.1~0.2V左右吧,可以忽略,那么R22<=(5-0.7)/0.72~5.97K,而根据下图:

前向压降大概1.1V,R21 <=(3.3-1.1)/2 ~ 1.1k
上述都是计算的电阻值边界,靠近边界的好处是使光耦和三极管接近饱和的情况下降低功耗,因为饱和情况下需求的前级电流才最小,当然在继电器应用场景下这么做有点杯水车薪,比较相比继电器几十毫安的电流,省下来的这么零点几毫安电流有点微不足道,倒是如果能换个磁保持继电器什么的,对于功耗的控制很有帮助,但是成本也就上去了。

最后看ESP8266部分,因为我用的是ESP8266-01S模块,电路板上留的是2*4 HDR母座,G2连接触摸模块信号引脚,G0控制光耦,RST复位电路。周边的元器件选型没啥说的,复位电路的常规上拉电阻R52和C52电容,CH_PD引脚上拉使能,C51的近芯片电源滤波。但是这里有个坑,R53,由于芯片上电进入工作状态需要保持G0、G2、CH_PD引脚都是高电平,问题出在G0上,G0通过R21与光耦相连,再加上10k的上拉电阻,其实上电状态G0是处于低电平的!如果高电平会使得光耦导通,所以导致芯片不能正常工作。这也给我后续调试埋了个大坑,始终不能正常工作,好在开启了LED灯,看到等没闪就知道去找为啥电路没有正常工作的原因。搞不懂乐鑫为啥要给芯片启动工作设置这么复杂的条件,居然要设定4个引脚的电平状态正确才能工作。

原博客
http://www.straka.cn/blog/starting-with-esp8266-touch-relay/

相关帖子

沙发
小小电子爱好者| | 2018-8-24 08:13 | 只看该作者
   好棒的

使用特权

评论回复
板凳
diy1997| | 2018-8-26 10:18 | 只看该作者
光藕没必要用。

使用特权

评论回复
地板
straka|  楼主 | 2018-8-26 13:57 | 只看该作者
diy1997 发表于 2018-8-26 10:18
光藕没必要用。

为何

使用特权

评论回复
5
diy1997| | 2018-8-26 20:20 | 只看该作者

光藕一般做隔离用,但看你电路又共地了不像用作隔离.

GPIO串个1K的电阻到三极管就可以了.

使用特权

评论回复
6
straka|  楼主 | 2018-8-26 23:32 | 只看该作者
本帖最后由 straka 于 2018-8-26 23:35 编辑
diy1997 发表于 2018-8-26 20:20
光藕一般做隔离用,但看你电路又共地了不像用作隔离.

GPIO串个1K的电阻到三极管就可以了. ...

这个,我之前在amor论坛上看大家也争论了蛮久,有的说是可以保护IO口,电平转换比双三极管可靠,还有说半隔离,或者抑制共模干扰,电磁兼容性好些。。。我还没完全弄清楚,反正多用了除了成本,至少没坏处

使用特权

评论回复
7
tlled| | 2018-8-29 11:27 | 只看该作者
straka 发表于 2018-8-26 23:32
这个,我之前在amor论坛上看大家也争论了蛮久,有的说是可以保护IO口,电平转换比双三极管可靠,还有说半 ...

一般家用,可以省掉光耦,直接使用三极管驱动就够啦。

使用特权

评论回复
8
Intel6| | 2018-9-3 12:18 | 只看该作者
向高手学习。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:一枚软件狗,欢迎访问我的博客: www.straka.cn

17

主题

46

帖子

2

粉丝