APP下载

智能小车无线环境监测系统设计

2018-07-04

计算机测量与控制 2018年6期
关键词:上位串口小车

(1.西安科技大学 电气与控制工程学院,西安 710054; 2.中国移动通信集团设计院有限公司 陕西分公司,西安 710065)

0 引言

近几年我国工业的迅速发展对工业生产车间和仓库中的环境信息监测提出了更高的要求。针对传统有线监测方式会导致人力及物力资源的极大消耗,运行成本高及信息反馈滞后的不足,系统采用无线智能小车来对环境数据进行实时采集并在上位机进行显示、存储及报警等。

无线智能小车是移动机器人的一个重要分支,其特点是可以在复杂环境中自动控制小车避开障碍物按照预定路径行进。智能小车上的传感器可实时采集复杂环境中的重要信息以实现某种特定的功能,弥补了传统监测系统的不足,具有一定的实用价值[1]。

1 系统总体设计

系统设计一个基于LabVIEW的无线智能小车系统,分为上位机和下位机两个部分,下位机的控制模块由STM32F-103RCT6作为控制核心;执行机构模块具有行走和越障功能,既可通过上位机远程手动操控小车进行基本行走,也可切换到自动寻迹模式中利用红外对管传感器探测周围的环境信息,进而对前方的障碍物做出及时反应;传感器模块负责采集障碍信息和环境信息,对当前环境温湿度、烟雾和光强数据进行采集,并通过人机接口模块将数据无线传输给上位机界面,利用LabVIEW软件的图形化编程语言,设计上位机并实现数据的实时曲线与仪表显示,历史记录与存储,报警处理等功能[2]。系统的总体设计方案如图1所示。

图1 系统总体设计方案

2 系统硬件设计

2.1 智能小车下位控制器设计

为了实现编程方便快捷,系统设计可靠性高的目的,本系统采用的控制器为STM32F103RCT6芯片,它拥有增强的I/O和外设广泛的特点,有3个12位ADC,4个通用16位定时器和两个PWM定时器,具有先进的通信接口,具有用于扩展资源的2个I2C,3个同步串行外设接口SPI,5个串口通信USART,1个USB可供使用,该款ARM拥有丰富的资源,用起来方便快捷、可靠性相对较高[3]。

2.2 智能小车寻迹避障模块设计

智能小车寻迹的实现主要利用小车前方的两个左右光电传感器检测黑白线,实现小车能跟着白线行走,同时也可避开障碍物,即在寻迹过程中,若遇到障碍物可自行绕开,绕开后继续寻迹。光电传感器实际为红外对射管,由红外发射管和接收管组成。光电传感器利用黑白线对红外线不同的反射能力,通过红外接收管接收发射回的不同光强信号并转换为电流信号,最后通过电阻转换为控制器可识别的高低电平。

当小车跟着白线前进时,如果向左偏离了白线,则右边的传感器会产生一个低电平,控制器判断这个信号,然后右拐,回到白线后,两个寻迹传感器输出信号为高电平,小车继续前进,两个寻迹传感器放置在白线的外侧,紧贴白线边缘[4]。

2.3 智能小车传感器模块设计

智能小车上安装的检测外界温湿度数据的传感器为DHT11,具有响应快、抗干扰能力强和性价比高的优点[5];采用光敏电阻模块来检测外界光照强度,工作电压为3.3 V到5 V,灵敏度可调,比较器选用LM393,工作稳定;采用MQ-2传感器来检测工厂、仓库的烟雾浓度,该传感器采用的是二氧化锡半导体气敏材料,属于表面离子式N型半导体,通过它使用简单电路就可将电导率的变化转换为气体浓度相对应的输出信号,是一款适合多种应用的低成本传感器。当它与烟雾接触时,会引起电导率的变化,从而获得烟雾存在的信息,烟雾浓度越大,电导率越大输出电阻就会越低[6]。

2.4 智能小车无线模块设计

无线接收发射模块的设计是个重点,它是连接各采集点与上位机的纽带。无线模块对环境较为敏感,同时无线模块的功耗以及传输距离也是影响系统可用度的一个因素,所以必须选用能自己检测传输错误,功耗小并且传输距离长的无线模块。

相比蓝牙串口模块传输距离短,成本较高的缺点,智能小车监测系统使用无线模块NRF24L01对小车进行远程操作,同时各路传感器数据的传输也通过该模块。NRF24L01是无线收发一体模块,内置2.4 GHz 天线,采用跳频技术可以有效减小同频干扰,具有信道多的优点,收发一体用起来比较方便,速度快,相同时间内传输的数据量大,工作电压在1.9伏到3.6伏之间,传输速率为54 Mbps,因为在空中传输的速率非常的短,所以有效的避免了无线传输中的碰撞现象[7]。

2.5 智能小车报警模块设计

当采集的温湿度、光强和烟雾数据发生异常时,监测系统会在上位机进行指示灯报警和声音报警,同时在下位机使用SIM900A模块给指定的电话号码打电话,提醒监测人员采取措施。报警模块使用控制器的串口3进行数据通信,PB10端口和PB11端口分别与SIM900A模块的TXD、RXD连接,采用单独的供电模块来供电,保证电压5 V以上,因为在打电话的时候模块瞬时电流能够到达2A左右,串口3的波特率为9 600,与串口1的波特率115 200区别开来[8]。

3 系统软件设计

3.1 智能小车下位机程序设计

小车的控制分为自动和手动模式两种,当标志位为0时,小车为自动控制,小车到达规定的轨道,开启寻迹模式,绕着白色轨道行进;当标志位为1时,小车为手动控制,通过上位机LabVIEW来对小车进行前进、后退、左转和右转的控制。小车控制流程如图2所示。

