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