1前言
随着传感器技术和自动化控制技术的飞速发展,机械、电气和电子信息已经没有明显的界限,正逐渐融合。汽车作为机械行业的代表产品,与电子信息业的融合速度也大为提高。智能汽车就是在普通汽车的基础上加入传感器、控制器、执行器等装置,通过车载传感系统和信息终端进行人、车、路等的智能信息交换,最终实现行车的环境感知、科学的规划决策、多等级辅助驾驶,以实现最终的无人驾驶等功能。智能汽车是汽车行业发展的趋势,在此背景下,我们设计了智能循迹小车,该智能小车是通过计算机编程实现对小车的控制,不需人为判断控制,是一个集环境感知、自动行驶等功能为一体的综合系统。该智能小车的成功研究有助于现在智能车辆的研制与开发,也给交通工具的发展提供了一个合理可行的方向。2设计原理与方案
2.1 整体设计
智能小车能够沿着给定路线(白
线或者黑线)前进,当遇到障碍物时,
红外发射管发射的红外线被反射到红
外接收管,传感器检测到这一信号就
可确认前方有障碍物,并将信号传送
给单片机,单片机进行一系列分析处
理,由内部程序控制小车停止、后退、
转向,从而实现避障功能。当前方无
障碍时,红外线随传播距离而逐渐衰
弱,小车继续沿着线路前行
51汽车网。
图2-1 整体设计框图
各核心模块元器件如下:主控
电路采用STC89C52单片机;循迹
避障模块采用红外收发管传感器;电
L293D电机驱动芯片。电源模块使用
6v直流电源(4节1.5V干电池)。程
序控制采用C语言进行编程控制。
2.2主控系统
主控系统使用STC89C52单片
机作为控制芯片,是小车的大脑。
STC89C52是STC公司生产的一种低
功耗、高性能CMOS8位微控制器,
具有8K可编程可擦除Flash存储器。
STC89C52使用经典的MCS-51内核,
对传统的51单片机进行了优化升级,
做了很多的改进使得芯片具有传统51
单片机不具备的功能。它拥有灵巧的
8位CPU和可编程Flash,能够为众
多嵌入式控制应用系统提供高效的解
决方案,它具有控制简单,方便,快
捷的特点。
基于单片机的智能循迹避障小车的设计与实现
湖北师范大学计算机科学与技术学院 陈梦婷,胡白燕,黄璨
摘 要 :以STC89C52单片机为控制核心的智能循迹避障小车,以L293D驱动芯片实现对直流减速电机的驱动。采用红外探测法实现信号检测,通过红外发射管和接受管来感知给定黑轨迹和障碍物,将感知的信号返回给单片机,然后单片机对不同信号进行区分,结合软件编程控制小车前进、后退、左转、右转,从而实现循迹避障功能,即在有轨迹的地方小车能沿轨迹行驶,当遇到障碍时小车能够自动避开。
关键字:智能小车;STC89C52;L293D;红外收发管;直流减速电机
相关项目:湖北师范学院2015年度教学改革与研究项目2015008《物联网工程组网技术》教学与实践方法的探索与研究
图2-2 STC89C52引脚图
单片机的最低配置,主要由电源电路、复位电路、振荡电路及拓展部分组成。
图2-3 单片机最小系统
2.3电机驱动模块
我们采用两个电机驱动实现前进、后退、左右转向等功能。当左轮电机转速高于右轮电机转速时小车向右转,反之则向左转。控制车轮的转速采取PWM调速法,即由单片机输出一系列频率固定的方波,再通过功率放大来驱动电机,通过编程使单片机改变输出方波的占空比就可以改变加到电机上的平均电压,从而可以改变电机的转速。左右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。
2.3.1电机选择
普通的直流电机,转速较高,速度难以控制,力矩小,但我们设计的小车速度需要得到控制,因为如果转速太快根本来不及控制,而直流减速电机刚好可以克服普通直流电机的缺点。
2.3.2驱动芯片
驱动芯片选择美国德州仪器(Texas Instruments)生产的微型电机驱动集成电路芯片——恒压恒流桥式驱动芯片L293D,它连接简单,它支持4.5—36V电压,最大输出电流为1A,是智能小车必备利器。由于其驱动能力有限,多应用于小型机器,一般构成双电机驱动电路,刚好适合驱动我们选用的两个直流减速电机
。
图2-4 L293D引脚图及真值表
引脚功能:
ENABLE1:接单片机输出口,驱动电机A的输入引脚,高电平有效;
INPUT1:接单片机输出口,输入1,使OUT1输出高电平;
INPUT2:接单片机输出口,输入0,是OUT2输出低电平;
OUTPUT1:接电机一个引脚,给该引脚输入高电平;
OUTPUT2:接电机另一个引脚,给该引脚输入低电平;
GND:接地;
Vs:接电机驱动电压(6v);
Vss:接单片机5v数字电压。
若IN1为高电平,IN2为低电平,电机正转,若IN1为低电平,IN2为高电平,电机反转。
图2-5电机连接图
2.4循迹模块
设置轨迹为白地面上的黑线,约2cm宽,理论上小车会沿着黑线走。我们采用两对对地红外收发管至于车体前段,与地面相隔1cm左右,红外发射管发射红外线,接收管时刻准备接受信号,若红外线在白的地面上反射回接受管,接收管的电阻会发生变化,此时电压比较器的三极管导通,输出为低电平,
通过接收管把信号送回单片机进行处理,即此时I\O口检测到的是低电平,从而完成相应的动作,如果是黑的线路,则信号被吸收,三极管截止,输出高电平,没有信号返回,单片机I\O口检测到的是高电平,根据程序也会做出相应的动作。从而实现了通过红外线检测信号的功能,单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
2.4.1 LM393电压比较器
比较器使用LM393双路电压比较器。一般的放大器都工作在放大区,也就是线性区。如果输入放大器的信号幅度过大,超出了其线性范围,那么电路就很容易进入饱和区,工作于饱和或截止状态。电压比较器可以看作是放大倍数接近“无穷大”的运算放大器,两个输入端之间只要有一点电压差,就可以使输出达到饱和。LM393由两个独立的精密的电压比较器组成,它的作用是比较两个输入
电压,根据输入电压的高低来改变输出电压的高低
。
图2-6 LM393引脚图2.5避障模块
小车的避障功能电路由单片机、电压比较芯片、车头左右反射式红外收发管等元器件实现。避障传感器基本原理同循迹传感器基本原理相同,是利用物体的反射性质。2.6电源模块
考虑到本系统芯片需要5v工作电压,电机需要6v工作电压,因此我们采用6v单电源供电,由4节1.5v干电池提供,刚好能满足系统需求,电池更换比较方便。2.7程序控制系统
选用C语言来实现程序控制。C语言程序和汇编程序是在Keil环境下编写的,Keil软件中包含有STC89C52单片机的库文件,申明了寄存器信息。程序通过单片机程序下载软件STC_IS下载烧录到单片机,若硬件系统无误程序正确就小车可以实现预期功能。
3 硬件设计
3.1系统总体介绍
该系统以STC89C52单片机为控制核心,除了必要的单片机最小系统电路外主要由电机驱动电路、循迹模块电路、左右避障电路构成。
3.1.1
总体设计
图
3-1 总体设计框图
图3-2 系统电路图
3.2 驱动模块设计图3-3 L293D驱动模块电路图
3.3 信号检测模块
该模块采用红外探测法实现,即利用红外线在不同颜物体表面有不同的反射性质的特点。红外发射管发射出的红外线经过路面或者障碍物反射到红外接收管,若检测到黑轨迹红外线会被吸收,检测到白地面红外线被反射回来,接收管将把接收情况以数据信号“0”和“1”的形式反馈给单片机进行处理。
3.3.1循迹模块
小车头部对地设有两对红外收发管,实现两路循迹
。
图3-4 循迹模块电路图
3.3.2避障模块
小车头部两侧,分别设有红外收发管,实现左右避障
。
图3-5 避障模块电路图
4 软件设计4.1
主程序框图
图4-1 主程序框图
4.2 循迹模块
通过前方的红外探头检测地面的信号,当道路为白时,接收到信号,相应端口低电平,当道路为黑时,相
应端口为高电平,据此进行循迹。因为道路建立不同,需要根据实际的需要来改写相应的延迟时间以适应角度转弯保证小车正确运行。
在初始状态下,如果黑轨迹在两对红外收发管中间,则四个红外管状态用数据信号1、0、0、1表示,当轨迹向右延伸时,即黑线在小车右侧,对应的状态为0001,小车需要右转,此时对应的状态,0001,0011,0111,1011,1001。同理,左转时对应的状态为1000,1100,1110,1101,1001。当到达终点时,红外收发管检测不到黑线,对应状态为0000,循迹停止。
4.3避障模块
避障使用红外探头,当前方有障碍物时,红外接收到信号,与黑接收管检测的红外相应端口低电平,我们就
可以根据这和判断条件来进行条件来进行障碍识别。由于
红外接收头对光线要求较高,所以对于黑白两种颜选择对比度高为好。
5 讨论
在制作过程以及程序控制中遇到过很多问题,现选取其中具有代表性问题进行分析。
问题一:小车焊接完成后一个电机不转
分析:(1)焊接错误
(2)电路线路问题
(3)电机自身故障
(4)驱动程序错误
解决方案:对可能出现的错误进行排查,检查是否虚焊漏焊,用电压表测量电机接口是否有电压,给电机通电测量是否有电流通过,查看修改驱动程序。经过排查发现底板上电机接口没有电压而备用接口有电压,初步判定电路走线有问题,将电机接到底板上备用接口,电机转动。
问题二:小车不能实现避障功能,指示灯不亮
分析:(1)焊接问题(虚焊漏焊、极性焊反)
(2)电路走线问题
(3)红外发射或接受管故障
(4)程序编写问题
解决方案:经过排查,发现红外管有虚焊的情况,重新焊接后左右避障指示灯随着障碍物远近熄灭或亮起。
问题三:小车能够实现循迹避障功能,但在实际测试时不是特别灵敏,转弯时容易跑偏,有时无法绕开障碍物。
分析:(1)电压不够
(2)红外收发管老化
(3)环境光线干扰
(4)程序有待完善
经分析,初步判定是多种问题综合导致小车不够灵敏。该设计采用4节干电池提供的6V电压同时给6V电机和5V单片机供电,在多次测试后电压不可避免的会有损耗,会使电机动力不足;经测量,红外管正反向电阻并不是相隔特别大,尤其是反向电阻虽大于正向电阻但阻值只有十几欧,同时焊接完成后时间长了红外管难免会有磨损,导致红外管出现老化。红外管对光线要求较高,容易受到周围环境的影响,特别是在较强的日光灯下,对检测到的信号有一定的影响,因此环境光线也会影响红外线的传输反射。6 结论
以STC89C52单片机为控制核心,以L293D驱动芯片实现对直流减速电机的驱动设计了智能循迹避障小车。经制作与实验,小车通过红外线进行信号检测,能感知黑轨迹和障碍物体,并将感知的信号返回给单片机,通过软件控制小车前进、后退、左转、右转,从而实现循迹避障功能。达到最初的设计要求。
参考文献
[1] 谭浩强.C语言程序设计(第四版)[M].北京:清华大学出版社, 2010.
[2] 王晋凯.简简单单学通51单片机开发[M].北京:清华大学出版社, 2014:1-24.
[3] 刘晋峰.玩机器人学单片机[M].北京:电子工业出版社,2013:88-111.
[4] 顾,蒲双雷.基于单片机的智能小车避障循迹系统设计[J].数字技术与应用, 2012:22-23.
[5] 杨代强.基于单片机的智能玩具电动车的设计与实现[D].成都:电子科技大学, 2012.
[6] 宋受俊.基于单片机的电机运动控制系统设计[D].西安:西北工业大学, 2006.
[7] 李明平.机器人避障模块的设计与研究[D].北京:中国石油大学, 2007.
[8] 邸兴.嵌入式红外通信系统及其应用研究[D].陕西:西北大学, 2009.
[9] 段峰蛟.比较器循迹小车[EB/OL].(2011-03-26).[2016-04-18]. wenku.baidu/view/56b1330eba1aa8114431d963.html [10] 雷道仲.智能循迹小车设计与制作[EB/OL].(2014-08-02). [2016-04-19].
www.docin/p-880412832.html
作者简介
陈梦婷(1992-),女,本科,研究方向:物联网技术、机电技术
胡白燕(1981-),女,硕士,湖北师范大学计算机科学与技术学院教师。主要研究领域:机电技术、通信与网络、物联网组网技术等。
黄璨(1994-),女,本科,研究方向:物联网技术、机电技术
发布评论