科技与信息
2019.02 计算机产品与流通
95
基于 STM32 的智能自行车码表设计
⎕
高子颀 赵霞
摘要:一台基于STM32的智能自行车码表,能够实现测量当
前自行车行驶速度、行驶距离、踩踏频率、通过ANT+数据传
输协议并配合心率带实现实时心率显示等功能。
关键词:码表;自行车;速度测量;距离显示;心率显示
随着骑行运动的迅速发展,在越来越多的人参与自行车运
动的大环境下,自行车逐渐成为一种运动工具、社交工具,而
非代步通勤工具,自行车运动也逐渐为人们所喜爱。随着参与
骑行活动的人越来越多,高端运动码表的需求也随之增加。而
仅能实现当前速度与里程的传统码表已经难以满足高端运动玩
家的需求。可以实时定位并记录行驶轨迹、配合心率带实现实
时心率显示以提升训练效能已逐渐成为人们所追求的功能。市
面上的传统码表品类繁多,功能良莠不齐,本文中所设计的码
表省去了大量华而不实的功能,适合广大自行车爱好者进行专
业自行车训练。
一、硬件设计
(一)总体设计方案
本设计的总体方案为在骑行中,通过传感器将运动过程中
的速度、心跳频率、踩踏频率等转化为频率不同的脉冲信号,
将这些不同的脉冲信号输送到 MCU 中。并通过 MCU 对脉冲
信号进行数据处理,使单片机精准的测量出运动速度、骑行者
的心率、踩踏频率、骑行总里程等数据信息。最终在屏幕上显示。
(二)单片机的选择
本设计需要通过单片机实现对不同传感器所发送的脉冲信
号的处理及输出。本设计采用了型号为 STM32F103 的单片机。
STM32 是一款性能较高的数字信号处理 IC,支持低功耗工作
模式。时钟信号经过内部 PLL 倍频后最高可达到 72M。基于行
业标准处理器的业界最强大的产品系列以及大量的硬件和软件
开发工具,使得 STM32 微控制器使用起来很方便实用。
(三)显示模块的选择
显示模块采用 IIC 接口的 oled 液晶屏模块,1 号引脚接
VCC,2 号引脚接 GND,引脚 3 连接到 SDA(IIC 数据线)。
需要注意的是模块 IIC 的 SDA 引脚作为一个输入输出双向口通
常不具备输出能力,往往需要在电路外部增加上拉电阻来提供
电流,使得 SDA 能够具备输出能力
[1]
。引脚 4 连接到 SCL(IIC
时钟线),连接到 MCU 的 PC6,接单片机的 PC7。
(四)速度
通过使用霍尔传感器 A44E 来实现测速功能,他的工作方
式为 : 当有磁铁在传感器附近施加磁场时,传感器会出现电位
差,数据脚输出高电平
[2]
。将磁铁安装在轮组辐条的中间位置 ,
并将霍尔传感器固定在距离磁铁 5mm 左右的前叉内壁位置。
既不能距离太远以免造成测量不准确,数据丢失;也不可以太
近,防止在剧烈骑行过程中磁铁晃动碰到传感器造成危险。轮
组每完成一次转动 , 运动的磁铁就经过一次传感器,传感器则
输出一个上升沿和一个下降沿。利用单片机的中断口,来检测
下降沿,即轮组转动的次数,每秒对轮组转动的次数进行一次
记录 , 即可计算出实时的骑行速度。
(五)踩踏频率
踩踏频率的测量方式与速度类似,都是使用霍尔传感器
A44E 来实现测量功能
[3]
。将磁铁安装在传动系统中左侧曲柄
的内侧凹陷处,并将传感器安装在车架左后下叉靠近立管的位
置上方。这样可以最大程度的保护系统的稳定性并减小空气阻
力。每进行一次踩踏,曲柄完成一次转动,运动的磁铁就经过
一次传感器。传感器则输出一个上升沿和一个下降沿。利用单
片机的中断口,来检测下降沿,即曲柄转动的次数,每秒对曲
柄转动的次数进行一次记录 , 即可计算出实时的踩踏频率。
(六)行驶距离
行驶距离记录着从运动开始到结束的行驶里程,并要实现
掉电保存的功能。STM32F103 中有自带的带电可擦可编程读写
存储器 EEPROM,能够实现掉电后的数据存储
[4]
。并且可以
在内容存储满后擦除现有信息,重新写入。将行驶距离保存在
MCU 自带的 EEPROM 中。EEPROM 重新写入的寿命可达几
十万次,为了使码表尽可能的使用更长的时间,每行驶 0.1 公
里写入一次距离数据,可存储较长的行驶距离,实现较长的产
品寿命。
(七)心率
心率的实时显示需要使用传感器对当前心率进行检测。常
用的传感器是 ANT+ 心率传感器。ANT+ 是基于 ANT 技术的
一种受控网络(managed network)。它对特定类型的传感器,
以及相应的接收终端的设计都给出了标准化的规范与定义
[5]
。
对于非侵入式心率检测,目前比较成熟的就是胸带式心电传感
器和光电心率传感器。我们选择了更适合在运动过程中进行检
测的胸带式心电传感器。在接收端我们选择了 Nordic Nrf51922
S310 芯片,可以通过这款芯片实现与 ANT+ 传感器的同步无线
通讯。
二、程序设计
单片机的软件部分主要由定时器和主程序组成。定时器每
间隔 1 秒,程序会对所收集的数据进行处理和输出。单片机收
集到不同的脉冲信号并根据其特征分别在速度、踏频、心率端
显示,随后根据圆的周长计算公式记录一秒内的行驶距离。从
第一秒开始将每秒的行驶距离进行累加,将累加后的数据输送
到显示屏中,实现行驶距离的显示。
三、实物调试
通过焊接不同的模块到单片机,将码表初步制作完成,配
合不同传感器进行调试。在测试过程中发现当达到一定速度时
如 55 千米每小时时,码表会出现数据停止增长甚至数据清零
的状况,这是因为超过了单片机计数器的采集范围,需使用更
高级的单片机。当在不同同学的自行车上进行测试时,在保持
相同速度的前提下屏幕所显示的速度不同。这是因为不同自行
车的轮胎直径不同,需要在程序中根据轮径的不同来调整程序
中计算速度的公式。
四、结语
本文所设计的基于 STM32F103 单片机为核心的智能自行车
码表,成功实现了将速度、行驶距离、踩踏频率、心率显示在
屏幕上的功能。可以使自行车爱好者及专业自行车运动员实时
关注自己的运动数据,根据心率的区间来调节踩踏频。率,起
到更高效的训练效果。尽管码表外形粗糙,体积和重量也没有
控制到理想范围内,但性能稳定,误差小,可以长时间在户外
使用。
参考文献
[1]LIWenzhong,DUANChaoyu.Thewirelessnetworking
crossesthethresholdandtheactual[M].Beijing:BeihangUniversity
,2007,35-60.
[2] 路国庆 , 赵晓博 , 胡立强 , 郝绒华 . 脉冲检测方法的霍尔传感器
在里程表中的应用 [J]. 机械设计与制造 ,2009(1):87-89.
[3] 赵小兰 . 胡征 . 王培坤 . 林晓欢 . 庄衍竖 . 黄维沛 . 多功能自行
车码表设计 [J]. 电子测试 ,2013(20):1-2.
[4]余成波 . 传感器与白动检测技术[J].北京 :高等教言出版
社 ,2014.
[5] 汪志 . 基于 WBAN 的健康监测系统设计 [D].2016.
(作者单位:青岛恒星科技学院)
评论1
最新资源