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