毕业设计电磁感应路径识别智能小车设计.docx

上传人:b****0 文档编号:9819041 上传时间:2023-05-21 格式:DOCX 页数:16 大小:127.55KB
下载 相关 举报
毕业设计电磁感应路径识别智能小车设计.docx_第1页
第1页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第2页
第2页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第3页
第3页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第4页
第4页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第5页
第5页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第6页
第6页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第7页
第7页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第8页
第8页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第9页
第9页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第10页
第10页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第11页
第11页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第12页
第12页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第13页
第13页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第14页
第14页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第15页
第15页 / 共16页
毕业设计电磁感应路径识别智能小车设计.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

毕业设计电磁感应路径识别智能小车设计.docx

《毕业设计电磁感应路径识别智能小车设计.docx》由会员分享,可在线阅读,更多相关《毕业设计电磁感应路径识别智能小车设计.docx(16页珍藏版)》请在冰点文库上搜索。

毕业设计电磁感应路径识别智能小车设计.docx

毕业设计电磁感应路径识别智能小车设计

 

毕业论文(设计)

 

题目 基于电磁感应路径识别智能小车软件设计 

院系        

专业 年级  

学生姓名        

学号            

指导教师      

电磁感应路径识别智能小车软件设计

专业:

姓名:

指导老师:

【摘要】本系统主要实现了智能小车的左转,右转,停止等功能,在一个交变磁场为引导信号道路中,根据电感线圈的路径识别模块,单片机AT89S52得到采集到的信号,通过采集到的信号来改变输出的PWM波的占空比,从而使两个直流电机的转速不相同,来控制小车的运行方向。

程序采用了C语言进行设计,主程序采用了循环模式的设计,只要定时器计数没满,利用switch语句一直对P3口的判断,再调用方向函数来控制小车行进方向。

中断服务程序中定义一个计数变量自加1,当等于脉宽值width时,输出口置为低电平,当等于频率值fre时,输出口置为高电平,这样就可以改变width值时改变输出占空比大小。

方向函数中对width值进行了赋值,由主程序进行调用。

【关键词】AT89S52;线圈磁场传感器;直流电机,PWM调速法

 

Electromagneticinductionintelligentvehiclerecognition

Major:

Student:

Supervisor:

【Abstract】Themainachievementofthesystemofintelligentvehicleturnleft,turnright,stopandotherfunctions,inanalternatingmagneticfieldinordertoguidethesignalpath,basedoninductancecoilpathidentificationmodule,single-chipAT89S52signal,throughtheacquisitionofthesignaltochangetheoutputofthePWMwavedutycycle,sothatthetwoDCthemotorspeedisnotthesame,tocontrolthecarrunningusingClanguageforthedesignofthemainprogram,usingacircularpatterndesign,aslongasthetimercountnotfull,useswitchstatementshavebeenontheP3exportjudgment,andthencallthedirectionfunctiontocontrolthedirectionofthemovinginterruptserviceroutinetodefineavariablecountfrom1,whenequaltothepulsewidthwhenthevalueofwidth,outputislow,whenthevalueoffreisequaltothefrequency,outputishigh,soitcanchangethewidthvaluechangetheoutputdutyratiofunctiononwidthvalueswereassigned,bythemainprogramcall.

【Keywords】AT89S52;magneticfieldsensor;DCmotor,PWMspeedcontrolmethod

 

绪论

随着科学技术的飞速发展,人们对生活的要求越来越高,特别是对交通工具的智能方面的要求,除此之外,随着在企业中越来越追求工作效率和生产成本,迫切的要求以最低的成本生产出所需要的产品,在这种种的社会的条件下,人们越来越重视机器智能方面的研究,在众多的研究当中,交通工具的智能研究就是其中的一个热点问题,而智能小车的研究就是一个很好的代表。

所谓的智能小车,就是集路面环境探测、卫星导航、自动行驶和有自己的决策能力等功能为一体的小车,它综合运用了计算机、通信、导航和自动化控制等技术。

正因为智能小车的功能强大和比较实用,同时对智能小车的研究有很大的发展空间,所以智能小车的研究得到了国内外科学家的重点关注。

智能小车的研究是一个很有意思的科研问题,得到了很多大学生的关注,他们在学校期间学习很多与之相关的知识,同时做很多与之相关的实验。

现在国内的很多电子设计大赛都有与智能小车相关的题目,在大赛中设计出来的这些小车能实现很多方面的功能,例如避障、循迹等。

