基于單片機的液位測量系統(tǒng)
工作頻率:壓電晶片的共振頻率,波長越長,頻率越小,檢測距離越大但是精度會降低。
靈敏度:輸出功率越高,靈敏度高。
波束角:以傳感器中軸線延長線為軸,能量強度減少一半(-3dB)處,這個角度被稱為波束角??梢岳斫鉃槌暡ǖ闹赶蛐浴T摂?shù)值越大,容易測到周圍物體
盲區(qū):超聲波無法檢測到的距離值
傳感器分類:
超聲波傳感器的種類有很多,根據(jù)不同分類方法有以下幾類:以使用方法可分為收發(fā)一體型、收發(fā)分體型(收發(fā)各一只);以據(jù)結(jié)構(gòu)可分為開放型、防水型、高頻型等;以使用環(huán)境可分為空氣中和水聲、固體換能器;
測量原理:
聲音在空氣中的速度已知,并隨溫度變化而變化,溫度與聲速的關(guān)系:V=331.3+0.607°C, 超聲波傳播時間由模塊獲得,距離就可知。高度h可由h=H-S求得
因為之前做過超聲波測量的課程設(shè)計,用的是分立元件搭起來的電路,可分為3各部分:第一個為超聲波發(fā)射電路,用555電路產(chǎn)生的40KHz的方波并上RC非門產(chǎn)生4Hz的方波,產(chǎn)生的波形如下(即模塊的多少秒脈沖信號)第二部分為接收電路,將收到的信號進行放大、比較在經(jīng)觸發(fā)(器)電路得到返回時間波形。第三部分是功率驅(qū)動電路。詳細的波形如下圖2
當時對模電內(nèi)容真的不是很了解,對原件的選型都不清楚的,所以大家都會用同一種電路,減少工作量嘛,當時放大器選的op37,op07應(yīng)該能用,這個要兩級放大。這個調(diào)試的過程就不詳細說了,有點曲折,也是因為不太理解模擬的東西。測出來的有1m多吧,但是要求只看你的波形,不要求精度,所以就完成了。當然自己設(shè)計的模擬類的東西是效果肯定是沒有人家研究出來模塊的好,這是肯定的可能當時也就為了完成這個任務(wù)而已。也因為之前做過,比較熟悉,所以才選這個課題,,當然上面的不是畢設(shè)的作品,只是簡單的課程設(shè)計,介紹只是為了讓大家先了解了解電路,直接用模塊就不是涉及這些了。
回歸到正題
超聲波模塊用的是KS103這款,測量范圍大,可選擇多種量程測量和多種測量指令可返回時間和距離,模塊內(nèi)含有溫度傳感器,可進行溫度補償,補償后精度最高可達到毫米級,系統(tǒng)穩(wěn)定。使用也比較方便,該模塊由兩種接口IIC、TTL串口,可通過硬件連接選擇。
最簡單的是串口模式,串口發(fā)送16進制的指令,串口中斷要判斷高電位且接受完數(shù)據(jù)后要清除接收寄存器,不然容易造成接收錯誤,這個就是核心,簡單但是容易出錯。當然建議先用USB—TTL連接器電腦,用串口助手先調(diào)試,弄清楚數(shù)據(jù)類型,指令發(fā)送,最后應(yīng)用在單片機上。STM32串口發(fā)送還是有個小問題,這是我后來才發(fā)現(xiàn)的,但不影響該作品的功能,在下個帖子我會涉及到。
顯示屏用的是0.91寸OLED屏,屏幕小,IIC接口,就4pin線。
wifi傳輸數(shù)據(jù)用的是ESP8266這個模塊,把它配置成路由器模式與單片機連接,將數(shù)據(jù)通過WIFI發(fā)送至移動終端。也是先連接到電腦。用串口助手進行AT指令調(diào)試。
單片機我用的是stm32F103ZET6,其實用小的芯片就夠了比如說48pin的RCT6之類的,雙串口就行了。但串口也可以,超聲波模塊就要改用IIC。
硬件部分就是這樣,在作品中軟件加入了按鍵選擇測量模式的功能,可選擇發(fā)送不同的測試指令。
成品:
畢設(shè)做的不是做的太好,也很丑,總體的測距功能是能實現(xiàn)的精度也夠,這個不一定用來測液面的,正常測距就可以,液面低的時候會測不準。備注下:不同物體對超聲波的反射吸收不一樣,會有一定的誤差。