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

下载本文档

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

文档简介

1、河南职业技术学院毕业设计(论文)题 目 基于单片机的步进电机控制系统设计 系(分院) 河南职业技术学院 学生姓名 学 号 06311091 专业名称 数控专业 指导教师 2010年 12月 27日基于单片机的步进电机控制系统设计范永贺摘要:随着工业自动化的发展,步进电机的应用越来越广泛。步进电机是一种用于开环控制的驱动元件。本文阐述了步进电机的基本知识和特性,提出了基于单片机步进电机控制系统.本设计采用at89c51单片机对步进电机进行控制,实现了软件与硬件相结合的控制方法,用软件代替环形分配器,达到了对步进电机的最佳控制.该系统以pc机作为上位机,以单片机作为下位机,pc机能够将控制指令和参

2、数发送到单片机,保证单片机能够准确、及时地发出控制信号,通过驱动器驱动步进电机上作;同时,pc通过单片机来监测的步进电机运行的各种状态信号。同时系统可以通过单片机采集手轮发出的信号对电机进行同步控制。可使步进电机的控制更加方便,灵活,具有高的数据传输速率、良好的实时性、较高的稳定性和友好的人机对话功能。关键词:步进电机;单片机;pc 机一、 前言单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、

3、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 同时用单片机还可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。此外,单片机在工商,金融,科研、教育,国防航空航天等

4、领域都有着十分广泛的用途。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着cmos化、低功耗、大容量、高性能、低价格和外围电路内装化等几个方面发展。综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 随着工业自动化的发展,步进电机的应用也越来越广泛。步进电机是一种用于开环控制的驱动元件。本文阐述了步进电机的基本知识和特性,提出了基于单片机控制

5、和集成电路驱动的步进电机控制实现方法以及软硬件设计方法。电机在自动化控制中使用的场合相当频繁,步进电机作为电机的一种,可以靠开路控制做精确的定位,因此普遍应用于电脑的外设及工业生产的自动化机具设备中,如nc车床、切割机,此外机器人的各个关节控制也大量的使用步进电机。近些年来,由于步进电机的控制精度不断提高,越来越多有较高控制精度要求的系统也开始采用步进电机。对于小功率步进电机,一般采用单片机与专用步进电机驱动器联合工作的方式,单片机产生脉冲,控制停启、正反转,变速等,专用步进电机驱动器则进行脉冲环形分配及功率驱动,这种控制方式降低成本,缩小体积,简单方便,易于实现。步进电动机突出的优点是它可以

6、在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可,步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度因此在众多领域有着极其广泛的应用。研制一种高性价比步进电机驱动器及其控制系统具有重要的意义。本次设计的步进电机控制系统以pc机作为上位机,以单片机作为下位机,可使上位机能够将经过处理的控制指令和参数发送到下位机,保证下位机能够准确、及时地发出控制信号,通过驱动器驱动步进电机上作。同时,上位机检测下位机的各种状态

7、信号,进行诊断和处理。同时可以通过单片机采集手轮发出的信号对电机进行同步控制。可使步进电机的控制更加方便,灵活,具有高的数据传输速率、良好的实时性、较高的稳定性和友好的人机对话功能。二、步进电机概述§2.1步进电机简介步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角” ),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误

8、差(精度为100%)的特点,广泛应用于各种开环控制。 现在比较常用的步进电机包括反应式步进电机(vr)、永磁式步进电机(pm)、混合式步进电机(hb)和单相式步进电机等。 永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度 或15度。 反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。 混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛.§2.2步进电机的

9、基本参数1.电机固有步距角: 电机固有步距角表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如86byg250a型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°,整步工作时为1.8°),这个步距角可以称之为“电机固有步距角”,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。 2.步进电机的相数: 步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同它们的步距角也不同,一般二相电机的步距角为0.9°/1.8°、三相的为0.75

10、76;/1.5°、五相的为0.36°/0.72° 。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。如果使用细分驱动器,则相数将变得没有意义,用户只需在驱动器上改变细分数,就可以改变步距角。 3.保持转矩(holding torque): holding torque是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2n.m的步进

