引言
隨著電子技術(shù)的發(fā)展,測距技術(shù)越來越先進(jìn),從采用卷尺人工進(jìn)行丈量,到用水準(zhǔn)儀和三角理論進(jìn)行測量計(jì)算,甚至采用激光測距等,這些測量手段因精度低、操作繁瑣或成本高而不盡人意。隨著超聲波的應(yīng)用日益廣泛,超聲測距在測試領(lǐng)域中得到應(yīng)用,該類產(chǎn)品如進(jìn)口的超聲波液位計(jì)、超聲波測位儀等性能雖好,但價(jià)格昂貴。目前,超聲波傳感器技術(shù)已廣泛用于工業(yè)、國防、交通、生物醫(yī)療和家庭領(lǐng)域。超聲波傳感器技術(shù)與信息技術(shù)、集成工藝相結(jié)合,為開發(fā)智能化、高靈敏度的超聲波儀器設(shè)備創(chuàng)造了有利條件。鑒于此,運(yùn)用嵌入式單片機(jī)技術(shù)、結(jié)合can總線通信協(xié)議標(biāo)準(zhǔn)、設(shè)計(jì)一種嵌入式超聲波測距儀具有很大的發(fā)展前景。它可以做到成本低、外圍電路簡單、功能齊全、能夠滿足一定的測量要求。
1、超聲波傳感器
1.1典型結(jié)構(gòu)
超聲波傳感器是利用超聲波的特性而研制的傳感器,超聲波傳感器的典型結(jié)構(gòu)如圖1所示。它是把成正方形的兩個(gè)壓電晶片(亦稱雙晶振子)按照相反的極性粘貼在一起,再引出兩個(gè)電極。壓電晶片上面有金屬震動板和圓錐形振子。圓錐形振子具有很強(qiáng)的方向性,便于發(fā)送和接收超聲波。超聲波傳感器采用金屬或塑料外殼,其頂部有屏蔽柵。
1.2測距原理
超聲波具有頻率較高,沿直線傳播、方向性好、繞射小、穿透力強(qiáng)、傳播速度慢(約340m/s,與聲速相同)等特點(diǎn)。
超聲波對固體和液體的穿透能力強(qiáng),尤其對于在陽光下不透明的固體,可以穿透幾十m的深度。超聲波遇到雜質(zhì)或分界面時(shí)會產(chǎn)生反射波,利用這一特性可構(gòu)成超聲波探傷儀或測距儀。超聲波遇到移動物體時(shí)會產(chǎn)生多普勒效應(yīng)(dopplereffect),使接收到的頻率發(fā)生變化,由此可制成多普勒測距系統(tǒng)。
超聲波測距原理是超聲波發(fā)射探頭發(fā)出的超聲波脈沖,經(jīng)媒質(zhì)(空氣)傳到物體表面,反射后通過媒質(zhì)(空氣)傳到接收探頭,測出超聲脈沖從發(fā)射到接收所需的時(shí)間,根據(jù)媒質(zhì)中的聲速,求得從探頭到物體表面之間的距離。設(shè)探頭到物體表面的距離為l,超聲在空氣中的傳播速為v,從發(fā)射到接收所需的傳播時(shí)間為t,則有:l=vt/2。由此可見,被測距離l與傳播時(shí)間之間具有確定的函數(shù)關(guān)系,只要能測出時(shí)間t,即可求出距離l,通過軟件實(shí)現(xiàn)直接在顯示器上顯示l的值。
2、硬件電路設(shè)計(jì)
2.1整體方案設(shè)計(jì)
根據(jù)所給的設(shè)計(jì)要求,即具有數(shù)字顯示、鍵盤輸入、超聲波發(fā)射與接收、能通過can總線與上位機(jī)進(jìn)行通信、異常情況自動報(bào)警等功能??梢詷?gòu)架出此嵌入式超聲波測距儀的整體方案設(shè)計(jì)框圖如圖2所示。從圖2中可以看出整體硬件電路設(shè)計(jì)主要包括:微處理器at89c51部分、電源電路部分、超聲波發(fā)射與接收電路部分、鍵盤輸入部分、can總線通信部分、led顯示部分?,F(xiàn)將重點(diǎn)介紹超聲波發(fā)射、接收電路和can總線通信電路的具體設(shè)計(jì)。
2.2超聲波測距電路
超聲波測距電路主要包括兩個(gè)部分:超聲波發(fā)射電路和超聲波接收電路,具體的電路設(shè)計(jì)如圖3所示。圖2中上半部分就是超聲波發(fā)射電路,微處理器at89c51通過編程在端口p16產(chǎn)生一個(gè)40khz的超聲波信號,經(jīng)過兩個(gè)74ls14非門將信號驅(qū)動整形,再由三極管q9對其進(jìn)行放大,zui后經(jīng)過變壓器t1送到超聲波傳感器csb-t40,這樣就可以通過超聲波傳感器csb-t40發(fā)出相應(yīng)的超聲波信號。而圖3中的下半部分就是超聲波接收電路,超聲波信號通過障礙物發(fā)射到超聲波傳感器csb-r40后,產(chǎn)生一定的電信號,電信號通過集成塊bx1490放大后送到了2個(gè)74ls14非門電路整形,zui后進(jìn)入微處理器at89c51的p17端口。這樣就完成了1次超聲波測距的掃描過程,它可以通過程序來控制計(jì)數(shù)器,將計(jì)數(shù)器的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的時(shí)間,再用時(shí)間乘以超聲波的傳播速度后除以2,既可以得到障礙物與超聲波傳感器之間的距離。
2.3can總線通信電路
考慮到現(xiàn)在的智能測試設(shè)備日益趨于網(wǎng)絡(luò)化,則將can總線通信功能也設(shè)計(jì)進(jìn)了此嵌入式超聲波測距儀中,can總線通信電路系統(tǒng)主要有at89c51微控制器、獨(dú)立can通信控制器sja1000、can總線驅(qū)動器pca82c250及復(fù)位電路imp708組成。can總線應(yīng)用節(jié)點(diǎn)具體電路設(shè)計(jì)如下圖4所示。為了提高系統(tǒng)的抗*力,設(shè)計(jì)在sja1000和can總線驅(qū)動器pca82c250之間增加了光電隔離器6n137。當(dāng)微處理器at89c51將測距結(jié)果數(shù)據(jù)通過p0口發(fā)送到can總線控制器sja1000,由sja1000將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)從端口tx0發(fā)出,經(jīng)過光電隔離器6n137后到達(dá)can總線驅(qū)動器pca82c250,zui后將數(shù)據(jù)發(fā)送到can總線上。相反,來自can總線的數(shù)據(jù)也可以經(jīng)過相應(yīng)電路到達(dá)微處理器。這樣就可以實(shí)現(xiàn)測距儀與上位機(jī)的通信功能。
3、程序設(shè)計(jì)
3.1主程序設(shè)計(jì)
系統(tǒng)主程序主要包括系統(tǒng)的啟動后對系統(tǒng)的初始化、超聲波發(fā)射與接收、中斷管理、計(jì)時(shí)程序、測距計(jì)算、結(jié)果顯示、can通信、報(bào)警等其他子程序組成。根據(jù)以上超聲波測距儀的工作原理描述,系統(tǒng)主程序的流程圖設(shè)計(jì)如圖5所示。在主程序初始化后就進(jìn)入超聲波信號發(fā)送程序,即利用程序產(chǎn)生超聲波信號由微處理器的p16端口送出,此時(shí)系統(tǒng)進(jìn)入計(jì)時(shí)狀態(tài),同時(shí)檢測p17端口是否能接收到超聲波的回波信號,但檢測到回波信號就關(guān)閉外部中斷進(jìn)入計(jì)算距離子程序,接下來進(jìn)行是否報(bào)警驗(yàn)證和can通信子程序,zui后打開外部中斷完成一次測距掃描過程,即主程序結(jié)束。
3.2can通信子程序設(shè)計(jì)
can通信子程序主要包括3個(gè)部分:初始化子程序、發(fā)送子程序、接收子程序。在初始化子程序中主要是對系統(tǒng)的一些驗(yàn)收碼寄存器、定時(shí)寄存器、輸出控制寄存器、定時(shí)寄存器、工作模式寄存器、中斷定時(shí)同步等參數(shù)進(jìn)行設(shè)置。can通信中的發(fā)送與接收子程序的程序流程圖設(shè)計(jì)如圖6所示。在發(fā)送子程序中主要是讀取狀態(tài)寄存器位sr.2,看看sr.2是否為1,如果該位為1則進(jìn)行相應(yīng)的發(fā)送準(zhǔn)備工作,同時(shí)將命令寄存器cmr.0置請求發(fā)送,發(fā)送完畢后就自動返回。而在接收子程序,先要讀狀態(tài)寄存器位sr.0,看看是否允許將緩沖區(qū)數(shù)據(jù)讀取到cpu的ram中,讀取完畢后就釋放接收緩沖區(qū),再看看sr.1是否為1,為1則對sr.1進(jìn)行清除并作溢出處理,否則就讀取sr.6與sr.7并對其作計(jì)時(shí)器警告及相應(yīng)處理。
4、結(jié)語
所設(shè)計(jì)的嵌入式超聲波測距儀具有結(jié)構(gòu)簡單、價(jià)格便宜、性能可靠,測量和顯示障礙物距離的范圍為0.05~10m,它適用于對物體表面和液體表面的測量,可以作為一種小型的測距儀器使用于汽車倒車監(jiān)視與報(bào)警裝置,也可以作為一種嵌入式設(shè)備嵌入到其他大型的工業(yè)檢測與控制系統(tǒng)中。