GSM-Weather-S3 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

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

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

3、支持简单的电路仿真

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

专业版 professional

1、全新的交互和界面

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

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

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

专业版 GSM-Weather-S3

  • 4.5w
  • 138
  • 600

简介:2022年8月20日已更新为S3版本,最新版本硬件可以复刻(屏幕可以买得到)。软件、硬件、外壳已验证。

开源协议: GPL 3.0

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

创建时间: 2022-06-18 10:27:38
更新时间: 2023-11-29 17:10:34
描述

一、项目介绍

  经常在网络上见到桌面天气预报、小电视等作品,网友们做的都很棒,也都实现了很多功能,作者自小喜欢电子,看到了网友们自己diy,心里甚是痒痒,所以下定决心在空闲时间制作一个属于自己的桌面摆件,由于自己是个颜值控([手动滑稽])在构思时就计划一定要做一个自己心怡的外观与ui交互,该项目正式开始时间为20年国庆假期,经过半年的修修改改硬件做到了第7版定型了一个gsm-weather版本,只做了PCB与部分ui,后来的两年中经过断断续续的开发最终形成了现在的样子。

二、硬件介绍

  gsm-weather-s3硬件主要分为主控板和USB&SD板,两块板子使用fpc连接。

2.1 主控板

主控板使用ESP32-S3-WROOM-1-N16R8模块,负责屏幕显示、音频采集与播放,图1是主控板实物图:

 

vxWNzySzeVjv47c7A6BjKxNCvukixxAdfWiLg6dP.jpeg

 

1 主控板正反面

2.1.1 ESP32-S3-WROOM-1-N16R8最小系统电路

  ESP32-S3-WROOM-1-N16R8是一个以ESP32-S3芯片为核心封装的模块(图2),使用这个模块就能大大降低工程师设计的复杂度。如果使用纯芯片设计需要设计师自己考虑设计的天线是否能够达到最好性能,我们需要通过调节电容、电感达到阻抗匹配,才能设计出性能最佳的天线,但这个调节过程对新手来说是很困难的。使用模组的设计大大方便了初学者,初学者直接使用即可。

 

YKopa2EKvDbSG4BqfR3mjmGIvmScYtYvbzBTdpxj.png

2 ESP32-S3-WROOM-1-N16R8模块

 

 

 

ESP32-S3-WROOM-1-N16R8的外围电路还是比较少的,图3所示是ESP32-S3-WROOM-1-N16R8的最小系统原理图,除了复位电路的R18C7不需要其他器件而且内部集成16MFLAH 8MRAM

 

rCnjwMwOL2mUMXFld35zQpBiic3OoUg6jrKEYm4u.png

3 主控最小系统原理图

 

 

 

2.2 USB&SD

USB&SD板主要负责程序下载、电源管理、SD卡底座等功能,图4USB&SD板实物图:

 

HxBP0WH1xpLSIaeZAejeR45hy0NK8SeWaWapZdeu.jpeg

 

4 USB&SD

 

2.2.1电源自动切换电路

      电源自动切换电路如图5所示,Q6是一个PMOS管,BAT+是电池,5V是充电器输入,当充电器未接入时Q6导通,BAT+流过Q6VCC供电,当充电器介入时Q6截至5V流过D4VCC供电。

 

SSS77p84HgTYRiut32PjsPz4HdeCg4aj2c8tw3P0.png

 

5 电源自动切换电路

 

 

2.2.2软件开关机电路

  软件开关机电路如图6所示,U5是一个输出为3.3V的稳压芯片,该芯片带有使能功能,即第3CE)脚,给该引脚输入高电平打开输出输入低电平关闭输入,SW2是一个按键,一端接到电源(VCC)另一端连接到单片机引脚(KEY_POWER)和U5使能脚电路。

按键开机过程:(在未插入充电时)当按键按下后VCC流过SW2D5CE脚一个高电平使能3.3V输出,此时整个系统得电单片机开始运行,程序首先检测KEY_POWER脚电平,如果该电压为高电平说明是按键开机控制POWER_IO脚输出高电平锁定CE脚电平,这时松开手后由于POWER_IO为高电平会继续使能U5输出。