11、电机,在没有特殊说明的情况下是指保持转矩为2n.m的步进电机。 4.detent torque: detent torque是指步进电机没有通电的情况下,定子锁住转子的力矩。detent torque 在国内没有统一的翻译方式,容易使大家产生误解;由于反应式步进电机的转子不是永磁材料,所以它没有detent torque。§2.3步进电机的特征1.高精度的定位:步进电机最大特征即是能够简单的做到高精度的定位控制。以5相步进电机为例:其定位基本单位(分辨率)为0.72°(全步级)/0.36°(半步级),是非常小的;停止定位精度误差皆在±3分(±0

12、.05°)以内,且无累计误差,故可达到高精度的定位控制。(步进电机的定位精度是取决于电机本身的机械加工精度) 2.位置及速度控制: 步进电机在输入脉冲信号时,可以依输入的脉冲数做固定角度的回转进而得到灵活的角度控制(位置控制),并可得到与该脉冲信号周波数(频率)成比例的回转速度。 3.具有定位保持力:步进电机在停止状态下(无脉波信号输入时),仍具有激磁保持力,故即使不依靠机械式的剎车,也能做到停止位置的保持。械式的剎车,也能做到停止位置的保持。4.动作灵敏: 步进电机因为加速性能优越,所以可做到瞬时起动、停止、正反转之快速、频繁的定位动作。5.开回路控制、不必依赖传感器定位:步进电机

13、的控制系统构成简单,不需要速度感应器(encoder、转速发电机)及位置传感器(sensor),就能以输入的脉波做速度及位置的控制。也因其属开回路控制,故最适合于短距离、高频度、高精度之定位控制的场合下使用。 6.中低速时具备高转矩:步进电机在中低速时具有较大的转矩,故能够较同级伺服电机提供更大的扭力输出。7.高信赖性:使用步进电机装置与使用离合器、减速机及极限开关等其它装置相较,步进电机的故障及误动作少,所以在检查及保养时也较简单容易。 8.小型、高功率:步进电机体积小、扭力大,尽管于狭窄的空间内,仍可顺利做安装,并提供高转矩输出。§2.4步进电机参数指标及指标术语步进电机的动态指

14、标(1)步距角精度: 步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。(2)失步: 电机运转时运转的步数,不等于理论上的步数。称之为失步。(3)失调角: 转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。(4)最大空载起动频率: 电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。(5)最大空载的运行频率: 电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。(6)运行矩频特性: 电机在某种测

