智能公交小车系统的设计与实现毕业论文.docx

上传人:b****8 文档编号:27797164 上传时间:2023-07-05 格式:DOCX 页数:52 大小:2.34MB
下载 相关 举报
智能公交小车系统的设计与实现毕业论文.docx_第1页
第1页 / 共52页
智能公交小车系统的设计与实现毕业论文.docx_第2页
第2页 / 共52页
智能公交小车系统的设计与实现毕业论文.docx_第3页
第3页 / 共52页
智能公交小车系统的设计与实现毕业论文.docx_第4页
第4页 / 共52页
智能公交小车系统的设计与实现毕业论文.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

智能公交小车系统的设计与实现毕业论文.docx

《智能公交小车系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《智能公交小车系统的设计与实现毕业论文.docx(52页珍藏版)》请在冰豆网上搜索。

智能公交小车系统的设计与实现毕业论文.docx

智能公交小车系统的设计与实现毕业论文

智能公交小车系统的设计与实现毕业论文

 

绪论1

1.方案设计与论证2

1.1系统原理系统2

1.2硬方案比较和选择2

2.硬件设计4

2.189C52RC单片机控制模块4

2.1.189C52RC主要性能4

2.1.2最小应用系统设计4

2.1.3时钟电路5

2.1.4复位电路6

2.2直流调速系统7

2.3驱动8

2.4比较器10

2.5信息采集系统10

2.5.1循迹电路原理分析11

2.6显示电路设计13

3.软件设计14

3.1主程序设计15

3.2宏定义函数16

3.3初始化子程序设计16

3.4延时子程序设计18

3.5定时子程序设计19

3.6扫描子程序设计21

3.6.1小车结构设计21

3.6.2光电扫描状态23

3.7报警子程序设计26

3.8电机控制子程序设计27

4.测试数据、测试结果分析30

结论及致谢31

参考文献34

附录A智能小车公交系统总程序清单35

附录B硬件原理图、以及实物图片41

绪论

伴随着科学技术的发展,智能系统在社会各领域的作用越来越大,对智能机器人、智能小车系统的研究已成为热门课题。

现如今世界上已有许多国家都积极地在智能系统的制造领域投入大量物力和精力,很多专业组织和人士纷纷想建造一个平台,互相交流各国智能系统技术和发展方向和水平,其中亚广联组织的智能小车电视大赛就迎合了大多数人对智能系统的热爱。

对于竞赛中使用的智能系统,其控制器是整个智能控制系统的核心,直接关系到系统工作的效率和性能。

对于控制器的选型要遵循以下原则:

控制器必须具有有较强的抗干扰能力,具有较快的运算速度和具备很强的数据处理能力;小型化功能强大;置不小于32kB的程序存储空间;置不小于2kB的数据存储空间;具备足够的I/O端口;具备至少3个定时器/计数器;灵活方便的编程调试方式;另外要具有常见的封装形式。

基于以上这些原则和分析了设计任务和要求,确定了该设计基于单片机设计而来。

根据导师的指示,充分研究分析智能公交小车循迹系统,结合设计要求和任务进行设计开发。

该项目可完成小车寻迹、停车、小车速度控制等。

根据设计要求,确定了如下的设计方案:

通过改装购买来的小车,在小车底盘的基础上加装寻迹模块(光电传感器)、PWM调制模块(控制电机转速)、电源模块、单片机、蜂鸣器。

这样便能实现小车寻迹、报站、停止等一系列动作。

该方案通对电机进行实时控制,以达到精准控制的目的。

在本设计中采用89C52RC单片机作为运算和控制核心,使用光电传感器对黑线进行寻迹,将采集的信号处理后作为PID的入口参数,通过PID运算产生控制信号,再将控制信号传送给L298N从而实现对电机控制,使用五个光电传感器采集信号,通过分析采集到的信号,产生控制信号,控制电机实现左大转、左小转、右大转、右小转、刹车、惰行、反转。

另外,通过PWM模块实现对速度的调制;

本设计就是采用的是通用89C52RC单片机作为智能小车公交系统的控制和运算中枢,89C52RC单片机是一款通用的8位CMOS微控制器,功耗小性能好,易于编程。

 

