《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 單片機在赤道式天文望遠鏡控制系統(tǒng)中的應(yīng)用
單片機在赤道式天文望遠鏡控制系統(tǒng)中的應(yīng)用
摘要: 作者主要就這一方面作了一些粗陋的研究,用單片機的匯編語言編制了望遠鏡自動找星的程序,實現(xiàn)了把手盒自動找星的功能。
Abstract:
Key words :

一 前言

  縱觀當前國內(nèi)的望遠鏡市場,大大小小的望遠鏡都配上了電腦,實現(xiàn)PC機控制,這樣無形之中就增加了產(chǎn)品的生產(chǎn)成本,使一些原本不必要配電腦的中小型望遠鏡也必須得配一臺電腦,脫離了電腦,就只能進行一些簡單的手動操作,令人苦不堪言,本人主要就這一方面作了一些粗陋的研究,用單片機的匯編語言編制了望遠鏡自動找星的程序,實現(xiàn)了把手盒自動找星的功能。

  二 系統(tǒng)硬件概述

  本控制系統(tǒng)的核心部分是采用雙串口的CPU(W77E58芯片),可以同時和上位機及把手盒通信,也可以單獨和他們通信,一片XC95108-84負責計數(shù)分頻等工作,一片MC146818時鐘芯片,用來產(chǎn)生恒星時,附加一些外圍接口電路,具體詳情見(圖一),因為本文著重介紹的是算法部分,因此硬件部分不再細述。

                                               下位機系統(tǒng)方框原理圖(圖一)

  三 軟件部分

  具體地講,軟件總的可以分為四大部分:PC機(工控機)部分,把手盒部分,下位機部分以及功放模塊部分。其中PC機和把手盒分別與下位機的主電腦CPU(W77E58)通信,由串行電纜連接,實現(xiàn)通信,功放模塊(驅(qū)動部分)與下位機連體,由數(shù)據(jù)線直接連接,下面我們主要介紹下位機軟件的設(shè)計流程及算法思路:

  1、設(shè)計思路

  我們應(yīng)該明確該設(shè)計的目的,即實現(xiàn)望遠鏡自動找星的功能,具體地說,首先得給望遠鏡進行位置的準確標定,即選中天空中的某一顆已知星,由把手盒手動操作,把它找進望遠鏡視場的正中央,放在主鏡的十字線的中心,此時把這顆星的坐標位置由把手盒輸入進去,定標替換望遠鏡原來的位置,然后以這顆星為基本點,根據(jù)時角和赤緯去找尋天空中的任意一顆未知的星,由于系統(tǒng)在程序中做進了掉電保護模塊,因此,對望遠鏡而言,調(diào)試完畢之后只需要標定一次,以后每次關(guān)機之前系統(tǒng)都會自動保存望遠鏡當前的實時位置,給用戶帶來了極大的方便,自動找星時,我們給望遠鏡輸入天空星體的天文坐標(α,δ)之后,望遠鏡根據(jù)當前自身指向的天區(qū)位置以及待尋目標星所處的天區(qū)位置選擇一條合適的路徑,驅(qū)動赤經(jīng)、赤緯電機轉(zhuǎn)動使其指向目標星,讓目標星體落入望遠鏡視場,找星結(jié)束后自動轉(zhuǎn)入跟蹤,望遠鏡的指向與天體的坐標是通過恒星時聯(lián)系起來的,因此我們需要知道恒星時,每次觀測之前要先校正一下恒星時,恒星時由程序配合手動校正,并顯示于面板上。由公式 t+α=s①

  其中t是星體的時角位置,α 是星體的赤經(jīng)值,s 是當?shù)氐牡胤胶阈菚r

  顯然我們可以把望遠鏡的時角和星體的時角對應(yīng)起來,在跟蹤狀態(tài)時,為了克服地球自轉(zhuǎn)的影響,時角在以每時秒15個角秒的速度沿著反地球自轉(zhuǎn)方向勻速運動,因此在赤經(jīng)方面主要是實時地采集當?shù)氐牡胤胶阈菚r,不停的刷新顯示,計算目標星的時角,最終讓望遠鏡的動態(tài)時角值等于目標星的時角,這樣赤經(jīng)找星完畢;在赤緯方面,因為恒星的赤緯是不變的,所以我們只需要將望遠鏡的動態(tài)赤緯顯示值不斷的靠近目標星的赤緯值,不過對赤道式望遠鏡而言,得需要考慮望遠鏡的所處天區(qū)的位置以及目標星的位置,選擇合適的找星路徑,確保望遠鏡的鏡筒的姿勢正確,至于限位部分,可以根據(jù)客戶要求自行設(shè)定。

  2 、下位機軟件流程圖

