毕业设计-电磁感应路径识别智能小车设计_第1页
毕业设计-电磁感应路径识别智能小车设计_第2页
毕业设计-电磁感应路径识别智能小车设计_第3页
毕业设计-电磁感应路径识别智能小车设计_第4页
毕业设计-电磁感应路径识别智能小车设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、- .毕业论文(设计)题目 基电感路识智小软设院系专业 年学学号指教. - 可修遍- .电磁感应路径识别智小车软件设计专业: 指导老师:【摘要 系统主要实现了智能小车的左转,右转,停止等功能,在一个交变磁场为引 导信号道路中,根据电感线圈的路径识别模块,单片机 AT89S52 得到采集到的信号,通 过采集到的信号来改变输出的 PWM 波的占空比,从而使两个直流电机的转速不相同,来 控制小车的运行方向。程序采用了 C 语言进行设计,主程序采用了循环模式的设计,只 要定时器计数没满,利用 switch 语句一直对 P3 口的判断,再调用方向函数来控制小车行 进方向。中断服务程序中定义一个计数变量自

2、加 1,当等于脉宽值 width 时,输出口置为 低电平,当等于频率值 fre 时,输出口置为高电平,这样就可以改变 width 值时改变输出 占空比大小。方向函数中对 width 值进行了赋值,由主程序进行调用。【关键】 AT89S52;线圈磁场传感器;直流电机,PWM 调速法. - 可修遍- .Electromagnetic induction intelligent vehicle recognitionMajor:Student:Supervisor:【Abstract main achievement of the system of intelligent vehicle turn

3、 left, turn right, stop and other functions, in an alternating magnetic field in order to guide the signal path, based on inductance coil path identification module, single-chip AT89S52 signal, through the acquisition of the signal to change the output of the PWM wave duty cycle, so that the two DC

4、the motor speed is not the same, to control the car running direction.Program using C language for the design of the main program, using a circular pattern as long as the timer count not full, use switch statements have been on the P3 export judgment, and then call the direction function to control

5、the direction of the moving car.The interrupt service routine to define a variable from 1, when equal to the pulse width when the value of. - 可修遍- .width, output is low, when the value of fre is equal to the frequency, output is high, so it can change the width value change the output duty ratio siz

6、e.Directional function on values were assigned, by the main program call. 】AT89S52; magnetic field sensor; DC motor, speed control method目 录绪论 41 设计方案介绍 51.1 硬件方案介绍 51.1.1 路径识别模块 51.1.2 电机驱动模块 72 软件方案介绍 8. - 可修遍- .2.1.1 单片机介绍 8 2.1.2 系统原理 93 系统控制软件设计 9 3.1 主程序设计 93.2 中断服务程序 11 3.3 控制程序设计 144 调试与检测 1

7、54.1 调试与仿真 15 4.2 检测与分析 16结束语 16附录 17程序清单 17致 20绪论随着科学技术的飞速发展,人们对生活的要求越来越高,特别是对交通工具的智能 方面的要求,除此之外,随着在企业中越来越追求工作效率和生产成本,迫切的要求以 最低的成本生产出所需要的产品,在这种种的社会的条件下,人们越来越重视机器智能 方面的研究,在众多的研究当中,交通工具的智能研究就是其中的一个热点问题,而智 能小车的研究就是一个很好的代表。所谓的智能小车,就是集路面环境探测、卫星导 航、自动行驶和有自己的决策能力等功能为一体的小车,它综合运用了计算机、通信、 导航和自动化控制等技术。正因为智能小车

8、的功能强大和比较实用,同时对智能小车的 研究有很大的发展空间,所以智能小车的研究得到了国外科学家的重点关注。智能小车 的研究是一个很有意思的科研问题,得到了很多大学生的关注,他们在学校期间学习很 多与之相关的知识,同时做很多与之相关的实验。现在国的很多电子设计大赛都有与智 能小车相关的题目,在大赛中设计出来的这些小车能实现很多方面的功能,例如避障、 循迹等。. - 可修遍- .本系统主要实现了智能小车的左转,右转,停止等功能,在一个交变磁场为引导信号 道路中,根据电感线圈的路径识别模块,单片机得到采集到的信号,通过采集到的信号 来改变输出的 PWM 波的占空比,从而使两个直流电机的转速不相同,

