基于COMS圖像傳感器的太陽自動跟蹤控制器設計與實現(xiàn)
sun()函數(shù)中各個變量的含義:
而PC與單片機通信協(xié)議如下:
狀態(tài)各位定義如下:本文引用地址:http://butianyuan.cn/article/162956.htm
其中:6,5必須同時為1時,系統(tǒng)復位。
2.2 圖像傳感器的自動跟蹤原理
VC++設置為每隔5 min自動調用傳感器拍一次照,傳回的圖像經Matlab處理,計算出太陽質心坐標與圖像中心坐標的偏差,并轉化為水平和俯仰電機需調整的步數(shù),再次送給單片機驅動步進電機,進而細微調整平面鏡跟蹤裝置,實現(xiàn)對太陽連續(xù)自動跟蹤。
FYP定義為俯仰步進電機應運行步數(shù),F(xiàn)WP表示方位步進電機應運行步數(shù)。方位步進電機每動作一步實際為(1.8/100)°,俯仰步進電機每動作一步實際為(1.8/52)°。當系統(tǒng)實際運行時,光斑在圖像中心時設定坐標為(160,120),向下移動出圖像FYP為50;向右移動出圖像FWP為160。若太陽光斑不在中心點時,如圖3所示,經Matlab程序執(zhí)行結果為光斑圖像坐標(115,117),光斑個數(shù)為1,對應FYP為1,F(xiàn)WP為-46。
圖像處理過程中運用了最大類間方差法Otsu,是根據(jù)最小二乘原理推導出來的,它基于直方圖來選取閾值,其基本思路是將直方圖在某一閾值處分割成兩組,當被分成的兩組的方差為最大時,得到閾值。方差是灰度分布均勻性一種量度,方差值越大說明構成圖像的兩部分差別越大,當部分目標錯分為背景,或部分背景錯分為目標都會導致兩部分差別變小,所以使類間方差最大的分割意味著錯分概率最小。Otsu算法具有簡單、分割速度快等優(yōu)點,對噪音和目標大小十分敏感,對于信噪比較高的圖像具有很好的分割效果,被認為閾值自動選取的最優(yōu)方法之一。
圖4為拍攝到太陽光斑存在干擾時的圖像,對比圖4(a)和圖4(b)可發(fā)現(xiàn)用Otsu法分割處理后,能有效消除圖像中細微干擾。圖4(c)由Otsu法處理后得到圖4(d),光斑圖像坐標(160,120),光斑個數(shù)為2,對應FYP和FWP為O。由此判斷拍攝的圖像存在明顯干擾,程序將FYP和FWP置為O,確保系統(tǒng)的可靠性。
一般情況下使用圖像傳感器跟蹤,但當陰天或出現(xiàn)厚云層時,太陽光斑無法出現(xiàn)在傳感器視角內,VC++立即調用時鐘算法,根據(jù)太陽在天空中每分鐘運動的角度,計算出跟蹤控制器5 min應轉動的角度,從而確定出步進電機的轉速,使得裝置根據(jù)太陽位置而相應變動。
2.3 系統(tǒng)軟件設計
軟件的主要部分為PC機部分,PC機環(huán)境為Windows XP,使用軟件Microsoft Visual C++6.0和Matlab 7.0。啟動時VC++負責調用一次sun函數(shù),返回當前時刻太陽的高度角和方位角,并轉化為FYP和FWP運行步數(shù)。通過調用Windows API函數(shù),實現(xiàn)上位機與單片機間數(shù)據(jù)的傳遞。通過MCC實現(xiàn)VC++與Matlab的聯(lián)合編程,控制攝像頭采集太陽光斑圖像,根據(jù)太陽光斑質心坐標與圖像中心坐標的偏差轉化為FYP和FWP校正步數(shù)。
上位機可執(zhí)行程序控制界面如圖5所示,上位機控制平臺具有實現(xiàn)復位,太陽位置的跟蹤、手動校準。其中“設置”按鈕,可進行波特率、調整時間間隔等的設置。
3 實驗數(shù)據(jù)分析
實驗在蘇州大學現(xiàn)代光學所內進行,數(shù)據(jù)觀察時間為12月下旬至1月上旬。因數(shù)據(jù)量大,表1只列出2010年1月7日記錄的部分數(shù)據(jù)。具體測試方法如下:
評論