創(chuàng)新者:李志凌 古力·艾尼瓦爾 賈世甄 尹 航
基于MSP430系列微控制器的赤道式天文望遠鏡伺服控制器的設計
創(chuàng)新者:李志凌 古力·艾尼瓦爾 賈世甄 尹 航
本文介紹了一種基于MSP430單片機的赤道式望遠鏡伺服控制系統(tǒng)的設計方案,其中包括以下三個方面,赤道式望遠鏡伺服控制系統(tǒng)的硬件設計總體方案;赤道式望遠鏡伺服控制系統(tǒng)的軟件總體架構;基于單片機C語言的自適應尋星的控制算法。經測試,應用了本課題成果的試驗用赤道式天文望遠鏡減小了對上位機的依賴,實現(xiàn)了由程序控制的自主尋星功能,大大提高了系統(tǒng)性能。
課題通過對市場調研發(fā)現(xiàn),在當前國內天文望遠鏡市場上,發(fā)現(xiàn)臺式微型計算機已經成為當前大中型天文望遠鏡伺服計算機的主流。但是臺式計算機應用為天文望遠鏡的伺服計算機,也會帶來包括增加產品成本,手動操作功能數(shù)量少等缺點。課題就嵌入式計算機MSP430F149應用于赤道式天文望遠鏡系統(tǒng)的控制展開研究,基于IAR 的C語言單片機開發(fā)平臺,以MSP430F149系列微控制器為硬件架構,開發(fā)了一款新的服務于赤道式天文望遠鏡的新型嵌入式伺服控制系統(tǒng),同時,基于單片機C 語言設計了望遠鏡自適應尋星的控制軟件。整套系統(tǒng)嵌入于望遠鏡的智能手柄盒模塊內,實現(xiàn)了一種具有自適應尋星的功能智能手柄。
系統(tǒng)硬件模塊中的主控制器是系統(tǒng)數(shù)據(jù)處理的運算單元,因此,其在選型過程中需要采用低功耗,運行效率高的特點,因此課題選用TI公司出品MSP系列十六位微控制器為核心數(shù)據(jù)處理單元,其具有極為強大的數(shù)據(jù)處理能力,較低的功耗,豐富的片上外設資源,TTAG仿真技術調試等優(yōu)點,它的高級語言編程能力以及方便的集成開發(fā)環(huán)境,可以極大的提高軟件的開發(fā)效率。同時,該系列的單片機為雙串口型MCU,可以實現(xiàn)與上位機及智能手柄同時通信的功能,也可以根據(jù)實際情況,與對應模塊行單獨通信。
采用XC95108芯片作為編碼器數(shù)據(jù)的采集傳感器;采用MC146818時鐘芯片產生恒星時,為系統(tǒng)提供精確時間。同時采用市場上比較容易獲得的8279芯片與成本較為廉價的12864液晶屏為人機接口的顯示模塊。
系統(tǒng)的硬件架構如圖1所示。
軟件系統(tǒng)由四個模塊組成:上位模塊,智能手柄模塊,下位機模塊以及伺服驅動模塊。其中上位機模塊與智能手柄模塊分別與下位機主控MSP430F149進行通信。伺服驅動模塊與下位機PWM接口輸出相連,由MSP430F149通過PWM的方式直接驅動伺服電機。
作為軟件系統(tǒng)的核心部分,下位機軟件的編程直接影響到了系統(tǒng)的性能。以下主要介紹下位機軟件的設計流程及算法思路。
需求分析

圖1 系統(tǒng)的硬件架構

