循迹小车-单片机课程设计

  • 格式:doc
  • 大小:54.36 KB
  • 文档页数:6

单片机课程设计

——智能循迹小车

学院:电子信息工程学院

专业、班级:自动化121501

姓名: 王利民

学号: 201215040121

指导教师: 金坤善

2015年12月

目录

一、设计目的与要求……………………………………………………………

1.1、设计目的…………………………………………………………………

1.2、设计要求…………………………………………………………………

二、系统原理及功能分析

2.1、系统原理分析………………………………………………………………

2.1.1、整体原理及系统框图……………………………………………… 2.1.2、循迹原理分析…………………………………………………

2.1.3、电机转速控制原理分析 ……………………………………

2.2、功能分析……………………………………………………………

三、系统设计……………………………………………………………

3.1、系统硬件电路选取和设计

3.1.1、MCU…………………………………………………………

3.1.2、循迹模块…………………………………………………………

3.1.3、驱动模块……………………………………………………………

3.1.4、电源…………………………………………………………

3.1.5、供电电源…………………………………………………………

3.2、系统软件设计 ………………………………………………………………四、测试结果

五、总结 ……………………………………………………………………………

参考文献 ……………………………………………………………………………

附录…………………………………………………………………………………

一、设计目的与要求

1.1、设计目的

1、能够熟练使用51单片机编写程序。

2、能够使用Altium Designer绘制出整体电路图,并明白各部分电路的工作原理。

3、了解电机的控制原理和红外传感器的原理,能够熟练使用。

4、了解循迹的方法和原理,找出最佳的循迹方案。

1.2、设计要求

1、设计一款智能小车,能够自动循黑线行驶。

2、循迹效果流畅,不存在大幅度摇摆,在运行时不会冲出赛道。

3、能够做出小车实物,自行绘制赛道并当场演示。

二、系统原理及功能分析

2.1、系统原理分析

2.1.1、整体原理及系统框图

本智能小车采用四轮驱动,要实现自动循迹功能,循迹模块通过发射管发射红外线,通过判断接收管是否接受到,来判别是否检测到黑线,从而返回高或低电平,然后将采集到的电平信号传送给单片机。经过单片机的分析处理,把相应的指令信息传送给电机驱动模块,控制电机的转动。系统框图如图1所示。

图1 系统框图

2.1.2、循迹原理分析

本项目采用四路循迹(由四个单独的循迹模块组成),如图3所示,(以下从左到右是依次是第1、2、3、4个循迹模块,以下简称灯1、2、3、4)。直线行驶时灯2、3在黑线上方,灯1在黑线左侧,灯4在黑线右侧。在拐弯时:

I 左拐时:①只有灯2在黑线上方,灯3、4移动到黑线右侧;

②灯1和灯2在黑线上方,灯3、4移动在黑线右侧;

③只有灯1在黑线上方,灯2、3、4移动到黑线右侧;

II右拐时 ①只有灯3在黑线上方,灯1、2移动到黑线左侧; 89C51单片机 红外对管循迹 L298N电机驱动

② 灯3、4在黑线上方,灯1、2移动到在黑线左侧;

③只有灯4在黑线上方,灯1、2、3移动到黑线左侧。

1 4 四路循迹红外对管

图2 直行时循迹简图

四个灯循迹能够保证循迹更加平滑,拐弯时也更加流畅,不会左右不停的摇摆。

2.1.3、电机转速控制原理分析

电机转速采用PWM调速方法,根据小车在直行或者转弯时需要的不同速度,从而设定不同的阈值。通过控制电机的输入口00(或11)、01、10三种不同的组合,实现电机的停止、正转、反转,在拐弯时,结合电机转向控制方式和PWM阈值的不同从而使左、右侧轮的不同转向和转速,从而达到这样的效果:(左轮转速V1,右轮转速V2,正转V1、V2>0,反之相反)

1、拐弯幅度小、速度慢或者只有灯2(或灯3)在黑线上时,V2>V1>0(或V1>V2>0)。

2、拐弯幅度大、速度快或者只有灯1(或灯4)在黑线上时,V2>>V1>0或V2>0,V1<=0(或V1>>V2>0或V1>0.V2<=0)。

3、拐弯幅度大、速度快或者所有的灯都在黑线外侧,电机控制同2。

2.2、功能分析

小车在循迹时,电机转动需要较大的电流,而锂电池通常输出电流和电压不能很好的满足恒压和持续大电流的要求,且MCU也需要一个恒定5V电压供电,通过L298N驱动模块,给电机提供一个稳定的较大的电流,且可以输出恒定的5V;循迹功能的实现时,可以采用红外对管,红外循迹模块在检测黑线和白板时可以产生高低不同的电平信号,这两种功能的组合就可以实现小车自动循迹。

