
【训练营_进阶班】物联网电风扇
简介
基于EMW3080模块高级物联网电风扇
简介:基于EMW3080模块高级物联网电风扇开源协议
:GPL 3.0
描述
1.1 前言
大家好,我是雷超林,我的B站名字叫小雷DIY,同时我是立创EDA的官方校园讲师,有丰富的教学经验,这次我来分享一下这次进阶班我完成的情况以及我的思路,希望能帮助到一些基础薄弱的同学,分享也是一种快乐!如果我有讲的不对的地方,欢迎大家指点,鄙人不胜感激!
1.2 设计思考
一开始我还是想做之前那个项目(物联网摩托车),但是如果用之前自己熟悉的项目来滥竽充数那根本不用来参加进阶班了,我们到这里是过来学习的,首先态度要端正,无论你项目做的好不好,肯定这次要跟着宋工来,一步一个脚印。有些同学看到这里肯定觉得我废话有点多,哈哈,宋工首先的产品理念就是根据市场在走,以我在公司研发的经验,首先就是要确保产品的竞争力,在成本、销量等等方面,你能想到的东西人家肯定想到了。跟着宋工的产品思维能为以后工作打好基础。
于是我开始思考:我在房间的时候,有时候为了省电,开一段时间空调之后就关闭,然后通过电风扇来达到舒适又省电的效果,我能不能通过物联网和单片机来为这一系列的操作更加便捷?在宋工的方案中是通过继电器来控制家电,但是我空调有遥控器啊,继电器反而多此一举。但是我同时在思考,我的风扇可以安装继电器啊,于是我茅塞顿开,经过一系列的分析我决定做物联网电风扇。
1.3 产品思维
我电风扇是和空调放在同一个房间,我可以通过手机来控制电风扇,然后电风扇来控制空调,怎么控制呢?空调不就是用遥控器嘛,我可以为电风扇增加红外模块控制空调,同时增加温度传感器,智能的控制空调和风扇的运行状态,大大降低了人体劳动成本。
还有一个问题,物联网模块是嵌入到电风扇内部,那我有没有办法让他可以二次开发,拿到其他地方呢?这个时候工作经验帮了我大忙。我司的多路锂电池充电电路板是多个DCDC模块插在电路板上,俗称小板,这样不仅能方便维修还能让产品二次开发,我不用了就把物联网模块拔出来。解决了这一大难题。下图就是我司用的接口。
**此图为我司DC-DC模块,每个都可以单独更换**
1.4 开始设计
首先我们要搞懂宋工那个原理图,然后通过自己的方法改造,我一开始打算用普通的51,结果发现温度传感器需要ADC模块,单独买一个又划不来,于是采用STC15w4k56s4,温度传感器采用MCP9700AT-E/TT,这个非常便宜,同时质量很好,物联网模块采用EMW3080,继电器模块我设计的是5路,结果发现5路PCB宽度已经超过10cm*10cm,于是改用4路,有同学肯定想问我用这么多干嘛,首先就是风扇有3个档位,就会用到三个继电器,其次是以前立创送了我10个12V HK4100F-DC12V-SHG,不用白不用。
串口通信模块采用CH340C,不要问为什么不用CH340E,我的回答是CH340E不好焊而且贵。供电模块采用7805经典又烫手)为单片机供电以及AMS117-3.3为WiFi模块供电。这里值得一提的是,通过查阅资料,单片机在3-5.5V都能工作,但是物联网模块只能3.3V供电,这就是为什么我用 7805在扩展方面我增加了红外发射、红外接收、蜂鸣器、温度传感器的及预留了物联网模块和单片机的串口通信接口,为后续开发做准备
PS:大家在规划硬件的型号一定要经过对比,这样能使后续工程更顺利,比如我一开始选择接线端子,在PCB上的体积非常大,我在原理图中看不到就忽视了一大错误!经过反复对比,我找到一个又小又便宜的端子
2.1模块分析
继电器模块
我们看到是一个4路继电器,采用NPN三极管控制继电器的开启和关闭。同时增加74LS04反相器,通过查阅资料电压为5V,然后D2-D5为ss34二极管,作为续流作用。继电器用了NO和NC,也就是常开、常闭。R6-R9为下拉电阻。PS:宋工的驱动太贵了,我开始用PNP三极管,结果发现继电器电压12v,单片机5v,无论如何三极管都是导通的,于是只能采用NPN,因为单片机初始状态为高电平(上拉电阻),所要以加一个反相器,为了控制可靠性,我加了一个排阻 10K欧姆,这样让反相器输出低电平
通信模块
采用CH340C,F1为自恢复保险丝(电流800ma)为后面模块做供电保证,同时我接了一个排针,可以让后面电路断电,在PCB上要标记出来,在正常状态应该是插了跳线帽,串口则用了330欧姆的电阻起保护作用
外设
一个温度传感器(MCP9700AT-E/TT),一个蜂鸣器(PNP控制),一个红外发射管,一个IRM-56384红外接收,发射管用来控制空调,接收管用来匹配空调遥控器。
单片机模块
单片机P4.0-P4.7接口我全部引出做为扩展,同时把单片机和物联网模块的串口通信一起引出,用来烧录固件,我们做硬件也要增加扩展性,这样可以适应产品的更新换代,为产品扩展功能
2.2 PCB布线
PCB布线注意继电器下面不能覆铜,以及继电器的走线至少50mil,在这里推荐大家用立创的PCb尺子,上面有详细的贴片元件大小,如0805、0606、1812等等,以及走线大小,工艺采用沉金,后面我会在B站上同步更新,让大家一睹为快
小板的布置我非常谨慎,因为一旦接口对应的电路接反就会带来严重的电气事故,同时我修改了原主板接口的电气定义,让走线更加便捷,同时提高安全性!
因为接口顺序不一样,所以我在电路板上标记出排母应该安装在电路板反面
2.3发现问题
经过反复的检查,我发现以下问题,第一是PCB接口处的走线,我们可以看到排针相邻两个为一组,但是布线的时候不能走中间,于是我在想能不能让每一对排针为一组,于是我对原理图进行了修改
原PCB走线
这个是原继电器与小板连接接口
这个是我修改之后的接口,这样修改之后PCB走线更加方便安全!!
同时我对于小板与主板中间的连接进行了修改和比较,主要是比较两个接口插上去之后电气定义是否正常,这个是我们务必要注意的!!
09
这些都是细节,我们务必要注意,否则后面会很麻烦,尤其是已经打板之后
其实通过洞查其他同学的方案,有一部分同学将继电器和主板分离,单独成板,其实我一开始我准备这样,都是这样的开发成本就会高很多,还不如直接拿单片机和通信模块做成一块单独的。因为我手上暂时用不到,之后我肯定会单独设计板,让通信模块可以在ESP8266和EMW3080之间切换。还有就是两块板之间用单排不好对接,建议用我这种专业对接排针
到8月10号,我已经设计好4块不同PCB,之后就准备开始焊接,我不打算用SMT,因为这样优惠券不好用,我买的都是1206封装的电阻和电容,之后我会买一些0805的电阻和电容,这里告诉同学们需要准备哪些。
电阻0R、330R、1K、4.7K、10K。电容 22PF 100nF/10V 1uF/50V 22uF/36V 100uf/16V 尽量选择体积小的 家里一定要多备一点
现在是8月11号上午,经过昨天晚上的学习,我总结了一下几点
1、220v走线间隔要足够宽
2、电容要靠近芯片供电端
3、可以减少不必要的接口
根据这三条经验,我准备先修改继电器接口准备2个排针输出,同时要有间隔,然后再修改电容,把电容更靠近走线,最后再把多余的扩展接口去掉,但是我们值得注意的是必须留下RXD和TXD,因为这样方便我们烧录固件,而烧录不了我们前面做的就白费了
今天下午要去客户家维修手机,所以下午暂时没有时间修改,我准备上午先把视频做出来,可以先把思路理清
下面我接着说中午经过唐佐斌-371541A兄弟的指导,我已经将PCB的继电器走线重新走了一次,将继电器的驱动电路远离继电器的强电部分,同时修改了电源供电部分,提高了电源的利用率,这里非常感谢唐斌-371541A的支持!! 下面是修改过后的PCB继电器走线  这里我要说一下,PCB布线尽量不要直角,避免尖端效应,在接线端,我增加了槽孔,进一步提高安全性 同时在单片机的扩展上,我减少了io输出,使得走线更加美观,我之后会添加一些图案元素
经过修改,我先是将原来的排针改成三路单独的,然后把供电的走线全部加粗,比第一代的好多了
这个是我修改过后的电源走线,因为单片机和EMW3080模块启动瞬间需要大电流,我保险丝是设置到1A,我在走线上实心填充,加宽了5V的供电
这个是我修改之后的继电器模块,因为之前用一排排针,强电之间没有隔离,为了安全考虑,我在立创商城上找到了10P的排针,我为什么不用6P的呢,因为我整个模块电源要在排针上得到,如果太挤就不好,同时我在强电之间加了开槽,提高了安全性。强电弱电之间得到了很好的隔离
这是修改之后的扩展模块,因为之前在原理图上是选择P2.0-P2.7这种按照顺序的,现在我选择按照引脚电气排序,这样的话可以容易引出并布线规整!我们布好后一定要标记出是P几点几的口,我这里选择的是10p接口!
写到这里,基本的电路已经完全布好和修改完毕,接下来就是焊接,我会以视频的形式演示
**视频已经同步上传哔哩哔哩,链接 **https://www.bilibili.com/video/BV1ba4y1J7dy
欢迎大家观看和评论

