APP下载

基于Visual Basic的串口通讯和Arduino的智能小车控制系统设计

2016-01-19王飞杨娟娟

科技与创新 2016年1期
关键词:智能小车

王飞 杨娟娟

摘 要:针对智能小车中存在的问题提出相关改进措施,并介绍了一种新的控制系统。该系统是将Arduino作为主控单元,利用Visual Basic开发的上位机软件进行控制,从而进一步提高了智能小车人机交互的功能性。

关键词:Visual Basic;智能小车;Arduino;上位机软件

中图分类号:TP23 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.01.073

智能化是当今世界发展的方向之一,有大批科研人员投身这项工作中。智能化的主控核心在于其控制系统,它的水平决定了智能化的水平。此次设计的智能小车使用两后轮驱动,前轮安装一个导向轮,同时,还为小车安装了超声波测距传感器。此传感器可以让小车在行进的过程中成功避开障碍物,并按指令行驶,这是智能小车的关键部分。它虽然是智能的,但可控性比较差,并不能完全按照人的想法动作。至此,引入上位机软件直接控制智能小车具有操作性强、易于控制的特点。

1 Visual Basic串口通讯简介

利用VB实现串口通信的方法有2种,一种是利用其自身集成的MSComm通讯控件实现与外接设备的通信,另一种是利用通信API函数实现串口通信。

MSComm通讯控件通过串行端口传输和接收数据,并为应用程序提供串行通信功能。PC机通过此控件利用串行口与其他设备连接,从而实现两设备的数据通信。

MSComm通讯控件的主要属性和方法:

Setting:设置并返回通讯参数。

PortOpen:通过设置其值打开或关闭串口。

Input:返回并删除接收缓冲区的数据流。

Output:向传输缓冲区写数据流。

根据程序的功能及其用途,在使用过程中,用OnComm事件和CommEvent属性监视并检测通信事件和错误值。

ComEvSend:发送缓冲区的字符数比Sthreshold。

ComEventRxParity:其值为1 009,奇偶位校验。

ComEvEOF:其值为7,接收文件中出现的结束符。

2 系统设计

2.1 上位机

该系统使用的上位机采用Visual Basic编程(图形化编程),易于理解。上位机主要用于设置该控制系统开关的初始状态,同时,给出Arduino主控单元的控制信号。在控制小车的行进过程中,小车上集成的传感器将信号传送给上位机,上位机实时监控小车的运行速度、方向。

2.2 Arduino模块

在该设计中,将Arduino Uno作为车载核心控制单元。Arduino作为一款便捷、灵活、方便开发的开源平台,通过外接各种传感器感知环境,通过电机、灯光和其他装置作出反馈。Arduino Uno主要包括1个9 V DC输入、1个USB接口、14个数字IO口、6个模拟IO口、1个5 V DV输出和1个3.3 V DC输出。其核心是1片ATmega328芯片。

2.3 电机模块

小车采用双直流电机驱动模式,2台电机分别安装在小车后侧,前轮采用导向轮导向。2台直流电机利用直流电机驱动芯片LN298驱动。因为LN298无法控制电机转速,所以,可以通过调节驱动电机的PWM信号脉宽改变电机输出功率,从而控制电机转速。

2.4 超声波测距模块

该超声波测距模块的有效距离为2~30 cm,工作电压为3.3~5 V,是由发射电路和接收电路组成的。在探测距离时,当经由发射电路发射管发出的管线遇到障碍物时,反射回来的光线会经过电路处理后输出1个数字信号给主控单元。此外,此模块还具有易于调节和控制、使用方便的特性。

3 算法分析

3.1 系统流程分析

在智能小车行进的过程中,它四周安装的4个传感器可实时检测小车周围是否有障碍物。当信号经过电路处理后,通过Arduino控制单元转换,不断地将数据传送给电脑终端,在上位机上显示与障碍物的距离,并利用上位机发送控制信号,从而实现对小车行进的控制。系统流程如图1所示。

3.2 避障代码

根据避障原理编写程序,实现小车的避障功能。该程序主要分为电机、超声波测距2部分。电机部分由analogWrite()、digitalWrite()分别控制车速和小车行进的方向;超声波测距部分由Trig-Pin控制超声波输出,控制模块通过处理接收到的脉冲时间,将其转化为距离参数,从而求得小车与障碍物的实际距离。

4 试验测试

智能小车制作完成后,要测试小车的避障功能。试验时,选用一块有多种障碍的平板,让智能小车在行进过程中判断周围是否有障碍物,然后将其与障碍物的距离实时传送到上位机,通过上位机发出的动作指令控制小车的运行方向。

5 结论

基于Visual Basic的串口通讯和Arduino的智能小车控制系统采用上位机与控制单元联合控制的方式,控制过程体现了交互式设计的优势,能有效提高智能小车的使用率。

参考文献

[1]李江全.Visual Baisc串口通信及测控应用实例讲解[M].北京:电子工业出版社,2013.

[2]戴圣伟,陈白帆,范绍成.无线遥控智能车的控制研究[J].计算机测量与控制,2011(09).

[3]戈惠梅,徐晓慧,顾志华,等.基于Arduino的智能小车避障系统的设计[J].现代电子技术,2014(11).

〔编辑:白洁〕

猜你喜欢

智能小车
基于STC89C51智能小车的移动家居平台的设计
基于HC—SR04超声波传感器的智能避障小车设计
智能安全防盗探测小车