收藏 分销(赏)

毕业设计方案电磁感应路径识别智能小车制造设计.doc

上传人:w****g 文档编号:2797093 上传时间:2024-06-06 格式:DOC 页数:28 大小:199.04KB
下载 相关 举报
毕业设计方案电磁感应路径识别智能小车制造设计.doc_第1页
第1页 / 共28页
毕业设计方案电磁感应路径识别智能小车制造设计.doc_第2页
第2页 / 共28页
毕业设计方案电磁感应路径识别智能小车制造设计.doc_第3页
第3页 / 共28页
毕业设计方案电磁感应路径识别智能小车制造设计.doc_第4页
第4页 / 共28页
毕业设计方案电磁感应路径识别智能小车制造设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 毕业论文(设计)题 目 基于电磁感应途径辨认智能小车软件设计院 系 专 业 年级 学生姓名 学 号 指引教师 电磁感应途径辨认智能小车软件设计专业: 姓名: 指引教师: 【摘 要】 本系统重要实现了智能小车左转,右转,停止等功能,在一种交变磁场为引导信号道路中,依照电感线圈途径辨认模块,单片机AT89S52得到采集到信号,通过采集到信号来变化输出PWM波占空比,从而使两个直流电机转速不相似,来控制小车运营方向。程序采用了C语言进行设计,主程序采用了循环模式设计,只要定期器计数没满,运用switch语句始终对P3口判断,再调用方向函数来控制小车行进方向。中断服务程序中定义一种计数变量自加1,当

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

3、top 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 the motor speed is not th

4、e same,to control the car running direction.Program using C language for the design of the main program,using a circular pattern design,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 the direction of the m

5、oving car.The interrupt service routine to define a variable count 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 size.Directional function on widt

6、h values were assigned,by the main program call.【Key words】AT89S52;magnetic field sensor;DC motor,PWM speed control method目 录绪论31 设计方案简介41.1 硬件方案简介41.1.1 途径辨认模块51.1.2 电机驱动模块62 软件方案简介72.1.1 单片机简介72.1.2 系统原理93 系统控制软件设计93.1 主程序设计93.2 中断服务程序113.3 控制程序设计144 调试与检测154.1 调试与仿真154.2 检测与分析16结束语16附录17程序清单17致 谢

7、19绪论随着科学技术飞速发展,人们对生活规定越来越高,特别是对交通工具智能方面规定,除此之外,随着在公司中越来越追求工作效率和生产成本,迫切规定以最低成本生产出所需要产品,在这种种社会条件下,人们越来越注重机器智能方面研究,在众多研究当中,交通工具智能研究就是其中一种热点问题,而智能小车研究就是一种较好代表。所谓智能小车,就是集路面环境探测、卫星导航、自动行驶和有自己决策能力等功能为一体小车,它综合运用了计算机、通信、导航和自动化控制等技术。正由于智能小车功能强大和比较实用,同步对智能小车研究有很大发展空间,因此智能小车研究得到了国内外科学家重点关注。智能小车研究是一种很故意思科研问题,得到了

8、诸多大学生关注,她们在学校期间学习诸多与之有关知识,同步做诸多与之有关实验。当前国内诸多电子设计大赛均有与智能小车有关题目,在大赛中设计出来这些小车能实现诸多方面功能,例如避障、循迹等。 本系统重要实现了智能小车左转,右转,停止等功能,在一种交变磁场为引导信号道路中,依照电感线圈途径辨认模块,单片机得到采集到信号,通过采集到信号来变化输出PWM波占空比,从而使两个直流电机转速不相似,来控制小车运营方向。程序采用了C语言进行设计,主程序采用了循环模式设计,子程序则为功能模块设计,由主程序进行调用。1 设计方案简介本论文重要对智能小车软件系统进行了研究。整个硬件系统由途径检测系统和单片机最小系统构

9、成。论文一方面对检测系统作了详细分析,接着对单片机最小系统各个构成某些作了详细阐明,同步在论文中对所用到传感器,电机等阐述了其原理。系统整体设计基于单片机控制,由单片机作为主控制器进行各某些协调工作,在熟悉硬件基本上编程实现软件功能。本系统先简朴简介智能小车系统构成与特性,再详细讲述基于AT89S52单片机智能小车系统软件功能设计与实现。1.1 硬件方案简介整个硬件系统由途径检测系统和单片机最小系统构成,途径检测系统检测到磁场变化状况,以信号形式传送给单片机,单片机最小系统接受并解决检测系统传送过来信号,把解决好信号后采用PWM 调速法来变化直流电机转速,从而控制小车行驶。小车辨认硬件系统整体

