基于PXA270的移動天文觀測系統(tǒng)設(shè)計
使用CD4053模擬開關(guān)來實現(xiàn)串口復(fù)用功能,通過單片機的控制引腳切換不同的串口信號來源。
GPS采用了Ho1ux GR-85接收模塊,具有快速追蹤定位12顆衛(wèi)星的能力,數(shù)據(jù)更新速率為1 Hz。GPS模塊用來得到當?shù)亟?jīng)緯度及準確時間的信息。
數(shù)字指南針采用了周立功ZNJV2模塊,磁場測量范圍為50 A/m,機首方向顯示分辨率為2°,機首方向精度為3°,補償后精度可達到0.5°,數(shù)字指南針模塊用于安放望遠鏡時準確指向。
溫度傳感器采用DALLAS的DS18B20芯片,其分辨率為0.062 5℃,精度為0.5℃。溫度傳感器測量大氣溫度,用于計算大氣折射率。
動力機構(gòu)采用廉價云臺機構(gòu),其內(nèi)部為勻速交流同步電機,通過控制電機轉(zhuǎn)動時間長短控制其所轉(zhuǎn)角度。本文引用地址:http://www.ex-cimer.com/article/152377.htm
3 天體視位置計算算法
天體的視位置是天文觀測中最重要的一個數(shù)據(jù)。天體的視位置最初是通過查閱相關(guān)歷書得到,這種查表求天體的視位置方法存在很大問題,主要是計算繁瑣,效率低,定位的周期長,天體的數(shù)據(jù)量大,整本年歷有大量數(shù)據(jù),而且每年都必須進行數(shù)據(jù)更新。這種方法顯然不能滿足應(yīng)用的需要。這里實現(xiàn)的方法是將天體的運動簡化為數(shù)學(xué)模型,通過對數(shù)學(xué)模型中相對固定的參數(shù)進行運算,最終得出天體的位置,通過實驗比對驗證了這種方法的準確性和高效性。
星表就是通常所說的恒星坐標表,它由天體的視位置經(jīng)過一系列的換算而得到星表歷元平位置,在星表中載有恒星的赤道平坐標,坐標的周年變化和恒星的白行等。
FK5是由德國海德堡天文所編制的近年來人們普遍使用的一種絕對星表。目前,這種由星表求解天體視位置的方法已被廣泛用于求解天文三角形中。
從FK5星表出發(fā),經(jīng)過與編制星表相反的步驟來求天體的視位置,通過對影響恒星視位置的各種因素,如大氣折射、視差、光行差、歲差、章動、自行等誤差的分析,給出計算恒星視位置的數(shù)學(xué)模型,其基本流程圖如圖3所示。
按照以上算法編寫出相關(guān)函數(shù)庫,主程序?qū)⑾嚓P(guān)變量如輸入觀測地點經(jīng)緯度、欲觀測星體等數(shù)據(jù)即可計算出星體視位置。FK5星表以文件形式存放。
4 視頻數(shù)據(jù)采集及顯示
圖像數(shù)據(jù)的顯示可以通過直接寫屏來實現(xiàn)。Linux工作在保護模式下,用戶態(tài)進程是無法直接使用顯卡:BIOS里提供的中斷調(diào)用來實現(xiàn)直接寫屏,故Linux抽象出FrameBuffer。這個設(shè)備來供用戶態(tài)進程實現(xiàn)直接寫屏。 FrameBtlffer主要是根據(jù)VESA標準實現(xiàn)的,所以只能實現(xiàn)最簡單的功能。
直接寫屏的過程:
(1)打開一個FrameBuffer設(shè)備;
(2)通過調(diào)用mmap()把顯卡的物理內(nèi)存空間映射到用戶空間;
(3)直接寫內(nèi)存。
由于直接寫屏是直接對顯存進行修改,同QT對程序界面的刷新并不協(xié)調(diào),因此有時會出現(xiàn)顯示上的瑕疵,為此使用另一種方法顯示圖像數(shù)據(jù),即利用QT庫中的QImage類來實現(xiàn)。
以上論述了如何進行采集及顯示,但在實際的系統(tǒng)中存在多個任務(wù),各個模塊之間需要相互配合,如果簡單地采用上述方法,由于視頻采集的速度較慢,將會造成阻塞,影響系統(tǒng)性能,因此使用線程技術(shù)。
在視頻設(shè)備初始化后開啟一個采集線程,此線程不斷采集新的視頻數(shù)據(jù),采集完一幀數(shù)據(jù)會改寫狀態(tài)變量;顯示部分采用定時顯示,每隔一段時間判斷狀態(tài)變量是否為“已采集完畢”狀態(tài),如果是則進行顯示。由于需要耗時等待的采集過程在線程中運行,通過Linux系統(tǒng)的自動調(diào)度,系統(tǒng)運行十分流暢。
5 觀測的結(jié)果
觀測結(jié)果包括:拍攝到的圖像、拍攝時所在地的經(jīng)緯度、拍攝時間、大氣溫度及拍攝的星體名稱等。存儲時以文件的形式按時間存儲,形成觀測日志。
對天體視位置計算算法及望遠鏡實際指向進行了測試。天體視位置算法的測試是選擇有代表性的四個天體(太陽、大鳥六、月球、金星),通過與專業(yè)天文軟件 STARCALC的計算結(jié)果進行比對,衡量計算誤差的大小。望遠鏡實際指向的測試采用現(xiàn)場測量的方法。使用的主要測試工具為計算機、量角器等,測試數(shù)據(jù)如表1所示。
從比較結(jié)果可以看出,由本系統(tǒng)的天體視位置計算算法得出的方位角平均誤差為0.261°,高度角平均誤差為0.155°,小于系統(tǒng)使用望遠鏡(物鏡焦距360 mm,目鏡焦距20 mm)視角6.35°,滿足系統(tǒng)觀測要求。
評論