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