10、构造如下图所示,图1 硬件系统构造途径检测系统是整个小车硬件系统前端某些,是比较重要一某些,不可缺少。在整个系统中,途径检测某些能否精确检测到磁场传感器传来信号,对小车行驶来说是很重要。如果途径检测系统可以精确检测到信号,并且及时反馈给单片机系统,这样话,单片机系统就能及时解决所接受到信号,同步将所解决好信号传播给直流电机,从而控制小车避开迈进方向。因而途径检测系统中传感器选取是很重要,传感器选取好话,会对设计成果有很大协助。 1.1.1 途径辨认模块用两个10mH电感线圈置于车模头部作为拟定小车位置传感器,即双水平线圈方案。使用两个线圈,分别装在小车前方两侧,顺着电流方向竖直放置线圈,此时线

11、圈中感应电动具备势分布简朴,衰减快,远处对近处干扰小特点,因此非常适合伙为采集信号传感器。用一根导线产生20KHZ100mA交变磁场,然后使小车沿着引导线信号道路行走。依照电磁学,在导线中通入按正弦规律变化电流,导线周边会产生变化磁场,且磁场与电流变化成一定规律。如果在此磁场中置一由线圈构成电感,则该电感上会产生感应电动势,且该感应电动势大小和通过线圈回路磁通量变化率成正比。由于在导线周边不同位置,磁感应强度大小和方向不同,因此不同位置上电感产生感应电动势也应当是不同。据此,则可以拟定电感大体位置。接近磁场地方磁感应强度越高,远离磁场地方磁感应强度越低。用两线圈采集到感应电压对小车位置做出判断

12、。对于弧形导线若选用左侧线圈电压减去右侧线圈电压,若这个差为正值则阐明小车已经偏离直线向左侧转弯,且这个值越大阐明偏左越厉害;同理可得,若选用右侧线圈电压减去左侧线圈电压,若这个差为正值则阐明小车已经偏离直线向右转弯,且这个值越大阐明偏右越厉害。对于直导线,即左侧线圈电压和右侧线圈电压值差不多,则小车沿着直线向前行走。不同线圈轴线摆放方向,可以感应不同磁场分量。在车模前上方水平方向固定两个相距L 线圈,两个线圈轴线为水平,高度为h ,为了讨论以便,咱们在跑道上建立如下坐标系,假设沿着跑道迈进方向为z轴,垂直跑道往上为y轴,在跑道平面内垂直于跑到中心线为x轴。xyz轴满足右手方向。假设在车模前方

13、安装两个水平线圈。这两个线圈间隔为L,线圈高度为h,参见下图5所示。左边线圈坐标为(x,h,z),右边线圈位置(x-L,h,z)。由于磁场分布是以z轴为中心同心圆,因此在计算磁场强度时候咱们仅仅考虑坐标(x,y)。由于线圈轴线是水平,因此感应电动势反映了磁场水平分量。依照公式可以懂得感应电动势大小。图2 感应线圈布置方案令h=10cm,x(30,+30)cm,可以依照公式计算出感应电动势咱们使用相距水平长度为L 两个感应线圈,并计算两个线圈感应电动势差值:下面假设L = 30cm ,计算两个线圈电动势差值d E。当左边线圈位置x = 30时候,此时两个线圈中心正好处在跑道中央,感应电动势差值d

14、 E 为0。当线圈往左偏移, x (15,30) ,感应电动势差值不大于零;反之,当线圈往右偏移, x (0,15) ,感应电动势不不大于零。因而在位移030cm 之间,电动势差值d E 与位移x 是一种单调函数。可以使用这个量对于小车转向进行负反馈控制,从而保证两个线圈中心位置跟踪赛道中心线。通过变化线圈高度h ,线圈之间距离L 可以调节位置检测范畴以及感应电动势大小。 1.1.2 电机驱动模块 普通来说控制器、功率变换器和电机三个某些构成了电动小车驱动系统。由于小车驱动不但规定电机驱动系统具备很宽调速范畴和高可靠性性能,尚有就是电机转速要受电源功率影响,就规定驱动具备宽高效率区。直流电机控

15、制比较简朴,性能比较出众,并且直流电源也比较容易实现。因此本设计驱动选用了两个直流电机,分别驱动两侧小车履带,同步也使小车可以以便达到转弯目。电机在正常工作时对电源干扰很大,因此可以用光耦器件将控制某些和电机驱动某些隔开,这样可以有效避免对电源某些影响,并且用三极管加在场效应管基极加以驱动,从而有足够大基极电流流过场效应管。PWM为脉冲宽度调制,通过PWM波控制MOS管控制直流电机电压。通过变化PWM 占空比可以调节电机速度。直流电机两端电压与其转速比例,也与控制波形占空比成正比,因而电机速度与占空比大小成正比,占空比越大,电机转得越快,当占空比为1时,电机转速最大。2 软件方案简介C语言:是

