【自制开发板】基于ESP8266的AIOT开发板

6个月前

简介:该项目是一款基于ESP8266的物联网开发板,旨在实现智能开关、温湿度计,智能灯等功能。

开源协议: GPL 3.0

  • 1.8k
  • 1
  • 18

描述

本项目硬件部分完全采用立创EDA设计,嘉立创打板,立创商城采购物料,非常感谢立创EDA团队的支持,为国产EDA点赞,加油!!!!!

 

写在前面

2020年8月18日 项目版本说明

 

  • 本文档中的实物图和视频均使用V0.1版本的板子拍摄。
  • 本项目的原理图和PCB已更新到了V0.2的版本,修复了V0.1中的一些小BUG,增加了版本号。
  • 本文档的硬件电路部分的图片均采用V0.2版本的图纸。
  • 本文档的实物图使用的是V0.1版本的实物图。

图片展示

 

先来看几张立创EDA渲染的图片,紫色挺漂亮,可惜嘉立创不能打紫色的板

 

LCEDA 2D图片

LCEDA 3D图片

 

 

简介

 

  • 本项目是一款物联网开发板,支持Arduino开发环境。
  • 以ESP8266为主控,板载一路继电器、一路无源蜂鸣器、一路温湿度传感器,预留一路WS2812灯带接口、一路ADC采集接口和SPI接口。
  • 板载CH340,用于ESP8266的程序烧录和串口调试。
  • 开发板供电电源为5V,可使用MicroUSB 供电;预留DC接线柱,可独立供电。
  • 可实现智能开关、智能温湿度计、智能灯等功能。

 

硬件电路&器件选型

主控模块电路