1.方案设计与论证

设计任务要求:

设计并制作一智能公交小车系统。

要求该智能小车系统能按设定的速度稳定地在引导线上行驶。

在设定的位置停止设置的时间,到达引导线末端自动停止前进。

引导线黑色宽度2.5cm,每站停留时间5秒并鸣笛。

1.1系统原理

分析设计任务要求该智能小车公交系统应该包括这些模块:

控制模块、驱动模块、比较器模块、信息采集模块、LED显示模块、电机。

通过红外光电传感器采集小车行驶时路面状况(循迹),然后将采集到的信号通过单片机分析处理后产生控制信号,控制小车调速、转弯、报站、刹车等;由于单片机输出电流不能驱动电机,所以需要外加驱动电路模块来驱动电机。

另外通过LED显示小车状态。

系统框图如图1.1所示

 

 

图1.1系统框图

1.2方案比较和选择

根据设计要就,智能小车公交系统的控制模块可以采用如下方案:

方案一:

采用89C52RC单片机,它是一款通用性的低功耗、高性能CMOS,8位微控制器。

使用了STC公司的高密度非易失性存储器制造技术。

89C52RC具有以下标准功能:

8k字节程序存储器Flash(闪存),256字节数据存储器RAM,三个16位定时器/计数器,四个八位可编程并行输入输出口,看门狗定时器,2两个数据指针,八个两级(0和1)中断源,全双工串行口,片晶振以及时钟电路。

另外,89C52RC可降至0Hz静态逻辑操作,支持两种模式。

在空闲模式下,CPU工作停止,允许RAM、定时器/计数器、串口、中断继续工作。

掉电模式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

使得89C52RC单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

方案二:

选用AVR单片机Atmega128L,Atmega128L是一款高性能、低功耗的单片机,运算速度快,Atmega128L是八位微处理器,管脚数为64。

采用的是先进的精简指令集结构,其指令系统133条指令,大多数单条指令为单周期指令。

Atmega128L有两个相互独立的预分频器和比较器,Atmega128L具有八位定时器/计数器和两个预分频器、16位定时器/计数器具有比较功能和捕捉功能,Atmega128L具有实时时钟计数器。

Atmega128L部带有模拟电压比较器。

具有上电自动复位以及可编程的掉电检测功能。

Atmega128L片资源丰富,具有:

六个外部二级中断源,4个八位定时计数器,53个(I/O)输入输出口,I/O口多。

Atmega128L的引脚大多数都有具有第二功能,可实现更多功能,功能非常的强大。

.

方案三:

采用FPGA(现场可编辑门列阵)作为智能小车公交系统的控制器。

使用FPGA器件来设计电路,其设计不仅过程简单,可采用至上而下的设计方法,而且设计出来的系统的体积小。

采用FPGA设计的系统功能异常强大,而且不像传统制造集成电路那样需要花费大量时间和精力来设计开发。

采用FPGA设计灵活强、器件的密集度高、产品的可靠性强、缩短了产品的开发周期、工作速度快、系统的性能强。

采用FPGA可以实现复杂的逻辑功能要求,可实现大规模设计要求、高集成度、小体积、很好的稳定性,采用的是至上而下的设计思路。

另外FPGA采用的是并行工作方式,流水线处理技术,四级流水线操作。

每条指令周期完成四个操作,提高了系统的处理速度,通常应用于大规模和实时性处理系统。

方案比较:

由三种方案可以看出,以Atmega128L核心可以方便地实现对各个部分的控制和外接,但相对于89C52RC价格贵,部资源没有得到充分利用,而且Atmega128L指令系统采用的是精简指令结构,程序开发编写相对比较难,不通用。

FPGA的高速处理能力得不到充分发挥且价格较贵,而89C52RC通用性强,价格便宜并且能满足设计需要,所以我们选择方案一。

 

2.硬件设计

2.189C52RC单片机控制模块

2.1.189C52RC主要性能:

与MCS-51单片机产品兼容

8K字节在系统可编程Flash存储器

1000次擦写周期

