欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    单片机控制步进电机.doc

    • 资源ID:4193874       资源大小:796KB        全文页数:32页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机控制步进电机.doc

    毕 业 设 计(论 文)论文题目: 单片机控制步进电机 所属系部: 电子工程系指导教师: 职称: 学生姓名: 学号: 专业: 应用电子技术毕业设计(论文)任务书题目: 单片机控制步进电机 任务与要求: 用单片机控制步进电机,实现步进电机的起停、正反转功能。时间: 2010 年 8月 30日 至 2010年 10月 23 日 共 8 周所属系部: 电子工程系学生姓名: 学 号: 专业: 指导单位或教研室:指导教师: 职 称: 摘要步进电机机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移。当步进驱动接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定角度(及步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。本设计采用80c51系列单片机对步进电机进行控制,对但单片机控制步进电机系统的控制方式和软件设计进行研究,分别从位置控制,速度控制,正反转三个方面进行详细的分析。关键词; 单片机;步进电机;控制系统AbstractStepper motor electromechanical control the implementation of a Common it is the of electrical pulses into angular displacement .When stepping drivers receive a pulse signal it stepper motor driven in the direction set by a fixed rotation angle (angle and stepper) by controlling the number of pulses that can control the angular displacement .thusachieving the purpose of accurate positioning; pass control to control the pulse Frequency of motor rotation speed and acceleration so as to achieve the purpose of speed The design used 80c51 microcontroller series of stepper motor control SCM control of the stepper motor control system and software design of the study from the position control.Keywords; Single slice machine; Stepper motor;Control system 目 录1总体方案论证11.1 步进电机简介11.2步进电机在我国的发展应用及前景11.3 本文研究内容21.4设计方案的论证21.5设计的意义与要解决的问题32 步进电机的基本知识42.1 步进电机的概念42.2 步进电动机的结构52.3 步进电机的特点52.4 步进电机的原理62.5 步进电机的基本参数72.6 步进电机的优缺点83硬件设计93.1 芯片的选择93.1.1 80c51 芯片介绍93.1.2 8155 芯片介绍103.1.3 驱动芯片ULN 2003 介绍123.2 硬件电路134 软件设计154.1说明154.2软件流程框图154.3 源程序16结束语20文献221总体方案论证1.1 步进电机简介图1-1 步进电机外观图步进电机广泛应用与工业自动控制,数控机床,组合机床,机器人,计算机外围设备,照相机,大型望远镜,卫星天线定位系统等等,随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。步进电机的原是模型起源于1830年至1860年。1870年前后开始以控制为目的的尝试,应用于氩弧灯电极输送机构中,这被认为最早的步进电机。1950年后期晶体管的发明也逐步应用在步进电机上,这对于数字化的控制变得容易。以后经过不断改良,使得今日步进电机以广泛应用于需要高定位精度,高分解性能,高响应性,信赖性等灵活控制性能高的机械系统中。在生产过程中要求自动化,省人力,效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度,位置控制,需要精确操作各项指令动作的灵活控制性场合步进电机用的最多。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用于各种自动化控制系统中。随着电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国门经济领域中都有应用。1.2步进电机在我国的发展应用及前景我国步进电机的研究及制造起始于本世纪50年代后期,从50年代后期到60年代后期,主要是高等院校及科研机构为研究一 些装置而使用或开发少量产品。我国在文化大革命时期开始大量使用步进电机。例如,江苏,浙江,北京,南京,四川等各地都有投入生产。而且在各行业使用。其中的驱动电路所用的半导体器件都是完全国产化,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计时器,触发器,环形分配器。中等耐压的大功率半导体器件也完全国产化。70年代初,步进电机的生产和研究都有所突破。除反映在驱动器设计方面的长足进步以外,对反应时步进电机本体的设计研究发展到一个较高的水平。70年代中期至80年代中期为成品发展阶段,新品种高性能的电机不断被发展。至80年代中期以来,由于步进电机精确模型做了大量研究工作,各种混合式步进电机及驱动器作为产品广泛应用。国外在大功率的工业设备驱动上,目前基本不使用大扭矩不仅电动,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。一些少数高级的应用,就用空心转杯电机,交流电机。国外在小功率的场合,还使用步进电机,例如一些工业材料,工业生产设备,打印机,复印件,速印机,银行自动柜员机。国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。目前,生产步进电机的厂家的确不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家只有一,二十人,连最基本的设备都没有。仅仅处于一种盲目阶段。这就给户在产品选型,使用中造成许多麻烦。虽然步进电机已被广泛的应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号,功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械,电机,电子及计算机等许多专业知识。1.3 本文研究内容本设计采用51单片机80C51(晶振频率为12MHZ)对三相步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿 管组成。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关闭态时承受50V 的电压,输出还可以在高负载电流并行运行。通过ULN2003构成步进电机的驱动电路。1.4设计方案的论证(1)控制方式的确定步进电机是一个比较精确的控制,步进电机开环控制系统具有成本低、简单、控制方便等优点,在采用单片机的步进电机开环系统中,系统控制的CPU脉冲的频率或者换向周期实际上就是控制步进电机的运行速度。系统可用两种办法实现步进电机的速度控制。一种是延时,一种是定时。延时方法是在每次换向之后调用一个延时子程序,待延时结束后再次执行换向,这样周而复始就可发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和,就是CP脉冲的周期,该方法简单,占用资源少,全部由软件实现,调用不同的子程序可以实现不同速度的运行。定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号,从而可方便的控制系统输出CP脉冲的周期。因为本设计是比较简单的控制过程,故采用延时程序。图1-2 控制系统组成框图(2)驱动方式的确定步进电机的驱动一般有两种方式。一种是通过CPU直接来驱动,这种方法一般不宜采取,因为CPU的输出电流脉冲是特别小的,它不能足以让步进电机的转动;另一种是通过CPU来间接驱动,就是把从CPU输出的信号进行放大,然后直接驱动或是再通过光电隔离间接来驱动步进电机,这种方法比较安全可靠。所以本次设计应采用CPU间接驱动步进电机。(3)驱动电路的选择步进电机的驱动电路有多种,但最为常用的就是单电压驱动,双电压驱动,斩波驱动,细分控制驱动等。但因本次设计对步进电机的精度要求比较高,转速的调节范围比较广,固应选择驱动芯片ULN2003来驱动并通过软件来实现步进电机的正反转,起停。1.5设计的意义与要解决的问题使用单片机以软件方式驱动步进电机,通过编程方法,对步进电机的往返转动的角度以及正反转,起动停止控制,转动次数等进行控制,使其在一定范围下运行,还可以方便灵活的控制步进电机的运行状态,以满足不同用户的需要。2 步进电机的基本知识图2-1步进电机外观图2.1 步进电机的概念图2-1为步进电机的外观图,步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的驱动电路根据控制信号工作,控制信号由单片机产生。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。在非超载的情况下,电机的转速,停止的位置只取决与脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步进角,这一线性关系的存在,加上步进电机只有周期性的误差而无累计误差等特点。使得在速度、位置等控制领域用步进电机来控制变得非常简单。2.2 步进电动机的结构一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。每输入一个冲信号,该电动机就转过一定的角度(有的步进电动机可以直接输出线位移,称为直线电动机)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将逐渐扩大。步进电动机的种类很多,按结构可分为反应式和激励式两种;按相数分则可分为单相、两相和多相三种。2-2反应式步进电动机的结构示意图图2-2是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。两个相对的磁极组成一组,联法如图所示。 2.3 步进电机的特点1一般步进电机的精度为步进角的3-5%,且不累积。 2步进电机外表允许的最高温度步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。 3步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。 4步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。5步进电机与驱动电路组成的开环数控系统,即非常简单、廉价、有非常的可靠,同时,它也可以与角度反馈环节组成高性能的闭环数控系统。6.步进电机的动态响应快,易于起停,正反转。7.速度可以在相当宽的范围内平滑调节,因此,可以不用减速器而直接带负载。8.步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。2.4 步进电机的原理反应式步进电机由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理1.结构:电机转子上均匀分布很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。 0、1/3、2/3,(相邻两转子齿轴线间的距离为齿距以表示),即A与齿1相对齐B与齿2向右错开1/3,C与齿3向右错开2/3,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:图2-3定转子展开图2、旋转:如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。 如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3,此时齿3与C偏移为1/3,齿4与A偏移(-1/3)=2/3。 如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3,此时齿4与A偏移为1/3对齐。 如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3 这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A通电,电机就每步(每脉冲)1/3,向右旋转。如按A,C,B,A通电,电机就反转。 由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。 不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BCC-CA-A这种导电状态,这样将原来每步1/3改变为1/6。甚至于通过二相电流不同的组合,使其1/3变为1/12,1/24,这就是电机细分驱动的基本理论依据。 不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制这是旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。3、力矩: 电机一旦通电,在定转子间将产生磁场(磁通量)当转子与定子错开一定角度产生力 F与(d/d)成正比 S 其磁通量=Br*S Br为磁密,S为导磁面积 F与L*D*Br成正比 L为铁芯有效长度,D为转子直径 Br=N·I/R N·I为励磁绕阻安匝数(电流乘匝数)R为磁阻。 力矩=力*半径 力矩与电机有效体积*安匝数*磁密 成正比(只考虑线性状态) 因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然2.5 步进电机的基本参数1、 电机固有步距角它表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值如86BYG250A型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°、整步工作时为1.8°),这个步距角可以称之为电机固有步距角,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。2、步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为0.9°/1.8°、三相的为0.75°/1.5°、五相的为0.36°/0.72° 。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。如果使用细分驱动器,则相数将变得没有意义,用户只需在驱上改变细分数,就可以改变步距角。3、保持转矩(HOLDING TORQUE)是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。2.6 步进电机的优缺点优点1 电机旋转的角度正比于脉冲数; 2 电机停转的时候具有最大的转矩(当绕组激磁时); 3 由于每步的精度在百分之三到百分之五,而且不会将一步的误差积累到下一步因而有较好的位置精度和运动的重复性; 4 优秀的起停和正反转响应; 5 由于没有电刷,可靠性较高,因此电机的寿命仅仅取决于轴承的寿命; 6 电机的响应由数字输入脉冲确定,因而可以采用开环控制,这使得电机的结构以比较简单而且控制成本 7 仅仅将负载直接连接到电机的转轴上也可以极低速的同步旋转。 8 由于速度正比于脉冲频率,因而有比较宽的转速范围。 缺点1 如果控制不当容易产生共振; 2 难以运转到较高的转速。通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一个矢量磁场。该磁场会带动转子旋转一个角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。3硬件设计3.1 芯片的选择 3.1.1 80c51 芯片介绍 图3-1 管脚图 图3-2 静态显示电路图40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端;注:用万用表测试单片机引脚电流一般为0v或者5v,这是标准的TTL电平,但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这之是万用表反映没这么快而已,在某一个瞬间单片机引脚电流还是保持在0v或者5v的。 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。3.1.2 8155 芯片介绍 图3-3 管脚图 图3-4 静态显示电路图81558155采用40脚双列直插式封装,单一5v电源。 RESET:复位信号线,高电平有效,在该输入端加一脉冲宽度为600ns 的高电平信号,就可使8155可靠复位,复位时三个输入/输出口预置为输入方式。 CE:片选端,8155为低电平有效,8156为高电平有效,当8155上加上一个低电平时,芯片被选中,可以与单片机交换信息。 AD0AD7:三态地址/数据总线,在ALE 的下降沿把8位地址锁存于内部地址锁存器,地址可代RAM或输入/输出用,由IO/M信号的极性而定,8位数据的流向取决于RD或WR信号的状态。 ALE:地址锁存器启用信号线,高电平有效,其下降沿把AD0AD7上的地址,片选信号、IO/M信号锁存起来。 IO/M:IO和RAM选择信号线,高电平造反输入/输出,该线低电平选择存储器。RD:读信号线,低电平有效,当片选信号与RD有效时,开启AD0AD7缓冲器,如果IO/M为低电平,则RAM的内容读至AD0AD7,如果IO/M为高电平,则选中的输入/输出口的内容读到AD0AD7。 WR:写信号线,低电平有效,当片选信号和WR信号有效时,AD0AD7上的数据将根据IO/M极性写入RAM或I/O口。 PA0PA7:输入/输出口A的信号线,通用8位输入/输出口,输入/输出的方向通过对命令/状态寄存器的编程来选择。 PB0PB7:输入/输出口B的信号线,通用8位输入/输出口,输入/输出的方向通过对命令/状态寄存器的编程来选择。 PC0PC5:输入/输出口C的信号线,6位可编程输入/输出口,也可用作A和B口的控制信号线,通过对命令/状态寄存器编程来选择。 INT:定时/计数器输入信号线,定时/计数器的时钟由此线输入。 TOUT:定时/计数器的输出信号线,输出信号为方波还是脉冲则由定时/计数器的工作方式而定。 VCC:电源线,接V直流电源。VSS:接地线,接到公用地线上。8155接线图图3-5 8155接线图3.1.3 驱动芯片ULN 2003 介绍对于电流小的步进电机,可以采用ULN2003 之类的驱动IC是一种小而美的驱动装置,它所提供的输出电路可达0.5安培!如下图所示,2003系列的接脚图 图3-6 ULN2003 IC接 角 图ULN2003是一种高电压、大电流驱动阵列芯片,内部包含7组NPN型达林顿管,7组NPN型达林顿单元电路都开路输出,以便适应 等多种电平的需要,每组驱动电路短时间驱动电流达0.6A 长期工作驱动电流可达0.5A 可适应于驱动一些常见的小功率负载(如继电器、电磁阀、小电机等) 图3-7 内部电路图如上图所示,基本上这是一个附有保险二极管的达林顿电路,它可以提供最高0.5 的电流,对于步进电机而言,可能会有瞬间大电流,但每个驱动电路所提供的工作周期都很低,驱动电路应该不会很热。如下图所示,驱动信号由8051的P1.0P1.3连接到2003的四个反相器输入端,其输出连接到步进电机上。2003的common 端与步进电机的com1、com2接到+5V的电源上,而2003的第8脚接地。图3-8驱动电路图3.2 硬件电路如表1,本设计采用的是三相反应式步进电机,运用双三拍控制方式,即控制绕组的通电方式为AB-BC-CA-AB 或 AB-CA-BC-AB,每拍 同时有两组绕组通电,三拍为一个循环。当 A、B两项绕组同时通电时,转子齿的位置同时考虑到两个定子极的作用。只A相极 和B相极对转子齿所产生的磁拉力 相平衡才是转子的平衡位置。双三拍 运行的步距角是30,但双三拍 运行时每一拍总有一相绕组持续通电。例如由 A、B两相通电变为 BC两相通电 时,B相 保持持续通电状态, C相磁拉力使转子逆时针方向转动,而B 相磁拉力却起有阻止转子继续向前转动的作用。正传控制模型步序工作状态控制模型二进制十六进制1AB0000001103H2BC0000011006H3CA0000010105H反转控制模型步序工作状态控制模型二进制十六进制1AB0000001103H2CA0000010105H3BC0000011006H表 1 电机正反转控制模型如图3-9所示,本实验采用三个键来控制步进电机的正转、反转、停止,按键分别为:S1键: 作为步进电机正向旋转的起 停键,按一次后确定正向旋转。S2键: 作为步进电机反向旋转的起 停键,按一次后确定反向旋转。S3键: 停止键,按一次后,步进电机停止转动。参考接线如下所示:图3-9 总线原理图4 软件设计4.1说明(1)采用模块化程序结构,有如下程序模块;1 主程序MAIN:完成系统初始化,键盘扫描及根据现有状态决定电机的工作方式。2 电机正转子程序:确定正转的初始步序号,使电机正向旋转一周。3 电机反转子程序: 确定反转的初始步序号,使电机反向旋转一周。4电机停止子程序;执行停止键功能,消除有关并标示。5 延时子程序: 保证电机转动每一步所需要的时间。(2)资源分配位地址00H、01H分别作为电机正、反转的标识位。R7作为延时时间的延时参数的暂存值。8051 P1口P1.0、P1.1、P1.2作为电机的控制口,经过驱动电路与步进电机的A、B、C、三相连接。8051的P0、P2口与8155相关管脚连接,负责完成键盘的接口功能。4.2软件流程框图 系统初始化有键按下吗?保持原工作状态清除转动标记停止电机转动开始设置状态标记电机反转一周改变延时参数是否处于转动设置状态标记电机正转一周NYNY图4-1 软件流程图4.3 源程序 ORG 0000H AJMP STARTZZMK BIT 00HFZMK BIT 01H ; ORG 0100START: MOV SP, #70H MOV IE, #00H MOV DPTR, #7EFH ;8155初始化MOV A, 43HMOVX DPTR, AMOV R7, #50HCLR ZZMKCLR FZMKMAIN: ACALL KS ;调按键查询子程序,判断是否有按键按下JNZ K1 ;有键按下,转移ACALL DELAY ;无键按下,调延时子程序JNB ZZMK, MAIN1 ;第0行无键按下,转 查第1行AJMP ZZ ;电机正转MAIN1: JNB FZMK, MAIN2 ;第1行无键按下,转 查第2行AJMP FZ ;点机反转MAIN2: AJMP TZ按键判断子程序K1, ACALL DELAY ;键 盘 去 抖延时MOV A, #0FEH ; 首列扫 描字送R3MOV DPTR, #7EFH ; P A口地址送DPTR,开始列扫描MOVX DPTR, A ;列扫描 字 送PA口INC DPTR ;指向PC口INC DPTR MOV B, AJB ACC.0, L1 ;第0行无键按下,转 查第1行SETB ZZMKCLR FZMKAJMP ZZ ;电机正转L1: JB ACC.2, L2 ;第1行无键按下,转 查第2行CLR ZZMKSETB FZMKAJMP FZ ;电机反转L2: JB ACC.2, L3 ;第二行无键按下,转 查第三行AJMP JS ; 转求 键号L3: JB ACC.3, NEXT ;第三行无键按下,退出AJMP TZ NEXT AJMP MAIN按键查询子程序KS: MOV DPTI, #7EFH ;置8155PA口地址MOV A, #00HMOVX DPTR, A ;全扫描字#00H送PA口 INC DPTR ;指向PC口INC DPTRMOVX A,DPTR ;读入PC口状态CPL A ;变正逻辑,高电平表示有键按下ANL A, #0FH ;屏蔽 高四位RET ;返回,A不等于表示有键按下电机正转子程序ZZ: MOV 30H, #00H ;设初始步序号MOV R3, #6 ;因步距离为20,3*15=60 ;360/60=6次,即要重复6次ZZ0: MOV R1, #4 ;4步相序MOV R0, 30H ;取初始步序号ZZ1: MOV A, R0MOV DPTR, #TABMOVC A, A+DPTR ;查 步 序 码MOV P1, A ;送P1口驱动ACALL DELAY ;延时INC R0 ;修改步序DJNZ R1, ZZ1 ;检查步序数DJNZ R3, ZZ0 ;检查相序重复次数AJMP MAIN电机反转子程序FZ: MOV 30H, #04H ;设初始步序号MOV R3, #6 ;因步距离为20,3*15=60 ,360/60=6次,即要重复6次FZ0: MOV R1, #3 ;4步相序MOV R0, 30H ;取初始步序号FZ1: MOV A, R0 ;MOV DPTR, #TAB;MOVC A, A+DPTR ;查 步 序 码MOV P1, A ;送P1口驱动ACALL DELAY ;延时INC R0 ;修改步序DJNZ R1, FZ1 ;检查步序数DJNZ R3, FZ0 ;检查相序重复次数AJMP MAIN电机停止子程序TZ: MOV P1, #0FEH ;停机CLR ZZMKCLR FZMKAJMP MAIN ;停止返回电机延时子程序DELAY: MOV R4, #200 ;步 序 延时50msDE0: MOV R5, #123NOP DE1: DJNZ R5, DE1DJNZ R4, DE0RETTAB: DB 03H 06H 05H ;正转 步 序 码 DB 03H 05H 06H ;反转 步 序 码END ;程序结束结束语 完成情况:本设计通过单片机80C51和 8155来控制,通过驱动芯片ULN2003来驱动步进电机,来实现步进电机的正反转,实现步进电机的运动控制。本设计实现了占用CPU 时间少,效率高;易于控制步进电机的转向,提高了步进电机的步进精度等。再有,本设计过程考虑比较周全,系统中不仅采用ULN2003驱动电路,方便灵活的控制步进电机的运行状态。以满足不同用户的需要。因此常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。步进电机控制(包括控制脉冲的产生和分配)使用软件方法,即用单片机实现,这样既简化了电路,也降低了成本。所的收获:通过这次的单片机控制步进电机毕业设计,我对步进电动机有了深入的了解,平时我们接触的电动机主要是直流电动机和很少见到步进电动机交流电动机,所以对于步进电动机比较陌生。通过老师指导,然后自己在课后翻阅书籍和上网,搜集到了不少有关步进电动机的知识。通过钻研这些知识,我总算对步进电机有了认识,但是这离毕业设计需要掌握的知识相差甚远,为了缩短这种差距,我只能不断地向老师和同学请教,然后仔细的揣摩。在这次毕业设计中,通过用单片机控制步进电机的正,反转,我也对单片机的知识也进行了复习和巩固。那时候觉得学习单片机是那么的枯燥乏味,整天只是学习这个指令做什么,那个指令做什么,觉得学了一点用都没有。但是今天我才发现,学习单片机是那

    注意事项

    本文(单片机控制步进电机.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开