基于單片機與光電傳感器的電動自行車速度與里程表設計

圖5 AT24C02與單片機的接口電路圖
4 顯示部分
本設計的顯示模塊包括MC14511BCP、CD4076、74LS138和6個LED顯示管等器件。MC14511是將鎖存、譯碼、驅動三種功能集于一身的“三合一”器件。鎖存器的作用是避免在計數過程中出現跳數現象,便于觀察和記錄。用譯碼器將BCD碼轉換成7段碼,再經過大電流反相器,驅動共陰極LED數碼管。譯碼器屬于非時序電路,其輸出狀態與時鐘無關,僅取決于輸入的BCD碼。
74LS138的作用相當于位選的功能,當C,B,A的輸入分別為“000、001、010、011、100、101”時分別選擇不同的MC14511,從而在不同位上顯示不同的數字和小數點。CD4076是CMOS 4位三態輸出D寄存器,通過74LS138的Y6,Y7來控制其CP的工作,從而使CD4076來控制小數點顯示。圖6是顯示模塊框圖。

圖6 顯示模塊框圖
圖7為系統顯示部分的電路。系統中用74LS138的Y0~Y5選擇MC14511以驅動LED顯示,Y6、Y7來控制CD40756的CP,從而達到以CD4076的Q1~Q4控制小數點的顯示,另一個CD4076只用到其Q1和Q2,圖中字符相對應的地方表示其引腳相連。

圖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能直觀的將速度與里程顯示給用戶,并且在速度高于一定的值時可自動向用戶報警,從而達到智能速度里程表。


評論