魏天骐,罗庆生,王 勇,糜相行
(1.北京理工大学机电学院,北京 100081;2.北京理工大学软件学院,北京 100081)
对中小户型住宅而言,提高空间利用率是使其具有较高舒适性的关键[1]。在家庭、超市和办公室等场合,传统的储物方式多以利用地面附近空间、人工取放的方式进行,高处空间利用率低下。在通过利用室内高处空间、提高物品摆放密度等方法,提高物品的利用率的同时也会对整套储物系统的易用性、自动化程度提出更高的要求。
在物品管理方面,物品以往多通过人脑或者书面记录的方法进行记录。在物品种类繁多或需要准确管理的情况下,这种方式效率低下,可靠性较差,需要较多的人工成本。针对这些问题,利用智能家居和家具机电一体化的理念[2-3],采用机电一体化和自动仓库相关技术[4-5],设计了一套室内高处空间物品存放系统和物品管理系统。
物品存放和管理系统如图1所示。物品管理系统可控制多组储物系统;室内高处空间物品存放系统作为一组储物系统接受控制。两系统配合完成物品的自动存取和智能管理。
图1 物品存放和管理系统
整个系统的控制系统分为两层,上层即物品管理系统,下层是物品存放系统的嵌入式系统。
机械结构的主要组成如下:
a.固定在室内高处的柜体,其内部设有多个用来存放物品的模块化单元(下简称储物箱)。
b.柜体正面安装有可以横向移动的运输单元,运输单元由钢丝绳牵引进行移动。
c.运输单元上装有货叉机构,完成储物单元的选择及取放动作。
d.柜体一端安装有用来使储物单元上下运动的升降平台,通过卷扬机带动。
控制系统应具备的功能如下:
a.精确控制多台电机的运动,协调完成物品取放的功能。
b.使用人员通过触摸屏点选需要的物品后,控制系统根据内部数据库,自动完成物品位置的判断和机械的控制。
c.通过条形码或二维码识别物品,联网获取物品信息。
d.能通过手机以无线的方式对系统进行物品查找、登记、取出和获取信息等功能。
控制系统结构如图2所示。操作者可通过安卓平台或者手机对系统进行控制,安卓平台作为上位机完成人机交互、远程控制、筛选策略、物品识别和信息下载等功能,当上位机完成物品的筛选和定位后,将位置编号指令通过串口发送给下位机;下位机接收后,据此查询内部数据,获得目标位置,进行运动的规划,再将运动的规划转化成电机驱动控制信号,控制机构完成物品的取放。当使用手机进行操作时,手机通过蓝牙与安卓平台进行通讯,同步信息,在提供便捷性的同时可完成与安卓平台相同的操作。控制过程中的信息流如图3所示。
设计中,考虑到系统的一致性和程序流程简洁,避免不必要的转换,设定了统一的应用层通讯协议。
3.2.1 平台功能
a.物品信息扫描录入。用户在使用本系统存储物品时,可通过扫描二维码,快速录入物品的信息,如物品的名称、照片、生产日期、保质期和物品分类等,平台功能可节省用户手动输入物品信息的时间。
平台功能的操作流程是:在初次进行某件物品存储时,用户需要手动输入物品信息,系统会帮用户生成并打印出二维码标签,用户将二维码标签粘贴于物品上;之后进行物品信息存储时,用户只需通过手机或平板电脑的摄像头扫描此二维码标签,系统将快速从中读取包括物品照片、生产日期、保质期、物品分类和物品名称等信息。
当用户完成录入后,系统会根据物品信息自动分类,并显示相关信息。系统还提供了用户管理、物品查找和物品搜索等功能。为便于用户使用安卓系统与移动终端使用相同的界面。
b.无线控制。用户可以手机、平板电脑等移动设备端,无线近程控制机械与动力装置完成物品的存取。此功能可使用户在家里的大部分地方都能无线控制此储物系统。
3.2.2 实现方式
a.物品信息扫描录入。①条形码和二维码[6],综合考虑成本、实用性、技术成熟成熟程度,选用条形码和二维码作为物品识别的媒介。当物品上具有条形码时,通过扫描条形码,联网搜索获得物品信息,自动填入,由用户补充。当物品上没有条形码时,由用户录入信息,并打印二维码,粘贴到物品上。由于二维码包含的信息量大,用户录入的信息可以部分存入,便于在多个系统之间转移,避免重复输入。②二维码图片的生成[7],系统支持 QR Code、PDF417两种二维码编码方式,利用安卓平台提供的图片处理接口Bitmap,将物品的各类信息以JSON(Java script object notation)的格式编码成一个字符串,然后将字符串转换成黑白点阵,最后转化为相应的二维码图片。③二维码的识别[7],系统利用手机或平板电脑自带的摄像头,拍摄物体上的二维码标签,对其多帧图片,分析其中的黑白点阵排列,判定其编码格式(QR Code或PDF417),然后利用此编码格式的编码规则,对其进行解码,得到字符串,然后利用java语言提供的JSON格式串处理接口JSONObject与JSONParser,从中提取物品的各类信息。图4为二维码识别的流程。
图4 识别二维码的流程
b.无线控制。移动客户端与安卓固定平台之间的无线通信—蓝牙通信[8-10],系统利用设计好的通信协议,使用安卓平台提供的蓝牙通信接口Bluetooth Adapter、Bluetooth Device,实现蓝牙模块的开启关闭、蓝牙设备的扫描和蓝牙设备的配对;利用Bluetooth Server Socket与Bluetooth Socket接口,实现全双工的蓝牙通信。
对于安卓系统,蓝牙通信无需了解具体协议,通讯的建立只需通过调用接口,完成启动流程。安卓固定平台与单片机之间的串口通信,安卓操作系统本身并不提供串口通信功能,系统通过编写安卓串口驱动,实现安卓的串口通信功能,利用驱动中提供的串口通信接口Hardware Controller,实现与单片机的串口通信。
3.3.1 功能
通过主控芯片与上层控制平台之间的协调通讯,控制机械系统完成规定动作流程,实现对物品数据库数据与实际物品所在空间位置的同步[11]。
涉及到如下部分功能模块:上位机通讯模块、频率可调步进电机控制脉冲的生成模块、位置检测模块、多步进电机控制顺序的组织与协调以及运行状态指示模块。
3.3.2 实现方式
a.电路结构。下层控制系统硬件结构如图5所示,下层主控制器芯片AT89S52单片机,它具有8K字节程序存储空间,256字节数据存储空间,没有内带EEPROM存储空间,而STC89C52RC单片机具有8K字节程序存储空间,512字节数据存储空间,内带4K字节EEPROM存储空间,可直接使用串口下载。通讯模块采用MAX232芯片。单片机及外围芯片供电使用LM2596开关电压调节器。
图5 下层控制系统硬件结构
b.主要程序流程。下层控制系统程序流程如图6所示。整个结构为自然顺序的循环,完成上位机的一个存或者取的任务。上位机先取出所需用来存放的储物盒,然后用户将所要存放东西放入取来的储物盒之中。之后向单片机发出信号,单片机控制储物盒上升到储物柜之中,然后将装有所存放东西的储物盒返回之前的位置之中,完成存放。而取的过程同样按照存放任务的循环,将所需的储物盒取出,然后再放回的顺序,完成取出物品的循环。
图6 下层控制系统程序流程
c.串口通讯协议。整个运动过程中与上位机的通讯并不频繁,通讯仅在进行任务分配时进行,也即是在每次动作循环前后进行数据传输与确认。电路采用12MHz晶体振荡器,为保证通讯之间的精度,减少误码的发生,所以采用最高2 400波特率,保证与上位机之间通讯不会出现信号丢失现象,并且在软件系统中进行通讯校验的步骤,如CRC32即循环冗余校验检测[12]。串口通讯协议对照表见表1。
d.步进电机控制程序设计。采用步进电机驱动器时,步进电机的基本控制方法为产生一个脉冲信号时,步进电机向规定方向产生一个转角θ,当送入一系列脉宽可调的连续脉冲信号时,步进电机产生相应的旋转速度,步进电机的细分次数将通过步进电机的驱动器来调节,需要通过分别对每个步进电机工作速度与效率进行评估后进行选择。
脉冲产生方法分为两种,一种是通过延时函数来产生,但这种方法的缺点是产生的脉冲不精确,并且浪费了大量的控制器计算时间;另二种是通过定时器中断来产生脉冲,这样的方法产生的脉冲较准确,但需要利用一个定时器来控制,设计采用这种方案。但这样就有一个问题,主控制芯片的定时器资源比较紧张,串口通信需要占用3个定时器的其中之一,因此,步进电机控制需要充分利用STC89C52RC剩余的2个定时器中断,需要避开同时对多个步进电机的同时操作,分别在不同时段对步进电机进行操作,克服主控制器定时器的缺乏。
通过速度参数计算产生相应定时器初值,当脉冲计数参数到达指定次数时进行定时器处置的重装。加速运动时,重装脉冲计数间隔逐渐增加,因此,使速度产生间隔变化。减速过程与加速过程相反,重装间隔脉冲逐渐减少,产生相应的减速运动。
步进电机可采用开环控制,但由于绳传动时会产生微小误差,因此,需要进行位置矫正。具体方法:通过为每个电机位置相应的全局变量进行记录,每次电机运行达到规定次数时,进行减速及停止的操作。当进行完一个存取的工作循环时,每个存取箱进行归位。归位时检测相应位置行程开关的状态,当到达初始状态时,进行相应变量的重置。最终通过各相关动作产生所需的存放及取用动作。
将智能家居的理念与自动化仓库的理念相结合,讨论了基于安卓平台的智能储物柜控制系统,包括系统结构、硬件组成、软件设计和通讯协议。经测试,系统运行稳定,操作方便,界面友好,达到了预期的效果。系统使得自动储物柜更加人性化,易于操作。物品管理的功能有助于对物品进行查找、分类、管理和统计。
[1]侯 博.浅谈中小户型住宅的空间可变性设计[J].后勤工程学院学报,2009,25(2):14-17.
[2]吴专科.智能家居中央控制平台的分析与设计[D].南昌:南昌大学,2010.
[3]谭刚林.智能家居控制平台研究[J].科技信息,2011,(36):251-251.
[4]王树才,邓在京,徐有明.机电一体化家具的探讨[J].木材工业,2004,18(1):36-38.
[5]陈满生,田辉鹏,郭庆伟等.基于单片机控制的立体仓库的设计[J].企业科技与发展,2008,(18):73-76.
[6]陈荆花,王 洁.浅析手机二维码在物联网中的应用及发展[J].电信科学,2010,26(4):39-43.
[7]徐 玲,蒋欣志,张 杰,等.手机二维码识别系统的设计与实现[J].计算机应用,2012,32(5):1474-1476.
[8]汪振飞,刘 军.基于蓝牙技术的单片机与计算机无线通信系统[J].科技创新导报,2007,(35):11-11.
[9]Chiu-Chiao Chung,Ching Yuan Huang,Shiau-Chin Wang,et al.Bluetooth-based android interactive applications for smart Living[A].Proceedings of the 2011 2nd International Conference on Innovations in Bio-Inspired Computing and Applications (IBICA 2011)[C].2011.
[10]Potts J,Sukittanon S.Exploiting bluetooth on android mobile devices for home security application[J].2012 Proceedings of IEEE Southeastcon,2012.
[11]杨公源.机电控制技术及应用[M].北京:电子工业出版社,2005.
[12]龚建伟,熊光明.Visual C++/Turbo C串口通信编程实践[M].北京:电子工业出版社,2007.