基于“STC80C51单片机”的智能小车系统的设计

2016-07-23 20:24罗礼进肖臣鸿刘星倪麒开
电脑知识与技术 2016年17期
关键词:避障循迹

罗礼进++肖臣鸿++刘星++倪麒开++闫飞旭

摘要:以STC80C51单片机为控制核心,集光、电、机、无线通信等技术为一体,运用检测技术、自动控制技术、无线通信技术、电子技术,制作一个可用于特定环境下的智能车辆系统,具有感知环境、规划决策、自主识别路线进行行驶,可实现自主寻迹、自行避障。

关键词:STC89C51单片机;循迹;避障

中图分类号:TP242 文献标识码:A 文章编号:1009-3044(2016)17-0172-02

Abstract: To manufacture an intelligent vehicle system which can be used in a specific environment, the intelligent minicar takes the STC80C51 single chip as the control core, sets light, electric, mechanical, wireless communication and other technologies as one and applies detection technology, automatic control technology, wireless communication technology and electronic technology. It can sense the environment, carry on the planning decision-making and the independent recognition route to carry on the traveling, simultaneously may realize the self seeking track, automatically avoids the barrier.

Key words: STC80C51 single chip, tracking, obstacle avoidance

1 概述

随着社会的进步,物质生活水平与生产水平的提高,人们对智能的要求也在不断提高,其中车辆操控的智能化引起人们广泛的关注,其在交通运输、生产自动化、制造业、危险环境作业等领域有着广阔的研究应用前景。

本设计是一个以单片机为控制核心,以摄像头和光电编码器为传感元件,以电机和舵机为驱动与转向装置的智能控制系统。在设计中运用了检测、自动控制、无线通信和电子等方面的技术,集感知、识别、规划、决策、行动为一体,可在特定环境中完成自主寻迹、自行避障、平稳行驶。

2智能小车系统的总体设计

本智能小车系统是由中央处理器模块、信息检测模块(包括图像采集模块和速度检测模块)、电机驱动模块、舵机控制模块、通信及调试模块、电源模块等组成,其总体结构框图如图1所示。

中央处理器模块选用STC80C51微处理器,是整个智能小车控制系统的核心。图像采集模块采集到的图像数据以及速度检测模块测出的速度信号都需要经过微处理器来进行分析和处理,然后通过电机驱动模块和舵机转向模块控制小车的运行状态,从而实现智能小车稳定自主行驶[1]。

信息检测模块包括图像采集模块和速度检测模块。其中图像采集模块依靠数字摄像头对道路进行监测,由摄像头采集到图像信息,运用灰度处理方法对图像进行处理,转换成控制信号[2]。同时,摄像头采集到图像信息通过Jpge-streamer解码,使之变成JPG格式图片,传送到上位机,实现对小车运行路况的远程监控[3]。速度检测模块是通过光电编码器测速,将小车的速度信息反馈给中央处理器模块,以便进行决策和控制[4]。

电机驱动模块是为智能小车的行驶提供驱动力,同时依据电压大小控制转速原理,将微处理器针对图像采集模块与速度检测模块采集到的数据信号进行表达,从而改变电压占空比来改变直流电机的转速,实现控制智能小车的运行快慢与停止[5]。

舵机转向模块的作用是改变智能小车的运行方向,实现转向功能。在智能小车行驶过程中,由微处理器传送来的控制信号进入调制芯片,获得直流偏置电压。将获得的直流偏置电压与电位器的电压比较,获得电压差输出,电压差传输到电机驱动芯片控制电机的正转与反转[6]。

电源模块为智能小车控制系统中的其他模块提供所需的电源。

3智能小车的硬件设计

为便于测试与调整,采用模块化的设计,按功能的不同设计成六个模块。以下介绍各主要模块的硬件设计。

3.1图像采集模块

图像采集模块的核心部件是摄像头,是由镜头、图像传感器、信号处理芯片三个部分集合而成。本设计采用OV6620CMOS数字摄像头,其内包含356292像素阵列、模拟信号处理器、A/D转换器、数字数据格式化器、寄存器、时序发生器、自动曝光控制、白平衡控制以及视频输出端口、SCCB接口。使用时场中断信号VSYNC引脚连接到STC80C51的中断输入引脚P3.2,行中断信号HREF引脚连接STC80C51的中断输入引脚P3.3,数据输出口Y0-Y7引脚连接到STC80C51的GPIO引脚。

3.2速度检测模块

速度检测模块采用反射式增量编码器完成速度信息的采集。编码器包括印刷有黑白条纹的码盘、红外线发射器和接收器,码盘紧附在车轮的轮盘上,红外线发射器和接收器对准码盘。发射器发出的红外光照射到码盘上,反射产生与车轮速度成正比的光脉冲信号,投射到接收器,然后转换成电脉冲信号, 再传送到微处理器进行计数即可算出小车的运行距离和速度。本设计方案采A6A2-CW5C增量式旋转编码器,其具有较宽的工作电压(5V-24V),工作电流小于20mA,分辨率达500p/r。

3.3电机驱动模块

