ST1101紅外光電傳感器的電動自行車速度與里程表設計
本文引用地址:http://www.j9360.com/article/201611/322888.htm
圖7 系統顯示部分的電路
系統的軟件設計
1 系統軟件框圖
如圖8所示,本系統軟件采用模塊化設計方法。整個系統由初始化模塊、頻率測量模塊、速度,里程計算模塊、數據轉BCD碼模塊、速度顯示模塊、里程顯示模塊、數據存儲,讀取模塊、定時器中斷服務模塊以及其他功能模塊組成。
圖8 系統軟件框圖
2 數據處理
待測信號經預處理電路后加至單片機的P3.4(T0)引腳可為單片機測量信號頻率提供有效的輸入信號。單片機通過檢測P3.4引腳電平來決定是否啟動測量頻率程序。當該引腳為高電平時,系統處于等待狀態,要一直到該引腳出現低電平時才開始測頻率。 我們可從硬件的鋁盤上知道兩個過孔之間在圓周上的距離。而這個距離M正好為計算速度和距離起到了基本的數據儲備作用。同時可以從TL0寄存器知道在兩秒內單片機檢測到的N個脈沖。而M×N所得到的正是這兩秒內鋁盤在圓周上所走得距離S。(此時假設在這個兩秒內車子是勻速前進的),距離S除以2s的時間,就可以大概的算出這2s內鋁盤的線速度。再根據鋁盤與自行車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線速度的關系,從而算出自行車在這2s的平均速度。
至于里程的計算,根據速度計算的分析,在得到2s內鋁盤在其圓周上走過的距離后。根據它與自行車輪子的圓周走過的距離有一定比例關系(通過兩者角速度一樣的算法)可以通過單片機的算出自行車在這兩秒內走過的路程S1。把這個路程S1與存儲器原來的里程數相加即可得到目前的總里程數。 通過單片機計算出來的速度和里程的數據,必須通過BCD碼的轉換才能輸出給顯示模塊。總里程數的顯示是設定出現在電動自行車開動,單片機開機經過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經運行了多少公里了。而速度的顯示則是在計算出速度里程后立刻顯示出來,體現實時性。
結論
本設計以AT89C2051為核心,通過光電傳感器來檢測自行車的運轉情況進而實現電動自行車的速度,里程的計算及里程的累計,存儲,最后用6位的LED能直觀的將速度與里程顯示給用戶,并且在速度高于一定的值時可自動向用戶報警,從而達到智能速度里程表。
評論