3、子程序部分

 ?。?)鍵盤輸入及顯示部分

  在該系統(tǒng)中,我們選用了8279芯片,在程序中查詢鍵值,送入固定單元,如果無鍵按下,則送#0FFH入固定單元,然后查詢此單元,如果為#0FFH,則返回,否則根據(jù)單元的鍵值內(nèi)容轉(zhuǎn)入相應(yīng)的功能子程序;而顯示部分主要把待顯示的數(shù)據(jù)經(jīng)過拆分成7位(本系統(tǒng)采用7位數(shù)碼管顯示),分別送給顯示緩沖區(qū),由查表的方式從表中取出7個相應(yīng)的字型,送到8279數(shù)據(jù)口實現(xiàn)動態(tài)顯示,8279的鍵盤掃描及顯示方式是通過初始化編程來實現(xiàn)的,8279初始化部分程序如下:

(2)MC146818時鐘部分

  MC146818芯片是摩托羅拉公司生產(chǎn)的一種可編程的時鐘芯片,該系統(tǒng)中用它來讀寫恒星時,其中一些主要的操作就是芯片的初始化,讀時間操作,寫時間操作幾大部分,在使用該芯片進行執(zhí)行讀/寫時間操作時,必須得注意,要首先查詢它的狀態(tài)看它是否正在刷新數(shù)據(jù),如果是,必須等刷新數(shù)據(jù)動作完成之后再對芯片進行讀/寫操作,否則容易出錯,MC146818的初始化部分程序如下:

  讀時間子程序:

 寫時間的子程序同上類似,不再多述。

  (3)串行通信子程序

  W77E58實現(xiàn)雙串口通信,初始化完畢后進入主流程,逐個查詢串口是否有通信數(shù)據(jù)請求,如果有則進入通信子程序執(zhí)行并返回,否則程序直接往下執(zhí)行,把下位機的數(shù)據(jù)分別發(fā)送給把手盒和工控機,等待接收控制命令。具體的初始化程序如下:

?。?)標定子程序流圖

(5)自動找星子程序

  首先根據(jù)輸入的目標星的赤經(jīng)值,取出當?shù)氐牡胤胶阈菚rS,通過計算,換算成目標星的時角值to,然后讀取望遠鏡此時的實時位置值tt,根據(jù)他們赤經(jīng)時角所處的天區(qū)差異來選擇不同的找星路徑,具體情況可以分為以下幾種:


  1)如果望遠鏡與目標星的時角處于同一天區(qū)(以望遠鏡的中柱為軸線,分為東西兩大天區(qū),人為設(shè)定),則先驅(qū)動赤緯軸,再驅(qū)動赤經(jīng)軸,直到找到目標星,進入跟蹤。

  2)如果望遠鏡與目標星的時角處于不同天區(qū),即跨天區(qū)找星,則先驅(qū)動赤緯軸,讓赤緯指向北極,再驅(qū)動赤經(jīng)軸,然后再驅(qū)動赤緯軸,直到找到目標星,進入跟蹤。

  另外,由于我們的位置反饋信息是來自增量式圓光柵編碼器,而赤緯的度數(shù)始終在(-90,90)區(qū)間,因此還需要進行一下特殊處理。

  剩下的就是典型的追擊問題,以赤經(jīng)為例,具體流程圖如下:
 

四 結(jié)束語

  經(jīng)過一個多月的實際使用觀測,望遠鏡系統(tǒng)運行良好,平穩(wěn)無噪音,找星定位準確,精度高,能適用于各種大中小型的望遠鏡。
 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。