全静态操作:

0Hz~33Hz

三级加密程序存储器

四个八位可编程I/O口

三个16位定时器/计数器

六个二级中断源

全双工UART串行通道

低功耗空闲和掉电模式

掉电后中断可唤醒

看门狗定时器

双数据指针

掉电标识符

2.1.2最小应用系统设计

该系统中用89C52RC芯片作为控制和运算中心构成的单片机最小系统,其系统特点是:

简单﹑可靠。

其构成部分包括:

电源接口和地、晶振、时钟电路、复位电路、蜂鸣器、排针构成。

单片机最小系统如图2.1所示。

其应用特点:

(1)可方便供用户任意的使用各口的每一位。

(2)其部存储器容量有限。

(3)应用系统的蜂鸣器可做报警使用。

(4)复位电路采用上电复位和按键复位。

图2.189C52RC单片机最小系统

2.1.3时钟电路

该设计中时钟信号用来提供给单片机各种指令操作的时间基准,该时钟电路用于89C52RC工作所需要的时钟信号。

单片机的时钟信号通常有两种方式得到:

1部振荡方式2外部振荡方式。

该设计采用部时钟方式,利用89C52RC单片机的反向放大器,单片机的XTAL1和XTAL2端用于外接石英晶体振荡器和微调电容(c1和c2),这样便构成了一个稳定的自激振荡器,将其产生的脉冲输入给单片机。

本设计采用最常用的部时钟方式,即用外接晶体和电容组成的并联谐振回路。

振荡晶体可在1.2MHZ到12MHZ之间选择。

C1、C2可在20pF到100pF之间取值,但在20pF到40pF时振荡器有较高的频率稳定性。

所以本设计中,未涉及单片机得串行口通信,所以振荡晶体选择12MHZ,电容选择30pF,若需要进行串行口通信,则一般采用振荡频率为11.0592MHZ晶振。

2.1.4复位电路

复位是用作单片机的初始化操作,当单片机复位时程序计数器PC的值变为0000H,使单片机的程序指针指在0000H单元,即从0000H单元开始执行程序。

除了系统的正常初始化外,另外当单片机系统在运行出错或操作错误使系统处于死锁状态时,也可以通过持续按下复位键,使单片机工作从0000H单元重新工作。

其中单片机复位的条件是:

当按下复位键时,必须使RST复位信号引脚持续2个机器周期以上的高电平。

复位电路通常采用上电自动复位和按钮复位两种方式,如图2.2所示。

(a)上电自动复位(b)按键电平复位(c)按键脉冲复位

图2.2单片机常见的复位电路

该设计采用上电自动复位和手动复位两种方式,其中上电自动复位电路,其原理是当系统上电时,电容充电到高电平并持续一段时间(两个机器周期以上)来实现单片机复位。

时钟频率用12MHZ时所以C取22uF,R取1KΩ。

按键复位其原理是,当按键按下时,R1接入电路,R1和R2分压,由于R1<

时钟频率选用6MHZ时,C取10uF,R1取1K,R2取10KΩ。

复位电路如图2.3所示。

图2.389C52RC复位电路

2.2直流调速系统

直流调速系统静差率小、稳定性好、具有良好的动态性能。

通过改变电枢电压调速是直流调速系统采用的主要方法,调节电枢供电电压或者改变励磁磁通,都需要专门的可控电流电源,常用的可控直流电源有以下三种:

(1)旋转变流机组。

用交流电动机和直流电动机组成机组,以获得可调的电流电压。

旋转变流系统由交流发电机拖动直流电动机实现变流,由发电机给需要调速的直流电动机供电,调节发电机的励磁电流即可改变其输出电压,从而调节电动机的转速。

改变励磁电流的方向则输出电压的极性和电动机的转向都随着改变,所以G-M系统的可逆运行是很容易实现的。

该系统需要旋转变流机组,至少包含两台与调速电动机容量相当的旋转电机,还要一台励磁发电机,设备多、体积大、费用高、效率低、维护不方便等缺点。

且技术落后,因此搁置不用。

(2)静止可控整流器。

用静止的可控整流器产生可调的直流电压。

