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