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