基于C8051F020的动感单车无线数据传输系统设计

2014-02-24 10:57蔡文静杨本全陈爱华
台州学院学报 2014年6期
关键词:端口单片机心率

蔡文静,杨本全,陈爱华

(台州学院 物理与电子工程学院,浙江 台州 318000)

基于C8051F020的动感单车无线数据传输系统设计

蔡文静,杨本全,陈爱华

(台州学院 物理与电子工程学院,浙江 台州 318000)

采用C8051F020单片机、HK-08A心率传感器、霍尔传感器A3144E和无线收发模块NRF24L01设计动感单车控制系统和无线数据传输系统。发送端C8051F020单片机实时监测心率传感器输出的心电信号和霍尔传感器输出的反应动感单车转速的脉冲信号,并对其进行处理,通过NRF24L0无线发射模块实时发送监测数据到监控中心;监控中心通过C8051F020单片机和无线接收模块NRF24L01对接收到的监控数据进行解码,解码数据通过监控中心C8051F020单片机串口发送到上位PC机。上位PC机控制界面通过VC++6.0编程实现,可以读取多个发送端的数据,并实时显示数据波形和存储数据,方便运动者实时查看和比对。本系统可以无线接收、实时显示(存储心率和转速数据)、操作界面良好,方便应用于家庭和各种类型的健身场地。

无线数据传输;动感单车;心率传感器;C8051F020

0引言

动感单车起源于美国,是目前在健身房里大受欢迎的有氧运动项目,运动者配合音乐、灯光,模仿各种运动方式,如爬山、快速骑车等,趣味性极强。目前很多健身房里采用的动感单车[1]很少配有心率和车速监测装置,运动者不能实时掌握自己的运动情况;即便是配置心率和车速监测装置,运动数据不能实时存储和查看,对于需要掌握自己某一阶段的运动数据和身体运动状况的运动者来说,产生极大的不便,所以有必要采用动感单车实时控制系统和无线数据传输系统。本文采用C8051F020单片机、HK-08A心率传感器[2][3]、霍尔传感器A3144E和无线收发模块NRF24L01[4,5]设计动感单车控制系统和无线数据传输系统。

1 整体方案设计

方案的主要任务是利用C8051F020单片机[6]、心率传感器、霍尔传感器在动感单车端实时监测和显示运动者的运动数据,并通过无线发射模块NRF24L01将数据进行编码并实时发送到监控中心;监控中心通过无线接收模块NRF24L01可以对多个动感单车运动者运动数据进行解码,解码数据送至C8051F020单片机进行处理并通过串口发送到上位PC机;上位PC机软件界面通过控制命令按钮,可以读取和保存某个或者多个运动者的运动数据。该系统除了具有一般动感单车的功能外,还具有动感单车端实时显示和监控运动者的心率和飞轮转速信息、心率上限报警功能,运动者对自己的运动情况和身体状况得到直观的了解,便于合理的安排运动强度,达到良好的健身效果。

2 硬件电路设计

2.1 硬件总体设计

整个系统主要无线发送子系统和无线接收系统构成。无线发送系统由DC/DC电源模块、传感器数据采集电路、单片机控制电路、无线发送模块组成。无线接收系统由电源供电电路、数据存储电路、单片机控制电路、串口通信电路和无线接收模块组成。其中无线发送系统考虑到运动者的人身安全和动感单车的可移动性,供电系统采用6V可充电电池供电,通过两片DC/DC电源IC转换为5V和3.3V给系统供电;传感器数据采集电路完成心率传感器HK-08A和霍尔传感器A3144E的心率与速度采集;单片机控制电路用于传感器数据处理和无线发送模块NRF24L01的控制。无线接收系统电源供电采用电源适配器完成AC/DC转换,并通过稳压IC AMS1117-3.3V给接收系统供电;数据存储系统主要完成各个子系统发送过来数据的暂存,容量设定为64KB*4;单片机控制电路完成存储器数据的存取和UART通信控制。系统电路设计框图分为无线发送系统框图和无线接收系统框图[6],分别如图1和图2所示。

图1 无线发送系统框图

图2 无线接收系统框图

2.2 无线发送系统电源模块

