劉笑 李浩
摘要:本文主要介紹基于單片機(jī)開發(fā)的通用型單車速度里程表,適用于各種尺寸單車。該設(shè)計采用當(dāng)下流行的單片機(jī)AT89C51為控制中心,通過霍爾元件對單車轉(zhuǎn)數(shù)進(jìn)行測量,轉(zhuǎn)換計算后實現(xiàn)對單車的速度/里程測量。該設(shè)備具有兩種工作模式,適合于普通騎行和健身騎行,方便節(jié)能。文章闡述了設(shè)備的硬件電路設(shè)計和軟件部分的程序設(shè)計,簡化硬件設(shè)計,采用模塊化設(shè)計思想,將部分硬件功能軟件化,在程序中加以實現(xiàn)。
關(guān)鍵詞:單車;單片機(jī);測速里程;霍爾元件
近幾年經(jīng)濟(jì)的發(fā)展,使人們在追求高質(zhì)量生活水平的同時,節(jié)能、環(huán)保、綠色、生態(tài)的生活方式得到越來越多人的認(rèn)可。單車,作為綠色出行首選工具又重新回到了我們的身邊,更成為人們娛樂、休閑、鍛煉的工具。騎單車,可以鍛煉全身肌肉。但很多人在騎行中陷入誤區(qū),失去了騎行健身的作用。騎行的節(jié)奏、姿勢都影響著鍛煉的效果。運(yùn)動量、頻率和強(qiáng)度是運(yùn)動的三大原則,片面追求速度和力量只會對身體造成傷害。研究表明,單車的轉(zhuǎn)速在每分鐘7080轉(zhuǎn)時,身體熱量燃燒效果達(dá)到最佳。很多人認(rèn)為,速度越快,消耗能量越多。事實上,騎行不同于跑步,當(dāng)速度超過每分鐘100轉(zhuǎn)時,熱量燃燒速率就開始下降。本文設(shè)計的單車?yán)锍趟俣缺?,作為騎行的一大輔助設(shè)備,為騎行者提供兩種工作模式。在騎行健身模式下,能夠?qū)崟r的顯示瞬時速度、里程、騎行時間。在車速超過預(yù)設(shè)值時,進(jìn)行聲光報警,提醒騎行者調(diào)整車速,幫助騎行者達(dá)到最佳健身效果。在普通模式下,不進(jìn)行車速限制,只顯示車速、里程、騎行時間。本設(shè)備除了基本的測速和計算里程功能,還具有輔助健身功能,幫助使用者處于最佳騎行狀態(tài)。
一、方案論證
通過論證,本設(shè)計采用霍爾元件對里程與速度進(jìn)行測量,可以滿足工作標(biāo)準(zhǔn)要求,應(yīng)用中易于實現(xiàn),經(jīng)濟(jì)適用。設(shè)備為通用型,在安裝使用前,需根據(jù)車的型號設(shè)定車輪長度。在騎行模式下,通過安裝在車輪圈的傳感器,假定安裝了n個,用已知的車輪外周長,就可以得出計算里程值的最大誤差為L/n。為了提高里程計算精度,本設(shè)計中取n=3。在使用單車時,車輪每運(yùn)轉(zhuǎn)一圈,預(yù)裝的霍爾元件傳感器就采集到脈沖信號。利用單片機(jī)的中斷功能,將脈沖信號引入到單片機(jī)的外部中斷0。傳感器每收到一個脈沖信號,就對單片機(jī)的INT0提供一次計數(shù)中斷,中斷數(shù)值m與L/3的乘積為里程值。通過單片機(jī)自帶的定時器,可以得到車輪轉(zhuǎn)一圈所用的時間t。根據(jù)公式v=L/t,就可以得出瞬時速度v。若單車速度超預(yù)設(shè)值,系統(tǒng)發(fā)出報警信號,指示燈閃爍,幫助騎行者保持在最佳健身效果。
二、硬件設(shè)計
想要得到瞬時速度,關(guān)鍵就要解決信號的采樣問題。單片機(jī)體積小,功能強(qiáng)大。利用單片機(jī)內(nèi)部自帶的計數(shù)器,對來自于車輪上預(yù)裝的3個傳感器的脈沖進(jìn)行計數(shù)。根據(jù)方案,只要車輪運(yùn)轉(zhuǎn)一周,就會通過傳感器產(chǎn)生3個脈沖信號,脈沖信號經(jīng)過單片機(jī)進(jìn)行計算處理后,就能獲得轉(zhuǎn)速的信息。
霍爾元件,工作環(huán)境適應(yīng)性強(qiáng),安裝方便。在任何天氣狀況下都可以穩(wěn)定工作,即使雨水天被泥沙覆蓋也不會影響其工作的準(zhǔn)確度?;魻杺鞲衅魇歉鶕?jù)霍爾效應(yīng)制作的一種磁場傳感器,對磁場敏感、結(jié)構(gòu)簡單。這里采用開關(guān)型霍爾傳感器,可以得到數(shù)字量的輸出。具有體積小,壽命長,工作電壓范圍寬,能耗低,易于實現(xiàn)等優(yōu)點。
三、軟件設(shè)計
在軟件設(shè)計方面,我們采用C語言編寫,結(jié)構(gòu)清晰,可移植性好。整體的軟件系統(tǒng)包括下幾個部分:系統(tǒng)的上電初始化、信號采集處理程序、速度與里程計算轉(zhuǎn)換程序、LED顯示子程序、超限聲光報警處理程序和功能設(shè)置程序等幾大部分。為了方便系統(tǒng)的升級和功能優(yōu)化,全部程序功能采用模塊化設(shè)計方案實現(xiàn)。設(shè)備通電啟動,需要在主程序模塊中完成各項準(zhǔn)備工作,包括初始化各接口芯片、單車?yán)锍毯退俣鹊臍w零、預(yù)設(shè)中斷向量值以及開中斷等工作。另外,標(biāo)志寄存器、里程寄存器、速度寄存器的啟動/清除功能,也在主程序中進(jìn)行初始化設(shè)置。根據(jù)各標(biāo)志寄存器的內(nèi)容,最后通過主程序?qū)ψ映绦虻恼{(diào)用,完成相應(yīng)的動作,實現(xiàn)各項功能。騎行過程中,當(dāng)前的里程值和速度狀態(tài),分別通過P1.0和P1.1口輸出顯示。對于車輪的周長,進(jìn)行軟件化設(shè)計處理,達(dá)到適用各尺寸單車的目的。中斷0用于對輪子圈數(shù)的計數(shù)輸入,每收到3個脈沖信號,記為車輪運(yùn)轉(zhuǎn)一周。通過調(diào)用子程序,根據(jù)里程寄存器中的內(nèi)容計算出行駛里程數(shù)。外部中斷1用于控制定時器T1,當(dāng)輸入為0時定時器處于關(guān)閉狀態(tài)。當(dāng)外部中斷1收到一個脈沖信號時,定時器T1就會啟動。這樣定時器的開啟時間就是車輪轉(zhuǎn)1/3圈的時間,根據(jù)輪子的周長就可以計算出單車的速度。
四、結(jié)語
本設(shè)備安裝在單車上,除完成基本的測速和里程顯示外。還可以輔助健身者正確騎行,達(dá)到最佳健身效果。設(shè)備簡單,安裝方便。程序通用性強(qiáng),便于后期升級再開發(fā)。
參考文獻(xiàn):
[1]王俊峰,孟令啟.現(xiàn)代傳感器應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.
[2]張毅剛.單片機(jī)原理及應(yīng)用.高等教育出版社,2004.
[3]張洪潤,張亞凡.傳感器技術(shù)與應(yīng)用教程.清華大學(xué)出版社,2005.
[4]安宗權(quán).電動電子車速里程表分頻電路設(shè)計.自動化與儀器儀表,2001,5:3944.
[5]基于單片機(jī)的自行車速度里程表的設(shè)計畢業(yè)論文.
[6]基于單片機(jī)的出租車計價器設(shè)計畢業(yè)設(shè)計.
指導(dǎo)老師:劉洋,山東現(xiàn)代學(xué)院。