現今科技的進步在給人們帶來越來越多的便捷,各行業的機器人已經逐漸融入到我們的生活,我們的生活變得越來越智能化。假如我們常用的小車也能夠變得更加聰明更智能,那么我們使用起來就會更方便更安全。
李春杏, 電子世界 發表時間:2021-10-15
本論文通過對需求的分析,研究如何設計一款能夠自動避障的多功能小車,該小車系統能探測并顯示前方障礙物及距離,當障礙物距離很近時小車會分析周圍環境,主動采取一些措施避開障礙物,這樣就能夠在很大程度上防止事故發生。操作人員還能使用上位機通過藍牙無線遙控小車的運行,障礙物與小車距離的數據會送到電腦上面顯示,使安全指數提高。這款小車系統可應用領域廣泛,不僅用于日常出行,還能應用于打掃家庭衛生,礦山的礦物運輸,以及人類無法到達的地方代替人類進行工作。
超聲波避障智能小車的設計思路為:小車在自動運行的模式下,根據小車定時發出超聲波,并對返回超聲波進行計算,算出小車與障礙物的距離,再根據距離進行判斷小車如何前進。為了方便監測,小車還配有藍牙功能,會將所測到的數據反饋給電腦,而作為上位機的電腦,我將使用VB編寫一個操作界面,用于接收小車的數據以及控制小車。所以本次設計研究的內容涉及C語言、VisualBasic、藍牙、超聲波、電機的驅動等。
1 設計思路流程圖(見圖1)
2 設計過程
選擇STC89C52作為主控芯片,該單片機簡單、經濟、穩定。可用C語言、C++、匯編語言等高級語言編寫程序。本設計使用到了P0端口,P1端口、定時器T0、T1、 T2,其中T0負責計算超聲波模塊的輸出電平時間,以此計算距離,T1負責產生單片機與上位機通訊的波特率,T2負責整個系統的定時。
檢測距離的方法有很多,而且有很多跟檢測距離相關的傳感器,例如超聲波傳感器、光電傳感器等等,由于考慮到光電傳感器受到外界光線的影響相對較大,校準難度高,對于檢測的準確性影響大,雖然超聲波同樣是看不見摸不著,但是超聲波受到干擾的因數相對較少,為了能準確而且易于操作我決定采用超聲波傳感器作為小車的檢測裝置。超聲波測距是借助計算超聲波脈沖回波所用時間法來實現的。不妨假設超聲波脈沖從傳感器射出一直到接收到回波所經歷的時間為T (單位:s),設溫度為15℃,在空氣中聲波的傳播速度則為 C(340m/s),設從傳感器到目標物體的直線距離D(單位: m)可用得以下公式:
由于通過直流電機的電流要求較大,而單片機STC89C52的引腳電流小,因此直流電機無法直接由STC89C52的引腳驅動,需要采用一個驅動能產生較大電流而且不會引起電壓下降的電路給電機供電。市面上普片采用H橋驅動電路,而且H橋電路相對簡單可靠,故本設計采用雙H橋直流電機驅動模塊。
顯示模塊則采用4位的七段數碼管,原因是結構簡單,性能可靠。由于要顯示四位數字,因此顯示模塊是采用集成的四位共陽數碼管,這臺超聲波智能小車采取七段數碼管動態顯示方法,所謂動態掃描顯示,就是輪流向各位數碼管傳送出字形碼和相應的位選,運用發光二極管余暉和人眼視覺暫留作用,使人發生錯覺,仿佛各位數碼管都同時在顯示,而實際上多位數碼管是一位一位地輪番顯示的,只是輪流速度太快了,人的肉眼已經無法辨認出來。
四位七段數碼管的接線方式如下:由于沒有鎖存器或者是三極管,因此對小車的顯示電路進行了改動,采取P0作為四位數碼管的數據端,使用P2的P2^0至P^3四位作為數碼管的控制位。如表1所示。
藍牙則采用HC-05藍牙模組。由于藍牙的電路相對比較復雜,本人直接購買藍牙模組,藍牙模組使用方便,價格合理,通信原理與串口通信方式相同,藍牙的有效范圍為 10m,符合本設計的基本需求。新藍牙模組要在使用之前對其進行一定的設置,例如:藍牙名稱、波特率、主從模式等等。對藍牙模組的設置,本人采用商家配套的軟件進行設置,具體參數的設置如下:首先要用USB轉TTL電平的模塊將藍牙與電腦連接;設備名稱:就是藍牙的名稱;連接密碼:藍牙的密碼;通訊波特率:9600,n,8,1。
本設計需要使用到獨立按鍵2個,分別用于切換智能小車的運行模式,在前文也有提及,該智能小車具有兩個工作模式,模式一是小車制動駕駛模式,在該模式下,小車探測周圍的環境,測量障礙物的距離,根據各個測量數據判斷智能小車的運行方向。同時,小車會將所測數據傳送給電腦。模式二是手動控制智能小車,在該模式下,小車只會自主運行測量模塊,測量小車距離前方障礙物的距離,同時將數據發送回電腦,電腦可以控制小車的前進,后退,左轉和右轉。
按鍵為常開按鍵,即只有外力按壓的情況下才會導通,按鍵1和按鍵2的一端分別直接與STC89C52單片機的P3^5和P3^4,另一端與地相連。由于STC89C52 單片機工作的時候引腳都是默認為高電平,當按鍵被按下的時候,P3^5和P3^4就會與地相接從而拉低了電平,觸發中斷事件。
3 軟件設計
本設計采用C語言進行編程,C語言具有通俗易懂的特點,是一門容易入門的高級語言,本設計使用到了C語言的reg52.h和stdio.h這兩個頭文件,一維數組,基本的循環語句,而且使用到了STC89C52單片機的P0~P3四組8位的數據引腳,使用到了中斷0,、中斷1、中斷2、中斷4、和中斷5。編寫程序使用的是 Keil4。通過VB編寫上位機界面。
4 系統的調試
對于電路的仿真,我采用Proteus7.8進行仿真。
超聲波模塊、小車驅動等無法進行仿真,可用發光二極管代替,該仿真操作只針對顯示模塊和串口通信,因為對顯示模塊進行仿真可以減少很多操作步驟。特別是測試串口的時候,每次調試程序都需要將程序燒寫到開發板,連續多次對開發板進行擦除燒錄程序,會對單片機有一定的損傷,而且耗費時間和精力,對電腦的USB接口以及數據線也有未知的損壞,為了提高測試的效率,我是利用Configure Virtual Serial Port Driver創建虛擬串口,令com1和com2相連接,則兩個串口助手之間或者與Protues7的RS232接口進行通訊,仿真可以不連實物就可以進行串口通信,對于調試程序可以達到事半功倍的效果。
超聲波避障小車的組裝及調試。將超聲波測距模塊,藍牙模塊,數碼管,電機驅動模塊安裝前文的描述進行組裝,將超聲波測距程序、串口通訊程序、數碼管動態掃描程序、電機驅動程序等等進行組合編譯調試,在給STC89C52燒寫編譯好的程序,開啟智能小車的藍牙,啟動小車,在上位機測試各項功能,讓小車自己行駛,將收到的距離數據與小車數碼管顯示的進行比較。
作者簡介:李春杏(1979—),女,廣東湛江人,大學本科,講師,研究方向:電子應用技術。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >