劉曉玲++丁保全
摘 要:針對(duì)多旋翼無人機(jī)對(duì)所搭載外圍設(shè)備體積小、重量輕、可靠性高的技術(shù)要求,設(shè)計(jì)了一款高精度、輕量型和抗干擾能力強(qiáng)的超聲波測(cè)距系統(tǒng),并介紹了系統(tǒng)中的超聲波發(fā)射電路、接收電路和放大濾波電路。該系統(tǒng)利用STM32自帶的ADC采樣功能確定渡越時(shí)間,并簡化了硬件電路;與傳統(tǒng)超聲波測(cè)距模塊采用固定式輸出頻率相比,該系統(tǒng)的數(shù)據(jù)輸出頻率可根據(jù)測(cè)距范圍實(shí)時(shí)更新。同時(shí)針對(duì)戶外使用的要求,引入了溫度補(bǔ)償技術(shù)。經(jīng)戶外環(huán)境下的測(cè)試實(shí)驗(yàn)表明,此超聲波測(cè)距系統(tǒng)可以滿足多旋翼無人機(jī)產(chǎn)品的技術(shù)要求。
關(guān)鍵詞:STM32單片機(jī);超聲波傳感器;ADC采樣法;更新速率
中圖分類號(hào):TP274.53 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2016)02-00-04
0 引 言
隨著科學(xué)技術(shù)的發(fā)展,各式各樣的飛行器已逐漸進(jìn)入實(shí)用階段。多旋翼無人機(jī)因其輕巧、靈活的機(jī)身被廣泛用于執(zhí)行地理測(cè)繪、航拍等工作。由于多旋翼無人機(jī)本身有限的負(fù)載能力和體積限制,導(dǎo)致其對(duì)外圍機(jī)載模塊要求極為苛刻[1-3];多旋翼無人機(jī)在低速飛行時(shí),旋翼荷載和機(jī)體慣性都比較小,十分容易受氣流干擾,這就需要無人機(jī)的控制系統(tǒng)更加靈活,外圍機(jī)載模塊與主控制系統(tǒng)在數(shù)據(jù)通信方面要更實(shí)時(shí)、更加精確[4]。超聲波測(cè)距模塊作為多旋翼無人機(jī)系統(tǒng)主要機(jī)載模塊之一,為多旋翼無人機(jī)系統(tǒng)實(shí)現(xiàn)定位的準(zhǔn)確性、避障的智能化以及在定位模式下航拍效果的穩(wěn)定性起到了很好的保障作用;相比高端激光雷達(dá)測(cè)距模塊需要高精度的特殊硬件做支撐,且成本較高的特點(diǎn),超聲波測(cè)距在控制方法、性價(jià)比和安全性等方面都占有明顯優(yōu)勢(shì);但超聲波測(cè)距模塊用在多旋翼無人機(jī)上會(huì)出現(xiàn)因槳葉運(yùn)動(dòng)對(duì)超聲波探頭接收信號(hào)干擾比較嚴(yán)重的現(xiàn)象。目前多旋翼無人機(jī)系統(tǒng)所選用的超聲波測(cè)距模塊采用8位或者16位單片機(jī)作為主控制器[5],因?yàn)橹骺匦酒阅艿南拗?,功能擴(kuò)展性差,導(dǎo)致數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性差、精度低;加之采用收發(fā)分體式探頭且對(duì)回波信號(hào)的處理采用硬件檢波法,導(dǎo)致整個(gè)模塊的體積偏大。針對(duì)以上缺點(diǎn),本研究設(shè)計(jì)了一款基于STM32系列單片機(jī)的超聲波測(cè)距模塊,選用收發(fā)一體式探頭,采用軟件檢波法和濾波法,旨在降低硬件電路重量和尺寸,解決數(shù)據(jù)輸出頻率較低且固定的問題,提高整個(gè)系統(tǒng)的靈敏度、實(shí)時(shí)性和抗干擾能力。
1 超聲波測(cè)距系統(tǒng)
本研究設(shè)計(jì)的超聲波測(cè)距系統(tǒng)采用ST公司最先進(jìn)的Cortex-M4內(nèi)核的32位高性能微控制STM32F302K8U6作為主控制器,CPU主頻72 MHz,但芯片尺寸僅為5mm×5mm,對(duì)比選用CPU主頻只有35 MHz,但芯片尺寸卻為12 mm×12mm的16位單片機(jī)作為主控制器的超聲波測(cè)距模塊,此款芯片在處理速度和尺寸上明顯占優(yōu)勢(shì);相比收發(fā)分體雙探頭的超聲波測(cè)距模塊體積11.5cm×8.0cm×5cm[6],本設(shè)計(jì)采用收發(fā)一體式探頭,整個(gè)模塊體積僅為2.6cm×2.71cm×5 cm;除了采用硬件濾波處理之外,還結(jié)合軟件濾波處理算法,有效降低無人機(jī)螺旋槳在高速運(yùn)動(dòng)過程中產(chǎn)生的高頻信號(hào)對(duì)超聲波探頭接收信號(hào)的影響[7]。超聲波測(cè)距系統(tǒng)總框圖如圖1所示。
整個(gè)超聲波測(cè)距系統(tǒng)的原理:首先主控制器STM32F302K8U6負(fù)責(zé)發(fā)送8個(gè)40 kHz的方波,經(jīng)發(fā)射電路驅(qū)動(dòng)超聲波傳感器40C16TR-1激勵(lì)出超聲波,待接收到回波信號(hào)后,經(jīng)過LM324運(yùn)放電路實(shí)現(xiàn)放大、整形和濾波,最終信號(hào)進(jìn)入STM32的ADC采樣通道進(jìn)行處理,計(jì)算距離信息。
多數(shù)超聲波測(cè)距系統(tǒng)對(duì)外通信采用串口通信,本設(shè)計(jì)中超聲波測(cè)距系統(tǒng)與無人機(jī)主控制單元的通信采用應(yīng)答式CAN通信方式。當(dāng)無人機(jī)主控單元需要超聲波測(cè)距信息時(shí),向本系統(tǒng)發(fā)送數(shù)據(jù)幀,本系統(tǒng)再將測(cè)距信息應(yīng)答給主控單元,從而避免頻繁向主控單元發(fā)送測(cè)距信息增加系統(tǒng)的額外負(fù)擔(dān)。同時(shí),CAN在通信速率、錯(cuò)誤檢測(cè)機(jī)制以及抗干擾能力上都明顯優(yōu)于串口通信,保證了主控單元對(duì)數(shù)據(jù)實(shí)時(shí)性和穩(wěn)定性的要求[8]。
2 超聲波測(cè)距系統(tǒng)功能控制模塊設(shè)計(jì)
2.1 超聲波測(cè)距系統(tǒng)發(fā)射和接收電路
系統(tǒng)的發(fā)射電路主要由STM32的高級(jí)定時(shí)器TIM1輸出兩路幅值為3.3 V、頻率為40 kHz的互補(bǔ)型PWM信號(hào),兩路信號(hào)分別為IO-1 和IO-2。超聲波測(cè)距系統(tǒng)發(fā)射電路原理圖如圖2所示。
相比于僅采用單三極管和單MOS管作為超聲波發(fā)射電路的測(cè)距系統(tǒng)[9],本設(shè)計(jì)增添了MOS管Q3,其作用是保證M點(diǎn)處能夠產(chǎn)生一個(gè)和IO-1同頻率而幅值為VCC的周期信號(hào)。若不引入IO-2,會(huì)導(dǎo)致M點(diǎn)低電平不完全為0,如圖3(a)所示;引入IO-2后,M點(diǎn)波形如圖3(b)所示。這樣從發(fā)射端保證了信號(hào)的不失真性;經(jīng)中軸T1放大后,最終通過超聲波傳感器U1將超聲波信號(hào)發(fā)射出去。
2.2 超聲波放大濾波電路
超聲波傳感器處于接收回波信號(hào)狀態(tài)時(shí),由于回波信號(hào)在傳播過程中會(huì)有一定的損耗而變得很微弱,所以在進(jìn)入單片機(jī)之前需要進(jìn)行放大有效信號(hào),濾除噪聲和干擾,以達(dá)到最大的信噪比。超聲波測(cè)距系統(tǒng)回波處理電路如圖4所示。
值得注意的是,本設(shè)計(jì)采用二極管組將放大后的超聲波交流信號(hào)幅度限制在二極管導(dǎo)通壓降之內(nèi),減少了尖峰脈沖對(duì)系統(tǒng)的影響,這樣經(jīng)最后一級(jí)反向放大后的信號(hào)就會(huì)變得相對(duì)平滑。
3 超聲波測(cè)距系統(tǒng)軟件設(shè)計(jì)
3.1 ADC采樣法確定渡越時(shí)間
一般超聲波測(cè)距電路采用外接比較電路檢測(cè)回波信號(hào),本設(shè)計(jì)采用軟件法檢測(cè)回波信號(hào)確定渡越時(shí)間。軟件法檢測(cè)回波信號(hào)工作原理:利用STM32自帶的ADC采樣功能,首先采用遞推平均濾波法將采集回來的信號(hào)進(jìn)行濾波處理,再與設(shè)定好的軟件閾值比較;如果ADC采集的電壓值連續(xù)多次大于所設(shè)閾值,即可判斷出第一個(gè)回波所在位置,從而能夠確定此時(shí)對(duì)應(yīng)的AD采樣點(diǎn)N。如果已知AD采集一個(gè)點(diǎn)所需時(shí)間t,便能確定渡越時(shí)間T=N×t。
3.2 超聲波測(cè)距系統(tǒng)軟件流程設(shè)計(jì)
以超聲波傳播速度340 m/s,測(cè)距范圍5 m為例,理論上需要30 ms實(shí)現(xiàn)一次超聲波的發(fā)射和接收,所以超聲波測(cè)距系統(tǒng)相當(dāng)于每隔30 ms傳輸一次實(shí)時(shí)測(cè)距信息給多旋翼無人機(jī)系統(tǒng)的主控端。若將ADC采集一個(gè)數(shù)據(jù)的時(shí)間配置為16μs,則一個(gè)周期內(nèi)理論上需要采集點(diǎn)數(shù)n=30 ms/16 μs≈1875。不同的測(cè)距范圍與各參數(shù)配置關(guān)系見表1所列。
整個(gè)超聲波測(cè)距系統(tǒng)采用模塊化程序設(shè)計(jì),包括CAN通信配置函數(shù)、端口配置函數(shù)、定時(shí)器配置函數(shù)、ADC配置函數(shù)、中斷處理函數(shù)、溫度采集函數(shù)等。系統(tǒng)開始進(jìn)行CAN通信的初始化配置,然后根據(jù)無人機(jī)主控單元發(fā)送的ID信息判斷此時(shí)要求的測(cè)距范圍,根據(jù)不同的測(cè)距范圍進(jìn)行相應(yīng)的初始化設(shè)置。定時(shí)器2主要控制對(duì)外輸出頻率,進(jìn)入定時(shí)器2中斷后先調(diào)用溫度處理子函數(shù)[10],再開啟定時(shí)器1和定時(shí)器3;定時(shí)器1主要負(fù)責(zé)發(fā)送超聲波,定時(shí)器3用于控制ADC采樣子函數(shù)并計(jì)算渡越時(shí)間。當(dāng)檢測(cè)到回波信號(hào)后,調(diào)用距離計(jì)算子函數(shù),計(jì)算結(jié)果通過CAN通信方式將數(shù)據(jù)再傳至無人機(jī)主控單元。
針對(duì)ADC采樣點(diǎn)數(shù)較多的特點(diǎn),使用DMA傳輸方式將ADC采集的數(shù)據(jù)直接經(jīng)總線傳遞至內(nèi)存單元,此過程不需要CPU參與;而如果采用非DMA方式,不僅需要CPU全程控制數(shù)據(jù)傳送,還會(huì)出現(xiàn)因并行設(shè)備過多CPU處理不及時(shí)導(dǎo)致數(shù)據(jù)丟失的現(xiàn)象。超聲波測(cè)距系統(tǒng)程序流程圖如圖5所示。
4 超聲波測(cè)距系統(tǒng)實(shí)驗(yàn)結(jié)果及分析
4.1 測(cè)距效果對(duì)比分析
為了驗(yàn)證系統(tǒng)的測(cè)距效果,選擇在戶外進(jìn)行實(shí)際測(cè)試。戶外溫度32 ℃時(shí),超聲波在空氣中的傳播速度為350.28 m/s,選擇正對(duì)350 cm×400 cm的墻面進(jìn)行測(cè)試,實(shí)驗(yàn)測(cè)結(jié)果見表2~表5所列。
在表2和表3中,D1是用專業(yè)測(cè)距儀Fluke414D測(cè)量的距離,D2是使用目前常用的HC-SR04超聲波模塊測(cè)量的數(shù)據(jù),D3是本設(shè)計(jì)的超聲波測(cè)距模塊所測(cè)數(shù)據(jù)。實(shí)驗(yàn)過程在將三者處于同一對(duì)地高度的前提下正對(duì)墻面測(cè)試。
由表2可知,相比 HC-SR04超聲波測(cè)距模塊,本設(shè)計(jì)的超聲波測(cè)距模塊在穩(wěn)定性和精度上都具有明顯優(yōu)勢(shì)。從表3中可以發(fā)現(xiàn),HC-SR04超聲波測(cè)距量程僅有4.5 m,當(dāng)測(cè)距范圍超過其量程之后,并沒有設(shè)置檢測(cè)機(jī)制,導(dǎo)致輸出數(shù)據(jù)極不穩(wěn)定。
測(cè)距范圍為10 m的測(cè)距效果見表4所列。其中D1是專業(yè)測(cè)距儀Fluke414D測(cè)量的數(shù)據(jù),D2是本文設(shè)計(jì)的超聲波測(cè)距模塊測(cè)量的數(shù)據(jù);實(shí)驗(yàn)過程同樣保證專業(yè)測(cè)距儀和超聲波測(cè)距模塊處于同一對(duì)地高度的前提下正對(duì)墻面測(cè)試。
對(duì)比表2和表3,由表4可知,隨著測(cè)距范圍的增大,超聲波模塊的測(cè)距誤差也隨之增大。主要原因是反射回波較弱,會(huì)存在誤差;但整體的測(cè)距誤差控制在15 cm之內(nèi),滿足多旋翼無人機(jī)系統(tǒng)在戶外環(huán)境下對(duì)精度的要求。
為避免表3中HC-SR04超聲波測(cè)距模塊因沒有設(shè)置超量程檢測(cè)機(jī)制導(dǎo)致數(shù)據(jù)輸出極不穩(wěn)定的情況,本設(shè)計(jì)經(jīng)實(shí)際測(cè)試找到其量程,并針對(duì)其超量程的情況給予改進(jìn)。超測(cè)距范圍時(shí)的實(shí)驗(yàn)結(jié)果見表5所列。
由表5可知,當(dāng)測(cè)距超過10 m后數(shù)據(jù)波動(dòng)較大,為避免主控單元因誤用數(shù)據(jù)而發(fā)生墜機(jī)等危險(xiǎn)情況發(fā)生,本設(shè)計(jì)將檢測(cè)不到回波信號(hào)情況下的測(cè)量距離設(shè)定為一定值11,保證無人機(jī)系統(tǒng)能夠可靠、安全的執(zhí)行任務(wù),實(shí)驗(yàn)結(jié)果見表6所列。
4.2 數(shù)據(jù)更新頻率對(duì)比分析
為了測(cè)試數(shù)據(jù)的更新頻率,將本文設(shè)計(jì)的超聲波測(cè)距模塊與MB1200超聲波測(cè)距模塊進(jìn)行對(duì)比分析,測(cè)試結(jié)果見表7和表8所列。表7所列是測(cè)距范圍為5 m時(shí)的對(duì)比結(jié)果,表8所列是測(cè)距范圍為10 m時(shí)的對(duì)比結(jié)果。表中n1和f1是本文所設(shè)計(jì)的超聲波模塊對(duì)應(yīng)的數(shù)據(jù),n2和f2是MB1200超聲波模塊對(duì)應(yīng)的數(shù)據(jù)。
由表7和表8可知,相比更新頻率為固定式的超聲波測(cè)距模塊,本文設(shè)計(jì)的超聲波測(cè)距模塊更新頻率可根據(jù)測(cè)距范圍實(shí)時(shí)更新,且更新頻率最高為33 Hz,保證了無人機(jī)主控單元對(duì)數(shù)據(jù)的實(shí)時(shí)性要求。
5 結(jié) 語
對(duì)比采用收發(fā)分體式雙探頭的超聲波模塊的體積和重量,本設(shè)計(jì)的收發(fā)一體式超聲波模塊在體積上縮小了一倍,僅為26 cm×27.1 cm×5 cm,而且整個(gè)超聲波測(cè)距模塊重量輕至5.6 g。
充分利用32位主控芯片STM32F302K8U6的性能,采用軟件檢波法確定超聲波信號(hào)從發(fā)射到接收的時(shí)間;對(duì)比采用硬件電路檢波的超聲波模塊,不僅減少了電路板的尺寸,而且提高了測(cè)距精度;同時(shí)為了配合無人機(jī)主控單元對(duì)數(shù)據(jù)實(shí)時(shí)性要求高的特點(diǎn),可以根據(jù)測(cè)距范圍更新數(shù)據(jù)輸出頻率,最快更新頻率是其他超聲波測(cè)距模塊的3倍。
在硬件電路上首次引入二極管組,將放大后的超聲波交流信號(hào)的幅度限制在二極管導(dǎo)通壓降之內(nèi),減少尖峰脈沖對(duì)系統(tǒng)的干擾;配合結(jié)構(gòu)工藝合理安裝在多旋翼無人機(jī)系統(tǒng)中,能有效降低無人機(jī)螺旋槳在運(yùn)動(dòng)過程中對(duì)超聲波測(cè)距精度的影響,提高了系統(tǒng)的抗干擾能力。
參考文獻(xiàn)
[1]畢凱,李英成,丁曉波,等.輕小型無人機(jī)航攝技術(shù)現(xiàn)狀及發(fā)展趨勢(shì)[J].測(cè)繪通報(bào),2015(3):31-35.
[2]楊愛玲,孫汝岳,徐開明.基于固定翼無人機(jī)航攝影像獲取及應(yīng)用探討[J].測(cè)繪與空間地理信息,2010,33(5):160-162.
[3]金偉,葛宏立,杜華強(qiáng),等.無人機(jī)遙感發(fā)展與應(yīng)用概況[J].遙感信息,2009(1):88-92.
[4] Rango A, Laliberte A, Herrick J E, et al. Unmanned aerial vehicle-based remote sensing for rangel and assessment, monitoring, and management[J].Journal of Applied Remote Sensing,2009,3(1):33-42.
[5]閆東磊.基于ATmega8L高精度超聲波測(cè)距儀的設(shè)計(jì)[D].武漢:武漢理工大學(xué),2010.
[6]苑潔,常太華.基于STM32單片機(jī)的高精度超聲波測(cè)距系統(tǒng)的設(shè)計(jì)[D].北京:華北電力大學(xué),2010.
[7]謝瑞云,毛得明,向敏.無人機(jī)電氣系統(tǒng)與機(jī)載通信設(shè)備電磁兼容問題研究[J].通信技術(shù),2014(10):1211-1212.
[8]黃韜,芮曉艷,葛立峰.基于車載CAN 總線的倒車?yán)走_(dá)智能節(jié)點(diǎn)設(shè)計(jì)[J].自動(dòng)化與儀表,2010(7):9-12.
[9]夏繼強(qiáng),鄭昆,鄭健峰,等.基于STM32的收發(fā)一體式超聲波測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,2014(8):43-45.
[10]張振生.基于溫度補(bǔ)償?shù)某暡y(cè)距系統(tǒng)的研究[D].天津:天津大學(xué),2012.
物聯(lián)網(wǎng)技術(shù)2016年2期