ST1101紅外光電傳感器的電動(dòng)自行車速度與里程表設(shè)計(jì)
系統(tǒng)概述
本系統(tǒng)由信號(hào)預(yù)處理電路、單片機(jī)AT89C2051、系統(tǒng)化LED顯示模塊、串口數(shù)據(jù)存儲(chǔ)電路和系統(tǒng)軟件組成。其中信號(hào)預(yù)處理電路包含信號(hào)放大、波形變換和波形整形。對(duì)待測(cè)信號(hào)進(jìn)行放大的目的是降低對(duì)待測(cè)信號(hào)的幅度要求;波形變換和波形 , 整形電路則用來(lái)將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)相連的TTL信號(hào);通過(guò)單片機(jī)的設(shè)置可使內(nèi)部定時(shí)器T1對(duì)脈沖輸入引腳T0進(jìn)行控制,這樣能精確地算出加到T0引腳的單位時(shí)間內(nèi)檢測(cè)到的脈沖數(shù);設(shè)計(jì)中速度顯示采用LED模塊,通過(guò)速度換算得來(lái)的里程數(shù)采用I2C總線并通過(guò)E2PROM來(lái)存儲(chǔ),既節(jié)省了所需單片機(jī)的口線和外圍器件,同時(shí)也簡(jiǎn)化了顯示部分的軟件編程。系統(tǒng)的原理框圖如圖1所示。
本文引用地址:http://2s4d.com/article/201611/322888.htm
圖1 系統(tǒng)的原理框圖
工作原理
該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度與累計(jì)里程數(shù)顯示出來(lái),主要是將傳感器輸入到單片機(jī)的脈沖信號(hào)的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號(hào))實(shí)時(shí)地測(cè)量出來(lái),考慮到信號(hào)的衰減、干擾等影響,在信號(hào)送入單片機(jī)前應(yīng)對(duì)其進(jìn)行放大整形,然后通過(guò)單片機(jī)計(jì)算出速度和里程,再將所得的數(shù)據(jù)存儲(chǔ)到串口數(shù)據(jù)存儲(chǔ)器,并由LED顯示模塊交替顯示所測(cè)速度與里程。本設(shè)計(jì)的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時(shí)間內(nèi)自行車是勻速行進(jìn),平均速度與時(shí)間的乘積即為里程數(shù))。
設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)用測(cè)量脈沖頻率來(lái)計(jì)算速度,因而具有較高的測(cè)速精度。在計(jì)算里程時(shí)取了自行車的理想狀態(tài)。實(shí)際中,誤差控制在幾米之內(nèi),相對(duì)于整個(gè)里程來(lái)說(shuō)不是很大。為了保證系統(tǒng)的實(shí)時(shí)性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通用性和高效性。本設(shè)計(jì)的速度和里程值采用6位顯示,并包含兩個(gè)小數(shù)位。
系統(tǒng)的硬件設(shè)計(jì)
1 脈沖發(fā)生源
脈沖發(fā)生源本設(shè)計(jì)采用了ST1101紅外光電傳感器,進(jìn)行非接觸式檢測(cè)。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時(shí),傳感器將會(huì)輸出一個(gè)低電平,而當(dāng)沒(méi)有物體擋在中間時(shí)則輸出為高電平,從而形成一個(gè)脈沖。該系統(tǒng)在自行車后輪的軸處保持著與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個(gè)鋁盤,在這個(gè)鋁盤的邊沿處挖出若干個(gè)圓形過(guò)孔,把傳感器的檢測(cè)部分放在圓孔的圓心位置。每當(dāng)鋁盤隨著后輪旋轉(zhuǎn)的時(shí)候,傳感器將向外輸出若干個(gè)脈沖。把這些脈沖通過(guò)一系列的波形整形成單片機(jī)可以識(shí)別的TTL電平,即可算出輪子即時(shí)的轉(zhuǎn)速。鋁盤的圓孔的個(gè)數(shù)決定了測(cè)量的精度,個(gè)數(shù)越多,精度越高。這樣就可以在單位時(shí)間內(nèi)盡可能多地得到脈沖數(shù),從而避免了因?yàn)閮蓚€(gè)過(guò)孔之間的距離過(guò)大,而車子正好在過(guò)孔之間或者是在下個(gè)過(guò)孔之前停止了,造成較大的誤差。
本設(shè)計(jì)在鋁盤過(guò)孔的設(shè)計(jì)上采用11個(gè)過(guò)孔,從而留下了10個(gè)同等的間距。這樣在以后的軟件設(shè)計(jì)中能夠較為方便的計(jì)算出速度里程。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖2所示。
圖2 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)
2 信號(hào)預(yù)處理電路
信號(hào)預(yù)處理電路如圖3所示,系統(tǒng)的信號(hào)預(yù)處理電路由二級(jí)電路構(gòu)成,第一級(jí)是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng)輸入信號(hào)為零或負(fù)電壓時(shí),三極管截止,電路輸出高電平;而當(dāng)輸入信號(hào)為正電壓時(shí),三極管導(dǎo)通,此時(shí)輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測(cè)量任意方波信號(hào)的頻率,也可以測(cè)量正弦波信號(hào)的頻率。由于放大器的放大功能降低了對(duì)待測(cè)信號(hào)的幅度要求,因此,系統(tǒng)能對(duì)任意大于0.5V的正弦波和脈沖信號(hào)進(jìn)行測(cè)量。預(yù)處理電路的第二級(jí)采用帶施密特觸發(fā)器的反相器DM74LS14來(lái)把放大器生成的單相脈沖轉(zhuǎn)換成與COMS電平相兼容的方波信號(hào)(如圖4所示),同時(shí)將輸出信號(hào)加到單片機(jī)的P3.4口上。
評(píng)論