基于Proteus的溫控超聲波測距半物理仿真系統(tǒng)設計*
摘要:針對單片機開發(fā)學習過程中實物硬件短缺或易損,以及仿真軟件庫中缺少元器件模型,實驗現(xiàn)象不明顯等問題,提出了基于Proteus的半物理電路仿真的設想和方法,即由PC機上的Proteus仿真軟件作為上位機,實物硬件電路作為下位機,使其互相通訊完成預期的功能。并設計了基于Proteus的溫控超聲波測距半物理仿真系統(tǒng),用以闡述具體的實現(xiàn)過程。設計過程中發(fā)現(xiàn)實物硬件與Proteus仿真電路之間可通過RS-232-C異步串行接口進行通信。通過進一步實驗,發(fā)現(xiàn)傳統(tǒng)的USB串行總線式接口也可實現(xiàn)通信功能。實驗表明,此方法能降低開發(fā)成本,縮短開發(fā)周期,提高軟硬件的兼容性,為后續(xù)單片機學習與開發(fā)提供了新的參考方向和思路。
本文引用地址:http://2s4d.com/article/202208/437685.htm關鍵詞:超聲波測距;半物理仿真;Proteus;RS-232-C;單片機
*基金項目:教育部產學合作協(xié)同育人項目(202102198008):基于建模與半物理仿真的電工電子系列課程實踐教學資源開發(fā)。
0 引言
目前,在我國無論是開展單片機教學活動、單片機競賽、嵌入式開發(fā)還是因為個人興趣學習單片機,大多使用市面上已經(jīng)集成好了的單片機開發(fā)板或試驗箱進行實驗學習,其硬件電路固定,存在限制學習人員進行一些具有創(chuàng)新想法的實驗研究情況,且學習過程中會出現(xiàn)元器件短缺、較貴或易損壞等問題。隨著計算機科學技術的日益發(fā)展,各行各業(yè)各領域內都出現(xiàn)了仿真技術。仿真技術的出現(xiàn)和發(fā)展極大的節(jié)省了開發(fā)成本,縮短了開發(fā)周期 [1]。Proteus 正是在這種大環(huán)境下產生并快速發(fā)展的仿真軟件 [2]。但 Proteus 仿真同樣存在一定問題,例如有的元器件模型軟件庫里沒有,有的元器件使用麻煩且效果不明顯等。
經(jīng)過實驗發(fā)現(xiàn)使用基于 Proteus 的半物理電路仿真技術可以解決上述問題 , 所謂基于 Proteus 的半物理電路仿真,又稱基于 Proteus 的硬件在回路仿真 [3],就是 指通過 PC 機的串口或并口使 Proteus 搭建的虛擬仿真電路和實際硬件電路進行通訊的聯(lián)合仿真 [4]。此技術的最大特點就是將軟件仿真技術與硬件系統(tǒng)聯(lián)合起來,簡化了設計過程??梢杂行У募涌煜到y(tǒng)開發(fā)的速度和質量,縮短研發(fā)周期,同時可以提高軟硬件的兼容性 [5]。
綜上所述,本文下面將以基于 Proteus 的溫控超聲波測距半物理仿真系統(tǒng)為例,詳細說明基于 Proteus 的半物理電路仿真的實現(xiàn)過程。
1 基本原理和設計方案
本文設計了一種基于 Proteus 的溫控超聲波測距半物理仿真系統(tǒng),采用超聲波脈沖回波法對目標物體進行測量分析,系統(tǒng)整體框架結構如圖 1 所示,整個系統(tǒng)以 STC89C516 為控制核心,連接有 HC-SR04 超聲波模塊,LCD1602 液晶顯示模塊,無源蜂鳴器,DS18B20 溫度測量模塊以及發(fā)光二極管等外設。本系統(tǒng)分為由實物硬件電路組成的下位機和由 Proteus 虛擬仿真電路組成的上位機,兩部分通過 RS-232-C 異步串行接口相連。雖然 51 系列單片機系統(tǒng)內部封裝有通用異步串行收發(fā)器,可以實現(xiàn)單片機系統(tǒng)與外界的串口通迅 [6]。但 TTL 串口電平標準為 +5 V,0 V,RS-232-C 的串口電平標 準為(-3 ~ -15)V,(+3 ~ +15)V[7]。因此想要使用RS-232-C 異步串行接口將實物與仿真連接進行通信,電路還需搭載 MAX232 電平轉換芯片。具體連接過程為下位機通過 RS-232-C 異步串行接口與 PC 機接口相連,上位機中的 COMPIM 虛擬接口編號設置為與下位機相連的 PC 機的接口編號。整體系統(tǒng)通過上位機與下位機之間的相互通信,實現(xiàn)溫度檢測、超聲波測距及警報功能。
2 電路設計
2.1 下位機電路設計
由于 Proteus 中超聲波模塊和蜂鳴器模塊,與實物使用存在一定差別,為使實驗便于操作,實驗結果更加直觀,設計如圖 2 所示的下位機電路,該電路搭載有電源模塊、RS-232-C 異步串行接口、蜂鳴器模塊、單片機控制模塊、DS18B20 溫度傳感器、MAX232 電平轉換模塊以及 HC-SR04 超聲波測距模塊。可實現(xiàn)目標距離和環(huán)境溫度的測量,將測量到的信息上傳給上位機進行數(shù)據(jù)處理,并將處理好的數(shù)據(jù)發(fā)回實物單片機上,控制警報系統(tǒng)。
2.2 上位機電路設計
在 Proteus 中搭建如圖 3 所示的上位機電路,該部分由 LCD1602 液晶顯示模塊、STC89C516 控制模塊、MAX232 電 平轉換模塊、RS-232-C 模塊以及 LED 狀態(tài)指示模塊組成。由于上位機與下位機通過 RS-232-C 異步串行接口相連,上位機電路的晶振頻率應與實物電路的晶振頻率相同為 12 MHz。當下位機將測得的數(shù)據(jù)傳輸給上位機時,上位機開始處理數(shù)據(jù),并控制 LCD1602 實時顯示目標距離。如果目標距離小于20 cm, 紅色指示燈亮起,并將處理好的數(shù)據(jù)傳輸給下位機,使下位機發(fā)出警報,否則,綠燈亮起。
圖3 上位機電路圖
3 系統(tǒng)軟件設計
3.1 超聲波測距模塊原理
本實驗采用型號為 HC-SR04 的超聲波測距模塊,該模塊集成有超聲波發(fā)射器、接收器與控制電路 , 具有性能高,精度高,盲區(qū)小等優(yōu)點 [8]。其工作時序圖如圖 4 所示。
當單片機 I/O 口發(fā)送一個至少 10 μs 以上的高 電平至該模塊的 Trig 控制信號輸入引腳時,超聲波測距模塊內自動發(fā)出 8 個方波信號,其周期為 40 kHz,同時檢測是否有返回信號。如果檢測到有信號返回,Echo 回響信號輸出引腳輸出高電平 [9]。所測的距離與回響信號的脈沖寬度成正比,因此通過計算高電平持續(xù)的時間可以計算目標距離。公式如(1)所示
3.2 DS18B20溫度補償模塊
由于環(huán)境溫度對聲速影響較大,聲波在大氣中傳播時,聲速隨環(huán)境溫度升高而增大,所以該系統(tǒng)在實際應用中,需要使用溫度補償?shù)姆绞絹硖岣邷y距的精度。本系統(tǒng)采用 DS18B20 測溫模塊檢測環(huán)境溫度。 DS18B20 是一種單總線數(shù)字溫度傳感器,主要由配置寄存器、64 位 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL 四個部分組成 [10]。具有體積小,硬件開銷低,抗干擾能力強,精度高的特點 [11]。系統(tǒng)搭載 DS18B20 模塊后可實時計算當前環(huán)境溫度下的聲速,以減小測量目標距離時的誤差。具體公式如(2)所示
3.3 下位機軟件設計
整體系統(tǒng)采用上位機與下位機分別編程的方法,開發(fā)環(huán)境為 Keil uVision5,Proteus8.6 版本。下位機電路主程序流程圖如圖 5 所示,系統(tǒng)上電后,先進行單片機,定時器初始化操作,然后啟動超聲波模塊和 DS18B20 溫度模塊開始測量目標距離及環(huán)境溫度,處理測量數(shù)據(jù),將數(shù)據(jù)發(fā)送給上位機。其中超聲波模塊程序流程圖如圖 6 所示,該模塊上電后先進行初始化操作,隨后 Trig 引腳發(fā)出高電平,當模塊接收到回波信號時,Echo 引腳發(fā)出回響高電平信號,系統(tǒng)開始計算目標距離。如果目標距離小于 20 cm, 下位機電路中蜂鳴器響起。
3.4 上位機軟件設計
上位機電路主程序流程圖如圖 7 所示,系統(tǒng)上電后進行初始化操作,然后接收下位機發(fā)送的數(shù)據(jù),進行處理并將目標距離實時顯示在 LCD1602 上,當目標距離小于 20 cm 時紅色 LED 亮起,反之綠色 LED 亮起。要使上位機和下位機之間可以相互通信,需設置相同的波特率,本實驗波特率為 4 800 bit/s,定時器工作模式為 16 位。
4 實驗及結果分析
基于 Proteus 的溫控超聲波測距半物理仿真系統(tǒng)搭建好后如圖 8 所示,連接好 RS-232-C 異步串行接口后,將上位機與下位機上電啟動系統(tǒng)。以 14 cm 為目標初始距離,每次增加 20 cm, 測量 6 組數(shù)據(jù),到 114 cm 為止。記錄測量數(shù)據(jù),與實際距離進行比對分析,數(shù)據(jù)如表 1 所示。
從表 1 中可以看出,隨著目標距離不斷增大,測量的誤差也在不斷增大,超聲波測距的誤差來源有很多,例如測量角度,溫度,代碼算法,電路等等。本文重點為介紹基于 Proteus 的半物理電路仿真技術,且礙于篇幅限制,對誤差不做過多的分析和探討。
5 結語
本文設計了基于 Proteus 的溫控超聲波測距半物理仿真系統(tǒng),介紹了基于 Proteus 的半物理電路仿真技術的實現(xiàn)過程,為后續(xù)單片機開發(fā)學習過程中實物硬件短缺或易損,以及仿真軟件庫中缺少元器件模型,實驗現(xiàn)象不明顯等問題提供了一個切實可行的解決方案。經(jīng)實驗證明,該技術簡化了設計的過程,提了高軟硬件的兼容性,節(jié)約了成本,提高了開發(fā)效率,為之后的學習、開發(fā)提供了新思路。由此得出,本設計具有一定的參考和推廣價值。同時,實驗的過程中發(fā)現(xiàn)傳統(tǒng) USB 串行總線式接口也可實現(xiàn)實物電路與虛擬仿真電路之間的通信。受限于篇幅和本人水平,該半物理仿真系統(tǒng)還存在數(shù)據(jù)誤差等問題,后續(xù)可通過電路濾波,改進算法或使用更為精密的超聲波模塊進行改進。
參考文獻:
[1] 李承隆.電子產品熱設計及熱仿真技術應用的研究[D].成都:電子科技大學,2010.
[2] 周靈彬,張靖武.PROTEUS的單片機教學與應用仿真[J].單片機與嵌入式系統(tǒng)應用,2008(01):76-79.
[3] 童小利,金秋春,崔建峰.基于Proteus的半物理電路仿真[J].機床與液壓,2011,39(15):119-122.
[4] 劉鄒,丁青青.基于Proteus的硬件在回路仿真[J].計算機仿真,2009,26(02):312-314,328.
[5] 張勁松.基于Proteus的硬件在回路仿真[J].科技信息,2013,(25):36-37.
[6] 侯友軒,裴???崔平遠,等.一種基于傳感器觸發(fā)的組合導航系統(tǒng)平臺[J].計算機測量與控制,2010,18(08):1844-1846.
[7] 胡訓智.基于GPRS的遠程醫(yī)療數(shù)據(jù)傳輸及管理系統(tǒng)設計[D].呼和浩特:內蒙古大學,2011.
[8] 王廷毓,仝玉強.一種六足仿生機器人的避障和防跌落功能設計[J].電子世界,2018(08):148-149.
[9] 謝翔.教育機器人智能搬運優(yōu)化設計[J].科技展望,2014(18):212-214.
[10] 曹美霞.單片機與數(shù)字溫度傳感器DS18B20的接口設計[J].電子制作,2014(11):9-10.
[11] 柳春林.基于ONENET云平臺的智能魚缸研究報告[J].科學技術創(chuàng)新,2019(04):53-55.
(注:本文轉載自《電子產品世界》雜志2022年8月期)
評論