充电开机过程:(在未按下按键时)插入充电器,此时5V得电经过R22CE脚高电平使能3.3V输出单片机运行,程序开始检测KEY_POWER电平由于R27为下拉电阻所以识别到为低电平,程序判断案件为按下时运行即充电开机。

按键关机过程:程序在运行过程中实时检测KEY_POWER电平,当为高电平时开始计时,计时达到2S后开始检测按键是否松开,当松开后拉低POWER_IO进入关机。

 

pCWijf1sehKpq4p4v4EivZTmrL47UfcbnuANbzwa.jpeg

6 图左为主控板,图右为USB&SD

注:左图的POWER_IO2经过FPC线连接到右图的POWER_IO。

 

 

 

2.2.3 USB转串口电路+自动烧录电路

  ESP32-S3支持串口下载,由于电脑没有串口接口,所以需要一个USB转串口芯片,如图7U13型号是CH340C,该芯片支持一路usb转串口ttl,带有RTSDTR控制引脚,内部集成晶振大大简化了外部电路。

根据ESP3S3数据手册,进入串口下载模式需要在上电前拉低IO0,上面介绍了CH340C带有RTSDTR引脚,可以在加入开关控制电路来实现自动复位和拉低IO0,如图8Q4芯片型号是UMH3N,该芯片内部带有两个三极管并且集成偏置电压,如电路所示利用CH340CRTSDTR引脚可以实现自动下载程序。

 

hM4nepRxdO0UVaAT8dP3YoxHKjIA12WhVl49kUR1.png

7  USB转串口电路

2FtGBtLSElria0hF7IDz9fHZ85J7CnhULdjIWitC.png

8 自动下载电路

 

 

2.3PCB设计

  图1011PCB设计图,在设计外壳时PCB的安装与尺寸已经确定,为了降低成本两块PCB均使用两层板设计,由于尺寸比较小,USB&SD板经过多次布局才完成。主控板的音频芯片WM8978QFN封装,该芯片底部有焊盘,由于家中只有一把烙铁在焊接时试了很多办法都不能把底部焊盘焊接上,后来想了一个办法把底部焊盘挖空(如图9),这样可以在背面焊接完美解决了该问题。

 

KK4jnqw0GYdyzIBgxYaFjOncmSOVBkt4laiClITK.jpeg

9

9rgQPUCxM7n9xlgvgspECSXwoC3dALjLFwzzpiPi.jpeg

10 主控板

pAuuTebovAsam0kT0B8UkVIcDPvM2iYVb99MjZNG.jpeg

11 usb&sd PCB

 

三、外壳设计

  外壳使用Autodesk Fusion 360设计制作。

3.1屏幕安装

  如开头所说作者是个颜值控,在构思时就把该作品的整体外观定义在了小巧迷你的标签下,由于不会外壳设计,为了完成该作品专门抽时间学习了Autodesk Fusion 360,该软件是一款3d结构设计工具,在网上跟着视频教程学了三周,在自己设计时遇到了很多困难,其中最大的难题的是正面屏幕的安装方式,外壳的正面是一个满屏斜面设计,计划是把屏幕直接卡在外壳上,如图12,由于是斜面外框的尺寸在计算时比较空难,最后无奈用了笨办法经过33d打印才得到合适的尺寸。

 

qJ0xWhOWt1zgYvtw3MZMYgIwSUUE0aZhIALahSBZ.jpeg

12 外壳斜面与截面图左图黑色为屏幕

3.2 USB&SD板安装

  USB&SD安装也使用卡扣式直接卡在外壳上,底部三个卡点来固定USB&SD PCB,如图13

 

dDSCUNVNYPWRwfzbu7KTAkIGJZ4HuAjwBMpaiOMB.png

13 USB&SD固定点

3.3 主板与电池安装

  电池通过双面胶粘在外壳内壁,主板由于两条FPC线支撑可以直接放在内部。

3.4 外观颜色

  设计好外壳后使用3d打印,然后使用自喷漆更换外壳颜色,外壳的设计图与实物图如图14~16

 

 

OdLEhvDdkFoSafsDjQwxuIDLRZcVwovHkP49tMQn.png

