基于STM32的手表制作(已完结)
成松秦
青海省湟川中学,青海省西宁市
TonyCheng 2021-8-24原创 电子技术学习日常
中文摘要
基于STM32F103C8T6单片机的电子手表制作。

12.26更新:(一觉醒来发现文章上首页了 sticker )已完成全部测试工作,大图置顶。源码和PCB在附件中(从上到下:源码包、Gerber文件,立创EDA PCB项目文件)。

attachment icon Watch-F103.rar 12.92MB RAR 43次下载

attachment icon PCBGerber文件.zip 60.00KB ZIP 17次下载

attachment icon Project_STM32手表-改_2021-12-26_17-45-22.zip 113.94KB ZIP 23次下载

应该还会再做一版基于STM32G030主控的低功耗版本,敬请期待😂

IMG20211226150315.jpg IMG20211226150016.jpg IMG20211226150344.jpg IMG20211226150322.jpg

8.24:

最近学了点STM32,打算用STM32做点小玩意儿,于是萌发了做个电子手表的打算。但是由于时间不足,制作周期可能很长,为了不烂尾,就打算把过程发到kc,激励自己把这玩意儿做完😂

现在已经画好了原理图,计划有双击亮屏,显示时间,设定闹钟等简易功能。水平不高,还望大佬们轻喷😅

原理图(8.25已更新)如下,PCB计划明天(8.25)画完

Schematic_STM32手表_2021-08-25.jpg


8.25更新:

根据大佬们提出的意见更新了原理图,完成PCB绘制。PCB已提交厂方打样。

昨天忘记介绍硬件了,这里大概介绍一下:MCU采用STM32L051C8T6,双击亮屏功能采用ADXL345加速度计实现,显示屏采用1.3" I2C接口OLED屏幕,电池充电采用TP4054芯片,3.3V LDO采用SPX3819M5-L-3.3芯片,使用三个按键实现亮屏,开关机,菜单选择功能,使用Micro USB接口连接5V充电器进行充电。

计划8.30开学前完成大部分程序设计和全部焊接工作。

QQ图片20210825172336.png


QQ图片20210825172314.png


8.28 中午更新:

PCB已完成第二次修改并进行打样,已完成大部分程序设计工作。开关机及调整时间部分的程序对我来说难度有点大,😂计划明天完成这部分的程序。计划PCB与元件明天(8.29)到货后完成焊接工作。8.30开学后估计只能每周一更,请各位看官谅解😅

QQ图片20210828123316.png


8.28 晚上更新:

PCB已到货,等待明天元件到货后焊接调试。


8.29 更新:

STM32L051C8T6收货后发现芯片故障,读保护(新买的芯片为什么会有读保护?怀疑是翻新货)无法解除,程序无法烧入,联系卖家后确认属于芯片故障,已经换货。原定开学前弄完硬件,现在看来没戏了😂


9.15 更新:

第二版PCB(含有表带槽,主控采用STM32F103C6T6A)已经完成设计。

1631685158108.jpg


10.18 更新:

主控已换用STM32F103C8T6,更改了部分代码细节,全部代码已在STM32F103RCT6开发板上调试完成,PCB已完成设计。


12.20更新:

一鸽再鸽后终于完成了全部的焊接调试工作。除电池外的所有部分已经焊接调试完成(最终放弃了ADXL345的双击亮屏功能,功耗实在太大,本来就很短的续航更显不够),并进行了约35小时的连续工作测试。息屏状态下工作电流9.5mA,亮屏13mA。预计续航时间20h左右。(笔记本相机拍的,像素极渣,周末回家放大图)

WIN_20211220_13_15_44_Pro.jpg

[修改于 5 个月前 - 2021-12-26 18:03:31]

+16.66  科创币    TonyStark   2022-01-01   赞扬!
来自:电子信息 / 电子技术综合交流区 / 科创茶话
33
9
BG9IPE
8个月28天前 修改于 8个月28天前
1楼

1、充电电路是否有做在手表哦端的必要

2、晶体是否需要添加匹配电容

3、单片机内部是否有可以直接利用的内部按键上拉

