基于Arduino控制板的数据采集智能小车的控制系统设计与实现

计算技术与自动化 / 2018年03月29日 20:24

新闻

王尊冉+庞俊腾+陈均健+裴宇+杜启亮��

摘要:为实现具有环境数据采集功能的智能小车控制,设计并实现了基于Arduno控制板的控制系统。选用Arduino Mega 2560控制板为控制核心,搭配DS1B20温度传感器、DHT11湿度传感器、MQ2烟雾传感器、超声波测距传感器、EP8266Wifi通讯模块组成硬件系统;采用PWM脉宽调制技术调节小车行进速度,PID算法调节小车的行进方向。调试结果表明,小车具有基于Wifi的无线遥控操作功能,能够对起所处环境中的温度、湿度、烟雾数据进行实时测量、采集和传输,并能自动检测前方障碍物。证明了基于Arduino控制板的控制系统在环境数据采集智能小车中应用的可行性。

关键词:Arduino;数据采集智能小车;Labview;脉宽调制;PID

中图分类号:TP29文献标识码:ADOI:10.3969/j.issn.10036199.2017.01.014

1引言

在特定环境下,比如隧道、沙漠、危险区域等,如果采用传统的人工方式采集环境数据,实现难度大,可操作性不强,甚至会有安全隐患。而具有数据采集功能的智能小车,可代替或辅助人力完成数据采集的任务,与传统的人工采集方式相比,可操作和实用性更强,环境数据采集难度大大降低,且实现成本一般低于人工采集方式,性价比高。数据采集智能小车应具有远程控制和自适应控制的功能,通过安装各种传感器可实现对温度、湿度、烟雾颗粒度等物理量的采集,并能通过无线通讯返回所采集的环境数据,同时还应具有自动避障的功能。

Arduino是一个开放源代码的单芯片微控制器采用基于开放源代码的软硬件平台,建构于简易输出/输入(simple I/O)界面板,并且具有使用类似Java、C语言的Processing/Wiring开发环境[1]。它将单片机编程中许多常用的功能模块化后封装成一个个子函数,可供开发者调用,所以开发者只需着眼于程序的逻辑实现而不必关心底层函数的具体设计,降低了开发的难度。此外,开发人员可将编写好的程序通过USB下载到Arduino开发板,程序的调试也变得相对容易[2]。

本文基于Arduino控制板设计了数据采集智能小车的控制系统方案,使其具有远程控制和视频传输功能,可实时采集并传输数据信息。

2总体架构

2.1机电结构

本文所述智能小车采用亚克力材料制作车架,采用2主动轮+2从动轮的运动机构,两个直流电机直接驱动主动轮,利用差速实现转向,采用锂电池供电。

2.2控制系统的总体架构

智能小车的控制系统分为几大模块,包括Arduino控制板模块、传感器数据采集模块、电源模块、电机及驱动模块、上位机模块[3]。图1所示为智能小车控制系统的总体架构。

4.1.1整体程序

在程序设计中,一开始程序进行初始条件设置,比如设置波特率、中断条件以及管脚属性。然后进入循环结构,在循环结构中接收数据和处理数据、执行命令、收集数据和发送数据。

当上位机向下位机发送数据,下位机检测有数据输入,则将数据存在接收数据缓冲器中,再利用相关算法将数据转化为可执行命令,从而改变小车的状态,如向左、向右或者进行PID调节等等;当下位机收集完有关环境参数数据后,准备发送数据,则会将数据放在发送数据寄存器,等待程序去执行发送;同时下位机会根据小车状态进行必要的调节,如当小车向前或向后运行时,下位机会通过PID调节去控制小车左右轮子的速度一致。整个过程是不断循环进行。程序流程图如图9所示。

4.1.2运动控制子程序

在整个程序运行中,程序不断循环检测是否有数据输入,如果有就将字符串数据转化为单个字符,然后存到一个数组中,再通过for循环判断命令,对命令做出动作。流程如下:

4.1.3数据采集子程序

各种传感器将数据送到I/O口,等待CPU处理其他事件,然后CPU到达提取数据阶段,会从I/O口提取数据,并转化为字符串类型,储存到内存块中,等待发送[6]。数据采集子程序如图11所示。

4.1.4无线通讯模块

当CUP将数据送到输出数据缓冲区时,WIFI模块会直接在TXD端口将数据送到上位机接口;当上位机将数据送给WIFI模块时,WIFI模块会直接将数据送到Arduino的RXD端口,并存在数据缓冲区。无线通讯模块程序流程图如图12所示。

4.2Labview上位机设计

4.2.1开发工具及关键技术

基于对数据采集和远程控制的需求,以Labview为平台开发一套数据采集系统,通过TCP协议实现PC端上位机界面经Wifi模块与Arduino小车的通讯,具有数据接收、参数设置等功能。程序主要包括两个部分:前面板(即人机界面)和流程图程序[7]。根據TCP协议,设定PC机为服务器,Arduino小车作为客户端,其通讯流程包括:PC 机先对指定的小车Wifi模块端口监听并处于等待连接状态;而作为客户端的数据采集端经Wifi模块端口向服务器端发出连接请后,若PC端响应则可,向客户端发送参数指令,同时也可读取客户端发送的数据,并读取客户端反馈的表示确认握手成功。

4.2.2上位机软件结构设计

上位机结构主要由三部分组成,分别是:

(1)读取并显示客户端发送的数据,其Labview程序图如图13所示,其对应的程序流程图如图14所示。

设置参数,并将其发送到客户端,其Labview程序图如图15所示,其对应的程序流程图如图16所示。

(2)显示客户端采集的视频,其对应的Labview程序图如图17所示,其对应的程序流程图如图18所示。5调试

5.1硬件制作装配调试

整体实物图如下图,超声波测距模块和摄像头安装在车头前中间,其余传感器安装在两边,WiFi模块放置在车的中间,两个电机驱动器安装在中间两边,如图19所示。

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。