基于離線地圖的智能導航頭盔設計*
*基金項目:遼寧省大學生創新項目,項目編號:X202210143017
本文引用地址:http://www.j9360.com/article/202303/444889.htm近年來,隨著信息業發展迅速,外賣行業的崛起重塑了人們的日常生活,買快餐也成了不愿做飯的年輕人與公司職員的最佳選擇,這也促進了各地經濟發展,并解決了就業問題。在外賣騎手數量持續增長的同時,外賣兄弟已成為交通事故發生率較高的群體。在近幾年,中國一些地方發生了重大交通事故,其中一些是因外賣兄弟不遵守交通規則而喪失性命。
外賣兄弟每天在路上騎電動車,配送外賣。路面車流復雜,尤其在十字路口以及幽僻小路這種復雜或缺乏標識的路口,極易發生交通事故。這些事故的發生可能是因為駕駛員安全意識薄弱,未按照交通規則行駛;另一方面可能是路口復雜,需要手機進行導航,而長時間關注于手機地圖不注意路況,就會導致安全事故的發生。而發生事故不及時救援很容易出現生命危險。
由此可見,一個可以進行地圖顯示的頭盔格外重要,尤其是在外賣行業騎手快速增長、路面車輛愈加復雜的大背景下。這不僅有利于保護人們的生命安全,而且可改善騎手的駕駛舒適感,從而使得外賣行業能夠持續健康地發展,使得先進的科技成果更好地融入人們生活中。
1 系統總體方案設計
本設計是由ESP32 單片機系統、溫度傳感器、心率測量模塊、離線語音識別、SD 卡讀取、北斗定位模塊以及彩色液晶屏顯示模塊集于一體的智能導航頭盔。使騎行者在騎行過程中獲得實時地圖支持、危險報警與內部保暖功能。其總體設計圖如圖1 所示。
圖1 總體設計圖
2 硬件電路設計
2.1 主控與電源設計
本設計使用樂鑫科技開發的ESP32 單片機作為主控,其工作頻率高達240 MHz,可編程GPIO 豐富、配備4 個SPI、2 個IIC 接口,以及其他的通信協議。性能穩定,可在-40~125 ℃ 工作,并且專為移動設備開發了低功耗性能。
電源采用Li-Po 3s 電池進行12 V 的電壓輸入,采用MP2315 芯片作為開關電壓調節器,將電池的12 V分別轉為5 V,而后使用AMS1117 芯片使5 V 轉化為3.3 V,從而獲得12 V 轉5 V、3.3 V 兩路輸出的電源,并為單片機和傳感器進行供電。
電源模塊的設計,通過查閱MP2315 芯片數據手冊得到相關使用說明,使用式(1)電感計算公式、式(2)輸入電容計算公式、式(3)輸出電容計算公式,分析出電感應在3.24 μH 到6.48 μH,飽和電流大于4.5 A,輸入電容越大越好,但不必過大;輸出電容越大波紋越小,但過大會導致過流保護。其中Fsw 開關頻率在計算過程中占主要參數,頻率越高其輸出紋波越小,但是過高會導致開關損耗增加,可以選擇在(500~1 500)K。
本設計選用4.7 μH 電感、輸入輸出電容都選用22 μF 以實現輸入電壓從12 V 轉為5 V。電源模塊原理圖如圖2 所示。
圖2 電源模塊原理圖
2.2 傳感器數據采集設計
數據采集模塊均采用IIC 通信模式,利用兩根雙向通信線,數據線SDA,時鐘線IIC。使用ESP32 作為主機,連接多個外圍設備為從機。通過不同從機分配的地址不同,進而獲得各個傳感器的正確數據,從而實現一對IIC 接口連接多個傳感器設備。減少了IO 口的占用,使運行效率更高。
使用的傳感器有MLX90614 無接觸式溫度傳感器,集成了紅外熱電堆檢測器、信號處理芯片MLX90302 和強大的數字信號處理芯片,能夠準確地獲取出環境溫度和物體溫度。MPU6050 六軸加速度傳感器,實時獲取加速度,并加以傳輸;MAX30102 心率測量模塊采集用戶的心率以及血氧。其連接方式如圖3所示。
圖3 傳感器采集模塊原理圖
2.3 地圖顯示模塊
地圖顯示模塊由北斗+GPS 雙模模塊、SD 卡讀取模塊以及ST7789 彩色顯示屏構成。
北斗+GPS 模塊采用ATGM336H 芯片,其協議是NMEA-0183。有著定位性能高、集成度高、功耗低的特點。ESP32 單片機通過串口獲取信息的方式接收北斗模塊串口發送的數據,并通過&GNRMC 語句進行格式判定,獲取到經緯度信息。通過獲取到的經緯度信息選擇SD 卡存儲的地圖,最后通過ST7789 彩色顯示屏在頭盔內部顯示出來,以便在騎行時,了解騎行路線以及實時路況。地圖顯示模塊原理如圖4 所示。
圖4 地圖顯示模塊原理
2.4 離線語音模塊
離線語音模塊是以SU-03T 芯片為基礎的聲控模塊,是成本較低、功耗低的離線語音識別模組,兼備多種功能:UART、GPIO、ADC、PWM、I2C 等功能。其最強大的地方在于可以在其平臺上自定義詞條,進行自定義語音設置,可以通過連接咪頭來收取聲音信息并且可以連接喇叭進行播報。其平臺設置如圖5所示。
在智能頭盔中,其作用不可忽視,通過語音交互使整個設備成為一體,通過語音模塊自定義詞條的功能,記錄使用過程中可發生的一切情況的語音,包括提高地圖等級、降低地圖等級、增大溫度、減小溫度。在騎行過程中,使注意力專注于騎行,避免了使用者過多手的動作,使騎手的雙手負擔得到減輕。
圖5 智能公元離線語音模塊設計圖
3 系統程序設計
系統程序設計保證功能的實現,打開設備后系統開始進行初始化,初始化結束后啟用多線程模式,對服務功能與報警功能進行隔離,使識別更加迅速。在進行服務功能時,為用戶提供實時地圖顯示服務、溫度調控服務、語音交互服務。在報警功能中,實時對傳感器的各種狀態進行監測,對脈搏傳感器數據、加速度數據進行判斷,若在發生有脈搏且加速度超過閾值時,而后并未人為取消,將會發出語音報警,向路人尋求救援。程序設計流程圖如圖6 所示。
圖6 程序設計流程
3.1 地圖獲取程序設計
首先利用網絡開源項目地圖下載器對地圖瓦片下載,再根據自己的喜好下載地圖等級,等級越高地圖越詳細。下載完成后使用TilesConverter ForLVGL.exe進行地圖格式轉換,變為RGB二進制文件。將SD 卡的文件格式進行修改變為FAT32 格式,再將下載并轉換完的MAP文件放入SD卡的根目錄。
在單片機的程序中,獲取GPS 位置坐標,轉化成地圖坐標,并根據用戶選擇的縮放比例獲取需要的瓦片圖片的個數和圖片在SD卡上的路徑地址,通過LVGL庫采用外部儲存模式更新圖片,實現對地圖的實時更新。地圖獲取流程圖如圖7所示,GUI 圖像設計如圖8。
圖7 地圖獲取流程
圖8 GUI圖像設計
3.2 溫控PID算法程序設計
目前的自動控制技術基本上是對于反饋的體現。反饋理論的3 個組成部分:測量、比較、執行。對溫度進行測量,同時與設定的期望值進行對比,并用誤差修正的方法調節控制系統的輸出。
通過MLX90614 溫度傳感器模塊發送的數據進行格式化解析,從而得出頭盔內部的溫度,并在手機端輸入自己需要的溫度,而后與加熱片組統一合作,將比例、積分與微分的函數關系運算出的結果輸出以控制溫度。PID溫控流程如圖9。
對于PID 的調節,PID 3個參數對于系統的影響是相互耦合的,沒有哪個性能只受1個參數的影響。并且PID的3個參數的影響各有側重點,其中Kp 用于縮短系統上升時間;Ki用于消除穩態誤差;Kd用于降低過沖和動態偏差。對于這個簡單的控制系統來說,只需要對比例項P、積分項I 的調節即可,故微分項D 取0。在調整過程中,先進行比例項相對合適的值,再去尋找積分,最后是微分。當曲線波動頻繁時,增加比例系數;曲線圍繞一個大彎浮動,降低比例系數,將Kp取到合適的值后,進行對Ki的調節,來減小靜差,當收斂速度過慢,需要增大Ki值;當收斂速度過快,將產生超調,這時需要降低Ki值,使系統穩定。
圖9 PID溫控流程
4 結束語
當今時代科技迅速發展,科技終將服務百姓,提高百姓生活的舒適度以及日常生活的安全。為日常出行提供便利。外賣也成為尋常百姓生活中不可分割的一部分,智能導航頭盔正可以應用在外賣小哥的身上,智能頭盔以多線程的設計,不僅可以為騎手的騎行體驗進行改善,保證騎手不受嚴寒的影響,而且可以根據事故發生采取舉措,盡可能減小人受到的傷害以及在遭受生命危險時不能及時處理的風險。本文設計的智能導航頭盔也為交通安全貢獻一份力量,為人們出行更加安全做出一份保障。
參考文獻:
[1] 郇雨龍,陳慧娟,田寶琦,等.基于STM32單片機的騎行者智能頭盔系統設計[J].無線互聯科技,2021,18(12):47-49.
[2] 莊初鵬,龍諾春,楊建平,等.基于STM32的智能駕駛頭盔系統設計與實現[J].電子制作,2022,30(11):31-34.
[3] FASTSHIFT.X-TRACK[EB/OL].https://github.com/FASTSHIFT/X-TRACK.
[4] 王曉亞.基于外賣騎手行為分析的智能頭盔設計[D].秦皇島:燕山大學,2018.
[5] 陳楚婷,黎靜雯,梁仲良,等.基于Arduino的碰撞報警與監測智能頭盔[J].科技創新與應用,2021(1):53-55.
[6] 臧春華, 張帥杰, 蘇寶玉.流程工業最優PID參數整定[J].工業儀表與自動化裝置,2021(6):95-100.
[7] 尹文博,李丹,鐘昆,等.基于ESP32的家庭智能語音控制系統[ J ] .電腦知識與技術,2022,18(21):67-69,81.
(本文來源于《電子產品世界》雜志2023年3月期)
評論