基于單片機(jī)與光電傳感器的電動(dòng)自行車(chē)速度與里程表的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)與光電傳感器的電動(dòng)自行車(chē)速度與里程表的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)與光電傳感器的電動(dòng)自行車(chē)速度與里程表的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)與光電傳感器的電動(dòng)自行車(chē)速度與里程表的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)與光電傳感器的電動(dòng)自行車(chē)速度與里程表的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、單片機(jī):基于單片機(jī)與光電傳感器的電動(dòng)自行車(chē)速度與里程表的設(shè)計(jì)來(lái)源:   時(shí)間: 2007-9-20 15:53:33       從保護(hù)環(huán)境和經(jīng)濟(jì)條件許可等因素綜合來(lái)看,電動(dòng)自行車(chē)目前乃至今后都有著廣闊的開(kāi)展空間。目前市面上電動(dòng)自行車(chē)的速度表和里程表都是機(jī)械的,看起來(lái)不夠直觀與方便。如果能用LED直接顯示出來(lái)里程數(shù)或速度值,就可節(jié)省用戶的時(shí)間及精力處理自行車(chē)行進(jìn)過(guò)程中的突發(fā)事件。         本文介紹的速度與里程表設(shè)計(jì)以單片機(jī)和光電傳感器為核心。傳感器

2、將不同車(chē)速轉(zhuǎn)變成的不同頻率的脈沖信號(hào)輸入到單片機(jī)進(jìn)行控制與計(jì)算,再采用LED模塊進(jìn)行顯示,使得電動(dòng)自行車(chē)的速度與里程數(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)換

3、成可與單片機(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所示。               

4、60;  圖1 系統(tǒng)的原理框圖         工作原理         該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度與累計(jì)里程數(shù)顯示出來(lái),主要是將傳感器輸入到單片機(jī)的脈沖信號(hào)的頻率傳感器將不同車(chē)速轉(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ù)的算法是

5、一種大概的算法假設(shè)在一定時(shí)間內(nèi)自行車(chē)是勻速行進(jìn),平均速度與時(shí)間的乘積即為里程數(shù)。         設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反響時(shí)間。本設(shè)計(jì)用測(cè)量脈沖頻率來(lái)計(jì)算速度,因而具有較高的測(cè)速精度。在計(jì)算里程時(shí)取了自行車(chē)的理想狀態(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ù)位。    

6、     系統(tǒng)的硬件設(shè)計(jì)         脈沖發(fā)生源         本設(shè)計(jì)采用了ST1101紅外光電傳感器,進(jìn)行非接觸式檢測(cè)。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時(shí),傳感器將會(huì)輸出一個(gè)低電平,而當(dāng)沒(méi)有物體擋在中間時(shí)那么輸出為高電平,從而形成一個(gè)脈沖。         該系統(tǒng)在自行車(chē)后輪的軸處保持著

7、與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個(gè)鋁盤(pán),在這個(gè)鋁盤(pán)的邊沿處挖出假設(shè)干個(gè)圓形過(guò)孔,把傳感器的檢測(cè)局部放在圓孔的圓心位置。每當(dāng)鋁盤(pán)隨著后輪旋轉(zhuǎn)的時(shí)候,傳感器將向外輸出假設(shè)干個(gè)脈沖。把這些脈沖通過(guò)一系列的波形整形成單片機(jī)可以識(shí)別的TTL電平,即可算出輪子即時(shí)的轉(zhuǎn)速。         鋁盤(pán)的圓孔的個(gè)數(shù)決定了測(cè)量的精度,個(gè)數(shù)越多,精度越高。這樣就可以在單位時(shí)間內(nèi)盡可能多地得到脈沖數(shù),從而防止了因?yàn)閮蓚€(gè)過(guò)孔之間的距離過(guò)大,而車(chē)子正好在過(guò)孔之間或者是在下個(gè)過(guò)孔之前停止了,造成較大的誤差。   &#

8、160;     本設(shè)計(jì)在鋁盤(pán)過(guò)孔的設(shè)計(jì)上采用11個(gè)過(guò)孔,從而留下了10個(gè)同等的間距。這樣在以后的軟件設(shè)計(jì)中能夠較為方便的計(jì)算出速度里程。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖2所示。                  圖2 脈沖發(fā)生源硬件結(jié)構(gòu)圖左為正視圖,右為側(cè)視圖         信號(hào)預(yù)處理電路  

9、0;      如圖3所示,系統(tǒng)的信號(hào)預(yù)處理電路由二級(jí)電路構(gòu)成,第一級(jí)是由開(kāi)關(guān)三極管組成的零偏置放大器,采用開(kāi)關(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)換成

10、與COMS電平相兼容的方波信號(hào)如圖4所示,同時(shí)將輸出信號(hào)加到單片機(jī)的P3.4口上。                  圖3 信號(hào)預(yù)處理電路圖                  圖4 施密特觸發(fā)器對(duì)脈沖的整形        

11、;  利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過(guò)程中的正反響作用,可以把邊沿變化緩慢的周期性信號(hào)變換為邊沿很陡的矩形脈沖信號(hào)。輸入的信號(hào)只要幅度大于VT+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號(hào)。         從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當(dāng)傳輸線上的電容較大時(shí),波形的上升沿將明顯變壞;當(dāng)傳輸線較長(zhǎng),而且接受端的阻抗與傳輸線的阻抗不匹配時(shí),在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當(dāng)其他脈沖信號(hào)通過(guò)導(dǎo)線間的分布電容或公共電源線疊加到矩形脈沖信號(hào)時(shí),信號(hào)上將出現(xiàn)附加的噪聲。無(wú)論出現(xiàn)

