步进电机控制_第1页
步进电机控制_第2页
步进电机控制_第3页
步进电机控制_第4页
步进电机控制_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、目录第一章 绪论31.1 设计研究内容3第二章 控制系统硬件分析与设计42.1 步进电机42.2 单片机的选择62.3 步进电机控制系统的组成7第三章 控制系统软件分析与设计123.1 程序流程图123.2 读键盘子程序流程图133.3 键盘处理子程序流程图133.4 电机控制中断程序流程图14参考文献16附录17附录一源程序清单17附录二控制原理图2018第一章 绪论1.1 设计研究内容本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LCD液晶显示器上。

2、总体设计框图如图1.1所示:AT89C51键盘控制模块电机驱动模块液晶显示模块电源模块图1.1 总体设计框图第二章 控制系统硬件分析与设计2.1 步进电机2.1.1 步进电机的原理步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其

3、基本原理作用如下:1.控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为ABCD,通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。2.控制步进电机的转向如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。 3.控制步进电机的速度 如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。2.1.2 步进电机的特点1. 一般步进电机的精度为步进角的3-5%,角位移与输入脉冲数严格成正比,没有累计误差,具有良好的

4、跟随性。2. 步进电机外表不允许较高的温度。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。3. 步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。4. 步进电机自身的噪声和振动较大,带惯性负载的能力较差。5. 由步进电机与驱动电路组成的开环数控系

5、统,既非常简单、廉价,又非常的可靠。同时,它也可以与角度反馈环节组成高性能的闭环数控系统。6. 步进电机的动态响应快,易于启停,正反转及变速。7. 速度可在相当宽的范围内平滑调节,低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。8. 步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。9. 步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。10. 步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机

6、将会在更多的领域得到应用。2.1.3 步进电机的分类现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。1. 反应式步进电机:一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。2. 永磁式步进电机:一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;3. 混合式步进电机:是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,性能最好。2

7、.1.4 永磁步进电机的控制原理在本设计以常用的永磁式步进电机为例,用单片机控制步进电机。其接线图如图2.1所示: 图2.1 CZ-2801型永磁步进电机接线图从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有 5根引出线。要使用步进电机转动,只要轮流给各引出端通电即可。将 COM 端标识为C,只要 AC、BC或/AC、/BC,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将 COM 端接正电源,那么只要用开关元件(如三极管) ,将 A、B或/A、/B轮流接地。不难设计出控制电路,因其工作电压为 12V,因此用一块开路输出达林顿驱动器(这里用ULN2003,

8、关于ULN2003将在后面介绍)作为驱动,通过 P1.0、 P1.3来控制各线圈的接通与切断。开机时,P1.0、 P1.3均为高电平,依次将 P1.0、 P1.2 (或P1.1、 P1.3反向)切换为低电平即可驱动步进电机运行。如果要改变电机的转动速度只要改变两次接通之间的时间。改变转速,只要改变 P1.0、 P1.2 (或P1.1、 P1.3反向)轮流变低电平的时间即可达到要求,因为不会影响到其他功能的实现,这个时间可以用延时来实现,。这里以定时的方式来实现。下面首先计算一下定时时间。 按要求,最低转速为 20 转/分,而上述步进电机的步距角为 7.5,即每 48 个脉冲为 1 周,即在最低