**上图为二弟帮我焊接1206的贴片LED** **我之所以选择1206的,不仅仅是因为好焊,而且是亮度足够**

上图为我二弟帮我修改库文件,我们大家不懂的可以提前查阅数据手册,里面都有说明的
焊接完毕了,那么现在烧录程序的时候了,
我要感谢之前在翻零妖的文档发现了他有一个介绍基于51接入阿里云的教程
我原理图就是根据上面的进行修改,我所购买的是不带固件的版本,在这里我直接刷入了阿里飞燕的固件。
同时要对单片机进行操作,我就不重点介绍如果去写入程序,这里妖零的资料非常齐全,欢迎大家参考
零妖的个人网站https://www.yuque.com/lingyao,我就是参考里面的文件,大家可以学习学习
刷入固件的时候我选择的是EMW3080的第二个通信口也就是RXD1和TXD1,结果出现无论我boot电平如何,就是无法刷机,在经过我一系列操作和查资料,我知道了只能用第一个通信口刷机也就是RXD0和TXD0,这里也是我们需要注意的地方
这个是刷固件之前的信息
同时我还要去接收空调遥控器的红外码,这里我选择了用arduion直接去读取,然后重新编译到单片机上面,红外发射信号,我后续会完善更多功能,比如控制电视等等,大家也可以为自己的模块增加功能
经过一天的调试,我的手机已经可以去控制继电器了,而且已经接入了阿里云接入阿里云的方法很简单,就是写入三元组,之后再进行与路由器之间的配对,这里我就不重点介绍,因为我是参考零妖的教程,我会把链接放过来零妖的个人网站https://www.yuque.com/lingyao
上面为红外代码,我们可以用它来控制空调
接下来就是拆解风扇,把风扇内部改造一下
我同时会拍摄视频上传!
拆解电风扇
安装电源模块,测量最大档位电流,发现只有0.14a,我非常满意,这样继电器可以完美的工作了,这里不建议大家使用大电流
通电测试
**截止8月16号,我的全部工程已经完成,功能已经进行测试,在这一次暑假训练营中,真的学到了很多,在这里感谢立创支持。视频已经同步上传哔哩哔哩,链接 ****https://www.bilibili.com/video/BV1ba4y1J7dy
欢迎大家观看和评论
**最后我再总结一下,我测试了电风扇的电流,只有0.17a,用继电器完全够用,铜宽也刚刚合适,如果你使用的是大电流,建议增加参数,提高带负载能力,在PCB布线时也要考虑高速信号,还有就是最好是先看一下外壳再做打算,因为外壳限制了电路板的尺寸。我们可以在每次调试中吸取经验,失败不可怕,勇于尝试,去不断改进,这一次的PCB我改了10多次,认真听取了多方面意见,** **1、220v走线间隔要足够宽** **2、电容要靠近芯片供电端** **3、可以减少不必要的接口** **4、认真查阅资料,自己动手写代码** **5、耐心调试,不懂就问,敏而好学,不耻下问** **6、思考人家电路是怎么实现功能的,如何去改进自己的电路** **7、日积月累,好好利用实践中学到的经验之谈**
在这里感谢前公司同事陈家泉的提供的意见,感谢摄像师雷嘉伟,感谢各位提供帮助的朋友们,知来者之可追,实迷途其未远!让我们共同进步!
顺便爆一下照,感兴趣的兄弟可以帮忙介绍介绍
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | EMW3080B_MK | U11 | EMW3080_MK | 1 |
2 | ASMD1206-100 | F1,F2 | F1206 | 2 |
3 | 7805 | U1 | TO-220-3_L10.0-W4.5-P2.54-L | 1 |
4 | STC15W4K56S4 | U8 | LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL | 1 |
5 | CH340C | U3 | SOP-16_L10.0-W3.9-P1.27-LS6.0-BL | 1 |

评论