原创来源:立创开源硬件平台
工程名称:【2023星火计划】计时骰子
工程作者:jackiecoo
前言
这,是一个简单的、高颜值的、实用的、教程级的开源项目!
就算你是小白!也可以搞定!
工程描述
用GD32F303和做了一个漂亮的骰子,有计时功能!通过姿态感应计时:
下文就分析一下,这个骰子的组成结构是怎样的?硬件设计原理是怎样的?外观设计又有什么巧思?
骰子组成
为了实现【姿态感应计时+好看的外观】,对骰子的外部和内部做了如下规划:
骰子外部由圆形屏幕和两个按钮组成。
骰子内部由姿态传感器、蜂鸣器、充放电管理电路、电量监测电路组成。
· 屏幕用于显示时间;
· 按钮用于交互;
· 姿态传感器是翻转计时的关键;
· 蜂鸣器用于发出提示;
· 充放电管理电路和电量监测电路用于锂电池供电需求。
硬件设计说明
骰子的电路部分由两块PCB板组成。
这是设计电路前的思维导图:
下文将对主要的6个电路模块,进行说明。
01电源部分
电源部分由锂电池供电,用LDO进行降压。
电源部分的芯片选择ME611C33M5G-N,最大输出电流500mA。
充放电部分的设计有一定讲究,我希望:
· 在骰子正常工作时,锂电池单独供电;
· 当用户插入USB接口时,断开锂电池对板子的供电。
因为需要USB接口在为锂电池充电的同时也为板子供电,所以我设计了如下的供电切换电路。
图中的MOS管为PMOS。
· 当USB接口(VBUS)不输入时,电池(VBAT)的电流可以顺利到VIN;
· 当USB接口被接入时,MOS管关闭,此时只有USB接口电流到VIN。
VBUS与VIN之间有二极管,防止VBAT对VBUS有灌电流;B5819W这个二极管的压降通常可以达到550mA以上,对于这种小电压的电路还是蛮大的。介意的话可以换成SS14,压降只有500mA左右,参数除压降外都一样,但体积会更大。
锂电池充电电路一般按照数据手册上画即可,反馈电阻(PROG)选择1.5kΩ,充电电流就是最高的800mA。
电池的电量监测用一个串联分压,将电池电压减一半,只要满电电压小于单片机的3.3V就可以了。
02主控部分
主控一般也是按照数据手册设计即可,额外增加了外部晶振,让定时更精确。
值得一提的是:ADC的供电和地用0Ω电阻做了一个隔离,这样可以提高抗干扰性。
03姿态传感器
姿态传感器在原理图上使用的是MPU6500,但预留了一个可以插MPU6050的排母口。
之所以这样设计是因为MPU6500和MPU6050都是QFN封装,手工焊极难,但可以接一个现成的模块。
04屏幕
屏幕的驱动芯片为GC9A01,使用的是SPI进行通信,240x240的分辨率。
我在主板上引出了一个FPC的接口连接屏幕,再将屏幕固定在副板上。
注意!如果要使用硬件SPI与屏幕通信,必须加上拉电阻!
05用户按键
用户按键在副板上的,通过FPC与主板连接。
按钮是全金属的防水按键,比较耐用。
电路中也加了一个双向瞬态抑制二极管用于保护电路。
06蜂鸣器
这里采用有源蜂鸣器。
能少焊一个元件是一个,所以这里使用一个三极管控制开关。
骰子外观设计
这是焊好的PCB板。
简单移植一个LVGL验证了一下。
组装完成后的实物图。
这是我第一次设计外壳。
我根据一些尝试,做了纯3D打印的方案。
外壳的设计文件已经开源,参考【开源资料下载入口】章节提示下载!
开源资料下载入口
需要参考【电路+外壳】源文件,请复制链接,去原工程下载查看:
https://oshwhub.com/jackiecoo/xing-huo-ji-hua-ji-shi-tou-zi
也可以顺便给作者点个赞!