【物联网】基于ESP32的物联网时钟 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【物联网】基于ESP32的物联网时钟

简介:立创EDA&高校联合实验室培训用例:基于ESP-C3-12F物联网时钟设计

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2021-09-09 14:37:12
更新时间: 2024-01-02 10:06:22
描述

1 项目介绍

通过项目的学习,可以学到以下内容:

  • 学习根据数据手册设计电路的能力
  • 学习电路PCB设计软件的使用
  • 掌握DS1302时钟芯片的驱动
  • 学会通过WIFI调取网络时间显示
  • 物联网项目开发环境及驱动代码的学习

 

项目中选用的ESP-C3F-12FWIFI模组主要特性如下:

  • 集成低功耗WIFI和蓝牙系统级芯片(SOC)
  • 芯片内置400KB SRAM,384KB ROM以及4MB Flash
  • 提供丰富接口,包括常用的UART、PWM、SPI、I2S、I2C、ADC、温度传感器和多达15个GPIO
  • 支持多种休眠模式,深度睡眠电流小于 5uA

 

2 总体设计方案

该项目设计系统框图如下图所示:

图1 物联网时钟硬件系统框图

      该电路使用USB 5V进行供电,经过一个AMS1117-3.3V进行降压给芯片进行供电。板载CH340N程序下载电路,用于给ESP-C3-12F进行程序烧录及串口连接,增加三路按键进行手动调时功能,两个LED进行指示供电及联网状态;显示电路选用了一块MAX7219芯片驱动两个四位数码管,显示时分秒信息;为保证断网情况下继续走时,使用DS1302时钟芯片,保障断电及断网情况下能保持时间记忆走时。

 

3 硬件介绍

图2 基于ESP-C3-12F物联网时钟设计原理图

      看完这种原理图后大家是否看懂了每个电路模块的电路图呢,如果没有的话我们一起来分析一下该项目组成的电路是如何设计出来的。

 

3.1 ESP-C3-12F核心电路

图3 ESP-C3-12F主控电路

      在使用ESP-C3-12F模组设计电路时需要注意以下几点:

(1)3脚EN为使能引脚,需要进行上拉。高电平使能,芯片工作,在这里外接一个按键接地可以控制芯片复位;

(2)默认情况下IO9内部已经上拉,当IO9为0时才能进入下载模式,所以可以在IO9后面加一个按键进入下载模式;

(3)建议使用LDO供电,如果使用DC-DC,要求纹波不大于30mv。

 

3.2 LED及按键电路

      为了有一个更好的交互体验,该项目设计了5个按键与两个LED灯。

图4 LED及按键电路

各个器件功能及IO连接情况如下:

器件名

连接IO

功能说明

RST

IO3

复位按键

DOWMLOAD

IO9

程序下载按键

KEY1、KEY2、KEY

IO10、IO18、IO19

调时功能按键

LED1

IO3

芯片使能状态指示灯

LED2

IO0

联网状态指示灯

 

3.3 电源电路

      电源部分使用了一个Micro USB进行供电,配合一个拨动开关实现电源的控制。降压电路采用了一款非常经典的AMS1117-3.3V的芯片,只需要两个100nf进行滤波就可以达到很好的效果!

图5 电源电路

3.4 USB转TTL电路

      程序下载部分使用了沁恒的CH340N进行设计,该电路结构简单无需外接晶振。在使用5V供电时8脚不需连接电源;使用3.3V工作时需要连接电源,这点需要留意!

图6 USB转TTL电路

3.5 数码管驱动电路

      数码管内部其实就是一个点阵LED灯组成,如果每个接口都和单片机相连,会浪费大量的IO资源,所以我们需要设计一个数码管的驱动电路。驱动芯片有很多种,比如常见的有74HC595、TM1640、TM1650等芯片,各种芯片功能大同小异,该项目中选用了MAX7219对两个四位数码管进行驱动。该芯片使用3线串行接口与单片机传输数据,可以很方便地对多位LED进行控制。在进行数码管选型的时候注意该芯片驱动的是共阴极LED驱动,不能用来驱动共阳极LED。

图7 数码管驱动电路

3.6 时钟电路

      为保障设备断网后还能继续走时,使用DS1302设计了一个时钟电路。DS1302电路简单,带一个纽扣电池使设备断电后继续走时,使用一个32.768KHz的晶振给芯片提供精准的时钟源。

图8 DS1302时钟电路

4 原理图及PCB设计注意事项

