时间:2024-05-04
过怡 王云宝 董亚萍
摘 要:文章设计一种基于Andorid移动终端控制的智能小车系统,小车采用四轮结构,8组红外对管对黑色轨迹进行循迹,利用超声波传感器进行避障。S5PV210微控制器系统进行传感器控制及小车循迹。Andorid移动终端通过WiFi模块与S5PV210微控制器进行数据通信,实现小车的灵活控制和信息的实时采集。
关键词:循迹;Andorid:S5PV210:WiFi
智能小车的应用领域十分广泛,目前智能小车的设计和研发过程中通常通过串行口与PC连接进行数据的传递,PC机上的上位机软件系统通过串行方式将控制数据传递给智能小车,然后将小车放到场地中运行,一旦小车开始运行,无法根据小车实际运行情况实时改变参数和获得小车的运行参数。部分智能小车虽然可以通过无线遥控方式控制移动小车动作,但是局限于特定环境并且上位机系统无法获得实时运动情形[1]。这样对小车的调试和设计带来困难,延长了小车设计调试的时间。
本文采用无线WiFi模块将智能小车与移动终端(Android手机、平板电脑等)相连,利用移动终端良好的图像界面,便于携带,随处移动等特性,代替传统PC机的上位机系统,可以遥控智能小车的运动,并根据小车的实际运行状态随时发送修改参数,并获得智能小车的参数信息,大大提高了智能小车调试测试的效率。
1 系统整体结构
移动终端上运行上层控制软件,用户在上层控制软件上设置相应参数,移动终端将控制命令通过WiFi发送给智能小车控制板上的WiFi模块,WiFi模块将数据以串行方式发送给S5PV210微控制器,S5PV210微控制器根据控制命令驱动电机控制车轮以一定速度行进,S5PV210微控制器底层代码定时获取红外传感器和车轮码盘数据以调整车轮转向和速度,实现沿黑线循迹,同时定时获得超声波传感器数据实现避障。用户需要查看小车的参数时,可以在上层控制软件上选择显示信息,S5PV210微控制器将采集到的超声波、光照、码盘等信息发送给移动终端并显示在上层软件界面上。本系统结构如图1所示。
2 系统硬件设计
2.1 核心控制模块
系统采用的核心控制器是三星公司生产的SPS5PV210,是一款32位的RISC处理器,基于ARM的V7架构,低功耗、低成本、高性能。片上具有丰富的资源:用于安全启动的片内ROM/片内RAM。8位ITU601/656摄像头接口,最大支持8M像素裁剪图像,以及64 M像素的未裁剪图像。3通道的24位IIS接口。一个3通道的IIC总线控制器。一个2通道的SPI总线控制器。4通道UART接口,包括一个4M波特率的蓝牙2.0接口。一个红外传感器端口。24通道的DMA控制器。10通道的12位混合ADC接口。可配置的GPIO資源。实时时钟/PLL/看门狗等片上外谢[2]。完全可以满足本系统WiFi数据的处理和传输、底层传感器数据的采集和处理。
2.2 红外线循迹模块
本系统循迹采用了8组红外对管来循迹黑色路径,红外发射管发射红外线到地面上,如果遇到黑色循迹线,则被吸收,不能反射给红外接收管,当遇到循迹线外的其余白色区域时,将产生反射信号给红外接收管。SPS5PV210的GPIO A口读取红外接收管的数据,并对数据展开成8位二进制位进行判断,如果是中间2位为0,则表示小车正对循迹线前进,不需要对小车位置进行修正,全速前进即可;如果是中间偏左的2位为0,则表示小车出现了左偏,此时需要调整左右车轮的速度,即左轮增速,右轮减速,来调整小车的位置,使它再次正对循迹线;如果是中间偏右2位为0,则表示小车出现右偏,同样通过调整左右车轮的速度,左轮减速,右轮增速,来调整小车位置,使它正对循迹线。红外接收电路原理如图2所示。
2.3 超声波避障模块
小车在循迹线路上如遇到障碍物,能及时停止,并进行左转或右转绕行。本系统采用超声波传感器来测量前方障碍物的距离。超声波传感器包括发射传感器和接收传感器,超声波发射传感器发出超声波,同时SPS5PV210片内定时器开始计时,超声波在遇到障碍物时会立刻反射回来,超声波接收传感器接收到反射波,同时停止计时。通过定时器记录的时间差确定与障碍物距离。超声波发射电路原理如图3所示。
2.4 无线WiFi模块
WiFi模块采用深圳市海凌科电子有限公司的HLK-RM04(串口一以太网一无线网)模块,该模块内置TCP/IP协议,可以与核心控制模块中SPS5PV210片内的串行接口进行网络数据的传输[3]。只需将WiFi模块设置为服务器模式,设置好端口地址、IP地址、WiFi名称和密码,该模块就能将接收到的WiFi数据通过串行方式发送给SPS5PV210,SPS5PV210只需设置串行口中断,就能实时接收移动终端发来的控制信号。SPS5PV210片内的串行模块不需要做任何特殊配置。WiFi转串口电路原理如图4所示。
3 上层软件系统设计
上层系统采用移动终端(Android手机、平板电脑等)代替了传统的PC机,因此上层软件开发采用Android平台进行,开发工具为Elipse,Java jdk7,Android SDK。上层系统的界面如图5所示,在此操作界面上用户可以输入小车的行驶速度,码盘值,控制小车的运行方向:前进、后退、左转、右转、停止、按设定路线循迹。当点击显示输出信息按钮时,用户可以在图5界面下方看到如图6所示的超声波测距数据和当前的码盘值。在软件的单击事件中首先获得用户设定的速度和码盘值,然后对按钮类型进行判断,最后将获得的上述信息转换成指令发送给小车。上层软件系统与小车直接通信可以采用基于ASCII字符和基于二进制流两种实现方式。采用二进制流方式进行数据传输虽然实现较复杂,在每帧数据前后需要添加帧头和帧尾来分割数据,但是数据传输的量要明显小于ASCII字符方式,可以大大提高数据发送的效率。本系统设计一种基于Modbus-RTU协议框架的二进制通信协议[4],上层系统发送协议的帧格式如表1所示。
4 结语
本系统改进了传统的使用PC机作为上位机系统进行智能小车控制的方式,采用移动终端作为上位机系统,使对小车的控制操作更加灵活方便,实时性更好。智能小车目前可以完成手动控制下的前进、后退、左转、右转,和自动控制下的按设定路径循迹,如需改变路径则要重新编写底层代码,因此,还不够灵活,在后期还需进一步改进。
[参考文献]
[1]卜雪民,钱峰.基于的智能车辆系统移动小车的设计[J]电子测量技术,2007 (10):80-83.
[2]三星公司.S5PV210 RISC Microprocessor Data Sheet [EB/OL].( 2010-02-10) [2017-10-16].http://www.samsungsemi.com.
[3]深圳市海凌科电子有限公司.HLK-RM04说明书[EB/OL].( 2013-06-29) [2017-10-16].http://www.hlktech.com/.
[4]全国工业过程测量和控制标准化技术委员会GB/Z 19582.1-2004基于Modbus协议的工业自动化网络规范第1部分Modbus应用协议[S]北京:中国标准出版社,2004.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!