9、来控制小车的运行 方向。程序采用了 C 语言进行设计,主程序采用了循环模式的设计,子程序则为功能模 块设计,由主程序进行调用。1 设计方案介绍本论文主要对智能小车软件系统进行了研究。整个硬件系统由路径检测系统和单片 机最小系统组成。论文首先对检测系统作了详细的分析,接着对单片机最小系统的各个 组成部分作了详细的说明,同时在论文中对所用到的传感器,电机等阐述了其原理。系 统整体设计基于单片机的控制,由单片机作为主控制器进行各部分的协调工作,在熟悉 硬件的基础上编程实现软件功能。本系统先简单介绍智能小车系统的构成与特性,再详 细讲述基于 AT89S52 单片机的智能小车系统的软件功能的设计与实现。

10、 整个硬件系统由路径检测系统和单片机最小系统组成,路径检测系统检测到磁场的 变化情况,以信号的形式传送给单片机,单片机最小系统接收并处理检测系统传送过来 的信号,把处理好的信号后采取 PWM 调速法来改变直流电机的转速,从而控制小车的行 驶。小车识别硬件系统的整体结构如下图所示,图 1 硬件系统结构路径检测系统是整个小车硬件系统的前端部分,是比较重要的一部分,不可缺少的。 在整个系统中,路径检测部分能否准确的检测到磁场传感器传来的信号,对小车的行驶 来说是很重要的。如果路径检测系统能够准确的检测到信号,并且及时的反馈给单片机 系统,这样的话,单片机系统就能及时的处理所接收到的信号,同时将所处理

11、好的信号 传输给直流电机,从而控制小车避开前进方向。因而路径检测系统中传感器的选择是很 重要的,传感器选择的好的话,会对设计的结果有很大的帮助。1.1.1 路径识别模块. - 可修遍- .用两个10mH电感线圈置于车模头部作为确定小车位置的传感器,即双水平线圈方 案。使用两个线圈,分别装在小车前方两侧,顺着电流方向竖直放置线圈,此时线圈中 的感应电动具有势分布简单,衰减快,远处对近处的干扰小的特点,所以非常适合作为 采集信号的传感器。用一根导线产生20KHZ100mA的交变磁场,然后使小车沿着引导线信号的路行走。 根据电磁学,在导线入按正弦规律变化的电流,导线周围会产生变化的磁场,且磁场与 电

12、流的变化成一定的规律。如果在此磁场中置一由线圈组成的电感,则该电感上会产生 感应电动势,且该感应电动势的大小和通过线圈回路的磁通量的变化率成正比。由于在 导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应 电动势也应该是不同。据此,则可以确定电感的大致位置。靠近磁场的地方磁感应强度 越高,远离磁场的地方磁感应强度越低。用两线圈采集到的感应电压对小车的位置做出 判断。对于弧形导线若选用左侧线圈电压减去右侧线圈电压,若这个差为正值则说明小 车已经偏离直线向左侧转弯,且这个值越大说明偏左越厉害;同理可得,若选用右侧线 圈电压减去左侧线圈电压,若这个差为正值则说明小车已经偏离

13、直线向右转弯,且这个 值越大说明偏右越厉害。对于直导线,即左侧线圈电压和右侧线圈电压的值差不多,则 小车沿着直线向前行走。不同的线圈轴线摆放方向,可以感应不同的磁场分量。在车模 前上方水平方向固定两个相距L 的线圈,两个线圈的轴线为水平,高度为 ,为了讨论方 便,我们在跑道上建立如下的坐标系,假设沿着跑道前进的方向为z,垂直跑道往上为y 轴,在跑道平面垂直于跑到中心线为x轴。xyz轴满足右手方向。假设在车模前方安装两个 水平的线圈。这两个线圈的间隔为L,线圈的高度为,参见下图5所示。左边的线圈的坐 标为(x,h,z),右边的线圈的位置x-L,h,z)。由于磁场分布是以z为中心的同心圆,所以 在

14、计算磁场强度的时候我们仅仅考虑坐标(x,y)由于线圈的轴线是水平的,所以感应电动势反映了磁场的水平分量。根据公 式可以知道感应电动势大小。. - 可修遍- .图2感应线圈的布置方案令h=10cm, x( 30,+30)cm,可以根据公式计算出感应电动势我们使用相距水平长度为L 的两个感应线圈,并计算两个线圈感应电动势的差值:下面假设L = 30cm,计算两个线圈电动势差值 E。当左边线圈的位置x = 30的时候,此时 两个线圈的中心恰好处于跑道中央,感应电动势差值 E 为0。当线圈往左偏移, x (15,30) ,感应电动势差值小于零;反之,当线圈往右偏移, (0,15) ,感应电动势大 于零