12、上述的那一種情況,都可以通過(guò)用施密特反相觸發(fā)器整形而得到比擬理想的矩形脈沖波形。只要施密特觸發(fā)器的VT+和VT-設(shè)置得適宜,均能受到滿意的整形效果。          E2PROM AT24C02的應(yīng)用         AT24C02是CMOS 2048位串行E2PROM,在內(nèi)部組織成256×8位。AT24C02的特點(diǎn)是具有允許在簡(jiǎn)單的二線總線上工作的串行接口和軟件協(xié)議。     

13、60;   如圖5所示,在本設(shè)計(jì)中用芯片AT24C02的SDA端與單片機(jī)的P3.7口相連,SCL端與單片機(jī)的P3.5口相連。因?yàn)樵谶@個(gè)I2C總線上只有一個(gè)器件,所以把AT24C02的地址設(shè)為000,即把A0、A1、A2都接地。單片機(jī)計(jì)算出來(lái)的里程數(shù)據(jù)通過(guò)SDA、SCL向AT24C02輸送數(shù)據(jù)。單片機(jī)首先向AT24C02發(fā)送寫(xiě)信號(hào),當(dāng)確認(rèn)后從單片機(jī)內(nèi)部的數(shù)據(jù)儲(chǔ)存單元提取數(shù)據(jù)然后向AT24C02的內(nèi)部地址傳送數(shù)據(jù)。當(dāng)顯示里程時(shí),單片機(jī)首先向AT24C02發(fā)送讀信號(hào),然后確認(rèn)后,單片機(jī)從AT24C02內(nèi)部的地址向單片機(jī)的讀出單元字節(jié)讀出數(shù)據(jù),供顯示所用。 &#

14、160;                圖5 AT24C02與單片機(jī)的接口電路圖         顯示局部         本設(shè)計(jì)的顯示模塊包括MC14511BCP、CD4076、74LS138和6個(gè)LED顯示管等器件。       

15、60; MC14511是將鎖存、譯碼、驅(qū)動(dòng)三種功能集于一身的“三合一器件。鎖存器的作用是防止在計(jì)數(shù)過(guò)程中出現(xiàn)跳數(shù)現(xiàn)象,便于觀察和記錄。用譯碼器將BCD碼轉(zhuǎn)換成7段碼,再經(jīng)過(guò)大電流反相器,驅(qū)動(dòng)共陰極LED數(shù)碼管。譯碼器屬于非時(shí)序電路,其輸出狀態(tài)與時(shí)鐘無(wú)關(guān),僅取決于輸入的BCD碼。         74LS138的作用相當(dāng)于位選的功能,當(dāng)C,B,A的輸入分別為“000、001、010、011、100、101”時(shí)分別選擇不同的MC14511,從而在不同位上顯示不同的數(shù)字和小數(shù)點(diǎn)。CD4076是CMOS 4位三態(tài)

16、輸出D存放器,通過(guò)74LS138的Y6,Y7來(lái)控制其CP的工作,從而使CD4076來(lái)控制小數(shù)點(diǎn)顯示。圖6是顯示模塊框圖。                  圖6 顯示模塊框圖         圖7為系統(tǒng)顯示局部的電路。系統(tǒng)中用74LS138的Y0Y5選擇MC14511以驅(qū)動(dòng)LED顯示,Y6、Y7來(lái)控制CD40756的CP,從而到達(dá)以CD4076的Q1Q4控制

17、小數(shù)點(diǎn)的顯示,另一個(gè)CD4076只用到其Q1和Q2,圖中字符相對(duì)應(yīng)的地方表示其引腳相連。                  圖7 系統(tǒng)顯示局部的電路         系統(tǒng)的軟件設(shè)計(jì)         系統(tǒng)軟件框圖      

18、0;  如圖8所示,本系統(tǒng)軟件采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、頻率測(cè)量模塊、速度,里程計(jì)算模塊、數(shù)據(jù)轉(zhuǎn)碼模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù)存儲(chǔ),讀取模塊、定時(shí)器中斷效勞模塊以及其他功能模塊組成                  圖8 系統(tǒng)軟件框圖         數(shù)據(jù)處理     &#

19、160;   待測(cè)信號(hào)經(jīng)預(yù)處理電路后加至單片機(jī)的P3.4T0引腳可為單片機(jī)測(cè)量信號(hào)頻率提供有效的輸入信號(hào)。單片機(jī)通過(guò)檢測(cè)P3.4引腳電平來(lái)決定是否啟動(dòng)測(cè)量頻率程序。當(dāng)該引腳為高電平時(shí),系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時(shí)才開(kāi)始測(cè)頻率。         我們可從硬件的鋁盤(pán)上知道兩個(gè)過(guò)孔之間在圓周上的距離。而這個(gè)距離M正好為計(jì)算速度和距離起到了根本的數(shù)據(jù)儲(chǔ)藏作用。同時(shí)可以從TL0存放器知道在兩秒內(nèi)單片機(jī)檢測(cè)到的N個(gè)脈沖。而M×N所得到的正是這兩秒內(nèi)鋁盤(pán)在圓周上所走得距離S。此時(shí)假設(shè)在這個(gè)兩秒內(nèi)車(chē)子是勻速前進(jìn)的,距離S除以2s的時(shí)間,就可以大概的算出這2s內(nèi)鋁盤(pán)的線速度。再根據(jù)鋁盤(pán)與自行車(chē)的輪子保持著一樣的角速度,得到鋁盤(pán)的線速度與輪子線速度的關(guān)系,從而算出自行車(chē)在這2s的平均速度。      &#

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論