基于單片機(jī)控制的超聲波測(cè)距報(bào)警系統(tǒng)[圖]

相關(guān)專題: 芯片

0 引言

超聲波具有定向性好、能量集中、在傳輸過程中衰減較小、反射能力較強(qiáng)等優(yōu)點(diǎn),超聲波傳感器可廣泛應(yīng)用于非接觸式檢測(cè)方法,因而采用仿真技術(shù)進(jìn)行超聲波測(cè)距。

目前國內(nèi)的超聲波測(cè)距專用集成電路都是只有厘米級(jí)的測(cè)量準(zhǔn)確度。通過分析超聲波測(cè)距誤差產(chǎn)生的原因,提高測(cè)量時(shí)間差到微秒級(jí),以及用LM92 溫度傳感器進(jìn)行聲波傳播速度的補(bǔ)償后,設(shè)計(jì)的高準(zhǔn)確度超聲波測(cè)距儀能達(dá)到毫米級(jí)的測(cè)量準(zhǔn)確度。

1 超聲波測(cè)距報(bào)警系統(tǒng)基本原理

如圖1 所示,使單片機(jī)可接收超聲波模塊輸出的距離信號(hào),并對(duì)其進(jìn)行合理的處理后,在顯示模塊上實(shí)時(shí)顯示超聲波模塊與障礙物的距離。

圖1 系統(tǒng)連接示意

單片機(jī)發(fā)出40 kHz 的方波信號(hào),經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號(hào)經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動(dòng)單片機(jī)中斷程序,測(cè)得時(shí)間為t.

再通過軟件編程進(jìn)行判別、計(jì)算,得出所測(cè)距離值并由LED 數(shù)碼管顯示,其原理框圖如圖2。

圖2 超聲波測(cè)距儀原理框圖

發(fā)射器發(fā)出的超聲波以速度v 在空氣中傳播,在到達(dá)被測(cè)物體時(shí)被反射返回,由接收器接收,其往返時(shí)間為t.由公式:測(cè)出的距離 L (m) = 常溫下的聲速340 (m/s)× 感應(yīng)時(shí)間t (s) / 2,算出被測(cè)物體的距離。由于超聲波也是一種聲波,其聲速v 與溫度有關(guān),如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測(cè)距準(zhǔn)確度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕拚?/p>

2 系統(tǒng)硬件設(shè)計(jì)

2.1 超聲波測(cè)距原理

單片機(jī)在 T0 時(shí)刻發(fā)射方波,同時(shí)啟動(dòng)定時(shí)器開始計(jì)時(shí),當(dāng)收到回波后,產(chǎn)生一個(gè)負(fù)跳變到單片機(jī)中端口,單片機(jī)響應(yīng)中斷程序,定時(shí)器停止計(jì)數(shù)。計(jì)算時(shí)間差,即可得到超聲波在介質(zhì)中傳播的時(shí)間t ,由此便可計(jì)算出距離。其時(shí)序圖如圖3 所示。

圖3 超聲波時(shí)序圖

2.2 硬件電路

硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測(cè)接收電路三部分。單片機(jī)采用STC89C51 或其兼容系列。采用12 MHz 高準(zhǔn)確度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測(cè)量誤差。單片機(jī)用P2.4 端口輸出超聲波換能器所需的40 kHz 的方波信號(hào),利用外中斷0 口監(jiān)測(cè)超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡(jiǎn)單實(shí)用的4 位共陽LED 數(shù)碼管,段碼用程序驅(qū)動(dòng),位碼用PNP 三極管驅(qū)動(dòng)。

2.3 各主要模塊的硬件

STC89C51 芯片引腳與封裝如圖4 所示。

圖4 STC89C51 引腳

引腳功能說明:

(1)VCC:電源電壓。

(2)GND:接地。

(3)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。

(4)/EA/VPP:當(dāng)/EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。

(5)XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。

(6)XTAL2:來自反向振蕩器的輸出。

(7)P0 口:P0 口為一個(gè)8 位漏級(jí)開路雙向I/O 口,也即地址/ 數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每腳可吸收8TTL 門電流。

(8)P1 口:P1 口是一個(gè)內(nèi)部提供上拉電阻的8 位雙向I/O 口,P1 口緩沖器能吸收或輸出4TTL門電流。

(9)P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的8 位雙向I/O 口,P2 口緩沖器可吸收或輸出4 個(gè)TTL門電流,當(dāng)P2 口被寫"1"時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。

(10)P3 口:P3 口管腳是8 個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可吸收或輸出4 個(gè)TTL 門電流。

P3 口也可作為AT89C52 的一些特殊功能口,如表1 所示。

表1 P3 特殊功能口

  P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。

(11)ALE//PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。

(12)/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。

在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。

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

超聲波發(fā)射電路原理如圖5 所示。輸出端采用兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。上位電阻R10、R11 一方面可以提高反向器74LS04 輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。