16、计算机程序设计语言,既具备高档语言特点,有具备汇编语言特点,是一种中级语言。由于C语言功能很强大,因此C语言发展非常快,C语言成为当前最受欢迎编程语言之一。C语言有如下长处:C语言是构造化语言,构造化使得程序层次清晰,便于使用、维护以及调试;C语言功能齐全,具备各种数据类型,使得程序效率更高;C语言有较好移植性,编好C语言程序,能较好下载到不同芯片,没有什么兼容性问题,不需要重新再编写程序。总来说,就是C语言功能比较强大,又通俗易懂,因此在编程时候,选取C语言来编程。2.1.1 单片机简介AT89S52特点是:8位CPU和在系统可编程Flash;晶片内部具时钟振荡器;内部程序存储器(ROM)为

17、 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进行校验时

18、,P0输出原码,此时P0外部必要被拉高。由于AT89S52是一种低功耗、高性能CMOS8位微控制器,具备8K 在系统可编程Flash 存储器,并且片上Flash容许程序存储器在系统可编程。因此本设计采用AT89S52单片机为核心控制器主控单元一种最小系统。该最小系统涉及:复位电路、电源电路、时钟电路。C3与R1构成单片机复位电路。复位时单片机执行初始化操作,复位后PC初始化为0000H,使得单片机程序从OUT单元开始执行,从成本与效益考虑本系统采用由简朴RC电路构成复位电路。时钟频率是单片机每个功能部件运营基准,有了这个基准单片机才干有条有理一拍一拍地工作,因而,时钟直接关系到单片机运营速度,

19、时钟电路工作质量也直接关系到单片机系统工作稳定性。本设计选用是22.1184MHZ晶体振荡器(简称晶振),这样是为了以便计算波特率。晶振频率越高,则系统得届时钟频率也就越高,单片机执行指令速度也就越快。2.1.2 系统原理小车启动后,调节好路线后全速迈进,行驶到弯道时,左右线圈磁场传感器会检测到不相等电压信号,传播给单片机,通过单片机调节PWM信号输出调节左右轮速度从而实现小车转弯,直转到左右线圈磁场传感器检测到相等电压信号为止,在执行中断服务程序中输出PWM封锁信号并实现闭锁从而实现小车刹车。刹车后小车在原地等待。3 系统控制软件设计依照软件设计方案,整个软件采用模块化设计,各功能某些均设计

20、为子程序模块,各功能实现是通过主程序调用子程序或子程序调用子程序完毕。整个程序由如下某些构成:(1)、主程序:主程序是整个程序主体,涉及单片机内存单元以及各个I/O口初始化,重要有有关标志位,暂存单元,显示缓冲区清零,中断向量入口地址,中断优先级,堆栈指针设立,以及对子程序调用等。(2)、中断服务程序:运用了定期器模仿PWM波输出,并定义了小车运营时间。(3)、控制程序:控制小车迈进方向。3.1 主程序设计主程序是整个软件流程核心,它起到串联各功能模块作用,各功能某些执行都采用子程序调用方式来实现。此外主程序还负责对某些标志、状态、符号地址进行定义和设立初始化值,以便在程序运营中使用和判断。主

21、程序采用循环构造方式设计,在系统上电后来先系统复位工作。 软件系统主构造图 main()EA=1; /开中断ET0=1; /开T0中断TMOD=0x02; /8位重装TL0=0xfc;TH0=0x18;TR0=1;While(1) Temp=P3&0x0f;switch(temp) /检查磁场传感器传来接口状态case 0x00: do stop(); /小车停止while(temp!=0);break;case 0x03: doleft(); /小车向左转while(temp!=0);break;case 0x0b:doLeft1() /小车小幅度向左转while(temp!=0x01);b

22、reak;case 0x0d:doright(); /小车向右转while(temp!=0x02);break;case 0x0c:doRight1(); /小车小幅度向右转while(temp!=0x04);break;case 0x0f: dohead(); /小车迈进while(temp!=0);break;head(); 3.2 中断服务程序中断服务程序中定义了定期器变量sum,计数器变量count,当进一次中断,计数器变量自加一,当等于全局区定义脉宽变量width值时,把输出PWM口置为0,count继续自加一,当等于全局区定义频率变量fre值时,把输出口PWM置1,这样就完毕了一种

