FastBond智能可穿戴之智能手表原型
使用MAX32660作为主控芯片,ADXL362陀螺仪,实现了一个智能手表原型,具有计时计步功能。
标签
嵌入式系统
MAX32660
ADXL362
振青666
更新2021-11-08
1326

内容介绍

一、项目介绍

本项目是一个小型智能手表原型,具有简单的计步和计时功能。

二、使用器件

组成模块有MAX32660,ADXL362,OLED屏幕

1、MAX32660-EVK模块

主板上已安装基于MAX32625PICO的调试适配器;完成编程后,可将其直接拆卸。调试模块支持可选的10引脚Arm® Cortex®调试连接器,用于实现DAPLink功能。组合尺寸为0.65in x 2.2in,而主板独立尺寸为0.65in x 0.95in。外部连接采用双排连接头,兼容过孔和SMT应用。该电路板以非常小的空间提供强大的处理子系统,很容易集成到各种应用中。

MAX32660采用了带浮点运算功能的Cortex-M4内核,最大主频96MHz, 带256KB Flash和96KB SRAM,性能很强劲

Fnxx2A8QLWQAJVEfTSqet2cMXKBb

2、ADXL362模块
ADXL362具有
  • 超低功耗
  • 高分辨率:1 mg/LSB
  • 医疗植入式衍生选项
  • 内置系统级节能功能包括:
    • 运动激活的可调阈值休眠/唤醒模式
    • 自主中断处理,无需微控制器干预,系统其余部分可以完全关断
    • 深度嵌入式FIFO较大程度地减轻主机处理器负荷
    • 唤醒状态输出支持实现独立的运动激活开关
  • 噪声低至175 µg/√Hz
  • 宽电源和I/O电压范围:1.6 V至3.5 V
    • 采用1.8 V至3.3 V供电轨供电
    通过外部触发器进行加速度采样同步
  • 片内温度传感器
  • SPI数字接口
  • 可通过SPI命令选择测量范围
  • 小尺寸、薄型(3 mm × 3.25 mm × 1.06 mm)封装

3、OLED屏幕

使用IIC OLED屏幕,使用方便快捷。

三、计步原理

计步器使用向前、垂直和侧面的三个运动分量来计算一个人行走的总步数。计步器使用加速度计来获取这些值。每次取样后,加速度计都会不断更新3轴加速度的最大值和最小值。这些3轴(Max + Min)/ 2的平均值称为动态阈值水平,该阈值用于确定是否应该记录该步数。

计步器在运行时可以处于任何方向,因此计步器使用三个平方加和后开方用来作为计步运算值。

四、主要代码

计步判断代码

u8 judge(short data, short data0, u16 t, u8 threshold)
{
    u8 j = 0;
    if (data - data0 > 12)
    {
        k1 = 1;
        if (k0 == 2)
        {
            min = data0;
            tl = t;
            j = 1;
        }
    }
    else if (data0 - data > 12)
    {
        k1 = 2;
        if (k0 == 1)
        {
            max = data0;
            tx = t;
            j = 2;
        }
    }
    else
        k1 = k0;
    if (j == 1 && max - min > threshold)
        j = 3;
    k0 = k1;
    return j;
}

五、实物展示

Fk5QRRYXaJ5x3IdEoGuJAEYcXV_i

六、血泪史

本设计原本十一期间计划完成,但是出现了各种各样的问题,导致进度一拖再拖,首先感谢Lucia的不抛弃,在我像放弃的时候拉我一把,还在我迷茫,找不到问题所在的时候,联系工程师远程交流。

设计首先经历了投板不过的问题,由于之前焊接QFN比较少经验不足,可能产生虚焊,同时设计走线有问题,SPI通信一直不稳定,一直无法实现功能,然后为了能够按时提交项目,选择不打板,换为使用成品模块,在面包板上搭建原型的方案,结果万万没想到掉入了第二个深坑。

在新买的模块和面包板上实验时,还是一直无法实现通信,而且找不到原因,MISO上一直有一个毛刺无法排除,修改了无数次代码

Fufrm06FiofhXchpOJ9xGZn4KIfo

最后联系了硬禾学堂Lucia,通过远程协助,确认了程序没问题后,又进行了各种尝试,仍然不能通信,最后决定从头开始,重写了一个只有ADXL362驱动的程序,为了排除干扰,使用杜邦线直接和ADXL362模块连接,据然可以了!!

随即想到,之前更换了杜邦线,更换模块插在杜邦线上的位置,但是从来没调整过MAX32660核心板的位置,将面包板掉头,核心板插在了另一边,一切问题迎刃而解,后来拆开面包板,发现面包板的两个簧片不知道是什么原因,短接在了一起,正好就是MISO引脚,造成了这个毛刺,在解决了SPI通信问题后,一切变得非常顺利。

附件下载

max32660_362.rar

团队介绍

评论

0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号