胡 伟,韩震宇
(四川大学机械工程学院,四川 成都 610065)
家具为家居环境中的重要组成部分,随着智能家居的日益兴起,传统的家具形象和功能已不能满足智能化时代的需求[1]。早在2012 年,智能家居便被列入“十二五”规划的九大产业,被工信部、发改委和科技部列为未来中国高新技术发展领域的重点方向之一[2]。
当前的智能家居产品,大多是将语音控制、远程控制及自主调节等控制手段巧妙融入到家具产品中,使之具有自适应、自感应、智能化和多功能化等特点[3],丰富了家具单品的控制方式。但是在如今高房价的居家环境中,单纯拓展家具的控制方式已远远不够。在丰富控制方式的同时,房屋空间大小也显得尤为重要。因此当某种家具不再被使用时,人们希望其能够自动移动到某个角落,改变其所处的空间位置,使有限的房屋空间被高效利用。
针对以上问题,本文设计了一种可以承载柜体(该系统中为衣柜)的移动底盘,该部件赋予传统衣柜移动的能力,使其可以沿着特定方向进行平移,以实现空间的分时复用,提高空间的使用效率,且布局灵活可变。这将是满足人们美好生活需求的一类重要智能产品, 也是未来家具产业功能性产品发展的潮流方向[3]。
本系统由核心控制模块、人机交互模块、环境感知模块以及执行模块组成。当人们通过人机交互模块向系统发出指令时,核心控制模块会对收到的指令进行解析和计算,并将计算结果发送到执行模块以执行相应的动作。环境感知模块会在执行器工作时扫描周围的环境,并将测量数据反馈到核心控制模块,随后判断是否需要改变执行器的当前状态。
核心控制模块采用ST 公司的STM32F103 来搭建。其主要功能是对输入信息进行逻辑判断并输出对应指令,控制执行器做出相应的动作。
人机交互模块使用的是无线控制开关,该无线开关基于ZigBee 模块而搭建。
环境感知模块主要包含底盘对自身所在位置的感知,以及对底盘对外界物体的感知。底盘对自身所在位置的感知由三个霍尔开关来实现,而底盘对外界环境的感知则是通过激光雷达测距来实现,底盘如图1 所示。
图1 底盘示意图
执行模块主要包含3 部分:电机模块、报警模块以及灯光模块。其中电机采用的是两相步进电机,报警模块采用的是蜂鸣器,灯光模块采用继电器来控制。
如图1 所示,当主控板收到无线开关发出的移动指令,首先判断其移动方向,若向B 方向移动,那么此时的激光雷达作用被屏蔽,移动到霍尔开关3 被磁铁3 触发,底盘停止移动。若向A 方向移动,那么这时开启安全防护功能,激光雷达开始工作,通过监测发射和反射激光的相位差来计算反射面到激光雷达的距离,从而判断其移动路径上是否存在异物。若其返回的距离值小于柜体的宽度,则说明有异物,底盘随即停止移动。当再次按下开关,继续向A 方向移动直到霍尔开关1 被触发时,关闭安全防护功能。当底盘上的霍尔开关2 被触发,即到达目标位置,停止移动。
系统硬件设计主要包括执行器选型、主控板设计、ZigBee 无线开关设计三部分。其总体硬件框图如图2 所示。
图2 硬件框图
该底盘设计负载m=1 000 kg,轮子半径R=0.05 m,最高运行速度v=0.04 m/s,地面坡度θ<3°,车轮滚动摩擦系数μ=0.02,最大加速度a=0.04 m/s2。运动时所受到的阻力主要由滚动摩擦阻力、加速阻力和地面坡度阻力几部分构成。
因此可计算出平台移动所受到的总的阻力为:F总=mgμ+ma+mgsinθ=1 000×9.8×0.02+1 000×0.04+1 000×9.8×sin3°=196+40+512=748 N。取整为750 N,根据作用力和反作用力原理可知,系统需要的驱动力也为750 N,因此可以算出底盘移动所需要的扭矩M=F总×R=750×0.05=37.5 N·m。
在工程设计中常常留出一些余量,因此取整为40 N·m。根据计算结果,这里选用雷赛的两相步进电机,型号为57CM23,其额定电流为5 A,最大保持转矩为2.3 N·m。驱动器选用与其配套的雷赛M545D 步进电机驱动器,具有过压、短路保护功能,15 档可调细分,可响应最高200 kHz的脉冲频率。减速器则选用减速比为20 的行星齿轮减速机。那么该组合所能提供的最大扭矩为46 N·m,满足设计要求。
本系统采用基于Cortex-M3 架构的STM32F103 为主控芯片,该芯片是32 位标准精简指令集处理器,最高工作频率可达72 MHz,并集成了 Timer、CAN、ADC、USB、UART以及I/O 等多种丰富的外设功能。在该系统中主要使用到了Timer、UART 以及I/O 这三种外设。
ZigBee 模块通过串口1 向处理器发送数据,处理器处理指令后,发送一定频率的高速脉冲和方向信号到步进电机驱动器,驱动步进电机运行。同时通过串口2 来接收激光雷达的反馈距离,通过I/O 口来接收霍尔开关所反馈的开关量信号。结合这两个外部传感器的数据和电机当前运行状态来实时调整电机下一周期的运行状态。当激光雷达的距离值小于所设定的阈值时,系统触发安全防护功能,底盘随即停止移动,同时通过I/O 口控制蜂鸣器和LED 报警。
无线开关是以ZigBee 模块为核心设计的。ZigBee 是一项新型的无线通讯技术,相较于其他无线通讯技术,ZigBee无线通讯技术拥有低复杂度、低成本和低功耗等优点,因此非常适用于无线开关。在该系统中,低功耗是一个不可忽略的关键点。通过实际测试发现,基于TI 公司的CC2530 芯片搭建的ZigBee 模块,在休眠期间的功耗可低至1 μA,完全满足无线开关的使用场景。
ZigBee 模块的内核实际上由一块增强型的8051 单片机和无线收发芯片构成,因此其具有8051 单片机的大部分功能。无线开关设计要轻薄小巧,因此外围电路只有4 个按键,以及供电电路。使用额定电压为3 V 的纽扣电池CR2032 来为其供电。该电池具有长续航、纹波小等特点,非常适合用于智能开关等低功耗产品。在实际的开关电路设计中使用的是成都亿佰特公司的ZigBee 模块成品,以缩短开发时间,其电路如图3 所示。
图3 无线开关电路图
软件设计主要包含以下几部分的程序:ZigBee 无线通信、运动控制、灯光控制。
ZigBee 无线通讯中最重要的是如何有效降低功耗。在没有按键被按下时,系统进入低功耗模式,此时除了复位和外部中断,其他由稳压器供电的所有内部电路全部关闭。当有按键被按下时,触发外部中断,CPU 内核被唤醒,进入主动模式。中断服务函数中对标志位置1,主函数中对按键进行识别、编码并发送出去。在发送完毕后再次进入低功耗模式。在ZigBee 的接收端,收到数据时通过串口发送到主控芯片,主控芯片根据收到的信息作出相应决策。
运动控制即对步进电机的状态进行控制,主要控制参数为发送脉冲的个数和频率。脉冲个数决定电机转动步数,即对应着底盘的移动行程,脉冲频率控制电机的转速。步进电机的启停必须有加减速过程,否则会出现丢步、堵转或超步的现象,从而影响控制精度。这里使用的是梯形加减速算法,即启动和停止时以相同的加速度进行升降速控制,使底盘平稳启动和停止。
电机的启停动作与无线开关及外部传感器的反馈数据相关。程序流程如图4 所示,上电以后,系统首先对各个外设进行初始化,随后对收到的按键信息进行循环扫描。当按下“打开”按键,底盘开始向图1 中的B 方向移动,系统依次对外部传感器的状态进行判断,若符合相应的状态,则执行相应的动作。当按下“关闭”按键时,底盘开始向图1 中的A 方向运行,这个过程中,底盘的运行状态还会受到激光雷达的影响。除此之外,和“打开”的过程基本相似。
图4 程序流程图
在控制电机运行状态的同时,还要控制衣柜中的照明系统随着底盘位置的不同打开或关闭。这里采用的策略是:当衣柜刚刚打开时,同时开启灯光;当衣柜完全关闭时,关闭灯光。
系统对当前智能家具的功能做了一些补充,在丰富控制手段的同时,可在合适的时间将家具放在合适的位置,从而实现对居家环境中空间的分时复用,这一理念在小空间的家庭环境中具有非常广阔的应用前景。