<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于單片機的超聲波傳感器的研究與設計

一種基于單片機的超聲波傳感器的研究與設計

作者: 時(shí)間:2010-09-29 來(lái)源:網(wǎng)絡(luò ) 收藏

現代工業(yè)正向著(zhù)智能化、自動(dòng)化的方向發(fā)展,測距技術(shù)作為工業(yè)生產(chǎn)的重要組成部分對穩定度和精度的要求也日益嚴格。傳統測量手段由于受環(huán)境、工具和人為因素影響,已經(jīng)不能滿(mǎn)足現代工業(yè)測量的要求。測距作為一種非接觸式的測距方式,以其抗干擾能力強[1-2]、測量范圍廣、易于控制、測量精度高等優(yōu)點(diǎn),已經(jīng)在工業(yè)測量領(lǐng)域得到廣泛應用。本系統設計應用于石油泥漿液位測量,設計測量范圍為50 cm~600 cm,設計測量精度為厘米級,特點(diǎn)在于系統采用對測量數據進(jìn)行修正,確保準確性。

1 工作原理及系統設計

1.1 測距原理

傳感器主要由雙壓電晶片振子、圓錐共振板和電極等部分構成。兩電極間加上一定的電壓時(shí)壓電晶片就會(huì )被壓縮產(chǎn)生機械形變,撤去電壓后壓電晶片恢復原狀。若在兩極間按照一定的頻率加上電壓,則壓電晶片也會(huì )保持一定的頻率振動(dòng)。經(jīng)試驗測得此型號壓電晶片的固有頻率為38.4 kHz,則在兩極外加頻率為40 kHz的方波脈沖信號,此時(shí)壓電晶片產(chǎn)生共振,向外出超聲波。同理,沒(méi)有外加脈沖信號的超聲波傳感器在共振板到超聲波時(shí)也會(huì )產(chǎn)生共振,在兩極間產(chǎn)生電信號[3]。

1.2 系統原理設計

本系統硬件主要由超聲波、超聲波及放大、單片機控制與液晶顯示、溫度采集和補償等部分組成,如圖1所示。當按下復位鍵啟動(dòng)系統工作時(shí),單片機向傳感器頭送出若干40 kHz的方波脈沖,同時(shí)啟動(dòng)定時(shí)器對超聲波傳播時(shí)間進(jìn)行計時(shí)。當頭收到反射回的超聲波(在有效測距范圍內)并經(jīng)放大濾波傳入單片機時(shí),定時(shí)器停止計時(shí)。查表得到測距溫度下的聲速,按式(1)計算出測量距離,送液晶顯示。

一種基于單片機的超聲波傳感器的研究與設計


s=Ct/2 (1)

式中s為測量距離,C為超聲波傳播速度,t為傳播時(shí)間。

2 系統電路設計

2.1 超聲波發(fā)射電路

由于系統工作環(huán)境比較惡劣,為保證測距的范圍和精度,需要保證傳感器發(fā)射頭的外加壓差足夠大。因此采用轉換范圍較大、工作穩定的16位CMOS轉換器CD4049組成超聲波發(fā)射電路的主體(CD4049最大轉換電壓與探頭最大驅動(dòng)電壓同為20 V)。超聲波發(fā)射電路如圖2所示[4]。

一種基于單片機的超聲波傳感器的研究與設計

考慮到發(fā)射頭一般需要5個(gè)方波周期達到穩定震蕩狀態(tài)的95%,經(jīng)1.5倍上升時(shí)間達穩定震蕩狀態(tài)的99%[5]。為保證最大程度的觸發(fā),單片機每組產(chǎn)生12個(gè)帶寬為12 μs的方波經(jīng)調理電路傳到發(fā)射頭。

2.2 超聲波接收放大電路

超聲波在空氣中傳播的衰減程度隨傳播距離的增加而增大,所以反射回來(lái)被接收頭收到的信號非常微弱,不能直接送入后級電路處理,首先要經(jīng)過(guò)信號放大。超聲波接收放大電路如圖3所示[6]。

一種基于單片機的超聲波傳感器的研究與設計

被接收頭收到的回波信號為正弦波信號,信號強度一般只有幾十毫伏。接收部分前置放大電路是由集成運放NE5532組成的自舉式同向交流放大電路。前兩級放大電路構成10 000倍的放大器,對正弦波信號進(jìn)行足夠放大。后級采用集成LM311-8比較器對前級放大信號進(jìn)行調理,通過(guò)IN-引腳引入一個(gè)標準電平,輸入包絡(luò )信號的電位高于標準電平則為1,低于標準電平則為0,將包絡(luò )信號轉變?yōu)閱纹瑱C可識別的中斷脈沖信號。當與單片機的中斷輸入端相連的LM311的第7管腳輸出一個(gè)低電平時(shí),計數器立即停止計時(shí)并保存數據。

2.3 單片機控制和顯示電路

本系統的主控模塊是AT89S52單片機。該控制器具有8 KB的RAM內存空間,在線(xiàn)編程與調試比較方便。單片機控制單元主要包括復位電路、液晶顯示電路、發(fā)射控制端、回波接收端幾部分。由于測量距離需要直觀(guān)顯示,且系統安裝于戶(hù)外功耗要盡可能低、體積盡可能小,因此采用易于與CMOS電路相匹配的128×64點(diǎn)陣式液晶顯示模塊。接口電路如圖4。