本系统主要实现了智能小车的左转,右转,停止等功能,在一个交变磁场为引导信号道路中,根据电感线圈的路径识别模块,单片机得到采集到的信号,通过采集到的信号来改变输出的PWM波的占空比,从而使两个直流电机的转速不相同,来控制小车的运行方向。

程序采用了C语言进行设计,主程序采用了循环模式的设计,子程序则为功能模块设计,由主程序进行调用。

1设计方案介绍

本论文主要对智能小车软件系统进行了研究。

整个硬件系统由路径检测系统和单片机最小系统组成。

论文首先对检测系统作了详细的分析,接着对单片机最小系统的各个组成部分作了详细的说明,同时在论文中对所用到的传感器,电机等阐述了其原理。

系统整体设计基于单片机的控制,由单片机作为主控制器进行各部分的协调工作,在熟悉硬件的基础上编程实现软件功能。

本系统先简单介绍智能小车系统的构成与特性,再详细讲述基于AT89S52单片机的智能小车系统的软件功能的设计与实现。

硬件方案介绍

整个硬件系统由路径检测系统和单片机最小系统组成,路径检测系统检测到磁场的变化情况,以信号的形式传送给单片机,单片机最小系统接收并处理检测系统传送过来的信号,把处理好的信号后采取PWM调速法来改变直流电机的转速,从而控制小车的行驶。

小车识别硬件系统的整体结构如下图所示,

图1硬件系统结构

路径检测系统是整个小车硬件系统的前端部分,是比较重要的一部分,不可缺少的。

在整个系统中,路径检测部分能否准确的检测到磁场传感器传来的信号,对小车的行驶来说是很重要的。

如果路径检测系统能够准确的检测到信号,并且及时的反馈给单片机系统,这样的话,单片机系统就能及时的处理所接收到的信号,同时将所处理好的信号传输给直流电机,从而控制小车避开前进方向。

因而路径检测系统中传感器的选择是很重要的,传感器选择的好的话,会对设计的结果有很大的帮助。

1.1.1路径识别模块

用两个10mH的电感线圈置于车模头部作为确定小车位置的传感器,即双水平线圈方案。

使用两个线圈,分别装在小车前方两侧,顺着电流方向竖直放置线圈,此时线圈中的感应电动具有势分布简单,衰减快,远处对近处的干扰小的特点,所以非常适合作为采集信号的传感器。

用一根导线产生20KHZ100mA的交变磁场,然后使小车沿着引导线信号的道路行走。

根据电磁学,在导线中通入按正弦规律变化的电流,导线周围会产生变化的磁场,且磁场与电流的变化成一定的规律。

如果在此磁场中置一由线圈组成的电感,则该电感上会产生感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。

由于在导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。

据此,则可以确定电感的大致位置。

靠近磁场的地方磁感应强度越高,远离磁场的地方磁感应强度越低。

用两线圈采集到的感应电压对小车的位置做出判断。

对于弧形导线若选用左侧线圈电压减去右侧线圈电压,若这个差为正值则说明小车已经偏离直线向左侧转弯,且这个值越大说明偏左越厉害;同理可得,若选用右侧线圈电压减去左侧线圈电压,若这个差为正值则说明小车已经偏离直线向右转弯,且这个值越大说明偏右越厉害。

对于直导线,即左侧线圈电压和右侧线圈电压的值差不多,则小车沿着直线向前行走。

不同的线圈轴线摆放方向,可以感应不同的磁场分量。

在车模前上方水平方向固定两个相距L的线圈,两个线圈的轴线为水平,高度为h,为了讨论方便,我们在跑道上建立如下的坐标系,假设沿着跑道前进的方向为z轴,垂直跑道往上为y轴,在跑道平面内垂直于跑到中心线为x轴。

xyz轴满足右手方向。

假设在车模前方安装两个水平的线圈。

这两个线圈的间隔为L,线圈的高度为h,参见下图5所示。

左边的线圈的坐标为(x,h,z),右边的线圈的位置(x-L,h,z)。

由于磁场分布是以z轴为中心的同心圆,所以在计算磁场强度的时候我们仅仅考虑坐标(x,y)。

由于线圈的轴线是水平的,所以感应电动势反映了磁场的水平分量。

根据公

式可以知道感应电动势大小。

图2感应线圈的布置方案

