趙小蘭,胡 征,王培坤,林曉歡,莊衍豎,黃維沛
(華南理工大學(xué)電子與信息學(xué)院,廣東廣州,510641)
在經(jīng)濟(jì)高速發(fā)展的今天,自行車不再是一種簡(jiǎn)單的交通工具,而成為一項(xiàng)考驗(yàn)人的耐力的戶外運(yùn)動(dòng)。隨著身邊的騎行客的增加,與自行車相關(guān)的戶外裝備市場(chǎng)也被帶動(dòng)的熱火起來,碼表就是騎行客必備的裝備之一。而市場(chǎng)上的碼表品牌繁多,價(jià)格也從幾十到上千不等,品質(zhì)不一、安裝也較復(fù)雜。方便、美觀、精確的自行車碼表具有一定的實(shí)用價(jià)值。本文設(shè)計(jì)的碼表適合廣大自行車業(yè)余愛好者,除去了許多華而不實(shí)的復(fù)雜功能,節(jié)省資源,性價(jià)比高,能實(shí)現(xiàn)娛樂和鍛煉的雙重效果。
用霍爾傳感器A44E來實(shí)現(xiàn)測(cè)速功能,他的工作方式為:只要有磁性物體在傳感器,則數(shù)據(jù)腳會(huì)輸出高電平。把磁鐵固定在車輪外圍的鋼絲上,把傳感器固定在旁邊的支撐架上。車輪每轉(zhuǎn)一圈,磁鐵就經(jīng)過一次A44E上方,則A44E輸出一個(gè)上升沿和一個(gè)下降沿。利用單片機(jī)的中斷口,來檢測(cè)下降沿,即轉(zhuǎn)過的圈數(shù),每隔一定時(shí)間,記下轉(zhuǎn)過的圈數(shù),即可算出那段時(shí)間的平均速度。
通過單片機(jī)對(duì)溫濕度傳感器DHT11寫控制字,DHT11可以讀周圍環(huán)境的溫濕度,并用串行數(shù)據(jù)的方式從數(shù)據(jù)腳傳出,用單片機(jī)讀回來并經(jīng)過換算就可知道周圍環(huán)境的溫度、濕度。
用單片機(jī)的中斷或者時(shí)鐘芯片來做。考慮到用時(shí)鐘芯片寫時(shí)間比較準(zhǔn)確,我們用時(shí)鐘芯片DS1302來產(chǎn)生時(shí)鐘數(shù)據(jù),通過單片機(jī)讀回來,經(jīng)過換算就可以得到現(xiàn)在的時(shí)間值。
里程數(shù)記錄著從碼表開始使用到現(xiàn)在自行車行駛過的路程,需要掉電保存。STC12LE5A60S2中有自帶的EEPROM,可以掉電保存數(shù)據(jù),所以把里程數(shù)存入芯片自帶的EEPROM中。EEPROM可刷新次數(shù)在幾十萬次左右,故考慮到碼表的使用時(shí)間長(zhǎng)度,每行駛1km刷新一次數(shù)據(jù),可存儲(chǔ)較長(zhǎng)的里程數(shù),使用較長(zhǎng)時(shí)間。
顯示是自行車碼表里功耗最大的一個(gè)模塊。本文選用NOKIA5110來顯示各項(xiàng)數(shù)據(jù)。Nokia5110可以控制背光的開關(guān),并且可以顯示數(shù)字,字母。我們只要往液晶的主控芯片中寫指令,寫數(shù)據(jù)就可以控制液晶顯示出我們想要的數(shù)據(jù)了。
系統(tǒng)設(shè)計(jì)框圖如圖1所示,經(jīng)穩(wěn)壓芯片AMS1117-3.3穩(wěn)壓后的電池電壓供給碼表中的各個(gè)器件。其中,測(cè)速用到的A44E脈沖用單片機(jī)中斷INT0讀入并記下,3s算一次速度;溫度、濕度由傳感器DHT11讀入,傳給單片機(jī)并換算成溫濕度;時(shí)鐘由時(shí)鐘芯片DS1302來控制;里程數(shù)存入單片機(jī)自帶的EEPROM中。碼表上帶有4個(gè)獨(dú)立按鍵,用來設(shè)置初始時(shí)間,切換顯示數(shù)據(jù)。上述的所有數(shù)據(jù)都由NOKIA5110來顯示。