4、按键是否考虑连接至带有唤醒功能的IO

5、复位电路设计

6、ADXL345的I2C上拉

7、STM32启动方式选择部分设计

8、使用串口进行程序下载?

引用
评论
6
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月28天前
2楼
引用BG9IPE发表于1楼的内容
1、充电电路是否有做在手表哦端的必要2、晶体是否需要添加匹配电容3、单片机内部是否有可以直接利用的内...

八个问题吓死我 sticker

  1. 有必要,这样就可以使用USB直接充电,否则需要专门的4.2v电源

  2. 实测无电容可正常运行,为缩小体积未添加

  3. 这好像还真有😅谢谢大佬提醒,原理图已修改,去掉了上拉

  4. 正在考虑,由于采用adxl345双击产生中断亮屏,唤醒按键好像不是很有必要,但是考虑到关机后的开机操作,可能需要唤醒按键...考虑好后会修改原理图

  5. stm32复位引脚有内部40k上拉电阻,为缩小体积不设计复位电路

  6. 此问题在昨天晚上贴子发出后已发现并做出了修改,谢谢大佬提醒

  7. 同上,昨晚已进行修改,谢谢提醒

  8. 对,同时可以方便调试。

感谢大佬指教哈,如果大家发现还有什么问题,欢迎拍砖

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
8个月28天前
3楼
引用BG9IPE发表于1楼的内容
1、充电电路是否有做在手表哦端的必要2、晶体是否需要添加匹配电容3、单片机内部是否有可以直接利用的内...

对于第一条,说一点个人见解:充电电路如果不放在手表里面,就需要留出来充电接口或触点,这些接口或触点肯定需要和锂电池正负极直接相连,这样就很容易把电池短路,此外如果再配一个充电器肯定比USB直充要麻烦(况且USB接口不单单可以充电,还可以作为通信接口)据我所知,世面上的手环手表之类没有一种是不自带充电电路的

看到楼主用了4056做充电芯片,其实根本没有必要,手表上的电池容量都不会太大,充电电流自然也大不到哪里去,完全可以用一些sot23封装的芯片替代,同时充电电路占用的面积也可以缩小好多

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月28天前
4楼
引用发表于3楼的内容
对于第一条,说一点个人见解:充电电路如果不放在手表里面,就需要留出来充电接口或触点,这些接口或触点肯...

emm...大佬有没有什么推荐的sot23充电芯片,感谢😄

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
8个月28天前
5楼
引用TonyCheng发表于4楼的内容
emm...大佬有没有什么推荐的sot23充电芯片,感谢😄

或许可以试试4054,不加指示灯的话只需要两个外围元件。附一张典型电路,充电电流可以通过改变5脚接地的电阻阻值来调节,电池容量比较小的话可以把这个电阻换成10k的。指示灯充电亮满电熄,也可以省去,或者用单片机判断此脚电平,从而可以用屏幕显示等方式来进行充电状态指示

IMG_20210825_134415.jpg

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月28天前
6楼
引用发表于5楼的内容
或许可以试试4054,不加指示灯的话只需要两个外围元件。附一张典型电路,充电电流可以通过改变5脚接地...

okk,谢谢大佬

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
wtywtykk
8个月28天前
7楼

串口刷程序的话boot和reset是否也要拉出去

闹钟的话,缺少音频输出,(以及震动)

按键可以硬件上并电容做消抖,软件上能省不少事

高频晶振不建议去掉电容,另外高频晶振可以用内部时钟,反正计时只需要低频晶振准确就行。高频晶振省掉能节约一些空间。低频晶振是否芯片内部集成电容这个我不太记得了,但是如果该有电容实际没有的话,可能影响稳定性和精度的

stm32我记得每个电源脚都要有电容退藕来着

ADC输入我习惯会加个电容,减少stm32里面ADC采样时候的波动。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月28天前 修改于 8个月28天前
8楼
引用wtywtykk发表于7楼的内容
串口刷程序的话boot和reset是否也要拉出去闹钟的话,缺少音频输出,(以及震动)按键可以硬件上并...

