馮篤
摘要:本文利用超聲波傳感器發(fā)射和接收超聲波來(lái)感應(yīng)障礙物的存在與否、STM32通過(guò)計(jì)算和處理傳感器讀取的數(shù)據(jù)來(lái)檢測(cè)障礙物的距離信號(hào),所檢測(cè)的距離信號(hào)一方面通過(guò)1602顯示屏顯示出來(lái),另一方面増?jiān)O(shè)了一個(gè)報(bào)警器,當(dāng)障礙物的距離過(guò)近的時(shí)候,報(bào)警器會(huì)發(fā)生報(bào)警。本設(shè)計(jì)功能齊全,設(shè)計(jì)精巧,在實(shí)際應(yīng)用中有著很廣闊的前景。
關(guān)鍵詞:測(cè)距;超聲波傳感器;STM32; 1602顯示屏
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)35-0238-02
當(dāng)今社會(huì)測(cè)距是很普遍也很重要的問(wèn)題,許多場(chǎng)合下需要準(zhǔn)確、迅速、實(shí)時(shí)的測(cè)距。例如盲人在行走的過(guò)程中,需要一個(gè)裝置來(lái)檢測(cè)前方有無(wú)障礙物,在距離障礙物距離過(guò)近的時(shí)候必須可以報(bào)警;又如汽車(chē)倒車(chē)的時(shí)候也需要檢測(cè)車(chē)尾與車(chē)庫(kù)的距離,在危險(xiǎn)距離的時(shí)候可以報(bào)警,使車(chē)主可以及時(shí)剎車(chē),避免發(fā)生事故;再如一些禁區(qū)的門(mén)口也需要測(cè)距的裝置,當(dāng)有人靠近的時(shí)候,會(huì)發(fā)出警報(bào),使該區(qū)域的安全性得到保障。目前,測(cè)距的方法很多,如紅外檢測(cè)具有造價(jià)低、安全性能好、制作簡(jiǎn)單等優(yōu)點(diǎn);缺點(diǎn)是檢測(cè)精度低、實(shí)用性低。由于超聲測(cè)距是一種非接觸式檢測(cè),其抗干擾能力較強(qiáng),如光源、氣候?qū)Τ暤母蓴_都比較小,相比于其他的技術(shù)更精確,更安全。同時(shí),超聲測(cè)距具有少維護(hù)、不污染、高可靠、長(zhǎng)壽命等特點(diǎn)?;谶@一現(xiàn)狀,本設(shè)計(jì)選用超聲波來(lái)檢測(cè)距離。
1 系統(tǒng)的整體設(shè)計(jì)
針對(duì)上述問(wèn)題,本文做出如下的設(shè)計(jì):先由超聲波傳感器向正前方發(fā)射超聲波,與此同時(shí)開(kāi)始計(jì)時(shí),超聲波沿著前進(jìn)的方向傳播,由于超聲波能感應(yīng)到障礙物,因此傳播過(guò)程中碰到障礙物就會(huì)立即朝反方向回傳,這樣超聲波接收器就可以接收到因障礙物而回傳的超聲波,同時(shí),計(jì)時(shí)停止。超聲波在空氣中的傳播速度v,設(shè)傳播時(shí)間為t,那么單程傳播的為t/2,由距離(s)=速度(v)時(shí)間(t)/2,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s)。同時(shí)一方面將距離(s)由顯示屏顯示出來(lái),讓使用者能對(duì)前方有無(wú)障礙物一目了然,并且還能掌握障礙物與其的具體距離;另一方面,設(shè)置一個(gè)距離最小值,也成閾值,當(dāng)障礙物的距離小于這個(gè)閾值的時(shí)候,單片機(jī)會(huì)給報(bào)警器發(fā)出報(bào)警信號(hào),使報(bào)警器報(bào)警,讓使用者能夠迅速準(zhǔn)確的做出應(yīng)對(duì)措施。超聲波測(cè)距原理如圖1所示。
2 系統(tǒng)的硬件設(shè)計(jì)
2.1 硬件器件的選型
本設(shè)計(jì)的傳感器選取的是非接觸式的HC-SR04超聲波測(cè)距模塊,HC-SR04超聲波測(cè)距模塊使用成本低、抗干擾能力強(qiáng)并且準(zhǔn)確性能好。單片機(jī)選取ARM系列最新、最先進(jìn)構(gòu)架的Cortex-M3內(nèi)核的STM32,STM32不僅性能優(yōu)越,而且價(jià)格便宜,所以本設(shè)計(jì)選取它作為主處理器。由于本設(shè)計(jì)的顯示屏只需要顯示距離信號(hào),所以選取易于控制、成本低的1602顯示屏。
2.2 硬件設(shè)計(jì)
硬件的組成可以分為兩個(gè)部分:第一部分由超聲波傳感器以及STM32處理器組成,為檢測(cè)部分,具體作用為:首先由STM32控制超聲波發(fā)射器發(fā)射超聲波,與此同時(shí)STM32控制定時(shí)器開(kāi)始計(jì)時(shí),由于超聲波是沿著直線傳播,當(dāng)在前方遇見(jiàn)障礙物時(shí),超聲波會(huì)立即反射回來(lái),當(dāng)超聲波傳感器接收到超聲波的時(shí)候STM32控制計(jì)時(shí)結(jié)束;第二部分由1602顯示屏、報(bào)警電路組成,STM32檢測(cè)計(jì)算出來(lái)的距離會(huì)由1602顯示屏顯示出來(lái),當(dāng)距離小于預(yù)先給STM32設(shè)定的閾值時(shí),STM32會(huì)立即給報(bào)警電路發(fā)出報(bào)警信號(hào),使蜂鳴器報(bào)警。報(bào)警部分由蜂鳴器和報(bào)警電路組成,報(bào)警電路如圖3所示。
3 系統(tǒng)的軟件設(shè)計(jì)
軟件的設(shè)計(jì)主要是對(duì)STM32的編程,首先初始化串口和定時(shí)器,并且預(yù)先設(shè)置好閾值。接著給連接超聲波傳感器的IO口發(fā)出指令,開(kāi)始發(fā)射超聲波,并且由STM32控制定時(shí)器開(kāi)始計(jì)數(shù);接著實(shí)時(shí)監(jiān)測(cè)超聲波接收器有無(wú)信號(hào)的讀取,若有,則說(shuō)明前方有障礙物,定時(shí)器停止計(jì)數(shù)。取定時(shí)器的計(jì)數(shù)差值,由定時(shí)器計(jì)數(shù)的差值可以計(jì)算出共同的時(shí)間,而單向路程所需的時(shí)間為共同時(shí)間的一半,就可以計(jì)算出障礙物與超聲波傳感器的距離。同時(shí)還要將這個(gè)距離與預(yù)先設(shè)置好的閾值進(jìn)行比較,若距離值小于閾值,則STM32會(huì)給報(bào)警電路發(fā)出報(bào)警信號(hào),達(dá)到報(bào)警效果。
4 實(shí)驗(yàn)結(jié)果分析
隨機(jī)選取不同的距離、不同材質(zhì)的障礙物進(jìn)行檢測(cè)十次,每當(dāng)達(dá)到檢測(cè)范圍的時(shí)候,顯示屏每次都能準(zhǔn)確的顯示出障礙物的距離,并且當(dāng)過(guò)度靠近障礙物的時(shí)候,蜂鳴器每次都會(huì)發(fā)出報(bào)警。結(jié)果表明本文設(shè)計(jì)的超聲波測(cè)距系統(tǒng)能夠準(zhǔn)確的實(shí)現(xiàn)測(cè)距和報(bào)警的目的,滿足當(dāng)前市場(chǎng)的要求,同時(shí)制作簡(jiǎn)易,具有很好的發(fā)展和使用前景。
參考文獻(xiàn):
[1] 胡萍.超聲波測(cè)距儀的研制[J].計(jì)算機(jī)與現(xiàn)代化,2003(10):54-57.
[2] 王直,孫強(qiáng).基于STM32的半導(dǎo)體制冷控制系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,23,(18):100-102.
[3] 陳永祿,張莉.基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2015(2):73-76.