湖北工業(yè)大學(xué)電氣學(xué)院 盧寶全 李仄立
?
基于STM32F411RET6的智能搜救系統(tǒng)
湖北工業(yè)大學(xué)電氣學(xué)院 盧寶全 李仄立
【摘要】論文以自動報警營救演示系統(tǒng)為主題,模擬了現(xiàn)實生活中人類在廣袤的野外和海上的活動中遇險受困后外部有效及時的救援的場景。設(shè)計了當(dāng)信標(biāo)以隨機順序報警,救援小車以相應(yīng)順序快速、準(zhǔn)確、高效的實施救援的一個基于無線傳感網(wǎng)絡(luò)的遇險自動報警與營救系統(tǒng)。該系統(tǒng)采用Zigbee2530模塊構(gòu)成無線網(wǎng)絡(luò)系統(tǒng),以ST微控制芯片STM32F411RET6為核心,外接傳感器電路和驅(qū)動電路,傳感器電路采用OV7620攝像頭模塊和超聲波模塊對信號進行采集以及處理,驅(qū)動電路采用單MOS電機驅(qū)動來實現(xiàn)對電機的有效驅(qū)動。軟件設(shè)計中用基于灰度值的光源圖像處理算法進行圖像處理,用自己設(shè)計的超聲波避障算法實現(xiàn)避障功能,用經(jīng)過算法處理得出的PWM信號實現(xiàn)對電機和舵機速度和方向的控制。
【關(guān)鍵詞】STM32F411;Zigbee無線傳感器網(wǎng)絡(luò);超聲波避障;攝像頭圖像處理
論文以自動報警營救演示系統(tǒng)為主題,模擬了現(xiàn)實生活中人類在廣袤的野外和海上的活動中遇險受困后外部有效及時的救援的場景。在此過程中,遇險人員如能夠發(fā)送預(yù)警定位信息;外部救援人員則能夠有效偵查探測遇險人員的位置,然后前往實施營救。其中遇險人員用能夠發(fā)光的信標(biāo)模擬,外部救援人員用救援小車來模擬,當(dāng)小車行駛到信標(biāo)附近一定半徑時,則認(rèn)為一次救援成功。
系統(tǒng)模擬過程簡介:
本系統(tǒng)模擬野外遇險營救,設(shè)計有模擬遇險人員的5個信標(biāo)、模擬救援隊員的自動移動的2個車模,如圖1-1所示。過程中5個信標(biāo)先隨機點亮一個模擬報警,被點亮的那個信標(biāo)我們稱為信標(biāo)1,車1從出發(fā)區(qū)出發(fā),自動前進到信標(biāo)1的救援半徑內(nèi)。然后信標(biāo)1自動解除報警,然后隨機選擇一個信標(biāo)——信標(biāo)2開始報警。車模2從出發(fā)區(qū)出發(fā),前進到信標(biāo)2 救援區(qū)域內(nèi)。然后信標(biāo)2解除報警,同理信標(biāo)3開始報警。上述過程持續(xù)下去,直到車模前進至信標(biāo)5的救援區(qū)域。至此模擬完成整個搜救過程。
圖1-1 智能搜救示意圖
整個系統(tǒng)可以分為信標(biāo)部分、小車部分和無線傳感器網(wǎng)絡(luò)三部分,信標(biāo)一共有5個,小車一共有2輛,每一個信標(biāo)以及每一個小車上都有一個zigbee模塊。接下來分別介紹小車、信標(biāo)和無線傳感器三個部分。
2.1小車系統(tǒng)結(jié)構(gòu)
小車的組成結(jié)構(gòu)如圖2-1所示,小車部分主要由STM32F411RET6核心主電路板、OV7620攝像頭、超聲波模塊、編碼器模塊、電機驅(qū)動、電機、三個舵機模塊以及電源部分組成。
圖2-1 小車結(jié)構(gòu)框圖
圖2-2 攝像頭處理流程圖
2.1.1OV7620攝像頭
OV7620攝像頭和STM32F411主控芯片之間的通訊有兩部分,一部分是8bit的數(shù)據(jù)口DATA[0-7],另外一部分是1個場中斷信號線VSYN,1個行中斷信號HREF。采集一幅圖像的方法是,當(dāng)一個場中斷來了之后,以后每次行中斷來都不停的采集8bit數(shù)據(jù)口的數(shù)據(jù)(0-255的灰度值數(shù)據(jù)),將采集到的數(shù)據(jù)存到一個二維數(shù)據(jù)中就完成了圖像的采集。攝像頭處理的流程圖2-2所示。
2.1.2超聲波
超聲波模塊是通過測距來判斷前方是否有障礙物,超聲波測距的原理如圖2-3所示,首先由STM32F411一個引腳發(fā)射一個10us的高電平的觸發(fā)信號,超聲波模塊就會循環(huán)發(fā)射8個40KHZ的超聲波脈沖,當(dāng)超聲波遇到障礙物反射回來時會被模塊接收到,這時回響信號引腳會輸出一段時間的高電平,而這時STM32F411就會去檢測這段高電平的時間,這段時間就是超聲波從發(fā)生到接受所經(jīng)歷的時間,再乘以聲音在空氣中的傳播速度就得到了小車離前方障礙物的距離。又因為超聲波模塊發(fā)射的角度不廣,所以在超聲波模塊下面加上一個舵機使其可以掃描前方180度的范圍,這樣就可以把小車前方的情況判斷清楚。
圖2-3 超聲波測距原理
超聲波避障的算法是建立在超聲波測距的基礎(chǔ)之上的,超聲波避障算法流程圖如圖2-4所示。小車在向目標(biāo)行駛的過程中,超聲波會不停檢測前方的障礙物,如果檢測到有障礙物就會立即停車,然后再次掃描前方180度范圍內(nèi)的障礙物,這將得到前方180度范圍內(nèi)有無障礙物,以及在前方180度范圍內(nèi)哪些方向有障礙物,哪些方向沒有障礙物,還會知道最寬廣的出口方向在哪。如果檢測到前方的障礙物離小車太近了,那么小車轉(zhuǎn)向的時候即使打到最大的角度也可能會撞上障礙物,那么就讓小車先后退一段距離以留出足夠的空間讓小車轉(zhuǎn)向。
圖2-4 超聲波避障算法流程圖
2.1.3光電編碼器
光電編碼器的作用是實時記錄反饋小車的車速,這樣小車的速度就會比不加編碼器時得到更好的控制。而小車速的的控制算法采用經(jīng)典的PID控制算法。PID的控制算法的示意圖如圖2-5所示。
圖2-5 小車速度控制PID算法
2.1.4舵機和電機
小車上一共有三個舵機,一個用于控制小車轉(zhuǎn)向的,我們叫方向舵機;一個用于控制攝像頭掃描的,我們叫攝像頭舵機;還有一個用于控制超聲波掃描的,我們叫做超聲波舵機。舵機的控制很簡單,就是STM32F411的引腳輸出頻率為300HZ的PWM,不同的占空比的PWM波控制舵機轉(zhuǎn)不同的角度。
同理輸出兩路100KHZ的PWM信號給電機驅(qū)動可以控制小車電機轉(zhuǎn)動,A相為PWM波,B相為0時,電機正轉(zhuǎn);A相為0,B相為PWM信號時電機反轉(zhuǎn)。不同的占空比電機輸出的力不同。
2.1.5小車系統(tǒng)軟件流程
小車的整個軟件流程圖如圖2-6所示。首先小車會檢測zigbee有沒有發(fā)來信息,并根據(jù)情況自己決定自己需不需要通過zigbee向外發(fā)送信息,然后就會用超聲波檢測前方有沒有障礙物,如果有障礙物則進一步判斷障礙物是否是信標(biāo),因為當(dāng)小車行駛到信標(biāo)的救援半徑內(nèi)時,信標(biāo)首先會被超聲波檢測到為障礙物,在通過攝像頭的圖像處理被判斷為信標(biāo)而不是障礙物,這時小車會停車,并發(fā)送相應(yīng)信息。如果小車判斷前方是障礙物而不是信標(biāo),那么就根據(jù)超聲波避障算法避障。確認(rèn)前方?jīng)]有障礙物的時候,就通過攝像頭掃描信標(biāo),掃描到了信標(biāo)就跟蹤信標(biāo),使小車向信標(biāo)的方向行駛。
圖2-6 小車系統(tǒng)的軟件流程圖
圖2-7 信標(biāo)結(jié)構(gòu)框圖
2.2信標(biāo)系統(tǒng)結(jié)構(gòu)
信標(biāo)的系統(tǒng)結(jié)構(gòu)框圖如圖2-7,信標(biāo)的部分主要由電源部分,zigbee,燈帶驅(qū)動電路以及燈帶組成。Zigbee的IO口如果是高電平就會導(dǎo)通三極管進而閉合繼電器最后使燈帶點亮。
2.3zigbee無線網(wǎng)絡(luò)
整個系統(tǒng)之間的無線通訊采用的是zigbee無線傳感網(wǎng)絡(luò)。Zigbee的網(wǎng)絡(luò)拓?fù)淙鐖D2-8所示。整個系統(tǒng)zigbee通訊結(jié)構(gòu)圖如圖2-8所示。
圖2-8a 星形網(wǎng)絡(luò)拓?fù)?/p>
圖2-8c 網(wǎng)絡(luò)形網(wǎng)絡(luò)拓?fù)?/p>
Zigbee的網(wǎng)絡(luò)拓?fù)溆挚梢苑譃樾切?,樹形和網(wǎng)絡(luò)型。而在本系統(tǒng)中我們采用的是網(wǎng)絡(luò)型拓?fù)浣Y(jié)構(gòu)。其中車一為協(xié)調(diào)器,車二以及5個信標(biāo)均為路由器。他們兩兩之間可以相互通訊。
系統(tǒng)各部分之間的通訊圖如圖2-9所示。系統(tǒng)整個流程是:首先開啟車1的協(xié)調(diào)器,然后依次開啟信標(biāo)1-5的路由器(隨機開啟,最先開啟的為信標(biāo)1,以此類推),最后開啟車2的路由器,信標(biāo)1-5以及車2逐一將自己的網(wǎng)絡(luò)地址發(fā)送給車1協(xié)調(diào)器,車一協(xié)調(diào)器接受到了所有的短地址之后將這些地址發(fā)送給車2。這樣車1和車2就知道了網(wǎng)絡(luò)中每個節(jié)點的地址了。然后車一給信標(biāo)1發(fā)送信號,讓信標(biāo)1報警,車1根據(jù)以上算法搜尋信標(biāo)1,到達(dá)了信標(biāo)1的救援半徑之后,向信標(biāo)1發(fā)送信息讓信標(biāo)1停止報警,并給信標(biāo)2發(fā)送信息使信標(biāo)2開始報警,并通知車2開始搜尋信標(biāo),以此類推,完成整個搜救過程。
圖2 -9 系統(tǒng)各部分之間的通訊圖
本論文中介紹了自行設(shè)計的基于無線傳感網(wǎng)絡(luò)的遇險自動報警與營救系統(tǒng)的基本思路,它包括機械、電路以及控制算法的思想。在機械結(jié)構(gòu)方面,自主設(shè)計信標(biāo),利用舵機增加了攝像頭以及超聲波的掃描廣度;在電路方面,設(shè)計并選擇了電源模塊、最小系統(tǒng)、主板、電機驅(qū)動、攝像頭、超聲波、速度傳感器這幾個模塊;在算法方面,使用C語言編程,調(diào)試程序,設(shè)計出一套比較實用的、穩(wěn)定的程序。
參考文獻
[1]薛美盛,薛生輝,雷超杰,吳軍.一種改進的脈寬調(diào)制PID控制算法及其應(yīng)用[J].環(huán)境工程.2013(05).
[2]李香宇,王世功,王萌,張亞周.基于PID算法和PWM控制的溫控系統(tǒng)設(shè)計[J].儀表技術(shù),2016,05:31-33.
[3]張巖,裴曉敏,付韶彬.基于單片機的智能循跡小車設(shè)計[J].國外電子測量技術(shù),2014,03:51-54.
[4]李香宇,王世功,王萌,張亞周.基于PID算法和PWM控制的溫控系統(tǒng)設(shè)計[J].儀表技術(shù),2016,05:31-33.
[5]臧杰,閻巖.汽車構(gòu)造[M].北京:機械工業(yè)出版社,2005.
[6]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2001.
[7]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.
[8]尹勇.Protel DXP電路設(shè)計入門與進階[M].北京:科學(xué)出版社,2004.
[9]曹晶.CMOS圖像傳感器在智能車路徑識別中的應(yīng)用分析[J].電子測試,2016,06:36-37.
[10]劉濤,呂勇,劉立雙.智能車路徑識別與控制性能提高方法研究及實現(xiàn)[J].電子技術(shù)應(yīng)用,2016,01:54-57.
[11]徐躍.基于超聲波測距的機器人定位與避障[D].齊魯工業(yè)大學(xué),2013.
[12]柴鎖柱.基于超聲波測距的自動避障智能車設(shè)計[J].滄州師范學(xué)院學(xué)報,2016,01:56-58.
[13]高守瑋,吳燦陽,等.ZigBee技術(shù)實踐教程[M].北京:航空航天大學(xué)出版社,2009.
[14]蔡紹濱.無線傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)的研究與應(yīng)用[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2011:47-51.
[15]李宇,王衛(wèi)星,陳潤澤.基于ZigBee的物聯(lián)網(wǎng)智能家居系統(tǒng)[J].電子測試,2016,05:71-75.
[16]章偉聰,俞新武,李忠成.基于CC2530及ZigBee協(xié)議棧設(shè)計無線網(wǎng)絡(luò)傳感器節(jié)點[J].計算機系統(tǒng)應(yīng)用,2011,07:184-187+120.
[17]李俊斌,胡永忠.基于CC2530的ZigBee通信網(wǎng)絡(luò)的應(yīng)用設(shè)計[J].電子設(shè)計工程,2011,16:108-111.
[18]蔡利婷,陳平華,羅彬,魏炎新.基于CC2530的ZigBee數(shù)據(jù)采集系統(tǒng)設(shè)計[J].計算機技術(shù)與發(fā)展,2012,11:197-200.
作者簡介:
盧寶全(1987—),男,碩士研究生,研究方向:工程管理。
Intelligent search and rescue system based on STM32F411RET6
School of electricity, Hubei University of Technology LU BaoquanLI Zeli
Abstract:The paper take the automatic alarm and rescue demonstration system as its theme, simulate the scene when human beings are trapped in distress in the vast field and the sea and then the external personnel implement effective and timely rescue. The paper design a distress auto alarm and rescue system based on wireless sensor networks , which the beacon alarm in random order, and then the rescue vehicle implement the rescue rapidly,accurately and efficiently in the corresponding order. The system uses Zigbee2530 module to form a wireless network system, take the ST micro control chip STM32F411RET6 as the core, extend sensor circuits and drive circuits. The sensor circuit uses OV7620 camera module and ultrasonic module to collect and process the signal. Drive circuit using a single MOS motor drive to achieve the effective drive of the motor. In the software design, the image processing algorithm based on the gray value of the light source is used for image processing, and use my own designed ultrasonic obstacle avoidance algorithm to achieve the function of obstacle avoidance, lastly, use the PWM signal obtained by algorithm to control of speed and direction of motor and servo motor.
Keywords:STM32F411; Zigbee wireless sensor network; Ultrasonic obstacle avoidance algorithm; Camera image processing algorithm