范蟠果,王國斌,高 慶
(西北工業(yè)大學(xué)自動化學(xué)院,陜西 西安 710129)
在工業(yè)生產(chǎn)中,液罐液位的準(zhǔn)確測量是生產(chǎn)過程檢測和實時控制的基本保障,利用超聲波測距可以實現(xiàn)對液位定點連續(xù)測量,實際中,最常用的是超聲脈沖回波法[1]。
GSM網(wǎng)絡(luò)[2]通信的通信范圍不斷擴大,已成為成熟、穩(wěn)定和可靠的通信網(wǎng)絡(luò)。因此,利用GSM網(wǎng)絡(luò)實現(xiàn)手機和無線數(shù)傳模塊DTU[3]的通信,具有快速、安全、可靠和便捷的特點,在市場上有一定的應(yīng)用價值。
在系統(tǒng)中,GSM DTU無線數(shù)傳模塊選用DTP-S09,模塊集成度高,支持AT命令集[4]。給無線模塊插入SIM卡,連接好天線,將DTU模塊與電腦通過串口連接,上電后,通過串口調(diào)試助手,手動寫入AT命令,以測試DTU是否能準(zhǔn)確接收并執(zhí)行AT命令;DTU模塊與STC89C52之間采用串口通信,當(dāng)DTU接收到固定號碼的手機發(fā)來的短信命令后,通過串口將短信命令返回到控制核心STC89C52,單片機進行短信解碼,將其轉(zhuǎn)換成具體的執(zhí)行命令,通過IIC總線將控制命令送與超聲波測距模塊,測距模塊開始執(zhí)行測距,測距數(shù)據(jù)通過數(shù)碼管顯示以進行現(xiàn)場驗證,測距完畢,DTU接收單片機發(fā)來的AT發(fā)送短信命令,將測距數(shù)據(jù)以短信的形式返回到固定號碼的手機。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)采用STC89C52單片機作為主控制器,部分硬件電路如圖2所示。系統(tǒng)上電后,RST引腳進行復(fù)位,P2.0腳發(fā)送測距啟動信號,以進行手動測距,驗證測距模塊是否正確運行。P1.0腳和P1.1腳分別作為IIC通信的數(shù)據(jù)線SDA和時鐘線SCL,P3.0和P3.1分別作為串行通訊的RXD接收信號線和TXD發(fā)送信號線。實際應(yīng)用中,需要將測距返回來的數(shù)據(jù)通過數(shù)碼管顯示,以現(xiàn)場驗證測距模塊測量的數(shù)據(jù)是否準(zhǔn)確,其中,P0.0~P0.7作為數(shù)碼管的段選信號,P1.5,P1.6,P1.7作為數(shù)碼管的位選信號,經(jīng)過38譯碼器驅(qū)動數(shù)碼管。
圖2 部分硬件電路
選用的無線模塊DTU(DTP-S09)在硬件全部接好后(插入SIM卡,上電,接上天線),就相當(dāng)于普通手機。實驗中,電腦鍵盤相當(dāng)于手機按鍵,DTU通過串口與電腦通信,在其專用的串口調(diào)試助手中寫入AT命令,其傳送數(shù)據(jù)就顯示在接收區(qū)域,以此測試DTU模塊是否接觸良好。實際應(yīng)用中,無線模塊與單片機通過串口連接,用號碼固定的手機給DTU里號碼固定的SIM卡發(fā)送控制命令,如發(fā)送cj,啟動測距,測距完畢,將測距數(shù)據(jù)返回到手機。
系統(tǒng)選用市場上常見的KS103超聲波模組。模組探測范圍為1~550cm,增加了溫度模塊DS18B20,其測量精度可高達(dá)1mm,僅占用單片機的2個I/O,非常適用于機器人和工業(yè)測距等場合。可以通過配置其命令格式,設(shè)置其測距量程、溫度修正和休眠等待時間等參量。
短信命令的格式可通過AT命令進行設(shè)置,分為Text格式和PDU格式,Text是純文本方式,可支持?jǐn)?shù)字、字母,各字符可在軟件中設(shè)置為不同的控制指令;PDU可以使用任何字符集,解碼也較復(fù)雜,系統(tǒng)選用Text格式。
軟件設(shè)計之前,利用DTU專用串口調(diào)試助手測試AT命令,包括讀短信、發(fā)短信和刪除短信等AT命令。
系統(tǒng)的軟件流程如圖3所示。軟件設(shè)計共分為2部分:
a.DTU與單片機的串口通信,要求DTU能實時接收有效號碼的短信,單片機能準(zhǔn)確迅速地讀取短信命令,并進行解碼,將其轉(zhuǎn)化為單片機可執(zhí)行的命令,當(dāng)接收到錯誤短信或非法短信,應(yīng)立即進行刪除。
b.單片機與超聲波模組IIC總線方式通信,可使用單片機模擬IIC總線通信,編寫驅(qū)動代碼,將測距返回值顯示在數(shù)碼管上。
圖3 軟件流程
系統(tǒng)中的測距部分選用收發(fā)一體的集成模塊,方便可靠,在軟件實現(xiàn)過程中只需要編寫IIC驅(qū)動代碼,采用IIC總線的通信方式,也方便用戶使用最少的I/O口擴展多個超聲波模組。采用單片機與DTU模塊實現(xiàn)手機遠(yuǎn)程控制測距模塊測距,并返回測試數(shù)據(jù)到手機??刂葡到y(tǒng)非常適用于工業(yè)中不利于人操作或者布線困難的場合,而且安裝調(diào)試簡單,成本低,精度高,具有一定的實際應(yīng)用價值。
[1]何建新,黃 靜,雷學(xué)堂,等.基于AT89C52的超聲波測距儀設(shè)計[J].電子世界,2012,(23):119-120.
[2]崔曉明,候建軍,栗 霖.基于GSM的嵌入式遠(yuǎn)程電機監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].儀器儀表用戶,2006,13(6):24-25.
[3]張兵濤,時良平.基于GPRS DTU的遠(yuǎn)程異步電機監(jiān)控系統(tǒng)的設(shè)計[J].科協(xié)論壇,2007,(11):62-67.
[4]姜 平,陳虹吉.基于GSM手機的遠(yuǎn)程無線測控系統(tǒng)設(shè)計[J].信息技術(shù),2008,(10):62-64,67.