基于Zigbee的智能车运行状态实时监控系统设计
图2所示。
图2 上位机电路图
3 系统软件设计
3.1 通信协议
本系统中上位机与智能车之间采用全双工通信。无线网络采用星状网络拓扑结构。与上位机相连的IP-Link1200 为协调器节点,与各个智能车相连的IP-Link1200为终端节点。无线网络中各个终端节点的节点号即为智能车的标识号。
通信协议的定义能够确保收发数据的正确率。实验证明,2个AAH后跟1个55H在数据中出现的概率小,因此,用2个AAH后跟1个55H作为1个数据包的起始标志。当发送数据时,在数据包前加上起始标志。当接收方收到1个数据包,首先检验前3位是否是起始标志,若是,则继续接收数据包,否则,放弃接收。命令码是上位机向下位机发出的指令,占1 byte.其中低4位是操作代号,用"0"表示上位机需要读取下位机中的数据;用"1"表示上位机需要向下位机中写入数据。高4位是指令代号,表示上位机需要读/写下位机的哪组数据,例如舵机参数、路况参数、速度参数等。数据长度位,表示数据包中数据的个数。数据的纠错处理采用CRC校验方式。
3.2 通信模块设计
通信系统的软件主要有两部分,一是上位机从串口接收和发送数据,二是智能车在MC9S12XS128单片机的控制下从IP-Link1200接收和发送数据。通信子程序在系统启动时设置串行口的波特率为38 400 baud,并通过IP-Link1200给通信网络中的各个子节点发送控制消息,查看各个节点是否连接正常。智能车中的通信子程序,上电时设置串行口的波特率为38 400 baud,设置无线网络中各个终端节点的节点号为智能车的标识号,设置IP-Link1200的网络拓扑结构为星型、传输波特率为38 400 baud、信道为11等。Zigbee网络的建立是由与上位机相连的协调器发起的。首先,协调器进行扫描搜索,发现一个未用的最佳信道来建立网络,然后再扫描搜索发现新的终端节点将其加入到这个网络中。
3.3 下位机软件设计
在上位机与上位机的通信中,上位机处于主动地位,下位机处于从属地位。当下位机没有收到上位机的通信指令时,小车就不断地采集前方的道路信息,提取引导线,采集小车行驶速度,生成控制参数,控制着小车沿引导线前进。当小车收到上位机的通信指令时,首先判断指令类型。若是上位机向下位机发来的修正数据包,下位机接收数据并修改运行参数;若是上位机要求下位机传送小车运行参数的指令,下位机立即将发送类型字打包并上传。
3.4 上位机软件设计
上位机软件采用VB语言来编写,基于Windows 的窗口化程序设计MFC,使人机界面生动直观,操作简单。
上位机完成的主要功能是负责一次通信的发起,选择需要采集的参数组,将接收到的数据存储、显示,并对参数进行修正。它的功能模块分为主控模块、通信模块、数据库管理模块。主控模块由数据接收子模块、显示子模块和参数修正子模块组成。数据接收子模块由图像信息子项、舵机相关参数子项、PID参数子项组成;参数修正子模块完成对舵机转角参数和PID算法中各因子的修正,当参数修正完成,立即执行发送参数修正命令,以此修改下位机的相应参数。
4 实验及分析
应用本系统对智能车进行调试,能够及时获得智能车运行的各项参数,能够及时观察到智能车在给定参数控制下的运行状态。同时,通过修改相应参数,调整智能车的运行状态,使智能车的运行状态达到最佳状态。
图3是智能车运行时电机控制的各项参数。在上位机上可以观察智能车在同一路段运行时,PID各项因子的变化对智能车运行状态的影响,通过不断调整各项因子,使智能车在同一路段的运行状态达到最佳。
图3 智能车运行时电机控制的各项参数
5 结论
本文应用Zigbee无线通信模块设计并实现了智能车运行状态实时监控系统。该系统能够及时获得智能车运行时的各项参数,及时观察到参数的变化对智能车运行状态的影响,使智能车的调试不再盲目,而是有的放矢。同时,也为控制算法的离线改进提供了有效的依据。
- 基于ZigBee的汽车轮胎压力实时监测系统设计(10-13)
- 基于C8051F和Zigbee无线网络的汽车测试系统设计(07-03)
- 经典射频收发芯片CC1100在TPMS中的应用(07-19)
- 基于C8051F的Zigbee无线网络的汽车测试系统设计(08-26)
- 基于ZigBee的疲劳驾驶警示系统的研究与设计 (11-09)
- 基于ZigBee技术的疲劳监测警示系统(01-18)