基于FreeRTOS和LVGL的多功能低功耗智能手表(硬件篇)

目录

一、简介

二、板子构成

三、核心板

3.1 MCU最小系统板电路

3.2 电源电路

3.3 LCD电路 

3.4 EEPROM电路

3.5 硬件看门狗电路

四、背板 

4.1 传感器电路

4.2 充电盘

 4.3 蓝牙模块电路

五、总结 


一、简介

        本篇开始介绍这个项目的硬件部分,从最小电路设计、电源电路、传感器电骡、通讯模块电路开始,一个个给大家进行介绍。

二、板子构成

 

我们的手表采用核心板+背板进行设计。核心板是由单片机最小系统板电路、电源电路、充电电路、LCD屏幕电路、EEPROM存储电路、硬件看门狗电路。背板是由各个传感器电路、充电盘、蓝牙通讯电路组成。

三、核心板

3.1 MCU最小系统板电路

1、电源电路

由于芯片中各个电路网络中电流变化时,各个电路模块之间会产生耦合现象,在电源电路模块中产生的耦合电流会对整个最小系统板的正常工作产生影响,因此可以设计一个退耦电容电路来消除各个电路模块之间产生的寄生耦合。本文所设计的退耦电路模块是在电路正极和地之间并联了4个退耦电容。

2、时钟电路

我们这里只外接一个32.758KHZ的外部低速晶振,用来进行低功耗模式下来给RTC提供时钟。我们的系统时钟采用的是内部高速晶振8KHZ(HSI),具体可以看我们的时钟树的配置,如图所示:

3、复位电路

我们这里不需要复位,因为没有这个必要,我们只需要在RST接口上直接进行上拉,确保它不会给我进行复位。

3.2 电源电路

以下是 TPS63020DSJR 关键引脚的表格总结:

引脚名称作用关键特点/注意事项
VIN输入电源接入引脚输入范围:1.8V~5.5V;支持锂电池、超级电容等宽电压输入,自动切换升压/降压模式。
VOUT输出电压引脚可调或固定输出(1.2V~5.5V);最大负载电流3.5A;轻载时自动进入节能模式(PSM)。
EN使能控制引脚高电平启用芯片,低电平关闭;关闭时静态电流降至最低(<1μA),适用于低功耗待机场景。
FB反馈引脚外接电阻分压网络调节输出电压(可调版本);固定输出版本可能直接接地或连接内部基准。
PG电源正常指示引脚输出稳定时高电平,异常(欠压/过温)时低电平;可用于系统状态监控或触发保护机制。
GND接地引脚公共参考地;建议多点接地设计,降低噪声干扰。
VCC内部电源引脚需外接去耦电容(如100nF)稳定供电;避免与高频噪声源耦合。
L电感连接引脚(部分型号)单电感拓扑的关键节点,需选择低DCR、高饱和电流的电感,建议与SW引脚就近布局。

这是一个非常经典的电路,使用TPS6302DSJR这个芯片,可以把我们的输入电压降到稳定的3.3V,最关键的一点是,它有一个EN引脚,决定是否输出VOUT,这是我们实现开关机的关键部分。 首先我们长按电源按键(SW2),会把我们的TPS_EN使能,TPS6302DSJR就会输出3.3V,给我们的MCU供电,之后我们程序中,通过手动拉高POWER_EN,这样子就可以一直使能我们的TPS6302DSJR,从而实现开机,关机的话,就是拉低POWER_EN,失能TPS6302DSJR,这样子我们MCU就无法工作,实现关机模式,但是由于我们的电池接到了MCU的BAT引脚,这样依旧可以确保我们的时间正常运行。

3.3 充电电路

充电原理        

TP4056充电管理芯片是一款常用的单节锂电池恒定电流/恒定电压线性充电管理芯片。这也是非常实用的一个充电电流,在各个项目都可能见到他的身影。 

        内部电路框图如下:

