基于ADNS2610的微型飛機速度檢測系統(tǒng)設(shè)計
3 透鏡系統(tǒng)設(shè)計
透鏡焦距的選擇對于整個系統(tǒng)的設(shè)計至關(guān)重要,因為它決定了微型飛機在使用本測速系統(tǒng)時的高度范圍。微型飛機使用光流法測速的場合主要是在近地飛行過程中,因此選用的透鏡系統(tǒng)的物距應(yīng)該適合近地飛行時使用。為了節(jié)約成本,選用了電腦上常用的一種攝像頭上的透鏡系統(tǒng),其焦距為4mm,其物距范圍為幾厘米到幾米,完全能滿足要求。該系統(tǒng)透鏡與ADNS2610的感光面的距離是可以連續(xù)調(diào)節(jié)的,這樣就可以方便地調(diào)節(jié)成像的清晰度。
在實際使用過程中,透鏡與感光面的距離一旦確定就不再改變。這樣雖然隨著飛機高度的變化,成像清晰度可能會有所改變,但是只要在限定的高度范圍內(nèi),成像的清晰度是能夠保證的,因此不影響測速,并且還能夠簡化計算過程。
因為圖像的最大移動速度為12inch/s以及透鏡焦距為4mm,可以推導(dǎo)出測速時微型飛機的最大相對于地面飛行角速度為76.2 rad/s。
4 軟件設(shè)計
測速軟件包括主控芯片的初始化、位移量的讀取、速度的計算這幾個模塊。系統(tǒng)的初始化主要針對控制芯片MSP430F449的相應(yīng)控制引腳而言,包括設(shè)置I/O端口、輸出頻率、存儲區(qū)間等。根據(jù)ADNS2610的數(shù)據(jù)手冊,在讀數(shù)據(jù)的過程中,在發(fā)送完最后一個地址位后,微控制器的SDIO端口必須進入高阻態(tài)。這里把MSP430的相應(yīng)引腳設(shè)置為輸入狀態(tài),可以滿足對微控制器的高阻態(tài)要求。程序軟件設(shè)計的總流程圖如圖4
所示。
讀數(shù)據(jù)的過程由微控制器來驅(qū)動,時序如圖5所示。
每條讀數(shù)據(jù)命令包含2個字節(jié),第1個字節(jié)代表地址,最高位為O。在數(shù)據(jù)傳輸過程中,SDl0的數(shù)據(jù)在時鐘下降沿被設(shè)置,在時鐘上升沿被接收。在向ADNS2610傳輸數(shù)據(jù)的過程中,時鐘脈沖和數(shù)據(jù)的變化之間有一定的時序關(guān)系,如圖6所示。在地址位傳輸結(jié)束后,微控制器的SDIO端口必須被設(shè)置為高阻態(tài),并且串口的時鐘必須要有不小于100μs的延遲,如圖7所示(圖5中的detail“A”)。最后一個數(shù)據(jù)位傳輸結(jié)束以后,ADNS2610會進入高阻態(tài),這時SCK和SDIO之間的時序關(guān)系如圖8所示(圖5中的detail“B”)。根據(jù)時序要求可以看出,如果以讀取X和Y方向上移動量各1次為1個周期T,那么周期T大于200μs。
向ADNS2610寫數(shù)據(jù)的時序圖如圖9所示,也是先傳送地址位再傳送數(shù)據(jù)位。其中地址位的最高位為1。SCK和SDIO的信號脈沖時序要求如圖6所示。需要注意的是,寫數(shù)據(jù)結(jié)束以后,必須延時100μs以上才能夠進行下一次讀或者寫操作。
以X軸為例給出速度的計算過程。傳感器的分辨率為400 cpi,所以Delta_X的單位為O.0025inch。如果周期T的單位為s,則:
Y軸的速度計算過程和X軸相同。
圖像的解析度是400 counts/inch,圖像的最大移動速度是12inch/s,因此最大的計數(shù)速度是4800counts/s。Delta_X和Delta_y的絕對值最大為127,因此最大的讀數(shù)周期為0.0265s。
評論