15、试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。步进电机的静态指标术语 相数:产生不同对极n、s磁场的激磁线圈对数。常用m表示。拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即ab-bc-cd-da-ab,四相八拍运行方式即 a-ab-b-bc-c-cd-d-da-a.步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度(转子齿数j*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度

16、(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。三、方案设计单片机系统设计主要包括以下几个方面的内容:控制系统总体方案设计,包括系统的要求、控制方案的选择,以及工艺参数的测量范围等;选择各参数

17、检测元件及变送器;建立数学模型及确定控制算法;选择单片机,并决定是自行设计还是购买成套设备;系统硬件设计,包括接口电路,逻辑电路及操作面板;系统软件设计,包括管理、监控程序以及应用程序的设计,应用系统设计包含有硬件设计与软件设计两部分;系统的调试与试验。确定单片机控制系统总体方案,是进行系统设计最重要、最关键的一步。总体方案的好坏,直接影响整个控制系统的性能及实施细则。总体方案的设计主要是根据被控对象的任务及工艺要求而确定的。设计方法大致如下:根据系统的要求,首先确定出系统是采用开环系统还是闭环系统,或者是数据处理系统。选择检测元件,在确定总体方案时,必须首先选择好被测参数的测量元件,它是影响

18、控制系统精度的重要因素之一。选择执行机构,执行机构是微型机控制系统的重要组成部件之一。执行机构的选择一方面要与控制算法匹配,另一方面要根据被控对象的实际情况确定。选择输入/输出通道及外围设备。选择时应考虑以下几个问题:被控对象参数的数量;各输入/输出通道是串行操作还是并行操作;各通道数据的传递速率;各通道数据的字长及选择位数;对显示、打印有何要求;画出整个系统原理图。§3.1步进电机控制原理步进电机是数字控制电机,它将脉冲信号转变成角位移在步进电机中,控制绕组每改变一次通电方式,称为一拍,每一拍转子就转过一个步距角,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

19、步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如3.1(1)所示: 图3.1(1)步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:(1)控制换相顺序通电换相这一过程称为脉冲分配。例如:四相步进电机的四拍工作方式,其各相通电顺序为a-b-cd,通电控制脉冲必须严格按照这一顺序分别控制a,b,c,d或者d,c,b,a相的通断。(2)控制步进电机的转向步进电机的转向由脉冲的分配顺序决定,如果给定工作方式正序换

20、相通电,步进电机正转,如果按反序通电换相,则电机就反转,要想改变步进电机的转向,只需将脉冲的分配次序颠倒即可实现。(3)控制步进电机的速度如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,即通电一周的周期越短,驱动频率越高,则电机转速越快,因此步进电机的转速取决于脉冲的发送速度的快慢,脉冲速度快了不进电机的转速也就会加快,反之则会变慢,但步进电机的转速也不可能太快,因为它每走一步需要一定的时间,若信号频率过高,可能导致电机失步,甚至只在原步颤动. 调整单片机发出的脉冲频率,就可以对步进电机进行调速,实现步进电机的转速控制。 §3.2驱动系统组成

21、对于一个步进电机驱动系统来说,应包括信号发生、信号分配、功率放大等几个模块。§3.2.1信号发生通过对单片机的io口置高低点电平来产生脉冲信号步进脉冲产生电路,在采用单片机的步进电机开环系统中,控制系统的cp脉冲的频率或换向周期实际上是控制步进电机的运行速度。系统可用两种办法实现步进电机的速度控制。 第一种方案是延时延时方法是在每次换向之后调用一个延时子程序,待延时结束后再次执行换向,这样周而复始就可发出一定频率的cp脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和就是cp脉冲的周期。该方法简单,占用资源少,全部由软件实现,调用不同的子程序可以实现不同速度的运行;但占用cp

22、u时间长,不能在运行时处理其他工作,因此只适合较简单的控制过程。第二种方案是定时。 定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号,从而可方便地控制系统输出cp脉冲的周期。当定时器起动后,定时器从装载的初值开始对系统及其周期进行加计数;当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序。将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。由于从定时器装载完重新起动开始至定时器申请中断止,有一定的时间间隔,造成定时时间增加。为了减少这种定时误差,实现精确定时,要对重装的计数初值作适当调整。调整的重装初值主要考虑两个因素:一是中断响

23、应所需的时间;二是重装初值指令所占用的时间,包括在重装初值前中断服务程序中的其他指令因素。综合这两个因素后,重装计数初值的修正量取8个机器周期,即要使定时时间缩短8个机器周期。用定时中断方式控制电动机变速时,实际上是不断改变定时器装载值的大小。在控制过程中,采用离散办法逼近理想升降速曲线。为了减少每步计算装载值的时间,系统设计时就把各离散点的速度所需的装载值固化在系统的rom中,系统在运行中用查表法查出所需的装载值,这样可大幅减少占用cpu的时间,提高系统的响应速度。其流程图如图4所示。这个时间不应采用延时来实现,因为会影响到其他功能的实现。这里以定时的方式来实现。§3.2.2功率放

24、大由于单片机的驱动能力较小,控制系统中应使用驱动芯片来对单片机产生的脉冲信号进行放大,然后才能驱动步进电机。步进电机的驱动方式很多,有单电压驱动、双电压驱动、斩波驱动、细分驱动和集成电路驱动。由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常方便。功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等

25、。功率放大方案选择:方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。方案二:使用uln2004芯片驱动电机uln2004芯片每片封装了7个达林顿管每个驱动管的输出电流可达500ma(峰值600ma)对于较大的电流,可以将输出并之直接使ttl/cmos/pmos/dtl 与兼容可以驱动两个二相电机(如图11),也可以驱动一个四相电机,输出电压最高可达50v,可以直接

26、通过电源来调节输出电压;可以直接用单片机的io口提供信号;而且电路简单,使用比较方便。通过比较,使用uln2004芯片充分发挥了它的功能,能稳定地驱动步进电机,且价格不高,故选用uln2004驱动电机。而使用uln2004时,可以用uln2004来提供时序信号,可以节省单片机io口的使用;也可以直接用单片机模拟出时序信号,由于控制并不复杂,故选用后者。§3.2.3脉冲分配 本设计使用的步进电机四相步进电机,型号为 42d130 步距角为1.8度,绕组线圈的电阻为每相7.5欧姆,可有四相四拍,四相八拍两种脉冲分配方式。四相四拍的脉冲分配方式为a-b-c-d-a或者d-c-b-a-d,四

27、相八拍的分配方式为a-ab-b-bc-c-cd-d-da-a或者顺序颠倒过来。其中四相四拍式分配方式比较方便,且程序较易实现,接线简单,所以选择此方式进行脉冲分配。脉冲信号经过功率放大之后直接分别的接到步进电机的粉、红、蓝、黄根接线上,而电机的黑、白两线都直接与电源相接。四、软件硬件设计§4.1硬件设计根据总体方案的设计分析,选择at89c51单片机,uln2004驱动芯片,和型号为 42d130 步距角为1.8度,绕组线圈的电阻为每相7.5欧姆的四相步进电机来组建控制系统。at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomflash programmable a

28、nd erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。uln2004芯片管脚如图所示 uln2004芯片每片封装了7个达林顿管

29、每个驱动管的输出电流可达 500ma(峰值 600ma)对于较大的电流,可以将输出并接使用 输入 ttl/cmos/pmos/dtl 与兼容可以驱动两个二相电机(如图11),也可以驱动一个四相电机,输出电压最高可达50v,可以直接通过电源来调节输出电压;可以直接用单片机的io口提供信号;而且电路简单,把at89c51的p0-0p0-1p0-2p0-3口分别与uln2004芯片的输入端in1,in2,in3,in4接口连接,p0口通过软件实现高低电平的依次转换,然后再把口的电平信号通过uln2004芯片放大后再把放大后的信号通过out1,out2,out3,out4一次接到步进电机的abcd四相

30、uln2004的管脚作用如图4.1(1)所示 图4.1(1)步进电机的单片机控制系统硬件原理图如图4.1(2)所示。p0p2n机手轮.步进电机 图4.1(2)§4.2软件设计单片机控制系统的软件设计一般分2类,系统软件和应用软件设计。系统软件的主要任务是:管理整个控制系统的全过程,比如,powerup自诊断功能,keyinpit 的管理功能,printer output报表功能,display功能等等。是控制系统的核心程序,也称之为moniter监控管理程序其作用类似pc机的dos系统。软件设计的几个方面如下: (1)可靠性设计为保证系统软件的可靠性,通常设计一个自诊断程序,定时对系

31、统进行诊断。在可靠性要求较高的场合,可以设计看门狗电路,也可以设计软件陷阱,防止程序跑飞。 (2)软件设计与硬件设计的统一性在单片机系统设计中,通常一个同样的功能,通过硬件和软件都可以实现,确定那些由硬件完成,那些由软件完成,这就是软件、硬件的折衷问题。一般来说,在系统可能的情况下,尽量采用软件,因为这样可以节省经费。若系统要求实时性比较强,则可采用硬件。 (3)应用软件的特点 实时性:由于工业过程控制系统是实时控制系统,所以对应用软件的执行速度都有一定的要求,即能够在被控对象允许的时间间隔内对系统进行控制、计算和处理。换言之,要求整个应用软件必须在一个采样周期内处理完毕。所以一般都采用汇编语

32、言编写应用软件。但是,对于那些计算工作量比较大的系统,也可以采用高级语言和汇编语言混合使用的办法,即数据采集、判断、及控制输出程序用汇编语言,而对于那些较为复杂的计算可采用高级语言。为了提高系统的实时性,对于那些需要随机间断处理的任务,通常采用中断系统来完成。通用性:在应用程序设计中,为了节省内存和具有较强的适应能力,通常要求程序有一定的灵活性和通用性。为此,可以采用模块结构,尽量将共用的程序编写成子程序,如算术和逻辑运算程序、a/d、d/a转换程序、延时程序、pid运算程序、数字滤波程序、标度变换程序、报警程序等。本系统编程部分工作采用keli-c51语言完成,采用模块化的设计方法。

33、7;4.2.1上下位机功能设计上位主机部分的主要功能包括用户界面管理、步进电机运行状态监视其发送控制指令的程序流程图如图3 所示, 它采用查询方式发送命令, 用户输入指令后, 由计算机查询单片机是否可以接收指令, 若可以接收, 则发送用户的指令, 如果此时单片机还没空, 就计时等待一段时间,在等待期间, 不断询问单片机是否可以接收命令, 如果计时满, 单片机还不能接收指令, 则报告出错信息, 并显示给用户。每当发送一条指令后, 用户可以选择是否继续发送, 即用户可以预先编制一系列的控制指令, 连续发送, 通过步进电机控制执行机构完成一系列连贯的动作。下位控制单片机部分 下位控制程序的主要功能包

34、括串口初始化、定时器1 初始化并设定相应的传送波特率、中断接收指令、指令解释、电机驱动等, 采用keil-c 编写。它负责从上位计算机接收指令, 并解释指令, 然后将其转换成控制信号, 从并行口输出到功率放大电路。下位控制程序从上位主机接收的每一条指令都包含转动脉冲数、转速、转向等参数, 分别存放在变量distance 、rate 、command 中, 每执行完一条指令后,用变量k 、n 记录当前位置及转向, 以便下一条指令执行时, 能由当前位置继续运转。数组plus 当前存放四相步进电机在四相四拍工作方式下的正反转控制模型。由此可见, 其灵活性及适应性明显优于传统的步进电机控制器。做为下位

35、机的单片机通过串口程序的运行接收上位机pc机的指令,并对之进行解释,来控制脉冲的发射数量和分配次序 从而来实现对步进电机的转动角度大小的控制及正反转的切换,pc机采用编程来实现串口通讯,下位机采用at89c51的口来接收数据的传输;同时,下位机又可通过串口把程序中所记录的步进电机的运动步数及方向从口传输到上位机,使上位机可以监测电机的运行状况。§4.2.2步进电机驱动设计1 步进电机的脉冲分配步进电机的控制主要由脉冲分配和驱动电路两部分组成,步进电机脉冲控制的任务有三点:控制电机的转角、控制电机的转速、控制电机的转向。控制输送给电机的脉冲数就可以控制电机相应的转角数;控制输送给电机的

36、脉冲频率就可以控制电机的转速;控制电机的转向,实际就是控制脉冲输送给电机绕组的顺序分配,这种分配称为环行分配。在数控系统中,脉冲分配器是将插补输出脉冲,按步进电动机所要求的规律分配给步进电动机驱动电路的各相输入端,用以控制绕组中电流的开通和关断。同时由于电动机有正反转要求,所以脉冲分配器的输出既是周期性的,又是可逆的,因此,也可称之为环形分配器。2 步进脉冲产生电路定时中断处理程序:采用定时方式1,因为单片机使用12m晶振,可产生最高约为65.5ms的延时。对定时器置初值3cb0h可定时50ms,即系统时钟精度可达0.05s。当50ms定时时间到,定时器溢出则响应该定时中断处理程序,完成对定时

37、器的再次赋值,并对全局变量time加1,这样,通过变量time可计算出系统的运行时间。§4.3程序设计 采用定时器1方式定时,每隔1ms中断一次 方向变量direction 速度变量 speed 定时器中断子函数void timeint(void) interrupt 1 static int i=0;static int n=0;th0=0xfc; tl0=0x18; /设定时每隔1ms中断一次n+;if(n=speed)n=0;i+;if(i=200)direction=-direction;i=0;gorun();脉冲分配子函数void gorun()static int i=0;if(direction = 1)i+;if(i=4) i=0; else if(direction = -1)i-;if(i=-1)i=3;p1_0 = pulsei0;p1_1 = pulsei1;p1

温馨提示

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

评论

0/150

提交评论