芯片采用了内部 PMOSFET 架构,加上防倒充电路,无需增加外部隔离二极管。热反馈可对充电电流进行自动调节,以便在大功率操作或高环境温度条件下对芯片温度加以限制。充电电压固定于 4.2V,而充电电流可通过一个电阻器进行外部设置。当充申电流在达到最终浮充电压之后降至设定值 1/10 时,TP4056 将自动终止充电。

电池充电过程:

(1)当电池电压低于 3V时,管理芯片采用小电流对电池进行预充电。
(2)当电池电压超过 3V 时,充电器采用恒流模式对电池充电,充电电流由 PROG电阻决定(1000mA为1.2K)。
(3)当电池电压接近 4.2V 电压时,充电电流逐渐减小,TP4056进入恒压充电模式。
(4)当充电电流减小到充电结束闯值时,充电周期结束,CHRG 端输出高阻态,STDBY 端输出低电平。
(5)当电池电压降至4.05V(对应电池电量约为80~90%),管理芯片重新启动充电循环。

充电电流设定:

充电电流由Rprog电阻决定,具体充电电流设定公式如下:

                                                        I=1200/R 

Rprog电阻与充电电流关系如下表:

我们PROG电阻选用的是1.2K,所以我们的充电电流为1000mA。 

电量检测

通过BAT到地串联两个分压电阻,然后把一半的电压通过我们的ADC去检测对应的电压值,从而判断出我们此时的电池电量。

3.3 LCD电路 

这个没啥需要注意的,不过值得学习的是,我们这里是用PWM控制LCD的BLK,这样子就可以控制我们屏幕的亮灭。 

3.4 EEPROM电路

 

 通过I2C协议,来进行读写EEPROM。

3.5 硬件看门狗电路

这个设计的非常的巧妙, BL1551B是一个模拟开关,当ENB被使能之后,A1和A2就会连通,TPS3823-33DBVR是带看门狗计时器的 TPS382x 电压监视器,可以简单理解为,当我们上电之后,没有按时喂狗(翻转WDI的电平),RESET就会输出一个低电平,下面是它的时序图。

四、背板 

4.1 传感器电路

这里就是把我们各类的传感器放在我们的背板,包括MPU6050(六轴加速度传感器)、SPL06-001(气压计)、AHT21(温湿度)、LSM303DLHC(电子罗盘)、EM7028(心率血氧)。最后全部挂在到IIC BUS上面,然后把他们引出来,之后把背板的I2C和和核心板的I2C连一起,实现背板的传感器和核心板进行连接。 

4.2 充电盘

 

这里我们放置一个磁吸焊盘(利用磁吸充电),然后通过排针的焊盘引到背板,实现充电。 

 4.3 蓝牙模块电路

 

 我们采用KT6368蓝牙,PCB走线来作为蓝牙天线,这是一套非常固定的模板,大家可以直接黏贴,用到各种地方,我们这个项目的灵魂之处是使用模拟开关BL1551B实现蓝牙开关。通过使能ENB,决定A1和A2是否连通,连通的时候,A1就会把3.3V供到蓝牙模块上面,实现蓝牙的打开。最后把BLE_TX和BLE_RX通过排针引到我们的核心板,来实现蓝牙通讯。

五、总结 

        至此,这个项目的硬件部分就介绍完毕,只有理解硬件为什么这么设计,我们才能更快的掌握软件,下一篇我将会介绍软件的设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/79008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为 Kubernetes 提供智能的 LLM 推理路由:Gateway API Inference Extension 深度解析

现代生成式 AI 和大语言模型&#xff08;LLM&#xff09;服务给 Kubernetes 带来了独特的流量路由挑战。与典型的短时、无状态 Web 请求不同&#xff0c;LLM 推理会话通常是长时运行、资源密集且部分有状态的。例如&#xff0c;一个基于 GPU 的模型服务器可能同时维护多个活跃的…

