基于单片机智能小车毕业设计(论文)

毕业设计(论文)

设计(论文)题目:基于单片机的智能小车

学院名称:电子与信息工程学院

专业:电子与信息工程

班级:电信092班

姓名:杨介派学号xxxxxxxxxx 指导教师:胡劲松职称教授

定稿日期:2013 年5 月10 日

基于单片机的智能小车

摘要

智能车辆是目前世界车辆研究领域的热点和汽车工业新的增长点。未来的车辆也一定是智能化的车辆。所以,智能化的车辆是未来人们生活重要的载体。因此有必要对智能车辆进行研究。研制一种智能,高效的智能小车控制系统具有重要的实际意义和科学理论价值。本文设计了一个能自动循迹的智能小车控制系统。以STC89C52单片机为控制核心,利用反射式光电传感器检测黑线实现小车循迹,利用超声波传感器检测道路上的障碍并提示,利用LCD1602显示小车的速度和路程。能实现小车自动根据地面黑线前进倒退、转向行驶,超声波测距提示障碍物,LCD1602实时显示小车的速度和行驶的路程,具有高度的智能化,达到设计目标。

关键词:智能小车,STC89C52单片机,超声波传感器,LCD1602

THE SMART CAR BASED ON MICROCONTROLLER

ABSTRACT

Intelligent vehicles are the hot spots of the world's vehicle research areas and the automotive industry a new growth point. The vehicles of the future must be intelligent vehicles. So, intelligent vehicles is an important carrier of the future of people's lives.Therefore, the study of intelligent vehicles are necessary. Therefore, the development of a smart, intelligent car control system with high efficiency is of practical significance and scientific important theoretical value. This paper introduces the design of a smart car control system that can automatic tracking.Based on signle-chip microcomputer STC89C52 To achieve track-finding using photoelectric sensor to detect black line,The use of ultrasonic sensors to detect obstacles on the road and prompt,Using the LCD1602 to display speed and distance. The car can realize automatic based on the black line forward regression. Steering,Ultrasonic ranging, prompting obstacles, LCD1602 real-time display of the speed of the car and drive away, with a high degree of intelligence, achieve the design goal.

Key Words: Smart car, STC89C52 MCU, ultrasonic sensor,LCD1602

目录

摘要..................................................................................... 错误!未定义书签。ABSTRACT .......................................................................................... 错误!未定义书签。目录....................................................................................... 错误!未定义书签。第1章绪论................................................................................. 错误!未定义书签。

1.1智能小车的意义和作用........................ 错误!未定义书签。

1.2智能小车的现状 (1)

第2章方案设计与论证 (2)

2.1 主控系统 (2)

2.2 电源模块 (2)

2.3 电机驱动模块 (3)

2.3.1 电机模块选择与论证 (3)

2.3.2 电机驱动模块选泽与论证 (3)

2.4 循迹模块 (4)

2.5 测速模块 (5)

2.6 显示模块 (6)

2.7 壁障模块 (7)

第3章硬件设计 (8)

3.1 总体设计 (8)

3.2 驱动电路 (8)

3.3 信号检测电路................................ 错误!未定义书签。

3.4 测速电路.................................... 错误!未定义书签。

3.5 显示电路.................................... 错误!未定义书签。

3.6 主控电路.................................... 错误!未定义书签。第4章软件设计 (17)

4.1 主程序模块设计 (17)

4.1.1 主程序流程图 (17)

4.1.2 主程序的设计 (17)

4.2 电机驱动程序的设计 (19)

4.2.1 电机驱动程序流程图 (19)

4.2.2 电机驱动程序的设计 (20)

4.3 循迹模块程序的设计 (22)

4.3.1 循迹模块流程图 (22)

4.3.2 循迹模块程序的设计 (22)

4.4 测距壁障模块程序的设计 (24)

4.4.1 超声波测距模块流程图 (24)

4.4.2 超声波测距模块程序的设计 (25)

4.5 显示模块程序的设计 (26)

4.5.1 显示模块流程图 (26)

4.5.2 显示模块程序的设计 (26)

第5章系统软硬件的调试 (29)

5.1软件程序的调试 (29)

5.2 硬件电路的焊接与调试 (30)

参考文献 (31)

附录1 原理图 (32)

附录2 源程序 (33)

附录3实物图 (43)

致谢 (44)

作品(软件)使用说明书 ................................................................................................. ..45

第1章绪论

1.1智能小车的意义和作用

