姚佳逸,朱海霞,傅忠云,郭鑫宸
(南京航空航天大學(xué) 金城學(xué)院,江蘇 南京 211156)
隨著時代發(fā)展,交通手段日漸發(fā)達(dá),人們?nèi)粘3鲂械木嚯x和次數(shù)增多起來,在生活 中,沉重的行李箱在上樓梯是也是一大阻礙,針對各種物體的上樓梯的設(shè)計也是層出不窮,王濤等[1]研究分析了星輪在輪椅上梯方面的可行性,設(shè)計的星輪結(jié)構(gòu)能夠在爬樓時不發(fā)生傾翻,具有乘坐安全和爬樓穩(wěn)定的優(yōu)點。同時,對于智能行李箱所必需的定位和判斷技術(shù)也日漸發(fā)達(dá)。田宇沃等[2]基于OpenCV的智能行李箱設(shè)計以傳統(tǒng)的行李箱為模型進(jìn)行了優(yōu)化,通過攝像頭從外界獲取圖像,通過設(shè)計與控制使行李箱更加的穩(wěn)定安全,并且更具有市場應(yīng)用價值。本文基于用戶對于身邊物品智能化、聯(lián)網(wǎng)化的需求,設(shè)計了基于STM32的智能行李箱,其集成了UWB模塊、電機驅(qū)動模塊等,能夠有效減輕用戶的負(fù)擔(dān)。行李箱包括了電機驅(qū)動電路、STM32控制電路、UWB模塊電路等。為STM32單片機和UWB技術(shù)在實際生活的應(yīng)用提供了參考。
智能行李箱的系統(tǒng)如圖1所示,主要是由行李箱上的控制系統(tǒng)和用戶攜帶的UWB發(fā)射模塊構(gòu)成。行李箱以STM32單片機為主控,包括了電機驅(qū)動電路、STM32控制電路、UWB模塊電路等。在軟件上,可以分區(qū)塊、模塊化的編寫程序,其中包括電機控制程序、初始化子程序、SPI通訊程序。UWB模塊是基于DWM1000模塊自主設(shè)計的拓展板,控制系統(tǒng)選用STM32F103。智能行李箱的控制流程如下,由用戶UWB發(fā)射模塊發(fā)射信號,基站0和基站1接收到信號后,將時延數(shù)據(jù)傳輸給STM32的控制板,控制板將時延數(shù)據(jù)轉(zhuǎn)換成距離信息,濾波后計算得出位置信息和角度信息。之后STM32控制板通過PID控制,調(diào)整行李箱的朝向和速度,使其自動跟隨使用者。
圖1 智能行李箱系統(tǒng)
系統(tǒng)硬件主要包括MCU主控單元、電源管理單元、電機驅(qū)動單元和基站通訊模塊等。
MCU主控單元為系統(tǒng)硬件電路的核心,由基于Cortex-M3開發(fā)的STM32F103及其最小系統(tǒng)構(gòu)成,具有控制UWB基站、電機驅(qū)動單元、陀螺儀單元等外圍設(shè)備的功能,從而實現(xiàn)智能人性化的功能。電源管理模塊主要由LM2596降壓穩(wěn)壓芯片設(shè)計而成的開關(guān)電源和AMS11717組成的線性穩(wěn)壓電源組成,電路原理如圖2所示。電源輸入由行李箱的12 V電池提供,經(jīng)DCDC開關(guān)電源轉(zhuǎn)換后輸出5 V供電,經(jīng)AMS1117芯片線性穩(wěn)壓后輸出3 V供電,為MCU、UWB基站和陀螺儀等供電。
圖2 電源管理模塊原理
電機驅(qū)動模塊采用低電阻大電流大功率的TPH1R403NL MOS管組成雙H橋驅(qū)動電機,原理如圖3所示。H橋驅(qū)動電機的方式是通過控制H橋的上下MOS管的導(dǎo)通實現(xiàn)的。首先,左半H橋上管的柵極被驅(qū)動芯片拉高至導(dǎo)通電壓,隨后左半橋上管導(dǎo)通,與此同時,右半H橋下管的被電機驅(qū)動芯片拉高至導(dǎo)通,此時,VM和GND之間經(jīng)由電機(可被視作電感)導(dǎo)通,形成極大的導(dǎo)通電流,驅(qū)動電機正向運行,隨后電機驅(qū)動芯片將左上管的柵極拉低,避免左半橋的上下半橋?qū)ㄐ纬删薮蟮亩搪冯娏鳠龤OS管。最后,拉低右半橋的下管,結(jié)束一個周期的工作。
圖3 電機驅(qū)動電路
陀螺儀模塊由MPU6050芯片及其外圍電路組成,STM32單片機通過IIC總線讀取MPU6050獲取的數(shù)據(jù),濾波后通過PID算法控制智能行李箱的姿態(tài)[4]。
基于UWB定位測距模塊的性能需求,行李箱采用了STM32F103作為核心控制芯片和處理芯片,并且根據(jù)智能行李箱的功能需求,將UWB模塊的所獲取的時延信息轉(zhuǎn)換成距離數(shù)據(jù),通過SPI總線與單片機通信,由STM32進(jìn)行數(shù)據(jù)處理和分析。
本設(shè)計利用UWB定位主要使用的是TOA(Time of Arrival)定位方法[3],TOA是一種雙向測距,主流TOA測距中有兩種不同的方法,分別是SS-TWR(Sing Side-Two Way Ranging)和DS-TWR(Double Side-Two Way Ranging),飛行時間乘以光速即為兩個設(shè)備間的距離。由于設(shè)備之間使用的是獨立的時鐘源,具有一定的誤差,而SS-TWR無法避免這種誤差,所以本文采用改進(jìn)的DS-TWR測距方式。DS-TWR是基于SS-TWR之上增加了一次通信,最大的測距誤差僅在毫米級別,測距流程如圖4所示。
圖4 DS-TWR測距流程
根據(jù)這個流程,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
在定位系統(tǒng)獲取完距離數(shù)據(jù)之后,就可以獲得基站0和基站1分別與標(biāo)簽之間的距離,本文采用了中值濾波的方式,多次采樣距離數(shù)據(jù),得出濾波后的距離數(shù)據(jù),減少了誤差和干擾但濾波的數(shù)據(jù)量不宜太多,否則會造成行李箱的反應(yīng)遲緩。
如圖5所示,測距完成之后可以獲知,基站0、基站1與標(biāo)簽之間的距離,由于基站0和基站1之間的距離是固定的,通過余弦定理和反三角函數(shù)就可以求出以基站為頂點,ac為邊的角度,求補角既可以獲取行李箱和用戶的角度信息。
圖5 通過距離數(shù)據(jù)獲得方位示意
本設(shè)計考慮到用戶的需求,采用了履帶結(jié)構(gòu),增強了行李箱的爬梯能力,同時,針對一些坡度過大的樓梯,或者樓梯過于陡峭,可以采用了三星輪的結(jié)構(gòu),能夠在行李箱無法自動爬梯的情況下讓用戶自己拉拽行李箱,同時,履帶結(jié)構(gòu)也可以幫助用戶拖拽(見圖6)。
圖6 行李箱實際結(jié)構(gòu)
本設(shè)計以STM32F103微控制器為核心,結(jié)合UWB測距技術(shù),設(shè)計了一種智能跟蹤的行李箱。行李箱能夠自動跟隨用戶,減少了用戶拖拽的壓力,同時,輔助上樓梯的裝置也減少了用戶爬梯的困難。該行李箱具有良好的便攜性和智能性,大大減少了外出所帶來的行李麻煩。