9、转速时,要求为960脉冲/分,相当于 62.5ms/脉冲。而在最高转速时,要求为 100转/分,即 48000 脉冲/分,相当于 12.5ms/脉冲。2.2 单片机的选择本次设计选用AT89C5l作为步进电机的控制芯片AT89C51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上使用方便等优点,而且完全兼容MCS5l系列单片机的所有功能。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器 (FPEROMFAlsh ProgrAmmABle And ErAsABle ReAd Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失

10、存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案2.2.1 单片机的引脚功能(1)VCC(40):电源+5V。(2)VSS(20):接地,也就是GND。(3)XTL1(19)和XTL2(18):振荡电路。单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个电容和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在XTL2上加外部时钟信号。(4)PSE

11、N(29):片外ROM选通信号,低电平有效。(5)ALE/PROG(30):地址锁存信号输出端/EPROM编程脉冲输入端。(6)RST/VPD(9):复位信号输入端/备用电源输入端。(7)EA/VPP(31):内/外部ROM选择端。(8)P0口(39-32):双向I/O口。(9)P1口(1-8):准双向通用I/0口。(10)P2口(21-28):准双向I/0口。2.2.2 主要特性与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:全静态工作:0Hz-24Hz三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、

12、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路 (1)振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(2)芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻

13、辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.3 步进电机控制系统的组成步进电机控制系统共分为六个模块:单片机最小系统模块、键盘控制模块、数码显示模块、测速模块、步进电机驱动模块和电源模块。1.单片机最小系统主要由复位电路和时钟电路组成。复位电路为单片机系统提供可靠复位,使单片机能正常启动。时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。2.键盘控制模块包括

14、方向控制键、加速键和减速键、启停键,分别与单片机的P2.0、P2.1、P2.2和P2.3相连。实现对步进电机的控制。并且键盘上连接有发光二极管,以指示键盘状态。3.数码显示模块采用共阴极数码管来动态显示步进电机的实际转动速度。利用I/O口为数码管的com端提供低电平。二号单片机的P1口提供数码管的段选信号,P2.6和P2.7控制数码管的位选信号。4.测速模块采用开关霍尔片对安放在步进电机转盘上的小磁片的磁信号进行检测,步进电机转盘每次带动小磁片经过霍尔片时,其都将有脉冲信号从霍尔片输出。单片机外部中断口对信号进行采集。5.步进电机驱动模块选用七个NPN达林顿连接晶体管ULN2003为步进电机提

15、供脉冲信号,驱动步进电机转动。该模块与单片机的P1.0P1.3相连。6.电源模块是通过将市电220V转变为直流12V和直流5V分别供给驱动模块和单片机模块。2.3.1 键盘控制电路键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。键盘实质是一组按键开关的集合。键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。一个电压信号在机械触点的断开、闭合过程中,都会产生抖动,一般为510ms;两次抖动之间为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为断开状态。按键的闭合与否,反映在输出电压上就是呈现出高电平或低电平。通过对输出电平的高低状

16、态的检测,便可确认按键按下与否。在本设计中,高电平表示按键断开,低电平表示按键闭合状体。并且,为了能直观形象的表示按键闭合与否,还为每个按键相应增加了发光二极管,按键断开时,发光二极管灭,当有键闭合时,相应的发光二极管变亮。为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。消除按键抖动通常采用硬件、软件两种方法。由于硬件消抖电路设计复杂,本设计中没有采用,在此不再详细叙述;软件消抖适合按键较多的情况,方便简单。其原理是在第一次检测到有键按下时,执行一段延时10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。其原理

17、图如图2.2所示:图2.2键盘控制模块原理图2.3.2 LCD液晶显示电路 LCD1602简介液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。这里向大家介绍一款LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602B外观如图2.3所示:图2.3 LCD1602芯片管脚接口引脚功能表如表2.1所示:表2.1 接口引脚功能表引脚号符号状态功 能 1Vss电源地 2Vdd电源+5V

18、 3V0液晶驱动电源 4RS输入寄存器选择 5R/W输入读、写操作 6E输入使能信号 7DB0三态数据总线(LSB) 8DB1三态数据总线 9DB2三态数据总线 10DB3三态数据总线 11DB4三态数据总线 12DB5三态数据总线 13DB6三态数据总线 14DB7三态数据总线(MSB) 15LEDA输入背光+5V 16LEDK输入背光地主要管脚介绍: V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS:寄存器选择,高电平时选择数据寄存器;低电平时选择指令寄存器。R/W:读写信号线,高电平时进

19、行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W为低电平时可以写入数据。E:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。在本设计中所采用的是共阴极LCD液晶显示器,这里用四位一体数码管SM420361K:型号:SM420361K-12P类别:4位一体共阴规格:长宽高-30.114.17.3mm管脚标号:12-9-8-6公共脚、A-11、B-7、C-4 D-2、E-1、F-10、G-5、DP-3在本设计中采用数码管动态显示转速,数码显示电路通过交替向P2.6和P2.7输出低电平,使得与这两个端口连接的数码管公共端交替为低电平,从

20、而为数码管提供导通回路,通过对交替时间的控制实现数码管在视觉上的不间断显示。通过P1口输出段选信号,控制了数码管显示的内容。如图2.4所示:图2.4数码管显示电路2.3.3 步进电机驱动电路本系统的设计目的为了高效控制步进电机的转动,因此需要将单片机发出的脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。ULN2003七NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS/NMOS)和大电流高电压要求的灯、继电器、打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的

