基于STC89C52RC单片机的智能小车设计
【摘要】系统采用两片STC89C52RC单片机为核心控制器,结合红外收发对管、光电传感开关等模块,完成了履带式电动小车在赛道内安全行进、后车在规定区域超前车等功能。单片机通过检测四个红外光电收发器和安装在车前后部的光电传感开关,从而控制左右两个电机来控制小车的行进。光电传感器可以保证两个小车在行进时保证距离差一定,从而可以以固定模式进行超车。同时小车可在边缘黑胶布线内安全行驶而且不会发生碰撞。设计中,在超车区域两辆小车通过光电传感器进行通信,其中车前部和后部不同位置的光电传感器,都是保证快车与慢车的距离差保证一定距离的设计,可将两小车行使间距固定,从而使多次超车更加容易控制。
【关键词】STC89C52RC;智能小车;超车;红外收发管;光电传感器
一、系统方案
1.1 功能与要求
1.1.1 功能
甲车车头紧靠起点标志线,乙车车尾紧靠边界,甲、乙两辆小车同时起动,先后通过起点标志线,在行车道同向而行,实现两车交替超车领跑功能。跑道如图1-1。
1.1.2 设计要求坦克撞汽车
(1)甲车和乙车分别从起点标志线开始,在行车道各正常行驶一圈。
(2)甲、乙两车按图1所示位置同时起动,乙车通过超车标志线后在超车区内实现超车功能,并先于甲车到达终点标志线,即第一圈实现乙车超过车。
(3)甲、乙两车在完成(2)时的行驶时间要尽可能的短。
(4)在完成基本要求后,甲、乙两车继续行驶第二圈,要求甲车通过超车标志线后要实现超车功能,并先于乙车到达终点标志线,即第二圈完成车超过乙车,实现了交替领跑。甲、乙两车在第二圈行驶的时间要尽可能的短。
1.2 系统分模块比较与论证
本系统主要由车体、控制器、电机驱动、红外收发传感器、无线收发模块、测距模块组成,
现做比较分析如下。
1.2.1 车体的选择比较
方案一:采用四轮双电机电动车。这种电动车具有灵活性和体积较小的优点。但是一般的说来,它还具有如下缺点:首先,这种电动车结构简单,车轮较小而且容易与赛道表面打滑,虽然能够通过两个电机来实现转向,但是不容易控制。其次,这种电动车一般都是两个直流电机通过联轴器带动小车,力矩小,空载转速快,负载性能差,不易调速。
方案二:采用带舵机的电动小车。前端加舵机的电动小车可以精准的控制其转弯方向,能较好的完成题目赛道里的转弯要求。但是舵机小车的转向需要通过MCU对光电收发器进行信号采集,通过处理分别发送给电机和舵机从而控制小车的前进。其优点是转弯精确,能较好的完成转弯路径的实现,但相对其他类型小车成本高,控制较复杂。
方案三:采用履带式电动小车。选择RP5底盘的小车,它是大功率坦克车体,采用带电感的大扭力260马达,组合斜齿+金属齿,形成大扭力系统,具有动力性能强、底盘稳定性高、可原地转圈、转弯灵活精确等特点。履带小车可以完成本次题目的要求,达到转弯灵活,转弯角度可调,可满足小车运行平稳等要求,而且控制两个直流电机相对简单。
综上,选择方案三,使用RP5底盘履带式电动小车。
1.2.2 控制器的选择比较
方案一:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域。
方案二:采用宏晶科技公司的STC89C52RC单片机作为主控制器。本款单片机是单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。其编程下载使用较方便,而且能够完成对本题目要求较简单的控制。
51单片机控制简单,下载使用方便。其处理能力能够满足本题目的要求,故采用方案二。
1.2.3 红外收发传感器模块的选择比较
方案一:使用红外发射和接收管制作红外收发电路,红外发射管发出红外线,当发出的红外线照射到白的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。输出的高低电平通过电压比较器可以得到单片机可以识别的信号,从而进行控制。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响。
方案二:采用TCRT5000型光电对管模块。传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;当无检测黑线出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时输出端为高电平。此红外收发模块运行稳定,感应灵敏,可以使单片机采集信号后对小车进行很好的控制。
为使红外收发管感应黑胶布线保证灵敏从而控制小车,使用方案二的TCRT5000红外收发模块。
1.2.4 电机驱动模块的选择比较
方案一:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
方案二:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。
为使电机稳定运行,能够灵活控制小车行进,选用方案一。1.2.5 避障和牵引模块的选择比较
方案一:采用超声波测距避障。超声测距是一种非接触式的检测方式。与其它方法相比,它不受光线、被测对象颜等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。
方案二:采用激光、雷达、摄像等复杂方式测距避障,可以得到精确的距离,但本题并不要求能够得到两车间精确距离,而且控制电路过于复杂,较难实现。
方案三:采用E18-D80NK光电传感器进行避障,这种光电开关具有良好的开关特性,输出测量障碍物距离可调,可自己设置感知物体的距离。在输出端上拉10K电阻后得到5V电压,方便单片机进行控制。
综上,本系统通过避障模块实现的功能是防止撞车的发生而且保证两车间距离,不需要得到精确的距离值,故可以采用方案三,选用E18-D80NK光电传感器进行避障。
1.2.6 总体方案设计与比较
方案一:利用赛道的固定性,采用单片机控制两个小车精准转弯,按赛道和题目要求,严格按照规定好的路线进行两个小车的行进,如转弯和进、出超车区;同时两车间利用无线模块进行通信,通过调节速度实现两个小车的超车;通过光电开关可以进行避障防止撞车发生。此种方案程序复杂,容易受赛道、小车性能等因素干扰,很难实现。
方案二:利用红外反射发送接收开关,使小车在赛道内能够识别边界线、起点/终点标志线、转弯标志线等黑胶带线,从而可以循迹和转弯行进,完成题目要求。此种方案能控制小车按照赛道边缘行进,但在超车区进入和外出部分容易掉出赛道,同时两车进行超车时,单纯利用循迹很难实现。
方案三:综合以上两种方案,在小车的红外收发管检测到转弯标志线车区的信号时,小车按照固定的程序进行相应的行进如转固定角度的方向。同时,可利用红外收发管检测赛道内、外边线,防止小车走出赛道。两车进行超车时,利用无线模块进行通信,调节各自速度,同时有光电传感器的保证两辆车间的距离,使超车安全稳定的完成。此种方案可以完成小车在行车道的行走,并在超车区及附近安全行驶。
综上所述,方案三能够相对完整、稳定的完成题目提出的各项要求。
1.2.7 系统方案确定与系统结构
进过反复论证与实际测试,最终确定系统方案如下:
(1)小车车体采用RP5底盘履带式电动小车两个;
(2)采用STC89C52RC单片机作为系统控制器;
(3)用TCRT5000红外传感器作为光电收发模块;
(4)L298N作为直流电机的驱动芯片;
(5)E18-D80NK光电传感器进行避障和牵引;
二、系统理论分析与计算
2.1 信号检测与控制分析
2.1.1 黑胶带线的检测
小车对黑胶带线的检测是通过接在前端的三个红外收发管完成的,分别标记为左、中、右红外收发管,三个传感器共同工作完成小车的定位和标记识别。对应信号的小车位置和相应动作如表2-1所示。
表2-1:对应信号的小车位置和相应动作
左管 左中管 右中管 右管 小车位置 小车相应动作
× × × × 行车道 正常前进
√ √ √ √ 起点 不动作
转弯标志线 进行转弯
超车标志区(第4条) 进入超车区
√ × × × 跑道内边界 向右调整
× × × √ 跑道外边界 向左调整
2.1.2 前车识别检测与超车
对于小车的超车功能,前车在进过超车标志区后,进行减速缓慢行驶,后车也通过超车标志区后,用光电传感器E18-D80NK对前车进行检测,如果单片机识别到10cm距离的前车,则开启超车程序,在超车区完成超车。
2.2 两车之间的通信方法
两车要完成互相超车的行为,必须进行通信,才能即时的对被超过的车进行控制。甲车进入超车标志区后,进行减速前进,待乙车也进入超车标志区,光电传感器检测到甲车后,按固定路径超车;随后超车完成后,乙车成为前车,再通过甲车前端的光电传感器使其恢复原速
前进,从而完成一个超车的过程。
三、电路与程序设计
3.1 电路设计
3.1.1 红外收发管电路设计
TCRT5000红外对管模块采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出的高低电平通过电压比较器可以由单片机识别,从而得到传感器信号。传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平。
3.1.2 光电传感器电路
E18-D80NK模块是开关电路。集发射与接收于一体的光电传感器。输出端口接上拉电阻可输入至单片机I/O口,进行障碍物的信号检测。
3.1.3 电机驱动电路
电机驱动采用L298N驱动电路,由单片机P1口接四路输入和两路使能信号,从而控制两个电机进行正反转。
3.2 程序设计
程序流程图如图3-1。
四、测试方案与结果
在自制的标准赛道上,将两只小车分别置于起点,小车启动后,均可行进,能完成一圈的行走,最后回到起点。通过观察和测试得到两个小车直行速度不同,一快一慢。这样的情况导致甲、乙两车在多圈互相超车时,不能控制间距,直接导致发生碰撞。因此采用在快车前部、后部和慢车前部安装光电传感器,使得两车间距能够保持一致。这样第一圈和第二圈的软件设计可以得到循环使用,达到多圈互相超车的控制。
发布评论