智能的出现,为我们的生活和生产带来了很大的便利,同时也是以后的发展方向,智能就是可以在一个特定的环境中按照我们前面设定好的模式去自动的运作,它并不需要我们去人为的管理,就可以达到我们前面设定的目标,它的应用领域很广,如可以应用于工业控制、科学勘探、智能家居等领域。而智能小车就是智能的一个简单的应用,智能小车就是智能化玩具中的一种,由于这类智能玩具具有较好的交互性,可控性,能够按照人们设定的模式去自动运作也深受人们的喜欢。另外,智能小车还可以应用于危险搜索、机器人等许多方面,尤其在机器人方面具有很好的发展前景。因此,智能化小车的研究不仅具有很大的现实意义,还具有极为广阔的应用前景和市场价值。

1.2智能小车的现状

智能小车的研究、开发和应用涉及传感技术、电气技术、电气控制技术、智能控制等学科,智能控制技术是一门跨科学的综合性技术,当代研究十分活跃,应用日益广泛的领域[1]。众所周知机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。因此目前世界各国都在开展对机器人技术的研究。机器人由于有很高的灵活性、可以帮助人们提高生产率、改进产品质量等优点,在世界各地的生产生活领域得到了广泛的应用[2]。智能小车正是模仿机器人的一种尝试。它是一种以汽车电子为背景,涵盖多学科的科技创新性设计,一般主要由路径识别、速度采集、角度控制以及车速控制等模块组成。这种智能小车能够自动搜寻前进路线,还能爬坡,感知前方的障碍物,并自动寻找前进方向,避开障碍物。另外如果加入相关声光讯号后,更能体现出智能化和人性化的一面。

第2章方案设计与论证

2.1 主控系统

由于单片机具有价格低廉,资源丰富、有较为强大的控制功能,故本次设计采用STC89C52单片机作为整个系统的核心,用其控制行进中的小车以实现其既定的性能指标。STC89C52是一个超低功耗的增强型51单片机,和标准51系列单片机相比较它的运算速度更快,有超强的抗干扰能力,同时还支持ISP在线编程,片上集成了512字节的随机存取数据存储器(RAM),并且片内含8k字节空间的可以反复擦写1000次的Flash只读存储器, 32个I/O口,以及3个16位可编程定时计数器。其指令系统和传统的8051系列单片机指令系统完全兼容,降低了系统软件设计的难度,电路设计简单、价格低廉,在后来的实验中我们发现,STC 89C52精确度和运算速度也都完全符合我们系统的要求。

2.2 电源模块

由于本系统需要给整个智能小车系统供电,考虑了以下几种方案:

方案一:采用4节1.2V可充电电池组。在电充满时4节电池电压可以达到

5v且可充电电池组具有较强的电流驱动能力及稳定的电压输出性能,但是直流电机工作时会对LCD1602显示造成干扰,使其显示不稳定。故放弃此方案。

方案二:使用双电源供电,将9v可充电方块电池电压降压、稳压到5V后给单片机系统和LCD1602及其它芯片供电。另外采用4节1.2V可充电电池组为直流电机供电,经测试在用此种供电方式下,单片机和传感器工作稳定,直流电机工作良好,LCD显示也很稳定,小车也能长时间工作。

综上考虑,我们选择了方案二来完成智能小车整个系统的供电。

2.3 电机驱动模块

2.3.1电机模块选择与论证

方案一:使用步进电机作为智能小车系统的驱动电机,因为步进电机的转动角度可以精确的定位,这样就可以比较精确的定位小车的前进距离和位置。但是由于步进电机的输出力矩偏低,并且会随着电机转速的升高而下降,在达到较高的转速时其输出的力矩会急剧下降,因此不适于小车等对速度有着一定要求的系统。经过综合分析比较决定放弃此方案。

方案二:使用直流减速电机作为智能小车系统的驱动电机。直流减速电机的转动力矩比较大,而且体积较小,重量也很轻,使用方便。另外小车电机内部还装有减速齿轮组,所以并不需要去考虑调速的功能,可以很方便的通过单片机来控制直流减速电机的正传、反转、停止操作。

综合以上考虑选择方案二的直流减速电机作为整个智能小车的驱动电机。

2.3.2电机驱动模块选择与论证

方案一:采用继电器对电动机进行控制,通过切换电动机的开关来调整小车的速度。这个方案的优点是电路相对比较简单,但是它的缺点也比较多,如:继电器的响应时间偏慢, 寿命较短,容易损坏,可靠性也不是很高。故决定放弃此方案。

方案二:采用专用的电机驱动芯片L298N来控制直流减速电机, L298N芯片(如图2-3)是一个具有高电压大电流的全桥驱动芯片,一片L298N芯片可以分别的控制两个直流减速电机,在6~46V的电压下,可以提供2A的额定电流,并且具有过热自动关断和电流反馈检测功能,安全可靠。该芯片是利用TTL电平进行控制的。通过单片机的IO口输出高低电平来改变芯片控制端的输入电平,即可以实现对电机进行正转、反转和停止操作。另外为了保证L298N的正常工作,我还安装了8个续流二极管1N4007。用该芯片作为电机驱动,驱动能力大、操作方便、稳定性好、性能优良。