无线发送系统电源模块采用两片Torex公司的同步降压开关电源转换IC XC9236。该电压转换IC具有输入电压范围宽、输出电压外部设定、外围电路简单、转换效率高等优点[7,8]。电路设计时通过改变反馈电阻RFB1和RFB2的阻值,即可设定DC/DC模块输出分别稳定在5V和3.3V,其中5V输出供给LCD显示电路、蜂鸣器报警电路、低压监测电路和霍尔传感器A3144E;3.3V输出供给心率传感器、MCU和无线发送模块。

2.3 无线发送系统传感器数据采集电路

C8051F020单片机通过交叉开关使能中断引脚/INT0和/INT1,将心率传感器HK-08A和霍尔传感器A3144E输出接上拉4.7KΩ电阻分别配置在端口P0.6和P0.7,中断检测各个传感器的输出脉冲并对其进行计数,边沿检测和电平检测可以通过寄存器配置[9,10]。

心率传感器选用导电硅胶电极片探头安装在动感单车把手上,6只小磁钢安装在与单车飞轮的转轴同轴的半径为R的圆周并以角度60°的圆周等分线上,无线发送系统单元安装在车身固定框架结构上。心率传感器电极片探头通过屏蔽线接到无线发送系统单元,霍尔传感器与磁钢成90°并尽量靠近,以减少对测量准确度的影响。

2.4 无线发送系统单片机控制电路

单片机控制电路[11]主要实现如下功能:

1)通过中断方式实时监测心率传感器和霍尔传感器的输出脉冲,并对其计数和处理。

2)通过配置单片机内置ADC0,使能片内温度系数15ppm/℃的电压基准(VREF=2.430 V),在硬件设计上采用廉价的电阻分压(分压值小于满刻度参考电压值2.430V)通过LM358接成电压跟随器的方式配置到AIN0.0(P0.0)接口[6],实时监测电压电池电压。当电池电压低于设定的5V时,通过配置在P3.0端口的蜂鸣器报警,指示电池电压过低。

3)通过配置在P3.1端口的蜂鸣器报警指示心率达到设定的上限值。

4)通过配置交叉开关,使能串行外设总线接口SPI0,将无线发送模块NRF24L01的接口SCK、MISO、MOSI、CSN顺序配置在单片机的端口P0.2-P0.5,IRQ、CE接口分别配置在P3.2端口和P3.3端口,实现无线发送模块的命令控制和数据传输,无线发射模块部分是无线数据传输的关键[9]。通过单片机配置动感单车端NRF24L01的工作模式和地址。

5)动感单车端的数据显示采用TS1602实现,8位数据总线接口配置在P2端口,3位控制线RS、RW、EN分别连接到单片机的端口P1.0、P1.1和P1.2。

2.5 无线接收系统的数据存储电路

无线接收系统部分采用数据暂存的方式,实时存储来自动感单车端的心率和速度数据。系统采用一片容量为256K*8的SRAM IS62LV2568,实现4个动感单车端的数据分块存储,其中C8051F020 MCU将外部存储器接口EMIF配置在高端口、非复用方式、片外存储器模式,P5、P6端口分别作为EMIF的高8位和低8位地址,P7端口作为EMIF的8位数据总线。SRAM地址总线的接口A16、A17分别连接到单片机的端口P3.6和端口P3.7,以实现4个64kB数据存储空间的分块选择。

2.6 无线接收系统串口通信电路

系统采用一种基于CH341A芯片的USB转串口的方法。CH341A是一种USB总线的转接芯片,可以通过USB总线提供打印口、并口、异步串行接口以及同步串行接口。本设计主要采用两线的同步串行接口,实现单片机与计算机之间的USB通讯。接收端单片机使能UART0,将TXD和RXD配置到P0.0端口和P0.1端口,并通过输出端口P0.6控制CH341A的TEN#引脚,实现通讯速率控制。

2.7 无线接收系统MCU控制电路

通过分时改变无线接收模块NRF24L01的地址,实现4个动感单车无线发送端数据的分时读取和存储;通过配置单片机内置UART0,实现与上位PC机通信并将接收缓存在SRAM中的数据发送到上位PC机。

3 软件设计

系统的软件部分主要包括动感单车端无线发送部分软件、监控中心部分软件[6]和上位PC软件界面设计。

无线发送部分软件完成:系统初始化(I/O端口、ADC0和SPI0初始化)、中断检测心率和速度数据并处理、启动数据无线发送等[6]。无线发送部分流程图如图4所示。

