李睿智
學(xué)號(hào)19021211293
轉(zhuǎn)載自https://blog.csdn.net/m0_37575064/article/details/78761967
【嵌牛導(dǎo)讀】該系統(tǒng)可以模擬雷達(dá)探測(cè)的基本工作方式,但由于雷達(dá)使用微波探測(cè),這在一個(gè)創(chuàng)新課題中難以實(shí)現(xiàn),因此采用超聲波模擬微波信號(hào),盡管該系統(tǒng)在不管是在探測(cè)距離還是在信號(hào)處理方面都與真正的軍事探測(cè)雷達(dá)有很大差別,但是與倒車(chē)?yán)走_(dá)或者小車(chē)避障雷達(dá)有很多相似之處,加以改進(jìn)便可應(yīng)用于以上場(chǎng)景。該系統(tǒng)能夠?qū)χ車(chē)綀A兩米內(nèi)的障礙物進(jìn)行探測(cè),系統(tǒng)簡(jiǎn)單,卻功能完備,包括下位機(jī)與上位機(jī)兩部分的設(shè)計(jì)。下位機(jī)主要涉及的串口通信、步進(jìn)電機(jī)控制、IIC通信等基本的硬件方面的知識(shí),而上位機(jī)采用QT來(lái)設(shè)計(jì)上位機(jī)界面,Qt是一個(gè)基于C++的框架,用來(lái)開(kāi)發(fā)界面很方便,最大的優(yōu)點(diǎn)是跨平臺(tái),可用于PC、ARM及Android端。該項(xiàng)目對(duì)初學(xué)者提高硬件方面的能力或者嵌入式方面的入門(mén)有很大的益處。
【嵌牛鼻子】雷達(dá)、上位機(jī)、IIC通信、嵌入式
【嵌牛提問(wèn)】該系統(tǒng)是如何模擬雷達(dá)探測(cè)的,運(yùn)用了哪些嵌入式上的知識(shí)?
【嵌牛正文】
該系統(tǒng)的主要設(shè)計(jì)目標(biāo)。
????? ?上位機(jī)發(fā)出“啟動(dòng)”信號(hào)后
????? ?下位機(jī)開(kāi)始掃描四周的障礙物
????? ?下位機(jī)將探測(cè)到的障礙物的距離數(shù)據(jù)傳到上位機(jī)
????? ?上位機(jī)進(jìn)行數(shù)據(jù)處理并更新類(lèi)雷達(dá)界面的顯示。
該系統(tǒng)的主要功能模塊
?????? 下位機(jī)由STM32作為主控,實(shí)現(xiàn)障礙物的探測(cè)和對(duì)四周的掃描,并實(shí)現(xiàn)和上位機(jī)的通信,上位機(jī)軟件設(shè)計(jì)主要有用戶界面繪制,接收下位機(jī)傳來(lái)的數(shù)據(jù)并進(jìn)行分析處理,根據(jù)接收到的每一幀的距離與角度更新雷達(dá)圖的繪制,同時(shí)進(jìn)行任務(wù)管理。

下面對(duì)該系統(tǒng)下位機(jī)各個(gè)模塊使用的器件進(jìn)行簡(jiǎn)要介紹
????? 主控模塊主要采用STM32F103VET6開(kāi)發(fā)板作為主控板,其最高頻率為72MHz,ARM系列Cortex-3內(nèi)核,512K大小的flash。對(duì)于探測(cè)模塊有兩個(gè)方案,一是HC-SR04超聲波模塊加DS18B20溫度傳感器,二是US100超聲波模塊,其自帶溫度補(bǔ)償功能(即彌補(bǔ)不同溫度對(duì)勝訴的影響)。后來(lái)我們選用了方案二。掃描模塊我們選用了28步進(jìn)電機(jī),其步距角為5.625度,減速比1:32,之所以沒(méi)有48步進(jìn)電機(jī)還是從小電機(jī)更小巧輕便來(lái)考慮,采用ULS2003驅(qū)動(dòng)器作為電機(jī)驅(qū)動(dòng),采用藍(lán)牙通信,使探測(cè)系統(tǒng)能夠靈活移動(dòng)。
下位機(jī)程序設(shè)計(jì)過(guò)程中需要注意的問(wèn)題
? ? ? 電機(jī)一直單方向轉(zhuǎn)動(dòng)掃描周?chē)系K物的話,會(huì)使電機(jī)的連線纏繞阻礙其運(yùn)轉(zhuǎn),因此我設(shè)定電機(jī)每轉(zhuǎn)動(dòng)1圈后反轉(zhuǎn)。其次是超聲波直線傳播,如果探測(cè)面凹凸不平,不能及時(shí)接受回響信號(hào),會(huì)使電機(jī)的轉(zhuǎn)動(dòng)卡頓,同時(shí)也使得上位機(jī)的繪圖速度不一致。為了解決這個(gè)問(wèn)題,規(guī)定探測(cè)距離為2m。

上位機(jī)程序的設(shè)計(jì)
???????? 上位機(jī)使用QT來(lái)設(shè)計(jì)界面,QT含有豐富的API,我們可以直接調(diào)用其圖形庫(kù)來(lái)設(shè)計(jì)雷達(dá)界面。在雷達(dá)背景圖的繪制中,包括角度坐標(biāo),距離坐標(biāo),分割線,同心圓,掃描線的繪制,通過(guò)代碼來(lái)實(shí)現(xiàn)。


起初并未考慮到障礙物對(duì)象的管理問(wèn)題,在程序運(yùn)行過(guò)程中,發(fā)現(xiàn)內(nèi)存占用越來(lái)越大的情況,于是做出改進(jìn)。采取的辦法是對(duì)雷達(dá)界面內(nèi)的障礙物數(shù)量進(jìn)行上限規(guī)定,并將每次新建的障礙物對(duì)象交由隊(duì)列管理。當(dāng)障礙物對(duì)象數(shù)量達(dá)到上限時(shí),將隊(duì)列中處于隊(duì)首位置的對(duì)象進(jìn)行釋放,使程序的內(nèi)存處于動(dòng)態(tài)平衡的狀態(tài)下。

最后的主要成果圖如下

系統(tǒng)不足
????? 一、主控板直接采用現(xiàn)成的開(kāi)發(fā)板,太過(guò)不笨重,而且全部使用杜邦線連接,系統(tǒng)可靠性差,并未自己畫(huà)電路板來(lái)集成。
????? 二、供電方面,直接用適配器供電,限制了該系統(tǒng)的靈活移動(dòng)