综合以上分析与论证我们选择方案二的驱动芯片L298N作为整个智能小车系统的电机驱动电路。

图2-3L298N

2.4 循迹模块

方案一:用光敏电阻来探测。光敏电阻的阻值会随着周围环境光线的变化而变化[6]。因此当光敏电阻在黑色轨迹的上方和白色轨迹的上方时,阻值会发生较为明显的变化。将阻值的变化值输入到电压比较器就可以输出高低电平。单片机就可以根据反馈来的不同的电平信号,发出相应的控制操作命令来控制小车的左转,右转,前进或者停止。但实际效果并不理想,误测几率偏大、容易受外界的光线环境的影响,不能够稳定的工作。因此考虑其它更加稳定的方案。

方案二:采用红外反射式光电管完成系统循迹[3]。TCRT5000(如图2-4)是一种一体化反射型光电探测器,传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。它是利用了光的反射原理,当光线照射在白纸上,反射量会比较大,反之,当光照射在黑色物体上,反射回去的量比较少,因为黑色会吸收光,这样就可以判断黑胶带带轨道的走向。采用红外线发射,外面可见光对接收信号的影响较小,利用红外对管对黑线边界进行检测,再用LM393对检测信号进行比较,取反,送单片机进行处理。此光电对管电路简单,工作性能稳定。

经测试方案二不论是在黑暗或者是强光照射下,智能小车系统均可以很稳定的工作,对外界环境的适应能力比较强。因此我们选择方案二。

图2-4 TCRT5000

2.5 测速模块

方案一:采用霍尔传感器检测轮子上的小磁铁从而给单片机中断脉冲,通过单位时间内对脉冲的计数通过公式就可以算出实时的车速,达到测量速度的作用。霍尔元件具有体积小,动态特性好,频率响应宽度大,对外围电路要求简单,使用寿命长,安装方便,价格低廉等特点。但是需要和磁钢配对使用比较麻烦。

方案二:采用光电码盘,即透射式光电传感器(凹槽型如图2-5)进行测速。槽型光耦是由红外发光管和光敏三极管构成的,工作时红外发光管发出红外光线透过光耦的槽投射到光敏三极管上,光敏三极管导通,集电极输出低电平。当红外光线被检测物遮断时,光敏三极管截止,集电极输出高电平。遮挡一次槽型光耦输出一个脉冲,因此脉冲的个数就是被检测物的数量。车轮转动时带动码盘转动,单片机内部计时可测出给定的时间内通过的脉冲数,从而测出小车的实时速度。使用方便,抗干扰性较强。

通过比较方案一和方案二的优缺点,综合多方面因素决定选用方案二。

图2-5 槽型光电传感器

2.6 显示模块

方案一:采用LED数码管显示。数码管使用简单,价格低廉,但一个数码管只能显示一个数字,要显示多位数据时要使用多个数码管,这就增加了硬件电路的复杂度和额外功耗,而且LED数码管也无法显示字符。由于我们计划要显示小车运行的速度和路程,LED数码管没办法显示这么多的内容,因此考虑其它的方案。

方案二:采用LCD1602液晶(如图2-6)显示。LCD1602液晶具有功耗低,显示内容丰富清晰,显示信息量大,显示速度较快,界面友好,使用简单等特点而得到了广泛的应用。并且外围电路也比较简单,因此我们选择此方案。

通过以上方案论述我们选择方案二,显示小车运行速度和路程的任务。

图2-6 LCD1602液晶显示器

2.7 壁障模块

方案一:用漫反射式光电开关进行避障。光电开关的工作原理是根据光线发射头发出的光束,被物体反射,其接收电路据此做出判断反应,物体对红外光由同步回路选通而检测物体的有无。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。操作简单但是测量的距离不远。

方案二:用超声波传感器进行测距避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,然后再被超声波传感器接收[8]。超声波传感器在避障的设计中被广泛应用。为了使用方便,便于操作和调试,采用集成超声波测距模块HC-SR04(如图2-7)。

综合考虑本系统只需要检测障碍物,没有十分复杂的环境。为了使用的方便,便于操作和调试,最终选择了方案二。

图2-7 HC-SR04超声波测距模块

第3章硬件设计

3.1 总体设计

智能小车采用前轮驱动,前轮左右两边各用一个电机驱动,通过电机驱动芯片L298N来控制前面两个轮子的转动与停止从而达到控制转向的目的,后轮是万向轮,起支撑转向作用。将4个红外光电传感器装在车体底盘的前端,小车根据传感器检测的情况来循迹前进。