boot已经引出,reset不用,重新上电即可

闹钟这个嘛...只是屏幕显示😂地方实在不够了

按键已经并了电容,感谢提醒。

晶振使用外部晶振,考虑后由于位置实在不够,没加起振电容

不是每个脚都要有电容,vcc线上面有就可以

adc这个是测量电池电压,电压不会有太大波动,故没有加电容

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
BG9IPE
8个月28天前
9楼
引用发表于3楼的内容
对于第一条,说一点个人见解:充电电路如果不放在手表里面,就需要留出来充电接口或触点,这些接口或触点肯...

正极串个二极管就行了吧? 如果做手环的话,USB接口一是体积大,二是使用环境是否会导致触点腐蚀。

附图是我之前做的一个类似设备..

86909e43gy1gsfhxh5aefj24m932wqv7.jpg 86909e43gy1gsfhxoe1usj24dq2x7e83.jpg

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
8个月28天前
10楼
引用BG9IPE发表于9楼的内容
正极串个二极管就行了吧? 如果做手环的话,USB接口一是体积大,二是使用环境是否会导致触点腐蚀。附图...

用二极管直接充特别不靠谱,很容易伤电池,否则现在也不可能出现这么多型号的锂电池充电专用芯片。就拿上面提到的4054来说,虽然占用pcb面积会稍大一些,但是多了恒流充电、涓流充电、充满自停、充电状态指示以及过温保护等多种功能,对于一个需要比较频繁充放电的设备来说尽可能保证电池寿命还是比较重要的。至于充电口,毕竟USB在现在是最主流的接口之一,不过我感觉想用什么接口主要还是看需求和个人习惯。

此外提醒一下楼主,根据电路图并结合pcb来看,楼主的microUSB接口的连线有误,正确接法如下

IMG_20210825_234440.jpg

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月27天前
11楼
引用发表于10楼的内容
用二极管直接充特别不靠谱,很容易伤电池,否则现在也不可能出现这么多型号的锂电池充电专用芯片。就拿上面...

完蛋...pcb已经去打样了😅只有改一下重新打咯 谢谢大佬提醒

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月22天前
12楼

现在程序已经基本搞定了,但是由于主控MCU出了问题,可能硬件方面一时半会还搞不定。今晚(8.31)就要住校了,以后可能一周一更,还望大家谅解哦~