令h=10cm,x∈(−30,+30)cm,可以根据公式计算出感应电动势

我们使用相距水平长度为L的两个感应线圈,并计算两个线圈感应电动势的差值:

下面假设L=30cm,计算两个线圈电动势差值dE。

当左边线圈的位置x=30的时候,此时两个线圈的中心恰好处于跑道中央,感应电动势差值dE为0。

当线圈往左偏移,x∈(15,30),感应电动势差值小于零;反之,当线圈往右偏移,x∈(0,15),感应电动势大于零。

因此在位移0∼30cm之间,电动势差值dE与位移x是一个单调函数。

可以使用这个量对于小车转向进行负反馈控制,从而保证两个线圈的中心位置跟踪赛道的中心线。

通过改变线圈高度h,线圈之间距离L可以调整位置检测范围以及感应电动势的大小。

电机驱动模块

一般来说控制器、功率变换器和电机三个部分组成了电动小车的驱动系统。

由于小车的驱动不但要求电机驱动系统具有很宽的调速范围和高可靠性的性能,还有就是电机的转速要受电源功率的影响,就要求驱动具有宽的高效率区。

直流电机的控制比较简单,性能比较出众,而且直流电源也比较容易实现。

所以本设计的驱动选用了两个直流电机,分别驱动两侧的小车履带,同时也使小车能够方便的达到转弯的目的。

电机在正常工作时对电源的干扰很大,所以可以用光耦器件将控制部分和电机驱动部分隔开,这样可以有效的避免对电源部分的影响,并且用三极管加在场效应管的基极加以驱动,从而有足够大的基极电流流过场效应管。

PWM为脉冲宽度调制,通过PWM波控制MOS管控制直流电机的电压。

通过改变PWM的占空比可以调节电机的速度。

直流电机两端的电压与其转速比例,也与控制波形的占空比成正比,因此电机的速度与占空比大小成正比,占空比越大,电机转得越快,当占空比为1时,电机转速最大。

2软件方案介绍

C语言:

是计算机程序设计语言,既具有高级语言的特点,有具有汇编语言的特点,是一种中级语言。

因为C语言的功能很强大,所以C语言发展非常快,C语言成为现在最受欢迎的编程语言之一。

C语言有以下优点:

①C语言是结构化语言,结构化使得程序层次清晰,便于使用、维护以及调试;②C语言功能齐全,具有多种数据类型,使得程序效率更高;③C语言有很好的移植性,编好的C语言程序,能很好的下载到不同的芯片,没有什么兼容性的问题,不需要重新再编写程序。

总的来说,就是C语言功能比较强大,又通俗易懂,所以在编程的时候,选择C语言来编程。

2.1.1单片机介绍

AT89S52的特点是:

8位CPU和在系统可编程Flash;晶片内部具时钟振荡器;内部程序存储器(ROM)为8KB;内部数据存储器(RAM)为256字节;32个可编程I/O口线;8个中断向量源;三个16位定时器/计数器;三级加密程序存储器;全双工UART串行通道。

端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。

P0口:

P0口为一个8位漏极开路双向I/O口,每脚吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

由于AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,并且片上Flash允许程序存储器在系统可编程。

所以本设计采用AT89S52单片机为核心控制器主控单元的一个最小系统。

该最小系统包括:

复位电路、电源电路、时钟电路。

C3与R1组成单片机的复位电路。

复位时单片机执行初始化操作,复位后PC初始化为0000H,使得单片机程序从OUT单元开始执行,从成本与效益考虑本系统采用由简单的RC电路构成的复位电路。

时钟频率是单片机每个功能部件的运行基准,有了这个基准单片机才能有条有理的一拍一拍地工作,因此,时钟直接关系到单片机的运行速度,时钟电路的工作质量也直接关系到单片机系统的工作稳定性。

本设计选用的是的晶体振荡器(简称晶振),这样是为了方便计算波特率。

晶振的频率越高,则系统得到的时钟频率也就越高,单片机执行指令的速度也就越快。

2.1.2系统原理

小车启动后,调整好路线后全速前进,行驶到弯道时,左右线圈磁场传感器会检测到不相等的电压信号,传输给单片机,通过单片机调节PWM信号输出调节左右轮速度从而实现小车的转弯,直转到左右线圈磁场传感器检测到相等的电压信号为止,在执行中断服务程序中输出PWM封锁信号并实现闭锁从而实现小车的刹车。

刹车后小车在原地等待。

