0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

合宙Air530Z+STM32,自制GNSS定位器&授時器

合宙LuatOS ? 2023-09-23 08:05 ? 次閱讀

不少新朋友來問,有沒有好玩的GNSS定位應用推薦?那么不妨基于小巧易用的合宙Air530Z模組,來簡單做一個業(yè)余無線電相關的GNSS小玩具。

今天特別分享@W_Linus大佬的開源作品——基于合宙Air530Z的定位器&授時器。

1

項目主要準備工作


基于合宙Air530Z的定位器&授時器,使用STM32G030F6P6單片機進行數(shù)據(jù)處理以及顯示,使用0.96寸ST7735屏幕作為顯示終端,同時將GNRMC數(shù)據(jù)通過串口發(fā)送到電腦,供上位機處理,使用按鍵進行交互。

- 主要物料 -

01. GNSS模塊:合宙Air530Z

GNSS模塊我選用了合宙的Air530Z,原因是這個模塊使用較為方便,原生支持有源GPS天線,效果OK。同時支持北斗三號、GPS以及格洛納斯系統(tǒng)。

02. 單片機:STM32G030F6P6

對我來說方便開發(fā),資源充足是很重要的因素。所以我決定在STM32系列MCU里面進行選擇,項目制作前期STM32的價格一直居高不下,不過STM32G0系列卻是一股清流。粗略估計了下所需要的資源后,我最終選擇了STM32G030F6P6

03. 屏幕:0.96寸 ST7735 LCD

至于信息的顯示,肯定需要使用屏幕。不過是使用LCD還是OLED屏幕呢?我最終決定使用LCD屏幕。原因也很簡單:它可以顯示不同的色彩,制作出來的界面更加漂亮。所以,屏幕最終定型為0.96寸 ST7735 LCD屏幕。

f29a2a5a-59a4-11ee-9788-92fbcf53809c.png

04. 其他元器件參見文末原工程鏈接BOM表

- 硬件設計 -

大框架定下來了,我便著手進行PCB的繪制。到目前為止,我已經(jīng)繪制了3個版本的PCB。每一次迭代的原因幾乎都是發(fā)現(xiàn)了一些之前忽略掉的,而現(xiàn)在發(fā)現(xiàn)了能難受半天的小缺陷。不過,每個版本都是可以正常使用的。

f2a23010-59a4-11ee-9788-92fbcf53809c.png

f2b95f56-59a4-11ee-9788-92fbcf53809c.png

- 程序開發(fā) -

至于程序,得益于之前玩GNSS模塊的成果,沒有費多大功夫就寫出了初版基本可用的程序。使用STM32CubeMX工具和MDK工具鏈進行開發(fā),是大多數(shù)像我一樣的新手的選擇罷:

f2c004a0-59a4-11ee-9788-92fbcf53809c.jpg

一開始我想著是準備上RT-Thread實時系統(tǒng)的,后面又想了想感覺沒多大必要,于是就采取了裸機跑程序的方案。事實證明,沒有外加存儲器的情況下,屏幕所使用的字庫非常占用Flash空間。

當前版本下采用O1優(yōu)化,程序大小已經(jīng)來到了驚人的31.54KB,距離塞滿我這顆32KB ROM的MCU只差一步之遙。

f2cdbf6e-59a4-11ee-9788-92fbcf53809c.jpg

MCU開了兩個串口,一個用于和模塊通信,另一個與上位機進行通信。與模塊之間的數(shù)據(jù)流是持續(xù)不斷的,所以我在這里使用了DMA來進行串口的數(shù)據(jù)接收以減輕CPU的負擔,同時避免丟失數(shù)據(jù)包。

- 硬件制作 -

既然程序準備OK了,那么就等待PCB到貨進行焊接制作了。全貼片方案果然還是使用加熱臺來進行焊接最安逸了 :

f2d49960-59a4-11ee-9788-92fbcf53809c.png

焊接完成并且燒錄程序后,我們就得到了這樣的成果:

f3052e5e-59a4-11ee-9788-92fbcf53809c.png

2

主要功能及開源交流


合宙Air530Z模塊在使用有源天線以及在存在后備電源供電的情況下時,熱啟動定位非常迅速,幾乎可以說是秒定位。不過當模塊內存儲的歷書過期后,使用冷啟動就要稍微慢一些了。

f30fa866-59a4-11ee-9788-92fbcf53809c.gif?

- 主要功能 -

根據(jù)功能內容的實現(xiàn)和顯示差異,我將程序分為了如下幾個功能界面:

01.啟動界面

上電時,我們會看到一個啟動界面(飛機上未錄制,此處使用之前的圖片素材)。

f3219c74-59a4-11ee-9788-92fbcf53809c.png

02.詳細信息首界面

開機后默認會進入詳細信息界面:系統(tǒng)將會顯示當前時間、速度、經(jīng)緯度以及梅登海德網(wǎng)格。最上方的狀態(tài)欄則指示了當前定位情況、系統(tǒng)溫度(MCU內置的溫度傳感器,使用了工廠校準值)和電池剩余電量指示(電壓估算,沒有使用庫侖計,因此并不精準,只能作為參考)。

