發布時間:2022-11-29 15:12:56
序言:寫作是分享個人見解和探索未知領域的橋梁,我們為您精選了1篇的機電中超聲波雷達測距與知識模塊教學樣本,期待這些樣本能夠為您提供豐富的參考和啟發,請盡情閱讀。
1前言
汽車電子集成化、網聯化、智能化是世界汽車發展的主流趨勢,各職業類技術院校的汽車專業基本都開設了智能網聯汽車技術相關方向的課程,該類課程的技術相關概念復雜、深奧、抽象,學生根本無法深刻理解其本質含義。本文嘗試使用目前主流的軟硬件仿真系統Tinkercad與Proteus進行聯合仿真,基于智能網聯汽車技術的車載超聲波雷達測距[1]模塊教學案例,仿真實現基本的車載超聲波雷達測距系統測距功能,使學生能透徹地理解其測距原理。Tinkercad仿真系統連線簡單明了,界面友好,通過幾根簡單的電路接線即可形象地顯示雷達測距原理與各模塊之間地邏輯關系,特別適合于沒有專業基礎或專業基礎薄弱的學生入門學習,Proteus軟件則側重于實踐開發,如具體硬件模塊選型、元器件種類的選擇、各元器件參數的設置及具體的電子系統布線圖,而且可以完成整個超聲波雷達測距系統從硬件系統到軟件系統的細節基礎設計。顯然,整個教學實踐過程主要分成兩大步驟,即先進行Tinkercad仿真實踐,然后再進行Proteus仿真實踐。
2車載超聲波雷達測距原理Tinkercad仿真
Tinkercad是世界著名圖形設計公司Autodesk(AutoCAD為其代表產品之一)近年來新推出的一款開源軟硬件電子仿真設計系統,該設計系統提供了許多市場上典型的開源硬件處理器及電子元器件,可以進行電子電路設計及單片機或嵌入式系統仿真設計,并支持C或C++語言進行系統編程。在Tinkercad網站完成Autodesk賬戶的注冊之后,如圖1所示,進入Tinkercad電子電路設計界面,界面簡單明了,只需把右側“基本組件”的元器件拖拽至左側”電路設計區”,采用簡單的連線即可完成車載雷達系統硬件設計。其中,微處理器芯片采用ArduinoUNO,雷達傳感器采用HC-SR04型號。在教學過程中,重點向學生闡明雷達傳感器四個引腳的物理意義,分別是電源引腳VCC、地引腳GND、Trig引腳為超聲波觸發引腳、Echo為雷達反饋信號接收引腳,引腳物理意義闡述清楚,學生即可初步理解超聲波測距原理,與蝙蝠探測食物昆蟲距離類似,超聲波測距雷達系統只需計算發射的超聲波信號與接收的超聲波信號時間間隔,聲波速度乘以間隔時間除以2即為汽車與障礙物之間的距離。如圖1所示,Arduino單片機[2]的5V電源引腳接到面包板的正極,Arduino單片機板的GND引腳接到面包板的負極,雷達傳感器HC-SR04的VCC與GND引腳再分別接到面包板的正負極,即Arduino單片機通過面包板給雷達傳感器HC-SR04供電。Arduino單片機的9號引腳通過面包板連接到HC-SR04的Trig端子,用以觸發HC-SR04工作,8號引腳通過面包板連接到雷達傳感器HC-SR04的Echo端子,用以接收超聲波反射信號,該反射信號為高電平,高電平持續時間即為超聲波從發射到探測到障礙物后反射的時間間隔。同時,在8號超聲波信號接收引腳外接一個簡易示波器,用以直觀顯示超聲波傳感器的返回高電平信號持續時間。其中示波器的分辨率設置為10ms(具體分辨率參數設置可根據不同的系統實測后設定)。在連接完成硬件電路之后,點擊“圖標菜單欄”右側的“代碼”按鈕進行程序編輯,編輯完成右側所示代碼區代碼。車載雷達測距仿真案例采用Arduino單片機,該類型單片機具有強大的函數庫功能,在編程過程中避免初學學生陷入復雜的單片機寄存器編程操作,使得編程更容易上手,軟硬件結合方便學生更好地理解車載雷達測距原理。如圖2所示,在代碼區,Arduino單片機核心函數有兩個,一個是setup函數,該函數主要用來設置Arduino單片機引腳工作模式,根據前述硬件連線方式,采用pinMode函數設置8號引腳為接收雷達測距傳感器反饋信號引腳,9號引腳為雷達測距傳感器觸發信號引腳。Arduino單片機第二個核心函數為loop循環函數,該函數主要實現具體的系統功能,在每一個循環內,利用digitalWrite函數先設定9號引腳為高電平,然后利用延遲函數delayMicroseconds令9號引腳的高電平持續10微秒,只有這樣,雷達傳感器才能觸發工作,最后利用digitalWrite函數設置9號引腳為低電平,這樣便完成一次雷達傳感器SR04的觸發工作。最終,每一個循環,9號引腳高電平持續10微秒一次,雷達傳感器SR04觸發工作一次。在每一個循環最末尾利用delay函數延遲100毫秒,以避免雷達傳感器觸發工作太頻繁,影響示波器信號的采樣與顯示。點擊圖1中Tinkercad上方菜單欄里的“開始模擬“按鈕,進入Tinkercad仿真環境,在仿真狀態下,如圖2所示,點擊超聲波傳感器,在其圖形的上方出現一個帶有綠點的扇形區域,該綠點即為障礙物,通過鼠標拖拽該綠點,使其與超聲波傳感器的距離不停變化,雷達傳感器SR04上的距離數值也不停變化,同時,示波器的電壓脈沖信號寬度大小將隨著綠點障礙物的遠近發生變化,學生通過Tinkercad的簡單仿真,即可充分理解障礙物距離、超聲波發射與返回間隔時間、超聲波傳感器返回高電平信號持續時間三者之間嚴密的邏輯關系。
3車載超聲波雷達測距系統Proteus仿真
Proteus仿真軟件界面較復雜,菜單欄與工具欄功能強大,對學生專業基礎知識及操作技能要求較高,學生通過前期Tinkercad軟件系統仿真,已經理解了車載雷達系統的基本原理、核心雷達傳感器SR04的測距原理及主要端子的功能及信號特點,對車載雷達測距系統的編程邏輯也有了一定了解。以此為基礎,學生可以細致全面地在Proteus仿真軟件實現車載雷達系統的硬件設計及軟件仿真,如圖4所示,與Tinkercad軟件仿真類似,Arduino通過IO2與IO3引腳分別連接雷達測距模塊的ECHO與TR端子相連,即IO2引腳接收雷達傳感器的反饋測距信號,IO3引腳控制雷達傳感器工作觸發。同時,IO2(ECHO)引腳連接到示波器模塊的A通道,IO3引腳(TR)引腳連接到示波器模塊的B通道,在程序仿真運行時,能實時顯示SR04雷達模塊的工作時序,顯示曲線明顯比Tinkercad示波器更加詳實細致,SR04雷達模塊的觸發信號與輸出回想信號(反饋信號)在Proteus示波器動態數據顯示中具有更強的對比度與可調整性。在授課過程中,Proteus仿真比Tinkercad仿真更能說明如圖3所示的雷達模塊SR04工作時序原理圖,即Arduino通過IO3(TR)引腳持續輸出10微秒以上高電平觸發雷達模塊SR04工作,SR04模塊連續發出8個40KHz雷達脈沖,Arduino通過IO2(ECHO)收到SR04模塊反饋回聲信號,回聲高電平信號持續時間與所測障礙物距離成正比。得益于Proteus元器件庫的系統全面,學生更能細節掌握LCD顯示模塊[3]的硬件電路布線及LCD基于Arduino的軟件編程函數庫。如圖3所示,Arduino的IO8號引腳連接LCD1602模塊的數據/指令寄存器選擇控制端,IO9引腳連接LCD1602模塊的R/W讀寫選擇控制端,IO10引腳連接LCD1602模塊的使能端E。Arduino的IO4~IO7四個引腳分別連接LCD1602模塊的D4~D7端,使得LCD1602模塊工作于4位顯示模式下。Proteus程序代碼比Tinkercad程序代碼更加詳實具體,全面細致。在Proteus仿真編程中,除了要求學生更加熟練掌握利用digitalWrite函數與delayMicroseconds延遲函數觸發雷達模塊SR04工作的編程技能,還要求學生掌握利用pulseIn函數讀取雷達反饋信號高電平脈沖寬度,從而通過計算獲得雷達測距數值。此外,還要求學生掌握關于液晶顯示模塊LCD1602的Arduino庫函數庫LiquidCrystal里面常見的顯示參數與顯示模式設置相關函數的編程。在實踐教學過程中,學生需掌握的Arduino軟件編程庫函數如表1所示。至此,分別通過Tinkercad仿真與Proteus仿真,學生由淺入深,循序漸進地掌握了車載雷達測距系統測距原理、系統硬件電路設計及布線、軟件系統編程。
4結論
智能網聯汽車技術相關課程概念深奧難懂,硬件化實現困難,采用仿真系統不僅可以大大降低硬件成本,把深奧抽象的概念理論轉化成看得見的可視化的仿真結果,使學生不再局限于理論知識的粗淺了解,對車載雷達測距系統有了深刻的理解與認知,大大提高學生學習興趣與教學效果。Tinkercad電子電路仿真軟件特點是界面友好,操作極其簡單。所以在本教學案例中,主要用該軟件來進行簡單的系統原理仿真,使無理論與實踐基礎的學生對車載雷達測距系統有初步理解及概念。但其不足也較明顯,其核心芯片及元器件種類有限,芯片與元器件硬件資源庫遠遠比不上Proteus的全面系統,具體的芯片引腳及端口不如Proteus標注詳實具體,不能體現系統連線布線細節,且Proteus能直接生成PCB圖,更貼合實際嵌入式系統設計情況。但Proteus對學生操作技能要求較高,要求學生必須掌握所設計系統基本原理,相關微處理器芯片及核心元器件主要信號物理意義及布線原理。兩款仿真軟件的結合,更能優勢互補,達到最佳的教學效果。
參考文獻:
[1]基于超聲波雷達的自動泊車自適應測距與定位設計[J].張海煥,陳彩霞,馬逸.科技視界.2020(28).
[2]基于Arduino的智能家居控制系統設計[J].李宗峰.信息技術與信息化.2021(06).
[3]TFT-LCD源驅動電路設計和仿真[D].申國輝.上海交通大學.2015.
作者:陸人定 單位:常州信息職業技術學院