圖5 超聲波發(fā)射電路原理圖

2.5 超聲波檢測(cè)接收電路

集成電路CX20106A 是一款紅外線檢波接收的專用芯片?紤]到紅外遙控常用的載波頻率38 kHz 與測(cè)距的超聲波頻率40 kHz 較為接近,可以利用它制作超聲波檢測(cè)接收電路( 如圖6)。實(shí)驗(yàn)證明用CX20106A 接收超聲波( 無信號(hào)時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。

圖6 超聲波檢測(cè)接收電路

2.6 顯示電路

顯示電路采用簡(jiǎn)單實(shí)用的4 位共陽LED 數(shù)碼管,段碼用74LS244 驅(qū)動(dòng),位碼用PNP 三級(jí)管驅(qū)動(dòng)。接P2.1 引腳的為個(gè)位顯示數(shù)碼管,其小數(shù)點(diǎn)在P2.1 有效時(shí)顯示,此功能由軟件來完成。

2.7 復(fù)位功能

系統(tǒng)應(yīng)具備測(cè)距啟動(dòng)功能,可以復(fù)位系統(tǒng),使其開始重新測(cè)距。

綜上所述,本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制超聲波的發(fā)射和對(duì)超聲波自發(fā)射至接收往返時(shí)間的計(jì)時(shí),單片機(jī)選用STC89C52,經(jīng)濟(jì)易用,且片內(nèi)有8K 的ROM,便于編程。電路原理如圖7 所示。

3 軟件方案

系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì),主要包括主程序設(shè)計(jì)、T0 中斷服務(wù)子程序、外部中斷服務(wù)子程序、距離計(jì)算子程序、LED 顯示子程序設(shè)計(jì)等。

主程序首先是對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器T0工作模式為16 位定時(shí)計(jì)數(shù)器模式。置位總中斷允許位EA 并給顯示端口P0 和P2 清0.

圖7 電路原理

然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時(shí)約0.1 ms,然后才打開外中斷0 接收返回的超聲波信號(hào)。

測(cè)出距離后結(jié)果將以十進(jìn)制BCD 碼方式送往LED 顯示約0.5 s,然后再發(fā)超聲波脈沖重復(fù)測(cè)量過程。為了有利于程序結(jié)構(gòu)化和容易計(jì)算出距離,主程序采用C 語言編寫。

3.1 主程序

· 系統(tǒng)控制初始化LED、初始化計(jì)數(shù)控制部分,清除計(jì)數(shù)值。

· 單片機(jī)超聲波脈沖信號(hào)。

· 立刻置INT0 為1,打開計(jì)時(shí)器,等待回波信號(hào)。

· 回波信號(hào)到達(dá),關(guān)閉計(jì)時(shí)器,P3.3 為0,清INT0 為0.

· 單片機(jī)讀出計(jì)數(shù)值。

· 單片機(jī)將計(jì)數(shù)值進(jìn)行計(jì)算后得出的距離值,顯示在LED 上。

· 當(dāng)測(cè)量距離< 10.0 cm 或> 50.0 cm 時(shí),報(bào)警系統(tǒng)燈亮。

· 當(dāng)按下復(fù)位鍵時(shí),啟動(dòng)復(fù)位功能。

主程序流程圖如圖8 所示。

圖8 主程序流程

3.2 定時(shí)中斷服務(wù)子程序

超聲波發(fā)生子程序的作用是通過P3.3 端口發(fā)送2 個(gè)左右頻率約40 kHz 的方波的超聲波脈沖信號(hào),同時(shí)把計(jì)數(shù)器T0 打開進(jìn)行計(jì)時(shí)。定時(shí)中斷子程序如圖9 所示。

圖9 定時(shí)中斷服務(wù)子程序

3.3 功能顯示

如圖10 所示,通過數(shù)碼管顯示測(cè)出距離為14.3 cm,屬于10.0 ~ 50.0 cm 正常范圍。

圖10 超聲波測(cè)距正常范圍

如圖11 所示,超聲波測(cè)出的距離為9.4 cm,< 10.0 cm,報(bào)警系統(tǒng)啟動(dòng),LED 燈亮。

圖11 超聲波測(cè)距< 10.0 cm

如圖12 所示,超聲波測(cè)出的距離為50.3 cm,> 50.0 cm,報(bào)警系統(tǒng)啟動(dòng),LED 燈亮。

圖12 超聲波測(cè)距大于50.0 cm

如圖13 所示,按下鍵盤模塊中的按鍵,復(fù)位系統(tǒng),數(shù)碼管顯示距離數(shù)歸零。

圖13 啟動(dòng)復(fù)位功能

作者:王懿川   來源:《上海計(jì)量測(cè)試》
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動(dòng):6G至簡(jiǎn)無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息