V-M系统是当今直流调速系统的主要形式。

它可以是单相、三相或更多相数,半波、全波、半控、全控等类型,可实现平滑调速。

V-M系统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难。

它的另一个缺点是运行条件要求高,维护运行麻烦。

最后,当系统处于低速运行时,系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。

(3)直流斩波器或脉宽调制变换器。

其原理是利用直流斩波或脉宽调制的方法来产生可调的直流平均电压,可用做对电机的速度控制。

脉冲宽度调制是通过对模拟信号的电平进行控制。

由控制系统控制,可以通过设定脉冲宽度调制器的定时器初值来设置周期,在PWM控制寄存器中设置接通时间和关断时间,这样通过改变方波的占空比来实现对模拟信号的电平进行控制。

整流电路其工作原理是:

根据输出的模拟信号的高低使二极管处于导通或截止状态,实现整流。

PWM调制后,通过驱动电路控制电机的转速,即实现对系统的速度控制。

根据以上综合比较,本次设计采用PWM调制来实现对小车的速度的调制。

由于单片机输出电流小,不足以驱动电机,还需要经过一驱动电路,再加在电机上。

为顺利实现改变小车速度的控制,该设计使用软件编程产生PWM脉冲,通过调节脉冲占空比来达到调节电机转或不转的时间,从而控制小车的速度。

2.3驱动

该设计的驱动模块采用的是L298N芯片,用作驱动智能小车的两个直流电机。

L298N具有两个使能控制端,可以设置在不接受输入信号的情况下允许或禁止器件工作,在该硬件设计中将使能端接为固定的高点平,使驱动芯片在未接收信号输入信号时也处于工作状态;L298N部有4通道的二相和四相电机的专用驱动器。

该硬件设计中通过P3口的低4位控制这四个通道(其中左边的电机对应IN1、IN2,右边的电机对应IN3、IN4),从而实现对两电极的控制。

在该设计的软件部分,通过改变IN1、IN2、IN3、IN4四通道的输入电平,来实现对电机电机的控制。

另外,L298N其还有二个H桥的高电压大电流双全桥式驱动器。

L298N驱动芯片的主要特点是:

1工作电压高,最高的工作电压可达46V。

2输出的电流大,瞬间峰值电流可达到3A,持续稳定的工作电流为2A。

3驱动能力强。

L298N对直流电机控制的逻辑真值表如表2.4所示

其中C、D分别为IN1、IN2或IN3、IN4,L为低电平H为高电平*表任意

表2-1L298N对直流电机控制的逻辑真值

输入

输出

Ven=H

C=H;D=L

正传

C=L;D=H

反转

Ven=L

C=D

制动

C=*;D=*

没有输出,电机不工作

图2.4电机驱动模块

2.4比较器

比较器的功能是比较两个电压的大小,如图2.5所示,将一个信号电压Ui和一个参考电压Ur进行比较,若Ui>Ur时,即负向输入端大于正向输入端,输出端U0输出一低电平。

若Ui

+5V

Ui

U0

Ur

—5V

图2.5比较器电路

比较器可以分为以下类型:

1过零电压比较器2电压比较器3窗口比较器4迟滞比较器。

在本设计中,光电传感器采集的信号通常伴有外界噪声信号,可以在光电传感器后面接一个低通滤波器,将噪声信号滤除,因为噪声信号通常是高频信号,若要做到保证采集的信号的准确性和提高系统的抗干扰性,还应该尝试采用了滞回比较器,滞回比较器有两个阈值电压,当输入发生变化时,只要电压值变化处于两个阈值电压之间,滞回比较器的输出电压就不会来回跳变。

所以当输入信号由于外界干扰或其他原因造成信号发生改变,但变化处于两阈值电压之间,就不会产生影响,这样增强了抗干扰能力。

而该设计为了简化设计,采用的是简单电压比较器。

因为简单电压比较器结构简单,硬件电路搭建简单,而且灵敏度高,但它的抗干扰能力差,也就是说如果输入信号因受干扰在阈值附近变化,则比较器输出电平就会反复从一个电平跳到另一个电平。

