




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西华大学毕业设计说明书 目 录1前言12系统设计要求与意义22.1系统设计要求22.2 系统设计意义22.2 系统设计中的任务33方案论证与选取43.1软件设计语言与单片机开发环境选择43.1.1 软件设计语言选择43.1.2 单片机集成开发环境选择53.2控制器模块63.3单片机复位电路和振荡电路设计63.3.1复位电路63.3.2振荡电路63.4步进电机选取63.5步进电机驱动模块73.6显示模块83.7输入模块84单元模块设计94.1各单元模块功能介绍及电路设计94.1.1键盘模块电路设计94.1.2电机驱动模块电路设计94.1.3显示模块电路设计104.1.4单片机复位电路设计104.
2、1.5单片机振荡电路设计114.2特殊器件的介绍124.2.1 STC89C52单片机124.2.2 ULN2003驱动芯片134.2.3 L1602液晶显示器155软件设计185.1理论分析与计算185.2 程序流程图205.2.1 主程序流程图205.2.2 定点运动子程序216系统调试226.1硬件调试226.2软件调试226.3整体调试237结论248总结与体会259谢辞2610参考文献27附录1:电路原理图28附录2:设计程序30附录3:系统实物图38 1前言(绪论)随着电子信息技术的快速发展,如今单片机应用系统在大学的各大实验室已经屡见不鲜,而在现代的工业控制、码头货运及各大物流控
3、制等系统中,悬挂运动系统的应用越来越多,在这些系统中悬挂运动部件通常是具体的执行机构,因而悬挂部件的运动精确性是整个系统工作效能的决定因素,而在实际中实现悬挂运动控制系统的精确控制是非常困难的1。靠改变悬挂被控对象的绳索长短来控制被控对象运动轨迹的悬挂运动控制系统,在生产控制等领域有很广的应用范围2。鉴于上述内容,最终决定尝试设计一个基于单片机和步进电机的悬挂运动系统。本设计主要运用STC89C52单片机并采用ULN2003达林顿阵列驱动作为步进电机驱动芯片来实现对悬挂重物做定点运动,通过L1602显示器显示设定的坐标。本次毕业设计的主要目的是检验四年所学,同时通过毕业设计使得自身的学习能力有
4、所加强。这里所说的能力是个人综合实力的提升,整个设计过程中需要学会查阅有关资料,系统整体框图的设计,原理图设计,元器件选择与采购,软件的编写与系统的整机调试与错误分析,故障排除等等。2系统设计要求与意义2.1系统设计要求1.系统可以在竖直纸板内通过按键自由设定重物所需要到达的坐标点。2.控制物体在6cm×6cm的竖直纸板内作自行设定的运动,即由一定点到设定点的运动,并要求在一定时间内完成;3.物体从右上角坐标原点出发,在一定时间内到达设定的一个坐标点。4.重物所需到达的点能通过显示器显示。图2.1 悬挂定位系统示意图2.2 系统设计意义运动控制技术是科技创新技术中的基础。运动控制技术
5、的成熟,提高了人们的工作效率,同时在消防,救援等方面大大降低了工作的危险性和复杂性,当然我们平时看到的自动下棋在某种意义上也可以通过本系统实现。现如今运动控制已经成为了新技术发展的主要方向。运动控制不是单独的控制,提升效率的关键在于自动,它不同与单一的控制,而是多学科的整合,协同等。本系统将设计一个基于单片机和步进电机的悬挂定位运动系统,只是一个二维的运动系统,从理论的角度上,如果固定重物是由三个电机共同完成,则系统实际上为三维定位系统,这个技术已经应用于实际生活中,如自动救援系统,码头集装箱自动装卸货物等等。其中原理和悬挂运动轨迹控制系统一样的。本系统是一个集电机和电子于一体的控制系统。虽然
6、任务要求比较简单明了,但学科整合程度较高。本系统设计中以STC89C52单片机为控制核心,由直流步进电机、驱动电路、电源模块、按键及中文L1602液晶显示屏等构成的悬挂运动控制系统。通过理论上的算法准确的计算出两个步进电机所需要移动的长度,并通过单片机对步进电机准确的输入脉冲信号,实现控制。进而实现对悬挂物体的定位功能。本系统还添加有1602液晶显示器,通过显示器能看到物体所需移动到的点位,与理论值进行对比,能具有良好的人机交互效果,完成任务4的要求。 2.3系统设计中的任务在整个系统的设计过程中,主要由硬件设计和软件算法设计两大部分组成。各个分部都统一与悬挂定位这个大目标之下,系统主要需要完
7、成以下几个方面的任务:1.按照任务要求,首先做好对比方案选择,在系统设计之初先为系统做好硬件部分的设计。2.根据系统的设计要求和目标,进行理论分析和计算,确定软件设计中的算法;3.在系统整体框图下,做出各个模块的设计框图,进行分块设计。4.进行软硬件的整机联合调试,设计总结。 3总体方案设计根据题目要求可知,系统由图2.1中模块组成。显示模块电源模块控制器模块电机模块电机驱动模块按键模块图3.1 系统模块框图本系统所涉及的核心问题主要有:1、软件设计部分,首先我们要先选择好满足设计要求的单片机,进而需要选择合适的编程语言并为其对比选取合适的编程环境,从而达到设计要求。2、通过电机驱动实现单片机
8、多步进电机各个性能指标参数的准确控制,实现任务要求2中的对悬挂重物的准确定位功能。3、为尽量降低系统的人为误差,在设计竖直纸板时,对坐标点进行仔细测量。4、为保证操作者能更好的知道该运动物体需要到达的坐标,还需要设计相应的显示电路。我们分以下几个部分进行方案设计和比较论证。3.1 软件设计语言与单片机开发环境选择3.1.1软件设计语言选择软件部分选取C语言和汇编语言进行对比。二者的特点分别如下:方案一:汇编语言的特点:(1) 助记符指令和机器指令一一对应,(2)作为低级语言,使用汇编语言进行程序编写比高级编程语言的困难度要高的多。(3)汇编语言能直接访问存储器,故可以直接控制硬件设备;(4)汇
9、编语言缺乏通用性,程序不易移植, 方案二:C语言的特点: (1)语言简洁、紧凑,使用方便、灵活。(2)运算符丰富。(3)数据结构丰富,更为贴近现代人的数据使用习惯。(4)具有结构化的控制语句。(5)语法限制不太严格,自由度大,通用性强。(6)C语言允许直接访问物理地址,能进行位(bit)操作。(7)生成的目标代码质量高,程序执行效率高。(8)用C语言写的程序兼容性能好,可以适应各种不同的操作系统。基于以上分析,选取方案二:C语言作为系统程序编写语言。3.1.2 单片机集成开发环境选择集成开发环境,简称IDE Integrated Develop Environment。是用于提供程序开发环境的
10、程序。其程序中具有编译,连接,运行,debug等功能。同时具有很好的可视化效果,提高了程序编写任务的效率。本系统采用单片机作为控制芯片,且编程语言选择c语言,故有以下几种程序开发环境:方案一:Turbo C集成开发环境。Turbo 3.0集成环境可直接对c程序进行编辑,编译,连接,运行。对比于2.0版本,此版本可以在操作性能上有了明显的提高,可以使用鼠标对操作界面进行操作,提升了效率。而且,该程序可以在windows环境下使用,故可为生成的执行文件创建桌面快捷方式。方案二: Keil C51集成开发环境。随着科技的发展需要,人机交互的重要性更加凸显出来。与Turbo C相比,KeilC 具有更
11、高效的开发环境,灵活的窗口管理,多个监视器,程序调试窗口等等。是目前公认的c程序集成开发环境的首选。基于以上分析,本系统选用方案二:Keil C51,作为c程序的集成开发环境。3.2控制器模块方案一:采用ATMEL公司的AT89C51作为控制器的方案。单片机运算能力强,软件编程灵活,自由度大。然而51单片机需要仿真器来实现软硬件调试,较为烦琐。方案二:采用 STC公司生产的STC89C52单片机,多达一万次的擦写寿命使得STC89C52成为一款性价比非常高的单片机,它兼容MCS-51单片机产品的同时自身还具有特点,如:无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等。STC89C52的主要
12、性能 1)与MCS-51单片机产品完全兼容2) 8k字节的可编程Flash存储器3)10000次擦写寿命4)全静态操作:0HZ24HZ5)三级程序存储器锁定6)32个可编程I/O口线7)三个16位定时器/计数器8)4个外部中断9)可编程串行通道10)低功耗空闲和掉电模式12)看门狗定时器基于以上分析,选择方案二:STC89C52。3.3单片机复位电路和振荡电路设计3.3.1复位电路STC89C52单片机分为内部上电复位和外部复位电路。外部电路采用高电平复位,为保证非常可靠的复位,高电平信号要求大于10ms。由于复位电路对一个电路系统来讲非常重要,但是它容易受到外界环境干扰产生误动作,因此次引脚
13、一定禁止悬空。本系统采用外部的按键复位电路,当上电后,通过按键使复位端和电源正极相连,使其处于高电平,当通过两个机器周期后,电路则完成复位操作。3.3.2振荡电路我们知道STC89C52单片机各功能部件的运行都振荡电路产生的时钟控制信号为基准,有条不紊、一拍一拍地工作。单片机的时钟振荡器是由单片机内部反相器的外接晶振及微调电容组成的一个三点式振荡器,将晶体振荡器和微调电容接到单片机的XTAL1和XTAL2引脚段即可产生自激振荡,产生时钟周期。在实际中采用12MHz晶振和2个30pF微调电容组成单片机的振荡电路。3.4步进电机选取设计中如果遇到需要选取步进电机进行控制的系统,那么我们就要先弄懂关
14、于步进电机两个最基本的知识:拍数和步距角。下面由我做一个简要的介绍。1、拍数N:一个步进电机一般条件下是有50个转子齿数,而拍数等于电机转过一个齿距角所需要的控制脉冲个数,下面我以本系统的选取的四相步进电机为例子具体说明。所谓四相电机即电机拥有四个定子绕组。四相四拍正转运行方式AB-BC-CD-DA-AB,即每次有两个定子绕组通电。同理,四相八拍电机正转时,电机的通电顺序为:A-AB-B-BC-C-CD-D-DA-A.之所以介绍拍数,是因为拍数决定这步进电机的转动速度。2、步距角:步距角等于齿距角与拍数N的比值。以50转齿的电机为例,由上述定义可知其齿距角为360/50=7.2°。那
15、么对于四相八拍的步进电机其步距角=7.2/8=0.9°。而四相四拍的电机则为7.2/4=1.8°。所以拍数还影响着步进电机的步距角,而步距角越小则步进电机的精度也就越高。另外,转子每经过一个通电循环,则转子向前转动一个步距角。所以在这里处于对设计精度的考虑,我们选取四相八拍的步进电机。 3.5步进电机驱动模块步进电机是一种可将离散电脉冲信号转化成为相对应的角位移或线位移的电磁装置。步进电机转动以步为单位。根据输入的脉冲信号个数,每给予一个输入脉冲,电机就前进一定的角度,这个角度我们称为步进角。所以有时步进电机也称为脉冲马达。步进电机要转动,需要控制脉冲,我们可以根据要求计算
16、出步进电机所需的脉冲个数,严格控制输入脉冲个数实现控制角位移量,从而达到准确定位的目的。在本系统中,利用单片机来实现对步进电机的控制然而,由于单片机输出功率娇小,无法直接驱动步进电机转动,所以需要外加电机驱动模块。方案一:使用多个功率放大器驱动电机。功率放大器即我们平时所说的功放,主要就是利用三极管的电流放大功能,实现对输入电流的不断放大,进而达到功率放大的效果,但是,本系统选取的步进电机为四相电机,若用功放则需要四个同时作用,由于功放本身制作精度的问题,将会给整个系统带来较大的误差,甚至导致驱动电流不足而电机无法正常工作或不按制定路线运动。方案二:采用集成芯片L298N的驱动电路。L298N
17、驱动芯片虽然性能稳定,可是一次只能用于驱动两路信号,而本系统选取的四相步进电机,所以需要两个驱动芯片同时工作,那么问题就来了,驱动效果能否同步,将直接影响电机的工作效果。而且L298N虽然可以于单片机直接相连,但一个芯片需要6个I/O口进行去驱动,这样4*6=24.很明显对于本系统会导致I/O口紧张。方案三:采用ULN2003A作为步进电机的驱动芯片。ULN2003A一种由七个硅型NPN达林顿管构成的电机驱动芯片。具有同时驱动7组负载的能力,满足四相电机驱动的需求。其次,由于其能在高负载电压的情况下仍能稳定运行,所以经常被用于显示驱动、继电器驱动、照明灯驱动等电路中。基于以上分析对比,加之步进
18、电机对驱动电流要求较高,故选择方案三:ULN2003作为四相电机的驱动芯片。3.6显示模块方案一:采用数码管显示,数码管虽然具有寿命长,低能耗和较好显示效果等优点,但当单片机控制其显示时需要占用过多的I/O口,而且需要外加驱动芯片,显示时还要外接锁存器对将要显示的数据进行所存,所以外围电路过多,显示效果一般,电路连接相对比较复杂。此外,数码管通常由于显示数字,对于汉字和字符无法显示。针对本体显示部分所需功能,使用数码管无法满足任务要求。方案二:采用LCD进行显示。液晶显示器具有功耗低,无辐射、成本低、寿命长(可达100000小时)、发光电压要求低、体积小、抗干扰能力强等特点,特别适合便携式设备
19、。此外,L1602液晶显示器内部预装有很多字符,一次性可显示内容多。最后,LCD与单片机可直接相连,不需外加驱动芯片,电路设计及连接简单。基于以上分析,显示模块采用方案二:L1602液晶显示器。3.7输入模块控制系统能够输入任意设定坐标点参数,有以下三种方案方案一:通过使用触摸屏,确定坐标点参数。触摸屏可以形象显示坐标点位置,工作稳定。但由于只需输入两个字节的坐标点参数,信息量比较少,若利用控制芯片创建坐标点库,编程工作量大,其成本也偏高。方案二:采用44的矩形陈列扫描键盘,直接与CPU的I/O口相接。这样,硬件设计比较简单,成本较低,但要占用8个I/O口。另外显示部分还要再搭接几个七段数码管
20、显示,电路复杂。考虑到本系统的功能,使用4*4扫描键盘性价比不高。方案三:考虑到设计只需要设定坐标,启动/停止步进电机,坐标校准等功能,对按键输入的要求并不高,且单片机中串口资源还比较充足,所以考虑到节约成本,使用外接6个按键实现上述功能。经测试,方案三确实能完成设计要求任务,且节约成本,所以按键输入模块选择方案四:外接6个按键。4单元模块设计4.1各单元模块功能介绍及电路设计根据以上的系统方案选择与论证,系统的硬件连接如下图4.1所示图4.1 系统硬件连接图4.1.1 键盘模块电路设计根据设计需求,本系统中使用的按键采用直接与单片机6个串口相连,其电路原理图如图4.2。图4.2 按键电路原理
21、图4.1.2 电机驱动模块电路设计两个ULN2003芯片输入直接与单片机p1.01.7连接,其电机驱动原理图如下。图4.3 电机驱动模块原理图4.1.3 显示模块设计在系统中,利用液晶显示器LCD1602作为显示模块显示物体需要到达的位置,液晶显示器可与单片机串口直接相连。电路连接简单,如下图4.4所示:图4.4 L1602液晶显示器原理图4.1.4 单片机复位电路设计STC89C52单片机的复位是由外部按键复位电路来实现的。复位是单片机的初始化操作,只需给单片机的复位引脚RST加上大于2个机器周期(若采用12MHz的晶振,则只需超过10ms)的高电平就可以做到STC89C52单片机复位。复位
22、电路主要有按键复位和上电复位。按键复位是当单片机上电后,通过按下按键使复位端RST和电源正极相连,使其处于高电平,达到复位机器周期后,电路则完成复位操作,按键复位电路图如下图4.5所示:图4.5 单片机复位电路电路图4.1.5 单片机振荡电路设计STC89C52单片机内部中就设计有一个可以构成振荡器的放大器,引脚XTAL1和XTAL2 分别是该放大器的输入端和输出端。引脚通过并联一个片外石英晶体和微调电容构成振荡电路。我们知道STC89C52单片机每执行一个任务,都需要以时钟控制信号为基准,有条不紊、一拍一拍地工作。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。本系统使用
23、内部时钟方式,通过采用12MHz的晶振和2个30pF微调电容并联组成单片机的振荡电路。电路中的电容C1和C2的选择其经典值30pF。该电容的大小会影响振荡器频率的高低、振荡器的稳定和起振的快速性。晶体振荡频率范围通常为1.212MHz。晶体频率越高,系统的时钟频率也越高,单片机的运行速度也就越快。但反过来运行速度快对存储器的速度要求也就越高,对印刷电路板的工艺要求也高,即要求线间的寄生电容小。图4.6 单片机振荡电路电路图4.2特殊器件介绍4.2.1 STC89C52单片机STC89C52是STC公司生产的由一个低功率,高性能CMOS8位微型控制器,系统具有8K字节的可编程序闪存。 STC89
24、C52以经典MCS-51为核心,但在此基础上做了很多改善,STC89C52完全兼容MCS-51的同时还具有很多51不具备的特点。 在一块唯一芯片,智能8 位CPU和在系统可编程序的flash,使得STC89C52单片机在实现控制方面更加快捷,高效,成为了众多电子设计爱好者的首选。具有以下标准功能:(1) 8K字节的闪存,(2) 512字节的RAM,(3) 32个I/ O口线,(4) 看门狗定时器,(5) 内置EEPROM4KB,(6) MAX810复位电路(7) 三个16位的定时器/计数器,(8) 4个外部中断,(9) 一个7矢量4级中断结构(与传统的515向量两级中断结构兼容),(10) 一
25、个全双工串行。另外STC89C52可降低至0Hz静态逻辑操作,支持2种软件可选择节电模式。在空闲模式下,CPU停止工作,允许RAM,定时器/计数器,串口,中断继续工作。工作于保护模式时,RAM的内容被保存,振荡器被冻结,并且微控制器的工作直到下一个中断或硬件复位.最高工作频率35MHz,6T /12T的可选的。其PDIP封装如下图:图4.7 STC89C52 引脚图STC89C52图4.8 STC89C52系统方框图图4.9 STC89C52最小系统4.2.2 ULN2003驱动芯片ULN2003一种由七个硅型NPN达林顿管构成(具有同时驱动7组负载的能力)的电机驱动芯片。由于其能在高负载电压
26、的情况下仍能稳定运行,目前已成为步进电机,伺服电机驱动芯片的普遍选择。其电路具有以下特点:1. 电流增益高(大于1000)。2. 带负载能力强(输出电流大于500mA)。3. 温度范围宽(-4085)。4. 工作电压高(大于50V)。因此适应于各类要求高速大功率驱动的系统。ULN2003A在各种控制电路中常用它作为驱动继电器的芯片,其芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。图4.10 ULN2003 电路图4.2.3 L1602液晶显示器液晶显示器,英文Liquid C
27、rystal Display 缩写为LCD,是一种显示原理完全不同于阴极射线管的显示技术,通过一个个像素把所需要的图像在平面面板上显示出来。与传统的阴极射线管(CRT)比,LCD具有工作电压低,无辐射,体积小,显示图像无失真,抗干扰能力强等特点,具有很大的发展潜力。LCD显示属于被动显示方式,液晶本身不能发光,它只能通过对光线的穿透和反射来实现显示功能、所以,所有的液晶显示器都会有背光来照亮液晶。一般的背光是发光二极管所做,其具有成本低,寿命长(可达100000小时),发光电压要求低,体积小,特别适合便携式设备。LCD1602,由于其能够一次性显示32个字符(理解为:16行乘2列),故取名16
28、02。1602液晶也称为1602字符型液晶,它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位均可显示一个字符,显示过程中每位,每行都设定有固定的间距,使得图像显示效果更符合美学,但也正是由于这固定的间隔所以它不能很好地显示图形,一般被用于显示字母、数字、符号等的点阵型液晶模块。1602液晶模块内部具有存储器,存储了大量常用的显示字符,并且每个字符有着对应的固定的唯一的代码,这样通过单片机就能快捷、高效的显示所需字符。图4.11 L1602接口电路表4.1 L1602液晶显示器各引脚功能说明表编号符号引脚说明编号符号引脚说明1VSS电源负极9DB2数据2Vdd电源正极10DB3数据3
29、VO液晶显示偏压11DB4数据4RS数据/命令选择12DB5数据5R/W读/写选择13DB6数据6E使能信号14DB7数据7DB0数据15BLA背光源正极8DB1数据16BLK背光源负极L1602读/写的时序图如下:图4.12读操作时序图图4.13 写操作时序图5软件设计本系统是基于单片机和步进电机的定位系统,在搭建好满足任务要求的硬件电路后,系统软件部分设计也极其重要,且工作量大。系统设计好的软件(程序算法)将在windows环境中运行。在编写本系统程序时需要用到以下的软件工具:Keil uVision4。而在编写程序之前我们还需要提前将理论上的关于算法的问题提前解决。5.1理论分析与计算1
30、. 位移/脉冲转换方法:步进电机以步为单位,通过给定脉冲的个数进行确定所需一定的距离,所以我们需要计算出电机每移动一个单位距离所需要的脉冲个数。P=z/100 (测量过程中要注意给定的频率不要太高,否则会出现丢步。多测几次,通过求平均值来确定应该选取的脉冲数个数z)。通过此方法,可直接将拉线的位移转化为送给电机的脉冲个数。脉冲的频率决定转速,脉冲个数决定位移。2. 点到点运动程序算法:结合图5.1所示,假设E(x0,y0),F(x1,y1)为竖直纸板平面内的任意两点,根据对于直角三角形ABE和CDE根据勾股定理可得电机1和电机2在运动前后各自的长度,电机1和电机2运动前各自长度分别为a0和b0
31、: a0=x0+2 *x0+2 +y0+2 *(y0+2 ) (1) b0=8-x0 *8-x0 +y0+2 *(y0+2 ) (2)物体移动后电机1和电机2各自长度分别为a1和b1: a1=x1+2 *x1+2 +y1+2 *(y1+2 ) (3) b1=8-x1*8-x1+y1+2*(y1+2) (4)因此当悬挂物从E点运动到F点时:设电机1所需改变的长度为c,当c小于0时即左侧金属线第二
32、次长度大于第一次长度,则要求步进电机通过正转来伸长金属丝长度;c大于0时即左侧金属线第二次长度小于第一次长度,则要求步进电机通过反转来收缩金属丝长度 C=a0-a1 (5)同理,设电机2所需改变的长度为d,由于在右侧所以当d小于0时则金属线第二次长度大于第一次长度,则要求步进电机通过反转转来伸长金属丝长度;d大于0时则金属线第二次长度小于第一次长度,则要求步进电机通过正转来收缩金属丝长度 d=b0-b1 (6)根据c,d的正负代表了电机1,电机2的转向。而电机1,电机2各自所需的脉冲数始终为正值,故通过c,d的绝对值来确定:电机1所分配的脉冲数:M=C*P (7) 电机2所分配的脉冲数: N=
33、d*P (8)通过上述方法,我们计算出了电机1和2各自所需的脉冲数之后,就可以让单片机根据各个电机各自所需的脉冲个数,给与步进电机一定的输入信号,继而使步进电机产生角位移(线位移),带动重物开始运动到预先设定好的坐标点,达到设计定位的目的。图5.1 点到点运动示意图5.2 程序流程图5.2.1主程序流程图系统上电之后,我们需要对重物所在的位置与液晶显示器显示的位置进行人工校准,通过按下位置调节按键,利用横纵坐标加减按键,将重物调节到原点位置再次按下位置调节按键关闭此功能。接着通过坐标设定按键在物体移动范围内对重物下一次要到达的位置进行设定,设定完毕以后按下启动键,步进电机将会依据单片
34、机的输入信号进行正反转,到达位置,实现系统定位功能。依据以上运行流程,基于单片机和步进电机做出系统主程序流程图如图5.2所示:图5.2主程序流程图5.2.2 定点运动子程序利用单片机实现对步进电机的控制,使悬挂重物进行定点运动流程图如图5.3所示:图5.3系统定位功能子程序流程图6 系统调试系统的调试是整个项目成功和否的关键,没有非常严格的调试,就不可能推广于市场。本系统的设计和实现是站在实际市场应用和需求的角度来考虑的,我们要考虑整个系统的稳定性、可靠性和可扩展性以及产品的品质与性能价格比等。而调试的第一步就是先观察布线和焊接是否正确。在原理图,PCB图对比观察确定确实无误后则可以进入电路调
35、试。6.1 电路调试电路调试主要分为三个部分:通电观察,静态调试和动态调试。所谓通电观察主要是观察上电之后各元器件的工作环境是否工作正常,有无冒烟、烧焦、发烫等异常现场。及时发现异常,解决故障,防止造成不必要的损失。本设计上电之后无异常现象,调试进入下一步骤:静态调试。静态调试:静态调试指系统在不加输入信号的情况下,用万用表测出电路中各点的电位,能对电路连接是否正确进行检测。通过测量值和理论值相比较,结合系统原理分析,判断电路工作环境是否正常,让电路工作在良好的环境下。及时发现电路已经损坏或可能损坏的元器件。通过更换器件或调整电路参数的方式,使电路满足设计要求。工作正常,系统进入下一阶段调试:
36、动态调试。动态调试:动态调试就是给于系统所需输入信号,测量各输出信号是否正常。若发现存在异常现象,应及时断电并分析出现异常的原因,并排除故障,而后再进行调试。调试过程中同时还需注意观察系统能否按任务要求做出相应反应。例如在调试过程,我遇到的一个问题,当步进电机需要移动的距离较大时,步进电机的工作将会紊乱,经过查程序,查硬件不断的反复,最后才发现是因为工作原理没掌握好,步进电机在带载转动时需要足够的力矩才能带动,所以在设定时不能使其转动速度过快。6.2软件调试软件调试主要是对编写的单片机程序进行调试,程序通过编译后并不表示程序编写已经完成,编译通常只能对语法错误作出判断,而不能对所编写程序的功能
37、做出判断,通常在下载到单片机之前对程序进行仿真。每种软件的开发工具都会带一个调试仿真功能。Keil uVision4的软件仿真功能可以很方便的观察程序的动态流程和运行情况,此外在调试单片机程序是应该首先将显示模块和串口模块调试通过,以后的调试可以借助显示模块和串口显示程序的走向。另外,应该按照先进行模块程序调试,再进行主程序的调试。每个模块的调试都可能减少主程序的设计和调试时间。图6.1是Keil uVision4的软件仿真的调试界面。图6.1 Keil uVision4仿真调试图6.3 整体调试系统调试包括软件调试和硬件调试。调试是一个复杂且漫长的过程。决不能局限于单一的硬件调试或者软件调试
38、,应该将这两者结合起来。而整体调试之前,必须了解硬件的工作方式,整个工作过程等。在调试中我发现,单片机读I/O口前应该先写“高”,单片机灌电流的能力比较强。系统电源也是一个不容忽视的问题,如:强弱电必须隔离,退偶电容决不要忽视,数字和模拟地分开走等等。在调试过程中,任何细小的误差或错误都可能导致整个设计的失败,解决问题也应该从小的入手,一步一个脚印,科学就是失之毫厘,差之千里。最后我对系统可能存在的误差进行归纳:1) 步进电机每一步应当为1.8度,由于外条的原因会影响它的准确定位。(细微误差);2) 悬挂物在斜面上运动时与表面的摩擦力;3) 悬挂重物的金属丝有一定弹性使得定点偏差,因为在短时间
39、内无法找到较合适的线子; 4) 支撑线子运动的滑轮与滑之间的摩擦力,另外由于没有较为稳固的滑轮使得滑轮在工作中会变动位置,从而影响了精确的定位;5) 固定在电机上的滑轮在运动过程中,齿轮上的线子会越来越多。使得步进电机每转一圈所拖动悬挂物上升或下降的距离变大;6) 初始位置校准时定位不准确也会导致相当大的误差。7结论对于整个设计,个人认为在整体结构设计方面做得还不错,使整个系统在安装时省去了不少麻烦,简化了不少外围线路,争强了系统了的稳定性。整个系统设计还算比较合理。但在设计中也存在不少不足之处:最大的不足之处就是由于个人时间原因导致在整个悬挂运动系统仅仅只实现了物体定位的功能,对后续定位之后
40、画圆以及设计之初的寻迹的功能未能实现。但是整个系统设计之后自己收获也是不小。经过这次设计,我体会到掌握丰富的理论知识对系统整体设计的重要性,理论是设计的前提。但是,要完成好一个设计又决不能局限于理论,设计时很多元件选择都根据经验来取值。所以也需要注重平时的积累。以下是几点收获:1、彻底了解并掌握一个综合性较强的毕业设计所必不可少的几个阶段。设计注重理论与实际相结合、打牢专业基础和增强创新意识相结合、个人努力于团队合作相结合等方面培养学生的综合能力。我经过这次系统的设计,熟悉了对一个系统、综合设计或课题从研究到设计再到实验的整个流程。这对于我今后的学习和工作必定会产生积极的推动作用。2、平时课堂
41、上所学习的知识大多比较陈旧,感不上科技的进步,作为电子专业的学生,由于专业特点自己更要积极查阅当前的最新信息资料。一个人的力量毕竟有限,遇到无法攻克的问题时,我们也应该注意到多于其他同学进行交流学习。同时,面对大量的资料,要学会筛选,针对性地查找资料,并加以吸收利用,以提高自身的综合能力,不断增长自己见识,补充最新的专业知识。3、实践能力得到了进一步提高,在调试过程中积累了一些经验。4、设计对前期一些可能不经常接触的知识进行回顾,对基础知识的巩固有很大帮助。8总结于体会转眼之间,历经近三个多月的毕业设计马上就要结束了,这是我们每个本科生大学之中最后一个也是最重要的一个设计。经过这个设计,使我更
42、加热爱电子信息这门学科。众所周知,毕业设计不同于以往灌输式的课堂教学,它更注重的是学生自己的动手实践能力 ;也不同于为巩固某一核心知识点的课程设计,它更注重的是检验我们大学这几年来的所学,以及综合设计的能力。回顾整个毕业设计,可以说是获益良多。从选题到换题到定稿,从理论到设计到实践,整个过程有苦有甜,但是确实学到很多很多的东西。在毕业设计开始的阶段,我感到烦躁,面对大量的专业资料不知如何筛选,感到很陌生无从下手,在老师的带领下我从设计的要求出发,慢慢理解了本设计的内容要求,掌握了分析思考问题的方法,通过分析某一具体问题对设计有了初步的认识并确定了方案,进入后期时也遇到了不少的困难,通过老师同学
43、的帮助和反复实践,最终解决了这些难题。本科毕业设计,不在于多大的创新。主要目的在于对我们四年大学以来所学的专业知识的检验,并通过综合设计的方式使我们更清楚的了解到学科与学科之间的相互渗透。用实践的方式让我们学到了很多在书本上学不到的“知识”,也让我们系统的复习了一些已经快要淡忘的专业知识,侧面培养我们查阅前人资料来解决实际问题的能力。与此同时,我也充分认识到自身综合能力的欠缺:基础学科的不扎实,了解器件程度不够,综合能力有待加强。然而我相信在这次毕业设计中的所获对我以后的工作和生活将会有很重要的意义。另外,本次毕业设计仍存在很多的不足,希望在以后的学习中能对其进行更深入的研究和改正,使其更加完
44、善。9谢辞本论文最终能够完成,付老师可谓居功至伟。付老师全面的专业知识,严谨的工作作风,每周的答疑时间都能给予我耐心的指导,由于学院特殊性,付老师也积极为我们安排好每周应该完成的任务,并及时针对遇到的问题给与解决,使得我们毕业设计有条不紊的进行。可以说本论文从选题到完成,每一步都有老师的功劳,老师付出了较大的心血。每次答疑无论我们遇到什么问题指导老师都会很仔细地给我们讲解,而且总会从我们的角度出发让我们很清楚地知道自己遇到问题不应该只局限于解决问题,更应该知道如何解决,授人以鱼不如授人以渔。正是在导师一步一步的悉心指导下,才能圆满完成毕设工作,故再次对老师所作出的贡献表示由衷的谢意! 同时还要
45、感谢与我共同生活了4年的同窗好友们及创新实验室的各为老师和同学们,没有他们的支持和帮助我也不会顺利完成我的大学生活,也正是因为有他们不断的鼓励我才很有信心地完成了我的毕业设计,在此表示深深的感谢!10参考文献1 芮长城、温阳东、方 龙.悬挂运动控制系统设计J.科技创新导报, 2008(6):126-1262 彭 礴、李科举、赵月明、鲁 斌、侯志春、李 旭. 基于AT89C52悬挂运动控制系统的设计J. 电子测量技术, 2010(9):85-873 李小松、马利业.悬挂运动控制系统J.四川兵工学报,2010,31(7)4 胡晓梅、李 静.悬挂运动控制系统硬件设计J.科学导报,2013(16)5
46、王国彬、李海霞.悬挂运动控制系统硬件电路设计J.科技与生活,2010(24)6 谢维成、牛勇. 微机原理与接口技术M.武汉:华中科技大学出版社,2009年6月7 张 宪. 电子电路制作指导M.北京:化学工业出版社,2006年1月8 谭浩强. C语音程序设计(第二版)M.北京:清华大学出版社,2005年7月9 黄智伟. 全国大学生电子设计竞赛系统设计M.北京:北京航空航天大学出版社,2011年2月10 张毅刚、彭喜元、彭 宇.单片机原理及应用(第二版)M.北京:高等教育出版社,2010年5月11 陈隆昌、阎治安、刘新正.控制电机(第四版)M.西安:西安电子科技大学也出版社,2013年4月12 纪
47、留利. 步进电机控制器的设计J.科技广场, 2011(7):92 -9413 郑汉尚. 基于单片机的步进电动机控制系统设计J.硅谷, 2012(15):80-180附录1:图1 系统原理图图2 系统PCB图附录2:/* 1、本程序用于测试4相步进电机常规驱动 2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来 3、速度不可以调节的过快,不然就没有力矩转动了 4、具体连线按附录1所给的原理图连线 接P1.1-P1.4*/#include <reg52.h>#include <1602.h>#include <math.h>#define u
48、int unsigned int#define uchar unsigned charunsigned char code F1_Rotation4=0x01,0x02,0x04,0x08;/正转表格unsigned char code B1_Rotation4=0x08,0x04,0x02,0x01;/反转表格unsigned char code F2_Rotation4=0x10,0x20,0x40,0x80;/正转表格unsigned char code B2_Rotation4=0x80,0x40,0x20,0x10;/反转表格uchar X1=0;uchar Y1=0;float L
49、11=2.82;float L12=8.24;float L21=0;float L22=0;uchar DIR1=0;uchar DIR2=0;uchar input=0;uchar dL1=0;uchar dL2=0;bit tj=0;sbit k1=P22; /调节位置sbit k2=P21; /启动sbit k3=P20; /X+sbit k4=P33; /X-sbit k5=P23; /Y+sbit k6=P24; /Y-void key();void Count()L21=sqrt(X1+2)*(X1+2)+(Y1+2)*(Y1+2);L22=sqrt(8-X1)*(8-X1)+(
50、Y1+2)*(Y1+2);void Out()if(L21<L11)DIR1=1; /左第二次的长度小于第一次elseDIR1=0; /左第二次的长度大于第一次if(L22<L12)DIR2=1; /右第二次的长度小于第一次elseDIR2=0; /右第二次的长度大于第一次dL1=abs(L21-L11)*65);dL2=abs(L22-L12)*65);void Delay(unsigned int i)/延时 while(-i);/*ms延时*/void delay_ms(unsigned int x) unsigned int i,j; i=0;for(i=0;i<x;i+) j=108; ; while(j-); main() unsigned char i;lcd_system_reset(); string_write(0,0,"(X,Y)=(0,0) ");while(1)key();i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年劳动者如何正确签订电子劳动合同
- 绝缘材料合同范本
- 合同范本模板简约清晰
- 委托资金保管合同范本
- 股权设计咨询合同范本
- 承包平台经营合同范本
- 核酸采样人员合同范本
- 解除卖买合同范本
- 客户销售产品合同范本
- 木材搬迁合同范本
- 2025高级会计师考试试题及答案
- 2025-2030中国特高压电网建设规划与设备需求分析报告
- 2026版赢在微点顶层设计大一轮物理-专题提升二十 测量电阻的其他几种方法
- 2025年辽宁省地质勘探矿业集团有限责任公司校园招聘笔试备考题库带答案详解
- 初中英语新课程标准测试试题及答案3套
- 如何开展课题研究
- 炼钢厂电工应知应会考试题库500题(含各题型)
- GB/T 5069-2007镁铝系耐火材料化学分析方法
- GB/T 40565.2-2021液压传动连接快换接头第2部分:20 MPa~31.5 MPa平面型
- 旅游区奖惩制度管理办法
- 儿童生长发育监测课件
评论
0/150
提交评论