3系统控制软件设计

根据软件设计方案,整个软件采用模块化设计,各功能部分均设计为子程序模块,各功能的实现是通过主程序调用子程序或子程序调用子程序完成的。

整个程序由以下部分组成:

(1)、主程序:

主程序是整个程序的主体,包括单片机内存单元以及各个I/O口的初始化,主要有相关标志位,暂存单元,显示缓冲区的清零,中断向量入口地址,中断优先级,堆栈指针的设置,以及对子程序的调用等。

(2)、中断服务程序:

利用了定时器模拟PWM波输出,并定义了小车运行时间。

(3)、控制程序:

控制小车前进的方向。

主程序设计

主程序是整个软件流程核心,它起到串联各功能模块的作用,各功能部分的执行都采用子程序调用的方式来实现。

另外主程序还负责对一些标志、状态、符号地址进行定义和设置初始化值,以便在程序运行中使用和判断。

主程序采用循环结构的方式设计,在系统上电以后先系统的复位工作。

软件系统的主结构图

main()

{

EA=1;0f0c0f

孟尝.数字电子技术基础简明教程.高等教育出版社.1985

[2].杨素行.模拟电子技术基础简明教程.高等教育出版社.1985

[3].张毅刚.彭喜元.单片机原理与应用设计.电子工业出版社.

[4].梅丽凤.王艳秋.汪毓铎.张军.单片机原理与接口技术.北京交通大学出版社.

[5].刘笃仁.韩保君.传感器原理及应用技术.西安电子科技大学出版社.

[6].李金平.沈明山.姜余祥.电子系统设计.电子工业出版社.

[7].马忠梅.籍顺心.张凯.马岩.单片机的C语言应用程序设计.航空航天大学出版社.2008

[8].余志生.汽车理论.机械工业出版社.2006

附录

程序清单

Intsum1=100000;

Intwidth=20;//右轮脉宽

Intwidthleft=20;//左轮脉宽

Intfre=40;//频率

SbitpwmP0^0;//右输出口

Sbitpwm1P0^1;//左输出口

//传感器端口

sbits1=P3^0;

sbitS2=P3^1;

sbits3=P3^2;

sbitS4=P3^3;

main()

{

EA=1;//开中断

ET0=1;//开T0中断

TMOD=0x02;//8位重装

TL0=0xfc;

TH0=0x18;

TR0=1;

While

(1)

{

Inttemp=P3&0x0f;

switch(temp)

{

case0x00:

do

{

stop();

}while(temp!

=0);break;

case0x03:

do

{

left();

}while(temp!

=0x03);break;

case0x0b:

do

{

Left1()

}while(temp!

=0x0b);break;

case0x0d:

do

{

right();

}while(temp!

=0x0d);break;

case0x0c:

do

{

Right1();

}while(temp!

=0x0c);break;

case0x0f:

do

{

head();

}while(temp!

=0x0f);break;

}

head();

}

}

VoidT0-ISR()interrupt1//中断服务程序

{

Staticintcount;//计数变量

Intsum=0;//定时器变量

Count++;

Sum++;

If(sum==sum1)

{

EA=0;

PwmR=pwmL=0;

}

If(count==widthL)

PwmL=0;

if(count==widthR)

pwmR=0;

If(count==fre)

{

Count=0;

PwmR=pwmL=1;

}

}

voidleft()//向左转

{

WidthL=15;

widthR=20;

}

voidright()//向右转

{

WidthR=15;

WidthL=20;

}

voidstop()//停止

{

WidthR=0;

WidthL=0;

}

voidhead()//向前走

{

WidthR=20;

widthL=20;

}

致谢

时光流逝匆匆,转眼间论文终于完成了。

当自己终于可以从毕业论文的压力下解脱出来,长长地吁出一口气时,我忽然间才意识到,原来大学四年已经过去,到了该告别的时候了。

一念至此,竟有些恍惚,所谓白驹过隙、百代过客云云,想来便是这般惆怅了。

我在这里首先要感谢的是我的学位论文指导老师,在本文的撰写过程中,老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。

老师给予了悉心的指导和关心,使我克服了众多困难终于完成了论文的撰写工作。

他的渊博的知识、严谨求实的治学态度及敬业精神让我受益匪浅!

并将在我今后的人生道路上产生深远的影响,在此论文完成之际,谨向张乐老师致以崇高的敬意和衷心的感谢!

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2