本设计要求要求并不高,所以本设计采用简单的比较器就能达到要求。

2.5信息采集系统

检测模块主要采用光电检测,即利用5个光电感应器对轨迹(黑色引导线)检测。

将采集到的信号通过LM324搭建的比较器放大反向后,输入给单片机,通过运算分析,产生控制信号,输出给驱动模块,控制电机。

从而实现对智能小车行驶过程中的前进、到站、到终点站、转弯的控制。

2.5.1循迹电路原理分析

本系统采用反射式红外线光电传感器用于检测路面的情况,地面铺上一层白纸(便于反射光线),在白纸上画上一个椭圆型的轨迹(宽约1.5厘米)作为循迹轨道,在轨道的上标记一处宽约10厘米的线(垂直于轨道)作为小车终点站,另外标记三处宽约6厘米的线(垂直于轨道)作为小车行驶过程中的三个站点。

图2.6光电感应器

信息采集电路(见图2.6光电感应器)采用红外反射接收的原理,包括一个红外线发射器、一个红外接收传感器。

其中采用红外发光二极管产生红外线,若红外线照射到反光强的物体上(如白色物体),红外线就会被反射回来,被接收器接收到,若照射到反光性不好的物体上时(如黑色的物体),红外线就会被吸收,几乎不能反射红外线光被接收器接收到。

其原理如图2.6所示:

1.没有检测到黑线,则H4发射器发射红外线照射在白纸上,红外线被反射回来被H4接收器接收到,H4接收端导通,导通则T1输出低电平,T1=0。

2.有检测到黑线,则H4发射器发射红外线照射在黑线上,红外线几乎被黑线全部被吸收,红外线被不能反射回来被H4接收器接收到,因为H4不导通(截止),则T1输出高电平,T1=VCC。

在本设计中将循迹电路中的T1信号做为LM324的2管脚输入,当T1=0,比较端3管脚=3V时,输出端OUT1输出1,当T1=5V,比较端3管脚=3V时,输出端OUT1输出0。

光电传感器固定在底盘前端贴近地面。

当正常行驶时,传感器输出低电平信号后送给LM324运放搭建的比较器(如图2.7),经倒向处理后的信号传输给89C52RC单片机进行分析处理,判断小车目前处于什么状态,需要向小车发出什么样的控制信号,通过执行什么子程序来控制玩具车的行驶状态。

当需要调节小车行驶速度时。

图2.7LM324比较器电路

通过单片机控制进行PWM变频,即通过软件改变脉冲调宽波形的占空比,实现对小车的速度的调制。

最后经反接制动实现停车。

前行与倒车控制电路的核心是桥式电路和继电器。

本方案采用两块LM324来搭建电压比较器(因为该设计方案采用了五个光电感应器采集信号,而每片LM324部有4个运放)。

LM324它采用14管脚双列直插塑料封装,如图2.8所示。

图2.8LM324封装

2.6显示电路设计

本设计中将单片机的P0^0到P0^4五位作为采集到的信号的入口,并用五个LED管来显示采集的到目前小车的状态,如图2.9所示,LED管的亮灭,可便于编写程序时分析和测试过程中采集的信号是否正确。

其中P1^3对应于最左边光电感应器采集来的信号经过LM324后的值,其中P1^7对应于最右边光电感应器采集来的信号经过LM324后的值。

图2.9LED显示

 

3.软件设计

设计任务要求:

设计并制作一智能公交小车系统。

该智能小车系统能按设定的速度稳定地在引导线上行驶。

在设定的位置停止设置的时间,到达引导线末端自动停止前进。

引导线黑色宽度2.5cm,每站停留时间5秒。

为了实现完成论文题目的要求,本系统软件部分将包含以下几个功能模块:

(1)初始化:

用于设置小车启动时向前行驶,设置TMOD,确定定时器0方式,以及初始化一些运行过程用到的全局变量,打开中断。

(2)软件延时:

用于设置小车短暂减速时间和一些地方的简单延时。

(3)定时:

用于小车到站后准确停留五分钟,后在启动。

(4)信息采集:

使用五个光电感应器采集小车行驶状态信息,以便准确实时反映小车行驶的状态,作为分析运算的参数。

(5)宏定义:

定义一些程序运算时要用到的中间变量,和对一些口的位定义,以便程序修改和阅读。

(6)电机驱动控制:

通过信息采集模块采集的信息,通过分析运算产生控制信号,通过驱动芯片控制电机,达到实时控制改变小车状态。

(7)报警装置:

当小车到站后,小车需要鸣笛,所以通过使用蜂鸣器达到到站鸣笛的效果。

综合上述的几个功能模块,本系统的软件部分结构如图3.1所示:

 

图3.1控制软件结构图

 

3.1主程序设计

图3.2主程序流程图

该设计的主程序流程图如图3.2所示,小车上电后,调用初始化子程序,进行初始化,然后进行判断小车的动态标识位是否为1,若为0,则继续扫描小车动态标识位(flag2);若小车动态标志位(flag2)为1,则调用小车状态信息扫描子程序,得到状态标志值,再调用改变小车状态子程序,将扫描小车状态得到的标志值作为改变小车状态子程序的实参,执行改变小车状态子程序,然后在去查询小车标志位(flag2)的值是否为一,这样循环下去。

voidmain()

{

init();//初始化

while

(1)

{

if(flag2==1)//小车动态标识位是否为1

{

mm=dscan();//调用扫描小车状态子程序

vrun();//调用小车状态改变函数

}

}

}

3.2宏定义函数

在宏定义函数中,定义程序中要用到的全局变量和定义宏常量。

设置位变量和单片机、器件的控制端口对应口位对应便于操作和便于自己理解,从而提高程序的可读性和易于改变。

#defineuintunsignedint

#defineucharunsignedchar

sbitL1=P1^3;//作为右边第二个光电感应器采集的信号

sbitL2=P1^4;//作为右边第一个光电感应器采集的信号

sbitCC=P1^5;//作为中间光电感应器采集的信号

sbitR1=P1^6;//作为左边第一个光电感应器采集的信号

sbitR2=P1^7;//作为左边第一个光电感应器采集的信号

sbitbeep=P1^0;//做为控制蜂鸣器位

sbitA1=P3^0;//控制左边电机的IN1

sbitA2=P3^1;//控制左边电机的IN2

sbitB1=P3^2;//控制右边电机的IN3

sbitB2=P3^3;//控制右边电机的IN4

ucharflag1,flag2,a,mm;

/*flag1作为定时五秒标识位,flag2作为小车动态标识位,a作为计数产生多少次定时器0次数累加器,mm作为扫描循迹到的小车状态标志值*/

3.3初始化子程序设计

首先将定时五秒标识复位,因为还未调用定时五秒子程序时,所以该标志位应该为零,同样未产生定时器0中断,所以应该将定时器0中断次数累加器清零,设置TMOD=0x01,即T0用作定时,工作方式为方式0,因为设计中要处理定时器0中断,所以应该打开总中断、定时器中断。

然后让小车启动时向前行驶,让后将小车动态标识位置为1,以便实时扫描小车行驶过程中路面的动态信息,继而控制电机改变小车的状态。

voidinit()//初始化

{

flag1=0;//五秒延时到标识

P3=0xff;

a=0;//定时器0中断累加器

TMOD=0x01;//设置定时器0为方式0

EA=1;//开总中断

ET0=1;//开定时器中断

vrun

(2);//启动时让小车向前进

flag2=1;//小车动态变化标识

}

 

 

图3.3智能公交车系统初始化子程序流程图

 

3.4延时子程序

该延时子程序采用软件延时,累计每执行一条指令所耗费的时间,达到需要的延时,软件延时由于其延时时间不精确,所以用在一些短暂的延时。

该延时子程序如下所示:

voiddelay(ucharz)//延时

{

ucharx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

 

N

Y

N

Y

 

图3.4智能公交小车系统软件延时流程图

3.5定时子程序设计

智能小车公交系统定时程序用于当小车到站时,蜂鸣器鸣笛10次后,停止五秒后再启动小车,继续行驶。

该定时子程序设计采用定时中断方式,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1