黎偉峰
[摘? ? ? ? ? ?要]? 結(jié)合單片機技術(shù)和無線電協(xié)議的教學(xué),開發(fā)了一個先進碼表產(chǎn)品。描述了一個基于STM32F407的自行車碼表系統(tǒng)。系統(tǒng)通過GPS模塊接收并記錄設(shè)備持有者的移動速度、坐標(biāo)和海拔等。系統(tǒng)中的nRF24ap2芯片模塊支持ANT+協(xié)議,通過ANT+協(xié)議能與使用相同協(xié)議的其他產(chǎn)品配對,接收運動員心率、功率等信息。系統(tǒng)通過LCD顯示屏實時更新信息。
[關(guān)? ? 鍵? ?詞]? 教學(xué);碼表;自行車;STM32;GPS;ANT+
[中圖分類號]? TP368.12? ? ? ? ? ? ?[文獻(xiàn)標(biāo)志碼]? A? ? ? ? ? ? ? ? ? ? ? [文章編號]? 2096-0603(2021)12-0146-02
在中職單片機教學(xué)實踐中,教學(xué)內(nèi)容相對比較抽象,容易讓一般的中職學(xué)生感到乏味,成為影響教學(xué)過程和教學(xué)質(zhì)量的一個難題。開發(fā)一個應(yīng)用單片機技術(shù)的實用電子裝備,把它作為一個教學(xué)項目,讓學(xué)生參與設(shè)計和制造,在這個過程中自覺補充所需的知識和技能,增加學(xué)生的成就感和獲得感。通過與學(xué)生、教研組的反復(fù)研討,項目定為基于單片機技術(shù)的多功能碼表。
一、項目任務(wù)
在自行車運動訓(xùn)練中,運動員通過查看實時速度、心率、功率數(shù)據(jù)執(zhí)行訓(xùn)練計劃,在比賽中通過這些數(shù)據(jù)觀察競技狀態(tài),決定比賽策略,因此,一個能實時接收和顯示數(shù)據(jù)的便攜式系統(tǒng)成為運動員的迫切需求。這個碼表的功能定位如下:整合GPS接收機和ANT接收器的功能,通過單片機處理相關(guān)數(shù)據(jù)并顯示在LCD液晶屏上,支持速度、心率、功率等數(shù)據(jù)的顯示,達(dá)到輔助自行車運動員訓(xùn)練和競賽的要求。
具體需要完成的設(shè)計內(nèi)容包括(總體結(jié)構(gòu)見圖1):
(1)GPS模塊接收衛(wèi)星定位信號,包括經(jīng)緯度、地面速度、地面航向、海拔高度、UTC時間等,通過USART與單片機交互。
(2)ANT+接收器可與附近5米內(nèi)ANT+傳感器配對,接收每分鐘心跳數(shù)、自行車踩踏頻率、踩踏功率等數(shù)據(jù),通過USART與單片機交互。
(3)信息處理單元處理來自GPS和ANT接收器的信息。
(4)LCD屏幕顯示信息,實時更新。
二、項目開發(fā)流程
(一)碼表部件選材
系統(tǒng)由單片機和GPS模塊、ANT接收模塊、LCD屏幕組成。微處理器通過兩個USART接口分別接收來自GPS模塊和ANT接收模塊的信息,通過DMA把接收到的信息傳輸?shù)絻?nèi)存中,由單片機處理器解碼內(nèi)存中的信息,包括速度、可用衛(wèi)星、海拔等GPS信息,以及功率、心率、心率區(qū)間、踏頻、左右平衡等ANT接收器接收到的信息。單片機處理器通過FSMC外設(shè)控制液晶屏幕顯示以上信息。
(1)GPS模塊:選用NEO-6M GPS模組,使用無源陶瓷天線,3.3或5V供電,支持串口和mini-USB接口。
(2)ANT接收模塊:選用nRF24AP2-8CH模組從機模式,最多同時支持8通道,通過串口和微處理器進行交互。
(3)LCD屏幕模組:選用4.5寸電阻觸摸屏幕,使用8080接口與單片機通信。
(4)單片機處理器:系統(tǒng)選用STM32F407ZGT6作為處理器。
(二)單片機電路設(shè)計
使用STM32F407ZGT6芯片,144引腳LQFP封裝,工作電壓1.8~3.6V。此芯片的最小系統(tǒng)由復(fù)位電路、程序下載接口、外部晶振電路、電源供電接口組成。
1.復(fù)位電路
此MCU低電平復(fù)位,復(fù)位電路設(shè)置了上電復(fù)位和按鍵復(fù)位。上電復(fù)位時,連接電源,在上電3ms內(nèi)電容輸出電壓不超過0.5V,系統(tǒng)復(fù)位成功。
2.程序下載接口
STM32的啟動模式可以分為3種:內(nèi)部Flash、系統(tǒng)儲存器(支持通過串口的ISP下載)、程序從內(nèi)嵌的SRAM中啟動。通過改變啟動選擇電路的連接可以選擇不同的啟動方式。該系統(tǒng)可以選擇三種啟動方式,還通過J-link下載器,使用JTAG接口進行程序的下載和調(diào)試。
3.外部晶振電路
電路使用一個25MHz的無源晶振為系統(tǒng)提供外部高速時鐘,時鐘從OSC_IN和OSC_OUT進入,由兩個22pF的諧振電容幫助晶振起振。
4.電源供電接口
系統(tǒng)可以通過12V~6V外部電源供電,或通過5V USB供電。
DC DC電源接口可以接入6~12V的電源,使用RT7272電壓轉(zhuǎn)換成5V電源。外部電源供電時USB供電會斷開,防止灌電流。5V電源為板上所有需要5V的芯片和接口供電。通過LDO轉(zhuǎn)換,得到3.3V電源,為工作電壓為3.3V的芯片供電。
(三)傳感模塊電路設(shè)計
ANT接收模塊選用nRF24AP2芯片,其中PORTSEL引腳選擇同步或異步工作模式,此處引腳接地,選擇異步模式。BR1、BR2、BR3三個引腳為波特率選擇引腳,此處波特率選擇為9600。異步接口RXD、TXD、SUSPEND、SLEEP、RTS五個引腳與MCU相連,模塊中引出這五個引腳以及電源、地和復(fù)位引腳。
GPS模塊選用NEO-6M芯片,模塊中帶有EEPROM用于記錄GPS配置參數(shù),掉電復(fù)位后芯片從EEPROM上重新加載配置信息。模塊上有USB轉(zhuǎn)串口電路,可以直接向電腦發(fā)送信息。模塊通過RXD和TXD與單片機通過串口通信。
三、驅(qū)動軟件設(shè)計與系統(tǒng)測試
系統(tǒng)的GPS模塊、ANT模塊和LCD屏幕的軟件驅(qū)動設(shè)計。具體內(nèi)容有GPS模塊的數(shù)據(jù)接收、NMEA報文的消息結(jié)構(gòu)、數(shù)據(jù)解碼的方法;ANT通訊協(xié)議的說明、ANT+心率和功率消息結(jié)構(gòu)的說明、ANT模塊的數(shù)據(jù)接收和處理;LCD控制器8080接口說明、MCU使用FSMC模擬8080時序的方法、LCD初始化和顯示字符的程序說明。
GPS模塊需要在室外或無遮擋的地方進行測試,可以通過串口傳輸?shù)缴衔粰C進行測試。首先把GPS模塊和電腦通過USB轉(zhuǎn)串口進行直接連接,用u-center上位機進行測試。u-center是u-blox公司開發(fā)的上位機,可以方便觀察衛(wèi)星信號強度,還可以在上面配置GPS模塊的寄存器調(diào)整性能。
初次啟動時,把GPS模塊放到信號良好的露天環(huán)境下,大約等待30s左右,GPS模塊開始接收到有效數(shù)據(jù)。先接收到UTC時間,再接收其他數(shù)據(jù),根據(jù)使用的衛(wèi)星數(shù)不同可以接收到2D或3D定位數(shù)據(jù)。若GPS模塊使用差分定位,則是使用了SBAS星基增強系統(tǒng),準(zhǔn)確度會提高到2m左右。
如圖2所示,可以見到GPS模塊接收到的數(shù)據(jù)從左到右分別為速度、可用衛(wèi)星和可視衛(wèi)星信號強度、衛(wèi)星位置、UTC時間、航向角、指南針以及一個綜合的數(shù)據(jù)表格,下半部分是使用衛(wèi)星(綠色)信號強度和衛(wèi)星名稱以及可視衛(wèi)星(藍(lán)色)信號強度和衛(wèi)星名稱??梢曅l(wèi)星有11顆,模塊自動選取信號較強的四顆衛(wèi)星接收GPS信息。
把GPS模塊與單片機連接,經(jīng)過MCU的解碼,通過串口再把解碼后信息發(fā)送到上位機進行觀察測試。
四、項目成果及應(yīng)用效果
(一)項目成果使用性能優(yōu)異
在實際的開發(fā)過程中,我和學(xué)生還對部分組件進行了升級優(yōu)化,收到了非常好的效果,如選用STM32F407作為MCU,考慮到其具有豐富的接口資源和強大的浮點運算能力,能支持更多的數(shù)據(jù)運算;選用帶SBAS的GPS模塊實現(xiàn)定位和測速功能,在室外或信號良好的條件下可以接收時間、定位、海拔、速度等數(shù)據(jù),只需數(shù)十秒的啟動時間,水平誤差值在2m左右。通過ANT模塊可以接收10米以內(nèi)存在的ANT+協(xié)議設(shè)備的心率和功率數(shù)據(jù),在實際操作中連接時要附近沒有其他同類主機的情況下操作,但連接成功后只要不斷開連接,則可以一直接收同一個主機發(fā)送的信息。LCD屏幕可以做到清晰的同時顯示10組數(shù)據(jù),騎行中操作碼表是十分不方便的,同時顯示多組數(shù)據(jù)可以提高騎行安全。自行車運動一般在室外進行,GPS會有良好的信號。心率計會帶在運動員身上,功率計會在自行車上,設(shè)備離碼表距離一般為1~2m,不會超出ANT協(xié)議的通信范圍,因此,本項目的設(shè)計在大多數(shù)的應(yīng)用場景中能實現(xiàn)自行車碼表的功能。
(二)項目成果教學(xué)效果非常好
用看得到摸得著的實際項目引導(dǎo)學(xué)生學(xué)習(xí),發(fā)揮了學(xué)生學(xué)習(xí)的主觀能動作用,受到了廣大學(xué)生的歡迎。通過多功能碼表設(shè)計,學(xué)生的專業(yè)學(xué)習(xí)興趣和自信心都得到了提升,為學(xué)生提供了展示才能的平臺。
教師在無線電協(xié)議、電路設(shè)計、測試和儀器使用、設(shè)計方案討論等多方面技術(shù)得到鍛煉,實現(xiàn)以研促教,大大提升了教師的綜合能力。以多功能碼表為載體,單片機、電路設(shè)計等專業(yè)教學(xué)工作開展得有聲有色,促進了專業(yè)建設(shè)。
參考文獻(xiàn):
[1]朱成東,林華,董鳳飛,等.自行車運動員多訓(xùn)練時期心率變異性變化特點研究[J].遼寧師范大學(xué)學(xué)報(自然科學(xué)版),2017,40(4):563-570.
[2]王江斌.自行車運動員耐力訓(xùn)練方法研究[J].黑龍江科學(xué),2017,8(11):126-127.
[3]張威,王培勇,傅蘭英,等.運動心率采集技術(shù)的發(fā)展[J].傳感器與微系統(tǒng),2015,34(12):1-4.
[4]李良,王德生,王小康,等.基于STM32單片機FSMC接口驅(qū)動LCD的配置與分析[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2018(4):72-73.
編輯 鄭曉燕