蔡文靜,楊本全,陳愛華
(臺州學(xué)院 物理與電子工程學(xué)院,浙江 臺州 318000)
基于C8051F020的動感單車無線數(shù)據(jù)傳輸系統(tǒng)設(shè)計
蔡文靜,楊本全,陳愛華
(臺州學(xué)院 物理與電子工程學(xué)院,浙江 臺州 318000)
采用C8051F020單片機、HK-08A心率傳感器、霍爾傳感器A3144E和無線收發(fā)模塊NRF24L01設(shè)計動感單車控制系統(tǒng)和無線數(shù)據(jù)傳輸系統(tǒng)。發(fā)送端C8051F020單片機實時監(jiān)測心率傳感器輸出的心電信號和霍爾傳感器輸出的反應(yīng)動感單車轉(zhuǎn)速的脈沖信號,并對其進行處理,通過NRF24L0無線發(fā)射模塊實時發(fā)送監(jiān)測數(shù)據(jù)到監(jiān)控中心;監(jiān)控中心通過C8051F020單片機和無線接收模塊NRF24L01對接收到的監(jiān)控數(shù)據(jù)進行解碼,解碼數(shù)據(jù)通過監(jiān)控中心C8051F020單片機串口發(fā)送到上位PC機。上位PC機控制界面通過VC++6.0編程實現(xiàn),可以讀取多個發(fā)送端的數(shù)據(jù),并實時顯示數(shù)據(jù)波形和存儲數(shù)據(jù),方便運動者實時查看和比對。本系統(tǒng)可以無線接收、實時顯示(存儲心率和轉(zhuǎn)速數(shù)據(jù))、操作界面良好,方便應(yīng)用于家庭和各種類型的健身場地。
無線數(shù)據(jù)傳輸;動感單車;心率傳感器;C8051F020
動感單車起源于美國,是目前在健身房里大受歡迎的有氧運動項目,運動者配合音樂、燈光,模仿各種運動方式,如爬山、快速騎車等,趣味性極強。目前很多健身房里采用的動感單車[1]很少配有心率和車速監(jiān)測裝置,運動者不能實時掌握自己的運動情況;即便是配置心率和車速監(jiān)測裝置,運動數(shù)據(jù)不能實時存儲和查看,對于需要掌握自己某一階段的運動數(shù)據(jù)和身體運動狀況的運動者來說,產(chǎn)生極大的不便,所以有必要采用動感單車實時控制系統(tǒng)和無線數(shù)據(jù)傳輸系統(tǒng)。本文采用C8051F020單片機、HK-08A心率傳感器[2][3]、霍爾傳感器A3144E和無線收發(fā)模塊NRF24L01[4,5]設(shè)計動感單車控制系統(tǒng)和無線數(shù)據(jù)傳輸系統(tǒng)。
方案的主要任務(wù)是利用C8051F020單片機[6]、心率傳感器、霍爾傳感器在動感單車端實時監(jiān)測和顯示運動者的運動數(shù)據(jù),并通過無線發(fā)射模塊NRF24L01將數(shù)據(jù)進行編碼并實時發(fā)送到監(jiān)控中心;監(jiān)控中心通過無線接收模塊NRF24L01可以對多個動感單車運動者運動數(shù)據(jù)進行解碼,解碼數(shù)據(jù)送至C8051F020單片機進行處理并通過串口發(fā)送到上位PC機;上位PC機軟件界面通過控制命令按鈕,可以讀取和保存某個或者多個運動者的運動數(shù)據(jù)。該系統(tǒng)除了具有一般動感單車的功能外,還具有動感單車端實時顯示和監(jiān)控運動者的心率和飛輪轉(zhuǎn)速信息、心率上限報警功能,運動者對自己的運動情況和身體狀況得到直觀的了解,便于合理的安排運動強度,達到良好的健身效果。
2.1 硬件總體設(shè)計
整個系統(tǒng)主要無線發(fā)送子系統(tǒng)和無線接收系統(tǒng)構(gòu)成。無線發(fā)送系統(tǒng)由DC/DC電源模塊、傳感器數(shù)據(jù)采集電路、單片機控制電路、無線發(fā)送模塊組成。無線接收系統(tǒng)由電源供電電路、數(shù)據(jù)存儲電路、單片機控制電路、串口通信電路和無線接收模塊組成。其中無線發(fā)送系統(tǒng)考慮到運動者的人身安全和動感單車的可移動性,供電系統(tǒng)采用6V可充電電池供電,通過兩片DC/DC電源IC轉(zhuǎn)換為5V和3.3V給系統(tǒng)供電;傳感器數(shù)據(jù)采集電路完成心率傳感器HK-08A和霍爾傳感器A3144E的心率與速度采集;單片機控制電路用于傳感器數(shù)據(jù)處理和無線發(fā)送模塊NRF24L01的控制。無線接收系統(tǒng)電源供電采用電源適配器完成AC/DC轉(zhuǎn)換,并通過穩(wěn)壓IC AMS1117-3.3V給接收系統(tǒng)供電;數(shù)據(jù)存儲系統(tǒng)主要完成各個子系統(tǒng)發(fā)送過來數(shù)據(jù)的暫存,容量設(shè)定為64KB*4;單片機控制電路完成存儲器數(shù)據(jù)的存取和UART通信控制。系統(tǒng)電路設(shè)計框圖分為無線發(fā)送系統(tǒng)框圖和無線接收系統(tǒng)框圖[6],分別如圖1和圖2所示。
圖1 無線發(fā)送系統(tǒng)框圖
圖2 無線接收系統(tǒng)框圖
2.2 無線發(fā)送系統(tǒng)電源模塊
無線發(fā)送系統(tǒng)電源模塊采用兩片Torex公司的同步降壓開關(guān)電源轉(zhuǎn)換IC XC9236。該電壓轉(zhuǎn)換IC具有輸入電壓范圍寬、輸出電壓外部設(shè)定、外圍電路簡單、轉(zhuǎn)換效率高等優(yōu)點[7,8]。電路設(shè)計時通過改變反饋電阻RFB1和RFB2的阻值,即可設(shè)定DC/DC模塊輸出分別穩(wěn)定在5V和3.3V,其中5V輸出供給LCD顯示電路、蜂鳴器報警電路、低壓監(jiān)測電路和霍爾傳感器A3144E;3.3V輸出供給心率傳感器、MCU和無線發(fā)送模塊。
2.3 無線發(fā)送系統(tǒng)傳感器數(shù)據(jù)采集電路
C8051F020單片機通過交叉開關(guān)使能中斷引腳/INT0和/INT1,將心率傳感器HK-08A和霍爾傳感器A3144E輸出接上拉4.7KΩ電阻分別配置在端口P0.6和P0.7,中斷檢測各個傳感器的輸出脈沖并對其進行計數(shù),邊沿檢測和電平檢測可以通過寄存器配置[9,10]。
心率傳感器選用導(dǎo)電硅膠電極片探頭安裝在動感單車把手上,6只小磁鋼安裝在與單車飛輪的轉(zhuǎn)軸同軸的半徑為R的圓周并以角度60°的圓周等分線上,無線發(fā)送系統(tǒng)單元安裝在車身固定框架結(jié)構(gòu)上。心率傳感器電極片探頭通過屏蔽線接到無線發(fā)送系統(tǒng)單元,霍爾傳感器與磁鋼成90°并盡量靠近,以減少對測量準確度的影響。
2.4 無線發(fā)送系統(tǒng)單片機控制電路
單片機控制電路[11]主要實現(xiàn)如下功能:
1)通過中斷方式實時監(jiān)測心率傳感器和霍爾傳感器的輸出脈沖,并對其計數(shù)和處理。
2)通過配置單片機內(nèi)置ADC0,使能片內(nèi)溫度系數(shù)15ppm/℃的電壓基準(VREF=2.430 V),在硬件設(shè)計上采用廉價的電阻分壓(分壓值小于滿刻度參考電壓值2.430V)通過LM358接成電壓跟隨器的方式配置到AIN0.0(P0.0)接口[6],實時監(jiān)測電壓電池電壓。當電池電壓低于設(shè)定的5V時,通過配置在P3.0端口的蜂鳴器報警,指示電池電壓過低。
3)通過配置在P3.1端口的蜂鳴器報警指示心率達到設(shè)定的上限值。
4)通過配置交叉開關(guān),使能串行外設(shè)總線接口SPI0,將無線發(fā)送模塊NRF24L01的接口SCK、MISO、MOSI、CSN順序配置在單片機的端口P0.2-P0.5,IRQ、CE接口分別配置在P3.2端口和P3.3端口,實現(xiàn)無線發(fā)送模塊的命令控制和數(shù)據(jù)傳輸,無線發(fā)射模塊部分是無線數(shù)據(jù)傳輸?shù)年P(guān)鍵[9]。通過單片機配置動感單車端NRF24L01的工作模式和地址。
5)動感單車端的數(shù)據(jù)顯示采用TS1602實現(xiàn),8位數(shù)據(jù)總線接口配置在P2端口,3位控制線RS、RW、EN分別連接到單片機的端口P1.0、P1.1和P1.2。
2.5 無線接收系統(tǒng)的數(shù)據(jù)存儲電路
無線接收系統(tǒng)部分采用數(shù)據(jù)暫存的方式,實時存儲來自動感單車端的心率和速度數(shù)據(jù)。系統(tǒng)采用一片容量為256K*8的SRAM IS62LV2568,實現(xiàn)4個動感單車端的數(shù)據(jù)分塊存儲,其中C8051F020 MCU將外部存儲器接口EMIF配置在高端口、非復(fù)用方式、片外存儲器模式,P5、P6端口分別作為EMIF的高8位和低8位地址,P7端口作為EMIF的8位數(shù)據(jù)總線。SRAM地址總線的接口A16、A17分別連接到單片機的端口P3.6和端口P3.7,以實現(xiàn)4個64kB數(shù)據(jù)存儲空間的分塊選擇。
2.6 無線接收系統(tǒng)串口通信電路
系統(tǒng)采用一種基于CH341A芯片的USB轉(zhuǎn)串口的方法。CH341A是一種USB總線的轉(zhuǎn)接芯片,可以通過USB總線提供打印口、并口、異步串行接口以及同步串行接口。本設(shè)計主要采用兩線的同步串行接口,實現(xiàn)單片機與計算機之間的USB通訊。接收端單片機使能UART0,將TXD和RXD配置到P0.0端口和P0.1端口,并通過輸出端口P0.6控制CH341A的TEN#引腳,實現(xiàn)通訊速率控制。
2.7 無線接收系統(tǒng)MCU控制電路
通過分時改變無線接收模塊NRF24L01的地址,實現(xiàn)4個動感單車無線發(fā)送端數(shù)據(jù)的分時讀取和存儲;通過配置單片機內(nèi)置UART0,實現(xiàn)與上位PC機通信并將接收緩存在SRAM中的數(shù)據(jù)發(fā)送到上位PC機。
系統(tǒng)的軟件部分主要包括動感單車端無線發(fā)送部分軟件、監(jiān)控中心部分軟件[6]和上位PC軟件界面設(shè)計。
無線發(fā)送部分軟件完成:系統(tǒng)初始化(I/O端口、ADC0和SPI0初始化)、中斷檢測心率和速度數(shù)據(jù)并處理、啟動數(shù)據(jù)無線發(fā)送等[6]。無線發(fā)送部分流程圖如圖4所示。
監(jiān)控中心部分軟件完成:系統(tǒng)初始化(I/O端口、EMIF配置、UART、SPI0初始化)、監(jiān)測NRF24L01是否有數(shù)據(jù)接收、數(shù)據(jù)分塊存儲并實時發(fā)送到上位PC機、切換接收端地址監(jiān)測其它子系統(tǒng)是否有數(shù)據(jù)接收等。監(jiān)控中心部分流程圖如圖5所示。
圖4 無線發(fā)送部分流程圖
圖5 監(jiān)控中心部分流程圖
軟件界面采用VC++6.0編程實現(xiàn),用戶通過配置界面相應(yīng)按鈕,啟動串行通信;輸入需要采集的子系統(tǒng)地址,點擊采集即可實現(xiàn)某個動感單車端的數(shù)據(jù),并將采集數(shù)據(jù)圖形顯示。實際采集效果如圖6所示。
圖6 實際采集效果圖
對于C8051F020單片機、傳感器和無線收發(fā)模塊NRF24L01設(shè)計的動感單車無線數(shù)據(jù)傳輸系統(tǒng)進行實際性能測試[6],具有如下特點:1)具有心率和轉(zhuǎn)速數(shù)據(jù)智能監(jiān)測的無線接收;2)動感單車端心率和速度數(shù)據(jù)實時顯示和報警;3)空曠環(huán)境下,無線傳輸距離超過60m;4)軟件界面友好、操作方便、可移植性好等特點。
[1]黃建軍.動感單車 健身房“新寵”[EB/OL].http://news.xinhuanet.com/lady/2008-10/22/content_10228196.htm.,2008-10-22.
[2]馬永利,王培勇.基于二維PSD的單目標靶模擬射擊訓(xùn)練系統(tǒng)[J].傳感技術(shù)學(xué)報,2004,17(3):497-500.
[3]何偉城,陳進軍.基于紅外方式的嵌入式人體心率檢測系統(tǒng)設(shè)計[J].現(xiàn)代計算機,2011(4):95-97.
[4]王旭剛,胡珊逢,潘日敏.基于nRF2401的無線USB串口轉(zhuǎn)換模塊[J].電子器件,2009,32(4):778-780.
[5]馬瑾,裴東興,張少杰.基于nRF24L01的無線溫濕度測試系統(tǒng)[J].電子設(shè)計工程,2011,20(2):64-66.
[6]楊本全,黃秋媛,趙漢俊,等.基于C8051F020的建筑貨運電梯動作無線控制系統(tǒng)設(shè)計[J].科技通報,2013,29(7):136-139.
[7]李亞彬.基于無線控制與無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng) [D].南京:南京理工大學(xué),2007.
[8]張潔瓊,徐東明,付秀華.基于ZF01數(shù)傳模塊的無線多點溫度采集系統(tǒng)設(shè)計[J].長春理工大學(xué)學(xué)報:自然科學(xué)版,2011, 34(4):45-48.
[9]潘琢金,孫德龍,夏秀峰.C8051F單片機應(yīng)用解析[M].北京:北京航空航天大學(xué)出版社,2002.
[10]蔡曉雯,楊恢先,李正義,等.基于C8051F020的外部存儲器擴展[J].測控技術(shù),2008,27(3):52-54.
[11]楊本全,陳愛華,馬迎,等.基于MSP430F149的便攜式智能直流電子負載系統(tǒng)設(shè)計[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- )女,浙江臨安人,助理實驗師,主要研究方向:數(shù)字信號的采集與處理。