基于單片機的低功耗高精度融雪測量?jì)x的設計
一條JNB bit,rel匯編語(yǔ)句執行時(shí)間為2個(gè)機器周期,一條CLR C匯編語(yǔ)句執行時(shí)間為1個(gè)機器周期,所以執行一次上述回波檢測語(yǔ)句需要5個(gè)機器周期,而該設計中使用的晶振為12 MHz,一個(gè)機器周期為1 μs,因此需要5 μs。由公式S=VT/2,S為距離,V為波速,T為渡越時(shí)間。假設此時(shí)的V為340 m/s,得S=0.85 mm,誤差在1 mm之內,在設計允許范圍之內。
?。?)溫度補償
由于超聲波波速受到環(huán)境溫度的影響,需要對波速進(jìn)行溫度補償,利用數字溫度傳感器采集環(huán)境溫度,以便為做成高精度的采集系統做保障。表2列出幾種不同溫度下的超聲波波速[3]。本文引用地址:http://dyxdggzs.com/article/170684.htm
根據上述表2中數據,可以得出溫度補償公式如式(1)所示:
V=331.5+0.607×T (1)
其中V表示實(shí)際波速,T表示環(huán)境溫度。程序算法如下所示:
float Count_Supersonic_Speed
(UCHAR real_temp)
{
float V1;
V1=real_temp/2+real_temp/10+331+1/2;
return V1;
}
?。?)對采集值進(jìn)行數字濾波
由于實(shí)際測量中會(huì )出現偶然脈沖干擾,使測得的數值偏差很大,通過(guò)防脈沖干擾平均濾波法(Anti-Pulse Interference Average Filtering Method)踢除此干擾,同時(shí)對剩余的數據取平均值。測試效果如表3所示。
?。?)真實(shí)值與測量值之間做線(xiàn)性補償
由于實(shí)際測量值與真實(shí)值之間會(huì )存在誤差,現在通過(guò)用一次函數Y=KX+B做線(xiàn)性補償算法來(lái)減少測量誤差。在沒(méi)有加入補償之前如表4中的誤差1所示。E2到E11中的數值是Y由式EN=(AN+1-AN)/(BN+1-BN),(N=2~11)得到。F2到F22中的數據是對E2到E11中數據取平均值。G2到G11中的數據由公式GN=AN-FNBN,(N=2~11)。HN(N=2~11)中的數據是對G2到G11取平均值得到。計算出K=1.077 229 163,B=32.240 783 23。Y=1.077 229 163X+32.240 783 23,得到補償后的數據I2到I22。最終保證誤差在5‰左右,如表4中的誤差2所示。
經(jīng)過(guò)測試,融雪測量?jì)x的測量范圍為300 mm~2 000 mm,測量精度控制在5‰之內,且耗電量低。同時(shí),由于考慮到實(shí)際應用環(huán)境的復雜性,對于元器件的選擇全都采用工業(yè)級產(chǎn)品,以保證設備的穩定與可靠性。
參考文獻
[1] 毛煒?lè )?,張旭,楊志華,等.衛星遙感首次監測到準噶爾盆地西北部的冬季融雪洪水[J].冰川凍土,2010,32(1):211-214.
[2] RAMSAYB H. The interactive multisensor snow and ice mapping system[J]. Hydrological Processes, 1998,12:1537-1546.
[3] 翟國富,劉茂愷.一種實(shí)時(shí)高精度的機器人用超聲波測距處理方法[J].應用聲學(xué),1990(1):17-24.
評論