shuszhao 发表于 2017-12-14 19:01:09

蓝牙智能手表DIY - 附原理图/全套代码

很久很久以前就想自己做个手表了。3年前看到杜洋工作室的DoWatch,很是惊艳。然而近两百大洋的价格让人望而却步,想自己做一个。然而那时并没有那么多时间、精力、技术以及金钱,只能暂时放下。现在,我的技术能支撑这样的较大工程了,终于可以尝试自己做一个“智能”手表了。
这个项目是从今年3月开始制作的,历时大概2-3个月,到六月左右基本完成。本来想完全做完就发出来的,然而外壳始终是个问题,于是就只能发半成品了。

一、技术选型
这次的手表使用的是低功耗的蓝牙芯片——nRF51822,它比较适合用作可穿戴设备,所以我们在这里就使用它了。nRF51822这款芯片相对于cc2540芯片来说,有个最大的好处,那就是可以用JLink-OB进行下载调试,不像CC2540需要一个专用下载器来进行下载。
作为一个手表,肯定是要有显示器件的。我在这里选择了12864的OLED,毕竟它比较薄,比较小,而且显示效果不错。
至于蓝牙可穿戴的必备——加速度传感器,我就随便在淘宝挑了一款,它的型号是MMA8452。它可以提供12bit的精度,大部分情况下足够了。
电源部分,使用了大家熟悉的TP4057作为充电控制芯片,然后使用RT9193稳压到3.3V进行供电。
总成本大约50块(主控13块,加速度计8块,显示屏12块,线路板5块,电机2块,电池2块,其他周边电阻电容就算5块)。

二、电路搭建
电路图见图一。左边的四个接口分别是电池接口、充电接口、SWD调试插口以及震动电机接口。然后有个电池电压检测电路,使用的是官方博客中推荐的电阻值。充电芯片的两个灯接到了主控上,以此通知手表正在充电以及充电完成。加速度传感器也有一个中断发送给主控,是用作拍击手表切换页面的。由于空间有限,我没有预留任何按键,所有操作就只能通过这个拍击实现了。预留了SPI flash接口用于存字库。虽然在这个版本里面没有用到字库芯片,但是考虑到以后可能要弹出通知,还是预留一个SPI flash存点啥比较好吧。这里用的主控其实是一个模块,由于画高频天线以及焊接小原件不在行,所以这里直接用现成的模块。

http://img.mydigit.net/Mon_1712/76_1078085_b985de277ed96fd.png?169


三、原件布局
考虑到手表厚度有一定的限制,原件就不要随便放了。感觉现有方案已经是最小的方案了,如果要再小就只能不用模块而改用芯片自己搭了。
http://img.mydigit.net/Mon_1712/76_1078085_139f243ee1f4b37.png?30

http://img.mydigit.net/Mon_1712/76_1078085_1c29a90c921cd55.png?104
http://img.mydigit.net/Mon_1712/76_1078085_6caac859de55bdd.png?108


四、组装焊接
PCB的大小是30*30mm,为了保证厚度,我在打样PCB的时候选择了0.8mm厚度的PCB,这是不加钱的情况下能做到的最薄的厚度了。
http://img.mydigit.net/Mon_1712/76_1078085_4da371858c1dd05.jpg?114
http://img.mydigit.net/Mon_1712/76_1078085_99081bcb9828e9a.jpg?87
电池选用了20*30*3的聚合物电池,可以正好放在预留的背面上。
http://img.mydigit.net/Mon_1712/76_1078085_06c693f6e38cf02.jpg?147
http://img.mydigit.net/Mon_1712/76_1078085_2319616c552f874.jpg?193
焊接好的成品。由于这次设计的时候有几个地线没有连起来,所以在这里飞了几条线。底下的两个接口是调试用的,实际使用的时候应该是拆掉的。不难看出,这个布局差不多已经是极限了。


五、程序编写
略。我又不能在这里贴一大堆代码是不是,具体见底下的Github地址。
程序主要包括两大块——手表端的和手机端的。手表端使用官方SDK进行开发,手机端APP用的是cordova。手表端还包含了一个bootloader用于OTA升级,毕竟不能改一次程序就拆一次手表吧。
手机端APP没有写完,只写了时间设置;而手表的程序大概是完善了,有设置/显示时间功能,电量显示功能、闹钟震动功能(需要通过手机端设置)、计步器功能以及消息通知(需要手机端配合)。基本上市面上有的基本都有了,只差心率测量功能。然而心率功能需要传感器放背面,我这里实在是没有地方放心率传感器了,只能作罢。


六、图片
http://img.mydigit.net/Mon_1712/76_1078085_3025616fc886d50.jpg?111

http://img.mydigit.net/Mon_1712/76_1078085_b921ae8ce1b008d.jpg?136

http://img.mydigit.net/Mon_1712/76_1078085_b1fc781acf134d5.jpg?164

http://img.mydigit.net/Mon_1712/76_1078085_c4a2f91f231c7ec.jpg?95



七、还差些啥
还差个外壳。苦于没有外壳,这个工程就这么停摆了。3D打印和CNC都有点贵,又没有现成的外壳可以使用,自己做又嫌它丑,所以只能暂时放着。
手机APP还没有做好。其实主要是我懒,找个时间写完他应该就可以了。
续航不太行。虽然我尽力优化了待机状况下的耗电,但是还是达到了恐怖的410uA。待机耗电主要有两个方面,一个是需要保持蓝牙的连接(大概是300uA),一个是需要加速度传感器继续工作(需要记步,大约100uA)。而我们的电池只有180mAh,加上亮屏时候的LED的电流,可能只有3-4天一周左右的续航。


八、最后是Github的地址
所有程序的源代码、电路图以及线路板源文件,都放在了Github上,需要的可以自行下载来玩,或者Fork并在它的基础上进行改进。
https://github.com/jiangming1399/LotWatch

mj8abcd 发表于 2017-12-14 22:31:13

chivito 发表于 2017-12-15 02:44:18

desig 发表于 2017-12-15 08:40:02

这个DIY真的好。

snfnpl 发表于 2017-12-15 08:53:30

牛人,牛得不要不要的。

h_yun 发表于 2017-12-15 08:57:01

521lry 发表于 2017-12-15 21:54:31

gaoshoujd 发表于 2017-12-17 15:07:31

kushupcb 发表于 2018-2-5 15:02:41

   但表示不能下载,能否粘贴到本网站

mqchun 发表于 2018-2-6 09:51:07

页: [1] 2 3
查看完整版本: 蓝牙智能手表DIY - 附原理图/全套代码