另,求点赞(bushi😂

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
8个月22天前
13楼

嗯,赞一下。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月18天前
14楼
引用虎哥发表于13楼的内容
嗯,赞一下。

感谢虎哥的肯定😄会努力把这个做好

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月16天前
15楼

更换主控后(L051C8T6)还是无法正常使用,烧录程序时总是提示“芯片设置读保护”,尝试用不同工具进行全片擦除,均无作用,烧录程序时提示“烧录出错在0KB,用时xxx毫秒”,估计是因为外部电路搭建出现了问题。计划这周末回家后更换STM32F103C8T6再次尝试。同时有请各位大佬们帮忙看一下帖子里面主控外围原理图是否有错误,感谢!

PS:已经混入学校创客社,这个回复就是用创客社电脑发出来的😂

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
20!Dopaminor
8个月16天前
16楼

今天stm32降价了吗

引用
评论(1)
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
8个月10天前
17楼

进度说明:由于近期学校社团参加省科创赛,此项目可能暂时搁置,预计10月中下旬科创赛答辩结束后项目恢复进行。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
7个月4天前
18楼

进度说明:省科创赛已结束(本校的项目获得一等奖 sticker ),此项目恢复进行。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyStark
6个月29天前
19楼

虽然没时间关注了,但还是赞一个👍😀

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
谁叫小明
6个月26天前
20楼

这体积做手表会不会有点儿大了哈哈哈哈,按这年头做手表stc的芯片估计比较合适吧,像8和15系列的芯片性价比都不错功能也全,有些芯片还内置rc振荡器省去了晶振啥的。还有好奇你的屏幕是打算用哪种

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
6个月26天前 修改于 6个月26天前
21楼
引用谁叫小明发表于20楼的内容
这体积做手表会不会有点儿大了哈哈哈哈,按这年头做手表stc的芯片估计比较合适吧,像8和15系列的芯片...

emm,体积和Apple watch基本上一样😂,因为要用i2c驱动屏幕,还得用ADC采集温度电压,用stc相对来说比较麻烦,就选了stm32,有现成的库,比较好开发。屏幕用的0.96" 128*64 oled屏,虽说屏占比确实小但是勉强能用😅

等考完试得赶快把pcb打出来做好,这一拖再拖我自己都看不下去了😂

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
5个月1天前
22楼

已完成焊接调试工作。电池到货后将进行全系统调测工作。 WIN_20211220_13_15_44_Pro.jpg

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
5个月1天前
23楼
引用TonyCheng发表于22楼的内容
已完成焊接调试工作。电池到货后将进行全系统调测工作。

看着还不错哦

以后还可以把OLED屏幕自带的那个电路板上电路抄了搬到主板上,再把屏幕的软排线直接焊到主板上,可以减小总体厚度,想减小尺寸的话,板子上对功率没有要求的元件可以适当的换成更小的封装,元件间距也可以减小,不过焊接的时候基本就要上加热台了。

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
4个月27天前 修改于 4个月27天前
24楼

电池已经焊接,使用200mAh锂聚合物电池,充满电后已续航17.3h,电池开路电压3.66v,预计还能提供至少1.5h续航时间

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
4个月27天前
25楼

电池开路电压已降至3.53v左右,电量显示函数返回值(百分比)在0~3之间波动,续航测试结束。累计续航时间约18.4小时,大致符合设计预期。周末将进行第二次续航测试。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
4个月26天前
26楼

从12/24 20:25开始进行的第二次续航测试已于今天15:48结束,电池开路电压3.50v,续航时间19时23分。至于续航时间为什么比第一次长,估计是温度因素影响电池放电能力导致的(第一次在学校进行,环境温度约10°C到18°C,第二次在家进行,环境温度23.6°C到26.4°C)


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
4个月25天前
27楼

12.26:全部调测完成,实物大图已更新。晚上返校后回社团放源码和PCB。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
4个月25天前
28楼

源码、PCB项目文件和Gerber文件已发布,项目顺利完成 sticker

大家有什么意见尽管提哈

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
TonyCheng作者
4个月2天前 修改于 4个月2天前
29楼

2022.1.18更新:

新年新气象,手表摔碎屏幕一角后花屏,宣告报废😂(其实还能用,但看起来怪寒酸的)

以后可能会再做一版基于STM32F401的彩屏版本😂

IMG20220118153356.jpg

引用
评论(3)
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shaogod
2个月19天前
30楼

这类手表开发板网上很多的

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
shaogod
2个月19天前
31楼

似乎没必要自己设计吧,有点舍近求远多感觉

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
书呆子lhj
2个月3天前
32楼

很牛,真棒

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
cbq
20天7时前
33楼

楼主,你的代码我下下来好像不太全,少了好多东西

引用
评论(1)
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
等待中...
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
处理中..
处理失败
插入表情
我的表情
共享表情
Emoji
上传
注意事项
最大尺寸100px,超过会被压缩。为保证效果,建议上传前自行处理。
建议上传自己DIY的表情,严禁上传侵权内容。
点击重试等待上传{{s.progress}}%处理中...已上传,正在处理中
空空如也~
处理中...
处理失败
加载中...
草稿箱
加载中...
此处只插入正文,如果要使用草稿中的其余内容,请点击继续创作。
{{fromNow(d.toc)}}
{{getDraftInfo(d)}}
标题:{{d.t}}
内容:{{d.c}}
继续创作
删除插入插入
{{forum.displayName}}
{{forum.countThreads}}
篇文章,
{{forum.countPosts}}
条回复
{{forum.description || "暂无简介"}}
ID: {{user.uid}}
学术分隐藏
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

支持的图片格式:jpg, jpeg, png
插入公式
分享回复:{{shareId}}
加载中...
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
加入关注取消关注
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
建议修改
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也