23、周期输出方波,每次只用控制width值就能变化占空比大小输出,进而控制小车方向。而每次进中断,定期器变量也自加一,当加到等于全局区定义定期器值时就中断服务程序,并把输出口置为低电平,小车停止迈进。流程图如下:有关程序如下:Void T0-ISR() interrupt 1Static int count; /计数器变量Int sum=0; /定期器变量Count +;Sum+;If(sum=sum1) /判断小车与否到停止条件EA=0; /关闭中断PwmR=0; /输出口置为低电平PwmL=0If(count = widthR) Pwmr =0;If(count = widthL) Pwml

24、=0;If(count=fre)Count =0;PwmR=pwmL=1;其设计原理如下图: 图 定期器模仿PWM波运用定期器/计数器计数,当计到等于脉宽变量值width时,PWM口置为低电平,当计到等于频率变量值fire时,PWM口置为高电平,如图所示,当我变化width值大小时,就可以变化该占空比大小。PWM调速原理:脉冲宽度调制(PWM)是运用微解决器数字输出来对模仿电路进行控制一种非常有效技术,广泛应用于测量,通信,功率控制与变换等许多领域。它是一种是对模仿信号电平进行数字编码办法。通过高辨别率计数器来计算方波占空比,用来对一种详细模仿信号电平进行编码。但PWM信号依然是数字,由于在给

25、定任何时刻,满幅值直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)重复脉冲序列被加到模仿负载上去。通时候即是直流供电被加到负载上时候,断时候即是供电被断开时候。只要带宽足够,任何模仿值都可以使用PWM进行编码。3.3 控制程序设计 控制程序设计重要是小车途径抉择,在接到单片机解决命令后控制程序控制着小车所做举动,包括了4个动作,其中head()函数功能是向前走,left()函数功能向左走,right()函数功能是向右走,stop()函数功能是停止迈进。在程序中定义了两个width变量来控制输出占空比大小,一种控制左轮,一种控制右边轮,因此只用变化w

26、idth值就能决定小车方向,下图为输出端口与小车行走状况:图 输入端口电压与小车行走状况关系P0.0-P0.7口为8位数据口和输出低8位地址复用口。选取其中P0.2和P0.7口作为PWM波输出口。分别在两个口各接一种光电耦合器,用于隔离单片机控制电路和驱动电路,防止干扰产生。而P3.0、P3.1、P3.2、P3.3分别为RXD串行接受端、TXD串行发送端、INT0外部中断0祈求端、INT1外部中断1祈求端。当前接着电磁感应途径辨认模块4个输出端,都用于接受采集到信号,然后解决采集到信号。通过检波、滤波、放大后线圈采集到电压信号与3个电阻R11、R12、R13分压后电压相比较,得到需要采集信号,

27、产生是高低电平,输入单片机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 调试与检测调试与检测是应用开发电子领域中必不缺少实践环节,单片机开发也是同样。若在详细工程实践中,由于方案错误并进行相应开发设计,会挥霍更多时间和资金,应此,进行软件模仿与仿真是非常有必要。对成果数据分析关系到系统参数与否对的,通

28、过检测分析可以及时改正发生错误以避免导致不必要麻烦。4.1 调试与仿真单片机开发,除必要硬件外,软件也是不能分开。通过编译软件将源代码编译变为机器码,初期单片机汇编软件有A51等,随着技术不断发展,由初期汇编语言开发逐渐演变到当前高档语言开发。同步单片机开发软件也在不断更新发展,其中KeilC51软件是当前最流行用于开发MCS-51系列单片机软件。KeilC51提供了涉及库管理、连接器、宏汇编、C编译器和一种功能强大仿真调试系统等,它通过一种集成开发环境将这些组件结合在一起,全Windows界面,生成目的代码效率非常高,是一种非常实用软件。Keil软件长处:容易上手,编程操作简朴;支持许多内部

29、函数,内部函数产生代码来完毕库函数,执行速度不久,效率也很高。此外一款用于硬件仿真软件Proteus ISIS是Labcenter公司推出电路实物分析仿真系统,可仿真各类电路及IC,并全面支持单片机系统。它元件库种类齐全,使用以便,是一款人们普遍使用专业单片机软件仿真系统。其重要特点有两个:一是可以对动态元件实时仿真,同步使得系统更具真实性;二是集成了虚拟工具箱功能,虚拟工具可以与仿真系统同步进行,使测量更加以便而精确。本系统使用C语言编程,采用Keil uversion3 编译器进行源程序编译,结合硬件电路设计制作使用Proteus ISIS硬件仿真软件进行系统联调与仿真测试。调试过程分模块

