《武汉工程大学学报》  2015年12期 53-59   出版日期:2016-01-14   ISSN:1674-2869   CN:42-1779/TQ
一种ZigBee无线遥控小车的设计


0 引 言随着智能机器人的快速发展,无线遥控小车逐步成为智能控制领域研究的新热点. 小车随着无线通信技术的成熟在智能控制方向也取得了飞速的发展. 无线遥控小车可实现在特殊环境中处理高危险工作,远程数据采集,数据无线传输,减少了人力,物力,财力资源的投入. 由于在各种环境下检测的同时,必须对其在复杂环境下的运动进行稳定快速的控制,且要尽可能的获取更多的信息,以往的小车设计功能太简单,小车的稳定性、灵敏度、实时性都不高,且耗时长,因此需要设计一种无线遥控小车来满足智能性、稳定性、安全性高的要求. 目前,无线控制小车的通信技术有Bluetooth、WiFi和ZigBee. 利用手机Bluetooth[1]去控制小车,通过串口仿真协议进行通信,小车接收手机信号可控制小车前进、倒退、左右转、停止等功能,但Bluetooth抗干扰能力较弱、传输距离很短、信息安全问题等缺点,且操作复杂、小车运动不稳定,方向不易控制. 利用WiFi[2]可实现用户监控端与小车的数据传输,建网快速,但需手动输入IP和端口来连接WiFi,小车反应速度慢,且WiFi不保证通讯服务质量,功耗较大. 本研究采用的ZigBee技术同其他几种无线通信方式相比,具有低功耗、低成本、网络时延短、安全性高等优点[3-4],有效的解决了传统小车功能简单、稳定性差、数据传输耗时长等缺点,使得小车可实现远程管理、无线数据传输等功能,具有较高的应用价值. 1 系统的总体设计本设计利用ZigBee技术实现小车端和遥控端之间的双向通信,控制小车自动循迹,运行稳定,能在1.6 m内检测到移动人体,4 m内测量障碍物距离并在30 cm内避障,检测室内环境温度误差控制在±2 ℃,湿度±5%RH,整个过程控制在30 s内完成. 系统总体结构如图1所示,该系统包括两个部分即小车端和遥控器端,各配有一个ZigBee模块,小车端的ZigBee为接收模块,遥控器端的ZigBee为发送模块. 采用STC12C5A60S2作为主控制器,其中小车端还包括各种传感器模块,循迹模块,电机控制模块. TFT-LCD显示小车传输数据.2 主要硬件电路设计2.1 STC单片机最小系统电路STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期的单片机,内部集成2路PWM和8路高速10位A/D转换[5]. STC单片机最小系统电路如图2所示. 单片机P1口控制小车电机驱动,P2.0-P2.3作输入引脚接循迹模块,P2.4分给红外热释电模块. P3口分配给ZigBee模块和红外避障模块. P0、P1、P2和P3.3-P3.7作为复用引脚控制TFT-LCD. P4.7为红外发射管输出引脚. P5.0和P5.1控制超声波传感器,P5.2接收温度传感器的数据. 图1 系统整体结构Fig.1 Overall structure of system图2 STC单片机最小系统电路图Fig.2 Circuit diagram of minimum system of STC microcontroller2.2 传感器接口电路小车的传感器接口电路如图3所示,包括了两个红外避障传感器(图3中的a,b),超声波传感器(c),人体红外热释电传感器(d),温度传感器(e).避障、测距、检测移动人体、测温湿度都作为单片机的中断事件. 其中红外避障模块采用555定时器构成多谐振荡器,脉冲产生电路驱动红外发射管的开启与关闭,当检测到有障碍物时,红外线接收头产生一个低电平,指示灯点亮. 超声波模块采用HC-SR04,利用TRIG触发测距,给至少10us的高电平信号,模块自动发送8个40 kHz的方波检测是否有信号返回,当有信号返回时,通过ECHO输出一个高电平,根据高电平持续的时间计算出障碍物的距离. 人体红外热释电采用HC-SR501,利用温度变化特征探测红外线辐射,当有人进入其感应范围时输出高电平,人离开感应范围时则自动关闭高电平. 小车采用DHT11温湿度传感器检测温湿度,具有体积小、功耗低、响应速度快等优点.图3 传感器接口电路图Fig.3 Circuit diagram of sensor interface2.3 电机驱动模块电路STC12C5A60S2单片机控制L298N结合输出的PWM信号控制小车运动. 电机驱动模块电路如图4所示,其中OUT1-OUT4分别接小车左右两路电机,IN1-IN4引脚从单片机接输入控制电平控制小车左右电机正反转,通过输出的PWM对电机调速,从而对拐弯的调整控制. 电机控制逻辑如表1所示. 2.4 循迹电路循迹电路如图5所示,包含4路红外发射管和接收管. 小车沿黑线前行,当检测到黑线时,单片机读“0”,检测到白线时读“1”. IR1-IR4控制小车运动,当IR1和IR2同为1时控制小车右转,用IR3和IR4控制小车右转角度;当IR3和IR4同时为1时控制小车左转,用IR1和IR2控制小车左转角度;当四路控制逻辑同为1时小车保持原运动轨迹;当IR2和IR3同为0,IR1和IR4位与得0时小车停止,IR1和IR4位与得1时小车继续前进.图4 电机驱动模块电路图Fig.4 Circuit diagram of driver module of motor 表1 电机控制逻辑Table1 Control logic of motor图5 循迹电路图Fig.5 Circuit diagram of tracking 2.5 ZigBee模块电路ZigBee是一种常用的无线传输技术,它具有近距离、低复杂度、低功耗和低成本等特点. 本设计使用基于CC2530的ZigBee无线通信模块进行远距离数据传输[5]. 该芯片是ZigBee技术应用方案的最新一代片上系统,它能以极低的成本构建强大的无线网络,完全符合IEEE802.15.4标准,并结合了RF收发器的优良性能,具备多种运行模式,可适应于超低功耗的系统且设计出来的硬件模块体积小,非常适应于小型的无线智能小车上. 在该设计中小车端和遥控器分别配有一块ZigBee模块,可将传感器采集的信息无线传输到遥控器端,遥控器端根据传回的信息控制小车执行任务. 将两个ZigBee模块分别设置串口中断,单片机串口RXD、TXD和ZigBee模块串口互连,测距、温湿度检测、避障、小车运动、循迹都对应一个中断事件,当TFT屏中对应功能图标被按下,单片机会向串口发出一条命令触发ZigBee模块的串口中断,遥控端的ZigBee模块收到的命令传给小车端ZigBee模块,并通过串口发给小车端的单片机,小车端单片机串口接收到命令后控制小车执行中断事件. 以相同的方式,小车端将采集的数据通过ZigBee发送到遥控器端并在触摸屏上显示. ZigBee模块电路如图6所示.图6 ZigBee无线模块电路图Fig.6 Circuit diagram of ZigBee wireless module 3 系统软件设计小车基于μC/OS-II操作系统,采用多任务并发运行机制,使得系统具有良好的实时性. 小车的温湿度检测、测距、检测移动人体、避障、小车运动等均单独成为一个任务,在与ZigBee通信时各任务间分别通过一个消息邮箱传递数据并将数据发送给遥控器端. 利用消息队列UARTxQ从ZigBee通信任务接收来自遥控器端发出的控制信号,经过消息邮箱MotoCtrlMbox发送到小车从而控制小车执行相应操作[7]. 遥控器端在TFT-LCD上建立系统的控制界面,通过触摸不同的功能按钮,实现小车采集环境温湿度、避障和测距和无线运动等功能. 4 实验测试结果本次设计的基于ZigBee无线遥控小车,实物设计如图7所示,左边为小车端,右边为遥控端. 图8控制小车运动和小车自动循迹,通过PWM调速,当小车行驶在拐弯处时转弯及时且车速平稳,小车可严格按黑线循迹. 图9超声波传感器测量障碍物距离显示为23 mm,小车测距范围可从2~400 cm. 图10小车采用左右两个避障模块检测小车移动前方的障碍物,准确率高,用HC-SR501模块检测移动人体,检测最大范围为1.6 m. 图11室内实际温度为23 ℃,湿度为53%RH,小车采集环境温度以十六进制形式在3 s内自动绘制出曲线图显示在屏幕上,图中温度为16 H,湿度为38 H,转换为十进制形式的温度为22 ℃,湿度为56%RH,误差小,所测数据结果直观清楚. 图12中用此界面无线控制小车按照传输命令运动,小车方向易于控制. 测试结果见表2,通过ZigBee无线通信,无需手动搜索和连接服务,操作简单,传输数据不仅精度高且速度快,具有实时性.图7 实物设计图Fig.7 Design diagram of real object图8 小车运动和自动循迹过程Fig.8 Process of movement and automatic tracking of vehicle 图9 测距Fig.9 Ranging图10 避障和人体检测 Fig.10 Obstacle avoidance and human detection图11 温湿度采集Fig.11 Temperature and humidity collection 图12 无线运动界面Fig.12 Interface of wireless moving表2 测试结果Table 2 Results of test5 结 语本设计利用ZigBee技术成功实现了对小车的无线控制,具有智能性,但不脱离人的控制. 小车可在1 s内测量在400 cm内物体的距离,在1.6 m内可检测到移动人体,30 cm内避障,检测环境温度范围可从0~50 ℃,湿度范围可从20%~90% RH,精度高且在3 s内通过曲线图显示,小车可严格的按黑线循迹且运动角度扩大. 小车在整个运行中通信稳定,控制可靠,所测数据精度和传输速率高,小车基于嵌入式实时操作系统μC/OS-II,使用多任务机制,使其具有很好的实时性,达到了预想的功能.