<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 超聲波測距系統(tǒng)中單片機(jī)的應(yīng)用

          超聲波測距系統(tǒng)中單片機(jī)的應(yīng)用

          作者: 時間:2011-06-30 來源:網(wǎng)絡(luò) 收藏

            2.1 發(fā)射電路

            發(fā)射電路以PIC16F877為核心,當(dāng)上電時,從RA0口產(chǎn)生40kHz的信號,但是此時該信號無法通過與非門進(jìn)入放大電路使超聲波發(fā)射頭發(fā)射超聲波,只有閉合開關(guān)S1時,從RA1口發(fā)射出一門控信號,該信號的頻率為4kHz,同時啟動內(nèi)部的定時器TMR1,開始計(jì)數(shù)。該門控信號每發(fā)射一個周期的波形,超聲波就會發(fā)射10個完整的波形,這可由它們的頻率得出。超聲波的周期為1(40kHz)=01025ms,而門控信號的周期為1(4kHz)=0125ms。最后根據(jù)s=vt2求出障礙物與移動機(jī)器人的距離。當(dāng)超聲波接收頭收到反射回來的超聲波時,計(jì)數(shù)器停止計(jì)數(shù),時間t可以根據(jù)計(jì)數(shù)器的計(jì)數(shù)與門控信號的周期求出。RA2口接RS觸發(fā)器,RS觸發(fā)器可以自動控制超聲波的發(fā)射和停止。本的電路還包括人工復(fù)位電路,由單片機(jī)的MCLR引腳接S2來控制,超聲波發(fā)射電路圖見圖2。

            2.2 門控電路(RS觸發(fā)器)

            為實(shí)現(xiàn)對超聲波發(fā)射和接收的自動控制,須在電路中加一門控電路,該門控信號頻率為4kHz,如把輸出脈沖作為閘門信號,讓已知頻率fc的脈沖恰好通過閘門,那么t=NTc,其中,Tc為已知脈沖的周期,N為脈沖的個數(shù)。

            門控電路由RS觸發(fā)器組成,當(dāng)輸入端R=1(S=0)時復(fù)位,即輸出端Q=0;當(dāng)R=0(S=1)時置位,即Q=1。RS觸發(fā)器與單片機(jī)的RA2口相連。

            2.3 超聲波放大電路

            超聲波放大電路由三極管等組成,由于單片機(jī)RA口最多只有20mA~25mA上拉電流,而超聲波發(fā)射器最小需要60mA的電流,所以在與非門后加一級放大電路來放大電流,以完成超聲波的發(fā)射。超聲波放大發(fā)射電路見圖3。

            3 超聲波接收電路

            3.1 超聲波接收放大電路

            由于超聲波接收頭接收到的超聲波信號很微弱,所以在其后需加一超聲波接收放大電路。該電路采用兩個集成運(yùn)放,設(shè)計(jì)為兩級,兩級都為同相輸入,因?yàn)橥噍斎氲碾妷悍糯蟊稊?shù)為1+RfR,所以每一級的放大倍數(shù)為10,兩級放大倍數(shù)接近100倍,這樣后續(xù)電路就可以很容易地檢測到輸入的信號。集成運(yùn)放采用雙電源供電,超聲波接收放大電路見圖4。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();