监控中心部分软件完成:系统初始化(I/O端口、EMIF配置、UART、SPI0初始化)、监测NRF24L01是否有数据接收、数据分块存储并实时发送到上位PC机、切换接收端地址监测其它子系统是否有数据接收等。监控中心部分流程图如图5所示。

图4 无线发送部分流程图

图5 监控中心部分流程图

软件界面采用VC++6.0编程实现,用户通过配置界面相应按钮,启动串行通信;输入需要采集的子系统地址,点击采集即可实现某个动感单车端的数据,并将采集数据图形显示。实际采集效果如图6所示。

图6 实际采集效果图

4 结论

对于C8051F020单片机、传感器和无线收发模块NRF24L01设计的动感单车无线数据传输系统进行实际性能测试[6],具有如下特点:1)具有心率和转速数据智能监测的无线接收;2)动感单车端心率和速度数据实时显示和报警;3)空旷环境下,无线传输距离超过60m;4)软件界面友好、操作方便、可移植性好等特点。

[1]黄建军.动感单车 健身房“新宠”[EB/OL].http://news.xinhuanet.com/lady/2008-10/22/content_10228196.htm.,2008-10-22.

[2]马永利,王培勇.基于二维PSD的单目标靶模拟射击训练系统[J].传感技术学报,2004,17(3):497-500.

[3]何伟城,陈进军.基于红外方式的嵌入式人体心率检测系统设计[J].现代计算机,2011(4):95-97.

[4]王旭刚,胡珊逢,潘日敏.基于nRF2401的无线USB串口转换模块[J].电子器件,2009,32(4):778-780.

[5]马瑾,裴东兴,张少杰.基于nRF24L01的无线温湿度测试系统[J].电子设计工程,2011,20(2):64-66.

[6]杨本全,黄秋媛,赵汉俊,等.基于C8051F020的建筑货运电梯动作无线控制系统设计[J].科技通报,2013,29(7):136-139.

[7]李亚彬.基于无线控制与无线传输的数据采集系统 [D].南京:南京理工大学,2007.

[8]张洁琼,徐东明,付秀华.基于ZF01数传模块的无线多点温度采集系统设计[J].长春理工大学学报:自然科学版,2011, 34(4):45-48.

[9]潘琢金,孙德龙,夏秀峰.C8051F单片机应用解析[M].北京:北京航空航天大学出版社,2002.

[10]蔡晓雯,杨恢先,李正义,等.基于C8051F020的外部存储器扩展[J].测控技术,2008,27(3):52-54.

[11]杨本全,陈爱华,马迎,等.基于MSP430F149的便携式智能直流电子负载系统设计[J].科技通报,2014,30(1):149-152.

Spinning Wireless Data Transmission System Design Based on C8051F020

CAI Wen-jing,YANG Ben-quan,CHEN Ai-hua

(School of Physics and Electronics Engineering,Taizhou University,Taizhou 318000,China)

MCU C8051F020, heart rate sensor HK-08A, Hall components A3144E and the wireless transceiver module NRF24L01 are used to design spinning control system and wireless data transmission system. MCU C8051F020 is used to monitor and process ECG signals from heart rate sensor and pulse signals standing for spinning rate from A3144E.Signal data is sent to monitoring center by wireless emission module NRF24L01 and is decoded by MCU C8051F020 and receiver module NRF24L01. The decode data is sent to PC by MCU C8051F020.The control interface is realized by VC++6.0.It receives signal data from several emissions,shows curves and saves data from ECG signals and spinning signals. So it is easy to understand and compare. The system with comfortable interface realizes wireless data transmission,shows and saves ECG data and spinning rate data.So it can be applied to family and kinds of fitness facilities.

wireless data transmission;spinning;heart rate sensor;C8051F020

10.13853/j.cnki.issn.1672-3708.2014.06.006

(责任编辑:耿继祥)

2014-09-22;

2014-10-20

蔡文静(1983- )女,浙江临安人,助理实验师,主要研究方向:数字信号的采集与处理。

猜你喜欢
端口单片机心率
心率多少才健康
一种有源二端口网络参数计算方法
一种端口故障的解决方案
离心率
离心率相关问题
多按键情况下,单片机端口不足的解决方法
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