工控网首页
>

应用设计

>

基于射频的仓储管理系统

基于射频的仓储管理系统

2006/11/24 8:44:00
可能大家都在日常生活中经历过这样的事情:某些重要而又不常用的东西,被藏在非常隐蔽的地方,多年后如果忽然要拿出来使用,却完全想不起来自己将它放在什么地方了。连我们小小的家庭里都会出现这种情况,那在偌大的工厂仓库中就更是如此了。此时我们肯定希望这些被寻找的东西能自己响应,告诉我们它们的存放地点吧。听起来有点天方夜谭,但在现在无线网络飞速发展的今天,这些并不是不可能的。 我们这次的设计是基于最近新兴的无线网络协议zigbee来完成的。选择zigbee无线传输协议主要有以下原因: (1) 低功耗。在低耗电待机模式下,2节5号干电池可支持1个节点工作6~24个月,甚至更长。这是Zigbee的突出优势。相比较,蓝牙能工作数周、WiFi可工作数小时。但由于功耗降低,速度也相应减慢,但在本次应用中并不要求很高的数据率。 (2) 低成本。通过大幅简化协议(不到蓝牙的1/10),降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32 KB代码,子功能节点少至4 KB代码,一块基于蓝牙协议的芯片比一块基于zigbee 协议的芯片要贵三分之一。 (3) 短时延。Zigbee的响应速度较快,一般从睡眠转入工作状态只需15 ms,节点连接进入网络只需30 ms,进一步节省了电能。相比较,蓝牙需要3~10 s、WiFi需要3 s。 (4) 高容量。Zigbee可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络节点管理,最多可组成65 000个节点的大网。 (5) 高安全。Zigbee提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL)防止非法获取数据以及采用高级加密标准(AES128)的对称密码,以灵活确定其安全属性。 (6) zigbee使用的是2.4 GHz的免许可费频段。 目前,世界上比较成熟的基于zigbee网络的芯片生产厂商有三家,它们比较通用的芯片是CHIPCON的CC2420,FREESCALE的MC13193和EMBER的EM250。EMBER的芯片是将zigbee协议固化在硬件中的,所以当你购买芯片的时候,你就已经把zigbee协议买回来了。而FREESCALE和CHIPCON的芯片是不带有硬件上的ZIGBEE的协议的,所以要另外花钱去购买zigbee协议。 Zigbee技术并不是完全独有、全新的标准。它的物理层、MAC层和链路层采用了IEEE802.15.4(无线个人区域网)协议标准,但在此基础上进行了完善和扩展。其网络层、应用接口层和高层应用规范(API)由Zigbee联盟进行了制定,整个协议架构如图1所示。
图1Zigbee协议栈架构图1Zigbee协议栈架构
  Zigbee是以一个个独立的工作节点为依托,通过无线通信组成星状、片状或网状网络,因此,每个节点的功能并非都相同。为降低成本,系统中大部分的节点为子节点,从组网通信上,它只是其功能的一个子集,称为精简功能设备或end device;而另外还有一些节点,负责与所控制的子节点通信、汇集数据和发布控制,或起到通信路由的作用,称之为全功能设备(也称为协调器coordinator),如图2所示。
