具有語音播報功能的超聲波液位測量系統設計
3 系統軟件設計
本文引用地址:http://www.104case.com/article/256093.htm3.1 系統框圖設計
系統軟件設計采用模塊化設計,主程序包括:溫度測量、距離計算、語音實時播報、顯示、無線傳輸等子程序。
軟件設計流程如下:首先給STC90C51單片機上電復位,然后由單片機產生一串脈沖信號,該信號經發射電路功率放大后,觸發超聲波換能器發出40kHz的超聲波。啟動發射電路的同時,單片機內部定時器A開始計時,調用延時子程序,等待回波信號。如果在設定的時間內接收到回波,則定時器停止計時。此時定時器記錄的時間就是超聲波的傳播時間,保存該數據。然后調用溫度補償程序對聲速進行調整,再根據補償后的速度調用距離計算子程序,即可得到液位的高度。計算得到液位高度后,調用顯示程序顯示測量數據,與此同時調用語音播報程序播報測量結果,并采用無線傳輸模塊傳輸實時測量的數據給上位機。采用模塊化的設計思想可以提高編程效率。
3.2 溫度補償模塊軟件編程
當DS18B20接收到溫度補償命令時,系統啟動溫度補償調用。根據DS18B20的通訊協議,單片機控制DS18B20完成溫度轉換必須經過三個步驟:每次讀寫之前需對DS18B20進行復位,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預訂操作。因為DS18B20接在單片機I/O口進行數據傳輸,所以對讀寫數據位有著非常嚴格的時序要求。主要有初始化時序,讀時序和寫時序,所有時序都是以單片機作為主設備。
3.3 語音模塊的軟件編程
本設計采用ISD4004作為語音播報芯片,其工作于SPI串行接口。當系統算出距離時,需要調用語音模塊來播報數據。此時,查詢語音播報信號有效,開始取信號單元地址,然后取信號單元內容,再判斷是否滿足播報條件,如果滿足則播報,反之則繼續取信號單元地址,最后判斷是否播報結束。具體語音播報子程序流程是:首先取語音信號地址,判斷是否為語音播報有效地址,如果是,則給語音芯片上電,打開上電子程序,反之,回到取語音信號地址。然后取出語音存放的地址,調用數據發送子程序,再取出8位指令代碼,調用數據發送子程序。最后判斷是否存在中斷,有中斷則調用掉電子程序,以結束語音播報。
4 系統測試
系統采用的超聲波換能器中心頻率為40kHz,安裝時應保持兩個換能器中心軸線平行且相距5-10cm,其余器件無特殊要求。本系統測試采用兩種實驗方案:實驗一通過空調調節室內溫度,并保持測量距離400mm不變。對有溫度補償系統和無溫度補償系統進行距離測試實驗。實驗二保持室內溫度為20℃,對有溫度補償系統的液位計在不同距離下的測量值與實際值測量記錄。
由實驗一結果而知:在無溫度補償時,溫度變化對系統測量結果影響較大,會產生比較大的誤差;而在有溫度補償時,溫度變化對測量結果影響很小,電路測量誤差明顯減小。由實驗二結果而知,增加了溫度補償模塊的超聲波測距系統,…,測量精度明顯提高。
5 結論
本設計以單片機STC89C51為核心,采用溫度傳感器DS18B20采集監測溫度數據,設計的超聲波測距系統能夠很好地避免溫度對系統的影響。實驗數據顯示,該系統測量精度達0.8%。在測距基礎上擴展了語音播報和無線數據收發,具有良好的人機界面。該系統可應用于測量易燃易爆、強腐蝕及有毒液體的場合。
參考文獻:
[1]邱生卓.超聲波測距語音提示系統的研究[J].工業控制計算機,2013,26(8):108-110
[2]齊虹.徐志.基于nRF905的短距離無線數據傳輸系統的設計[J].福州大學學報,2010,38(1):64-68
[3]張波.王朋亮.基于STC89C51單片機超聲波測距系統設計[J].機床與液壓,2010,25(2):33-35
[4]盧偉.高精度超聲波液位測量系統的設計與實現[D].河北:河北工業大學,2012:20-42
[5]賈飛飛.具有無線收發功能的超聲波液位測量儀的設計[D].燕山:燕山大學,2010:59-61
[6]黃四青.基于單片機的超聲波油位測量儀的研究和實現[D].南京:南京理工大學,2011:34-55
[7]古玉年.ISD4004系列8-16分鐘單片機語音錄放電路及其應用[J].江蘇職工大學學報.2002(9):101-105
[8]李麗霞.單片機在超聲波測距中的應用[J].電子技術,2002(6):327-329
[9]張珂,劉鋼海.提高超聲波測距精度方法的研究[J].現代電子技術,2007(8):94-96
[10]楊朝虹,李煥.新型液位檢測技術的現狀與發展趨勢[J].工礦自動化,2009(6):16-17
電路相關文章:電路分析基礎
超聲波液位計相關文章:超聲波液位計原理
液位計相關文章:磁翻板液位計原理
雷達液位計相關文章:雷達液位計原理
評論