MacOs下解决远程终端内容复制并到本地粘贴板

常常需要在服务器上捣鼓东西&#xff0c;同时需要将内容复制到本地的需求。 1-内容是在远程终端用vim打开&#xff0c;如何用vim的类似指令达到快速复制到本地呢&#xff1f; 假设待复制的内容&#xff1a; #include <iostream> #include <cstring> using names…

STM32 vs ESP32:如何选择最适合你的单片机?

引言 在嵌入式开发中&#xff0c;STM32 和 ESP32 是两种最热门的微控制器方案。但许多开发者面对项目选型时仍会感到困惑&#xff1a;到底是选择功能强大的 STM32&#xff0c;还是集成无线的 ESP32&#xff1f; 本文将通过 硬件资源、开发场景、成本分析 等多维度对比&#xf…

【blender小技巧】Blender导出带贴图的FBX模型,并在unity中提取材质模型使用

前言 这其实是我之前做过的操作&#xff0c;我只是单独提取出来了而已。感兴趣可以去看看&#xff1a;【blender小技巧】使用Blender将VRM或者其他模型转化为FBX模型&#xff0c;并在unity使用&#xff0c;导出带贴图的FBX模型&#xff0c;贴图材质问题修复 一、导出带贴图的…

如何保证本地缓存和redis的一致性

1. Cache Aside Pattern&#xff08;旁路缓存模式&#xff09;​​ ​核心思想​&#xff1a;应用代码直接管理缓存与数据的同步&#xff0c;分为读写两个流程&#xff1a; ​读取数据​&#xff1a; 先查本地缓存&#xff08;如 Guava Cache&#xff09;。若本地未命中&…

k8s通过service标签实现蓝绿发布

