作者:江西理工大学应用科学学院 郑川 蔡烽 刘超
指导教师:谢小云 王苏敏
作品简介
(2)功能及操作方法
①智能小车能实时采集所处位置的温湿度、气体浓度、障碍物距离等,使用无线方式传送到遥控器,在遥控器上使用数字和图形两种方式实时显示。
②智能小车能在遥控器的控制下前进、后退、左转、右转、左右打转、加减速等运行;智能小车前后还配有红外避障模块,可以自动避障,调整运动方向。
③智能小车和遥控器之间使用无线方式进行数据的通信,实现了小车运行控制信号和传感器采集的数据的双向传输。
三、作品特色
①实时性:智能小车和遥控器均基于嵌入式实时操作系统μC/OS-II,使用多任务机制,使其具有很好的实时性;
②综合性:利用智能小车上的多种传感器,可全面探测小车所处位置的温湿度和气体浓度;
③机动性:既可遥控小车的运行,也可以小车还能自动避障,使得其运行具有很好的机动性;
④安全性:由于智能小车通过无线方式传送数据,可遥控其进入人员不便进入的具有危险的场所进行探测,具有良好的安全性。
平台选型说明
1、智能小车部分:
(1)主控模块:Tsinghua FESC Kinetis K10 Board V1_2(处理器:Freescale PK10DN512ZVLL10)
(2)系统软件:μC/OS-II V2.85
2、手持遥控器部分
(1)主控模块:友善之臂 Mini2440开发板(处理器:Samsung S3C2440A)
(2)系统软件:μC/OS-II V2.85
3、开发工具
(1)开发环境:Keil uVision4
(2)下载调试工具:J-LINK V8、串口调试助手
设计说明
一、系统总体设计
智能环境探测小车涉及两个平台,即智能小车和手持遥控器,两个平台之间通过Zigbee无线通信技术实现数据的传递,其总体结构图如图3所示。
从图3可以看到,在智能小车端除了主控模块Kinetis K10之外,其他模块分为三个部分,即传感器模块(包括温湿度传感器、可燃气体传感器、超声波测距模块)、小车运行模块(包括电机控制模块、红外避障模块)、Zigbee无线通信模块。在手持遥控器端则连接到主控模块S3C2440上的有触摸屏、LCD和Zigbee无线通信模块。
在数据传输上存在双向全双工的通信方式,用户通过触摸屏输入小车运行的控制指令,然后通过Zigbee模块发送到智能小车,小车再去控制车轮电机的运转;各种传感器采集到的数据,经过小车主控模块发送到Zigbee模块进而发送到遥控器。
此外,小车的前后约30cm之内有障碍物,将被红外避障模块感应到,从而向相反方向运动;如果前后同时有障碍物,小车将旋转直到前面后均无障碍物在据车30cm之内。
二、系统硬件设计原理及方案
1、智能小车
(1)核心模块PK10D512ZVLL10芯片
本项目使用PK10D512ZVLL10作为主控模块的核心芯片,它是飞思卡尔公司的Kinetis 10系列的产品之一,完成数据采集、小车控制、数据通信等操作。Kinetis 10系列处理器采用ARM Cortex-M4内核,它基于90纳米薄膜存储器(TFS)闪存技术和Flex存储器功能(可配置的内嵌EEPROM),支持超过1000万次的擦写,有丰富的软件工具支持和超低功耗灵活性。Kinetis 10处理器具有非常好的可扩展性、兼容性和特性集成。
(2)传感器模块
在智能小车上配备有温湿度传感模块、可燃气体传感模块、超声波测距模块、红外避障模块,可以采集小车所处位置的温湿度、气体浓度、小车与前方障碍物距离等数据,还能自动避让运动方向上的障碍物,其电路原理图如图4所示。其中温湿度传感器使用了HSM-20G,还模块采用电阻式传感元件,具有体积小、抗污染、温湿度一体的特点;可燃气体传感器则使用了MQ-2,并为其设计制作了PCB板,该传感器具有灵敏度高、寿命长、成本低、电路简单等特点;超声波测距模块选用了具有温度补偿的US-100型。
(3)L298N电机驱动模块
L298 N电机驱动模块实现了对小车四个车轮电机的控制,其原理图如图5所示。该控制电路的核心是直流电机驱动芯片L298N,为了防止来自K10处理器的控制信号与电机控制信号的串扰,它们之间使用了PC817光电耦合器进行隔离,增加了安全性,减小了电路干扰。从图5可以看出,在该电路中,K10不但通过向L298N的4个输入端的提供不同的输入组合,来实现小车运动方式的控制,而且还对它的EA、EB这两个使能端进行了控制,以便采用PWM的方式去控制电机运行的速度。
(4)ZigBee无线模块
Zigbee是一种在无线传感网络中常用的无线传输技术,它具有近距离、低复杂度、自组织、低功耗、低数据速率和低成本的特点,非常适用于自动控制和数据量较小的实时传输之中。在本项目中,智能小车和手持遥控器分别配有一块Zigbee无线模块,可以将传感器采集的环境参数传动到遥控器,也可以将操作人员通过遥控器发出的小车控制指令传送到小车。图6给出了本项目所使用的Zigbee模块的电路图,该电路以购买的ZICM2410P0模块为核心,设计实现了其外围电路。
2、手持遥控器
手持遥控器主要有两个部分组成,即Zigbee无线模块和友善之臂Mini2440开发板。其中Zigbee无线模块用于和智能小车上的Zigbee模块通信。
友善之臂Mini2440开发板以SANSUNGS3C2440处理器为核心,配有内存64MB、256MB Nand Flash和2MB Nor Flash,拥有256色3.5寸TFT液晶屏,此外,还配有丰富的各类接口。由于在手持遥控器端的应用软件基于嵌入式实时操作系统μC/OS-II,而且还使用了GUI软件包,设计了丰富的图形界面,使得固化该软件至少需要6MB Flash,运行该软件至少需要1MB内存,而基于飞思卡尔K10处理器的Tsinghua FESC Kinetis K10 Board V1_2开发板只有512KB Flash和128KB RAM空间,无法固化和运行手持遥控器的软件,所以,选取mini2440开发板作为遥控器硬件平台。
三、系统软件设计原理及方案
1、智能小车
智能小车基于μC/OS-II操作系统采用了多任务并发运行的机制,使得系统具有很好的实时性,它的任务结构图如图7所示。
按照实时系统任务划分原则,每一个I/O设备成为一个任务,则温度、湿度、可燃气体、超声波测距均单独成为一个任务,与Zigbee通信任务之间分别通过一个消息邮箱传递数据,Zigbee通信任务则将数据发送到遥控器。小车控制任务利用消息队列UARTxQ从Zigbee通信任务接收来自遥控器的控制信号,同时结合所查询到的红外避障模块的状态,形成对小车的控制命令,经过消息邮箱MotoCtrlMbox发送到小车运行任务,从控制小车的运行。
2、手持遥控器
手持遥控器同样使用了μC/OS-II操作系统,也采用了多任务机制,而且还使用了GUI软件包设计了图形界面,图8给出了它的任务结构图。
遥控器总共划分了6个任务,其核心了GUI任务,它接收来自触摸屏的按键信息,然后通过消息邮箱将按键信息发送到相应的任务,相应任务接收到后则进行响应,显示相关内容。Zigbee通信任务作为与外界的通信者,一方面从消息队列ControlQ接收来自操作界面任务的小车控制指令,并发送给智能小车;另外一方面将从智能小车收到的环境参数,通过消息队列DataDigitalQ和DataGraphQ,分别发送给操作界面任务和数据图形显示任务,分别以数字和图形的方式在LCD上显示出来。