姚佳逸,朱海霞,傅忠云,郭鑫宸
(南京航空航天大學 金城學院,江蘇 南京 211156)
隨著時代發展,交通手段日漸發達,人們日常出行的距離和次數增多起來,在生活 中,沉重的行李箱在上樓梯是也是一大阻礙,針對各種物體的上樓梯的設計也是層出不窮,王濤等[1]研究分析了星輪在輪椅上梯方面的可行性,設計的星輪結構能夠在爬樓時不發生傾翻,具有乘坐安全和爬樓穩定的優點。同時,對于智能行李箱所必需的定位和判斷技術也日漸發達。田宇沃等[2]基于OpenCV的智能行李箱設計以傳統的行李箱為模型進行了優化,通過攝像頭從外界獲取圖像,通過設計與控制使行李箱更加的穩定安全,并且更具有市場應用價值。本文基于用戶對于身邊物品智能化、聯網化的需求,設計了基于STM32的智能行李箱,其集成了UWB模塊、電機驅動模塊等,能夠有效減輕用戶的負擔。行李箱包括了電機驅動電路、STM32控制電路、UWB模塊電路等。為STM32單片機和UWB技術在實際生活的應用提供了參考。
智能行李箱的系統如圖1所示,主要是由行李箱上的控制系統和用戶攜帶的UWB發射模塊構成。行李箱以STM32單片機為主控,包括了電機驅動電路、STM32控制電路、UWB模塊電路等。在軟件上,可以分區塊、模塊化的編寫程序,其中包括電機控制程序、初始化子程序、SPI通訊程序。UWB模塊是基于DWM1000模塊自主設計的拓展板,控制系統選用STM32F103。智能行李箱的控制流程如下,由用戶UWB發射模塊發射信號,基站0和基站1接收到信號后,將時延數據傳輸給STM32的控制板,控制板將時延數據轉換成距離信息,濾波后計算得出位置信息和角度信息。之后STM32控制板通過PID控制,調整行李箱的朝向和速度,使其自動跟隨使用者。

圖1 智能行李箱系統
系統硬件主要包括MCU主控單元、電源管理單元、電機驅動單元和基站通訊模塊等。
MCU主控單元為系統硬件電路的核心,由基于Cortex-M3開發的STM32F103及其最小系統構成,具有控制UWB基站、電機驅動單元、陀螺儀單元等外圍設備的功能,從而實現智能人性化的功能。電源管理模塊主要由LM2596降壓穩壓芯片設計而成的開關電源和AMS11717組成的線性穩壓電源組成,電路原理如圖2所示。電源輸入由行李箱的12 V電池提供,經DCDC開關電源轉換后輸出5 V供電,經AMS1117芯片線性穩壓后輸出3 V供電,為MCU、UWB基站和陀螺儀等供電。

圖2 電源管理模塊原理
電機驅動模塊采用低電阻大電流大功率的TPH1R403NL MOS管組成雙H橋驅動電機,原理如圖3所示。H橋驅動電機的方式是通過控制H橋的上下MOS管的導通實現的。首先,左半H橋上管的柵極被驅動芯片拉高至導通電壓,隨后左半橋上管導通,與此同時,右半H橋下管的被電機驅動芯片拉高至導通,此時,VM和GND之間經由電機(可被視作電感)導通,形成極大的導通電流,驅動電機正向運行,隨后電機驅動芯片將左上管的柵極拉低,避免左半橋的上下半橋導通形成巨大的短路電流燒毀MOS管。最后,拉低右半橋的下管,結束一個周期的工作。

圖3 電機驅動電路
陀螺儀模塊由MPU6050芯片及其外圍電路組成,STM32單片機通過IIC總線讀取MPU6050獲取的數據,濾波后通過PID算法控制智能行李箱的姿態[4]。
基于UWB定位測距模塊的性能需求,行李箱采用了STM32F103作為核心控制芯片和處理芯片,并且根據智能行李箱的功能需求,將UWB模塊的所獲取的時延信息轉換成距離數據,通過SPI總線與單片機通信,由STM32進行數據處理和分析。
本設計利用UWB定位主要使用的是TOA(Time of Arrival)定位方法[3],TOA是一種雙向測距,主流TOA測距中有兩種不同的方法,分別是SS-TWR(Sing Side-Two Way Ranging)和DS-TWR(Double Side-Two Way Ranging),飛行時間乘以光速即為兩個設備間的距離。由于設備之間使用的是獨立的時鐘源,具有一定的誤差,而SS-TWR無法避免這種誤差,所以本文采用改進的DS-TWR測距方式。DS-TWR是基于SS-TWR之上增加了一次通信,最大的測距誤差僅在毫米級別,測距流程如圖4所示。

圖4 DS-TWR測距流程
根據這個流程,DS-TWR的距離公式為:
rud1=rpy1+2prp;
rud2=rpy2+2prp;
rud1=4-1
rud2=6-3
最終得出:
prp=(4-1-3+2)/2
prp=(6-3-5+4)/2
在定位系統獲取完距離數據之后,就可以獲得基站0和基站1分別與標簽之間的距離,本文采用了中值濾波的方式,多次采樣距離數據,得出濾波后的距離數據,減少了誤差和干擾但濾波的數據量不宜太多,否則會造成行李箱的反應遲緩。
如圖5所示,測距完成之后可以獲知,基站0、基站1與標簽之間的距離,由于基站0和基站1之間的距離是固定的,通過余弦定理和反三角函數就可以求出以基站為頂點,ac為邊的角度,求補角既可以獲取行李箱和用戶的角度信息。

圖5 通過距離數據獲得方位示意
本設計考慮到用戶的需求,采用了履帶結構,增強了行李箱的爬梯能力,同時,針對一些坡度過大的樓梯,或者樓梯過于陡峭,可以采用了三星輪的結構,能夠在行李箱無法自動爬梯的情況下讓用戶自己拉拽行李箱,同時,履帶結構也可以幫助用戶拖拽(見圖6)。

圖6 行李箱實際結構
本設計以STM32F103微控制器為核心,結合UWB測距技術,設計了一種智能跟蹤的行李箱。行李箱能夠自動跟隨用戶,減少了用戶拖拽的壓力,同時,輔助上樓梯的裝置也減少了用戶爬梯的困難。該行李箱具有良好的便攜性和智能性,大大減少了外出所帶來的行李麻煩。