基于MSP430的自行车码表设计
2020-01-16张景虎
文/张景虎
1 前言
自行车也称为脚踏车,最早出现于18世纪末的欧洲,是一项改变人类出行方式的伟大发明,纯人力机械结构,具有环保、运动健身等诸多优点。随着人们生活水平和健康意识的提高,自行车已成为世界各国喜爱的交通和健身工具。随着科技的进步,自行车正从传统的交通代步工具逐步向运动化、休闲娱乐化和智能化方向发展。为了实时监测自行车骑行状态和记录骑行相关信息,人们发明了自行车码表。市场上流行的码表通常只能显示自行车速度、里程、日期时间等简单信息,缺少对骑行者脚踏频率的测量。在骑行过程中合理控制脚踏频率对科学健康骑行运动非常重要,所以实现码表对脚踏频率的测量十分必要。本设计是在传统码表的基础上增加了脚踏频率的测量,并给出科学合理的踏频范围给用户提供健身指导。
2 系统硬件设计
本设计以MSP430单片机为主控芯片,包括车速传感器、踏频传感器、温湿度传感器、时钟模块、显示报警模块和按键控制组成,其整体结构如图1所示。
本系统由电池供电,故对系统功耗大小要求较高。美国TI公司生产的MSP430系列单片机专门为低功耗应用场景设计,具有超低功耗,最小电流达微安级,具有处理能力强、运算速度快、超低功耗、片内资源丰富和开发环境灵活等诸多优点。考虑到成本因素,本设计采用MSP430F5529芯片。
图1:系统框图
常用的车速传感器包括磁电式交流传感器、光电式数字信号传感器和霍尔式数字信号传感器。磁电式交流传感器是一个交流信号发生器,由于其结构复杂、成本较高,通常用在电控汽车等领域。光电式传感器是利用半导体材料的光电效应产生数字信号,对工作环境洁净度要求较高,不适合自行车等户外运动。
将一通电导体置于一个与导体表面垂直的磁场中时,在导体上与电流流向垂直的两端会产生微弱电动势,此为霍尔效应,此效应是物理学家爱德文·霍尔在1879年研究载流导体在磁场中受力性质时发现的一种电磁现象。霍尔器件是一种基于霍尔效应的传感器,是由霍尔效应材料与相关电路集成在一个芯片上面制成的敏感器件,具有体积小、结构牢固、低功耗、频带响应宽、非接触、可靠性高等特点,故广泛应用于非电量测量、自动控制和信息处理等方面。霍尔器件按输出信号性质分为线性霍尔和开关霍尔。线性霍尔输出模拟量,由一个简单的霍尔片组成,需要将获得的微弱霍尔电压进行放大才能使用。开关霍尔输出开关量,由霍尔元件和数字信号处理电路组成,不需要外加电路即可输出数字开关量。按应用类型可分为直接应用和间接应用,直接应用就是检测对象为磁场或表现磁特性,间接应用为需要检测的信息装载于磁场上面,可用于检测非电磁物理量,如角度、位置、流量、速度、压力、计数等,再将这些物理量转化为电压信号输入系统进行处理。本设计采用的霍尔传感器为开关霍尔,其引脚如图2所示。当磁场靠近和远离时会产生高低信号电平,由于产生的信号为数字信号,为后续单片机处理提供较大方便。通常将霍尔传感器安装在自行车前车轮轮叉处,在前轮轮条上固定一小磁块,车轮每转动一圈就感应一次,从而产生一个数字脉冲,将数字脉冲送给单片机进行处理。
脚踏频率测量是本设计所增加的功能,一般的码表都不带该功能。踏频传感器的作用是测量自行车脚踏板的旋转频率,和车速传感器工作原理完全一样,也采用霍尔传感器。将传感器固定在脚踏轮轴附近的车架上,在脚踏板内侧安装一小磁块,当旋转脚踏板时确保能引起霍尔传感器的磁感应产生一个数字脉冲,将信号送给单片机进行处理。在自行车运动中对踏频的控制十分重要,低踏频高速度会使骑行者腿部肌肉和膝关节受力非常大,长时间或经常性低踏频高速度骑行容易引起大腿肌肉发达变粗,影响体型外观,而且容易导致膝关节内半月板受伤,严重的可致残。运动科学证明,在非专业的骑行运动中,为了保护腿部肌肉和膝关节不受损伤,一般正常巡航车速在20~30公里/小时的脚踏频率控制在90转/分钟左右,专业运动员可达120转/分钟以上,在上坡路时应提前降档,适当提高踏频。
温湿度传感器用来测量当前骑行环境的温度和湿度,以提醒骑行者判断天气状况是否适合户外骑行。本设计采用DHT11数字温湿度传感器,该传感器是一款测量温度和湿度相复合的传感器,带内部数据校准功能,具有接口简单、体积小、超低功耗、成本低、性能稳定等特性。DHT11与单片机接口电路如图3所示。
时钟模块采用DS1302时钟芯片,它是由美国DALLAS公司推出的具有涓流充电能力的低功耗、高精度实时时钟芯片,24小时误差不超过2秒,采用串行数据传输,使用时需要外接一个32.768KHz的晶体振荡器为其提供时钟脉冲信号,其日期和时间的运行完全独立于单片机,通过串行接口能直接设置和读出秒、分、时、日、星期、月、年等数据信息。具有功耗低、精度高、成本低、接口简单、完全独立性等优点。
按键控制模块设置三个按键,其中一个实现功能切换,包括:设置自行车前车轮周长、设置日期和时间、设置超速和踏频报警阈值、显示瞬时速度和瞬时踏频、显示单次平均车速和平均踏频、显示单次骑行里程和骑行时间、显示当前温度湿度和总里程。第二个按键和第三个按键为设置功能时的数值增加和减少控制键。
显示模块使用低功耗串行数据接口的字符型LCD1602液晶屏,能显示速度、踏频、里程、温湿度、日期和时间等信息。为了骑行安全,当骑行瞬时速度和瞬时踏频超过设置阈值时蜂鸣器发出提示报警声音。
3 测速原理
由于霍尔传感器安装在自行车前车轮轮叉上,车轮带动小磁块每旋转一圈霍尔传感器就会输出一个脉冲,单片机只要测量出脉冲信号的频率即可计算出当前车速。测量脉冲频率通常有两种方法:测频法和测周法。
测频法为在限定的时间内(如1秒)检测脉冲的个数。设1秒内脉冲个数为N,前轮周长为L,当前车速为v,则:v=N×L(米/秒),再换算成公里/小时。
测周法是测量一个脉冲的周期。设脉冲周期为T,则当前车速v=L/T。为了提高测量精度,可测量连续多个脉冲周期时间之和再取平均的方法,本设计采用测周法,霍尔传感器输出的脉冲作为单片机的外部中断触发,在中断服务程序中打开定时器计时,下一个脉冲到来后停止计时,定时时间即为脉冲周期。踏频测量原理与测速原理相同。
4 系统程序设计
4.1 总体设计
系统上电后首先对所有模块进行初始化,然后计算当前车速,当车速为零时为静止状态,转入低功耗模式并统计静止状态持续的时间T,当T达到1小时后则判断为一次骑行结束,当车速由零变为非零时,判断为一次骑行开始,然后计算当前踏频、读取日期时间、温湿度等相关信息,最后根据按键所设置的功能选择显示不同信息。整体流程图如图4所示。
4.2 按键功能选择
所有功能都是通过按键K1进行切换,程序中设一计数变量key,每按一次按键K1,key变量加1,功能切换如下(所有功能均显示当前日期和时间):
当key=0时为默认状态,显示当前瞬时车速和瞬时踏频,判断车速和踏频是否超过阈值,一旦超过即报警提示。
当key=1时显示平均车速和平均踏频。
当key=2时显示单次行驶里程和总里程。
当key=3时显示当前温度和湿度,并给出是否适合骑行的建议。
当key=4时设置日期和时间。
当key=5时设置车速和踏频报警阈值。
当key=6时设置前轮周长值。
5 结束语
本文在传统自行车码表的基础上增加了对骑行者脚踏频率的测量和预警,能有效保护骑行者腿部肌肉和膝关节免受伤害,提高骑行安全性。为了节省电池电量,当车速为零(停车)时,将系统置入低功耗模式。实验证明本文自行车码表具有功能强、功耗低、成本低、工作稳定等特点,符合绝大多数骑行者的要求。
图2:霍尔传感器
图3:DHT11与单片机接口电路
图4:整体流程图