黎偉峰


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