基于ADNS2610的微型飛機(jī)速度檢測(cè)系統(tǒng)設(shè)計(jì)
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)合主要是在近地飛行過程中,因此選用的透鏡系統(tǒng)的物距應(yīng)該適合近地飛行時(shí)使用。為了節(jié)約成本,選用了電腦上常用的一種攝像頭上的透鏡系統(tǒng),其焦距為4mm,其物距范圍為幾厘米到幾米,完全能滿足要求。該系統(tǒng)透鏡與ADNS2610的感光面的距離是可以連續(xù)調(diào)節(jié)的,這樣就可以方便地調(diào)節(jié)成像的清晰度。
在實(shí)際使用過程中,透鏡與感光面的距離一旦確定就不再改變。這樣雖然隨著飛機(jī)高度的變化,成像清晰度可能會(huì)有所改變,但是只要在限定的高度范圍內(nèi),成像的清晰度是能夠保證的,因此不影響測(cè)速,并且還能夠簡(jiǎn)化計(jì)算過程。
因?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ù)的過程中,在發(fā)送完最后一個(gè)地址位后,微控制器的SDIO端口必須進(jìn)入高阻態(tài)。這里把MSP430的相應(yīng)引腳設(shè)置為輸入狀態(tài),可以滿足對(duì)微控制器的高阻態(tài)要求。程序軟件設(shè)計(jì)的總流程圖如圖4
所示。
讀數(shù)據(jù)的過程由微控制器來驅(qū)動(dòng),時(shí)序如圖5所示。
每條讀數(shù)據(jù)命令包含2個(gè)字節(jié),第1個(gè)字節(jié)代表地址,最高位為O。在數(shù)據(jù)傳輸過程中,SDl0的數(shù)據(jù)在時(shí)鐘下降沿被設(shè)置,在時(shí)鐘上升沿被接收。在向ADNS2610傳輸數(shù)據(jù)的過程中,時(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寫數(shù)據(jù)的時(shí)序圖如圖9所示,也是先傳送地址位再傳送數(shù)據(jù)位。其中地址位的最高位為1。SCK和SDIO的信號(hào)脈沖時(shí)序要求如圖6所示。需要注意的是,寫數(shù)據(jù)結(jié)束以后,必須延時(shí)100μs以上才能夠進(jìn)行下一次讀或者寫操作。
以X軸為例給出速度的計(jì)算過程。傳感器的分辨率為400 cpi,所以Delta_X的單位為O.0025inch。如果周期T的單位為s,則:
Y軸的速度計(jì)算過程和X軸相同。
圖像的解析度是400 counts/inch,圖像的最大移動(dòng)速度是12inch/s,因此最大的計(jì)數(shù)速度是4800counts/s。Delta_X和Delta_y的絕對(duì)值最大為127,因此最大的讀數(shù)周期為0.0265s。
評(píng)論