电机驱动模块由直流电机和驱动芯片两部分组成。本设计中电机选用RS-380SH电机,是属无刷直流电机,具有0.1W-40W的输出功率。驱动芯片选用LMD18200驱动芯片,是集成有CMOS控制电路以及DMOS功率器件的专用于直流电动机驱动的H桥组件,工作电流为3A-6A,可产生足够大的驱动功率。图2是由LMD18200和RS-380SH构成的电机驱动电路。PWM波由LMD18200的5脚输入,借助调节PWM的占空比就可改变电机的转速,电机的正反转是通过改变3脚电平的高低来实现。此电路具有驱动能力强、运行稳定、操控方便等优点。

3.4舵机控制模块

舵机控制模块由直流电机、减速齿轮组、舵盘、位置反馈电位计、控制电路等组成,一般把这几部分集成为一体式。本设计中采用Futaba S3010型舵机。图3为舵机转角与PWM脉宽关系曲线,即舵机的输出转角度数与输入的PWM信号值呈线性关系。图4为舵机接口示意图,单片机凭借摄像头收集到的道路信息,通过计算分析,输出PWM控制信号,传送到舵机的PWM输入端,经由舵机控制,改变输出转角,实现小车的转向。

3.5电源管理模块

该模块由蓄电池和稳压电路组成。蓄电池选用7.2V、容量为2000mAh可充电式的镍镉蓄电池。因为智能小车各个模块的工作电压不同,为此设计了相应的稳压电路,将镍镉蓄电池的电压转换成各个模块所需要的工作电压,并采取稳压措施。

4智能小车系统的软件设计

4.1图像采集及黑线提取算法

OV6620摄像头每秒可采集25帧50场14600行图像信号。为减轻处理器的负荷,提高处理效率,根据道路的特点,只需利用每帧图像的部分行信号,就可完成小车的导航。考虑到摄像头的拍摄位置、道路的情况等因素,经过反复的比对调试,我们采用了从100行到400行的图像信号作为提取信号。

为了从提取的图像信号中获取黑线位置,我们采用跟踪边缘算法。这是一种在直接边缘算法的基础上改进而成的算法。直接边缘算法的要点是对提取的每行信号进行逐点灰度值的比较,根据相邻两点的差值是否大于设定的阈值来获得黑线的两个边缘位置坐标,取其平均值作为黑线位置。这种算符因需要对每个像素点进行比对运算,占用的资源较多,影响运算速度。而经过改进的跟踪边缘算法,根据相邻两行的黑线位置比较接近的特点,在利用直接边缘算法找出第一行(或前几行)黑线位置的基础上,在寻找下一行黑线位置时,可在上一行黑线位置的附近寻找即可,无需逐点寻找。这样可节省大量资源,提高运算的速度与效率。

4.2电机和舵机控制算法

为确保对小车实现精准、快速、平稳的控制,我们对小车运动状态的控制部分采用了控制算法中应用较广且效果良好的PID控制算法。PID控制是将从控制对象采集到的数据反馈到控制器的输入端并与基准值进行比较,得出差值,再依据差值进行比例(P)、积分(I)和微分(D)运算,计算出控制量,传送给控制对象对其进行闭环控制。考虑到控制受车的重量、道路的不平以及小车过去的运动状态等因素的影响,为获得更佳的控制效果,进一步采用PID控制算法中的增量式PID控制算法。其闭环控制如下图5所示。

根据电机控制与舵机控制的不同特点,以及电机与舵机执行能力的差别,尤其要考虑舵机内部已有反馈系统,响应能力更强,所以要分别对电机控制和舵机控制设置相应的比例控制参数、积分控制参数、微分控制参数,并反复进行调试。

5总结

本设计的智能小车系统,经过反复的调试后,性能良好,响应灵敏、控制准确,运行平稳,可完成以下任务:1)在特定赛道上的平稳运行,包括起步、直线行驶、转弯行驶、S弯道行驶、停止;2)避障,即在运行过程中遇到障碍物,能完成躲避绕行;3)直线上坡和直线下坡;4)实时通讯,实施显示小车当前的道路状况、小车的计算轨道、小车的运行状态参数。

参考文献:

[1] 王长涛,韩忠华,夏兴华.单片机原理及应用——C语言程序设计与实现[M].北京:人民邮电出版社,2014:98-158.

[2] 王建飞.基于单片机控制的自动往返小汽车的新设计[J].现代与电子技术,2006,234(19):127-129.

[3] 蔡福喜,黄大贵.基于模块化设计思想的测控系统框架设计[J].测控技术,2009,28(1):55-61.

[4] 吴建平,殷战国,曹思榕.红外反射式传感器在自主式循迹小车导航中的应用[J].中国测试技术,2004,48(11):21-23.

[5] 沙文,陈诚,葛立峰.基于单片机控制AD9851的信号源研究[J].微处理机,2010,31(1):116-121.

[6] 黄大志,周庆贵,陈业强.基于单片机轮式寻迹机器人控制系统的设计[J].机床与液压,2009,37(8):350-352.

猜你喜欢
避障循迹
基于DFT算法的电力巡检无人机循迹检测系统设计
Electron-impact ionization cross section calculations for lithium-like ions
基于单片机的智能循迹小车的设计
智能差分循迹小车设计
基于HC—SR04超声波传感器的智能避障小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究
电动小车的循迹