1、 “第七届”电子设计大赛作品名称: 智能小车 团队成员: 颜敏玲 许聪 周兴 指导教师: 2011 年 4 月 5 日摘 要:本设计基于 STC89C52 单片机为控制核心的智能小车。小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统采用红外对管获取赛道的信息,通过 PWM 控制技术来对小车的方向和速度进行控制。关键词:STC89C52 寻迹 L298N LM393Abstract: The design is based on STC89C52 microcontroller to control the core of the intelligent
2、car. Car key feature is the ability to complete self-identified black guide lines and under the black line to achieve rapid and stable search lane. Car system uses infrared to obtain the track information management through the PWM technique to control the direction and speed of car control.Keywords
3、:STC89C52 Search light shooting L298N LM393一、方案论证与比较1 电源部分:方案 1: 采用 6 节 1.5V 干电池供电,电压达到 9v,经 7805 稳压后给支流电机供电,给单片机系统和其他芯片供电。但干电池电量有限,使用大量的干电池给系统调试带来很大的不便,因此,我们放弃了这种方案。方案 2:采用 1 节 9V 电池给直流电机供电,经过 7805 的电压变换后给支流电机供电,给单片机系统和其他芯片供电。但由于电压不太够,价格昂贵,因此,我们放弃了。方案 3:直接采用 7.2V 直流充电电池,再经 7805 稳压到 5V 供单片机,电机使用。由于用
4、于本次设计演示的标轨道不太大,在演示时我们可以人为控制电源线部分,而且比较耐用,所以我们采用此方案,因为它最经济实惠。2、电机驱动控制部分: 这部分采用专门的电机控制芯片 L298,它可同时对两个电机进行驱动控制,电路简单,控制效果好,干扰小,因此我们采用此方案。 3 传感器探测部分:方案 1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。 但是这种方案受光照影响很大,不能够稳定的工作。因此我们考
5、虑其他更加稳定的方案。方案 2:用 RPR220 型光电对管。RPR220 是一种一体化反射型光电探测器,经过测试没有良好的要求,故放弃此方案。 方案 3:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平,因此我们采用此方案。 二、理论分析与计算小车在前进时,要实现寻迹功能,可以采用高灵敏度的红外对管对地面进行扫描,接收到的信号由单片机处理从而控制 L298 实现小车的寻迹,使满足题目要求。三、系统设计 3.1 硬件电路总体
6、设计小车的控制系统主要以 STC89C52 为核心,对联系较紧密的模块分别进行控制,以提高系统的整体性能。其硬件结构图如下:3.2 主控制模块STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52 具有以下标准功能: 8k 字节 Fla
7、sh, 256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/ 计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外, STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash。本设计采用了 STC89C52 为控制核心,P3 口主要用于控制小车两个直流电机的驱动,P1
8、 口红外寻迹模块、轨道基准检测。3.3 直流电机驱动模块对于车轮的两个直流电机,我们采用了一片 L298 为车轮提供驱动。STC89C52 为芯片提供驱动信号,信号经过光耦隔离后,传至 PWM 控制两个电机的转速,从而调整小车的前进速度和转向。芯片控制方法:EN 端为高,芯片工作;EN 端为低,芯片停止工作。在 EN端为高时,单片机向 IN+输入 PWM 波时,电机正转;向 IN-输入 PWM 波时,电机反转。PWM 波的占空比越大,电机转速越快。3.4 寻迹模块小车在地面行驶时,红外发出的红外信号被反射,接收管收到信号后,输出端为低电平。而当红外信号遇到黑色导轨时,红外信号被吸收,接收管没有
9、接收到信号,输出端为高电平。经过测试,发现接收管输出端的低电平输出大致为 0.42V,高电平的输出大致为 3.65V,波形也不稳定。为了使单片机更好的识别信号,所以在接收管信号的输出端使用比较器 LM393 对波形整形。单片机通过采集每个红外接收管的输出端电压,便可以检测出轨道的位置,并控制小车的转向,使小车一直沿轨道前进。我们采用的自己制作光电对管寻迹传感器,它的是采用红外光电二极管和光电晶体管组成。通过测试,其检测距离在 4mm-22mm。原理如下图:图 3.1 红外模块的设计3.5 电源模块本设计中采用的是 7.2V 电池供电,因为主控芯片采用的 5V 供电,直流电机采用 7.2V 供电
10、,其余电路都采用 5V 供电。四、软件设计4.1 设计原理在本设计中用到了一片 STC89C52,主要用于控制小车的寻迹,检测黑线;三片比较器 LM393,采集循迹过程中的电压高低,比较,以让小车能迅速做出反应,达到循迹的目的。 4.2 寻迹部分单片机通过控制 P1 口红外传感器,单片机对采集回来的数据分析小车相对于轨迹的位置,适当的做出左转或右转。电机驱动部分由定时器产生 PWM 来控制,通过对其占空比的调节达到对车速的控制由 P3 控制。4.3 软件设计结构图寻迹检测小车运动控制(左转,右转,直行,停止)电机控制超过基准点检测4.4 软件设计流程框图开始启动寻迹程序探 测 黑 线是否探测到
11、黑线判断处理程序(switch)右轮探测到黑线左轮探测到黑线 左右轮同时探测到黑线向 右 转向 左 转 继续前进继 续 前 进是否结束五、系统测试1、测试仪器序号 类型 型号 序号 类型 型号1 直流稳压稳流电源 4 白纸2 万用表 53 黑胶带 2、测试数据对于小车的整体来说测试按模块来进行,分为以下几个步骤: 1.首先测试电源的工作情况,各个模块能否得到良好供电。 2.光电管安装完成后测试每个光电管的电压变化情况,完成后根据测试数据调节电位器选择合适的参考电压然后依次测量比较器或运放的输出端有无根据检测到黑线的情况产生相应的电平变化,若没有则检查相应的电路和元件好坏,测试成功后进行下一步。
12、 3.检查单片机能否正常的烧写程序和工作。 4.用单片机产生不同占空比的信号控制舵机进行转角测试,找出小车转向的参考点和对应的PWM设置参数。 5.测试后轮电机的工作情况,并试验在不同频率和占空比的情况下电机的驱动能力,记录相应的参数。 6.编写测试程序让小车初步运行。经多次测试小车基本能在所设的黑线行驶,小车的转速不是很稳定,小车整体稳定性也有待改善。 六、结论通过这次电子竞赛,不仅锻炼了我们单片机硬件设计的能力,也进一步掌握了 C51 语言的编程,让我对自动控制领的相关理论有了更深刻的认识,同时也看到了教学知识与工业应用的差距。这次运用的处理器是 C51 单片机,程序是用 C 语言编写的,这不但要求设计者具有较强的编程能力,还要对硬件相当熟悉。在制作过程中我们也遇到了不少的问题,电机开始不工作,转速不一样,不能正常循迹,在调试的过程中,我们一起寻找问题,发现问题!最终解决问题,让小车最终达到设计目的.虽然小车已经达到循迹目的,但还可以扩展很多功能,比如说寻光避障等!现在专业知识有限,这也促使我们要努力学习,为更高的层次努力!附录一、相关设计图图 1.单片机电路模块