高精度超聲波測量距離系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
數(shù)字式溫度傳感器和模擬溫度傳感器最大的區(qū)別是:將溫度信號(hào)直接轉(zhuǎn)化成數(shù)字信號(hào),然后通過串行通信的方式輸出。因此掌握DS18B20的通信協(xié)議是使用該器件的關(guān)鍵。該協(xié)議定義了幾種信號(hào)類型:復(fù)位脈沖、應(yīng)答脈沖時(shí)隙;寫“0”、讀“1”時(shí)隙,讀“0”、讀“1”時(shí)隙。初始化后,傳感器輸出兩個(gè)字節(jié)的溫度,進(jìn)行數(shù)據(jù)處理后得到實(shí)際溫度的值,利用式(2)可計(jì)算補(bǔ)償聲速。
液晶顯示電路
字符點(diǎn)陣系列模塊是一類專門用于顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型顯示模塊。分4位和8位數(shù)據(jù)傳輸方式。它提供5×7點(diǎn)陣+光標(biāo)和5×10點(diǎn)陣+光標(biāo)的顯示模式。提供顯示數(shù)據(jù)緩沖區(qū)DDRAM、字符發(fā)生器CGROM和字符發(fā)生器CGRAM,可以使用CGRAM來存儲(chǔ)自己定義的最多8個(gè)5×8點(diǎn)陣的圖形字符的字模數(shù)據(jù)。它提供了豐富的指令設(shè)置:清顯示,光標(biāo)回原點(diǎn),顯示開/關(guān),光標(biāo)開/關(guān),顯示字符閃爍,光標(biāo)移位,顯示移位等。提供內(nèi)部上電自動(dòng)復(fù)位電路,當(dāng)外加電源電壓超過+4.5V時(shí),自動(dòng)對模塊進(jìn)行初始化操作,將模塊設(shè)置為默認(rèn)的顯示工作狀態(tài)。OCM2X16顯示兩行字符,每行可以顯示16個(gè)字符。本設(shè)計(jì)采用OCM2X16,顯示兩行字符,一行顯示當(dāng)前的環(huán)境溫度,一行顯示所測距離。
系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件包括主程序、溫度采集子程序、定時(shí)器計(jì)時(shí)子程序、計(jì)算子程序、液晶顯示子程序等。主程序包括初始化和各個(gè)子程序的調(diào)用,最后把測量結(jié)果用液晶顯示屏顯示出來(見圖4)。
結(jié)論
本系統(tǒng)采用飛思卡爾單片機(jī)MC9S12DG128B做主控制器,可靠性好,抗干擾和電磁兼容性強(qiáng),內(nèi)部資源較豐富,軟件的工作量大大降低,而且支持背景調(diào)試(BDM)方式,編程更加方便,靈活。
在本設(shè)計(jì)中,通過外部硬件電路來產(chǎn)生40kHz的超聲波信號(hào),因而相對于由單片機(jī)產(chǎn)生的40kHz超聲波信號(hào)而言,更加接近超聲波傳感器的共振頻率,因而使超聲波傳感器的輸出最大,可以有效地提高測量距離,測量距離在0.3m~4m內(nèi)。
本設(shè)計(jì)采用數(shù)字式溫度傳感器實(shí)現(xiàn)對單片機(jī)超聲波測距系統(tǒng)的溫度測量和補(bǔ)償,對聲速進(jìn)行補(bǔ)償,對引起測量誤差的因素進(jìn)行修正處理,提高了系統(tǒng)的測量精度及靈敏度,使探測精度不超過1cm,從而達(dá)到了很好的效果。
評(píng)論