基于GPS15xL-W塔鐘控制系統(tǒng)的研究
摘要:針對傳統(tǒng)塔鐘走時存在累積誤差的缺點,提出一種基于GPS15xL-W的塔鐘控制系統(tǒng),采用89C54RD+單片機作為主控芯片,介紹了系統(tǒng)的硬件電路和工作原理,并給出了相應的軟件設計方法,實現(xiàn)了塔鐘控制系統(tǒng)自動校時功能,從而消除了塔鐘控制系統(tǒng)走時的累積誤差,保證塔鐘控制系統(tǒng)走時的高精度。研究結果表明:該系統(tǒng)運行可靠,具有很好的實用性。
關鍵詞:GPS;自動校時;自動追時;單片機;累積誤差
隨著城市建設的快速發(fā)展,建筑物上的塔鐘越來越多。目前實現(xiàn)塔鐘自動校時的方式主要有3種:(1)利用收音機接收的報時信號進行校時;(2)利用電視機接收的電視信號進行校時;(3)利用短波接收機接收陜西天文臺的短波授時信號進行校時。然而這3種校時方式所采用的校時信號極易受到外界干擾,可能導致長時間分離不出有效的校時信號。解決這一問題的最好辦法就是采用全球定位系統(tǒng)。近年來,隨著電子技術的發(fā)展,GPS接收機的造價愈來愈低,而且接收的衛(wèi)星信號準確可靠不易受外界環(huán)境干擾,而且其安裝不受地域的限制,一般裝有塔鐘的地方均可安裝,完全滿足了塔鐘控制系統(tǒng)的使用要求。本文介紹了基于GPS15xL-W的塔鐘控制系統(tǒng)。
1 GPS授時原理
GPS(Global Positioning System全球定位系統(tǒng))是美國于1994年全面建成,集衛(wèi)星導航、定位和定時于一體的多功能系統(tǒng)。GPS系統(tǒng)主要由三部分組成:空間部分、地面控制系統(tǒng)部分、用戶設備部分??臻g部分由21顆工作衛(wèi)星和3顆在軌備用衛(wèi)星組成,均勻分布在6個軌道面上,使得在全球任何地方、任何時間都可觀測到4顆以上的衛(wèi)星,并能在衛(wèi)星中預存導航信息。GPS衛(wèi)星不間斷地發(fā)送自身的星歷參數(shù)和時間信息,用戶接收到這些信息后,經(jīng)過計算可求出接收機的三維位置、三維方向、運動速度以及時間信息。本系統(tǒng)中獲知時間信息即可。
若設接收機的位置為(X,Y,Z),已知衛(wèi)星的位置為(Xn,Yn,Zn),其中n=1,2,3,4,則解以下4個方程便可計算出接收機的位置(X,Y,Z)和標準時間T。
式中,C-光速;△T-用戶時鐘與GPS主時鐘標準時間的時差;Tn-衛(wèi)星n發(fā)射信號的發(fā)射時間;τn-衛(wèi)星n上的原子鐘與GPS主時鐘標準時間的時差。
用戶利用GPS接收機就能全天候、實時、連續(xù)不斷地接收到其發(fā)出的信號,通過對接收的信號進行解碼和處理,從而獲取精確的時間信息,包括1PPS,即秒脈沖信息,其脈沖前沿與國際標準時間(格林威治時間,UTC)的同步誤差不超過1μs,以及經(jīng)RS232串口輸出的與秒脈沖前沿相對應的UTC時間。
2 硬件設計
2.1 系統(tǒng)硬件電路構成
本系統(tǒng)主要由以下幾部分組成:單片機控制系統(tǒng)(89C54RD+)、步進電機驅(qū)動電路、GPS接收電路、電源電路、調(diào)節(jié)控制鍵盤電路、顯示電路、報時電路,如圖1所示。
系統(tǒng)中的塔鐘由步進電機帶動走時,STC89C54RD+以GPS時間信息為基準,輸出步進電機的控制信號。GPS接收機選取美國GARMIN的產(chǎn)品GPS15xL-W模塊,該GPS接受模塊體積小,功耗低,授時精度可達±50 ns(典型值),可以輸出兩種時間信號,一種是間隔為1 s的同步脈沖信號1PPS,其脈沖前沿與UTC的同步誤差不超過1μs,另一種為包含在串口輸出信息的與1PPS秒脈沖相對應的UTC絕對時間。主控器采用宏晶公司的STC89C54RD+增強型51單片機,通過MAX232電平轉(zhuǎn)換芯片與GPS15xL-W連接,獲得接收機接收的時間信息,作為塔鐘的時基信號源,送入單片機的RXD端,單片機的P1.0—P1.3設計為輸出端,提供步進電機的步進脈沖信號、方向控制信號以及脫機使能信號。
由于步進電機需220 V交流電帶動,停電時步進電機不能工作,塔鐘不再走時,因此,系統(tǒng)中引入高性能、低功耗、帶RAM的實時時鐘。電路當檢測到即將停電時(由電源監(jiān)視及檢測電路實現(xiàn)),CPU首先將當前時間寫入DS1302提供的RAM中,然后CPU內(nèi)部所有功能部件都停止工作,僅DS1302芯片由電池供電繼續(xù)走時。上電后,CPU從DS1302中讀取時間數(shù)據(jù),計算出塔鐘停走的時間,輸出步進電機控制信號,從而控制步進電機帶動塔鐘指針走動,實現(xiàn)系統(tǒng)的自動追時功能。
同時,根據(jù)要求,MCU可對塔鐘上的相關設備:霓虹燈、語音芯片(ISD4004)、擴音器等進行控制。另外,通過按鍵,可設置塔鐘的走時基準點。塔鐘的時間數(shù)據(jù)可通過LCD顯示。
2.2 步進電機驅(qū)動電路
2M2260是一款等角度恒力矩細分型步進電機驅(qū)動器。該驅(qū)動器內(nèi)部采用類似伺服控制原理的電路,此電路可以使電機低速運行穩(wěn)定,幾乎沒有震動和噪音,由于驅(qū)動器工作電壓高,使電機在高速時力矩大大高于其它二相、五相混合式及傳統(tǒng)式步進電機。步進脈沖停止超過100 m/s,驅(qū)動電流自動減半。定位精度最高可達12800步/轉(zhuǎn)。圖2為單片機與2M2260的連接圖。單片機I/O口與步進電機驅(qū)動器之間通過MC1413連接,可增大單片機輸出的驅(qū)動電流。
圖3為2M2260的信號波形及時序。驅(qū)動器上電后兩秒給步進電機發(fā)送脈沖。驅(qū)動器對步進脈沖要求是低電平為0~0.5 V,高電平為4~5 V,脈沖寬度大于2.5 μs。ENA-接電源地時,驅(qū)動器正常工作,否則,驅(qū)動器停止工作,電機處于自由狀態(tài)。電機正常工作時,若DIR-輸入為低電平,電機沿順時針方向轉(zhuǎn),反之,電機沿逆時針方向轉(zhuǎn)動。
2.3 報時系統(tǒng)
報時系統(tǒng)硬件原理見圖4。報時系統(tǒng)由一塊ISD4004語音芯片、揚聲器及外圍電路構成。ISD4004有兩個信號輸入端,一個是錄音信號的同相輸入端ANA IN+,另一個是錄音信號的反相輸入端ANA IN-。ISD4004被啟動后,發(fā)出報時信號,首先是音樂,接著是打點聲。此信號送入LM386,經(jīng)過放大后,推動揚聲器發(fā)聲。
3 軟件設計
系統(tǒng)軟件設計采用模塊式,設計包括:初始化模塊,串口中斷接收模塊,數(shù)據(jù)處理模塊,顯示模塊,鍵盤處理模塊,走時模塊。圖5為主程序流程圖。系統(tǒng)初始化模塊包括串口初始化、液晶顯示初始化。串行中斷接收GPS_OEM板的“$ GPRMC”語句。每當正確接收到“$ GPR MC”語句就更新一次顯示,同時送出塔鐘走時的控制信號。
單片機上電復位,通過串行接口RXD與GPS15XL-W接收機通訊,獲取衛(wèi)星數(shù)據(jù);另一方面步進電機的指針快速走時,若查詢到按鍵1按下,則此時的位置為塔鐘的走時基準點。若查詢到按鍵2按下,則指針快速走到當前時刻,繼而正常走時。單片機通過P1口與塔鐘控制系統(tǒng)通訊實現(xiàn)塔鐘校時。單片機接收GPS接收機發(fā)來的數(shù)據(jù)信息,從中篩選出所需要的時間信息。傳送時間信息的指令是$GPRMC,是命令頭,其ASCII碼是24,47,50,52,4D,43,2C。緊隨命令頭的是UTC時間,hhmmss(時分秒)格式。
此外,單片機接收到的時間數(shù)據(jù)為UTC時間(格林威治時間),UTC時間與世界各地的時間有時差,例如,UTC時間比北京時間晚8 h,因此,將接收到的UTC時間加上8 h,即為北京時間。在對小時加8的時候,要注意對日期的影響,因為日期涉及到閏年等問題。
步進電機每獲得一個脈沖指針轉(zhuǎn)過1.8°,但是塔鐘轉(zhuǎn)盤一圈360°,秒針走過一小格,即6°,但是連續(xù)給步進電機三個脈沖,指針只能走5.4°,因此,為了減小誤差,給步進電機發(fā)送脈沖的時序為3—4—3,即單片機按三個脈沖、四個脈沖和三個脈沖給步進電機發(fā)送脈沖,塔鐘指針走過5.4°、7.2°和5.4°,照此循環(huán)發(fā)送,所以每三秒鐘就可以消除指針轉(zhuǎn)動的誤差。
因此,在軟件設計中,首先判斷當前的時刻的秒值與三相除所得余數(shù),余數(shù)為0和2,則發(fā)送3個脈沖,若余數(shù)為1,則發(fā)送4個脈沖,以此類推。秒針每轉(zhuǎn)過一圈為一分,即分針走過一小格;分針每轉(zhuǎn)過一圈為一小時,即帶動時針走一大格。塔鐘按上述情況走時。GPS時間信息每秒鐘校正一次塔鐘走時,從而保證塔鐘走時的高精度。
4 結論
因采用了GPS作為塔鐘走時的標準時鐘源,解決了塔鐘走時不準確的問題,控制系統(tǒng)硬件設計簡單,抗干擾性強,系統(tǒng)運行穩(wěn)定可靠,具有很好的實用性。