4.1 原理图设计注意事项

      在进行原理图设计前,需要先创建工程文件夹,然后在里面创建一个原理图图纸,安装原理图内容进行修改文件名称。在设计过程中需要注意以下几个问题:

(1)确保电路正确,这点尤其重要,错误的原理图会生成错误的PCB,导致电路无法正常工作;

(2)具体电路设计参考厂商提供的数据手册,熟读关于引脚定义内容;

(3)进行器件选型时注意所选器件是否能够进行采购到,考虑价格、尺寸和封装等因素;

(4)原理图设计完成后进行再次检查电路连线,可使用立创EDA提供的网络规则检查,重要的还是需要确认各个电路连接正确;

(5)最后对原理图进行整理,按各模块进行布局摆放。使页面整齐干净。

 

4.2 PCB设计注意事项

      PCB设计是非常重要的,PCB设计成什么样我们拿到手上的板子也就是什么样,一张好的PCB设计图就像一副漂亮的风景让人不禁立下身来欣赏。如何才能设计出一张漂亮的PCB,首先需要对所绘制的电路整体有一个系统的认识,电源用什么方式进行供电,输入输出人机交互部分该如何展示,元器件摆放该怎么合理等等,在画PCB之前,我们脑子里应该有一张大致的布局图了,接下来就不能光在一边比划了,不能让灵感消逝,赶紧握起鼠标开始动手布局走线吧。

 

PCB设计第一步:外形确定

      在设计PCB时,需要先确定想要完成的一个外形,你的板子是做成正方形的、长方形的、圆形的、还是一个海绵宝宝外形的呢?这就需要根据电路的功能和你的个人爱好进行选择了。

图片参考源于:重庆师范大学物理与电子工程学院无线电协会学生作品,点击查看工程

      在该项目中,我们结合了两组四位数码管的特点,设计了一个简单的85mm*40mm的圆角矩形作为PCB外框进行设计,我们鼓励大家发挥创造力设计出更多好玩有趣的外形作品来。  (*❦ω❦)

 

PCB设计第二步:元器件布局

      外形设定好后接下来就该把元器件放到边框内部进行布局了。器件布局要考虑几个原则:

  • 按电路模块布局,每个电路的核心器件和外围器件放到一起;
  • 按电路功能布局,特殊器件布局时周边不能放置元件,避免干扰等;
  • 按器件特性布局,输入输出接口应放到板子边缘,方便操作。

      在进行元器件布局时善于使用立创EDA原理图中顶部菜单栏选择工具的布局传递功能(快捷键:CTRL+SHIFT+X)可以快速地对元器件进行分类布局展示。该项目元器件布局参考如下:

      该布局中,将USB电源输入与开关放置在PCB板底层左侧,顶层两个四位数码管并排,下方四个按键排列,右上角放置两个指示LED;底层中间放置电池座,配合下方的两个铜柱接口用于整个电路板的结构支撑。其余芯片都放置到底层,使时钟显示更加美观。

 

PCB设计第三步:PCB走线

      一个好的元器件布局已经完成了整个PCB设计的一大半工作,但是前面的布局也只能是大概的布局而已,实际需要在进行PCB走线的时候调整,边画边调,直到完成我们脑海中样子。以下提供PCB走线需要注意以下几个要点,更多的设计要点还需要我们在设计中不断积累经验,提升自己的设计绘图能力。

(1)电源及信号走线按照信号电流流向,严格按照原理图设计图进行布局设计,即使它们都连接上去了,没有报错,但也要考虑先后顺序,先经过A再到B,最后到C,不能直接从A到C到B,这点在初学的时候尤其重要。

      如图所示,电源从C1上方输入,经过电容C1,流到芯片U1进行降压后通过C2进行输出,并且要求电容与芯片靠近整齐摆放。

(2)在PCB走线过程中注意线宽设置大小,电源线应比信号线稍微粗一些,可以设为30mil,常规信号线设为15mil。线宽不能设置过细,应考虑工厂生产工艺,列举嘉立创PCB生产工艺如下图所示:

(3)在实际走线过程中连接两个相同网络的焊盘用导线连接,导线应优先走直线,横平竖直,可以通过调整器件布局使两个点间的连线最短,如果无法保持直线应优先使用135°钝角或者圆弧走线,保持设计美观。

以上阐述几点初学时应注意的问题,希望大家在后续的学习中能不断提升自己的设计水平,遇到问题相互交流,共同进步,共克难关!

PCB走线参考图

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP