目录:
[0.总体介绍](#0)
[1.基本原理](#1)
2.添加功能
3.工程进度
4.功耗计算
5.实物制作
6.步骤总结(教程)
7.元器件购买
8.最后说明
番外:常见错误
(立创暂不支持页内跳转,以上超链接没用,只能当个目录看)
0.总体介绍
训练营的训练目的如下:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
学习电路设计,学习单片机嵌入式,学习物联网; 通过项目实战,带领学员了解物联网的联网、通信、控制过程; 你将得到一次从项目全局思考问题的锻炼,学会一种接入阿里云IOT的实操方法,获得一个存量设备改造物联网设备的经典套路。
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
本工程是一款物联继电器,主控可220V供电/5V供电;
可控制30V/90W以内的直流电器或600W以内的交流电器,并带有温度测量功能;
全球物联,不论你在哪,你都可以使用你的手机控制继电器的通断。
8月18日,修改了app界面,
下附详细教程,看完照着做肯定能复现。
教程在【6.步骤总结】
1.基本原理
以STM15W4K56S4为主控,控制EMW3080WiFi模块接入阿里云,从而与智能设备(手机、智能音箱等)进行通信,进而控制继电器实现一个智能物联网设备。
2.添加功能
增加了工业级ACDC转换器,并且按照ACDC模块的手册进行了EMC设计。
可以直接采用220V交流供电输出5V600mA,供给物联插座控制板使用。
不必购买额外供电设备。
3.工程进度
\*\*0809初版PCBv1: \*\*
\-\-\-\-错误\-\-\-\-
按键放在了板子中间,不好按;
电源线没过滤波电容直接连接了负载,滤波电容不起作用;
继电器部分交流走线过近,弱点强电走线距离过近,未加槽孔;
\-\-\-\-修正\-\-\-\-
修改了按键位置,放在板子边缘;
胡乱添加了槽孔;
(由于没理解滤波电容不起作用的原因,没有修改滤波电容的错误);
**0810小改PCBv2:**
\-\-\-\-修正\-\-\-\-
强电与强电、强电与弱电之间注意**安全距离**(尽量3mm,低于2mm的考虑挖槽,但要考虑PCB强度问题);
**挖槽宽度为1mm**,可以在顶层布1mm线之后右键转为槽孔。
简单修改了少数滤波电容的位置;
**0811大改PCBv3:**
\-\-\-\-错误\-\-\-\-
多数滤波电容摆放位置杂乱,无法进行微调,需要大改;
\-\-\-\-修正\-\-\-\-
参考周公的布线示例,修改了所有元件的布局,重新进行了PCB Layout。
电源进入PCB版后要**先经过滤波电容**,进行**滤波后在给器件供电**。在物理位置上面,电源线一定要先过电容再到器件;如果是先连接了器件之后再连接电容,电容是不会起到太大作用的。
LDO和单片机的供电同样要注意前面所说的,先过电容再供电。
(下图是LDO的输入供电)
(下图是单片机的供电,H键高亮网络)
![image.png](http://image.lceda.cn/pullimage/0AKtlW7bEVnXf9JW1X6TlvkNi5ijkXpbeqlWgATD.png)
USB线短距离走线可以不用等长。
铺铜时添加了地孔,增加接地的可靠性,同时必要的位置多添加几个地孔(过孔)。
**0811PCB打样、元器件下单:**
这款PCB被审核为拼版,打板费40元,优惠券20,邮费14,共计花了34元。
在此提醒各位小伙伴们不要拼版。下面放上立创周工的话。
![image.png](http://image.lceda.cn/pullimage/A8vROoqFQjSplHJZ20obsZ5rojkVCl4fvuw2SHgX.png)
我在画板的时候是先在立创商城选好元器件,然后按照料号放置器件的,所以在BOM配单的时候没有遇到什么问题,顺利下单。
希望小伙伴们不要直接把元件库的电阻封装拖过来用,不然配单的时候会很难受(除非你不配单)。
100元的满减券刚刚好,多谢立创。
![image.png](http://image.lceda.cn/pullimage/8346rfh2itugYvCSHKSVRkBo7kBPQ9FjPPePwOlU.png)
因为16号要返校。今天就是11号了,东西不好带,所以把收货地址填到学校去了,焊接调试的工作就等到16号返校之后再进行。
4.功耗计算
* **STC15W4K56S4**的功耗参考图1手册的数值,最大约10mA*3V3=33mW
* **EMW3080**的功耗参考图2手册中典型应用的功耗,最大约400mA*3V3=1.32W
* 继电器**HK4100F-DC5V-SHG**的功耗参考图3手册中给出的功耗,最大约0.5W
220V供电输出参数为5V/600mA/3W(峰值4.5W),输出功率大于以上的功率总和2W,足够本项目使用。
(器件的功耗一般都在“电气特性”目录下,特此提醒一下不懂查功耗的小白)
(具体的参数我就也看不太懂了,只能凭感觉来,上面读到的数据不知道是不是我所想要的,希望大佬指点)
图1(下图)
图2(下图)
![image.png](http://image.lceda.cn/pullimage/gUSM9W9GPKs9BFQBWHSAIAYGYATMRjNFLoHrUlDd.png)
图3(下图)
![image.png](http://image.lceda.cn/pullimage/2aM2rhqdnXJ7Qd9Z3DkOYFfKjVU5Q5iL96k8huwr.png)
5.实物制作
8月16日返校,在保安的重重防疫阻挠下取到了PCB板和元器件。回寝室进行了焊接,这是第一次使用锡膏和加热板进行焊接。
由于寝室限电,在使用下图所示的加热板时,宿舍停电,差点受处分。
回到正题,首次焊接完成的PCB,其51最小系统部分十分正常,然后对EMW3080进行了固件更新(如何更新固件?[https://www.yuque.com/lingyao/jing/isdnec](https://www.yuque.com/lingyao/jing/isdnec))。但是在晚上23点测试发现51的串口2的TX与RX(与EMW3080进行通信的串口)有短路现象,尝试补焊了无数次,都没有修正这个错误,于是又焊了第二块板子(下图上面的是新焊的),一夜没睡。
**8月17日凌晨4点,在焊第二块的时候其实没啥大问题,没用锡膏,用的是烙铁加焊锡丝,但是被小小的usb接口大大坑了一把。【*我上锡太多了,锡进入了usb接头的内部,导致数据线无法插入】*,继而无法进行串口下载程序。这个错误十分致命,我手上的元件只够焊两板,若无法解决,就相当于丧失了优秀学员的评比资格。**
**microusb接口难以拆除,我费了九牛二虎之力拿着被烤红的烙铁头把micro USB接头拆了下来,但这也对印制线路产生了一些破坏,所幸TX、RX线还在,哆嗦着手又多次重新接上micro USB头,终于成功接好。最后加上外部供电(注意共地),第二块板子才算成功复活,可以正常下载程序,下载了宋工提供的程序(通用)。**
**一夜未眠,太疲惫了。小憩一会儿再配网,还不太清楚原理。**
**8月17日早上6点30,找到从哪里配网了,原来是这里,下图的二维码第一次扫会下载app,然后再在发现设备里的扫一扫再扫一次,会提示你输入你所连接的WiFi的密码。**
**8月17日12:11,PCB上电后,通过串口按如下格式发送三元组信息,可得到{"CMD":"OK"},说明写入成功。**
**再通过串口发送**{"CMD":"Read"}**,可得到已写入的三元组信息,可进行检查是否正确。**
8月17日晚20点,听了宋工的讲解,发现这里要设置为一键配网,如下图,修改后,参考[直播课的演示](https://www.bilibili.com/video/BV1na4y1J7MC),即可正常配置此设备连接阿里云[生活物联网平台](https://living.aliyun.com/)。
**配置好后,测试继电器通断的控制,发现继电器没有反应,依次测试51引脚输出电压,反相器和继电器驱动器的各引脚连接情况,发现是驱动器接地引脚虚焊(下图),补焊之后,继电器控制功能回复正常。**
至此,实物制作告一段落。
6.步骤总结(教程)
**第一步**
- [生活物联网平台](https://living.aliyun.com/)
- 注册登陆后创建新项目
- 创建新产品(新建产品填写信息如图1)
- 删除原有功能(图2)
- 添加自定义功能(图3)
- 下一步进入人机交互设置
图1如下
![image.png](http://image.lceda.cn/pullimage/PxJ19LSnzh4RXK9xWbvI8G3VE9YQBKBHMhZz5Y3F.png)
![image.png](http://image.lceda.cn/pullimage/VvlSPsWTIOj4XYHZRwjfUI3Olo92Jr0Khq9YPFNU.png)
图2如下
![image.png](http://image.lceda.cn/pullimage/WUDVYEr3uzvB4EH1YvBKvypdONSXFrTIObvQ8l1J.png)
图3如下
![image.png](http://image.lceda.cn/pullimage/PFHU7n9cg2VQP18oQuvELemf6pj9vBB6owGkWIXW.png)
下图是创建好自定义功能后的功能列表,
![image.png](http://image.lceda.cn/pullimage/zFvTL112JY98xjAZinDVF1QA5mq9oOgmx9yPDc6x.png)
**第二步**
- 人机交互设置
- 选择使用公版APP控制产品(图4.1,图4.2)
- 逐项填写并保存必填项
- 进入设备调试阶段(第三步)
注意1,设备面板可进行自定义设计,是傻瓜拖拽式的,大家自己尝试。
注意2,填写配网引导时,应选择自定义配网,选择一键配网(图5)
图4.1如下,
![image.png](http://image.lceda.cn/pullimage/pAmy8whAMSBlaALQCfYr1dHR9zPngTrHXJzcnje7.png)
图4.2如下,
![image.png](http://image.lceda.cn/pullimage/uslYrql7KNriIm8iot615mUkdD93HOk9yEpM1TXT.png)
图5.1如下,
![image.png](http://image.lceda.cn/pullimage/Xj86NYv5NhmbVbfddN2NzYJ2CpEgGhnD7JETR1l6.png)
图5.2如下,这里的“2”点击之后直接点保存即可。
![image.png](http://image.lceda.cn/pullimage/gXUb7injcppukSMYlcoLjGRIsPYXoKqzMqcILeoU.png)
**第三步**
- 芯片选择EMW3080(图6)
- 确定后新增测试设备(图6.2)
- devicename不填直接确定
- 记录下这里设备证书的的3个信息和产品密码(图6.3)
图6.1如下
![image.png](http://image.lceda.cn/pullimage/TL6TNYoWFYQtuBCHUpXSxwyW9OGzfrZ4ipJ3B4sm.png)
图6.2如下
![image.png](http://image.lceda.cn/pullimage/CmcXNsEES8tihQdFuoowzhXhzSLLqMvo3C6MOCKn.png)
图6.3如下
![image.png](http://image.lceda.cn/pullimage/EngUxt1eCBRXFQEooV7DKPv8i6ElPnbOxarwEcwy.png)
- - -
平台部分设置完成,下面介绍嵌入式部分。
这里默认你已经焊好板子,硬件没问题。
先对EMW3080进行固件更新,固件在附件有,刷固件的步骤参考后面连接(如何更新固件?[https://www.yuque.com/lingyao/jing/isdnec](https://www.yuque.com/lingyao/jing/isdnec)
)
首先给51单片机下载程序,程序在附件【STC15W4K\_阿里云物联继电器\_宋工代码】。
注意下载器的配置,注意点如下图,
![image.png](http://image.lceda.cn/pullimage/Hu29aGyGKLthgwnhlOo09t3HMDpCBHePgIG7CiMW.png)
下载好后通过串口连接单片机,通过串口助手(波特率115200)按如下格式发送刚刚记下的信息,此操作只能进行一次,若要进行第二次,可重新下载宋工程序,下载时勾选图7所示选项。
> {
> "CMD":"Write",
> "ProductKey":"a1FJkYjvol1",
> "DeviceSecret":"bdc0f8db84bb3b2e18f302a7035b2084",
> "DeviceName":"4cDKZBRVV6pkZWiPs2S3",
> "ProductSecret":"7eMpbHjKjkd2oHiq"
> }//到此为止,不包括此注释,没有换行
图7
![image.png](http://image.lceda.cn/pullimage/AoDNThJm0c6f4jSVjnIL9AeIB2LvGskWjIOESfTG.png)
串口发送操作的部分截图,如下
**![image.png](http://image.lceda.cn/pullimage/QWbjo133T00OeZKEKDlx2LaT63eDaAUHbggMJyn7.png)**
发送后会得到单片机返回的\*\*\{"CMD":"OK"\}。
再通过串口发送{"CMD":"Read"},可得到已写入的三元组信息(下图),可进行检查是否正确。
**![image.png](http://image.lceda.cn/pullimage/xpF0XbCsbaIcCaviUj55KlGR6zN5ar04OZBw3iV7.png)**
**以上操作正确完成后,即可进行配网。**
**【配网操作】如下:**
**让你旁边的朋友给你开一个热点(最好是2.4GHz的),你用手机连接,之后去**[生活物联网平台](https://living.aliyun.com/)**,在之前的人机交互设置处-产品展示页得到下图所示二维码。手机第一次扫码会下载APP(可以不用你朋友的热点下载,用自己流量下载完之后再连回朋友热点),安装好APP后,点击APP首页右上角的加号,再点击右上角的扫码图标,扫描之前你取得的二维码(不会有人扫我的吧不会吧不会吧)。**
**![image.png](http://image.lceda.cn/pullimage/7QXdXdTEGEIlnoEwuUpAN4GsLPOYDFiHo1HdD9ko.png)**
**之后长按PCB板上的程序按键至三个LED快速闪烁。**
**之后手机端则输入Wifi密码,选中“我已完成以上操作”,开始连接,等待片刻即可连接成功,PCB上的LED,3灯慢闪、1灯快闪,表示连接正常。**
**此时可以通过手机控制PCB上的继电器,同时PCB上的程序按钮短按也可控制继电器,手机端同步显示继电器通断状态。**
**手机端可离开WiFi热点区域,只要有网(数据连接或者其它Wifi或者其它任何联网方式)即可控制PCB继电器;而继电器需保持在原Wifi的范围内才可受到控制,继电器离开Wifi区域后再返回,会自动重连,无需用户操作,重连后即可恢复受控。**
以上就是本项目的全过程。
若要更换控制继电器的手机,长按PCB的程序按键至三个LED快速闪烁,重复前面的【配网操作】即可。
7.元器件购买
这里列出BOM表里立创买不到或者太贵的东西,需要的话直接点链接。
其它的通过BOM表一键下单,精准匹配,没错的,我放置元件都是按料号放的(除了保险丝座)。
① STC15W4K56S4-30I-LQFP48 ( STC15W4K56S4 贴片48脚 ):[淘宝网](https://www.taobao.com/)-[芯龙信电子](https://xlxdz.taobao.com/index.htm?spm=2013.1.w5002-2147021110.2.7c8b68ed8SLS4p)-[全新原装STC15W4K56S4-30I-LQFP48 单片机 STC15W4K56S4 贴片48脚](https://item.taobao.com/item.htm?spm=a1z09.2.0.0.379b2e8dbj62fH&id=534671139523&_u=i3nhjbke2be0);
② [220V转5V开关电源模块 5V/700mA](https://detail.tmall.com/item.htm?id=612677355505&spm=a1z09.2.0.0.379b2e8dbj62fH&_u=i3nhjbke59b3&skuId=4483169111365);
③ 庆科阿里云IOT-[EMW3080v2-P\(板载天线\)](https://detail.tmall.com/item.htm?id=612677355505&spm=a1z09.2.0.0.379b2e8dbj62fH&_u=i3nhjbke59b3&skuId=4483169111365),前面连接是零妖推荐的,我买的是[这个12块钱的](https://detail.tmall.com/item.htm?id=586253550983&spm=a1z09.2.0.0.379b2e8dbj62fH&_u=i3nhjbkea81d)。12块钱的需要自己刷固件,附件里有【EMW3080配套固件.zip】,零妖的语雀有写[EMW3080刷固件的教程](https://www.yuque.com/lingyao/jing/isdnec);
8.最后说明
本工程的两块PCB(主控板和ACDC)都已经过**实物测试**,可以**正常工作**。
程序功能包括**物联网开关**功能和**温度测量上报**功能都已实现。
附1:常见错误
1.串口不断返回ERROR,这可能是由于EMW3080的固件版本不对,请按照本文【7.元器件购买】中③的说明。重新刷写固件。
![image.png](http://image.lceda.cn/pullimage/CsUApS5iMXEd6HL3nKiegWaAI1p5WI5k4m8M01cZ.png)
附2:器件选型
- ### **主控**:【**STC15W4K56S4**】
- ROM 56KB,RAM 4KB,供电3.3V。简单易用,省去晶振,ROM、RAM空间够用,还可以使用IAP命令擦写内部Flash(省去外加EEPORM);
- (ROM = 56KB > code = 14372 byte ≈ 14KB)
- (RAM = 4KB > data + xdata = 9.2 + 1674 byte ≈ 2KB)
- ![image-20200823210940644](https://gitee.com/buddismblingblinghead/MxyPic/raw/master/img/image-20200823210940644.png)
- ### **USB转串口**:【**CH340E**】
- 优点体积小,缺点不好焊。
- ### **继电器**:【**HK4100F-DC5V-SHG**】
- 淘宝常见的蓝色继电器是松乐的【**SRD-05VDC-SL-C**】型号,交流功率2500W,直流功率300W;
- 本项目使用的是汇科的【**HK4100F-DC5V-SHG**】型号,交流功率750W,直流功率90W;
- 控制电压均为5V,后者体积更小,功率够用,所以选用后者;
- ### **继电器驱动**:【**NUD3105LT1G**】
- 安森美生产的【**NUD3105LT1G**】,高可靠性,简单易用,电路比传统的三极管驱动要简单。
- 【**05**】表示耐压值,本驱动可使用以下芯片代替
- 【**NUD3112LT1G**】
- 【**NUD3124LT1G**】
- 【**NUD3160LT1G**】
- ### **单路反相器**:【**SN74LVC1G04DBVR**】
- STC的单片机上电时,引脚会输出短暂的高电平,随后才会变为用户设定的电平;
- 为了保证继电器(其本身是高电平开启)的可靠复位,防止上电时误开启继电器;
- 增加反相器,采用单片机输出高电平(反相后为低)关断继电器,低电平(反相后为高)开启继电器的设定。
- ### **稳压芯片**:【**AMS1117-3.3**】和【**ME6215C33M5G**】
- 使用了两片稳压,分别是【**AMS1117-3.3**】和【**ME6215C33M5G**】;
- 【**AMS1117-3.3**】供电电流达1A>400mA,给耗电较大的WiFi模组供电;
- 【**ME6215C33M5G】**供电电流达350mA>10mA,给耗电较少的主控部分供电,同时带有使能端,可以连接按钮对MCU进行掉电复位;
- ### **WiFi模组**:【**EMW3080V2P**】
- 选择庆科生产的【**EMW3080V2P**】型号模组;
- 自带MiCO-AT透传固件,用户可以方便快速地为嵌入式设备增加无线通信功能,大大缩短开发周期;
- 本项目使用的固件在附件,买来最好刷一下固件再用;
- ### **温度传感**:【**DS18B20**】
- 【**DS18B20**】温度传感器,是常用的温度传感器,实现测温功能。
- - -
最后写一句,宋工给的代码真的好,要好好学习一下。