21、续流箝位二极管。ULN2003的设计与标准TTL系列兼容。它的管脚连接图如图2.5所示:图2.5 ULN2003管脚连接图其主要特性为:表2.2 ULN2003主要特性表极限值(若无其他规定,Tamb=25)参数名称符号数值单位输入电压VIN30V输入电流IIN25mA功耗PD1W工作环境温度Topr-20to +85贮存温度Tstg-55to+150ULN2003芯片概述与特点:ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。功率电子电路大多要求具有大电流输出能力,以便于驱

22、动各种类型的负载。功率驱动电路是功率电子设备输出电路的一个重要组成部分。ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。步进电机驱动电路的工作过程是:首先从P1口输出00000001B,由于单片机与ULN2003连接只用到了P1.0P1.3,所以ULN2003与单片机连接的四个管脚中每时刻只有一个管脚处于导通状态(采用单拍方式对步进电机控制),其他管脚处于断开状态。这样就使得与ULN2003连接的步进电机只有一个引出端导通。该系统驱动原理图如图2.6所示:图2.6步进电机驱动原理图第三章 控制系统软件分析与设计步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电

23、机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。定时器0中断服务程序控制步进电机的转动:根据当前显示的速度进行键盘手动改变T0定时时间常数,设置TH0和TL0的值,达到对转速精确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,达到对转动方向控制的目的。3.1 程序流程图步进电机控制系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图3.1所示:图3.1 步进电机控制系统主程序流程图系统上电复位后,先调用初始化子

24、程序,对步进电机各端口,相关参数进行初始化,设置T0工作方式控制时间常数。初始化完成后,步进电机处于停止状态,T0定时器处于关闭状态。然后循环调用读键盘子程序和键盘处理子程序,等待中断,以便实现步进电机转动控制。3.2 读键盘子程序流程图首先初始化实际键值参数为0FH,然后扫描P2口,与初始值比较,相等则说明没有键按下,不相等则软件消抖,以便确认是否真的有键按下。延时10ms后再次扫描P2口,第二次与初始值比较,若相等则表明前一次比较不相等是由抖动产生;如果相等则表明确实有键按下。执行键盘之程序里的指令,将相应的变量值改变,为键盘处理子程序做准备。如图3.2所示:启动否是否有键按下处理键盘子程

25、序是图3.2 扫描键盘字程序流程图3.3 键盘处理子程序流程图按键处理子程序流程图如图3.3所示:步进电机的启停控制通过启停定时器T0来实现,因为定时器T0控制着脉冲信号的输出,关闭定时器T0也就阻止了脉冲信号的输出。初始化变量开始P2.3是否按下P2.2是否按下P2.0是否按下P2.1是否按下退出TR0取反,通过启停T0启停步进电机取反方向控制为,改变电机转动方向修改速度参数值,减速修改速度参数值,加速 是是是是图3.3键盘处理子程序流程图3.4 电机控制中断程序流程图定时器中断0服务程序流程图如图3.4所示:定时器中断0服务程序的中断时间由当前的转速决定。进入中断程序后,首先要保护现场,再

