基于單片機與光電傳感器的電動自行車速度與里程表設計
圖5 AT24C02與單片機的接口電路圖
4 顯示部分
本設計的顯示模塊包括MC14511BCP、CD4076、74LS138和6個LED顯示管等器件。MC14511是將鎖存、譯碼、驅(qū)動三種功能集于一身的“三合一”器件。鎖存器的作用是避免在計數(shù)過程中出現(xiàn)跳數(shù)現(xiàn)象,便于觀察和記錄。用譯碼器將BCD碼轉(zhuǎn)換成7段碼,再經(jīng)過大電流反相器,驅(qū)動共陰極LED數(shù)碼管。譯碼器屬于非時序電路,其輸出狀態(tài)與時鐘無關,僅取決于輸入的BCD碼。
74LS138的作用相當于位選的功能,當C,B,A的輸入分別為“000、001、010、011、100、101”時分別選擇不同的MC14511,從而在不同位上顯示不同的數(shù)字和小數(shù)點。CD4076是CMOS 4位三態(tài)輸出D寄存器,通過74LS138的Y6,Y7來控制其CP的工作,從而使CD4076來控制小數(shù)點顯示。圖6是顯示模塊框圖。
圖6 顯示模塊框圖
圖7為系統(tǒng)顯示部分的電路。系統(tǒng)中用74LS138的Y0~Y5選擇MC14511以驅(qū)動LED顯示,Y6、Y7來控制CD40756的CP,從而達到以CD4076的Q1~Q4控制小數(shù)點的顯示,另一個CD4076只用到其Q1和Q2,圖中字符相對應的地方表示其引腳相連。
圖7 系統(tǒng)顯示部分的電路
系統(tǒng)的軟件設計
1 系統(tǒng)軟件框圖
如圖8所示,本系統(tǒng)軟件采用模塊化設計方法。整個系統(tǒng)由初始化模塊、頻率測量模塊、速度,里程計算模塊、數(shù)據(jù)轉(zhuǎn)BCD碼模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù)存儲,讀取模塊、定時器中斷服務模塊以及其他功能模塊組成。
圖8 系統(tǒng)軟件框圖
2 數(shù)據(jù)處理
待測信號經(jīng)預處理電路后加至單片機的P3.4(T0)引腳可為單片機測量信號頻率提供有效的輸入信號。單片機通過檢測P3.4引腳電平來決定是否啟動測量頻率程序。當該引腳為高電平時,系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時才開始測頻率。
我們可從硬件的鋁盤上知道兩個過孔之間在圓周上的距離。而這個距離M正好為計算速度和距離起到了基本的數(shù)據(jù)儲備作用。同時可以從TL0寄存器知道在兩秒內(nèi)單片機檢測到的N個脈沖。而M×N所得到的正是這兩秒內(nèi)鋁盤在圓周上所走得距離S。(此時假設在這個兩秒內(nèi)車子是勻速前進的),距離S除以2s的時間,就可以大概的算出這2s內(nèi)鋁盤的線速度。再根據(jù)鋁盤與自行車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線速度的關系,從而算出自行車在這2s的平均速度。
至于里程的計算,根據(jù)速度計算的分析,在得到2s內(nèi)鋁盤在其圓周上走過的距離后。根據(jù)它與自行車輪子的圓周走過的距離有一定比例關系(通過兩者角速度一樣的算法)可以通過單片機的算出自行車在這兩秒內(nèi)走過的路程S1。把這個路程S1與存儲器原來的里程數(shù)相加即可得到目前的總里程數(shù)。
通過單片機計算出來的速度和里程的數(shù)據(jù),必須通過BCD碼的轉(zhuǎn)換才能輸出給顯示模塊??偫锍虜?shù)的顯示是設定出現(xiàn)在電動自行車開動,單片機開機經(jīng)過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運行了多少公里了。而速度的顯示則是在計算出速度里程后立刻顯示出來,體現(xiàn)實時性。
結論
本設計以AT89C2051為核心,通過光電傳感器來檢測自行車的運轉(zhuǎn)情況進而實現(xiàn)電動自行車的速度,里程的計算及里程的累計,存儲,最后用6位的LED能直觀的將速度與里程顯示給用戶,并且在速度高于一定的值時可自動向用戶報警,從而達到智能速度里程表。
評論