陸源 李元慶
【摘要】我國(guó)自主研發(fā)的新一代北斗衛(wèi)星導(dǎo)航定位系統(tǒng),在我國(guó)的政治經(jīng)濟(jì)領(lǐng)域、社會(huì)生活領(lǐng)域、農(nóng)業(yè)領(lǐng)域、國(guó)防軍事領(lǐng)域中發(fā)揮了不可替代的作用。北斗導(dǎo)航系統(tǒng)的應(yīng)用,為全球用戶提供了高精度、全天時(shí)、全天候的定位導(dǎo)航服務(wù);本文簡(jiǎn)要介紹了STM32單片機(jī)在北斗導(dǎo)航衛(wèi)星定位系統(tǒng)中的設(shè)計(jì)應(yīng)用過程。
【關(guān)鍵詞】單片機(jī)? 定位系統(tǒng)? 應(yīng)用
一、引言
衛(wèi)星導(dǎo)航技術(shù)的快速發(fā)展對(duì)社會(huì)經(jīng)濟(jì)的發(fā)展和現(xiàn)代戰(zhàn)爭(zhēng)都發(fā)揮著不可替代的作用,北斗導(dǎo)航系統(tǒng)可應(yīng)用于航天、陸地、海洋等多個(gè)領(lǐng)域,對(duì)于我國(guó)導(dǎo)航領(lǐng)域技術(shù)的發(fā)展具有非常重要的意義,它對(duì)我國(guó)多個(gè)領(lǐng)域事業(yè)的發(fā)展起了很好的帶動(dòng)效果,要想利用好北斗系統(tǒng),就必須有一套能夠接收北斗系統(tǒng)的信號(hào)數(shù)據(jù)系統(tǒng),并將數(shù)據(jù)實(shí)時(shí)顯示在液晶顯示屏上,在液晶顯示屏上顯示出定位的信息,比如:測(cè)量目的地的經(jīng)緯度、地區(qū)時(shí)間等。
基于STM32 單片機(jī)在北斗導(dǎo)航系統(tǒng)信號(hào)接收器的原理定位模塊,包括:定位模塊收集經(jīng)緯度、時(shí)間和日期等信息,采用 STM32單片機(jī)經(jīng)過電路轉(zhuǎn)化成電平,再將北斗導(dǎo)航定位模塊接收的信息轉(zhuǎn)化成數(shù)據(jù)連接到所準(zhǔn)備好的顯示器上。在顯示器上查看和顯示出實(shí)時(shí)時(shí)間、日期、經(jīng)緯度等信息,經(jīng)過最終的測(cè)試結(jié)果實(shí)現(xiàn)提取北斗導(dǎo)航定位模塊收集到的信息數(shù)據(jù)并順利在顯示器上顯示,完成實(shí)時(shí)定位功能。
二、北斗衛(wèi)星定位系統(tǒng)的工作原理
我國(guó)的北斗衛(wèi)星定位系統(tǒng)采用與美歐、俄羅斯類似的坐標(biāo)系WGS-84 地心坐標(biāo)定位體系,即:定位坐標(biāo)的原點(diǎn)定在地球的質(zhì)心,Z 軸 指向 BIH1984.0 定義協(xié)議。X 軸指向本初零子午面和赤道中,其中 X 軸、Y 軸、Z 軸三者之間相互兩兩垂直,共同構(gòu)成了定位坐標(biāo)系。再以地球上空的定位衛(wèi)星做基礎(chǔ)建立起坐標(biāo)參考系統(tǒng),在后期我國(guó)也建立了自主研發(fā)的坐標(biāo)系,但整體上變化不大。定位系統(tǒng)原理如圖一所示,由圖的空間幾何解析可以得到,在一個(gè)三維坐標(biāo)中,在坐標(biāo)系中的任何一個(gè)點(diǎn)都可以由建立的三個(gè)坐標(biāo)軸 XYZ 來確定。在理論情況下,我們只需通過計(jì)算獲取所需要點(diǎn)的 X Y Z 軸三個(gè)坐標(biāo)值的數(shù)據(jù)后,空間上的任何一個(gè)點(diǎn)就可通過坐標(biāo)的計(jì)算得到準(zhǔn)確的數(shù)據(jù),但是在實(shí)際的衛(wèi)星信號(hào)傳輸過程中,僅僅得到三個(gè)坐標(biāo)的數(shù)據(jù)是遠(yuǎn)遠(yuǎn)不夠的,由于存在多種信號(hào)干擾,需要加入一個(gè)新的變量 t,由 t 建立起一個(gè)三個(gè)未知數(shù)的方程組,再經(jīng)過幾何解析可得到點(diǎn) XYZ 坐標(biāo)的數(shù)據(jù),通過精確計(jì)算得到具體的位置。
目前的北斗衛(wèi)星定位在設(shè)計(jì)上也是應(yīng)用這個(gè)原理,由于運(yùn)行在太空中的衛(wèi)星位置相對(duì)于地球來說是靜止不動(dòng)的,用戶不管在地球的哪一個(gè)地方至少可以接收到三顆衛(wèi)星信號(hào),并能測(cè)量出到這三顆衛(wèi)星的距離,通過以上的方法可以計(jì)算出自身的具體坐標(biāo),其前提是需要太空中的衛(wèi)星網(wǎng)絡(luò)合理分布布局。北斗衛(wèi)星的大致分布和計(jì)算原理如下圖二所示。
北斗導(dǎo)航信息接收模塊經(jīng)過信息接收天線接收浮在太空的衛(wèi)星信號(hào),可以做到對(duì)視野內(nèi)目標(biāo)的跟蹤、鎖定及測(cè)量。在獲得衛(wèi)星信息和距離衛(wèi)星的數(shù)據(jù)后,可以計(jì)算出天線所在的位置坐標(biāo),并顯示出所需要定位的定位信息。
如選擇使用 STM32f103c8t6 單片機(jī)作為設(shè)計(jì)器件的處理器,單片機(jī)的串口接收北斗信號(hào),通過軟件顯示定位的數(shù)據(jù)信息,最后通過單片機(jī)的并行接口輸出到12864液晶顯示屏上顯示坐標(biāo)數(shù)據(jù)。
該裝置硬件電路的組成有:
①信息接收部分:以 u-BI0x為核心的信息接收機(jī)。
②數(shù)據(jù)處理器:微處理器采用STM32f103c8t6 單片機(jī),控制衛(wèi)星數(shù)據(jù)信號(hào)。
③顯示部分:12864 液晶顯示屏。
④其他部分:電源電路、程序控制等。圖三所示為其系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖,它由電源、北斗接收模塊、顯示器、單片機(jī)構(gòu)成。
三、基于單片機(jī)的北斗軟件設(shè)計(jì)流程
北斗導(dǎo)航設(shè)計(jì)的核心部分是北斗接收模塊與STM32 單片機(jī)的信息通訊,與STM32 單片機(jī)強(qiáng)接收到的信息篩選并編排好順序送到12864液晶顯示模塊顯示出來。通常采用的設(shè)計(jì)思路是模塊化,它利于后期軟件的調(diào)試,并為軟件的移植提供了方便,通過改變相應(yīng)的軟件模塊,可以在不同的硬件平臺(tái)上運(yùn)行軟件。軟件模塊的設(shè)計(jì)分為三個(gè)部分:LCD 模塊、北斗接收模塊和 STM32 模塊。設(shè)計(jì)的程序流程圖如圖四所示:當(dāng)模塊接收到數(shù)據(jù)時(shí),會(huì)將接收到的時(shí)間、模塊天線、所在地址、經(jīng)度緯度等信息顯示在 LCD 液晶顯示屏上。
四、軟硬件的調(diào)試及測(cè)試
硬件的設(shè)計(jì)與制作及軟件的編程完成后,要想能夠按照人們?cè)O(shè)計(jì)的思路運(yùn)行,需要對(duì)硬件和軟件進(jìn)行調(diào)試和測(cè)試。
(1)硬件調(diào)試:為了避免可能存在的硬件故障隱患,我們需要對(duì)硬件部分進(jìn)行調(diào)試,避免可能存在的設(shè)計(jì)失誤及焊接作業(yè)時(shí)的失誤。調(diào)試的步驟分為五步:
①用萬用表進(jìn)行點(diǎn)對(duì)點(diǎn)檢查,排除導(dǎo)線可能存在的短路或開路故障。
② 測(cè)試電源能否順利接入電路中。給模塊提供電源,檢查按鈕是否可以正常使用、連接是否正確。
③檢查芯片與對(duì)應(yīng)腳的導(dǎo)通情況。
④將用軟件進(jìn)行仿真后產(chǎn)生的新文件,導(dǎo)入 STM32f103c8t6 單片機(jī)之中。
⑤將單片機(jī)準(zhǔn)確插入到已經(jīng)焊接好的單片機(jī)管座之中,仔細(xì)查看顯示器的顯示內(nèi)容是否符合本課題設(shè)計(jì)的要求。
(2)軟件調(diào)試。利用開發(fā)工具對(duì)軟件進(jìn)行調(diào)試,可以避免軟件設(shè)計(jì)方面的錯(cuò)誤,并且還可以進(jìn)一步發(fā)現(xiàn)硬件設(shè)計(jì)部分有沒有出現(xiàn)錯(cuò)誤。首先看各個(gè)子程序是否能實(shí)現(xiàn)預(yù)設(shè)的功能,最后擴(kuò)大到整個(gè)程序,最后查看各個(gè)模塊之間能否進(jìn)行正常參數(shù)傳遞。具體操作:
①查看液晶顯示模塊程序,看是否可以顯示預(yù)計(jì)的字符。
②查看單片機(jī)的初始化模塊,檢測(cè)單片機(jī)的初始化參數(shù),單片機(jī)可不可以順利的進(jìn)入數(shù)據(jù)接收。
③觀察液晶顯示器上面的顯示信息。
五、結(jié)語
近年來隨著衛(wèi)星導(dǎo)航技術(shù)的不斷應(yīng)用和普及,國(guó)內(nèi)外對(duì)衛(wèi)星導(dǎo)航技術(shù)需求強(qiáng)勁,應(yīng)用STM32 單片機(jī)設(shè)計(jì)導(dǎo)航定位的目的是讓人們更好地了解北斗導(dǎo)航系統(tǒng)的定位原理,熟悉接收機(jī)的工作原理和接收機(jī)的工作流程,它對(duì)促進(jìn)導(dǎo)航定位領(lǐng)域的應(yīng)用領(lǐng)域及未來發(fā)展意義重大。
作者簡(jiǎn)介:陸源(1993.12-),男,廣西防城港人,廣西城市職業(yè)大學(xué)智能工程學(xué)院專任教師,主要研究方向:北斗導(dǎo)航系統(tǒng)的研究。李元慶(1960.11-),男,廣西城市職業(yè)大學(xué)教授,福建龍巖人,主要研究方向:智能制造及電氣自動(dòng)化應(yīng)用技術(shù)。