系統(tǒng)主要實(shí)現(xiàn)以下功能:時(shí)間設(shè)置,顯示時(shí)間。顯示自行車行駛的平均速度。顯示當(dāng)前環(huán)境的溫度、濕度。顯示行駛的總里程數(shù)。
此自行車碼表從設(shè)計(jì)上可以分成5個(gè)模塊:時(shí)鐘模塊,霍爾傳感器測(cè)速模塊,溫濕度測(cè)量模塊,單片機(jī)最小系統(tǒng),顯示模塊。其中,時(shí)鐘模塊、霍爾傳感器測(cè)速模塊和溫濕度測(cè)量模塊的傳感器都是接3.3V電源和地,然后數(shù)據(jù)腳接一個(gè)上拉電阻,接到單片機(jī)。Nokia5110接好電源和地線,數(shù)據(jù)腳接到單片機(jī)。四個(gè)獨(dú)立按鍵一端接到地,一端接到單片機(jī)的I/O口。6V電源,經(jīng)過3.3V的穩(wěn)壓芯片得到3.3V的電源。系統(tǒng)硬件原理圖如圖2所示。
軟件部分是主控程序模塊、液晶顯示模塊、EEPROM里程數(shù)記錄模塊、DS1302時(shí)鐘模塊、DHT11溫濕度傳感器讀寫模塊、速度測(cè)量模塊和延時(shí)模塊,流程圖如圖3所示。程序先對(duì)液晶初始化,對(duì)定時(shí)器0初始化(測(cè)速用);然后進(jìn)入主程序的循環(huán);先執(zhí)行時(shí)鐘走動(dòng)和顯示時(shí)間函數(shù);后進(jìn)入顯示溫濕度模塊;接著讀取3s鐘內(nèi)時(shí)鐘轉(zhuǎn)過的圈數(shù),換算成速度并顯示;最后計(jì)算經(jīng)過的里程數(shù),如果相對(duì)上次刷新又走過1km,則重新寫入EEPROM中,否則跳過,一直執(zhí)行這個(gè)循環(huán)。獨(dú)立按鍵掃描在時(shí)鐘顯示模塊中進(jìn)行。
經(jīng)過各個(gè)模塊的軟硬件調(diào)試,確定各部分都沒有問題,則進(jìn)行系統(tǒng)調(diào)試。調(diào)試結(jié)果為:溫度在正常環(huán)境下誤差在2~3攝氏度之間。而在速度較小的時(shí)候,測(cè)速誤差較大,速度大的時(shí)候,測(cè)速誤差小。EEPROM記錄里程數(shù)有一定誤差,因?yàn)橹皇潜敬伍_機(jī)后行駛滿1KM才可以刷新重新保存,如果這次開機(jī)后剛好行駛0.9KM然后關(guān)機(jī)了,則這段距離就不會(huì)被記錄到芯片中,久而久之會(huì)有一定誤差。

圖2 系統(tǒng)硬件原理圖

本文設(shè)計(jì)的多功能自行車碼表,把多種功能集合到碼表上,但是成本低、功耗小,可幫助自行車愛好者隨時(shí)掌握自己鍛煉的各種環(huán)境參數(shù)。經(jīng)過實(shí)際使用,盡管碼表外形設(shè)計(jì)暫時(shí)未做到精美,但是測(cè)量的各項(xiàng)指標(biāo)都很好,誤差小、穩(wěn)定度高、可正常在室外使用。
[1]張雄星,王超,陳超.多功能自行車?yán)锍瘫硐到y(tǒng)設(shè)計(jì)[J].信息技術(shù),2011,(9):171-173.
[2]郝敏釵.基于單片機(jī)的自行車?yán)锍瘫淼脑O(shè)計(jì)[J].無線互聯(lián)科技,2012,(6):73-74.
[3]王立文.車速里程表的工作原理及速比的計(jì)算方法[J].黑龍江科技信息,2010,(27):48-49.
[4]路國慶,趙曉博,胡立強(qiáng),郝絨華.脈沖檢測(cè)方法的霍爾傳感器在里程表中的應(yīng)用[J].機(jī)械設(shè)計(jì)與制造,2009,(1):87-90.
[5]王喜忠,孫文輝,那紹華.車速里程表測(cè)量示值不確定度的評(píng)定[J].現(xiàn)代測(cè)量與實(shí)驗(yàn)室管理,2011,(1):28-29.
[6]林土勝.單片機(jī)技術(shù)及工程實(shí)踐[M].機(jī)械工業(yè)出版社,2010.
[7]張軍,宋濤.AVR單片機(jī)C語言程序設(shè)計(jì)實(shí)例精粹[M].北京:電子工業(yè)出版社,2009.
[8]周繼明,江世明.傳感技術(shù)與應(yīng)用[M].中南大學(xué)出版社,2005.