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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

大佬自制GNSS定位器 授時(shí)器 基于合宙Air530Z+STM32

合宙LuatOS ? 來(lái)源:@W_Linus ? 作者:@W_Linus ? 2023-09-22 12:10 ? 次閱讀

不少新朋友來(lái)問(wèn),有沒(méi)有好玩的GNSS定位應(yīng)用推薦?那么不妨基于小巧易用的合宙Air530Z模組,來(lái)簡(jiǎn)單做一個(gè)業(yè)余無(wú)線電相關(guān)的GNSS小玩具。

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

項(xiàng)目主要準(zhǔn)備工作

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

- 主要物料 -

01. GNSS模塊:合宙Air530Z

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

aaab5f2c-58fd-11ee-939d-92fbcf53809c.png

02. 單片機(jī):STM32G030F6P6

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

03. 屏幕:0.96寸 ST7735 LCD

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

ab68e6c8-58fd-11ee-939d-92fbcf53809c.png

04. 其他元器件參見(jiàn)文末原工程鏈接BOM表

- 硬件設(shè)計(jì) -

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

abf7f41c-58fd-11ee-939d-92fbcf53809c.png

ac42b54c-58fd-11ee-939d-92fbcf53809c.png

- 程序開(kāi)發(fā) -

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

ac91aefe-58fd-11ee-939d-92fbcf53809c.jpg

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

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

acc9dbb2-58fd-11ee-939d-92fbcf53809c.jpg

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

- 硬件制作 -

既然程序準(zhǔn)備OK了,那么就等待PCB到貨進(jìn)行焊接制作了。全貼片方案果然還是使用加熱臺(tái)來(lái)進(jìn)行焊接最安逸了 :

ad05ca00-58fd-11ee-939d-92fbcf53809c.png

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

ada228b4-58fd-11ee-939d-92fbcf53809c.png

2

主要功能及開(kāi)源交流

合宙Air530Z模塊在使用有源天線以及在存在后備電源供電的情況下時(shí),熱啟動(dòng)定位非常迅速,幾乎可以說(shuō)是秒定位。不過(guò)當(dāng)模塊內(nèi)存儲(chǔ)的歷書(shū)過(guò)期后,使用冷啟動(dòng)就要稍微慢一些了。

- 主要功能 -

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

01.啟動(dòng)界面

上電時(shí),我們會(huì)看到一個(gè)啟動(dòng)界面(飛機(jī)上未錄制,此處使用之前的圖片素材)。

ae740c4e-58fd-11ee-939d-92fbcf53809c.png

02.詳細(xì)信息首界面

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

af24483e-58fd-11ee-939d-92fbcf53809c.gif

03.日期與時(shí)間專(zhuān)題顯示界面

通過(guò)PCB頂部的右側(cè)按鈕可以進(jìn)行翻頁(yè),進(jìn)入日期與時(shí)間的專(zhuān)題顯示。此時(shí)還可以通過(guò)頂部的左側(cè)按鈕,切換UTC時(shí)間與CST(即北京時(shí)間)。

afd0616e-58fd-11ee-939d-92fbcf53809c.gif

04.速度專(zhuān)題顯示界面

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

b0cfc956-58fd-11ee-939d-92fbcf53809c.png

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

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

b1954492-58fd-11ee-939d-92fbcf53809c.png

06.報(bào)文信息顯示界面

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

b254b7a0-58fd-11ee-939d-92fbcf53809c.gif

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

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

- 開(kāi)源交流 -

同時(shí)我也正在學(xué)習(xí)SolidWorks軟件的使用,想給這個(gè)小玩具做一個(gè)3D打印的外殼。目前本項(xiàng)目已開(kāi)源,歡迎感興趣的朋友一起來(lái)交流。

特別感謝@W_Linus大佬
期待更多精彩作品

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

    關(guān)注

    146

    文章

    17475

    瀏覽量

    354614
  • STM32
    +關(guān)注

    關(guān)注

    2277

    文章

    10952

    瀏覽量

    359244
  • 定位器
    +關(guān)注

    關(guān)注

    2

    文章

    174

    瀏覽量

    17800
  • GNSS
    +關(guān)注

    關(guān)注

    9

    文章

    813

    瀏覽量

    48402
  • 合宙通信
    +關(guān)注

    關(guān)注

    0

    文章

    148

    瀏覽量

    1900

原文標(biāo)題:開(kāi)源 | 合宙Air530Z+STM32,自制GNSS定位器&授時(shí)器