三、系统设计

3.1、系统硬件电路选取和设计

3.1.1、MCU

本系统选用STC89C51单片机作为主控制器,其最小系统板(如图3)由L298N的降压芯片转电压口提供+5V电压,本系统只选用了10个I/O口,其中P10、11、12、13连接L298N电机驱动模块,用来控制电机的转动方式,P34、35接L298N

的ENA和ENB,结合程序得PWM电机控制方式来控制电机的转速。P14-P17接循迹模块。最小系统电路图见图3.

3.1.2、 循迹模块

方案一:使用线性CCD摄像头。它检测前瞻距离远,检测道路范围宽,检测道路参数多,但是电路复杂,检测信息更新速度慢,软件处理数据较多。

方案二:采用单独的红外对管循迹模块。

综上所述:单独的四个循迹模块可以很好的分布在黑线的两侧,而且可以手动调节每个模块之间的距离,方便调节,且在识别黑线后返回的是电平信号,便于采集控制,处理方便,运算量小,故选择方案二。

红外对管接管根据接收到的红外线的强度不同,自身导通阻值不同,IN+端输出不同的模拟电压,通过电位器调节红外对管的灵敏度,给出不同的阈值电压,经过LM339比较器,将两者电压比较,产生高低电平。本模块在检测到黑线时,输出高电平,四路循迹模块输出端分别连接MCU的P14、15、16、17口,电源和地接单独的电源转换模块。循迹模块电路图见4

3.1.3、驱动模块

采用L298N驱动电路。L298N是具有高电压、大电流、响应频率高的全桥驱动芯片,并且带有控制使能端。该芯片驱动能力强、操作方便,稳定性好,性能优良。此模块结合单片机可以实现对速度的精确控制,这种调速方式具有调速特性优良、调速平滑、调速范围广、过负载能力大的优点,能够承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转。

L298N电机驱动电路(如图5所示),VCC+12V和GND接7.2V锂电池,VCC+5V给单片机供电,INA接单片机的P34,INB接单片机的P35, IN1、IN2、IN3、IN4分别接单片机的P10、11、12、13。该驱动模块上带有LM7805稳压电路,用于将电池的7.2V电压转换为稳定的+5V电压给MCU和循迹模块供电。驱动模块电路图见5

3.1.4、、电机

采用直流电机。它调速范围广,易于平滑调速,启动、制动和过载转矩大,易于控制,可靠性高,适用于智能小车系统。

本小车是四驱车,为了控制方便,电机的四个轮分为左右两路,及两侧四个电机分别控制同步,两侧分别接在L298N的两路控制输出。

3.1.5、供电电源

锂电池能量密度较高,重量轻,具备高功率承受力,自放电率高,无记忆效应而且符合小车需要大电流驱动这一重点要求。故采用7.2V的锂电池供电。

3.2、系统软件设计

本设计在软件方面,先列些出各种循迹状态(包括直行、左拐弯、右拐弯、停止),然后返回不同的值,通过Switch语句选择不同的电机工作匹配方式。电

机的速度依旧是采用PWM实现精密控制。

主程序流图如图6所示。

四、系统测试

小车能够循黑线行驶,能够实现直行和拐弯,循迹流畅,且不会重出赛道。

五、总结:

本设计是基于单片机的拓展应用,设计实施的难点及重点在于小车循迹方案的选取和循迹程序控制,选取的四路循迹模块摆放的位置和对应黑线的宽度决定了是否能准确循到黑线。在调试过程中,对于如何调整拐弯时左右轮的速度比例,选取什么样的拐弯模式,这是本设计的核心,也是难点。通过观察分析小车的行驶出错状态,合理调节左右轮的PWM,从而实现流畅的循迹效果。

参考文献

[1] 魏立峰著,单片机原理及接口应用(第一版),北京,北京大学出版社,2006年

[2] 胡汉才著,单片机原理及接口应用(第一版),北京,清华大学出版社,2004年

[3] 谭浩强著,C程序设计(第四版),北京,清华大学出版社,2010年

[4] 张义和著,例说8051(第一版),北京,人民邮电出版社,2006年

[5] 邱关源著,电路(第五版),北京,高等教育出版社,2006年

[6] 毕满青著,模拟电子技术基础(第一版),北京,科学出版社,2012年

[7] 夏路易著,数字电子技术基础(第一版),北京,科学出版社,2012年

附 录 部分程序