f329e5f0-59a4-11ee-9788-92fbcf53809c.gif

03.日期與時間專題顯示界面

通過PCB頂部的右側按鈕可以進行翻頁,進入日期與時間的專題顯示。此時還可以通過頂部的左側按鈕,切換UTC時間與CST(即北京時間)。

f34910a6-59a4-11ee-9788-92fbcf53809c.gif

04.速度專題顯示界面

接下來的一頁是速度的專題顯示,一共三組數(shù)值:分別是km/h、m/s和節(jié)。事實上顯示的速度換算關系并不精準,原因是內容刷新時間并不一致。刷新存在先后關系,導致并非展示同一時刻下的數(shù)據(jù)。

f353db3a-59a4-11ee-9788-92fbcf53809c.png

05.系統(tǒng)信息顯示界面

再接下來的一頁是系統(tǒng)信息的展示,內容有當前系統(tǒng)溫度(對,和狀態(tài)欄上那個是一樣的)、當前系統(tǒng)工作電壓(通過使用ADC對內置的Vrefint通道進行采樣,再通過內置的通道校準值來計算實際的3.3V供電電壓)、當前電池電壓以及固件版本。

f3900a24-59a4-11ee-9788-92fbcf53809c.png

06.報文信息顯示界面

最后一頁是原始的GNSS報文展示,我這里為了解析方便,設定了模塊只使用GNRMC報文。GNRMC已經(jīng)足夠使用,缺點則是沒有高程信息以及衛(wèi)星數(shù)量的報告。后面如果有時間,我再嘗試加上其它報文(如GNGLL、GNGGA等)的解析功能吧。

f39ca54a-59a4-11ee-9788-92fbcf53809c.gif

在屏幕展示這些數(shù)據(jù)的同時,MCU與上位機通信的串口也不會閑著。它會實時轉發(fā)模塊發(fā)來的GNRMC數(shù)據(jù)包,這樣,我們將這個設備插上電腦(它自帶了CH340N芯片),便可以同步使用例如BktTimeSync之類的軟件,來利用GNSS系統(tǒng)對電腦進行授時了。這對于在野外操作FT8等嚴格要求時序的通聯(lián)模式有較大幫助。

現(xiàn)在的固件只包含了以上功能,接下來我會嘗試繼續(xù)完善這個小玩具。比如增加更多報文的解析、自定義啟動屏幕的呼號顯示等功能,再將現(xiàn)在的GUI美化一下。希望剩余的ROM還能支持我這么干~

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2257

    文章

    10826

    瀏覽量

    352431
  • 定位器
    +關注

    關注

    2

    文章

    162

    瀏覽量

    17187
  • GNSS
    +關注

    關注

    9

    文章

    719

    瀏覽量

    47631
