漫談無(wú)線非接觸式測(cè)距系統(tǒng)
時(shí)間:2022-12-12 02:56:11
導(dǎo)語(yǔ):漫談無(wú)線非接觸式測(cè)距系統(tǒng)一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
一、系統(tǒng)硬件設(shè)計(jì)系統(tǒng)
按功能可分為四部分:超聲波測(cè)距模塊、MCU控制模塊、UART轉(zhuǎn)WIFI模塊、供電模塊。超聲波測(cè)距模塊測(cè)量超聲波往返時(shí)間,MCU控制處理信息得到距離數(shù)據(jù),UART轉(zhuǎn)WIFI模塊實(shí)現(xiàn)數(shù)據(jù)的無(wú)線發(fā)送,電源模塊為整個(gè)系統(tǒng)提供能量。
1.期電平并檢測(cè)回波,一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào),回響信號(hào)是通過(guò)IO口ECHO輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,然后通過(guò)時(shí)間與距離的計(jì)算公式距離=高電平時(shí)間*聲速(340m/s)/2,計(jì)算出測(cè)量的距離。
2.MCU主控模塊C8051F020采用高速、流水線結(jié)構(gòu)CIP-51內(nèi)核,峰值速度可達(dá)25MIPS,內(nèi)部有硬件實(shí)現(xiàn)的增強(qiáng)型全雙工UART串行接口,工作溫度范圍-45℃~85℃。主控芯片C8051F020通過(guò)P1.0引腳輸出超聲波脈沖觸發(fā)信號(hào),控制超聲波測(cè)距模塊發(fā)送超聲波測(cè)量距離,由/INT0引腳檢測(cè)回響信號(hào),高電平來(lái)時(shí)啟動(dòng)定時(shí)器測(cè)量高電平時(shí)間,計(jì)算目標(biāo)距離,通過(guò)多次測(cè)量求取平均值減少測(cè)量誤差。主控芯片C8051F020通過(guò)串口UART0與嵌入式模組USR-WIFI232-A通信,TX0發(fā)送測(cè)量數(shù)據(jù),RX0接收測(cè)量控制命令,通過(guò)無(wú)線模塊獲取PC機(jī)發(fā)送的控制指令,并傳輸距離測(cè)量結(jié)果。
3.UART轉(zhuǎn)WIFI模塊USR-WIFI232-A模塊支持8011b/g/n無(wú)線標(biāo)準(zhǔn)、TCP/IP/UDP網(wǎng)絡(luò)協(xié)議棧和UART/GPIO/以太網(wǎng)數(shù)據(jù)通訊接口,有STA/AP/AP+STA三種無(wú)線工作模式,可選用內(nèi)置板載或外置天線,提供友好的Web配置頁(yè)面,3V單電源供電。USR-WIFI232-A模塊的UART口支持自由組幀和自動(dòng)成幀兩種模式,由于測(cè)量的距離數(shù)據(jù)都是定長(zhǎng)的數(shù)據(jù)幀,UART串口設(shè)置成UART自動(dòng)成幀模式,以達(dá)到最高的轉(zhuǎn)發(fā)效率,通過(guò)設(shè)置打開自動(dòng)成幀功能,并設(shè)置自動(dòng)成幀觸發(fā)時(shí)間和觸發(fā)幀長(zhǎng),模塊即可將從串口上收到的數(shù)據(jù)自動(dòng)組成幀,轉(zhuǎn)發(fā)到網(wǎng)絡(luò)上去。USR-WIFI232-A的無(wú)線模塊即可以配置成一個(gè)無(wú)線STA,也可以配置成AP,因此利用USR-WIFI1232-X可以提供十分靈活的組網(wǎng)方式和網(wǎng)絡(luò)拓?fù)?。本設(shè)計(jì)中將無(wú)線模塊配置成STA無(wú)線終端,其可以連接到其它AP上,STA之間的相互通信通過(guò)AP轉(zhuǎn)發(fā)完成,模塊可以通過(guò)AP轉(zhuǎn)發(fā)實(shí)現(xiàn)與PC機(jī)的無(wú)線通信。
4.供電模塊供電模塊要為超聲波測(cè)距模塊、單片機(jī)和UART轉(zhuǎn)WIFI模塊供電。超聲波測(cè)距模塊工作電壓為5V,因此外部提供5V電源,直接給超聲波模塊供電,5V電源經(jīng)過(guò)穩(wěn)壓芯片AMS1117得到3V電壓,為單片機(jī)和UART轉(zhuǎn)WIFI模塊提供電源。
二、系統(tǒng)軟件設(shè)計(jì)系統(tǒng)
主程序流程,在測(cè)距系統(tǒng)中,系統(tǒng)上電處于等待狀態(tài),PC機(jī)發(fā)送測(cè)量命令,系統(tǒng)測(cè)量目標(biāo)距離,并經(jīng)過(guò)數(shù)據(jù)處理,將最終結(jié)果通過(guò)串口轉(zhuǎn)WIFI模塊發(fā)送給PC機(jī)進(jìn)行后續(xù)處理和操作。
1.測(cè)距程序設(shè)計(jì)單片機(jī)觸發(fā)超聲波測(cè)距模塊獲取回響信號(hào),通過(guò)測(cè)量回響信號(hào)的高電平持續(xù)時(shí)間計(jì)算距離。測(cè)距子程序流程,單片機(jī)通過(guò)P1.0口發(fā)送大于10us的脈沖觸發(fā)信號(hào),回響信號(hào)連接到/INT0引腳上,將單片機(jī)的定時(shí)器0控制位GATE0設(shè)置為1,允許定時(shí)器0受外部輸入信號(hào)/INT0的控制,/INT0控制定時(shí)器0得到超聲波往返時(shí)間,系統(tǒng)中為了提高測(cè)量精度,測(cè)量數(shù)據(jù)取連續(xù)6次測(cè)量的平均值。
2.串口通信程序設(shè)計(jì)UART轉(zhuǎn)WIFI模塊通過(guò)串口UART0與單片機(jī)通信,UART0是一個(gè)具有幀錯(cuò)誤檢測(cè)和地址識(shí)別硬件的增強(qiáng)型串行口,通信有查詢和中斷兩種方式,本系統(tǒng)中通信采用中斷方式。設(shè)置串口通信工作方式和波特率,開串行中斷,單片機(jī)由串口接收到PC機(jī)通過(guò)WIFI發(fā)送的測(cè)量命令后,測(cè)量距離并將求得的數(shù)據(jù)通過(guò)串口發(fā)送給UART轉(zhuǎn)WIFI模塊。
三、結(jié)語(yǔ)
本系統(tǒng)采用單片機(jī)C8051F020、超聲波測(cè)距模塊和嵌入式模組USR-WIFI232-A,設(shè)計(jì)簡(jiǎn)單方便的距離測(cè)量系統(tǒng)。系統(tǒng)利用超聲波測(cè)距實(shí)現(xiàn)距離的非接觸式測(cè)量,UART轉(zhuǎn)WIFI模塊可以通過(guò)AP與PC機(jī)實(shí)現(xiàn)通信,控制距離測(cè)量和回收數(shù)據(jù)。系統(tǒng)尺寸小、便于安裝攜帶,并且測(cè)量精度高。
作者:嚴(yán)正娟張家田王金成單位:西安石油大學(xué)光電油氣測(cè)井與檢測(cè)教育部重點(diǎn)實(shí)驗(yàn)室