基于單片機與光電傳感器的電動自行車速度/里程表設(shè)計
從保護環(huán)境和經(jīng)濟條件許可等因素綜合來看,電動自行車目前乃至今后都有著廣闊的發(fā)展空間。目前市面上電動自行車的速度表和里程表都是機械的,看起來不夠直觀與方便。如果能用led直接顯示出來里程數(shù)或速度值,就可節(jié)省用戶的時間及精力處理自行車行進過程中的突發(fā)事件。
本文引用地址:http://www.ex-cimer.com/article/170673.htm本文介紹的速度與里程表設(shè)計以單片機和光電傳感器為核心。傳感器將不同車速轉(zhuǎn)變成的不同頻率的脈沖信號輸入到單片機進行控制與計算,再采用led模塊進行顯示,使得電動自行車的速度與里程數(shù)據(jù)能直觀的顯示給使用者。
系統(tǒng)概述
本系統(tǒng)由信號預(yù)處理電路、單片機at89c2051、系統(tǒng)化led顯示模塊、串口數(shù)據(jù)存儲電路和系統(tǒng)軟件組成。其中信號預(yù)處理電路包含信號放大、波形變換和波形整形。對待測信號進行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機相連的ttl信號;通過單片機的設(shè)置可使內(nèi)部定時器t1對脈沖輸入引腳t0進行控制,這樣能精確地算出加到t0引腳的單位時間內(nèi)檢測到的脈沖數(shù);設(shè)計中速度顯示采用led模塊,通過速度換算得來的里程數(shù)采用i2c總線并通過e2prom來存儲,既節(jié)省了所需單片機的口線和外圍器件,同時也簡化了顯示部分的軟件編程。
系統(tǒng)的原理框圖如圖1所示。
圖1 系統(tǒng)的原理框圖
工作原理
該設(shè)計能實時地將所測的速度與累計里程數(shù)顯示出來,主要是將傳感器輸入到單片機的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機前應(yīng)對其進行放大整形,然后通過單片機計算出速度和里程,再將所得的數(shù)據(jù)存儲到串口數(shù)據(jù)存儲器,并由led顯示模塊交替顯示所測速度與里程。本設(shè)計的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時間內(nèi)自行車是勻速行進,平均速度與時間的乘積即為里程數(shù))。
設(shè)計時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計用測量脈沖頻率來計算速度,因而具有較高的測速精度。在計算里程時取了自行車的理想狀態(tài)。實際中,誤差控制在幾米之內(nèi),相對于整個里程來說不是很大。為了保證系統(tǒng)的實時性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)bcd碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時的通用性和高效性。本設(shè)計的速度和里程值采用6位顯示,并包含兩個小數(shù)位。
系統(tǒng)的硬件設(shè)計
脈沖發(fā)生源
本設(shè)計采用了st1101紅外光電傳感器,進行非接觸式檢測。當有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當沒有物體擋在中間時則輸出為高電平,從而形成一個脈沖。
該系統(tǒng)在自行車后輪的軸處保持著與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個鋁盤,在這個鋁盤的邊沿處挖出若干個圓形過孔,把傳感器的檢測部分放在圓孔的圓心位置。每當鋁盤隨著后輪旋轉(zhuǎn)的時候,傳感器將向外輸出若干個脈沖。把這些脈沖通過一系列的波形整形成單片機可以識別的ttl電平,即可算出輪子即時的轉(zhuǎn)速。
鋁盤的圓孔的個數(shù)決定了測量的精度,個數(shù)越多,精度越高。這樣就可以在單位時間內(nèi)盡可能多地得到脈沖數(shù),從而避免了因為兩個過孔之間的距離過大,而車子正好在過孔之間或者是在下個過孔之前停止了,造成較大的誤差。
本設(shè)計在鋁盤過孔的設(shè)計上采用11個過孔,從而留下了10個同等的間距。這樣在以后的軟件設(shè)計中能夠較為方便的計算出速度里程。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖2所示。
圖2 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)
評論