黎伟峰
[摘 要] 结合单片机技术和无线电协议的教学,开发了一个先进码表产品。描述了一个基于STM32F407的自行车码表系统。系统通过GPS模块接收并记录设备持有者的移动速度、坐标和海拔等。系统中的nRF24ap2芯片模块支持ANT+协议,通过ANT+协议能与使用相同协議的其他产品配对,接收运动员心率、功率等信息。系统通过LCD显示屏实时更新信息。
[关 键 词] 教学;码表;自行车;STM32;GPS;ANT+
[中图分类号] TP368.12 [文献标志码] A [文章编号] 2096-0603(2021)12-0146-02
在中职单片机教学实践中,教学内容相对比较抽象,容易让一般的中职学生感到乏味,成为影响教学过程和教学质量的一个难题。开发一个应用单片机技术的实用电子装备,把它作为一个教学项目,让学生参与设计和制造,在这个过程中自觉补充所需的知识和技能,增加学生的成就感和获得感。通过与学生、教研组的反复研讨,项目定为基于单片机技术的多功能码表。
一、项目任务
在自行车运动训练中,运动员通过查看实时速度、心率、功率数据执行训练计划,在比赛中通过这些数据观察竞技状态,决定比赛策略,因此,一个能实时接收和显示数据的便携式系统成为运动员的迫切需求。这个码表的功能定位如下:整合GPS接收机和ANT接收器的功能,通过单片机处理相关数据并显示在LCD液晶屏上,支持速度、心率、功率等数据的显示,达到辅助自行车运动员训练和竞赛的要求。
具体需要完成的设计内容包括(总体结构见图1):
(1)GPS模块接收卫星定位信号,包括经纬度、地面速度、地面航向、海拔高度、UTC时间等,通过USART与单片机交互。
(2)ANT+接收器可与附近5米内ANT+传感器配对,接收每分钟心跳数、自行车踩踏频率、踩踏功率等数据,通过USART与单片机交互。
(3)信息处理单元处理来自GPS和ANT接收器的信息。
(4)LCD屏幕显示信息,实时更新。
二、项目开发流程
(一)码表部件选材
系统由单片机和GPS模块、ANT接收模块、LCD屏幕组成。微处理器通过两个USART接口分别接收来自GPS模块和ANT接收模块的信息,通过DMA把接收到的信息传输到内存中,由单片机处理器解码内存中的信息,包括速度、可用卫星、海拔等GPS信息,以及功率、心率、心率区间、踏频、左右平衡等ANT接收器接收到的信息。单片机处理器通过FSMC外设控制液晶屏幕显示以上信息。
(1)GPS模块:选用NEO-6M GPS模组,使用无源陶瓷天线,3.3或5V供电,支持串口和mini-USB接口。
(2)ANT接收模块:选用nRF24AP2-8CH模组从机模式,最多同时支持8通道,通过串口和微处理器进行交互。
(3)LCD屏幕模组:选用4.5寸电阻触摸屏幕,使用8080接口与单片机通信。
(4)单片机处理器:系统选用STM32F407ZGT6作为处理器。
(二)单片机电路设计
使用STM32F407ZGT6芯片,144引脚LQFP封装,工作电压1.8~3.6V。此芯片的最小系统由复位电路、程序下载接口、外部晶振电路、电源供电接口组成。
1.复位电路
此MCU低电平复位,复位电路设置了上电复位和按键复位。上电复位时,连接电源,在上电3ms内电容输出电压不超过0.5V,系统复位成功。
2.程序下载接口
STM32的启动模式可以分为3种:内部Flash、系统储存器(支持通过串口的ISP下载)、程序从内嵌的SRAM中启动。通过改变启动选择电路的连接可以选择不同的启动方式。该系统可以选择三种启动方式,还通过J-link下载器,使用JTAG接口进行程序的下载和调试。
3.外部晶振电路
电路使用一个25MHz的无源晶振为系统提供外部高速时钟,时钟从OSC_IN和OSC_OUT进入,由两个22pF的谐振电容帮助晶振起振。
4.电源供电接口
系统可以通过12V~6V外部电源供电,或通过5V USB供电。
DC DC电源接口可以接入6~12V的电源,使用RT7272电压转换成5V电源。外部电源供电时USB供电会断开,防止灌电流。5V电源为板上所有需要5V的芯片和接口供电。通过LDO转换,得到3.3V电源,为工作电压为3.3V的芯片供电。
(三)传感模块电路设计
ANT接收模块选用nRF24AP2芯片,其中PORTSEL引脚选择同步或异步工作模式,此处引脚接地,选择异步模式。BR1、BR2、BR3三个引脚为波特率选择引脚,此处波特率选择为9600。异步接口RXD、TXD、SUSPEND、SLEEP、RTS五个引脚与MCU相连,模块中引出这五个引脚以及电源、地和复位引脚。
GPS模块选用NEO-6M芯片,模块中带有EEPROM用于记录GPS配置参数,掉电复位后芯片从EEPROM上重新加载配置信息。模块上有USB转串口电路,可以直接向电脑发送信息。模块通过RXD和TXD与单片机通过串口通信。
三、驱动软件设计与系统测试
系统的GPS模块、ANT模块和LCD屏幕的软件驱动设计。具体内容有GPS模块的数据接收、NMEA报文的消息结构、数据解码的方法;ANT通讯协议的说明、ANT+心率和功率消息结构的说明、ANT模块的数据接收和处理;LCD控制器8080接口说明、MCU使用FSMC模拟8080时序的方法、LCD初始化和显示字符的程序说明。
GPS模块需要在室外或无遮挡的地方进行测试,可以通过串口传输到上位机进行测试。首先把GPS模块和电脑通过USB转串口进行直接连接,用u-center上位机进行测试。u-center是u-blox公司开发的上位机,可以方便观察卫星信号强度,还可以在上面配置GPS模块的寄存器调整性能。
初次启动时,把GPS模块放到信号良好的露天环境下,大约等待30s左右,GPS模块开始接收到有效数据。先接收到UTC时间,再接收其他数据,根据使用的卫星数不同可以接收到2D或3D定位数据。若GPS模块使用差分定位,则是使用了SBAS星基增强系统,准确度会提高到2m左右。
如图2所示,可以见到GPS模块接收到的数据从左到右分别为速度、可用卫星和可视卫星信号强度、卫星位置、UTC时间、航向角、指南针以及一个综合的数据表格,下半部分是使用卫星(绿色)信号强度和卫星名称以及可视卫星(蓝色)信号强度和卫星名称。可视卫星有11颗,模块自动选取信号较强的四颗卫星接收GPS信息。
把GPS模块与单片机连接,经过MCU的解码,通过串口再把解码后信息发送到上位机进行观察测试。
四、项目成果及应用效果
(一)项目成果使用性能优异
在实际的开发过程中,我和学生还对部分组件进行了升级优化,收到了非常好的效果,如选用STM32F407作为MCU,考虑到其具有丰富的接口资源和强大的浮点运算能力,能支持更多的数据运算;选用带SBAS的GPS模块实现定位和测速功能,在室外或信号良好的条件下可以接收时间、定位、海拔、速度等数据,只需数十秒的启动时间,水平误差值在2m左右。通过ANT模块可以接收10米以内存在的ANT+协议设备的心率和功率数据,在实际操作中连接时要附近没有其他同类主机的情况下操作,但连接成功后只要不断开连接,则可以一直接收同一个主机发送的信息。LCD屏幕可以做到清晰的同时显示10组数据,骑行中操作码表是十分不方便的,同时显示多组数据可以提高骑行安全。自行车运动一般在室外进行,GPS会有良好的信号。心率计会带在运动员身上,功率计会在自行车上,设备离码表距离一般为1~2m,不会超出ANT协议的通信范围,因此,本项目的设计在大多数的应用场景中能实现自行车码表的功能。
(二)项目成果教学效果非常好
用看得到摸得着的实际项目引导学生学习,发挥了学生学习的主观能动作用,受到了广大学生的欢迎。通过多功能码表设计,学生的专业学习兴趣和自信心都得到了提升,为学生提供了展示才能的平台。
教师在无线电协议、电路设计、测试和仪器使用、设计方案讨论等多方面技术得到锻炼,实现以研促教,大大提升了教师的综合能力。以多功能码表为载体,单片机、电路设计等专业教学工作开展得有声有色,促进了专业建设。
参考文献:
[1]朱成东,林华,董凤飞,等.自行车运动员多训练时期心率变异性变化特点研究[J].辽宁师范大学学报(自然科学版),2017,40(4):563-570.
[2]王江斌.自行车运动员耐力训练方法研究[J].黑龙江科学,2017,8(11):126-127.
[3]張威,王培勇,傅兰英,等.运动心率采集技术的发展[J].传感器与微系统,2015,34(12):1-4.
[4]李良,王德生,王小康,等.基于STM32单片机FSMC接口驱动LCD的配置与分析[J].机电产品开发与创新,2018(4):72-73.
编辑 郑晓燕