图2 智能小车控制程序流程图

智能小车监测系统中采用L298N驱动模块来控制小车行进,电机驱动模块根据收到的不同信号来实现小车的前进、后退、左转和右转,电机驱动程序流程如图3所示。

图3 智能小车电机驱动程序流程图

小车的下位报警模块程序设计中采用字符串数组来存储AT指令,拨打电话的AT指令为ATD,用于拨打任意电话号码,格式为“ATD+号码+;”,末尾的分号一定要加上,否则不能成功拨号,同时采用串口3的内部函数进行数据发送和接收。

3.2 智能小车上位机设计

上位系统包括上位主控制器STC12C5A60S2单片机和用LabVIEW软件开发的人机界面。上位主控制器配合无线接收模块NRF24L01工作以保证上下位机数据通过串口与人机界面进行正常通信。小车的上位机界面设计中,后面板在While循环中采用3层式的层叠式顺序结构,顺序结构0中进行串口配置,配置信息为波特率115 200,有效数据位为8位,停止位为1位,与下位机程序中串口配置一致,从而实现了串口通信;

顺序结构1中采用case条件结构进行小车控制和数据采集,显示和声光报警。后面板在通过串口对下位环境数据读取时,不进行数据的写入,后面板数据读取程序框图如图4所示,这里采用布尔控件作为数据采集开关来实现数据读取的启动和停止,当开关打开,条件结构为真时实现数据的读取功能;当开关断开,条件结构为假时关闭数据的读取功能,实现数据写入功能,通过一个数据采集开关将串口的读取和写入功能区分开[9]。

图4 后面板数据读取程序框图

通过串口将上位机数据写入下位机的后面板程序框图如图5所示,该面板设计主要为了是从上位机实现对小车的远程控制。

图5 后面板数据写入程序框图

向串口写入的内容主要是:ONA、ONB、ONC、OND、ONE、ONF、ONJ,分别实现小车的前进、后退、左转、右转、自动控制、停车、手动控制,该界面主要采用了Labview中的事件结构控件来实现,当触发不同的按钮时将不同的事件信息写入,并判断应该进行的对应动作。这里要注意,在进行数据写入时必须在字符的末尾加上‘ ’符号,因为在下位控制器stm32的函数封装中,对于字符串的识别只有系统识别到该符号时,才默认接收字符结束,在图5中,将字符串‘ ’的显示格式设置为‘’代码显示。另外在刷新按钮按下之后,能将之前的数据清零,同时会触发文本朗读子VI程序模块以实现当数据超出上限时的声音报警[10-11];

顺序结构2中利用创建数组模块和写入及读取电子表格文件模块将下位机采集到的不同数据进行历史记录与归档,将不同时刻采集的数据以Excel的表格形式存储在D盘以供查询[12]。

4 系统调试

人机界面采用图形化模块语言进行编程,包括小车控制界面,温湿度监测界面,烟雾光照监测界面和历史数据记录界面,以实现小车的手动和自动控制,环境参数的趋势曲线显示、仪表显示和参数超过上限的实时报警、历史报表记录等工作,其中上位机不同环境参数监测界面和历史报表界面如图6所示。

图6 上位机运行界面

从图6的(a)和(b)图可知,湿度参数和烟雾浓度参数超出上限,系统发出声光报警,即上限报警灯变为红色并且触发上位系统喇叭,提醒工作人员尽快采取相应措施。图6(c)是各个参数的历史报表记录,可根据时间进行查看和归档。

5 结论

智能小车无线监测系统将STM32F103RCT6控制芯片与LabVIEW相结合,可自主实现寻迹避障等动作,同时可通过上位机对小车进行高效率的前进、后退、左转及右转控制,利用LabVIEW软件建立上位机界面,通过上位机对环境数据进行采集、显示、存储、报警等。系统的硬件实现模块化设计,可改变或增减传感器监测模块,以满足不同需求,可扩展性强,值得推广应用。

参考文献:

[1] 张 磊.智能小车控制系统的设计[D].吉林:吉林大学,2016.

[2] 周 柱.基于STM32的智能小车研究[D].成都:西南交通大学,2011.

[3] 王晨辉,吴 悦,杨 凯.基于STM32的多通道数据采集系统设计[J].电子技术应用,2016,42(1):51-53,57.

[4] 李 根.基于STM32的车辆智能安全行车控制系统[D].天津:天津职业技术师范大学,2016.

[5] 李长有,王文华.基于DHT11温湿度测控系统设计[J].机床与液压,2013,41(13):107-108.

[6] 孙宝元,杨宝清.传感器原理及其应用手册[M].北京:机械工业出版社,2004.

[7] 高 翔.基于无线通信的电力参数采集与处理系统[D].广西:广西大学,2006.

[8] 张立勋,李雪伟,唐小景.STM32与LabVIEW串行通信的设计[J].煤矿机械,2011,32(5):215-217.

[9] 王显军.LabVIEW对串口采样测量数据的处理[J].电子测量技术,2014(3):107-111.

[10] 李红刚,张素萍.基于单片机和LabVIEW的多路数据采集系统设计[J].国外电子测量技术,2014,35(6):60-63.

[11] 岂兴明,田京京,朱洪岐.LabVIEW入门与实战开发100例[M].北京:电子工业出版社,2014.

[12] 胡乾苗.LabVIEW虚拟仪器设计与应用[M].北京:清华大学出版社,2016.

猜你喜欢

上位串口小车
大车拉小车
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
刘老师想开小车
特斯拉 风云之老阿姨上位
两轮自平衡小车的设计与实现
MCS—51单片机中的多串口通讯技术的应用
去修理厂
基于ZigBee和VC上位机的教室智能监测管理系统
基于VC的PLC数据采集管理系统