西北民族大學(xué)電氣工程學(xué)院 李京昊 鐵一凡 孫浩瑜 胡嘉慧 呂鑫洋
本項(xiàng)目是對(duì)傳統(tǒng)只有推拉功能的旅行箱存在的不方便以及安全問(wèn)題進(jìn)行改善,自跟隨旅行箱可實(shí)現(xiàn)自動(dòng)跟隨、短距離報(bào)警、指紋開(kāi)鎖,實(shí)時(shí)測(cè)重等基本功能,極大程度方便了人們的使用,為人們解決了旅途中關(guān)于旅行箱的煩惱。隨著嵌入式控制技術(shù)和電子信息技術(shù)的發(fā)展,自動(dòng)控制的機(jī)器已經(jīng)滲透到了生活中的各個(gè)方面。近年來(lái)已經(jīng)出現(xiàn)了具有定位功能的智能旅行箱,這種旅行箱結(jié)合相對(duì)應(yīng)的軟件可以提供基于位置服務(wù)的防盜、丟失尋找等功能,但這種智能旅行箱功能較為單一。而自動(dòng)跟隨、智能防丟的旅行箱在市場(chǎng)上很少,且價(jià)格高昂、局限性多?;趥鹘y(tǒng)的只有推拉功能的旅行箱,本文設(shè)計(jì)的自跟隨旅行箱可以實(shí)現(xiàn)自動(dòng)跟隨、短距離報(bào)警、定位追尋、指紋開(kāi)鎖、實(shí)時(shí)測(cè)重、箱體可拆卸等基本功能。
在整個(gè)系統(tǒng)的控制上,使用處理速度更強(qiáng)、硬件資源更豐富的Cortex-M4內(nèi)核的STM32系列芯片。Cortex-M4內(nèi)核的芯片使用ARM架構(gòu),該架構(gòu)設(shè)計(jì)的合理性使微控制器的功能非常強(qiáng)大同時(shí)還可以滿足功耗低的要求,在供電上STM32微控制器只需要5V電源便可以進(jìn)行驅(qū)動(dòng),使用非常方便。在程序編寫上,STM32可以使用我們最熟悉的C語(yǔ)言,對(duì)于本項(xiàng)目來(lái)說(shuō)Cortex-M4內(nèi)核的STM32系列芯片是最好的選擇。在本項(xiàng)目中使用到的功能有I/O口復(fù)用、IIC通訊、PWM波的輸出、串口通訊、定時(shí)器中斷、外部中斷、定時(shí)器等,這些功能的正確使用必須基于對(duì)于STM32系列微控制器的熟練掌握。
本項(xiàng)目的主要目的是解決旅行箱使用者在旅途中碰到的各種問(wèn)題。例如:旅行者推拉過(guò)程中由于旅行箱太重導(dǎo)致的問(wèn)題、旅行者和旅行箱的距離過(guò)遠(yuǎn)存在的安全問(wèn)題、旅行者不幸丟失行李箱后難尋回等問(wèn)題,而自跟隨智能旅行箱可以結(jié)合各種模塊,完成在不同場(chǎng)景下解決旅行者出行過(guò)程中的各種問(wèn)題。
本系統(tǒng)以自跟隨智能旅行箱為研究對(duì)象,該自跟隨智能旅行箱使用了以STM32 Cortex-M4為內(nèi)核的主控芯片,其中包含電機(jī)驅(qū)動(dòng)模塊、短距離測(cè)距模塊、GPS定位模塊、指紋識(shí)別模塊、語(yǔ)音播放模塊、稱重模塊等模塊構(gòu)成了一個(gè)完整的自跟隨智能旅行箱系統(tǒng),具體硬件系統(tǒng)設(shè)計(jì)流程圖如圖1所示。
本系統(tǒng)為了實(shí)現(xiàn)自跟隨系統(tǒng)以及測(cè)重系統(tǒng)采用箱體可拆卸的模式,即分別制作旅行箱底座和箱體。本系統(tǒng)將不同模塊分別安裝在底座和箱體上來(lái)共同完成自跟隨智能旅行箱的不同的基礎(chǔ)功能。該系統(tǒng)中最重要功能是實(shí)現(xiàn)自跟隨系統(tǒng),本項(xiàng)目通過(guò)使用短距離測(cè)距模塊來(lái)實(shí)現(xiàn)該功能。在自跟隨智能旅行箱安裝測(cè)距模塊,用芯片處理測(cè)距模塊返回的信息,得到此時(shí)旅行者相對(duì)旅行箱的相對(duì)位置,根據(jù)距離角度在結(jié)合算法控制電機(jī)驅(qū)動(dòng),調(diào)節(jié)PWM波的占空比來(lái)控制輪子速度來(lái)實(shí)現(xiàn)自跟隨的功能。基于安全方面,通過(guò)指紋模塊、短距離測(cè)距模塊和語(yǔ)音播放模塊實(shí)現(xiàn)一級(jí)安全系統(tǒng),只有正確的指紋才可以打開(kāi)旅行箱,并且旅行者和旅行箱之間的距離一旦超出規(guī)定范圍便會(huì)自動(dòng)警報(bào)提醒旅行者。二級(jí)安全系統(tǒng)由GPS定位模塊實(shí)現(xiàn),如果發(fā)生旅行箱不幸丟失的情況,其便對(duì)旅行箱精準(zhǔn)定位,利用短信獲取旅行箱的當(dāng)前位置,進(jìn)行尋回。通過(guò)一級(jí)安全系統(tǒng)和二級(jí)安全系統(tǒng)徹底解決了旅行者在外擔(dān)心自己財(cái)產(chǎn)問(wèn)題,同時(shí)旅行者也可隨時(shí)了解旅行箱的重量,判斷是否超出飛機(jī)等運(yùn)輸設(shè)備的規(guī)定范圍。

