劉 聰, 張莉萍
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 210600)
自行車作為傳統(tǒng)工業(yè)時(shí)代的產(chǎn)物,在信息化與智能化的今天,應(yīng)該使其具備更多人性化的功能。設(shè)計(jì)騎行運(yùn)動(dòng)智能輔助系統(tǒng)配備于普通自行車,可使普通自行車更加的智能化。在提升騎行體驗(yàn)的同時(shí),實(shí)現(xiàn)自行車與人的互動(dòng),帶來安全、智能的新感受。本文設(shè)計(jì)的自行車智能輔助系統(tǒng)除了具備普通碼表的顯示速度里程時(shí)間等基本功能外,還具有顯示卡路里消耗、環(huán)境溫度、心率監(jiān)測(cè)的功能,當(dāng)環(huán)境不適合騎行或超負(fù)荷騎行時(shí)系統(tǒng)發(fā)出提示信號(hào),并可通過藍(lán)牙將自行車騎行數(shù)據(jù)傳輸至手機(jī)端。
設(shè)計(jì)采用模塊化設(shè)計(jì)思路,系統(tǒng)的硬件電路設(shè)計(jì)主要包括STM32單片機(jī)為核心的數(shù)據(jù)處理模塊、液晶顯示模塊(liquid crystal display,LCD)、多個(gè)傳感器的數(shù)據(jù)采集模塊、以及藍(lán)牙傳輸模塊。數(shù)據(jù)采集傳感器有霍爾傳感器、DHT11溫濕度傳感器、可吸入微粒濃度傳感器和設(shè)計(jì)的心率傳感器。由STM32F103單片機(jī)處理各傳感器采集到的數(shù)據(jù)后實(shí)現(xiàn)自行車速度里程、環(huán)境參數(shù)、騎行者心率,以及騎行消耗的卡路里的顯示。當(dāng)環(huán)境不適合騎行或超負(fù)荷騎行時(shí)系統(tǒng)會(huì)發(fā)出提示,并可通過藍(lán)牙將自行車騎行數(shù)據(jù)傳輸至手機(jī)端。設(shè)計(jì)可輸入騎行者的性別、年齡和體重,騎行卡路里消耗的計(jì)算將根據(jù)騎行者性別、年齡和體重的差異采用不同的算法。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)示意
對(duì)于自行車速度的測(cè)量,由安裝于自行車前叉上的傳感器捕捉前車輪輻條上的感應(yīng)磁鐵帶來的脈沖信息實(shí)現(xiàn)??紤]到實(shí)際可操作性以及設(shè)計(jì)要求方面,本設(shè)計(jì)選用的傳感器為AH3144E霍爾電壓型傳感器[1]。自行車行駛時(shí),車輪輻條上的感應(yīng)磁鐵隨前輪轉(zhuǎn)動(dòng)。當(dāng)感應(yīng)磁鐵轉(zhuǎn)到霍爾傳感器處時(shí),磁場(chǎng)的變化使霍爾傳感器輸出電壓脈沖,霍爾傳感器輸出的1個(gè)脈沖周期就是車輪轉(zhuǎn)動(dòng)1圈的時(shí)間?;魻杺鞲衅鞯妮敵鲂盘?hào)為模擬信號(hào),為提高信號(hào)抗干擾能力以及方便對(duì)脈沖周期的測(cè)量,使用74HC14芯片對(duì)霍爾傳感器輸出波形進(jìn)行變換[2,3]。速度測(cè)量模塊電路如圖2所示,速度測(cè)量模塊輸出的波形為矩形脈沖。
圖2 速度測(cè)量模塊電路
設(shè)計(jì)使用DHT11數(shù)字式溫濕度傳感器采集環(huán)境溫濕度數(shù)據(jù),DHT11集溫濕度采集和模/數(shù)(analog to digital,A/D)轉(zhuǎn)換于一體,輸出數(shù)字信號(hào),具有體積小、功耗低以及抗干擾能力強(qiáng)等特點(diǎn)[4]。DHT11 支持“單線總線”接口,通過一個(gè)4.7 kΩ的上拉電阻器將數(shù)據(jù)輸出端 DQ和 單片機(jī)I/O口相連,單片機(jī)通過該總線初始化傳感器,完成溫濕度采集。傳感器的GND接地,VDD可以用數(shù)據(jù)線供電,也可以外部供電,為提高傳感器的抗干擾能力,設(shè)計(jì)采用外部電源供電。
采用光電容積法采集心率信號(hào),光電容積法是利用人體組織在血管搏動(dòng)時(shí)造成透光率不同來進(jìn)行心率測(cè)量[5,6]。心率傳感器由光發(fā)射器和光電變化器兩部分組成,可固定在被測(cè)者的手指或手腕上。光發(fā)射器采用波長為500~700 nm的發(fā)光二極管,當(dāng)光束透過人體外圍血管,動(dòng)脈搏動(dòng)充血容積變化引起光束透光率的變化[7]。由光/電變換器接收經(jīng)人體組織反射的光線,轉(zhuǎn)換為電信號(hào)并將其放大、輸出。光發(fā)射器采用了峰值波長為515 nm型號(hào)為AM2520的綠光發(fā)光二極管(light emitting diode,LED),而光接收器采用了APDS—9008[8]。由于脈搏信號(hào)的頻帶一般在0.05~200 Hz之間,信號(hào)幅度均很小,抗干擾能力差,在傳感器后面使用了低通濾波器和由運(yùn)放MCP6001構(gòu)成的放大器,將信號(hào)放大了330倍,同時(shí)采用分壓電阻器設(shè)置直流偏置電壓為電源電壓的1/2,使放大后的信號(hào)可以很好地被單片機(jī)采集到[9],如圖3所示。
圖3 心率測(cè)量模塊電路
通過檢測(cè)空氣中塵埃的反射光來實(shí)現(xiàn)對(duì)環(huán)境中可吸入微粒濃度信號(hào)采集。檢測(cè)裝置由紅外發(fā)光二極管(infrared light emitting diode,IRED)和一個(gè)光電二極管(photodiode,PD)組成,兩者呈對(duì)角排列[10]。由紅外LED光源發(fā)射光束,由光電二極管接收經(jīng)灰塵反射后的光束,光電二極管將光信號(hào)轉(zhuǎn)換為電壓信號(hào),經(jīng)信號(hào)放大電路處理后輸出。對(duì)于不同的可吸入微粒濃度,檢測(cè)裝置輸出不同的脈沖信號(hào),可調(diào)電阻器Rs調(diào)節(jié)檢測(cè)裝置的靈敏度。[11]可吸入微粒濃度檢測(cè)原理如圖4所示。
圖4 可吸入微粒濃度檢測(cè)原理
當(dāng)可吸入微粒濃度為0 mg/m3時(shí),檢測(cè)裝置的輸出電壓為0.6 V。隨著可吸入微粒濃度的增加,檢測(cè)裝置的輸出電壓線性增加,當(dāng)可吸入微粒濃度大于0.5 mg/m3時(shí),檢測(cè)裝置的輸出電壓趨于恒定為3.6 V[12]。裝置輸出電壓隨可吸入微粒濃度的變化如圖5所示。
圖5 輸出電壓隨可吸入微粒濃度的變化
系統(tǒng)軟件的設(shè)計(jì)主要包括系統(tǒng)初始化程序設(shè)計(jì)、按鍵輸入檢測(cè)程序設(shè)計(jì)、數(shù)據(jù)處理程序設(shè)計(jì)以及LCD液晶顯示程序設(shè)計(jì)。系統(tǒng)的初始化包括STM32單片機(jī)系統(tǒng)時(shí)鐘的初始化,定時(shí)器的初始化,以及各傳感器模塊的初始化。按鍵輸入檢測(cè)程序主要對(duì)用戶的設(shè)置進(jìn)行錄入,如用戶的性別和體重等。數(shù)據(jù)處理程序包括對(duì)霍爾傳感器輸入脈沖信號(hào)的處理,DHT11傳感器等輸入環(huán)境參數(shù)的處理,以及心率傳感器輸入心率信號(hào)的處理。傳感器輸入的信號(hào)經(jīng)過處理和計(jì)算后,形成速度、里程、溫度、心率、卡路里消耗等信息,最后通過LCD液晶屏顯示出來。程序流程如圖6所示。
圖6 程序流程
本文設(shè)計(jì)中使用STM32單片機(jī)中通用定時(shí)器的輸入脈沖捕獲功能對(duì)霍爾傳感器輸入的脈沖頻率進(jìn)行測(cè)量,根據(jù)脈沖頻率即可計(jì)算出騎行速度。當(dāng)通用定時(shí)器設(shè)置為輸入功能時(shí),可以用來檢測(cè)輸入到單片機(jī)GPIO口的信號(hào),通用定時(shí)器中的捕獲/比較寄存器TIMx_CCR用作捕獲功能。
將要測(cè)量的脈沖信號(hào)通過GPIO引腳輸入到定時(shí)器的脈沖檢測(cè)通道,將脈沖計(jì)數(shù)器TIMx_CNT配置為向上計(jì)數(shù)模式。當(dāng)捕獲通道上出現(xiàn)上升沿時(shí),第一次觸發(fā)IC1和IC2輸入捕獲中斷,這時(shí)將脈沖計(jì)數(shù)器TIMx_CNT復(fù)位為0,脈沖計(jì)數(shù)器從0開始計(jì)數(shù)。直到捕獲通道上出現(xiàn)下降沿時(shí),觸發(fā)IC2捕獲事件,并把脈沖計(jì)數(shù)器的當(dāng)前值N1保存到捕獲寄存器TIMx_CCR2中。脈沖計(jì)數(shù)器繼續(xù)計(jì)數(shù),直到捕獲通道上出現(xiàn)第二個(gè)上升沿時(shí),觸發(fā)IC1捕獲事件,并將脈沖計(jì)數(shù)器的當(dāng)前值N2保存到捕獲寄存器TIMx_CCR1中。脈沖信號(hào)輸入捕獲過程如圖7所示。
圖7 脈沖信號(hào)輸入捕獲時(shí)序
定時(shí)器時(shí)鐘頻率為f(Hz),輸入的脈沖信號(hào)周期為T,占空比為d,則
(1)
自行車的車輪半徑為R(m),則騎行的速度V(km/h)為V=(7.2πR)/T。
采用基于用戶心率的卡路里消耗計(jì)算方法[13,14]。根據(jù)用戶輸入系統(tǒng)的個(gè)人信息,包括體重、年齡、性別計(jì)算用戶騎行過程中的卡路里消耗,男性(Cm)和女性(Cf)分別為[15]
(2)
(3)
式中HR為心率,次/min;W為體重,kg;A為年齡;t為鍛煉持續(xù)的時(shí)間,min。
系統(tǒng)開機(jī)以后,需要輸入騎行者的體重、性別、年齡等相關(guān)數(shù)據(jù)。在騎行過程中,系統(tǒng)主機(jī)的顯示屏上顯示出相關(guān)騎行數(shù)據(jù),包括速度、行駛里程、卡路里消耗、心率、空氣質(zhì)量等。系統(tǒng)主機(jī)界面如圖8所示。
圖8 系統(tǒng)主機(jī)界面
每0.5 h對(duì)騎行的數(shù)據(jù)進(jìn)行1次記錄,如表1所示。
表1 騎行數(shù)據(jù)統(tǒng)計(jì)
本文設(shè)計(jì)除了具備普通碼表的顯示速度里程時(shí)間等基本功能外,還具有顯示卡路里消耗;環(huán)境參數(shù)以及心率監(jiān)測(cè)的功能。設(shè)計(jì)的騎行運(yùn)動(dòng)智能輔助系統(tǒng)配備于普通自行車,使普通自行車變得智能化。提升人們騎行體驗(yàn),實(shí)現(xiàn)自行車與人的互動(dòng)。未來將著手對(duì)所設(shè)計(jì)的騎行運(yùn)動(dòng)智能輔助系統(tǒng)功耗進(jìn)行優(yōu)化,使系統(tǒng)更加符合實(shí)際使用要求。相信隨著自行車運(yùn)動(dòng)越來越受到大家歡迎,騎行運(yùn)動(dòng)智能輔助系統(tǒng)將具有更廣闊的市場(chǎng)前景。