基于ADNS2610的微型飛機(jī)速度檢測(cè)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
微型飛機(jī)的飛行速度在其飛行過(guò)程中不僅是被控量,同時(shí)也是是對(duì)飛行姿態(tài)進(jìn)行控制的重要參考數(shù)據(jù)之一,因此有必要對(duì)這個(gè)數(shù)據(jù)進(jìn)行精確測(cè)量。特別是在近地飛行過(guò)程中,對(duì)飛行路徑、避障能力、降落速度等要求更為嚴(yán)格,因此對(duì)飛行速度進(jìn)行精確測(cè)量顯得尤為重要。目前對(duì)微型飛機(jī)的飛行速度的測(cè)量一般有以下幾種方法:
(1)基于慣性傳感器的方法。通過(guò)對(duì)加速度積分來(lái)獲得速度數(shù)據(jù)。但由于慣性傳感器存在零點(diǎn)漂移,積分過(guò)程也存在誤差,長(zhǎng)時(shí)間使用會(huì)有很大的積累誤差。因此,在使用的過(guò)程中必須使用其他測(cè)量方式對(duì)零點(diǎn)漂移和積分積累誤差進(jìn)行校正。
(2)基于GPS的方法。此類方法需要借助外部設(shè)備,一般都比較昂貴,并需另行安裝其他定位參考點(diǎn)。因此在測(cè)量過(guò)程中,測(cè)量精度受定位方式限制,使用環(huán)境受限。
(3)基于空速計(jì)的方法??账儆?jì)一般使用在飛行速度較高的場(chǎng)合,易受氣流影響,測(cè)量結(jié)果并非是飛機(jī)相對(duì)于地面的速度,而只是相對(duì)于大氣的速度,因此后續(xù)處理過(guò)程復(fù)雜。
(4)基于光流法測(cè)速。這是一種直接測(cè)量微型飛機(jī)飛行速度的方式,測(cè)量精度高,不存在積累誤差,而且不需要借助于外界的定位工具。但是光流法測(cè)速一般需要使用圖像傳感器、數(shù)字信號(hào)處理器等硬件設(shè)備,結(jié)構(gòu)復(fù)雜。在高空環(huán)境下,光流法測(cè)量誤差也較大。本文針對(duì)低空飛行環(huán)境,以集成了圖像采集電路和數(shù)字信號(hào)處理器的ADNS2610為傳感器,設(shè)計(jì)了結(jié)構(gòu)簡(jiǎn)單,成本低,體積小,重量輕的微型飛機(jī)速度測(cè)量系統(tǒng)。為了簡(jiǎn)化設(shè)計(jì),本文檢測(cè)的是微型飛機(jī)在飛行高度不變時(shí)的水平飛行速度,因此本文設(shè)計(jì)的飛行速度檢測(cè)方式只能是其他的飛行速度檢測(cè)方式的一種補(bǔ)充。
1 系統(tǒng)原理和整體方案設(shè)計(jì)
該測(cè)速系統(tǒng)的工作原理是光流法。由于采用的傳感器芯片ADNS2610集成了圖像采集功能和數(shù)據(jù)處理功能,傳感器的輸出數(shù)據(jù)就是圖像的位移量Delta_X和Delta_Y,其中Delta_X是圖像在X方向上的位移量,Delta_Y是圖像在Y方向上的位移量。將位移量Delta_X和Delta_Y除以位移時(shí)間T,就得到圖像的移動(dòng)速度:
式中:VX1是指圖像在X方向上的移動(dòng)速度;VY1是指圖像在Y方向上的移動(dòng)速度。將圖像的移動(dòng)速度乘以高度系數(shù)a,就可以得到微型飛機(jī)的移動(dòng)速度,即:
式中:VX和VY分別指微型飛機(jī)在X方向上和Y方向上的飛行速度;a的值等于透鏡和地表之間的距離H與透鏡和感光面之間的距離h之比,即a=H/h,高度H通過(guò)超聲波測(cè)距的方式測(cè)量得到,其測(cè)量精度會(huì)對(duì)VX和VY的計(jì)算精度產(chǎn)生影響。
系統(tǒng)主要包括硬件電路部分、用于支持圖像采集的透鏡系統(tǒng)以及軟件部分。硬件電路部分主要是支持傳感器的系統(tǒng)電路以及與傳感器進(jìn)行通信的接口。透鏡系統(tǒng)部分主要用來(lái)使光學(xué)傳感器獲得需要的圖像數(shù)據(jù)。軟件部分主要用來(lái)獲取位移信號(hào)和計(jì)算微型機(jī)飛機(jī)的飛行速度。
2 硬件電路設(shè)計(jì)
2.1 芯片介紹
本文采用的傳感器芯片ADNS2610主要用于光電鼠標(biāo)。它集成了圖像傳感器和數(shù)字信號(hào)處理器,以及輸入輸出數(shù)據(jù)的串行接口,可以直接輸出X和Y方向上的位移量。這種傳感器采用光學(xué)導(dǎo)航技術(shù),通過(guò)檢測(cè)到的圖像的移動(dòng)變化來(lái)計(jì)算得到傳感器的移動(dòng)方向和距離。如圖1所示,芯片主要包括串口、振蕩器、圖像處理器、電源管理、LED控制等模塊。把圖像傳感器和數(shù)字信號(hào)處理器結(jié)合起來(lái)是本傳感器的一大特色,使得結(jié)構(gòu)大大簡(jiǎn)化。集成度更高,也更加緊湊。
ADNS2610的主要特征如下:
(1)精確的光學(xué)導(dǎo)航技術(shù);
(2)小巧緊湊的結(jié)構(gòu)(10 mm×12.5 mm的引腳);
(3)二維運(yùn)動(dòng)量的檢測(cè);
(4)簡(jiǎn)單通用的控制器接口;
(5)高達(dá)12 inch/s的運(yùn)動(dòng)檢測(cè);
(6)400 cpi的解析度;
(7)高可靠性;
(8)高速運(yùn)動(dòng)傳感器;
(9)串口寄存器。
2.2 電路設(shè)計(jì)
圖2是該系統(tǒng)的硬件電路結(jié)構(gòu)框圖。微型飛機(jī)的飛行控制系統(tǒng)的主控芯片為MSP430F449。
整個(gè)系統(tǒng)的硬件電路如圖3所示。其中SDIO是串口數(shù)據(jù)輸入/輸出端口;SCK是串口的時(shí)鐘端口。時(shí)鐘信號(hào)由主控制器MSP430F449發(fā)出。當(dāng)向SDIO端口寫(xiě)入讀/寫(xiě)地址以后,數(shù)據(jù)就通過(guò)這個(gè)端口寫(xiě)入或讀出。ADNS-2610的輸出電壓為5 V,而MSP430的I/O端口輸入高電平最高為3.6V,因此要對(duì)ADNS-2610的SDIO輸出電平降壓,使之符合MSP430對(duì)輸入電平的要求。如圖3所示,通過(guò)外接分壓電阻的方式降低ADNS-2610
的SDIO端口的電壓。ADNS-2610的SCK端口只接收時(shí)鐘信號(hào)。ADNS-2610接收的高電平信號(hào)電壓范圍是2~5 V,而MSP430輸出的高電平信號(hào)為3V,符合ADNS對(duì)高電平的要求,因此不用考慮電平的調(diào)整。[!--empirenews.page--]
3 透鏡系統(tǒng)設(shè)計(jì)
透鏡焦距的選擇對(duì)于整個(gè)系統(tǒng)的設(shè)計(jì)至關(guān)重要,因?yàn)樗鼪Q定了微型飛機(jī)在使用本測(cè)速系統(tǒng)時(shí)的高度范圍。微型飛機(jī)使用光流法測(cè)速的場(chǎng)合主要是在近地飛行過(guò)程中,因此選用的透鏡系統(tǒng)的物距應(yīng)該適合近地飛行時(shí)使用。為了節(jié)約成本,選用了電腦上常用的一種攝像頭上的透鏡系統(tǒng),其焦距為4mm,其物距范圍為幾厘米到幾米,完全能滿足要求。該系統(tǒng)透鏡與ADNS2610的感光面的距離是可以連續(xù)調(diào)節(jié)的,這樣就可以方便地調(diào)節(jié)成像的清晰度。
在實(shí)際使用過(guò)程中,透鏡與感光面的距離一旦確定就不再改變。這樣雖然隨著飛機(jī)高度的變化,成像清晰度可能會(huì)有所改變,但是只要在限定的高度范圍內(nèi),成像的清晰度是能夠保證的,因此不影響測(cè)速,并且還能夠簡(jiǎn)化計(jì)算過(guò)程。
因?yàn)閳D像的最大移動(dòng)速度為12inch/s以及透鏡焦距為4mm,可以推導(dǎo)出測(cè)速時(shí)微型飛機(jī)的最大相對(duì)于地面飛行角速度為76.2 rad/s。
4 軟件設(shè)計(jì)
測(cè)速軟件包括主控芯片的初始化、位移量的讀取、速度的計(jì)算這幾個(gè)模塊。系統(tǒng)的初始化主要針對(duì)控制芯片MSP430F449的相應(yīng)控制引腳而言,包括設(shè)置I/O端口、輸出頻率、存儲(chǔ)區(qū)間等。根據(jù)ADNS2610的數(shù)據(jù)手冊(cè),在讀數(shù)據(jù)的過(guò)程中,在發(fā)送完最后一個(gè)地址位后,微控制器的SDIO端口必須進(jìn)入高阻態(tài)。這里把MSP430的相應(yīng)引腳設(shè)置為輸入狀態(tài),可以滿足對(duì)微控制器的高阻態(tài)要求。程序軟件設(shè)計(jì)的總流程圖如圖4
所示。
讀數(shù)據(jù)的過(guò)程由微控制器來(lái)驅(qū)動(dòng),時(shí)序如圖5所示。
每條讀數(shù)據(jù)命令包含2個(gè)字節(jié),第1個(gè)字節(jié)代表地址,最高位為O。在數(shù)據(jù)傳輸過(guò)程中,SDl0的數(shù)據(jù)在時(shí)鐘下降沿被設(shè)置,在時(shí)鐘上升沿被接收。在向ADNS2610傳輸數(shù)據(jù)的過(guò)程中,時(shí)鐘脈沖和數(shù)據(jù)的變化之間有一定的時(shí)序關(guān)系,如圖6所示。在地址位傳輸結(jié)束后,微控制器的SDIO端口必須被設(shè)置為高阻態(tài),并且串口的時(shí)鐘必須要有不小于100μs的延遲,如圖7所示(圖5中的detail“A”)。最后一個(gè)數(shù)據(jù)位傳輸結(jié)束以后,ADNS2610會(huì)進(jìn)入高阻態(tài),這時(shí)SCK和SDIO之間的時(shí)序關(guān)系如圖8所示(圖5中的detail“B”)。根據(jù)時(shí)序要求可以看出,如果以讀取X和Y方向上移動(dòng)量各1次為1個(gè)周期T,那么周期T大于200μs。
向ADNS2610寫(xiě)數(shù)據(jù)的時(shí)序圖如圖9所示,也是先傳送地址位再傳送數(shù)據(jù)位。其中地址位的最高位為1。SCK和SDIO的信號(hào)脈沖時(shí)序要求如圖6所示。需要注意的是,寫(xiě)數(shù)據(jù)結(jié)束以后,必須延時(shí)100μs以上才能夠進(jìn)行下一次讀或者寫(xiě)操作。
以X軸為例給出速度的計(jì)算過(guò)程。傳感器的分辨率為400 cpi,所以Delta_X的單位為O.0025inch。如果周期T的單位為s,則:
Y軸的速度計(jì)算過(guò)程和X軸相同。
圖像的解析度是400 counts/inch,圖像的最大移動(dòng)速度是12inch/s,因此最大的計(jì)數(shù)速度是4800counts/s。Delta_X和Delta_y的絕對(duì)值最大為127,因此最大的讀數(shù)周期為0.0265s。[!--empirenews.page--]
5 調(diào)試
調(diào)試主要包括硬件調(diào)試、軟件調(diào)試、透鏡系統(tǒng)調(diào)試3個(gè)部分。硬件調(diào)試主要考慮硬件之間的連接。為了降低信號(hào)線的電感特性,縮短階躍響應(yīng)時(shí)間,引線SCK和SDIO要盡可能短,并且中間連接的電阻盡量考慮使用貼片電阻。另外MSP430和ADNS要共地,這樣它們的高低電平之間才有共同的基準(zhǔn)。軟件調(diào)試分為3個(gè)步驟:時(shí)序驗(yàn)證、圖像讀取、讀取周期驗(yàn)證。
時(shí)序驗(yàn)證是通過(guò)示波器來(lái)驗(yàn)證SCK信號(hào)和SDIO信號(hào)的時(shí)序,以及地址和數(shù)據(jù)是否正確??梢酝ㄟ^(guò)實(shí)現(xiàn)點(diǎn)亮LED燈等功能來(lái)驗(yàn)證發(fā)送和接收軟件的正確性。實(shí)驗(yàn)結(jié)果證明向ADNS寫(xiě)數(shù)據(jù)的程序是符合要求的。接下來(lái)的調(diào)試步驟就是讀取圖像,以驗(yàn)證讀數(shù)據(jù)程序的正確性,并為調(diào)焦做準(zhǔn)備。為了方便調(diào)試,直接采用光電鼠標(biāo)的透鏡系統(tǒng)和支撐結(jié)構(gòu)。圖10是讀取到的圖像和原始圖像的對(duì)比,其中圖10(a)是利用傳感器拍攝的圖像,圖10(b)是對(duì)原始圖像掃描后的結(jié)果,掃描分辨率是2 400 dpi。使用的透鏡像距和物距之比是1:1,因此拍攝的圖像和原圖的大小也是1:1。傳感器的分辨率是400 cpi,圖像分辨率是18×18像素,因此圖像的大小是(18/400)inch×(18/400)inch,即1.143 mm×1.1 43 mm。
傳感器圖像的灰度等級(jí)成64個(gè)等級(jí),0是全黑,63是全白。傳感器內(nèi)置了自動(dòng)增益電路調(diào)整快門值。使得最亮的部分的灰度值在55左右。軟件調(diào)試的第三步是驗(yàn)證實(shí)際讀取周期。讀取Delta_X和Delta_Y各1次為1個(gè)周期,通過(guò)示波器來(lái)讀取這個(gè)周期值。
透鏡系統(tǒng)的調(diào)試主要是調(diào)整透鏡的中心和傳感器感光面之間的距離,以達(dá)到系統(tǒng)在幾厘米到幾米的高度上成像清晰。圖11顯示了透鏡系統(tǒng)調(diào)試完成后拍攝的圖片和拍攝用的原圖,其中圖11(a)像距未調(diào)好時(shí)拍攝的圖片,圖11(b)是像距調(diào)整后傳感器拍攝的圖片,圖11(c)是拍攝用的原圖的掃描件,原圖在掃描時(shí)配上標(biāo)尺以表明原圖的尺寸。
根據(jù)地面上實(shí)際圖形的大小和鏡頭與地麗的距離,可以計(jì)算出傳感器感光面與透鏡中心的距離,根據(jù)此距離,就可以計(jì)算出a,再根據(jù)前面的公式可以計(jì)算出微型機(jī)的飛行速度。
6 結(jié)語(yǔ)
本文所設(shè)計(jì)的檢測(cè)系統(tǒng),采用集成式傳感器芯片,降低了微型飛機(jī)檢測(cè)系統(tǒng)的設(shè)計(jì)成本,減輕微型機(jī)飛行重量。調(diào)試結(jié)果表明,該檢測(cè)系統(tǒng)在微型機(jī)近地飛行時(shí),能夠?qū)崿F(xiàn)對(duì)微型飛機(jī)的水平飛行速度測(cè)量,從而可提高微型機(jī)的飛行穩(wěn)定性,并為微型飛機(jī)實(shí)現(xiàn)自主控制打下基礎(chǔ)。當(dāng)然該系統(tǒng)的使用也有一定的限制條件。它的數(shù)據(jù)讀取周期大于200μs,因此實(shí)時(shí)性較差。另外它的使用高度也是一個(gè)限制,當(dāng)微型機(jī)的飛行高度越高時(shí),系統(tǒng)的分辨率也就會(huì)相應(yīng)降低。因此只能作為其他測(cè)速方式的一種補(bǔ)充,主要是在微型飛機(jī)近地飛行和降落時(shí)發(fā)揮最大作用。