圖1 硬件系統(tǒng)設(shè)計(jì)圖
本項(xiàng)目設(shè)計(jì)中由于使用了多個(gè)模塊,對(duì)于不同模塊使用了不用的通訊協(xié)議,所以在電路設(shè)計(jì)上必須根據(jù)不同的I/O口所具有的硬件資源將不同的模塊與合適的I/O口連接到一起,以達(dá)到硬件資源利用最大化。
由于不同模塊的工作電壓不同,電機(jī)的驅(qū)動(dòng)需要的電壓最高12V左右,所以使用12V的電池作為總的電源輸入并直接用電源電壓對(duì)電機(jī)驅(qū)動(dòng)供電;對(duì)STM32F4微控制器的供電需要5V的電壓,所以需要在電路中加入穩(wěn)壓模塊并引出5V的引腳口,分別對(duì)不同模塊進(jìn)行供電。
本設(shè)計(jì)中使用的編程語(yǔ)言是大家都比較熟悉C語(yǔ)言,使用的編譯器為Keil 5。Keil編譯器完美的支持使用C語(yǔ)言對(duì)STM32系列芯片的驅(qū)動(dòng),該編譯器功能非常強(qiáng)大,支持在線仿真功能,可以通過(guò)觀察窗看到每一個(gè)寄存器的值,可以更加直觀的看到程序設(shè)計(jì)時(shí)出現(xiàn)的錯(cuò)誤并及時(shí)改正,對(duì)于程序的調(diào)試非常有幫助。程序編寫時(shí)使用模塊化編程,把不同模塊的初始化及驅(qū)動(dòng)過(guò)程封裝在不同的.c文件中,在main.c文件中只實(shí)現(xiàn)調(diào)用的過(guò)程,不同文件中函數(shù)的調(diào)用通過(guò)對(duì)相應(yīng).h文件的引用來(lái)實(shí)現(xiàn)。模塊化編程最大的好處就是程序的可閱讀閱比較強(qiáng),編程思路體現(xiàn)得更加清晰,對(duì)于程序的分模塊調(diào)試以及程序修改也非常方便。其中使用的短距離測(cè)距模塊可實(shí)現(xiàn)自動(dòng)跟隨,自跟隨系統(tǒng)采用兩個(gè)短距離測(cè)距模塊獲得使用者的當(dāng)前具體位置。如果只采用單一的測(cè)距模塊,芯片得到的數(shù)據(jù)可能存在誤差,使用此類數(shù)據(jù)必然會(huì)使系統(tǒng)的精度和實(shí)時(shí)性降低,因此利用同類測(cè)距模塊分別安裝在底座的兩側(cè),獲取兩側(cè)分別到使用者的實(shí)時(shí)距離,根據(jù)三個(gè)已知長(zhǎng)度L1、L2、L3,模擬出一個(gè)三角形,再根據(jù)三角函數(shù)公式得到此時(shí)旅行箱與旅行者之間的實(shí)時(shí)距離L和實(shí)時(shí)角度α的值,然后利用PID算法配合電機(jī)驅(qū)動(dòng)模塊實(shí)現(xiàn)自跟隨系統(tǒng)。程序設(shè)計(jì)流程圖如圖2所示。

圖2 程序設(shè)計(jì)流程圖
本項(xiàng)目實(shí)現(xiàn)了在模擬情景中自動(dòng)跟隨旅行者的功能,但是目前只限于平地環(huán)境,在斜坡或者是樓梯情景中功能仍有待改善。在安全系統(tǒng)方面,功能已全部完成,旅行者可以錄入、刪除指紋庫(kù)內(nèi)指紋,并且可以通過(guò)手機(jī)短信得到旅行箱的實(shí)時(shí)位置,通過(guò)現(xiàn)有的地圖查找軟件獲取具體位置路線,且當(dāng)旅行箱和旅行者之間距離差距過(guò)大,旅行箱會(huì)持續(xù)報(bào)警提醒旅行者。
總結(jié):本設(shè)計(jì)硬件結(jié)構(gòu)設(shè)計(jì)較為合理,具有較強(qiáng)的環(huán)境適應(yīng)力和穩(wěn)定性。相對(duì)于常見(jiàn)的傳統(tǒng)旅行箱,其具有移動(dòng)速度快、使用更簡(jiǎn)單、節(jié)省旅行者體力、安全系數(shù)高等特點(diǎn),對(duì)傳統(tǒng)的只能推拉的行李箱存在的不便捷之處進(jìn)行改良,實(shí)現(xiàn)了旅行箱自動(dòng)跟隨。使用Cortex-M4內(nèi)核ARM架構(gòu)的STM32F4微控制器,具有處理速度更快、功能更強(qiáng)大、功耗更低等特性。本項(xiàng)目設(shè)計(jì)的旅行箱應(yīng)用方便,實(shí)用性非常強(qiáng),對(duì)于安全系統(tǒng)可以通過(guò)APP來(lái)獲取旅行箱的具體位置,以便應(yīng)對(duì)各種情況,可有效地保護(hù)旅行者的重要物品。測(cè)重系統(tǒng)極大程度的解決了旅行者放入物品的重量超出飛機(jī)等運(yùn)輸設(shè)備規(guī)定的范圍的情況,當(dāng)超出范圍后具有報(bào)警功能;同時(shí),可實(shí)現(xiàn)指紋開(kāi)鎖、實(shí)時(shí)測(cè)量重量的基本功能,方便了使用者,解決了許多旅途中的煩惱。