图2片状结构的Zigbee网络图2片状结构的Zigbee网络
介绍了zigbee的一些基本知识,现在来介绍我们的仓储管理系统的硬件组成及软件逻辑。 (一).硬件组成: 仓储管理系统的硬件是由三部分组成的,终端辨位结点,定位结点和查询结点。 终端辨位结点是放在每件货物上的,在zigbee网络中相当于end device,它标识着每件货物的位置。在每件货物放进仓库中时,货物上的终端辨位结点发出组网请求信息,与周围的定位结点组成zigbee mesh网络之后,向负责定位的结点发出自己的64bit的maker Address,使zigbee网络知道其位置,然后终端辨位结点开始周期性的休眠和苏醒,苏醒后重新发出信息,这样能使定位结点知道自己的位置是否有变化,并且是否还在这个仓库之中。由于终端辨位结点长时间处于休眠状态,所以它消耗的能量是非常小的,可以使用电池供电。 定位结点是固定在仓库的三个角落的,也就是形成X,Y,Z的三位坐标系,其实我们可以把定位结点当作zigbee网络的路由结点。三个定位结点不停的接收终端结点发来的信息,并读出接收到信息的强度信息RSSI和连接质量信息LQI,这两个信息能显示出终端结点距离自己的距离。他们将这些信息通过内部的程序计算转换成距离信息发送给查询结点。在查询结点中,X,Y,Z的信息汇总得出货物的位置信息。从功能上看,定位结点要完成大量的计算,而且要时刻接收所有终端结点的信息,所以它的工作量是相当大的,基本上无法进行休眠,所以定位结点是要使用直流电源供电的。 查询结点可放在仓库的任意位置,它相当于zigbee网络的corrdinator,定位结点只能得到自己坐标上的数值,而三维的定位是在查询结点中完成的,货物的位置在查询结点中被合成后存入一个定位的表中,整个内容通过查询结点连接到有线的网络中,进入电脑,在电脑上的应用软件中,显示货物的位置。 实现zigbee网络,我们选用FREESCALE的单芯片zigbee解决方案,它是同类产品中价格比较便宜的,但是由于今年刚刚推出,所以可能稳定性还值得商榷。MC13212将单片机和射频芯片合二为一,内部集成32K FLASH和2K RAM,这样可以节省成本,又可以缩小电路板的体积,这在制作便携式设备时也是非常有优势的。 终端辨位结点的硬件最为简单,一块MC13212加上天线发射电路和电池就足够了。天线的匹配可以参照FREESCALE提供的参考设计。 定位结点需要大量的计算,但MC13212集成的是FREESCALE的HCS08系列MCU,据我了解,这款MCU的运算能力和内存资源完成此功能是不需要外扩其他的MCU或RAM的。所以定位结点只比终端辨识结点多了电源转化部分的硬件,由于zigbee射频芯片都是工作在3V的,所以我们要将交流市电通过变压,整流滤波后,通过稳压芯片稳到3.3V,这种芯片现在市面上是比较常见的,我选择了LM1117-3.3。 查询结点是相对最复杂的。它除了具有跟定位结点相似的射频部分硬件外,还具有与电脑进行通信的硬件部分。跟电脑通信有很多种方式,可以采用RS232的电平转换芯片,通过计算机的串口将数据上传,也可以通过USB口上传,我们这次采用的通过网络将信息上传。网络部分我采用了比较简单的网卡芯片8019AS,MCU只需按照它的使用方法将要传的数据送到它的缓存中,芯片就会自动打包上传,使用起来非常方便。 (二).软件逻辑: 软件主要由两部分组成,一部分是计算机上的显示软件,一部分是射频部分的软件。 计算机上的软件主要是一些控制界面,用来显示货物的摆放情况和是否有货物移动或丢失等信息。这些信息来源于网络部分,查询结点会定期上传,以保证信息的及时性。这种显示软件采用VB 或VC编写都是很方便的。 射频部分的逻辑是比较重要的,很多步骤并不是随便就可以实现的,一定要在zigbee网络的基础上,才能保证系统的稳定性。以下是整个管理系统的流程图。
整套系统中最容易产生误差的地方是坐标定位的计算,由于射频信号受周围物品的密度影响比较大,所以在计算时要留好充分的余量,查询结点那边在比较时也不是稍有不一样就认为位置改变,是要有一定的缓冲范围的,这个范围除了要通过理论计算外,还要通过实际的试验来修正。 仓储管理系统只是整套系统的一个方面的应用,其实这套系统只需修改显示软件,即可用在其他定位场合,应用前景非常广泛。
投诉建议

提交

查看更多评论