26、根据当前值设置TH0和TL0的值。然后判断转动方向控制位的值,如果是0则控制脉冲信号P1.0、P1.2输出,如果是1则控制脉冲信号P1.1、P1.3输出。最后恢复现场,返回,等待下次中断。通过用当前转速控制中断时间,控制了脉冲的输出频率,也就到达了控制步进电机转动速度的目的;通过检测方向控制位的电平,选择脉冲信号P1.0、P1.2与P1.1、P1.3间的切换,控制了步进电机各引出端的接通顺序,也就到实现了步进电机转动方向的控制。各模块控制的详细程序附于最后。开始设置T0时间参数判断转动方向控制位的值有控制位查询输出脉冲退出改变方向控制变量值是图3.4 定时器中断0服务程序流程图 参考文献1 李

27、庆亮. C语言程序设计实用教程. 北京:机械工业出版社,20062 王新颖. 单片机原理及应用设计. 北京:北京大学出版社,20083 张亚华. 电子电路计算机辅助分析与辅助设计. 北京 航空工业出版社,20044 莫正康. 电力电子应用技术. 北京:机械工业出版社,20095 曾晓宏. 数字电子技术. 北京:机械工业出版社,20086 江晓安. 模拟电子技术. 陕西:西安电子科技大学出版社,20077蒋辉平 周国雄. 基于Proteus的单片机系统设计与仿真实例 北京:机械工业出版社,2009 8王宗培.步进电动机及其控制系统M.哈尔滨:哈尔滨工业大学出版社,2009 9余永权.单片机应用系

28、统的功率接口技术M.北京:北京航空航天大学出版社,2006 10陈理壁.步进电机及其应用M.上海:上海科学技术出版社,200911 王晓明、 胡晓柏,电动机的单片机控制M.北京航空航天大学出版社,2002年5月第1版:181-20812 刘宝延、 程树康,步进电动机及其驱动控制系统 M .1997年11月第一版:134-16713 史敬灼, 步进电动机伺服控制技术M .2007年3月第2版:23-3514刘国永, 陈杰平. 单片机控制步进电机系统设计. 安徽: 安徽技术师范学院学报, 2002, 16 (4) : 61-63.15孙笑辉,韩曾晋. 减少感应电动机直接转矩控制系统转矩脉动的方法J

29、. 电气传动, 2001 (1) : 8-11.附录附录一源程序清单汇编语言源程序:KEY1BITP2.0KEY2BITP2.1KEY3BITP2.2RSBITP2.3RWBITP2.4EBITP2.5SPDEQU30HTHEQU31HTLEQU32HORG0000HLJMPMAINORG000BHLJMPINQPORG0040HMAIN:MOVSP,#06HMOVP0,#38HLCALLWRITE_CMDMOVP0,#06HLCALLWRITE_CMDMOVP0,#0CHLCALLWRITE_CMDMOVP0,#01HLCALLWRITE_CMDOFF:CLREAMOVP0,#80HLCAL

30、LWRITE_CMDMOVDPTR,#TABLE1LCALLWRITE_STRMOVP0,#0C0HLCALLWRITE_CMDMOVDPTR,#TABLE2LCALLWRITE_STRJBKEY1,$ON:MOVP0,#0C0HLCALLWRITE_CMDMOVDPTR,#TABLE3LCALLWRITE_STRMOVTMOD,#01HMOVTH0,#0BHMOVTL0,#0DCHSETBTR0SETBET0SETBEAMOVP1,#03HJNBKEY2,FANZHE:MOVP0,#85HLCALLWRITE_CMDMOVA,#5AHLCALLWRITE_DATMOVDPTR,#TAB1MOVR4,#

温馨提示

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

评论

0/150

提交评论