姚佳逸,朱海霞,傅忠云,郭鑫宸
(南京航空航天大学 金城学院,江苏 南京 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测距技术,设计了一种智能跟踪的行李箱。行李箱能够自动跟随用户,减少了用户拖拽的压力,同时,辅助上楼梯的装置也减少了用户爬梯的困难。该行李箱具有良好的便携性和智能性,大大减少了外出所带来的行李麻烦。