小车速度的检测通过槽型光电传感器,将码盘装在电机的轴上,码盘跟随电机一起转动,将检测到的数据传回单片机进行处理。

小车的避障用超声波避障模块HC-SR04,将其置于车头,检测到障碍物时,小车做出相应的反应。

总体设计框图如图3-1。

图3-1 总体设计框图

3.2 驱动电路

电机驱动芯片采用L298N,是一款承受高压大电流的全桥型直流/步进电压驱动器,如下图3-2。

图3-2电机控制芯片L298N的引脚排列

其中L298N各引脚的编号与功能和内部逻辑如下表3-1和图3-3。

电机驱动A/B的控制逻辑如下表所示。

L298N可直接对电机进行控制,不需要隔离电路。通过单片机的I/O输入改芯片控制端的电平,即可以对电机进行正反转,停止的操作,操作非常方便,亦能满足直流减速电机的大电流要求[4]。调试时依照上表,用程序输入对应的码

值,即可以实现对应的操作。其驱动电路原理图如下图3-4所示。

图3-4 L298N驱动原理图

3.3 信号检测电路

小车循迹的原理是在铺有约四厘米宽黑胶带的白纸“路面”上行驶,由于黑纸和白色路面对光线的反射系数不同,可以根据接收的反射光的强弱来判断道路——黑纸轨迹。本设计采用简单易用,应用也较为普遍的红外探测法。

红外探测法,即用红外线在不同颜色的物表面具有不同的反射性质的特点[7]。在小车行驶过程中传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,当红外线遇到白色地面时发生漫反射,红外线被反射回来反射光被装在小车上的接收管接收且强度足够大,光敏三极管饱和,此时模块的输出端为高电平;如果遇到黑纸则红外光被吸收,小车上的接收管接收不到信号,再通过LM393作比较器来采集高低电平,从而实现信号的检测。避障亦是此原理。

通过设计了如图3-5所示的电路来检测,图中R18为限流电阻,当有光反射回来时,光电传感器的三极管导通,在LM393的2脚出产生低电平电压,通过LM393处理后在P1.0出产生高电平,返回给单片机,从而达到检测的目的。并通过变阻器RV1可调节传感器的灵敏度。

图3-5循迹原理图

3.4 测速电路

采用透射式光电传感器(凹槽型)进行测速。槽型光耦是由红外发光管和光敏三极管构成的,将码盘安装在电机轴上,当电机转动时,码盘也随之转动。工作时红外发光管发出红外光线透过光耦的槽投射到光敏三极管上,光敏三极管导通,集电极输出低电平。当红外光线被检测物遮断时,光敏三极管截止,集电极输出高电平。遮挡一次槽型光耦输出一个脉冲,因此脉冲的个数就是被检测物的数量。车轮转动时带动码盘转动,单片机内部计时可测出给定的时间内通过的脉冲数,从而测出小车的实时速度。其电路原理图与循迹原理图类似。如图3-6所示。

图3-6 测速电路原理图

3.5 显示电路

用LCD1602来显示数据,LCD液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快等特点。其中用滑动变阻器RV0来调节显示器的背光亮度。电路原理图如下图3-7。

图3-7显示电路原理图

3.6 主控电路

单片机是控制单元的核心。起着控制小车所有运行状态的作用。单片机控制模块使用的是宏晶公司生产的STC89C52,使用该芯片很容易实现对其它模块的控制。通过对单片机STC89C52写入程序,可以方便的用软件来控制,整个过程的

控制部分如图3-8所示。

图3-8 单片机最小系统

STC89C52单片机最小系统包括了晶振电路,电源电路以及复位电路,其中复位电路的复位按键用于小车的复位。P1.3~P1.7分别控制电机驱动。其它P口用外接控制小车的各种控制开关,P0口外接上拉电阻,可用于外接LCD1602。

STC89C52 单片机介绍[5]:

STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。

主要特性如下:

1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意

选择,指令代码完全兼容传统8051。

2.工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作

频率可达48MHz。

3.工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)

4.片上集成512字节RAM。

5.用户应用程序空间为8K字节。

6.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需

专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,

数秒即可完成一片。

7.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,

P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为

I/O口用时,需加上拉电阻。

8.具有看门狗功能。

9.具有EEPROM功能。

10.共3个16位定时器/计数器。即定时器T0、T1、T2。

11.外部中断4路,下降沿中断或低电平触发电路,Power Down模式可

由外部中断低电平触发中断方式唤醒。

12.通用异步串行口(UART),还可用定时器软件实现多个UART。

13.工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

14.PDIP封装。

STC89C52单片机的引脚图如下图3-9。

相关文档
最新文档