k8s通过service标签实现蓝绿发布 通过k8s service label标签实现蓝绿发布方法1:使用kubelet完成蓝绿切换1. 创建绿色版本1.1 创建绿色版本 Deployment1.2 创建绿色版本 Service 2. 创建蓝色版本2.1 创建蓝色版本 Deployment2.2 创建蓝色版本 Service 3. 创建蓝绿切换SVC (用于外…

智慧酒店企业站官网-前端静态网站模板【前端练习项目】

最近又写了一个静态网站&#xff0c;智慧酒店宣传官网。 使用的技术 html css js 。 特别适合编程学习者进行网页制作和前端开发的实践。 项目包含七个核心模块&#xff1a;首页、整体解决方案、优势、全国案例、行业观点、合作加盟、关于我们。 通过该项目&#xff0c;小伙伴们…

Epplus 8+ 许可证设置

Epplus 8 之后非商业许可证的设置变了如果还用普通的方法会报错 Unhandled exception. OfficeOpenXml.LicenseContextPropertyObsoleteException: Please use the static ‘ExcelPackage.License’ property to set the required license information from EPPlus 8 and later …

CST1016.基于Spring Boot+Vue高校竞赛管理系统

计算机/JAVA毕业设计 【CST1016.基于Spring BootVue高校竞赛管理系统】 【项目介绍】 高校竞赛管理系统&#xff0c;基于 DeepSeek Spring AI Spring Boot Vue 实现&#xff0c;功能丰富、界面精美 【业务模块】 系统共有两类用户&#xff0c;分别是学生用户和管理员用户&a…

2025年第十六届蓝桥杯省赛C++ 研究生组真题

2025年第十六届蓝桥杯省赛C 研究生组真题 1.说明2.题目A&#xff1a;数位倍数&#xff08;5分&#xff09;3.题目B&#xff1a;IPv6&#xff08;5分&#xff09;4.题目C&#xff1a;变换数组&#xff08;10分&#xff09;5.题目D&#xff1a;最大数字&#xff08;10分&#xff…

空调开机启动后发出噼里啪啦的异响分析与解决

背景 当空调使用时由于制冷或制热运转时&#xff08;关机后可能也会出现&#xff09;&#xff0c;塑料件热胀冷缩引起&#xff0c;可能会出现“咔咔”的声音&#xff1b;空调冷媒在空调内管路流动时会出现轻微的“沙沙”的声音&#xff1b;也有可能是新装的空调摆风轴出现响声…

BERT、T5、ViT 和 GPT-3 架构概述及代表性应用

BERT、T5、ViT 和 GPT-3 架构概述 1. BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09; 架构特点 基于 Transformer 编码器&#xff1a;BERT 使用多层双向 Transformer 编码器&#xff0c;能够同时捕捉输入序列中每个词的左右上下文信息…

选导师原理

总述 一句话总结&#xff1a;是雷一定要避&#xff0c;好的一定要抢。方向契合最好&#xff0c;不契合适当取舍。 首先明确自身需求&#xff1a; 我要学东西&#xff01;青年导师&#xff0c;好沟通&#xff0c;有冲劲&#xff0c;高压力。 我要摆烂&#xff01;中老年男性教…

【过程控制系统】PID算式实现,控制系统分类,工程应用中控制系统应该注意的问题

目录 1-1 试简述过程控制的发展概况及各个阶段的主要特点。 1-2 与其它自动控制相比&#xff0c;过程控制有哪些优点&#xff1f;为什么说过程控制的控制过程多属慢过程&#xff1f; 1-3 什么是过程控制系统&#xff0c;其基本分类是什么&#xff1f; 1-4 何为集散控制系统…

2025年第十六届蓝桥杯省赛真题解析 Java B组(简单经验分享)

之前一年拿了国二后&#xff0c;基本就没刷过题了&#xff0c;实力掉了好多&#xff0c;这次参赛只是为了学校的加分水水而已&#xff0c;希望能拿个省三吧 >_< 目录 1. 逃离高塔思路代码 2. 消失的蓝宝思路代码 3. 电池分组思路代码 4. 魔法科考试思路代码 5. 爆破思路…

JAVA EE_文件操作和IO

人们大多数时候的焦虑&#xff0c;大概是太想要一个那不确定的答案了吧。 一一 陳長生. 1.认识文件 现实中&#xff0c;我们把一张一张有内容的纸整合在一起称为文件&#xff0c;计算机中&#xff0c;通过硬盘这种I/O设备进行数据保存时&#xff0c;它会独立成一个一个的单位保…

UNITY 屏幕UI自适应

1.主要就是根据屏幕的选择根据尺寸 和UI的锚点和中心点来选择&#xff0c;也可以通过代码来动态修改 2.参考视频&#xff1a;Unity UGUI屏幕自适应看这个就够了_哔哩哔哩_bilibili

05-RabbitMQ 面试题-mk

文章目录 1.RabbitMQ 核心组件及功能详解2.RabbitMQ-如何保证消息不丢失?3.RabbitMQ消息的重复消费问题如何解决的?4.RabbitMQ中死信交换机 ? (RabbitMQ延迟队列有了解过嘛)5.RabbitMQ如果有100万消息堆积在MQ , 如何解决(消息堆积怎么解决)6.RabbitMQ的高可用机制有了解过嘛…

产品需求设计评审会:三步精准定位需求核心

“不谋全局者&#xff0c;不足谋一域&#xff1b;不谋万世者&#xff0c;不足谋一时。”——陈澹然 强调了从全局和长远的角度去谋划事情的重要性&#xff0c;与产品设计中先从宏观层面定位需求&#xff0c;而不是陷入细节的理念相契合。 今日清晨&#xff0c;我参加了一场产品…

java中常用的集合 - 面试篇

HashMap 一、基础常量以及结构 //数组默认初始容量static final int DEFAULT_INITIAL_CAPACITY 1 << 4; // aka 16//数组容量最大值static final int MAXIMUM_CAPACITY 1 << 30;//默认扩容因子static final float DEFAULT_LOAD_FACTOR 0.75f;//链表长度阈值 树…