30、进行调试与仿真,在保证各个模块无异常状况下进行系统联调,最后进行数据分析对比,改进完善程序。4.2 检测与分析本小节将简介在调试过程中检测出问题及分析解决办法。初次调试程序难免会产生相应错误,这就需要耐心对程序语法进行检查,如函数定义规则、逗号使用、花括号相应,以及赋值符号与等号分别。通过修改,编译所有通过,下一步就是对程序功能测试。在程序功能测试中重要问题是起初所给电压过于低,导致小车没法驱动;另一方面小车没法辨认方向,通过排查,是由于单片机上P0输出口与电机接口没能连接妥当。结束语通过这次毕业设计,使我结识到自身在该门课理论知识局限性之处,体当前某些错误发生时,不能较好按照科学检查办法检查

31、出错误,致使某些实验环节进展缓慢。但是,对于单片机接口电路以及C语言程序设计知识得到了巩固,温习了旧知识,也增强了实验动手能力,同步,使我得到了一次用专业知识、专业技能分析和解决问题全面系统锻炼。使我在单片机基本原理、单片机应用系统开发过程,以及在惯用编程设计思路技巧(特别是C语言)掌握方面都能向前迈了一大步。让我感受感到当代科学技术迅猛发展,作为一种新时代大学生,更应当以求知若渴姿态不断吸取新知识,以跟上时代步伐,增进祖国科技实力不断进步,为日后成为合格应用型人才打下良好基本! 参照文献1.余孟尝.数字电子技术基本简要教程. 高等教诲出版社.19852.杨素行.模仿电子技术基本简要教程.高等

32、教诲出版社.19853.张毅刚.彭喜元.单片机原理与应用设计.电子工业出版社.44.梅丽凤.王艳秋.汪毓铎.张军.单片机原理与接口技术.北京交通大学出版社.75.刘笃仁.韩保君.传感器原理及应用技术.西安电子科技大学出版社.86.李金平.沈明山.姜余祥.电子系统设计.电子工业出版社.87.马忠梅.籍顺心.张凯.马岩.单片机C语言应用程序设计.航空航天大学出版社.8.余志生.汽车理论.机械工业出版社.附录程序清单Int sum1=100000; Int width=20;/右轮脉宽Int widthleft=20;/左轮脉宽Int fre =40;/频率Sbit pwm P00; /右输出口Sb

33、it pwm1 P01; /左输出口/传感器端口sbit s1=P30; sbit S2=P31;sbit s3=P32;sbit S4=P33;main()EA=1; /开中断ET0=1; /开T0中断TMOD=0x02; /8位重装TL0=0xfc;TH0=0x18;TR0=1;While(1) Int temp=P3&0x0f;switch(temp)case 0x00: dostop();while(temp!=0);break;case 0x03: doleft();while(temp!=0x03);break;case 0x0b:doLeft1() while(temp!=0x0

34、b);break;case 0x0d:doright();while(temp!=0x0d);break;case 0x0c:doRight1();while(temp!=0x0c);break;case 0x0f: dohead();while(temp!=0x0f);break;head(); Void T0-ISR() interrupt 1 /中断服务程序Static int count;/计数变量Int sum=0;/定期器变量Count +;Sum+;If(sum=sum1)EA=0;PwmR=pwmL=0;If(count = widthL)PwmL =0;if(count =

35、widthR)pwmR=0;If(count=fre)Count =0;PwmR=pwmL=1;void left()/向左转WidthL=15;widthR=20;void right() /向右转WidthR=15;WidthL=20;void stop() /停止WidthR=0;WidthL=0;void head()/向前走 WidthR=20;widthL=20;致 谢时光流逝匆匆,转眼间论文终于完毕了。当自己终于可以从毕业论文压力下解脱出来,长长地吁出一口气时,我突然间才意识到,本来大学四年已通过去,到了该告别时候了。一念至此,竟有些恍惚,所谓光阴似箭、百代过客云云,想来便是这般惆怅了。我在这里一方面要感谢是我学位论文指引教师,在本文撰写过程中,教师多次询问研究进程,并为我指点迷津,协助我开拓研究思路,精心点拨、热忱勉励。教师予以了悉心指引和关怀,使我克服了众多困难终于完毕了论文撰写工作。她渊博知识、严谨求实治学态度及敬业精神让我受益匪浅!并将在我此后人生道路上产生深远影响,在此论文完毕之际,谨向张乐教师致以崇高敬意和衷心感谢!

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服