文章出處:【微信號(hào):HelloLuatOS,微信公眾號(hào):合宙LuatOS】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Air201資產(chǎn)定位模組LuatOS基礎(chǔ)課程:FOTA遠(yuǎn)程升級(jí),一鍵搞定!

    201的實(shí)用示例**——FOTA遠(yuǎn)程升級(jí)** ** FOTA遠(yuǎn)程升級(jí)** [ ] Air201資產(chǎn)定位模組 ——是一個(gè)集成超低功耗4G通信、語(yǔ)音通話(huà)、超低功耗
    的頭像 發(fā)表于 09-18 18:07 ?548次閱讀
    <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基礎(chǔ)課程:FOTA遠(yuǎn)程升級(jí),一鍵搞定!

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

    ? 經(jīng)過(guò)前面5期的課程:從hello world初體驗(yàn),到點(diǎn)燈、遠(yuǎn)程控制,再到定位,擴(kuò)展功能,是不是有點(diǎn)上癮了?Air201,如同我們一路升級(jí)打怪的得力法器,讓開(kāi)發(fā)愈發(fā)得心應(yīng)手。
    的頭像 發(fā)表于 09-18 07:06 ?623次閱讀
    <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控制解決關(guān)機(jī)難問(wèn)題

    Air201資產(chǎn)定位模組LuatOS快速入門(mén)(五):玩轉(zhuǎn)擴(kuò)展庫(kù),溫濕度傳感篇!

    、I2C、UART等多種接口全部支持。 本期,我們將學(xué)習(xí)Air201的擴(kuò)展應(yīng)用之一 ——I2C驅(qū)動(dòng)AHT10溫濕度傳感 Air201驅(qū)
    的頭像 發(fā)表于 09-18 07:05 ?501次閱讀
    <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快速入門(mén)(五):玩轉(zhuǎn)擴(kuò)展庫(kù),溫濕度傳感<b class='flag-5'>器</b>篇!

    Air201資產(chǎn)定位模組LuatOS課程:點(diǎn)燈儀式

    定位模組——是一個(gè)集成超低功耗4G通信、語(yǔ)音通話(huà)、超低功耗定位、計(jì)步、震動(dòng)、Type-C、充電、放音、錄音等功能的超小PCBA。 內(nèi)部集成高效、簡(jiǎn)單、可靠的LuatOS語(yǔ)言,旨在幫助客戶(hù)降低開(kāi)發(fā)難度,降低研發(fā)成本,以及打造超小超低功耗的精品產(chǎn)品。
    的頭像 發(fā)表于 09-14 16:24 ?449次閱讀
    <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課程:點(diǎn)燈儀式

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

    ? ?經(jīng)過(guò)三期的學(xué)習(xí):hello world、點(diǎn)燈、遠(yuǎn)程控制,小伙伴們是不是收獲滿(mǎn)滿(mǎn)呢?更高階的應(yīng)用來(lái)啦! 本期,我們將學(xué)習(xí)Air201的核心功能之一 ——定位功能 ?
    的頭像 發(fā)表于 09-14 07:56 ?639次閱讀
    <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快速入門(mén):GPS/LBS/Wi-Fi<b class='flag-5'>定位</b>,全安排!?

    資產(chǎn)定位 | Air201模組LuatOS快速入門(mén)01-hello world

    Air201模組,功耗低,品質(zhì)穩(wěn)定,購(gòu)買(mǎi)樣品也方便,且資料全開(kāi)放。
    的頭像 發(fā)表于 09-13 15:21 ?588次閱讀
    資產(chǎn)<b class='flag-5'>定位</b> | <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>201模組LuatOS快速入門(mén)01-hello world

    玩轉(zhuǎn)擴(kuò)展庫(kù),溫濕度傳感篇!—Air201資產(chǎn)定位模組LuatOS快速入門(mén)05

    隨著LuatOS快速入門(mén)系列教程的推出,小伙伴們學(xué)習(xí)熱情高漲。 Air201不僅支持三種定位方式,還具有豐富的擴(kuò)展功能,通過(guò)外擴(kuò)BTB鏈接方案,最多可支持21個(gè)IO接口:SPI、I
    的頭像 發(fā)表于 09-12 12:11 ?558次閱讀
    玩轉(zhuǎn)擴(kuò)展庫(kù),溫濕度傳感<b class='flag-5'>器</b>篇!—<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快速入門(mén)05

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

    經(jīng)歷了hello world、點(diǎn)燈、遠(yuǎn)程控制三期基礎(chǔ)教程,小伙伴們是不是收獲滿(mǎn)滿(mǎn),期待更高階的應(yīng)用呢? 本期,我們將學(xué)習(xí)Air201的核心功能之一 ——定位功能! 文末閱讀原文,下
    的頭像 發(fā)表于 09-12 12:04 ?1544次閱讀
    GPS/LBS/Wi-Fi<b class='flag-5'>定位</b>,全安排!—<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快速入門(mén)04

    Air780E硬件設(shè)計(jì)手冊(cè)02

    低功耗4G模組Air780E硬件設(shè)計(jì)介紹
    的頭像 發(fā)表于 09-06 12:02 ?695次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780E硬件設(shè)計(jì)手冊(cè)02

    Air700EAQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口2

    Air700EAQ硬件設(shè)計(jì)的詳細(xì)介紹
    的頭像 發(fā)表于 08-27 14:23 ?564次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700EAQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口2

    Air700EAQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口1

    本文主要介紹Air700EAQ的硬件設(shè)計(jì)中的應(yīng)用接口部分。
    的頭像 發(fā)表于 08-26 17:13 ?709次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700EAQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口1

    Air700ECQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口3

    Air700ECQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口部分介紹
    的頭像 發(fā)表于 08-22 18:34 ?600次閱讀
    <b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>700ECQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口3

    Air700ECQ硬件設(shè)計(jì)手冊(cè)——應(yīng)用接口1

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

    Air201定位模組,千萬(wàn)不要忘記設(shè)置這個(gè)......

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

    MQTT應(yīng)用看這篇!Air780EP_LuatOS_MQTT應(yīng)用指南

    Air780EP 是的低功耗4G模組之一,支持LuatOS的腳本二次開(kāi)發(fā),即使是不太懂技術(shù)的老板,也能輕松使用 Air780EP開(kāi)發(fā)產(chǎn)品。 本文應(yīng)各位
    的頭像 發(fā)表于 08-08 17:13 ?2305次閱讀
    MQTT應(yīng)用看這篇!<b class='flag-5'>合</b><b class='flag-5'>宙</b><b class='flag-5'>Air</b>780EP_LuatOS_MQTT應(yīng)用指南