收藏 人收藏

    評論

    相關推薦

    Air201資產(chǎn)定位模組LuatOS課程(六):PWRKEY控制解決關機難問題

    ? 經(jīng)過前面5期的課程:從hello world初體驗,到點燈、遠程控制,再到定位,擴展功能,是不是有點上癮了?Air201,如同我們一路升級打怪的得力法器,讓開發(fā)愈發(fā)得心應手。
    的頭像 發(fā)表于 09-18 07:06 ?83次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>201資產(chǎn)<b class='flag-5'>定位</b>模組LuatOS課程(六):PWRKEY控制解決關機難問題

    Air201資產(chǎn)定位模組LuatOS快速入門:GPS/LBS/Wi-Fi定位,全安排!?

    ? ?經(jīng)過三期的學習:hello world、點燈、遠程控制,小伙伴們是不是收獲滿滿呢?更高階的應用來啦! 本期,我們將學習Air201的核心功能之一 ——定位功能 ?
    的頭像 發(fā)表于 09-14 07:56 ?133次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>201資產(chǎn)<b class='flag-5'>定位</b>模組LuatOS快速入門:GPS/LBS/Wi-Fi<b class='flag-5'>定位</b>,全安排!?

    從邊緣到云端,DTU&amp;amp;amp;RTU打造無縫物聯(lián)網(wǎng)解決方案

    DTU(數(shù)據(jù)傳輸單元)與RTU(遠程終端單元)是連接邊緣與云端的橋梁,是實現(xiàn)數(shù)據(jù)無縫流動的關鍵。 推出的 DTU&amp;RTU成功推動了眾多企業(yè)實現(xiàn)了生產(chǎn)設備的遠程監(jiān)控和智能控制。
    的頭像 發(fā)表于 09-12 15:27 ?693次閱讀
    從邊緣到云端,<b class='flag-5'>合</b><b class='flag-5'>宙</b>DTU&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;RTU打造無縫物聯(lián)網(wǎng)解決方案

    測測萬用表?功耗分析儀Air9000&;amp;amp;Air9000P齊出動

    測測萬用表?功耗分析儀Air9000&;Air9000P齊出動
    的頭像 發(fā)表于 09-11 18:24 ?261次閱讀
    測測萬用表?<b class='flag-5'>合</b><b class='flag-5'>宙</b>功耗分析儀<b class='flag-5'>Air9000&</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>Air</b>9000P齊出動

    Air700ECQ硬件設計手冊——應用接口1

    Air700ECQ硬件設計手冊——應用接口1
    的頭像 發(fā)表于 08-21 18:46 ?188次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700ECQ硬件設計手冊——應用接口1

    Air201定位模組,千萬不要忘記設置這個......

    Air201定位模組,千萬不要忘記設置這個:AT+WIFILOC設置wifi定位優(yōu)先
    的頭像 發(fā)表于 08-09 18:01 ?975次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>201<b class='flag-5'>定位</b>模組,千萬不要忘記設置這個......

    FS201資料(pcb &amp;amp; DEMO &amp;amp; 原理圖)

    電子發(fā)燒友網(wǎng)站提供《FS201資料(pcb &amp; DEMO &amp; 原理圖).zip》資料免費下載
    發(fā)表于 07-16 11:24 ?0次下載

    測測萬用表?Air9000&;amp;amp;Air9000P齊出動@老陸測功耗10

    。之前測鍵盤的文章,就有朋友留言說測一下萬用表。安排!一起來看一下萬用表的功耗表現(xiàn)吧~萬用表功耗測試本次測評工具為功耗分析儀Air9000P、
    的頭像 發(fā)表于 07-16 08:04 ?609次閱讀
    測測萬用表?<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air9000&</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>Air</b>9000P齊出動@老陸測功耗10

    支持通話、大屏的4G-Cat.1新品——Air780EP Air780EPV來了

    打電話嗎?可以支持30萬攝像頭嗎?可以支持大屏應用嗎?可以支持電信短信嗎?可以支持更低功耗嗎?……今天,給出的答案是:滿足更多應用需求,Air780EP&;Air
    的頭像 發(fā)表于 01-26 08:04 ?4578次閱讀
    支持通話、大屏的4G-Cat.1新品——<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP <b class='flag-5'>Air</b>780EPV來了

    全球最小?“花生米”4G模組——Air700EL&;amp;Air700EY全新上市

    “是花生米太大,還是Air700模組太???” 深受工程師朋友喜愛的Air700系列迷你小封裝4G模組,也被稱為“花生米”。 今天,
    的頭像 發(fā)表于 12-25 12:20 ?2217次閱讀
    全球最?。?b class='flag-5'>合</b><b class='flag-5'>宙</b>“花生米”4G模組——<b class='flag-5'>Air700EL&</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>Air</b>700EY全新上市

    海外模組硬核出擊,Air780UA&;amp;amp;Air780UU全新上市

    ,全新推出2款海外模組——Air780UA、Air780UU。1Air780UA/Air78
    的頭像 發(fā)表于 12-14 08:04 ?768次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>海外模組硬核出擊,<b class='flag-5'>Air780UA&</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>Air</b>780UU全新上市

    海外模組硬核出擊,Air780UA&;amp;Air780UU全新上市

    、歐洲地區(qū),全新推出2款海外模組——Air780UA、Air780UU。 1 Air780UA/Ai
    的頭像 發(fā)表于 12-13 16:25 ?1142次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>海外模組硬核出擊,<b class='flag-5'>Air780UA&</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>Air</b>780UU全新上市

    &amp;amp;quot;全球通&amp;amp;quot;模組Air795UG上市,支持4G+2G全球頻段

    區(qū)域網(wǎng)絡設備不完善、頻段繁多,還有許多地區(qū)只有2G等等復雜情況,全新推出Air795UG-NFM系列模組。另外,Air795UG-NFC系列(無藍牙/Wi-Fi版,零售
    的頭像 發(fā)表于 10-31 08:05 ?912次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;quot;全球通&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;quot;模組<b class='flag-5'>Air</b>795UG上市,支持4G+2G全球頻段

    炫酷好玩的像素時鐘&amp;amp;amp;音樂頻譜,ESP32-C3開發(fā)板創(chuàng)意DIY分享

    分享@亞里士不可得大佬的開源佳作——使用ESP32-C3開發(fā)板自制像素時鐘&amp;音樂頻譜。在變幻的時間和跳躍的頻譜中,開啟屬于你的秋日浪漫……像素時鐘&
    的頭像 發(fā)表于 10-21 08:04 ?882次閱讀
    炫酷好玩的像素時鐘&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;音樂頻譜,<b class='flag-5'>合</b><b class='flag-5'>宙</b>ESP32-C3開發(fā)板創(chuàng)意DIY分享

    大佬自制GNSS定位器 授時 基于Air530Z+STM32

    基于Air530Z定位器&amp;授時,使用
    的頭像 發(fā)表于 09-22 12:10 ?3179次閱讀
    大佬<b class='flag-5'>自制</b><b class='flag-5'>GNSS</b><b class='flag-5'>定位器</b> <b class='flag-5'>授時</b><b class='flag-5'>器</b> 基于<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air530Z+STM32</b>