文/張景虎
自行車也稱為腳踏車,最早出現(xiàn)于18世紀(jì)末的歐洲,是一項(xiàng)改變?nèi)祟惓鲂蟹绞降膫ゴ蟀l(fā)明,純?nèi)肆C(jī)械結(jié)構(gòu),具有環(huán)保、運(yùn)動(dòng)健身等諸多優(yōu)點(diǎn)。隨著人們生活水平和健康意識(shí)的提高,自行車已成為世界各國(guó)喜愛(ài)的交通和健身工具。隨著科技的進(jìn)步,自行車正從傳統(tǒng)的交通代步工具逐步向運(yùn)動(dòng)化、休閑娛樂(lè)化和智能化方向發(fā)展。為了實(shí)時(shí)監(jiān)測(cè)自行車騎行狀態(tài)和記錄騎行相關(guān)信息,人們發(fā)明了自行車碼表。市場(chǎng)上流行的碼表通常只能顯示自行車速度、里程、日期時(shí)間等簡(jiǎn)單信息,缺少對(duì)騎行者腳踏頻率的測(cè)量。在騎行過(guò)程中合理控制腳踏頻率對(duì)科學(xué)健康騎行運(yùn)動(dòng)非常重要,所以實(shí)現(xiàn)碼表對(duì)腳踏頻率的測(cè)量十分必要。本設(shè)計(jì)是在傳統(tǒng)碼表的基礎(chǔ)上增加了腳踏頻率的測(cè)量,并給出科學(xué)合理的踏頻范圍給用戶提供健身指導(dǎo)。
本設(shè)計(jì)以MSP430單片機(jī)為主控芯片,包括車速傳感器、踏頻傳感器、溫濕度傳感器、時(shí)鐘模塊、顯示報(bào)警模塊和按鍵控制組成,其整體結(jié)構(gòu)如圖1所示。
本系統(tǒng)由電池供電,故對(duì)系統(tǒng)功耗大小要求較高。美國(guó)TI公司生產(chǎn)的MSP430系列單片機(jī)專門為低功耗應(yīng)用場(chǎng)景設(shè)計(jì),具有超低功耗,最小電流達(dá)微安級(jí),具有處理能力強(qiáng)、運(yùn)算速度快、超低功耗、片內(nèi)資源豐富和開發(fā)環(huán)境靈活等諸多優(yōu)點(diǎn)。考慮到成本因素,本設(shè)計(jì)采用MSP430F5529芯片。
圖1:系統(tǒng)框圖
常用的車速傳感器包括磁電式交流傳感器、光電式數(shù)字信號(hào)傳感器和霍爾式數(shù)字信號(hào)傳感器。磁電式交流傳感器是一個(gè)交流信號(hào)發(fā)生器,由于其結(jié)構(gòu)復(fù)雜、成本較高,通常用在電控汽車等領(lǐng)域。光電式傳感器是利用半導(dǎo)體材料的光電效應(yīng)產(chǎn)生數(shù)字信號(hào),對(duì)工作環(huán)境潔凈度要求較高,不適合自行車等戶外運(yùn)動(dòng)。
將一通電導(dǎo)體置于一個(gè)與導(dǎo)體表面垂直的磁場(chǎng)中時(shí),在導(dǎo)體上與電流流向垂直的兩端會(huì)產(chǎn)生微弱電動(dòng)勢(shì),此為霍爾效應(yīng),此效應(yīng)是物理學(xué)家愛(ài)德文·霍爾在1879年研究載流導(dǎo)體在磁場(chǎng)中受力性質(zhì)時(shí)發(fā)現(xiàn)的一種電磁現(xiàn)象。霍爾器件是一種基于霍爾效應(yīng)的傳感器,是由霍爾效應(yīng)材料與相關(guān)電路集成在一個(gè)芯片上面制成的敏感器件,具有體積小、結(jié)構(gòu)牢固、低功耗、頻帶響應(yīng)寬、非接觸、可靠性高等特點(diǎn),故廣泛應(yīng)用于非電量測(cè)量、自動(dòng)控制和信息處理等方面?;魻柶骷摧敵鲂盘?hào)性質(zhì)分為線性霍爾和開關(guān)霍爾。線性霍爾輸出模擬量,由一個(gè)簡(jiǎn)單的霍爾片組成,需要將獲得的微弱霍爾電壓進(jìn)行放大才能使用。開關(guān)霍爾輸出開關(guān)量,由霍爾元件和數(shù)字信號(hào)處理電路組成,不需要外加電路即可輸出數(shù)字開關(guān)量。按應(yīng)用類型可分為直接應(yīng)用和間接應(yīng)用,直接應(yīng)用就是檢測(cè)對(duì)象為磁場(chǎng)或表現(xiàn)磁特性,間接應(yīng)用為需要檢測(cè)的信息裝載于磁場(chǎng)上面,可用于檢測(cè)非電磁物理量,如角度、位置、流量、速度、壓力、計(jì)數(shù)等,再將這些物理量轉(zhuǎn)化為電壓信號(hào)輸入系統(tǒng)進(jìn)行處理。本設(shè)計(jì)采用的霍爾傳感器為開關(guān)霍爾,其引腳如圖2所示。當(dāng)磁場(chǎng)靠近和遠(yuǎn)離時(shí)會(huì)產(chǎn)生高低信號(hào)電平,由于產(chǎn)生的信號(hào)為數(shù)字信號(hào),為后續(xù)單片機(jī)處理提供較大方便。通常將霍爾傳感器安裝在自行車前車輪輪叉處,在前輪輪條上固定一小磁塊,車輪每轉(zhuǎn)動(dòng)一圈就感應(yīng)一次,從而產(chǎn)生一個(gè)數(shù)字脈沖,將數(shù)字脈沖送給單片機(jī)進(jìn)行處理。
腳踏頻率測(cè)量是本設(shè)計(jì)所增加的功能,一般的碼表都不帶該功能。踏頻傳感器的作用是測(cè)量自行車腳踏板的旋轉(zhuǎn)頻率,和車速傳感器工作原理完全一樣,也采用霍爾傳感器。將傳感器固定在腳踏輪軸附近的車架上,在腳踏板內(nèi)側(cè)安裝一小磁塊,當(dāng)旋轉(zhuǎn)腳踏板時(shí)確保能引起霍爾傳感器的磁感應(yīng)產(chǎn)生一個(gè)數(shù)字脈沖,將信號(hào)送給單片機(jī)進(jìn)行處理。在自行車運(yùn)動(dòng)中對(duì)踏頻的控制十分重要,低踏頻高速度會(huì)使騎行者腿部肌肉和膝關(guān)節(jié)受力非常大,長(zhǎng)時(shí)間或經(jīng)常性低踏頻高速度騎行容易引起大腿肌肉發(fā)達(dá)變粗,影響體型外觀,而且容易導(dǎo)致膝關(guān)節(jié)內(nèi)半月板受傷,嚴(yán)重的可致殘。運(yùn)動(dòng)科學(xué)證明,在非專業(yè)的騎行運(yùn)動(dòng)中,為了保護(hù)腿部肌肉和膝關(guān)節(jié)不受損傷,一般正常巡航車速在20~30公里/小時(shí)的腳踏頻率控制在90轉(zhuǎn)/分鐘左右,專業(yè)運(yùn)動(dòng)員可達(dá)120轉(zhuǎn)/分鐘以上,在上坡路時(shí)應(yīng)提前降檔,適當(dāng)提高踏頻。
溫濕度傳感器用來(lái)測(cè)量當(dāng)前騎行環(huán)境的溫度和濕度,以提醒騎行者判斷天氣狀況是否適合戶外騎行。本設(shè)計(jì)采用DHT11數(shù)字溫濕度傳感器,該傳感器是一款測(cè)量溫度和濕度相復(fù)合的傳感器,帶內(nèi)部數(shù)據(jù)校準(zhǔn)功能,具有接口簡(jiǎn)單、體積小、超低功耗、成本低、性能穩(wěn)定等特性。DHT11與單片機(jī)接口電路如圖3所示。
時(shí)鐘模塊采用DS1302時(shí)鐘芯片,它是由美國(guó)DALLAS公司推出的具有涓流充電能力的低功耗、高精度實(shí)時(shí)時(shí)鐘芯片,24小時(shí)誤差不超過(guò)2秒,采用串行數(shù)據(jù)傳輸,使用時(shí)需要外接一個(gè)32.768KHz的晶體振蕩器為其提供時(shí)鐘脈沖信號(hào),其日期和時(shí)間的運(yùn)行完全獨(dú)立于單片機(jī),通過(guò)串行接口能直接設(shè)置和讀出秒、分、時(shí)、日、星期、月、年等數(shù)據(jù)信息。具有功耗低、精度高、成本低、接口簡(jiǎn)單、完全獨(dú)立性等優(yōu)點(diǎn)。
按鍵控制模塊設(shè)置三個(gè)按鍵,其中一個(gè)實(shí)現(xiàn)功能切換,包括:設(shè)置自行車前車輪周長(zhǎng)、設(shè)置日期和時(shí)間、設(shè)置超速和踏頻報(bào)警閾值、顯示瞬時(shí)速度和瞬時(shí)踏頻、顯示單次平均車速和平均踏頻、顯示單次騎行里程和騎行時(shí)間、顯示當(dāng)前溫度濕度和總里程。第二個(gè)按鍵和第三個(gè)按鍵為設(shè)置功能時(shí)的數(shù)值增加和減少控制鍵。
顯示模塊使用低功耗串行數(shù)據(jù)接口的字符型LCD1602液晶屏,能顯示速度、踏頻、里程、溫濕度、日期和時(shí)間等信息。為了騎行安全,當(dāng)騎行瞬時(shí)速度和瞬時(shí)踏頻超過(guò)設(shè)置閾值時(shí)蜂鳴器發(fā)出提示報(bào)警聲音。
由于霍爾傳感器安裝在自行車前車輪輪叉上,車輪帶動(dòng)小磁塊每旋轉(zhuǎn)一圈霍爾傳感器就會(huì)輸出一個(gè)脈沖,單片機(jī)只要測(cè)量出脈沖信號(hào)的頻率即可計(jì)算出當(dāng)前車速。測(cè)量脈沖頻率通常有兩種方法:測(cè)頻法和測(cè)周法。
測(cè)頻法為在限定的時(shí)間內(nèi)(如1秒)檢測(cè)脈沖的個(gè)數(shù)。設(shè)1秒內(nèi)脈沖個(gè)數(shù)為N,前輪周長(zhǎng)為L(zhǎng),當(dāng)前車速為v,則:v=N×L(米/秒),再換算成公里/小時(shí)。
測(cè)周法是測(cè)量一個(gè)脈沖的周期。設(shè)脈沖周期為T,則當(dāng)前車速v=L/T。為了提高測(cè)量精度,可測(cè)量連續(xù)多個(gè)脈沖周期時(shí)間之和再取平均的方法,本設(shè)計(jì)采用測(cè)周法,霍爾傳感器輸出的脈沖作為單片機(jī)的外部中斷觸發(fā),在中斷服務(wù)程序中打開定時(shí)器計(jì)時(shí),下一個(gè)脈沖到來(lái)后停止計(jì)時(shí),定時(shí)時(shí)間即為脈沖周期。踏頻測(cè)量原理與測(cè)速原理相同。
系統(tǒng)上電后首先對(duì)所有模塊進(jìn)行初始化,然后計(jì)算當(dāng)前車速,當(dāng)車速為零時(shí)為靜止?fàn)顟B(tài),轉(zhuǎn)入低功耗模式并統(tǒng)計(jì)靜止?fàn)顟B(tài)持續(xù)的時(shí)間T,當(dāng)T達(dá)到1小時(shí)后則判斷為一次騎行結(jié)束,當(dāng)車速由零變?yōu)榉橇銜r(shí),判斷為一次騎行開始,然后計(jì)算當(dāng)前踏頻、讀取日期時(shí)間、溫濕度等相關(guān)信息,最后根據(jù)按鍵所設(shè)置的功能選擇顯示不同信息。整體流程圖如圖4所示。
所有功能都是通過(guò)按鍵K1進(jìn)行切換,程序中設(shè)一計(jì)數(shù)變量key,每按一次按鍵K1,key變量加1,功能切換如下(所有功能均顯示當(dāng)前日期和時(shí)間):
當(dāng)key=0時(shí)為默認(rèn)狀態(tài),顯示當(dāng)前瞬時(shí)車速和瞬時(shí)踏頻,判斷車速和踏頻是否超過(guò)閾值,一旦超過(guò)即報(bào)警提示。
當(dāng)key=1時(shí)顯示平均車速和平均踏頻。
當(dāng)key=2時(shí)顯示單次行駛里程和總里程。
當(dāng)key=3時(shí)顯示當(dāng)前溫度和濕度,并給出是否適合騎行的建議。
當(dāng)key=4時(shí)設(shè)置日期和時(shí)間。
當(dāng)key=5時(shí)設(shè)置車速和踏頻報(bào)警閾值。
當(dāng)key=6時(shí)設(shè)置前輪周長(zhǎng)值。
本文在傳統(tǒng)自行車碼表的基礎(chǔ)上增加了對(duì)騎行者腳踏頻率的測(cè)量和預(yù)警,能有效保護(hù)騎行者腿部肌肉和膝關(guān)節(jié)免受傷害,提高騎行安全性。為了節(jié)省電池電量,當(dāng)車速為零(停車)時(shí),將系統(tǒng)置入低功耗模式。實(shí)驗(yàn)證明本文自行車碼表具有功能強(qiáng)、功耗低、成本低、工作穩(wěn)定等特點(diǎn),符合絕大多數(shù)騎行者的要求。
圖2:霍爾傳感器
圖3:DHT11與單片機(jī)接口電路
圖4:整體流程圖