15、。因此在位移0 30cm间,电动势差值d E 与位移x 是一个单调函数。可以使用这个 量对于小车转向进行负反馈控制,从而保证两个线圈的中心位置跟踪赛道的中心线。通 过改变线圈高度h ,线圈之间距离L 可以调整位置检测围以及感应电动势的大小。 1.1.2电机驱动模块一般来说控制器、功率变换器和电机三个部分组成了电动小车的驱动系统。由于小 车的驱动不但要求电机驱动系统具有很宽的调速围和高可靠性的性能,还有就是电机的 转速要受电源功率的影响,就要求驱动具有宽的高效率区。直流电机的控制比较简单, 性能比较出众,而且直流电源也比较容易实现。所以本设计的驱动选用了两个直流电机 , 分别驱动两侧的小车履带,

16、同时也使小车能够方便的达到转弯的目的。电机在正常工作时对电源的干扰很大,所以可以用光耦器件将控制部分和电机驱动部 . - 可修遍- .分隔开,这样可以有效的避免对电源部分的影响,并且用三极管加在场效应管的基极加 以驱动,从而有足够大的基极电流流过场效应管 PWM 为脉冲宽度调制,通过 PWM 波 控制 MOS 管控制直流电机的电压。通过改变 PWM 的占空比可以调节电机的速度。直流 电机两端的电压与其转速比例,也与控制波形的占空比成正比,因此电机的速度与占空 比大小成正比,占空比越大,电机转得越快,当占空比为 1 时,电机转速最大。2 软件方介绍C 语言:是计算机程序设计语言,既具有高级语言的

17、特点,有具有汇编语言的特 点,是一种中级语言。因为 C 语言的功能很强大,所以 C 语言发展非常快, C 语言成为现 在最受欢迎的编程语言之一。C 语言有以下优点: 语言是结构化语言,结构化使得程 序层次清晰,便于使用、维护以及调试;C 语言功能齐全,具有多种数据类型,使得程 序效率更高;C 语言有很好的移植性,编好的 C 语言程序,能很好的下载到不同的芯 片,没有什么兼容性的问题,不需要重新再编写程序。总的来说,就是 C 语言功能比较 强大,又通俗易懂,所以在编程的时候,选择 C 语言来编程。2.1.1 单片机介绍AT89S52 的特点是:8 位 CPU 和在系统可编程 Flash;晶片部具

