楊 凱, 周岳斌,2
(1.湖北文理學院機械與汽車工程學院,湖北 襄陽 441053;2.汽車零部件制造裝備數字化湖北省協同創新中心,湖北 襄陽 441053)
隨著半導體技術的發展,微控制器的集成度也越來越高,性能也越趨強勁,體積小、可靠性高、功耗低的單片機產品種類也是多種多樣,以單片機作為主控芯片可以滿足絕大多數測試系統的要求,在很多空間狹小、環境惡劣的場合和便攜設備上得到了廣泛應用。
騎行運動由于它自然健康、簡單環保的特點,越來越受到大眾的親睞,逐漸成為現代健身運動的一種流行趨勢。騎行者通過自行車碼表可以知道消耗多少能量,騎行了多少里程,同時還有安全提示作用。市面上的碼表,有的價格較貴且功能單一,有的價格便宜但質量不可靠。有必要研制一款攜帶方便、功能多樣、價格便宜、性能可靠的碼表。
速度測量一般分為機械式計數法和電子計數法,其中電子計數法可用霍爾元件、光電對管或者光電編碼器來采集脈沖信號,通過控制芯片統計脈沖數。
本設計系統結構框圖如圖1所示。利用STC15F2K60S2單片機作為主控芯片,將傳感器安裝在自行車前車架上,傳感器輸出的電壓信號經過比較器電路后輸出高低電平脈沖,通過信號線將電平信號傳遞給單片機。單片機通過外部計數功能統計脈沖數,通過統計在單位時間內脈沖的數量進而計算出自行車當前的轉速,再將自行車前輪周長加入計算即可得到當前的車速,將每個周期的距離累加即可得到總里程數,然后通過OLED顯示屏顯示實時速度和里程數[1,2]。

圖1 系統結構框圖
碼表設計的最終目的是讓使用者可以直觀地了解當前速度、行駛距離等信息。硬件電路設計的關鍵在于傳感器信號處理電路、單片機計數電路、顯示器電路和按鍵電路的設計。
1.2.1 傳感器的選型與安裝
自行車的速度不高,可使用霍爾元傳感器采集信號,霍爾傳感器具有體積小、重量輕、適應性強、測量精度高等特點。S49E線性霍爾傳感器有著更低的工作電流,低功耗,較高耐壓值,輸出特性也滿足使用要求,故選用S49E線性霍爾傳感器作為自行車測速傳感器[3-4]。
自行車前后輪均可作為測速部位,但考慮到顯示器部分要安裝在車把上便于使用者隨時查看,將霍爾傳感器安裝于前輪位置則可減少信號傳遞的距離,有助于減少干擾,具體安裝形式如圖2所示。在自行車的前輪輻條上裝上強磁鐵。前輪的運動使強磁鐵做接近和遠離霍爾傳感器的運動。磁鐵在前輪每一圈的最高點都會與霍爾傳感器有一個最近距離,此時霍爾傳感器輸出的電壓值最高,當轉過最高點后,輸出電壓回落到低點電壓輸出值。

圖2 傳感器安裝示意圖
1.2.2 傳感器與比較器電路
如圖3所示,電壓比較器采用LM393雙電壓比較器,其INA-引腳連接可調電阻R1,INA+引腳連接霍爾元件的電壓輸出OUT引腳。將霍爾元件的輸出電壓與基準電壓比較,當輸出電壓值高于基準電壓時,比較器OUTA輸出引腳將輸出高電平,低于基準電壓時,OUTA引腳輸出低電平。基準電壓相當于一個閾值,可通過調節可調電阻R1的阻值來調節閾值電壓,使比較器準確輸出脈沖信號。
1.2.3 OLED顯示電路
顯示器選擇OLED12864顯示屏,其與單片機的連接如圖4所示。其有串/并行兩種顯示模式,本設計采用了串行SPI顯示模式。由于顯示器只用來顯示信息,不需要從中讀取數據,故只用到寫數據或者寫指令的功能,根據時鐘端口輸入的時鐘信號進行寫數據或者指令,只需時鐘、片選、復位和數據/指令四個引腳。與并行顯示相比,占用了較少的I/O口。其與單片機的連接分別對應單片機的P0.0、P0.1、P0.2、P0.3 4個I/O 口引腳。OLED顯示屏接上電源就可以進行數據的顯示,包括開機顯示時間,速度和里程數等信息。

圖3 傳感器與比較器電路

圖4 顯示、按鍵與單片機電路
1.2.4 按鍵電路
碼表設置了3個按鍵,按鍵功能與常見碼表類似,有查看和更改數據的作用,可根據需要更改程序參數來實現更多樣化的按鍵組合功能。按鍵輸出端分別接單片機的P3.6、P3.7和P2.0引腳,并通過上拉電阻接高電平,這樣可增強灌電流,使按鍵具有高可靠性。默認的設置KEY1為功能鍵,按下可顯示車輪周長,再按KEY2或KEY3鍵即可增減數值來現調整周長,長按KEY2或KEY3鍵可實現快速調整等功能。
1.2.5 單片機計數電路
主控芯片選用STC15F2K60S2系列單片機,其指令代碼完全兼容傳統8051,內部集成高精度R/C時鐘和復位電路,外圍不用連接其他電路,只需配置成最小系統,即可與傳感器、顯示器及按鍵相連實現測速[5]。
單片機內部定時器T0設置成3s定時工作模式,電壓比較器的OUTA引腳與單片機的P3.5引腳相連,P3.5作為計數器T1的外部輸入信號,通過一個10kΩ的電阻上拉,由內部程序計算電壓比較器的輸出脈沖數就可以檢測自行車前輪轉動的圈數。
自行車碼表的系統程序流程圖如圖5所示,主要程序功能包括:T0定時器計時、T1計數器計數、數據存儲、OLED顯示。

圖5 程序流程圖
程序初始化時,默認自行車的直徑為660.4mm,即車輪周長為2 073.7mm,實際使用時可更改車輪尺寸。
T0定時器設置成10ms周期性中斷,中斷計數達到100次后,秒計數寄存器加1,秒計數滿60后分計數寄存器加1,分計數滿60后時計數寄存器加1。測速時間常數預設值為300,代表測速周期為3s。
T1計數器設置為外部計數脈沖下降沿有效,當T1腳檢測到一個下降沿,就觸發一次中斷,脈沖計數寄存器值加1。
開機默認顯示的參數包括時間、速度、里程和均速,如圖6所示。顯示屏頂部顯示當前用時,格式為時∶分∶秒,第二行顯示當前速度(km/h),第三行顯示騎行里程(km),第四行顯示平均速度(km/h)。

圖6 碼表的顯示
設計采用了較為常見的STC15系列單片機為核心器件,選擇測量精度較高的霍爾傳感器,配用較為新穎的OLED顯示屏,使用靈活、價格便宜、安裝方便、可靠性高。它的個性化設置可以給騎行愛好者全新的測速體驗,滿足了市場上自行車運動的測速需求,具有較好的市場前景和推廣價值。
[1] 陳林.單片機在汽車發動機測速系統的應用[J].無線互聯科技,2014(5):59.
[2] 唐偉.基于AT89S52單片機的測速儀設計[J].中國集成電路,2012(11):77-82.
[3] 程民利.基于霍爾傳感器的高精度測速電路設計[J].電子設計工程,2013(8):109-111.
[4] 郭威.一種改進的無刷直流電機霍爾信號倍頻測速方法[J].微電機,2012(1):74-75.
[5] 譚巨興.基于單片機的自行車測速系統設計[J].電子世界,2014(13):28.