一種基于單片機的超聲波傳感器的研究與設計

3 軟件設計及流程

3.1 軟件整體流程

系統軟件主要由主程序、初始化程序、發(fā)射子程序、中斷子程序、顯示子程序組成。軟件整體流程如圖5。

一種基于單片機的超聲波傳感器的研究與設計

系統上電后首先初始化,設置定時(shí)器、計數器工作方式,打開(kāi)總中斷,顯示端口清零等。為避免從發(fā)射頭發(fā)出的超聲波直接被接收頭作為回波接收,在調用定時(shí)器中斷子程序(發(fā)射方波)后設置0.2 ms的延時(shí),然后打開(kāi)外部中斷0接收回波[7]。系統采用晶振頻率為12 MHz,機器周期為1 μs,主程序檢測到回波接收成功后將計數器T0中的值T0按下式計算即可得測量距離(設20 ℃時(shí)聲速為340 m/s)[8]:

s=(CT0)/2=170T0/100 000 (2)

最后將所得數值以二進(jìn)制數形式通過(guò)P0口直接傳入液晶顯示。

3.2 發(fā)射和中斷子程序

超聲波發(fā)射子程序的作用是通過(guò)P1.2口在定時(shí)器的設定時(shí)刻取反交替產(chǎn)生寬度為12 μs的高低電平輸出方波脈沖。定時(shí)器中斷程序[9]流程如圖6。外部中斷程序流程如圖7。

一種基于單片機的超聲波傳感器的研究與設計

4 誤差分析及系統精度提高

在系統測試過(guò)程中發(fā)現對系統性能和測量精度影響較大的主要有測量盲區、回波時(shí)間的確定、控制器定時(shí)器偏差、溫度對速度的影響等幾方面。

4.1 測量盲區

造成測量盲區存在主要有兩方面因素:超聲波發(fā)射頭在發(fā)射出一串方波信號后經(jīng)過(guò)一段延時(shí)才打開(kāi)外部中斷入口,防止方波信號直接進(jìn)入接收頭作為回波引起中斷,產(chǎn)生誤測量,延時(shí)對應的距離即為盲區;另一方面,在測量較近距離時(shí),回波信號會(huì )與發(fā)射余波重疊造成尋峰失敗,同樣產(chǎn)生測量盲區。

對于第一種測量盲區,經(jīng)試驗證明,在可承受范圍內減小脈沖寬度、減少脈沖發(fā)射個(gè)數,從而間接減小了延時(shí)時(shí)間,擴大測量范圍。但同時(shí)會(huì )由于脈沖個(gè)數的減少對測量上限造成影響。對第二種測量盲區,主要做法是在回波接收電路中加入余振吸收電路,改變接收放大倍數,適當延時(shí),并利用部分未飽和余波等方式共同減小盲區[10]。

4.2 回波時(shí)間的確定

發(fā)射的方波信號由于強度所限,在經(jīng)過(guò)傳播和反射后,回波信號強度有所衰減,出現包絡(luò )現象,但其頻率與發(fā)射波相同,沒(méi)有變化。單片機確定接收到回波的時(shí)刻實(shí)際是一個(gè)高低電平的變化時(shí)刻,與回波頻率無(wú)關(guān)。而包絡(luò )信號不是優(yōu)質(zhì)的電平信號,直接輸入單片機會(huì )造成較大誤差。解決方案是接收電路中加入一個(gè)電平比較器,其輸出頻率也為40 kHz,輸出標準方波電平信號作為比對,在接收電路的放大器輸入(接收到)高于0.4 V的電平信號時(shí),通過(guò)比較器的輸出電壓變?yōu)闃藴实?5 V電平輸入單片機,此時(shí)刻即為回波接收時(shí)刻[11]。

4.3

在常溫常壓下聲速可以認為是定值,但液位監測的工作環(huán)境溫度變化較大。聲速與溫度的關(guān)系為[12-13]:

v=311.5+0.607t (3)

溫度變化范圍為-20℃~+40℃,則聲速會(huì )產(chǎn)生36 m/s的巨大變化,必須設置溫度對聲速的補償。

離線(xiàn)條件下計算出不同溫度下的聲速值并放存儲器存儲,18B20測得現場(chǎng)溫度傳入單片機后,查找對應溫度的聲速并以此作為校正值進(jìn)行距離的計算??諝庵新曀俦磉_式可寫(xiě)為:
一種基于單片機的超聲波傳感器的研究與設計

一種基于單片機的超聲波傳感器的研究與設計

由此可見(jiàn)經(jīng)過(guò)后的精度達到厘米級,可以較好地達到測量要求。測量溫度為11.2℃時(shí)的實(shí)驗數據如表1。由表1可以看出測量上限為600 cm,下限為50 cm,有效測距范圍內測量誤差小于±2 cm。

一種基于單片機的超聲波傳感器的研究與設計


通過(guò)大量實(shí)現數據表明,本系統測量誤差小于±2 cm,滿(mǎn)足設計要求,并且符合工業(yè)標準?;诔暡ㄊ芊蹓m、震動(dòng)及電磁波等惡劣工業(yè)因素影響極小的特點(diǎn),本系統還可廣泛用于工業(yè)測距、汽車(chē)行駛、金屬探傷等領(lǐng)域,具有較好的應用前景。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>