趙小蘭,胡 征,王培坤,林曉歡,莊衍豎,黃維沛
(華南理工大學電子與信息學院,廣東廣州,510641)
在經(jīng)濟高速發(fā)展的今天,自行車不再是一種簡單的交通工具,而成為一項考驗人的耐力的戶外運動。隨著身邊的騎行客的增加,與自行車相關的戶外裝備市場也被帶動的熱火起來,碼表就是騎行客必備的裝備之一。而市場上的碼表品牌繁多,價格也從幾十到上千不等,品質(zhì)不一、安裝也較復雜。方便、美觀、精確的自行車碼表具有一定的實用價值。本文設計的碼表適合廣大自行車業(yè)余愛好者,除去了許多華而不實的復雜功能,節(jié)省資源,性價比高,能實現(xiàn)娛樂和鍛煉的雙重效果。
用霍爾傳感器A44E來實現(xiàn)測速功能,他的工作方式為:只要有磁性物體在傳感器,則數(shù)據(jù)腳會輸出高電平。把磁鐵固定在車輪外圍的鋼絲上,把傳感器固定在旁邊的支撐架上。車輪每轉(zhuǎn)一圈,磁鐵就經(jīng)過一次A44E上方,則A44E輸出一個上升沿和一個下降沿。利用單片機的中斷口,來檢測下降沿,即轉(zhuǎn)過的圈數(shù),每隔一定時間,記下轉(zhuǎn)過的圈數(shù),即可算出那段時間的平均速度。
通過單片機對溫濕度傳感器DHT11寫控制字,DHT11可以讀周圍環(huán)境的溫濕度,并用串行數(shù)據(jù)的方式從數(shù)據(jù)腳傳出,用單片機讀回來并經(jīng)過換算就可知道周圍環(huán)境的溫度、濕度。
用單片機的中斷或者時鐘芯片來做??紤]到用時鐘芯片寫時間比較準確,我們用時鐘芯片DS1302來產(chǎn)生時鐘數(shù)據(jù),通過單片機讀回來,經(jīng)過換算就可以得到現(xiàn)在的時間值。
里程數(shù)記錄著從碼表開始使用到現(xiàn)在自行車行駛過的路程,需要掉電保存。STC12LE5A60S2中有自帶的EEPROM,可以掉電保存數(shù)據(jù),所以把里程數(shù)存入芯片自帶的EEPROM中。EEPROM可刷新次數(shù)在幾十萬次左右,故考慮到碼表的使用時間長度,每行駛1km刷新一次數(shù)據(jù),可存儲較長的里程數(shù),使用較長時間。
顯示是自行車碼表里功耗最大的一個模塊。本文選用NOKIA5110來顯示各項數(shù)據(jù)。Nokia5110可以控制背光的開關,并且可以顯示數(shù)字,字母。我們只要往液晶的主控芯片中寫指令,寫數(shù)據(jù)就可以控制液晶顯示出我們想要的數(shù)據(jù)了。
系統(tǒng)設計框圖如圖1所示,經(jīng)穩(wěn)壓芯片AMS1117-3.3穩(wěn)壓后的電池電壓供給碼表中的各個器件。其中,測速用到的A44E脈沖用單片機中斷INT0讀入并記下,3s算一次速度;溫度、濕度由傳感器DHT11讀入,傳給單片機并換算成溫濕度;時鐘由時鐘芯片DS1302來控制;里程數(shù)存入單片機自帶的EEPROM中。碼表上帶有4個獨立按鍵,用來設置初始時間,切換顯示數(shù)據(jù)。上述的所有數(shù)據(jù)都由NOKIA5110來顯示。
系統(tǒng)主要實現(xiàn)以下功能:時間設置,顯示時間。顯示自行車行駛的平均速度。顯示當前環(huán)境的溫度、濕度。顯示行駛的總里程數(shù)。
此自行車碼表從設計上可以分成5個模塊:時鐘模塊,霍爾傳感器測速模塊,溫濕度測量模塊,單片機最小系統(tǒng),顯示模塊。其中,時鐘模塊、霍爾傳感器測速模塊和溫濕度測量模塊的傳感器都是接3.3V電源和地,然后數(shù)據(jù)腳接一個上拉電阻,接到單片機。Nokia5110接好電源和地線,數(shù)據(jù)腳接到單片機。四個獨立按鍵一端接到地,一端接到單片機的I/O口。6V電源,經(jīng)過3.3V的穩(wěn)壓芯片得到3.3V的電源。系統(tǒng)硬件原理圖如圖2所示。
軟件部分是主控程序模塊、液晶顯示模塊、EEPROM里程數(shù)記錄模塊、DS1302時鐘模塊、DHT11溫濕度傳感器讀寫模塊、速度測量模塊和延時模塊,流程圖如圖3所示。程序先對液晶初始化,對定時器0初始化(測速用);然后進入主程序的循環(huán);先執(zhí)行時鐘走動和顯示時間函數(shù);后進入顯示溫濕度模塊;接著讀取3s鐘內(nèi)時鐘轉(zhuǎn)過的圈數(shù),換算成速度并顯示;最后計算經(jīng)過的里程數(shù),如果相對上次刷新又走過1km,則重新寫入EEPROM中,否則跳過,一直執(zhí)行這個循環(huán)。獨立按鍵掃描在時鐘顯示模塊中進行。
經(jīng)過各個模塊的軟硬件調(diào)試,確定各部分都沒有問題,則進行系統(tǒng)調(diào)試。調(diào)試結(jié)果為:溫度在正常環(huán)境下誤差在2~3攝氏度之間。而在速度較小的時候,測速誤差較大,速度大的時候,測速誤差小。EEPROM記錄里程數(shù)有一定誤差,因為只是本次開機后行駛滿1KM才可以刷新重新保存,如果這次開機后剛好行駛0.9KM然后關機了,則這段距離就不會被記錄到芯片中,久而久之會有一定誤差。
圖2 系統(tǒng)硬件原理圖
本文設計的多功能自行車碼表,把多種功能集合到碼表上,但是成本低、功耗小,可幫助自行車愛好者隨時掌握自己鍛煉的各種環(huán)境參數(shù)。經(jīng)過實際使用,盡管碼表外形設計暫時未做到精美,但是測量的各項指標都很好,誤差小、穩(wěn)定度高、可正常在室外使用。
[1]張雄星,王超,陳超.多功能自行車里程表系統(tǒng)設計[J].信息技術,2011,(9):171-173.
[2]郝敏釵.基于單片機的自行車里程表的設計[J].無線互聯(lián)科技,2012,(6):73-74.
[3]王立文.車速里程表的工作原理及速比的計算方法[J].黑龍江科技信息,2010,(27):48-49.
[4]路國慶,趙曉博,胡立強,郝絨華.脈沖檢測方法的霍爾傳感器在里程表中的應用[J].機械設計與制造,2009,(1):87-90.
[5]王喜忠,孫文輝,那紹華.車速里程表測量示值不確定度的評定[J].現(xiàn)代測量與實驗室管理,2011,(1):28-29.
[6]林土勝.單片機技術及工程實踐[M].機械工業(yè)出版社,2010.
[7]張軍,宋濤.AVR單片機C語言程序設計實例精粹[M].北京:電子工業(yè)出版社,2009.
[8]周繼明,江世明.傳感技術與應用[M].中南大學出版社,2005.