結(jié)合溫度補償?shù)某暡y距系統(tǒng)設(shè)計
2.2 超聲波發(fā)射、接收電路
超聲波發(fā)射、接收電路如圖2所示。超聲波發(fā)射電路由電阻R2及超聲波發(fā)送頭T40組成;接收電路由BG1、BG2X組成的兩組三級管放大電路組成;檢波電路、比較整形電路由C7、D1、D2及BG3組成。本文引用地址:http://www.ex-cimer.com/article/170604.htm
40kHz的方波由AT89C2051單片機的P3.5驅(qū)動超聲波發(fā)射頭發(fā)射超聲波,經(jīng)反射后由超聲波接收頭接收到40kHz的正弦波,由于聲波在空氣中傳播時衰減,所以接收到的波形幅值較低,經(jīng)接收電路放大、整形,最后輸出一負跳變,輸入單片機的P3.7腳。由于單片機系統(tǒng)的晶振為12M晶振,所以只能產(chǎn)生半周期為12μs或13μs的方波信號,頻率分別為41.67kHz和38.46kHz。本系統(tǒng)在編程時選用了后者。接收到的信號加到BG1、BG2組成的兩級放大器上進行放大。每級放大器的放大倍數(shù)為70倍。放大的信號通過檢波電路得到解調(diào)后的信號。這里使用的是IN4148檢波二極管,輸出的直流信號即兩二極管之間電容電壓。該接收電路結(jié)構(gòu)簡單,性能較好,制作難度小。
2.3 溫度測量補償電路
在空氣中,常溫下超聲波的傳播速度是334m/s,但其傳播速度受空氣中溫度、濕度等因素的影響,其中受溫度影響較大,如溫度每升高1℃,聲速就會增加約0.6m/s。因此在相同的間隔測量距離,由于波的傳播時間是相同的,不同溫度下的聲速不同,所以最終造成測量出來的距離不相等,在距離測量精度要求很高的情況下,必須要對溫度進行測量和補償,以避免溫度對測量精度的影響。本系統(tǒng)選用DS18B20溫度傳感器作為溫度測量、誤差補償裝置,與單片機交換信息僅需要一根I/O口線,其供電電源可來源于單片機I/O口數(shù)據(jù)線,而無需額外電源。不同溫度下超聲波在空氣中傳播速度隨溫度變化的關(guān)系如下:
v=331.4+0.61T (1)
式中,T為實際溫度(℃),v為當(dāng)前環(huán)境下聲速,單位為m/s。
3 系統(tǒng)軟件設(shè)計
軟件設(shè)計部分采用模塊化設(shè)計,由主程序、發(fā)射子程序、接收子程序、中斷子程序、溫度測量等組成。超聲波測距的程序既有較復(fù)雜的計算(計算距離時),又要求精細計算程序運行時間(超聲波測距時),所以控制程序采用C語言編程。主程序完成初始化工作、超聲波發(fā)射和接收順序的控制、距離上下限超限報警。定時中斷服務(wù)子程序完成超聲波回波接收,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作。
評論