14外壳设计图

PYvAO10Fi1hw0zMHWjB2GCzp0BRXxfy5PQzonGtv.png

15实物图

Zg7eoJecGnhpjF1wl8xbyPpsChgQK1tDgMKiWPph.png

16 实物图

 

四、软件部分简介

   硬件电路设计并焊接完成后就可以开始编写代码了,这个项目使用的是乐鑫官方的ESP-IDF5.0,已实现功能:

  1. 天气预报。
  2. B站信息。
  3. 老黄历。
  4. 时钟。
  5. 语言切换。
  6. wifi搜索。

代码部分就不全部展开介绍了,需要的朋友可以前往立创开源硬件平台搜索本项目(gsm-weather-s3),项目描述中有完整的带注释的代码,可以自行阅读,下面简单介绍两处:

5.1软件关机

  关机代码在bsp_power.c文件里,关机代码如图17,关机逻辑是在开机情况下检测按键是否按下,按下时开始计时,计时到2秒认为用户关机,调用窗口提示“松手关机”(71行),然后检测按键是否抬起,抬起后调用bsp_power_off(),该函数是拉低开机引脚POWER_IO(请参照2.2.2开关机电路),关闭3.3V稳压芯片输出,使整个系统断电,当程序下载到芯片时出现了问题,代码执行到第79行时并没有立刻关机,二十等了一会才关机,使用示波器查看POWER_IO正确拉低,排除软件问题,经过排查是Q1(图6)处的电路问题,关闭QI控制脚后,ESP32模块存有余电情况下没有关闭,等待放电结束后才能关机,后来加入两行代码解决了该问题,如图18红色矩形圈出部分,78行是关闭背光,79行是执行一次连接wifi操作来加快esp32模块余电消耗。

 

xQvMUBYlUB5lyGqnFXu69rewxcHwX4gFZtOyBvFX.png

17

8ZXRP39rLgKg1mEwKYdrRfLH8m9fdEqfjJSoJcy2.png

18

5.2界面交互动效

  交互动效效果是使用的lvgl anim功能实现的,anim功能在实现变量在设定时间完成变化时指定变化样式如图19lv_anim_path_set_cb函数是指定变化样式,样式一共用7种,这样变量在变化是就可以实现非直行运动来呈现更生动的效果。

qtbnpPFTpd8AcVS0jfOGZc1rZZbIvKAAeKZ4dWlt.png

19

 

五、开源信息

 

 

 

硬件开源地址:https://oshwhub.com/yeshengchengxuyuan/b4b67ab1e8234aeebea054b4eda6f549

软件开源地址:https://gitee.com/gsm-wheather-project

视频观看地址:https://www.bilibili.com/video/BV1VU4y1v7VD?vd_source=2847f5d974d73d579ce40eb1213b09ff

屏幕购买链接:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.12222e8dxpsZO3&id=662619384744&_u=kud5m325157

外壳3D打印文件:https://gitee.com/gsm-wheather-project/gsm-weather-s3-comprehensive-information/tree/master/3D%E6%89%93%E5%8D%B0

esp32s3模块需要使用ESP32-S3-WROOM-1-N16R8购买链接:https://item.szlcsc.com/3198300.html

 

六、其他

6.1、关于版权

您可以随意使用和复制全部资料,如若用作销售盈利请事先与我联系,否则视为侵权。

6.2、帮助

食用过程中有疑问可以通过下面联系方式与我取得联系:
微信:GSM8988
QQ:1063503277
QQ交流群:709259833(非盈利群,没有开会员扩群,群满时按提示进新群)

注意:有网友反应USB&SD打样需要250元左右,这个问题是审核时平台会默认使用半孔工艺(可以在费用详细里看到),下单时备注不要半孔,价格就正常(白嫖[手动滑稽])了。

 

 

 

作品实物图与效果图:

更多图片点击:https://gitee.com/gsm-wheather-project/gsm-weather-s3-comprehensive-information/tree/master/%E5%A4%96%E8%A7%82

 

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

gsm-weather-s3演示视频.mp4

659
2

开源指导视频.mp4

2037
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

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

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

服务时间

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

support
  • 开源平台公众号

MP