本项目使用ESP8266 WIFI模块作为主控,型号为 安信可ESP-12S(商品编号:C82898)或者ESP12-F(商品编号:C82891),高性价比的WIFI SoC模组,资料丰富,可使用Arduino平台进行开发。(PS :之前安信可搞活动,买了好多ESP-12F,正好趁着这个机会用上它。

 

ESP8266最小系统电路

 

ESP8266上电期间各引脚状态(参考:esp8266上电引脚初始化状态问题

 

 

GPIO引脚 初始化状态 初始化状态

GPIO0

上拉 H
GPIO2 上拉 H
GPIO4 下拉 L
GPIO5 下拉 L
GPIO12 上拉 H
GPIO13 上拉 H
GPIO14 上拉 H
GPIO15 上拉 H
GPIO16 输出置高 H
     

 

在做V0.1版本电路的时候没有发现这个初始化状态的问题,直到板子焊好测试测试之后才发现这个端口上拉下拉的问题。

 

下载电路

 

作为一款开发板,需要板载一个USB转TTL 用于固件下载及程序调试,型号为CH340C(商品编号:C84681),国民良芯,结实耐用,价格便宜。(PS:刚好在立创商城有一张WCH(南京沁恒)品牌券)。ESP8266下载固件时启动模式需要切换为下载模式,这里用三极管搭一个自动下载电路,型号为 M8050(商品编号:C541705),手头有料。

 

 

电源模块电路

 

ESP8266供电电压3V~ 3.6V,供电电流 > 500mA,这里选用AMS1117-3V3为WIFI模组供电,为确保WIFI模块的稳定性,单独用一个AMS1117-3.3(商品编号:C347222)给其余外设供电。为避免电路电流倒灌,因此在电源输入处加了用于保护的肖特基二极管1N5819(商品编号: C402219)和SMBJ40CA(商品编号: C340689),LDO的输入和输出部分均放置了跳线电阻,便于对系统进行调试和排故,自恢复保险丝用于过流保护。

 

 

温湿度传感器电路

 

 

本项目温湿度传感器选用的是广州奥松电子的DHT11(商品编号:C117051)数字温湿度传感器。DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、超长的信号传输距离、数字信号输出、精确校准的优点。

 

 

WS2812接口电路

 

手头有一个WS2812的灯环,共24颗WS2812灯珠。买来放了好久了,这个项目正好可以用上,就是下图的这个,因此我这里就预留了一个排针的接口,便于用杜邦线进行连接。

 

 

有些灯珠只支持5V的电平信号控制,ESP8266的电平信号为3V3,需要一个电平转换电路,本项目用型号为WST3400S(商品编号:C105164)的NMOS管设计了一个双向电平转换电路。WS2812的控制可以用普通的GPIO口控制,也能使用SPI的MOSI口控制,因此这里留了两个控制端口,便于选择控制方式,用短路帽选择端口便可。

 

 

 

继电器电路

继电器这里选择 Y3U-SS-105LM(商品编号: C674571),这是一款线圈电压5V的常开型继电器PS:刚好在立创商城有一张元则继电器15元的品牌券)刚好合适,就是个头有点大。继电器驱动需要专门设计,为了可靠性选择了专用芯片 NUD3105LT1G(商品编号:C14894) ,此驱动电路为高电平触发。下拉电阻R15保证初始状态为低电平,确保系统上电时继电器不会吸合,避免误操作。因ESP8266的GPIO4端口初始化为低电平,因此下图的连接方式较合适的。

 

注:我这里实际使用的继电器型号是常开继电器,没有常闭触点,图纸上常开和常闭都有,图纸上这样设计只是为了方便兼容常开常闭的继电器。

 

 

下图是NUD3124的参考设计电路,外围电路非常简单


 

控制端口初始化为高电平的时候,上面的这个电路就显得不是很合适了,用以下这个电路较为合适,这个电路中用到了反相器SN74LVC1G04DBVR(商品编号:C434067)。

 

当MCU的GPIO初始化为高电平时,由于经过了反相器,信号为低电平,NUD3105不导通,继电器不吸合;当GPIO输出为低电平,经过反相器后为高电平,NUD3105导通,继电器吸合。

 

蜂鸣器电路

这是个常规的蜂鸣器驱动电路,可以选择有源或无源的蜂鸣器,本项目选择的是一款电磁式无源蜂鸣器,型号为YS-MBZ9042C03R16(商品编号: C409836),无源蜂鸣器可以控制发音的频率。

 

 

ADC电路

 

这部分电路主要用于ADC的采集,选用1%的电阻用于采样。引出一个排针,用于外接阻性器件。

这部分也是安信可官方ESP8266系列模组用户手册V1.3中给出的参考电路

 

PCB Layout

USB部分

 

USB数据线要走差分线,尽量不要有太多的拐弯

 

电源部分

 

电源线必须先经过电容,然后才能给芯片和模块等器件供电

 

 

 

天线部分

 

安信可官方ESP8266系列模组用户手册V1.3中有对天线摆放位置的说明。

 

天线的放置如下图所示,天线底部挖空,两边设置净空区,不铺铜

 

 

 

继电器部分

 

继电器部分不铺铜,走线要加粗,线路走BOT层,可以设置开窗,焊接时可堆锡,增加载流能力,避免强电部分爬电,在引脚之间设置开槽。

 

焊接调试

 

1、拍张照片留个纪念

 

2、先焊接电源部分,电源部分焊完后用万用表检查是否有短路,若无短路则上电测试,两颗电源指示灯都亮了说明电源部分正常

 

 

 

3、电源没问题,焊上CH340和电源部分的跳线电阻

 

 

4、焊好CH340后,连接电脑看看是否可以检测到CH340,电脑已识别CH340的设备,说明电路正常。

 

5、接下来焊接自动下载电路和ESP8266核心模块

 

6、连接电脑测试,程序可以正常烧录,ESP8266最小系统正常

 

7、焊接上其它器件,最终的板子如下图所示

 

8、开窗部分堆锡处理

 

注:此部分图片使用的是V0.1的版本,

开发环境

开发工具

 

开发环境:Arduino1.8.13 官网地址:https://www.arduino.cc/en/Main/Software

 

Arduino IDE安装完后,在安装根目录下 新建一个 名为 portable 的文件夹,如下图所示。

 

首次启动Arduino IDE 后,默认路径就会自动指向portable这个文件夹,否则就会在C盘建立一个Arduino15的文件夹用于保存板卡SDK文件。

 

首次自动Arduino IDE后,portable文件夹内就会自动加载一些配置文件,添加ESP8266的板卡支持

 

开发板管理器加载平台索引

 

 

配置文件夹内的文件如图所示

板卡支持包

 

SDK支持包:ESP8266 SDK 2.7.4 开源项目地址:https://github.com/esp8266/Arduino/releases/tag/2.7.4

 

 

推荐下载地址,这个是我这边整理好的文件,可直接使用 链接:https://pan.baidu.com/s/1plqgOPmJfFymJHCdbGuh7w 提取码:kf0e

在portable文件夹内新建一个 packages 文件夹,将下载的文件解压,如图所示

 

 

启动Aruino IDE 后,如下图所示,ESP8266 SDK就可以使用了.

 

软件包

DHT11软件包:DHT-sensor-library 项目地址:https://github.com/adafruit/DHT-sensor-library

推荐直接在库管理器进行安装,如下图所示

 


 

 

WS2812 软件包: Adafruit_NeoPixel 项目地址:https://github.com/adafruit/Adafruit_NeoPixel

 

推荐直接在库管理器进行安装,如下图所示

 

 

本项目使用点灯科技blinker物联网解决方案进行设备开发,需要使用Blinker Arduino SDK 下载地址:https://github.com/blinker-iot/blinker-library/archive/dev_3.0.zip

 

 

使用点灯APP进行控制

下载APP

 

下载地址:https://diandeng.tech/doc/app-download

 

 

界面设计

 

测试代码

 

代码见附件:AIOT_Test_demo.zip

 

项目进度

  • 2020/8/5至8/9 白天没什么空,晚上开夜车做项目,用了几个晚上的时间完成了原理图的设计和元件选型以及V0.1的的初始Layout版本设计,选用的继电器官方原理图符号和封装,自己手绘了一个(8/12 PS:连续几个晚上开夜车,状态不太好,这里给自己挖了个坑)
  • 2020/8/10日 调整V0.1的布局和Layout,采购了物料。
  • 2020/8/11 17:39:58 V0.1的板子放到嘉立创打样了。
  • 2020/8/11 21:00 绘制了继电器的3D模型,此时发现之前绘制的封装的引脚孔偏了点,孔小了写,导致3D模型不能完全适配该封装,只能用CAD工具重新绘制封装,导入封装库,并添加了常开常闭的丝印符号,故此有了V0.2版本的工程。
  • 2020/8/12 今天收到了采购的物料,验货的时候发现继电器有点奇怪,特意查了下数据手册。发现手册上的图纸是底视图,也就是说要把继电器底面朝向自己看,画封装需要镜像的绘制,故此在V0.1中继电器接线柱的丝印注释常开和常闭错误的,需要交换位置才可以,所以在V0.2中进行的修修改
  • 2020/8/12 发现原理图存在几处问题,修改原理图,同时修改PCB Layout。
  • 2020/8/13 9:00 板子已经在路上了。
  • 2020/8/13 20:00 开始搭环境。
  • 2020/8/14 11:00 阿里云个人账户的安全信息添加了一个错误的登录掩码,导致阿里云网页版控制台无法登录,因此本项目准备换一个云平台。
  • 2020/8/14 15:00 板子到了,还不错,就是丝印写得有问题
  • 2020/8/14 21:00 开始焊接。
  • 2020/8/14 00:00 板子焊好,稍微测试了下,板子可以正常使用。
  • 2020/8/15 22:00 写了几个测试程序,测试了板子功能,功能完好。PS:困死了,睡觉。
  • 2020/8/16 22:00 今天休息,在家调程序,。
  • 2020/8/17 23:00 Demo程序调的差不多啦,基本功能都实现了。PS: 作业提交截止时间延长了一周。
  • 2020/8/18 23:59 今天开始写文档,看来得写几个晚上了

温馨提示:自己绘制异形元件封装时,最好按照数据手册提供的元件外形尺寸和封装现在CAD软件中绘制好元件尺寸外形,保存DXF文件,然后导入到元件封装中进行焊盘的放置。这样不容易出错。

 

演示视频

 

 

文档

基于ESP8266的物联网开发板

在编辑器中打开

基于ESP8266的物联网开发板

在编辑器中打开

BOM

ID Designator Footprint Quantity BOM_Manufacturer Part BOM_Manufacturer BOM_Supplier BOM_Supplier Part
1 U4 DHT11-WT 1 DHT11 Aosong (Guangzhou) Elec LCSC C117051
2 R26,R23,R27 R0603 3 0603WAJ0471T5E UniOhm LCSC C25241
3 SW2,SW1 KEY-SMD_L6.1-W3.7-LS8.0 2 1TS002E-2500-2500 HYP LCSC C329185
4 C2 C0603 1 0603CG102J500NT FH LCSC C1636
5 U8 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1 CH340C WCH LCSC C84681
6 J2 CONN-TH_DB301V-5.0-3P 1 DB301V-5.0-3P DIBO LCSC C395881
7 H1,H3,H2 HDR-TH_3P-P2.54-V 3 Header2.54mm 1*3P BOOMELE LCSC C49257
8 Q5 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 1 NUD3105LT1G ON LCSC C14894
9 C3,C10,C9,C4 CAP-SMD_L3.2-W1.6-R-RD 4 TC211A106M016Y Sunlord LCSC C128289
10 R5 R0603 1 0603WAJ0102T5E UniOhm LCSC C25585
11 R1,R2,R29,R6,R30,R7 R0805 6 0805W8J0000T5E UniOhm LCSC C25275
12 J1 CONN-TH_2P-P5.00_L7.6-W10.0 1 DB301V-5.0-2P DIBO LCSC C395882
13 R9,R16,R19,R13,R14,R22,R8,R15,R12,R10,R11,R3,R20,R21 R0603 14 RC0603JR-0710KL YAGEO LCSC C99198
14 U9,U7,U6 HDR-TH_4P-P2.54-V 3 MTP125-1104S1 MINTRON LCSC C358686
15 LED2,LED1 LED0603-RD 2 FC-1608HRK-620H NATIONSTAR LCSC C90692
16 USB1 MICRO-USB-SMD_U254-051N-4BH806 1 U254-051N-4BH806 XKB Enterprise LCSC C319170
17 U5,U1 SOT-223_L6.7-W3.5-P2.30-BR 2 AMS1117-3.3 Youtai Semiconductor Co., Ltd. LCSC C347222
18 LED3 LED0603-R-RD 1 19-217/BHC-ZL1M2RY/3T EVERLIGHT LCSC C72041
19 U10 Y3U-SS-105LM / Y3U新版本 1 Y3U-SS-105LM YUANZERELAY(元则继电器) LCSC C674571
20 C13 CASE-A_3216 1 CA45-A-16V-10uF-K CEC LCSC C128254
21 F1 F1206 1 nSMD050 TECHFUSE LCSC C69688
22 R25 R0603 1 RMC0603100K1%N Tyohm LCSC C269699
23 D1 SMA_L4.4-W2.8-LS5.4-RD 1 SS24A Yangzhou Yangjie Elec Tech LCSC C211773
24 U13 WIFIM-SMD_ESP-12F-ESP8266MOD 1 ESP-12F(ESP8266MOD) Ai-Thinker LCSC C82891
25 R17,R18 R0603 2 RTT03101JTP RALEC LCSC C103204
26 C16 CAP-SMD_BD6.3-L6.6-W6.6-FD 1 RVT1E101M0607 HONOR LCSC C3338
27 C11,C5,C8,C12,C6,C1,C17,C14 0603 8 CC0603KRX7R9BB104 YAGEO LCSC C14663
28 F2 F1206 1 MF-NSMF200-2 BOURNS LCSC C89656
29 C7 C0603 1 CL10B105KO8NNNC SAMSUNG LCSC C59782
30 R24 R0603 1 RC0603FR-07220KL YAGEO LCSC C123420
31 D2 SMB_L4.6-W3.6-LS5.3-BI 1 SMBJ30CA Yangzhou Yangjie Elec Tech LCSC C340691
32 H4 HDR-TH_6P-P2.54-V_Z-211-0611-0021-001 1 Z-211-0611-0021-001 Nextronics Engineering LCSC C190819
33 D3 SOD-123_L2.8-W1.8-LS3.7-RD 1 1N5819W LGE LCSC C402219
34 BUZZER1 BUZ-TH_BD9.0-P4.00-D1.0-FD 1 YS-MBZ9042C03R16 Fengming LCSC C409836
35 R4 R0603 1 0603WAJ0472T5E UniOhm LCSC C25999
36 Q1,Q4,Q3 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR 3 SS8050 AnBon LCSC C541705
37 Q2 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 1 WST3400S WINSOK LCSC C105164
38 R28 R0603 1 0603WAJ0000T5E UniOhm LCSC C15402

展开

工程成员

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn