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