圖2 控制系統(tǒng)下位機軟件架構
系統(tǒng)控制軟件的作用為實現(xiàn)系統(tǒng)的自主尋功能。其主要步驟為:第一,對望遠鏡進行位置校準,操作方法為選取中天空中的某一顆已知星,操作智能手柄進行手動操作,將望遠鏡視場中心的十字線對準目標源;第二,進行查表作業(yè),將這顆星的坐標位置通過智能手柄輸入系統(tǒng),作為定標,代替觀測系統(tǒng)初始時刻的位置;第三,將星空中一顆基本星源設置為基本點,作為標定對象,根據(jù)現(xiàn)有的時角和赤緯參數(shù)確定星空中的其它任何一顆未知的觀測目標。在系統(tǒng)軟件設計的過程中,課題加入了對于系統(tǒng)進行掉電保護的功能模塊,該模塊使系統(tǒng)的操作步驟得到了極大的簡化,因此,在望遠鏡使用的過程中,在設備安裝完畢后,只需要對系統(tǒng)進行一次標定作業(yè),在后續(xù)的觀測任務中,當每次尋星任務結束以后,結束時刻設備的實時位置參數(shù)都會自動保存在系統(tǒng)內部,極大的方便了用戶的操作當望遠鏡系統(tǒng)進行自主尋星作業(yè)時,操作人員通過智能手柄向系統(tǒng)輸入待觀測星源的坐標參數(shù),即(α,δ)參數(shù),觀測系統(tǒng)會根據(jù)設備在當前時刻位置參數(shù)以及待觀測星源的位置參數(shù)選擇合適的路徑,進行巡天觀測,并驅動電機,實現(xiàn)系統(tǒng)的精確指向,使系統(tǒng)指向目標星源進行巡天觀測,最終使望遠鏡的中心視場對準目標星體。進行尋星作業(yè)結束以后,控制系統(tǒng)會調制設備狀態(tài),使其自動進入跟蹤星源的觀測作業(yè)狀態(tài)。觀測設備的指向參數(shù)與待觀測星源的位置參數(shù)是通過觀測設備所處位置的的恒星時參數(shù)進行結合的,因此,在每次尋星觀測之前,都要對觀測地點的恒星時參數(shù)進行校正,校正作業(yè)由系統(tǒng)軟件的自適應校正與手動校正配合進行,并在交互模塊上實時顯示當前的控制狀態(tài)。
對于公式t+a=s,其中t參數(shù)是待觀測星源的時角位置;a參數(shù)是待觀測星源的赤經值;s參數(shù)為觀測設備所處地點的恒星時參數(shù)。
在進行跟蹤作業(yè)時,系統(tǒng)為克服地球自轉對自身的影響,驅動電機工作,使設備以每時秒15個角秒的角速度,沿著觀測時地球自轉的反方向進行勻速運動,以補償系統(tǒng)時角的變化。為了補償?shù)厍蚍聪蜻\動對時角參數(shù)的影響,在調整赤經參數(shù)時,系統(tǒng)的操作狀態(tài)是采集觀測設備所處位置的地方恒星時,同時計算出待觀測星源的時角參數(shù),通過對兩個參數(shù)的結合運算,調整觀測設備的動態(tài)時角參數(shù)與待觀測星源的時角參數(shù)相等;在調整赤緯參數(shù)時,課題考慮到恒星的赤緯參數(shù)是恒定不變的,因此,在實際操作中,我們需要將系統(tǒng)的動態(tài)赤緯參數(shù)的調整量不斷考進待觀測目標星源的赤緯值。

圖3 控制系統(tǒng)下位機軟件流程圖
標定子程序流程如圖4所示。
在系統(tǒng)的在系統(tǒng)的整體設計中,自主尋星功能模塊,是整個系統(tǒng)實現(xiàn)自主尋星功能的核心算法,因此,該模塊的設計質量,直接影響到系統(tǒng)的整體性能。它的實現(xiàn)步驟主要由三部分組成,第一,根據(jù)人機交互模塊輸入的所要觀測目標星源的赤經值參數(shù),確定觀測設備所處位置的地方恒星時,該參數(shù)記為s;第二,將所采集到的觀測設備所處位置的地方恒星時參數(shù)s換算成待觀測星源的時角值參數(shù),記為t,第三,根據(jù)待觀測星源的時角值參數(shù),在待觀測星源赤經時角所處的天區(qū)的差異,選擇出一條最佳的尋星路徑。
選擇最佳尋星路徑的實現(xiàn)是自動尋星算法的核心,其具體實現(xiàn)方式可以分為以下三種工況:第一,以望遠鏡的中柱為軸線坐標,如果設備與待觀測星源的時角正好處在同一天區(qū)位置。則先驅動赤緯軸電機工作,實現(xiàn)緯度定位,再驅動赤經軸電機工作,實現(xiàn)緯度定位,最終使待觀測星源進入中心觀測區(qū),然后開始跟蹤作業(yè)。第二,以望遠鏡的中柱為軸線坐標,如果設備與待觀測星源的時角沒有處在同一天區(qū)位置。則先驅動赤緯軸電機工作,讓赤緯參數(shù)指向北極位置。再驅動赤經軸,再驅動赤經軸電機工作,實現(xiàn)緯度定位,最終使待觀測星源進入中心觀測區(qū),然后開始跟蹤作業(yè)。第三,對部分數(shù)據(jù)進行處理,鑒于設備所處的觀測位置的參數(shù)信息是由自增量式圓光柵編碼器提供的,而赤緯參數(shù)的參數(shù)范圍為(一90,90)區(qū)間內部,因此,自主尋星模塊在算法設計上還需要進一步的數(shù)據(jù)處理。處理后的數(shù)據(jù)就是典型的目標追蹤問題。以赤經為例進行尋星的具體流程圖如圖5所示。