18、时钟振荡器;部程序存 储器(ROM为 8KB;部数据存储器(RAM)为 256 字节;32 个可编程 I/O 口线;8 个中断向 量源;三个 16 位定时器/数器;三级加密程序存储器;全双工 UART 串行通道。端口 3 也具 有部提升电路的双向 I/O 端口,其输出缓冲器可以推动 4 个 TTL 负载,同时还多工具有其 他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器容 的读取或写入控制等功能。P0 口:P0 口为一个 8 位漏极开路双向 I/O 口,每脚吸收 8TTL. - 可修遍- .门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于

19、外部程序数据存 储器,它可以被定义为数据/址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 行校验时,P0 输出原码,此时 P0 外部必须被拉高。由于 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器,并且片上 Flash 允许程序存储器在系统可编程。所以本设计采用 AT89S52 单 片机为核心控制器主控单元的一个最小系统。该最小系统包括:复位电路、电源电路、 时钟电路。C3 与 R1 组成单片机的复位电路。复位时单片机执行初始化操作,复位后 PC 初始化为 0000H ,使得单片机程序从 OUT 单元开始

20、执行,从成本与效益考虑本系统采用 由简单的 RC 电路构成的复位电路。时钟频率是单片机每个功能部件的运行基准,有了这 个基准单片机才能有条有理的一拍一拍地工作,因此,时钟直接关系到单片机的运行速 度,时钟电路的工作质量也直接关系到单片机系统的工作稳定性。本设计选用的是 22.1184MHZ 的晶体振荡器(简称晶振样是为了方便计算波特率。晶振的频率越高, 则系统得到的时钟频率也就越高,单片机执行指令的速度也就越快。2.1.2 系统原理小车启动后,调整好路线后全速前进,行驶到弯道时,左右线圈磁场传感器会检 测到不相等的电压信号,传输给单片机,通过单片机调节 PWM 信号输出调节左右轮速度 从而实现

21、小车的转弯,直转到左右线圈磁场传感器检测到相等的电压信号为止,在执行 中断服务程序中输出 PWM 封锁信号并实现闭锁从而实现小车的刹车。刹车后小车在原地 等待。3 系统控制软件设计根据软件设计方案,整个软件采用模块化设计,各功能部分均设计为子程序模块, 各功能的实现是通过主程序调用子程序或子程序调用子程序完成的。整个程序由以下部 分组成: 程序:主程序是整个程序的主体,包括单片机存单元以及各个 I/O 口的初始 化 , 主要有相关标志位,暂存单元,显示缓冲区的清零,中断向量入口地址,中断优先 级,堆栈指针的设置,以及对子程序的调用等。(2断服务程序:利用了定时器模拟 PWM 波输出,并定义了小

22、车运行时间。 (3制程序:控制小车前进的方向。3.1程设主程序是整个软件流程核心,它起到串联各功能模块的作用,各功能部分的执行都 采用子程序调用的方式来实现。另外主程序还负责对一些标志、状态、符号地址进行定. - 可修遍- .义和设置初始化值,以便在程序运行中使用和判断。主程序采用循环结构的方式设计, 在系统上电以后先系统的复位工作。软件系统的主结构图main()EA=1; / 开中断ET0=1; /开 T0 断 TMOD=0 x02; /8 位重装 TL0=0 xfc;TH0=0 x18;TR0=1;While(1)Temp=P3&0 x0f;switch(temp) / 检查磁场传感器传来

23、的接口状态 case 0 x00: dostop(); /车停止while(temp!=0);break;case 0 x03: doleft(); / 小车向左转. - 可修遍case 0 x0b:case 0 x0d:right(); /车向右转case 0 x0c:- .while(temp!=0);break;doLeft1() / 小车小幅度向左转 while(temp!=0 x01);break;dowhile(temp!=0 x02);break;doRight1(); /车小幅度向右转while(temp!=0 x04);break;case 0 x0f: dohead();

24、/小车前进while(temp!=0);break;head();3.2断务序中断服务程序中定义了定时器变量 sum,计数器变量 count当进一次中断,计数器 变量自加一,当等于全局区定义的脉宽变量 width 值时,把输出 PWM 口置为 0,count 继 续自加一,当等于全局区定义的频率变量 fre 值时,把输出口 PWM 置 1这样就完成了一 个周期的输出方波,每次只用控制 width 值就能改变占空比大小的输出,进而控制小车的 方向。而每次进中断,定时器变量也自加一,当加到等于全局区定义的定时器值时就中 断服务程序,并把输出口置为低电平,小车停止前进。流程图如下:. - 可修遍-

25、.相关程序如下:Void T0-ISR() interrupt 1Static int count; / 数器变量Int sum=0; /定时器变量Count +;Sum+;If(sum=sum1) / 判断小车是否到停止条件EA=0; /闭中断PwmR=0; /输出口置为低电平PwmL=0. - 可修遍- .If(count = widthR)Pwmr =0;If(count = widthL)Pwml =0;If(count=fre)Count =0;PwmR=pwmL=1;其设计原理如下图:图 定时器模拟 PWM 波利用定时器/计数器计数,当计到等于脉宽变量值 width 时,PWM 口

26、置为低电平,当计 到等于频率变量值 fire 时,PWM 口置为高电平,如图所示,当我改变 width 值的大小时, 就可以改变该占空比大小。PWM 调速原理:脉冲宽度调制( PWM)是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。它是 一种是对模拟信号电平进行数字编码的方法。通过高分辨率计数器的来计算方波的占空 比,用来对一个具体模拟信号的电平进行编码。但 PWM 信号仍然是数字的,因为在给定 的任何时刻,满幅值的直流供电要么完全有 ,要么完全无 (OFF)。电压或电流源是以 一种通 ( 或断 (OFF) 的重复脉冲序列被加

27、到模拟负载上去的。通的时候即是直流供电被. - 可修遍- .加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可 以使用 PWM 进行编码。3.3 控程设控制程序设计主要是小车路径的抉择,在接到单片机的处理命令后控制程序控制着小车 所做的举动,包含了 4 个动作,其中 head()函数功能是向前走,left)函数功能向左 走, ()函数功能是向右走, ()函数功能是停止前进。在程序中定义了两个 width 变量来控制输出占空比大小,一个控制左轮,一个控制右边轮,所以只用改变 width 的值就能决定小车的方向,下图为输出端口与小车行走情况:图 输入端口电压与小车行走情况

28、的关系P0.0-P0.7 口为 8 位数据口和输出低 8 位地址复用口。选择其中的 P0.2 和 P0.7 口作为 PWM 波的输出口。分别在两个口各接一个光电耦合器,用于隔离单片机控制电路和驱动 电路,防止干扰的产生。而 P3.0、 P3.1、 P3.2 分别为 RXD 串行接受端、 TXD 串行 发送端、INT0 外部中断 0 请求端、INT1 外部中断 1 请求端。现在接着电磁感应路径识别 模块的 4 个输出端,都用于接收采集到的信号,然后处理采集到的信号。经过检波、滤 波、放大后的线圈采集到的电压信号与 3 个电阻 R11、R12 分压后的电压相比较, 得到需要采集的信号,产生的是高低

29、电平,输入单片机的 P3.0-P3.3 口,来控制单片机输 出 PWM 波的占空比,来控制直流电机转速,进而控制小车的转向。void left()WidthL=15;WidthR=20;void right(). - 可修遍- .WidthR=15;widthL=20;void stop()WidthR=0;WidthL=0;void head()WidthR=20;Widthl=20;4 调试与检测调试与检测是应用开发电子领域中必不缺少的实践环节,单片机的开发也是一样。 若在具体的工程实践中,因为方案错误并进行相应的开发设计,会浪费更多的时间和资 金,应此,进行软件的模拟与仿真是非常有必要的

30、。对结果的数据分析关系到系统的参 数是否正确,通过检测分析能够及时的更正发生的错误以避免造成不必要的麻烦。4.1试仿单片机开发,除必要的硬件外,软件也是不能分开的。通过编译软件将源代码编译 变为机器码,早期单片机的汇编软件有 A51 等,随着技术的不断发展,由早期的汇编语 言开发逐渐演变到现在的高级语言开发。同时单片机的开发软件也在不断更新发展,其 中 KeilC51 软件是目前最流行的用于开发 MCS-51 系列单片机的软件。KeilC51 提供了包括 库管理、连接器、宏汇编、C 编译器和一个功能强大的仿真调试系统等,它通过一个集成 开发环境将这些组件结合在一起,全 Windows 界面,生

31、成目标代码的效率非常高,是一 种非常实用的软件。 Keil 软件的优点:容易上手,编程操作简单;支持许多部函数,部函 数产生代码来完成库函数,执行速度很快,效率也很高。另外一款用于硬件仿真的软件 Proteus ISIS 是 Labcenter 公司推出的电路实物分析仿真系统,可仿真各类电路及 IC,并全 面支持单片机系统。它的元件库种类齐全,使用方便,是一款人们普遍使用的的专业单 片机软件仿真系统。其主要的特点有两个:一是能够对动态元件的实时仿真,同时使得 系统更具真实性;二是集成了虚拟工具箱的功能,虚拟工具能够与仿真系统同时进行, 使测量更加方便而准确。本系统使用 C 语言编程,采用 Ke

32、il uversion3 编译器进行源程序. - 可修遍- .编译,结合硬件电路的设计制作使用 Proteus ISIS 硬件仿真软件进行系统的联调与仿真测 试。调试过程分模块进行调试与仿真,在确保各个模块无异常情况下进行系统联调,最 后进行数据的分析对比,改进完善程序。4.2测分本小节将介绍在调试过程中检测出的问题及分析解决方法。初次调试程序难免会产 生相应的错误,这就需要耐心的对程序的语法进行检查,如函数的定义规则、逗号的使 用、花括号的对应,以及赋值符号与等号分别。通过修改,编译全部通过,下一步就是 对程序的功能测试。在程序功能测试中的主要问题是起初所给的电压过于低,导致小车没法驱动;其

33、次 小车没法识别方向,经过排查,是因为单片机上的 P0 输出口与电机接口没能连接妥当。结束语通过这次毕业设计,使我认识到自身在该门课的理论知识的不足之处,表现在一些 错误发生时,不能很好的按照科学的检查方法检查出错误,致使一些实验步骤进展缓 慢。但是,对于单片机接口电路以及 C 语言的程序的设计知识得到了巩固,温习了旧的 知识,也增强了实验动手能力,同时,使我得到了一次用专业知识、专业技能分析和解 决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在 常用编程设计思路技巧(特别是 C 语言)的掌握方面都能向前迈了一大步。让我感受感 到现代科学技术的迅猛发展,作为一个新时

34、代的大学生,更应该以求知若渴的姿态不断 吸收新的知识,以跟上时代的步伐,促进祖国科技实力的不断进步,为日后成为合格的 应用型人才打下良好的基础!. - 可修遍- .参文1.孟.字电子技术基础简明教程 高等教.19852.拟电子技术基础简明教.高等教育19853.元单机原理与应用设.电子工业.2008.44.丽.艳秋汪铎军单机原理与接口技交通大学.2005.75.君传器原理及应用技.电子科技.2003.86.山余.电子系统设.电工.2007.87.忠.顺心凯马.单片机的 C 语应用程序设.空航天大.2008 8.余志生汽理.机工业.2006附录Int sum1=100000;Int width=20;Int widthleft=20;Int fre =40;Sbit pwm P00;/右输出口 Sbit pw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论