毕业设计(论文)-基于单片机的步进电机控制系统设计_第1页
毕业设计(论文)-基于单片机的步进电机控制系统设计_第2页
毕业设计(论文)-基于单片机的步进电机控制系统设计_第3页
毕业设计(论文)-基于单片机的步进电机控制系统设计_第4页
毕业设计(论文)-基于单片机的步进电机控制系统设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

南京邮电大学毕业设计(论文)题目基于单片机的步进电机控制系统设计专业电气信息学生姓名班级学号B06050927指导教师指导单位自动化学院日期2010年3月15日至2010年6月2日摘要随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。凡需要对转角和速度进行精确控制的情况下,使用步进电机最为理想。随着集成电路和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有广泛应用。原来的步进电机控制系统采用分立元件或者集成电路组成的控制回路,不仅调试安装复杂,要消耗大量元器件,而且定型之后,要改变控制系统方案就要重新设计控制电路。计算机则通过软件来控制步进电机,更好地挖掘出电动机的潜力。因此,用计算机控制步进电机已经成为了一种必然的趋势,不仅方便调试,而且功能更加灵活。本课题主要涉及步进电机的原理,驱动电路设计,控制系统设计。通过对步进电机的控制系统设计,可以充分了解步进电机的运行原理及控制方法。详细介绍步进电机的原理,几种驱动方案的区别和优缺点,控制流程,控制方案选择,步进电机的选择等,代码的实现等。可以在不改变外部器件的前提下,通过键盘和改变程序参数来实现各种各样的功能,具有很大的灵活性。关键词步进电机、控制流程、驱动ABSTRACTWITHTHEDEVELOPMENTOFAUTOMATICCONTROLSYSTEMSANDTHEREQUIREMENTSOFHIGHPRECISIONCONTROL,STEPPERMOTORCONTROLINAUTOMATIONPLAYSANINCREASINGLYIMPORTANTROLE,DIFFERENTFROMTHECOMMONDCANDACMOTOR,STEPPERMOTORCANROTATETHEANGLEANDROTATIONSPEEDOFHIGHPRECISIONCONTROLASTHEIMPLEMENTATIONOFSTEPPERMOTORCONTROLCOMPONENTS,STEPPERMOTORISAKEYCOMPONENTOFMECHANICALANDELECTRICALINTEGRATION,WIDELYUSEDINAVARIETYOFAUTOMATICCONTROLSYSTEMS,ANDPRECISIONMACHINERYANDOTHERFIELDSWHERETHENEEDFORPRECISECONTROLOFANGLEANDSPEEDOFTHECASE,STEPPERMOTORISOFTHEBESTWITHTHEDEVELOPMENTOFINTEGRATEDCIRCUITSANDCOMPUTERTECHNOLOGY,THEREISINCREASINGDEMANDFORSTEPPERMOTOR,ANDAREWIDELYUSEDINVARIOUSECONOMICFIELDSTHEORIGINALSTEPPERMOTORCONTROLSYSTEMCOMPOSEDOFDISCRETECOMPONENTSORINTEGRATEDCIRCUITCONTROLLOOPITNOTONLYINCREASESTHEDEBUGINSTALLATIONCOMPLEXITY,SPENDSALOTOFCOMPONENTS,ANDONCEAFTERSETTING,TOCHANGETHECONTROLSCHEMEHADTOBEREDESIGNEDCONTROLCIRCUITCOMPUTERCANBEUSEDTOCONTROLSTEPPERMOTORS,CANBETTERDIGOUTTHEMOTORSPOTENTIALTHUS,COMPUTERCONTROLLEDSTEPPERMOTORHASBECOMEANINEVITABLETREND,NOTONLYTOFACILITATEDEBUGGING,ANDFUNCTIONSMOREFLEXIBLETHESEISSUEMAINLYRELATETOTHEPRINCIPLEOFSTEPPERMOTOR,DRIVECIRCUITDESIGN,CONTROLSYSTEMDESIGNBYSTEPPINGMOTORCONTROLSYSTEMDESIGN,WECANFULLYUNDERSTANDTHEPRINCIPLEANDOPERATIONOFSTEPPERMOTORCONTROLDETAILSOFTHESTEPPERMOTORPRINCIPLE,SEVERALADVANTAGESANDDISADVANTAGESOFTHEDIFFERENCEBETWEENDRIVINGPROGRAMS,CONTROLFLOW,CONTROLPLANSELECTION,SELECTIONOFTHESTEPPERMOTOR,THECODEREALIZATIONNOTTOCHANGETHEPREMISEOFTHEEXTERNALDEVICEBUTTHROUGHTHEKEYBOARDANDCHANGETHEPROGRAMPARAMETERSTOACHIEVEAVARIETYOFFUNCTIONS,WHICHHASGREATFLEXIBILITYKEYWORDSSTEPPERMOTOR,CONTROLFLOW,DRIVECIRCUIT目录摘要IIABSTRACTIII第一章绪论111步进电机的发展概况112步进电机的原理及控制1121步进电机的原理1122步进电机的特点6123步进电机的控制7第二章步进电机的加减速控制82步进电机加速方案的提出822线性加速823指数型加速1024S型加速1125步进电机失步的原因11第三章控制系统设计1231控制流程简介1232键盘扫描14321线反转法16322行扫描法16323循环扫描17324中断法17325定时器扫描法18326键盘的消抖19327几种键盘扫描法的比较2233脉冲的产生方法23331定时器产生脉冲23332函数延时法24第四章步进电机的驱动方式2441步进电机的运行方式介绍2442不同运行方式的优缺点2643如何选择合适的步进电机27第五章硬件电路测试与实验结果2851基本功能的实现情况28结束语28参考文献30附录31第一章绪论步进电机是将脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、转动感的角度、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机在不超载情况下只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单11步进电机的发展概况步进电机最早是在1920年代由英国人发明。50年代后期,晶体管的发明也促进了在步进电机的发展使其对于数字化的精确控制变得更为容易。此后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求效率高、自动化、省人力的机械中,我们很容易发现步进电机的踪迹,尤其以位置控制、重视速度、需要精确操作各项指令动作的灵活控制性场合步进电机最为常见。12步进电机的原理及控制121步进电机的原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,一般情况下并不需要闭环控制。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,以及步进电机只有周期性的误差而无累积误差的特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单,同时电路无需闭环反馈,电路简单。下面简要介绍一下步进电机的构造,图1和图2为四相步进电机的内部构造。图1步进电机内部构造开始时,开关SB接通,SA、SC、SD断开,B相和0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当SC接通,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而2、5号齿就和A、D相绕组磁极产生错齿,0、3号齿和A、B相绕组产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。如果按照相反的方向来发送脉冲,则步进电机的转动方向正好相反。单四拍、双四拍和八拍工作方式的电源通电时序与波形分别如图2A、B、C所示图2步进电机工作时序波形图力矩电机一旦通电,在定转子间将产生磁场(磁通量)当转子与定子错开一定角度产生力F与(D/D)成正比其磁通量BRSBR为磁密,S为导磁面积F与LDBR成正比L为铁芯有效长度,D为转子直径BRNI/RNI为励磁绕阻安匝数(电流乘匝数)R为磁阻。力矩力半径力矩与电机有效体积安匝数磁密成正比(只考虑线性状态)因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。这次选用的的步进电机的牵入转矩40MN,自定位转矩34MN。步进电机的分类步进电机依其构造上的差异可分为三大类可变磁阻式(VR型)转子以软铁加工成齿状,当定子线圈不加激磁电压时,保持转矩为零,故其转子惯性小、响应性佳,但其容许负荷惯性并不大。其步进角通常为15。无保持转矩,所以定位性不好,应用场合不大。永久磁铁式(PM型)转子由永久磁铁构成,其磁化方向为辐向磁化,无激磁时有保持转矩。依转子材质区分,其步进角有45、90及75、1125、15、18等几种。混和式(HB型)转子由轴向磁化的磁铁制成,磁极做成复极的形式,其乃兼采可变磁阻式步进电机及永久磁铁式步进电机的优点,精确度高、转矩大、步进角度小。目前市场上所使用的工业用步进电机,以混和式最为普遍步进电机动态指标及术语1、步距角精度步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示误差/步距角100。不同运行拍数其值不同,四拍运行时应在5之内,八拍运行时应在15以内。2、失步电机运转时运转的步数,不等于理论上的步数。称之为失步。3、失调角转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。4、最大空载起动频率电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。5、最大空载的运行频率电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。6、运行矩频特性电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。如图3所示图2步进电机力矩频率特性其它特性还有惯频特性、起动频率特性等。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩与电机运行时的平均电流有关系,平均电流越大,电机输出力矩越大,则电机的频率特性曲线越硬。如图4所示图4步进电机力矩频率特性其中,曲线3电流最大、或电压最高曲线1电流最小、或电压最低,曲线与负载的交点为负载的最大速度点。要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。7、电机的共振点步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180250PPS之间(步距角18度)或在400PPS左右(步距角为09度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。8、电机正反转控制对于不同的步进电机当需要控制正反转的时候发送的脉冲也是不同的,对于这次选的步进电机,正转的脉冲次序为0X01,0X02,0X04,0X08,当需要反转的时候,发送的脉冲次序为0X08,0X04,0X02,0X01。当需要反转次序的时候,只需要改变脉冲即可122步进电机的特点步进电机由于其特殊的构造使其相对于普通电机有一些优越的特点,简要介绍如下高精度的定位步进电机最大特征即是能够简单的做到高精度的定位控制。以5相步进电机为例其分辨率为072(全步级)/036(半步级),是非常细小的;停止定位精度误差皆在005以内,因为步进电机的特点,无累积误差,故可达到很高的控制精度。位置及速度控制步进电机在输入脉冲信号时,可以依输入的脉冲数做固定角度的回转进而得到灵活的位置控制,并可得到与该脉冲信号频率成比例的回转速度。开回路控制、不必依赖传感器定位步进电机的控制系统构造简单,无累积误差,不需要速度感应器及位置传感器,无需复杂的反馈电路,就能以输入的脉波做速度及位置的控制。也因其属开回路控制,故最适合于短距离、高频度、高精度之定位控制的场合下使用。具定位保持力步进电机在停止状态下,虽然没有脉冲输入,仍具有激磁保持力,故即使不依靠机械式的剎车,也能做到停止位置的保持,所以定位很精确。动作灵敏步进电机因为具有优异的加速性能,选择不同的加速方案,可以可做到瞬时停止、起动、正反转和快速、频繁的定位动作。高信赖性使用步进电机装置与使用离合器、减速机及极限开关等其它装置相较,步进电机的故障及误动作少,所以在检查及保养时也较简单容易。小型、高功率步进电机扭力大、体积小,可以方便的安装和调试,同时能够提供很高的转矩。步进电机的速度转矩特性速度转矩特性曲线取决于电机和驱动器,其中驱动器占主要的角色,一个好的驱动器可以提供很高的驱动电流和很短相应时间,因此选择一个合适的驱动器尤为重要。123步进电机的控制步进电机的控制是本次设计的一个重要组成部分,对步进电机的控制主要是对脉冲信号的控制。脉冲的产生有两种方法,一种是用专用的驱动芯片来产生脉冲信号。这些芯片称为脉冲分配器。这些芯片已经高度集成化,不仅可以提供步进电机工作需要的工作电流,而且还可以根据指令来选择不同的驱动方案。例如广泛使用的TA8435H芯片,这是单片正弦细分二相步进电机驱动专业芯片,输出电流可达15A,峰值25A。工作电压宽10V40V,具有整步,半步,1/4细分,1/8细分,运行方式可供选择,采用脉宽调制式斩波驱动方式,具有复位和使能引脚,可选择使用单时钟输入或双时钟输入。外部信号只需要提供一个时钟脉冲信号来控制速度,和一个方向信号来控制方向,不需要额外的脉冲分配电路。采用TA8435H构成步进电机驱动器,利用此芯片输出步进脉冲的设计方案具有占用CPU时间短、编程容易、结构简单、成本低、可靠性好、抗干扰能力强等优点,因此可在控制和测量领域中得到广泛应用。但是其成本很高,只适合工业要求较为严格的场所。另一种控制方法是用单片机提供控制脉冲,提供给驱动芯片,由驱动芯片来驱动电机。这里的驱动电路只是用来提供单片机工作所需要的电流,并没有脉冲分配功能,其作用相当于一个继电器。常用的驱动芯片为ULN2003,又称为达林顿管,为双列16脚,最大驱动电压为50V,最大驱动电流500MA,适用于TTL和CMOS电路。由七个硅NPN达林顿管组成。ULN2003的每一对达林顿都串联一个27K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500MA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。在有单片机驱动时,只需要一个2K的上拉电阻。ULN2003是高电压,大电流达林顿晶体管阵列系列产品,具有电流增益高,工作电压高,温度范围宽,带负载能力强扥特点,适用于各类要求告诉大功率驱动系统。在本次实验中采用的便是这个方案,单片机的口接ULN2003,用来驱动步进电机,脉冲由软件产生,P20P23口接ULN2003,然后来驱动步进电机。第二章步进电机的加减速控制2步进电机加速方案的提出从步进电机的矩频特性可知,步进电机的输出转矩随着转速的不断上升而下降,启动速度越高,启动转矩就越小,负载的能力越差,可能造成启动失步,而在停止时又会发生过冲,造成定位不准。为了使步进电机迅速的达到所要求的速度,并且而又不过冲或失步,其关键在于使加速过程中加速度所要求的转矩既能充分利用步进电机在各个运行频率下所提供的转矩,又不允许超过这个转矩,否则造成失步。因此,步进电机的运行一般要经过加速、匀速、减速三个阶段,要求加减速过程时间尽量的短,恒速时间尽量长。尤其是在要求响应时间比较小的过程中,从开始到终点运行的时间要求最短,这就必须要求缩小加速、减速时间,而使恒速运行时的速度最高。22线性加速线性加减速控制法的快速性好,且较易获得解析解,对MCU的占用率小,并可将其进一步离散化,从而便于计算机实现。而其他两种方法难以进行直接离散化,计算机实现较为困难。因此,本次设计统选择采用线性加减速控制技术来达到电机的高速转动。电机的转速可由公式1给出。VV0AT1其中,V为电机转速;V0为电机启动转速;A为电机加速度;T为电机加速时间。若TI为相邻两个进给脉冲之间的时间间隔单位S,VI为进给一步后的末速度单位步/秒。A为进给一步的加速度单位步/秒2。则有11111IIIIIIIIIVTVATT2由此可计算出相邻两个进给脉冲间的时间间隔为1142IIIATT3其中,T0可取电机的启动频率,在系统中取250HZ。减速过程为其逆过程。线性加减速控制快速性较好,且算法较为简单,容易实现,缺点是加速时间较长,电机通过其谐振点加速可能会有困难。在步进电机不失步的前提下,驱动脉冲频率变化的加速度和步进电机转子的角加速度成正比。在步进电机的转矩随脉冲频率的上升保持恒定时,直线规律的升降速才是理想的升降速曲线,但是实际上步进电机的转矩随转速的的不断上升而下降,所以其加速曲线线就不是理想的升降速曲线。因此,按直线规律升降速来计算加速这种方法虽然实现简单,但是它不能保证在升降速的过程中步进电机的输出力矩与转子的角加速度相适应,不能让电机的加速性能最大发挥。23指数型加速这种方法是从步进电机的矩频特性出发,根据转矩随频率的变化规律推导出来的。它符合步进电机加减速过程的运动规律,能充分利用步进电机的有效转矩,快速响应性能较好,升降时间短。指数升降控制具有较强的跟踪能力,其缺点是当速度变化较大时平衡性较差,一般适用于跟踪响应要求较高的切削加工中。本次单片机使用使用分频器的方式来控制步进电机的速度,升降速控制实际上是不断改变分频器初载值的大小。指数曲线由于无法通过程序编制来实现,可以用阶梯曲线来逼近升速曲线,不一定每步都计算装载值。图5步进电机理想升速和实际升速曲线如图5所示,纵坐标为频率,单位是步/秒,其实反映了转速的高低。横坐标为时间,各段时间内走过的步数用N来表示,步数其实反映了行程。图中标出理想升速曲线和实际升速曲线。程序执行过程中,对每档速度都要计算在这档速度应走的步数,然后以递减方式检查,即每走一步,每档步数减1。当减至零时,表示该档速度应走的步数己走完,应进入下一档速度。一直循环到给出的速度大于或等于给定的速度为止。减速过程与升速过程刚好相反。24S型加速S型加减速曲线,其加减速过程比较复杂,分为7个阶段,加加速运动阶段、加速运动阶段、减加速运动阶段、匀速运动阶段、加减速运动阶段、减速运动阶段、减减速运动阶段。其主要适用于对加减速平稳性要求较高的工业环境里。图6S型加速曲线图6为S型加速曲线,实际中要是步进电机按照8级进行分段,根据设定的加速的总时间,求出每级运行频率的运运行时间,就能确定需要的脉冲数,可以将其写入到一个表中,待给定时器初始化的时候在写入到定时值。25步进电机失步的原因步进电机的失步有两种原因。第一种原因是转子的加速度慢于步进电机的旋转磁场的加速度,也即是低于换相速度而产生的。这时是因为输人电机的电能不足。定子磁场产生的同步力矩无法驱动转子跟随磁场换相的旋转速度,从而引起失步。而且凡是大于此时频率的工作频率都必将失步。这种失步说明了步进电机的转动力矩不够。可以通过减少负载,或者提高绕组中的激磁电流,就有可能克服步进电机的失步。第二种原因是转子的平均速度比磁场换相的平均旋转速度快。由于定子通电激磁的时间较长,大于转子步进一步所需的时间。则转子在步进过程中获得了额外的能量,从而产生前冲和后冲的摆动振荡。当振荡足够严重时就导致失步。所以,在步进电机的起始时刻,加速度要小防止失步。然后逐渐加速至高速运行,可避免失步。第三章控制系统设计31控制流程简介下面简要介绍一下这次步进电机控制系统的控制流程控制流程如下开始初始化定时器1定时扫描键盘有键盘按下置标志位,进入处理函数设置工作模式设置参数结束NOYES刚上电的时候对单片机进行初始化,主要完成开定时中断,对定时器1的初始化,设定键盘扫描的间隔时间为20MS,同时完成对全局静态变量的定义与初始化。初始化介绍之后定时器1开始运行,周期扫描键盘,如果有键盘按下则进入键值处理程序KEYDEAL,然后处理每一次按键。键盘的布局为44的16键键盘,前10个键表示09共10个数字,其余的键功能如下图所示0124456789A启动B停止C设置D确定E换向F模式转换启动按钮是用来启动定时器0,以产生产生定时脉冲,才控制步进电机的运行。停止按钮式用来关闭定时器0,当需要停止时,按动此按钮便可停止步进电机的运行。设置按钮式用来设置步进电机的运行速度或者旋转角度的,其工作模式又F键来控制,默认的工作模式是匀速运转,当按下F键是,步进电机便进入定位模式,可以按照设定的角度来工作。当需要换向的时候,在设置速度之前,按下换向按钮便可以。步进电机的脉冲函数是由PAULSEUNCHARD函数提供的,入口函数是方向位,用它来控制脉冲的发送方向。如果D为1,则步进电机倒转,默认是正转,其方向可由键盘来控制32键盘扫描键盘扫描是本次设计的关键部分,键盘是电机的参数输入设备。键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。键盘由许多键组成,而每个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。单片机接收到按键的触点信号后作相应的功能处理。在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4416个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。除了矩阵式键盘外还有独立式键盘。独立式键盘的每个按键都与单片机电路相连,所有按键都通过一个公共端与高电平相连,键之间相互独立互不影响。如下图所示,当按下键1时,无论其它键是否按下,键1的信号线就由1变0;当松开键1时,无论其它键是否按下,键1的信号线就由0变1。图7独立式键盘常用电路图7独立式键盘电路由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的,所以本次实验用的是44的矩阵式键盘。图8为本次实验用的44键盘图8矩阵式键盘电路键盘扫描程序一直以来都占有这较大的CPU资源,因此选择一个合适的扫描方案十分重要。下面是几种常用的扫描方案,常用的键盘扫描电路如下321线反转法线反转法是比较常用的键盘扫描法,其扫描流程如下1将列线作为输出线,行线作为输入线。置输出线全部为0,此时行线中呈低电平0的为按键所在行,如果全部都不是0,则没有按键按下。2将第一步反过来,即将行线作为输出线,列线作为输入线。置输出线全部为0,此时列线呈低电平的为按键所在的列。这样,就可以确定了按键的位置(X,Y)。3KEYX4YKEY即为多得到的键值。线反转法原理简单,实现方便,代码简短,是比行扫描法更快更稳定的方法,本次实验就是用的线反转法。此外还要注意去抖动,去抖动的方法比较多,在下一部分介绍,另外还需要在行线上加上拉电阻,就是焊接电路中的四个电阻。322行扫描法1判断键盘中有无键按下将全部行线P10P13置低电平,然后检测列线的状态,只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中若所有列线均为高电平则表示键盘中无键按下2判断闭合键所在的位置在确认有键按下后即可进入确定具体闭合键的过程其方法是依次将行线置为低电平即在置某根行线为低电平时其它线为高电平当确定某根行线为低电平后再逐行检测各列线的电平状态若某列为低则该列线与置为低电平的行线交叉处的按键就是闭合的按键323循环扫描查询方式是指在程序中用一段专门的扫描和读按键程序不停查询有无按键按下,确定键值。这种方式电路简单,但需要占用单片机的机器时间。一直占用着MCU的时间,效率很低,一般不采用。只在一些简单的程序中才会用到。324中断法中断法就是利用单片机的外部中断来进入键盘扫描程序,此时则需要对键盘电路做一下改动,因为利用的是外部中断0,同时中断触发方式选择下降沿触发,因此改动后的键盘电路如图9图9中断式矩阵扫描键盘电路当任何一个键被按下时,都会在P14P17产生一个下降沿电平,同时4与门的输出口也会产生一个下降沿,在单片机的P32口产生一个外部中断,同时进入中断服务程序,进行键盘的扫描和处理。其余的键盘扫描程序跟循环扫描一样。其优点是不占用MCU时间,只有在有键盘输入的时候才进入中断处理程序,进行键值确认和处理,实时性高,不会出现定时方式时的检测不到键盘的情况。这种方式硬件电路上必须要产生中断线,需要额外的逻辑门来产生中断信号,线路相对查询式和定时扫描时比较复杂,但是由于他的优点很明确,所以应用场合很广泛。325定时器扫描法定时扫描方式是指利用单片机内的定时器来产生定时中断,然后在定时中断的服务程序中设置键盘扫描程序,检查有无按键按下,确定键值。这种方式的电路也比较简单,跟普通的查询式键盘的硬件是一样的。其优点是不占用单片机的机器时间,软件开销少,但需要占用一个定时器,同时定时的时间应该设置好,不能太长也不能太短,长了可能检测不到相应得按键,短了的话会加重机器开销。对本次实验来说,采用的就是这种方案,定时器用的是定时器1,定时扫描间隔为20MS,定时器0用来产生控制步进电机的驱动脉冲。主程序系统初始化20MS定时键盘分析扫描程序其它与20MS同步的任务清除20MS定时到标志其它任务系统其它任务326键盘的消抖通常的按键所用开关材料为弹性材料,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,并且在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,如图10所示。抖动时间的长短由按键的机械特性决定,一般为5MS10MS。这是一个很重要的时间参数,在很多场合尤其是软件消抖方面都要用到。图10消抖原理图按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。如果没有消抖,就会产生错误信号,导致解析出的键值出错或者重复输出键值。为确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。按键的抖动,可用硬件或软件两种方法。1,、硬件消抖在键数较少时可用硬件方法消除键抖动。常用RS触发器作为去抖硬件。如图11所示图11双稳态触发器消抖电路图中两个“与非”门构成一个RS触发器。其实在这个地方,此RS触发器的作用就是双稳态触发器。当按键未按下时,输出为1当键按下时,输出为0。此时即使因为按键的机械性能,使按键因弹性抖动而产生瞬时断开和闭合,只要按键不返回原始状态A,双稳态电路的状态不改变,输出不改变保持为0,因此不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经触发器之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作原理很容易得到验证。另一种方法是利用电容的放电延时,如图12采用并联电容法。这实际上也是个低通滤波器,将高频的抖动信号过滤掉,只留下低频的输入信号,也可以实现硬件消抖图12电容式消抖电路硬件消抖适合应用在按键不多,键盘电路比较简单的场合,但是因为硬件消抖需要额外的电路,所以应用场合不然软件消抖。下面简要介绍一下软件消抖2、软件消抖软件消抖也有不少方法的。如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5MS10MS的延时,让前沿抖动稳定后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下,然后再进入键值检测程序。当检测到按键释放后,也要给5MS10MS的延时,待后沿抖动消失后才能转入该键的处理程序,防止再次进入键值判断程序。软件消抖的另一种方法是循环比较法。第一次扫描,将键值存储在寄存器中,继续扫描,然后和寄存器中的值比较,如果相同,继续扫描,在比较。可以选一个比较次数,如60H,在比较次数满60H前,如果有一次,比较不相同,此次扫描失败,如果60H相同,就承认次键值。这个方法是相比较而言非常可靠的方法,基本上避免了抖动对程序的干扰。还有一种比较复杂的方法就是逻辑运算法,配合定时中断读取按键,通过运算逻辑表达式KERADYNKTKIKRN1KTKI1KTKI2可以获得消除抖动的按键消息。这种方法效率高,不需耗时的循环等待,而且算法简单、使用方便。一、基本原理由于按键的按下与抬起都会有10MS左右的抖动毛刺存在,因此,为了获取稳定的按键信息,必须要避开这个抖动期,待其稳定后再读键值。设置3个变量KR、KT和KI,并设置定时器中断周期为20MS。在定时中断服务程序中读取按键,并把读取的数据存于变量KI中。变量KR中是所需要的稳定的按键信息;KT是中间变量,它的值是上一次的KI。根据当前按键的状态,考虑到KR中是20MS抖动后的有效键信息,则KR、KT和KI之间,在不同时刻的状态关系如表1所列。表1时刻KRKTKI1000200130104001511161117110810191101000011000时刻1为没有键按下的初始状态;时刻2的KI为1,但时刻3的KI又变为0,说明时刻2的KI为1并不是有键按下,可能只是干扰,所以KREQDY为0;时刻4同时刻2的情况类似,但是时刻4和时刻5时KI都为1,说明有按键按下,在时刻5时KR为1;虽然时刻7时KI为0,但时刻5、6、8时KI都为1,说明按键一直按下,只不过有干扰,KR保持为1;时刻9、10连续两个时刻KI为0,表示按键抬起,时刻10时KR为0。通过分析可以看出,KR中是消除了抖动并在一定程度上排除了干扰的有效按键信息。327几种键盘扫描法的比较1、硬件消抖此种方法不消耗MCU资源,不需要在软件中添加消抖程序,软件开销小,消抖效果稳定,适合程序对MCU要求比较大的程序。但是因为需要硬件消抖,所以增加了电路的复杂度和提高了成本,因此不适合大规模生产。2、软件消抖此种方法需要在键值判定后添加消抖程序,需要消耗MCU资源,在一些程序对MCU消耗较少的情况下,此种方法最为简单,并且消抖效果很好。由于不需要额外的电路,只需要普通的44矩阵键盘就成,所以降低了成本。缺点是软件开销比较大,在一些负载比较重的程序里会加重消耗,但是因为电路简单,实现方法方便,所以用处很广。本次实验用的是软件消抖的方法,经过实际检验后,消抖效果很好,很稳定,没有出现多处重复按键的情况。33脉冲的产生方法对步进电机的速度的控制就是对输入到步进电机脉冲的控制,脉冲的产生方法有两种,一种延时法,即通过延时函数来实现其脉冲间隔输出。另一只方法则是通过单片机上所带的定时器产生脉冲下面简要介绍一下两种计时方式331定时器产生脉冲89C52芯片带有三个定时器,定时器0和定时器1是普通定时器,功能一样,既可以做定时器,又可以做计数器。定时器2是一个功能较强的定时器/计数器,它是一个16为的,具有自动装载和捕获能力的定时/计数器。定时器有4种工作方式工作方式013位定时器/计数器THX的高8位(做计数器)和TLX的低5位(32分频的定标器)构成。TLX的高3位未用。计数时,TLX的低5位溢出后向THX进位,THX溢出后讲TFX置位,向申请中断。工作方式位定时器计数器计数时,TLX溢出后向置位,溢出后将置位,如果中断允许,CPU响应中断并转入中断服务程序。工作方式定时常数自动重装的位定时器计数器在工作方式2,只有低8位参与计数,而高8位不参与计数,用作预置数的存放。当TLX溢出时,一方面将TFX置位,并向CPU申请中断,另一方面将多次连续装入。,它可以实现每隔预定时间发出控制信号。工作方式3这种工作方式是将定时器/计数器T0分为位定时器计数器和一个位定时器计数器,TH0用于位定时器。在本次设计中我用的是用定时器定时方式产生定时脉冲的方法,每次定时结束,进入中断服务程序后将重新写入新的定时值,然后通过PULSE函数来发出驱动信号。定时方式1定时范围很大,其16为寄存器可以最大实现65536MS的定时,可以充分满足定时需要,并且定时准确,控制速度精确。332函数延时法函数延时法就是通过循环函数来控制其时间间隔的,如果是一个8M的晶振,考虑到其他因素,1MS可以执行123条指令,于是1MS的延时函数可以写成123次循环函数。其优点是编程方便,执行快速,不需要定时中断,更改定时值简单。但是也存在着硬伤,由于其延时方式是通过循环计数来实现的,加上晶振频率的偏移,计算定时值时也是约数,所以定时时间间隔越大,其误差越大,精度越小。所以这个方法在一些对定时要求不严格的场合应用的较多,例如键盘的软件消抖的程序里。第四章步进电机的驱动方式步进电机在运行中由于是脉冲驱动,工作在低频时,会产生机械噪声和振动。为了减少机械噪声可以改变步进电机的驱动方式,采用细分控制可以可以解决这个问题。步进电机的驱动方式基本上分为单相激励、两相激励和半步激励等。单相激励是最简单的驱动方式,虽然具有输入功率小,温升低等优点,但是由于振荡厉害,控制不稳,所以使用场合不多。平时常用的是两相激励和半步激励,这两种方法可以提高平稳度,减小机械振荡。因此,采用细分驱动控制减小噪声和振动是一种比较完善和理想的解决手段。细分控制实际上是对步进电机励磁绕组电流的控制,单相驱动时内部磁场是不均匀的,造成转子受力不均,因而造成转动,细分方式就是使步进电机内部的磁场变成比较均匀的圆形旋转磁场,也就是实现步距角的细分。41步进电机的运行方式介绍首先介绍步进电机整步驱动,这里以两相混合式步进电机为例,它的步距角为18。该电机有A,B两相绕组,其中我们用C表示A通反向电流时产生的反向磁场A,用D表示B通反向电流时产生的反向磁场B。当分别给各相绕组通电时,各相绕组产生的旋转磁场如下仅有A相导通时,旋转磁场指向A;仅有B相导通时,旋转磁场指向B;仅有C相导通时,旋转磁场指向C;仅有D相导通时,旋转磁场指向D。依次为各相绕组通电,每切换一次,旋转磁场矢量转过90,电机转过一个步距角18。当旋转磁场矢量转过360时,电机转过一个齿距,这种工作方式称为整步工作。如果改变上述脉冲驱动过程,采用四相八拍工作,即通电顺序依次为此种工作方式称半步驱动,旋转磁场的矢量变化如图13所示。每改变一次通电状态,旋转磁场的矢量旋转45。图13四细分驱动磁场矢量图同理,旋转磁场转过360,电机转过一个齿距。由半步驱动原理给予启发,如果让旋转磁场矢量每次转过225,即半步驱动的一半的角度,这样就实现了四细分驱动。其旋转磁场矢量变化如图14所示。图14步进电机四细分驱动磁场矢量图为了使电机输出力矩保持稳定,也就是使电机匀速转动,我们通过控制流入A,B,C,D各相电流的大小,具体按公式SIN2COS21来计算。具体实现方式可以通过PWM来控制其输出电流,图15给出了四细分驱动时各相电机输入电流值的变换曲线。图15四细分驱动转距均匀输出原理图42不同运行方式的优缺点四相步进电机按照脉冲发送顺序的不同,其驱动方式可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的力矩较小,振动大,噪音高,驱动力矩不平稳。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度,降低噪音和振动。所以八拍工作方式应用较为广泛。本次实验中用的驱动方式是单四拍,驱动脉冲是1000,0100,0010,0001。本来可以采用八拍方式,但是考虑到程序复杂性,便采取简单的四拍式驱动。设计功能中本来可以控制其驱动方式,但是由于键盘键不够用,只能舍弃此功能,当需要修改时可以在程序里很方便的修改。43如何选择合适的步进电机步进电机有各种各样的型号,根据不同的场合,选择合适的步进电机不但可以顺利的完成各种功能,而且可以减少成本,降低消耗。步进电机的选择涉及到几个因素步距角(涉及到相数)、静转矩、电流。选择步进电机的时候要充分考虑所选的步进电机是否满足,无论哪一个条件不满足,都无法达到满意效果。下面简要介绍一下各种因素的选择1、步距角的选择电机的步距角取决于负载精度的要求,将负载的最小分辨率换算到电机轴上,每个当量电机应走多少角度。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有036度/072度(五相电机)、09度/18度(二、四相电机)、15度/3度(三相电机)等。2、静力矩的选择步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的23倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)3、电流的选择静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)4、力矩与功率换算步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下PM2N/60P2NM/60其P为功率单位为瓦,为每秒角速度,单位为弧度,N为每分钟转速,M为力矩单位为牛顿米P2FM/400半步工作)其中F为每秒脉冲数(简称PPS这次毕业设计对于步进电机的选择没有什么特殊要求,只是为了实现控制系统,所以选择了一个普通的5V的4相步进电机。其参数如表1电压电阻步距角减速比潜入转矩空载牵入频率绝缘电阻绝缘介电强度温升噪音自定位转矩5505625/641/644MNM50050M无击穿343MNM表1步进电机的相关参数第五章硬件电路测试与实验结果51基本功能的实现情况这次的实验成品是用一个由单片机系统板控制的步进电机,由单片机系统板,达林顿驱动芯片,和一个五线四相步进电机所构成。其实物图如下运行结果将程序下载到单片机里面,加电运行,按模式转换键,转入定位运行,如果需要改变运转方向,还可以按方向键来控制其运转方向,然后按设置键,设置好旋转的角度,按下确定键确定,步进电机便可以运行。由于采取了细分驱动,电机在运行的过程中旋转很稳定,噪音和振动比较小,电机有达林顿管提供驱动电流,驱动力很大,加上64倍减速齿轮,降低的转速,增大了力矩,能够驱动很大的负载。可以应用在许多场合,实用性很广。可以在不改变硬件电路的情况下通过键盘或修改程序实现不同的功能。52实验中出现的问题和解决办法本次设计虽然完全实现了毕业设计所要求的目标,可是也存在一定的不足。由于STC89C52的内存限制,导致步进电机的加速步数不能设置很多,只能采取比较少的加速步数,因此也导致步进电机的速度受限,加速数组采取的是8位的存储单元,使步进电机的速度受到限制。不能设置很快。解决方案我们可以采用外部存储器来存储加速数组,可以实现高精度的加速,同时也可以解决速度限制的问题。本次设计还存在另一个问题。由于步进电机自己本身带了一个64倍的减速齿轮,所以运转速度不快,旋转角度不明显。但是能明显提高其转矩,因此有得有失。如果需要高速的场合,将其减速器拆掉便可以。结束语近年来,由于自动控制和精密机械的快速发展,对定位和速度的要求越来越高,步进电机由于其自身的优点,在各个领域被广泛应用。由于以前的步进电机驱动模块是分立元件,功能单一,适用性较差,如果需要改变功能需要重新设计电路。随着对步进电机的要求越来越高,于是我们提出了用单片机控制步进电机的想法。在本次设计中我们用了89C52单片机,驱动芯片用了ULN2003,步进电机采用的4相4线式步进电机。用单片机控制步进电机,不仅实现了控制的智能化,而且还可以根据不同的任务修改合适的代码,适用性很强。可以实现定速和定位运转,精度高,运行平稳,驱动能力强,力矩高。满足了工业上对于高精度的步进电机的需要。本文按照要求完成了任务书中的所提出的需求,本文主要介绍了步进电机的相关知识和设计思路。通过这次毕业设计,我了解了步进电机的原理,驱动方法,键盘扫描法,及控制流程。不仅学会了对步进电机的控制,而且还触类旁通收获非常大。在这期间,付蓉给了我不少帮助,在这里我表示真诚的谢意。致谢经过几个星期的奋斗,在大学的最后一个学期终于把毕业设计做完了。在整个毕业设计中,从选题、编程、调试到论文的写作以及最后的定稿,一直以来都得到了我的导师付蓉老师的悉心指导。尤其在课题研究的中期,在功能的实现和课题的方向上有些迷茫,老师对我帮助很大。同时,我也得到了带我们的研究生学长的很大帮助。在这里,我向付蓉老师和学长表示诚挚的感谢除此之外,我的父母在毕设期间对我细致入微的关系,在大学的最后的日子里,我更能感觉到了父母无私的爱和对我的自豪,在这我要由衷谢谢我的父母。另外宿舍的朋友们在完成过程中也给我提供了很多帮助,也在此表示我的谢意。最后,再次感谢付蓉老师以及所有关心,支持我的人。参考文献1余永权单片机应用系统的功率与接口M,北京北京航空航天大学出版社,19922于海生,潘松峰,于培仁,微型计算机控制技术M,北京清华大学出版社,19983王幸之单片机应用系统抗干扰技术M,北京,北京航空航天大学出版社,20004李钟明,刘卫国,稀土永磁电机M,北京,过法国有出版社,19995王兆安,黄俊,电力电子技术M,北京,机械工业出版社,2000附录1程序清单INCLUDEINCLUDESTATICUNSIGNEDCHARTIME50/加速时间数组,直线式加速,防止失速UNSIGNEDCHARB160X00,0X01,0X02,0X03,0X04,0X05,0X06,0X07,0X08,0X09,0X0A,0X0B,0X0C,0X0D,0X0E,0X0F/键盘扫描数组STATICUNSIGNEDINTSTEP,DIS_STEP0,SET_STEP0,II0/步数SET_STEP为设定的行进步数STATICUNSIGNEDCHARDIR0,SFLAG0,RPS0/方向标志RPS为每秒的转速,SFLAG为设置标志,如果为1,则处于设置状态STATICUNSIGNEDCHARUN0/加速步数STATICUNSIGNEDCHARSS0,MODE1,KEYFLAG0/速度的位数MODE工作模式切换1恒速0控制步数SBITP20

温馨提示

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

评论

0/150

提交评论