圖4 時間標定程序模塊流程圖

圖5 自動尋星算法流程圖
鍵盤輸入及顯示部分
人機交互接口的設計是單片機應用系統(tǒng)中的重要組成部分。因此,一個高效、便捷的人機交互接口,成為本課題中的一個重要組成部分。根據(jù)天文觀測中的實際需求,鍵盤輸入驅動芯片選用8279芯片。8279芯片是一種通用的可編程序的鍵盤輸入、信息顯示接口芯片,可以將鍵盤信息輸入到單片機中。編程思路如下:
(1)定義各鍵值,初始化各鍵的狀態(tài)值;
(2)設計相應的鍵盤處理函數(shù),根據(jù)鍵值執(zhí)行相應的功能函數(shù);
(3)各個功能鍵的判斷語句使用switch語句,根據(jù)刷新后的當前狀態(tài)執(zhí)行相應的功能函數(shù);
(4)運用狀態(tài)機思維的編程思想,使用狀態(tài)刷新函數(shù),不斷更新當前的狀態(tài)值
部分代碼如下:

基于MC146818的時鐘模塊的設計
MC146818時鐘芯片是摩托羅拉公司出品的可通過編程控制的一種時鐘輸出芯片。課題將146818時鐘芯片作為采集設備所處位置的恒星時的基準模塊,其中技術難點為MC146818芯片的初始化,讀時間操作,寫時間操作三個功能函數(shù)。其中,在使用該芯片的過程中,需要對芯片進行讀寫操作,在操作之前,要首先查詢芯片確定是否處在刷新數(shù)據(jù)的狀態(tài)。如果正處在刷新數(shù)據(jù)的狀態(tài),必須等到刷新數(shù)據(jù)動作完成之后再對芯片進行讀,寫操作。
MC146818模塊部分功能函數(shù)代碼如下所示:


串行通信的實現(xiàn)
MSP430F系列十六位微控制器可以通過自帶的UART0和UART1通用串口外設雙串口通信,其工作模式為,接收數(shù)據(jù)狀態(tài)一般采取被動方式,數(shù)據(jù)發(fā)送狀態(tài)則多采用主動方式。在系統(tǒng)中,串口功能函數(shù)會順序查詢相應端口是否有數(shù)據(jù)請求,并根據(jù)接收到的數(shù)據(jù),執(zhí)行相關功能的子函數(shù),同時將執(zhí)行模塊的的參數(shù)分別發(fā)送給手動操作器和控制計算機,等待接收控制命令。
部分代碼實現(xiàn)如下:

采用上下位計算機控制模式,實現(xiàn)了望遠鏡的自主尋星與跟蹤。為了提高系統(tǒng)的穩(wěn)定性與可靠性,增強系統(tǒng)抗干擾的能力,課題采用了比較規(guī)范的通信協(xié)議。在新疆地區(qū)良好的觀測環(huán)境下,持續(xù)兩個星期的觀測與調試,系統(tǒng)整體性能運行良好,系統(tǒng)降噪效果較為明顯,尋星作業(yè)完成效果較好,精度較原有的8位微控制器實現(xiàn)效果有所提高,能夠適用于各種巡天觀測的望遠鏡設備。
李志凌1古力·艾尼瓦爾1賈世甄2尹 航3
1.中國人民解放軍烏魯木齊民族干部學院;
2.江南大學理學院;
3.中國科學院大學物理學院李志凌(1976.10)烏魯木齊民族干部學院,講師,研究方向:計算機應用技術。

10.3969/j.issn.1001-8972.2015.07.001