《基于单片机的步进电机控制系统设计(共17页).docx》由会员分享,可在线阅读,更多相关《基于单片机的步进电机控制系统设计(共17页).docx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于AT89C52单片机的步进电机控制系统设计摘要:步进电机专用开发系统,适用于数控机床及某些特定条件及系统。本文通过单片机为开发平台,对步进电机进行控制。采用单片机AT89C52,根据输入的数据转化成的控制信号来控制步进电动机的角位移的一种方法,包括硬件设计和软件设计。整个系统主要由电机驱动电路,声光报警电路,4位LED显示电路,电源电路及核心单片机部分构成。利用单片机产生步进电机驱动脉冲,通过44矩阵键盘能实现对步进电机启动、停止功能的选择以及加速、减速、反转功能的选择,使用方便、操作简单。 其中在步进电机控制器的设计中,重点阐述脉冲产生电路以及对速度的控制,实现
2、对步进电机速度精确控制的开发系统。提高步进电机的步进精度,能够控制三相或四相步进电机。且电路简单,成本较低,控制方便,移植性强。实用价值高。关键词:AT89C52;步进电机;脉冲产生Design of Control System for Stepping Motor Based on AT89C52Abstract: A stepper motor dedicated development system,applicable to CNC machine tools and some special conditions and system. In this paper, through
3、 the SCM as the development platform,for the stepper motor control.The paper introduce one way that controls the stepping motor by microcomputer AT89C52 depending on the control signal to which input data convert control the line displacement of the stepping motor,namely simply graph plotter,includi
4、ng its hardware and software. The whole system mainly consists of motor drive circuit, sound and light alarm circuit, four LED display circuit, power supply circuit and the micro controller core parts. The use of single-chip stepper motor drive pulses generated by the 44 matrix keyboard enables the
5、stepper motor start, stop selection function and the acceleration, deceleration, select reverse function, easy to use, easy to operate. Wherein the stepper motor controller design, focusing on the pulse generating circuit and a control for speed, stepper motor development system to achieve precise s
6、peed control. Improve stepper motor step accuracy, able to control the three-phase or four-phase stepper motor. And the circuit is simple, low cost, easy control, strong transplantation, high practical value.Key words: AT89C52; stepper motor; a pulse generator1 引言步进电机是一种将电脉冲转换角位移的精确元件,它受脉冲信号控制,其位移与输
7、入数字脉冲个数成严格正比的关系。它具有低价格,易实现调速,系统简单,能快速启动和停止,易定位准确,功率小等优点。在早期的控制方案中,控制步进电机运转的时序脉冲由信号发生器产生,这种方式通用性差,成本高。采用单片机控制,则可以很方便的使不同相数的步进电机按任意一种可行的通用方式进行控制。本文就是实现的单片机对步进电机的数字控制系统。在这个控制系统中,控制器是它的核心,因为它担负着产生脉冲,发送、接受控制命令的任务。通常步进电机控制系统的构成如图所示,它包括脉冲分配器和功率驱动器两部分。图1.1 步进电机控制系统结构框图步进电机主要用于一些有定位要求的场合。 例如:线切割的工作台拖动,植毛机工作台
8、(毛孔定位),包装机(定长度)。 基本上涉及到定位的场合都用得到。 此外还广泛应用于喷涂设备、医疗仪、ATM 机、喷绘机、刻字机、传真机、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域。 特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。由于步进电机在生活中有着广泛的应用,所以对步进电机的研究是非常有意义的。通过这次设计,在步进电机各项控制功能实现的基础上,希望能对步进电机控制的精度能有一定的提高。2 系统总体方案硬件设计本系统选用AT89C52单片机为控制核心,由89C52,74LS373,EPROM2732等器件构统,扩展的2732用来存放
9、程序和表格。P1.0,P1.1,P1.2分别控制步进电机A,B,C各相绕线,89C51单片机的Pl口只能驱动三个LSTTL输入端,而被控制的步进电机要求高压,大电流,故在Pl口后加驱动器,以便驱动脉冲功率放大级的复合晶闸管,使电机绕组的静态电流达到驱动电流。此外考虑到计算机的抗干扰能力及安全,将计算机与驱动器之间加上隔离接口。系统硬件图如图2.1所示。图2.1 系统硬件图2.1步进电机控制器步进电机控制器主要由单片机、晶振电路、8K RAM存储模块、光电隔离等电路组成,如图2所示。 步进电机运行状态采用4位共阳数码管进行实时显示。步进电机的控制命令是通过矩阵键盘输入的。当步进电机的运行转速超过
10、额定转速时将启动我们的报警电路进行声光报警。该系统还可以通过RS232串行通信接口与PC机进行通信。本系统共包括5个功能模块,分别是键盘模块、显示模块、驱动电路模块、电源输入模块、串口通信模块。图2.2 步进电机控制器1)晶振电路单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图2.1所示。本系统选C1和C2值为22pF2)光电隔离电路利用光隔离器组成的光电隔离电路将控制器
11、与外部的驱动电路隔离开来,使得外部电路的变化不至于影响或者损坏控制系统,从而提高系统的可靠性,增强抗干扰能力。光隔离器最重要的参数是电流传输比CTR,应注意通常其值为0.20.9。输人数字信号提供一定的电流(510mA)时,光隔离器才会把放大的数字电平输出。光隔离器联结时注意信号正负逻辑。光隔离器的输入、输出端地线必须互相隔开,并且输入、输出端两个电源必须单独供电,否则,如果使用同一电源外部干扰信号可能通过电源串到系统中来。3)存储模块由于89C52单片机片内只有128个字节的RAM,而本系统中需要存储的数据比较多,需要扩展外部RAM。2.2 LED运行状态显示这一部分由4位LED数码显示管组
12、成,我们采用的是共阳的数码管。主要显示电机的转速和正反转。我们用 P0.4P0.7来控制4位LED数码显示管的位选功能。由于单片机P0口的驱动能力不够。所以采用 PNP型三极管9012来驱动。位选的工作原理是:9012的发射极用+5V电源拉高,基极接单片机的P0.4P0.7口,因为P0口加了上拉电阻所以此时单片机输出的是高电平,9012不导通。当程序控制P0.4P0.7时,单片机输出低电平,基极为低电平,三极管导通,集电极为高电平,位选成功。我们用 P2口作为4位LED数码显示管的数据输出接口,采用定时来循环输出。2.3 键盘输入如图2.3所示为矩阵键盘电路。步进电机的控制命令就是通过矩阵键盘
13、输入的,对步进电机的控制命令有启动、停止、转速加、转速减、正反转切换。矩阵键盘的行线分别与单片机的P2.4P2.7 端口相连,列线分别与P2.0P2.3端口相连。由于单片机端口的特殊性,需达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED 气体放电),线路驱动器和逻辑缓冲器。在矩阵键盘的行线和列线上分别接上 5.1K的上拉电阻,以确保没有键按下时,单片机读入的是可靠的高电平。 本系统键盘识别方法采用的是线反转法。线反转法分为两个操作步骤:先让行线编程为输入线,列线编程为输出线并使输出线输出全为低电平,则行线中电平由高变低的所在行为按键所在行。
14、再把行线编程为输出线,列线编程为输入线,并使输出线输出为全低电平,则列线中电平由高变低的所在列为按键所在列。最后综合上述两步的结果,可确定按键所在的行和列,从而识别出所按的键。图2.3 键盘输入2.4步进脉冲产生电路在采用单片机的步进电机开环系统中,控制系统的CP脉冲的频率或者换向周期实际上就是控制步进电机的运行速度。系统可用两种办法实现步进电机的速度控制。一种是延时,一种是定时。延时方法是在每次换向之后凋用一个延时子程序。待延时结束后再次执行换向,这样周而复始就可以发出一定频率的CP脉冲或换向周期。延时子程序的延时时间与换向程序所用的时间和就是CP脉冲的周期。该方法简单占用资源少。全部由软件
15、实现。调用小同的子程序可以实现不同速度的运行。但占用CPU时间长,不能在运行时处理其他工作。因此只适合较简单的控制过程。定时方法是利用单片机系统中的定时器定时功能产生任意周期的定时信号。从而可方便的控制系统输出CP脉冲的周期。当定时器启动后,定时器从装载的初值开始对系统及其周期进行加计数,当定时器溢出时,定时器产生中断,系统转去执行定时中断子程序。将电机换向子程序放在定时中断服务程序中,定时中断一次,电机换向一次,从而实现电机的速度控制。由于从定时器装载完重新启动开始至定时器申请中断止,有一定的时间间隔。造成定时时间增加。为了减少这种定时误差,实现精确定时,要对重装的计数初值作适当的调整。调整
16、的重装初值主要考虑两个因素一是中断响应所需的时问。二是重装初值指令所占用的时间,包括在重装初值前中断服务程序重的其他指令因。综合这两个因素后,重装计数初值的修正量取8个机器周期,即要使定时时间缩短8个机器周期。用定时中断方式来控制电动机变速时,实际上是不断改变定时器装载值的大小。在控制过程中,采用离散办法来逼近理想的升降速曲线。为了减少每步计算装载值的时间。系统设计时就把各离散点的速度所需的装载值固化在系统的ROM中,系统在运行中用查表法查出所需的装载值,这样可大幅度减少占用CPU的时间提高系统的响应速度。2.4.1 脉冲产生的系统软件部分通过对现有各种脉冲发生器设计方法比较后可知,为保证脉宽
17、和频率的精确性以及脉冲的可编程性,可使用以CPU为核心,结合相应的通信接口部件来设计。CPU的选择应考虑到系统对其性能、资源的要求和硬件的成本控制。由CPU、时钟电路、电源模块及相应信号的电平转换电路组成的可编程脉冲产生器原理如图2.4所示。图2.4 脉冲产生模块框图2.4.2系统硬件设计如图2.5所示,系统选用以单片机为CPU的设计方案,利用单片机内部的定时器设置脉宽和周期。系统硬件主要包括通讯接收模块、单片机的复位电路、系统供电部分。由于篇幅原因,电源部分没有在图中画出。图2.5脉冲产生模块电路图2.4.3电平转换外部发来的指令需要经过电平的转换才能与单片机进行通讯,这里选用AD公司的AD
18、M202进行标准TTL电平的转换。ADM202是AD公司的高速低功耗RS-232驱动器,使用单5v供电,两路驱动接收器,能将RS-232电平转换成标准TTL电平。2.4.4 复位电路单片机的复位电路使用RC复位电路加施密特触发器的复位方法。施密特触发器使用路触发反相器74HC14。较之传统的RC复位电路,增加了施密特触发器的复位电路有以下优点:施密特触发器驱动能力好,可将缓慢变化的输入信号转换成清晰、无抖动的输出信号 (方波),从而提高了复位的有效性;利用其迟滞特性可以防止电压短时间内大幅度震荡时产生的误复位。从而保证了系统的稳定性。2.4.5供电电路整个系统的供电部分使用三端稳压源7805提
19、供稳定的电压供给,7805输入为730,输出典型值为5,而AT89C52、X25045、ADM202均使用+5供电,可满足系统供电需求。2.5步进电机的驱动技术2.5.1细分驱动方式改变步进电机两相绕组的通电顺序即实现电机转动,并可以改变电机的转向。如果每次仅给单相绕组通电,就称单相通电方式,即电机两相绕组同时通电,称双相通电模式,即无论是双相通电,还是单相通电,经过四拍电机转过一个齿距角,统称为整步运动方式;如果将单相通电与双相通电交替组合在一起,就成为半步工作方式。整步工作状态各相电流变化情况如图所示。Ib图2.6 整步工作状态各相电流波形步进电机具有特殊的工作特性,输入一个控制脉冲,转子
20、相应转过一个固定的角度即步进角,这个特性与开环控制系统十分匹配。但是随着生产制造技术的提高,产品要求越来越高的精度,而电机结构本身限制了这一要求,通过增加定、转子齿数以获得更小的步进角是不现实的,因此就这需要采用特别的控制方法来提高步进电机的运行性能,目前基于整步工作方式的一种独特的通电方式,也是较为成熟和常用的方法就是细分控制。细分控制的本质是通过对步进电机的励磁绕组中电流的控制,使步进电机内部的合成磁场成为均勻的圆形旋转磁场。合成磁场矢量的幅值决定了步进电机旋转力矩的大小。因此,只有合理控制电机绕组中的电流使步进电机内部合成磁场的幅值恒定才能实现对步进电机的恒转矩均勻细分控制。细分控制的具
21、体方法就是在步进电机两相绕组的电流切换时,代替原来的绕组电流直接通断的方法,不是将绕组电流全部通入或切除,而是只改变相应绕组中额定的一部分,则电机的合成磁势只是旋转步进角的一部分,转子的每步运行也只有步进角的一部分。这里,绕组电流不是一个方波,而是阶梯波,额定电流是台阶式的投入或切除,电流分成多少个台阶,则转子就以同样的次数转过一个步进角。图为整步工作时细分的绕组电流变化情况。图2.7 整步工作时细分绕组电流2.5.2恒转矩等步进角细分目前有多种形式的细分驱动方式,但是适合于两相混合式步进电机开环控制系统的最佳细分方式是恒转矩等步进角的细分驱动方式。这种细分控制方式在确定细分数后根据步进角以及
22、各步所对应的磁场空间矢量幅值实时调整细分电流波形各阶梯的幅值,使得各相绕组电流的合成矢量在空间做幅值恒定的均勾旋转运动。细分控制时两相步进电机的转矩矢量星形图如图所示。对于两相混合式步进电机就需要在两相绕组中通以拟正弦电流,以此得到恒幅均勻旋转的定子旋转磁场。这种细分运行方式使得细分后电机运行的步进角均勾变化,可以明显减小电机的振动和失步,增加运行稳定性,增大步距分辨率。步进电机等步进角均勻细分控制时,其相电流的通用公式如式所示式中:Im为电机的额定电流;为电流实时角度,N为细分数,s为步数,指在确定细分数后电机转动设定角度所需要的步数。2.5.3桥功率驱动由于步进电机各相绕组都是开关工作,绕
23、组电流不是连续的而是断续的。而且电机各相绕组线圈存在比较大的电感,绕组断电时,电感中磁场的储能将维持绕组中己有的电流不能突变,结果使应该电流截止的相不能立即截止。因此还必须添加适当的续流回路使相应绕组中电流尽快衰减。步进电机的励磁绕组必须用双极性电源供电,励磁绕组有时需要通正向电流,有时需要通反向电流,这样的绕组需要用H桥驱动。双极性驱动作为步进电机典型的驱动方法,可以通过使控制绕组中的电流能正反向流动,提高绕组利用率,增大低速时的转矩。H桥驱动的原理图如图所示。图2.8 H桥驱动原理图如图,H桥的四臂由四个MOS管组成,其中UH为供电电源,当MOS管T1和T4导通时,电机绕组直接接在直流电源
24、上,绕组中通过正电流,当T1管关断时,由于电机绕组为感性,电流不会立刻降为零,这个时候二级管D2和MOS管T4管导通,形成续流回路。同理,当MOS管T2和T3导通时,电机绕组反向接在直流电源上,绕组中通过电流为相反的方向,当关断时,二极管和管导通,形成续流回路。2.5.4脉宽调制技术从桥的驱动方式可以看出,对混合式步进电机的控制,其实就是对它的电流方向和电流大小进行控制,而电流的方向主要是由导通的管决定,电流大小可以由这几个导通的管的相互间隔通断来控制。步进电机控制电路实质是通过驱动脉冲对桥管通断的控制,因此脉宽调制技术可以将数字信号脉冲转换为控制桥的通断电流实现电机的驱动。脉宽调制技术的理论
25、基础为在采样控制理论中,冲量相等而形状不同的窄脉冲加在具有惯性的环节上,环节的输出响应波形基本相同,这里冲量指窄脉冲的面积。步进电机的相绕组是惯性环节,因此用技术来控制电机绕组的电流大小。要得到所需要的波形通常采用调制的方法,就是把所设计的波形作为调制波形,把接受调制的信号作为载波,通过对载波的调制得到希望的波形。在电路中应用脉冲脉宽调制技术就是利用羊导体幵关器件的导通和关断把直流电压变成电压脉冲,并通过控制电压脉冲快读或周期以达到调节电压的目的,或者控制电压脉冲宽度和脉冲序列的周期以达到改变电压或频率的目的。脉宽调制技术有多种,从控制思想上分,有等脉宽法,正弦波法和电流追踪型法等。本文采用的
26、是电流追踪型法,不同于其它法的是它控制输出的是电流量。电流追踪型法的基本思路是将一个正弦波电流给定信号与电流实测信号比较,根据比较结果输出信号控制功率开关管的通断。当实际电流值大于给定值时,通过电流闭环调节使功率幵关管的导通时间减小;反之当实际电流值小于给定值时,通过电流闭环调节使功率开关管的导通时间增加。电流闭环控制的结果是使绕组电流围绕着给定的正弦电流做锯齿形变化,并将偏差限制在一定范围内。与此同时功率开关器件的输出波形成为波。电流追踪型控制有许多不同的型式,这里采用自激式,也称电流滞环控制型。电流滞环控制的基本原理框图如图所示,电感电流与电流基准信号进行比较得到电流误差信号,电流误差信号
27、广输入滞环比较器生成开关管的控制信号,从而控制变换器输出电流的变化趋势。如图所示,当电流误差信号大于正环宽时,导通,滞环比较器输出低电平,逆变桥臂间的输出电压为,电感电流减小;当低于负环宽时,导通,滞环比较器输出高电平,逆变桥臂间的输出电压为,电感电流增大,如此循环,使得保持在正负环宽内变化,以此达到准确跟踪基准电流的目标。图2.9 电流滞环控制原理图图2.10 电流滞环控制原理图电流滞环型区别于其他控制技术,它没有三角载波环节,设计过程简单,可以方便地实现细分驱动,其具备以下特点:硬件电路简单;实时控制;电流响应快;闭环控制,这也是各种跟踪型变流电路的共同特点。3系统软件部分3.1脉冲序列产
28、生软件编程采用语言模块化编程。系统上电后首先启动看门狗,进行定时器的初始化,随后等待用户发送指令。整个程序使用单片机的三个定时器,各个定时器的任务分别是:一个用来作通讯超时处理,通讯超时情况出现时进入定时器中断处理程序;另外一个用作通讯波特率产生器;第三个用作设置波形的脉宽和周期。系统接收外部指令同时,定时器进行计时,若规定时间内没有接收到数据,系统认为一帧数据接收完毕或者通讯超时,定时器产生中断,相应标志位清零,准备接收下一帧数据。若从外部接受的正确指令在规定时间内接收完毕,则进入脉冲输出方式设置程序,根据用户发送数据的命令字节选择相应的波形输出。图3.1 脉冲输出设计流程图3.1.1脉冲序
29、列输出控制程序为输出高精度波形,输出控制程序由定时器中断处理服务程序完成,程序流程图如图3.2所示。在系统上电进入主程序后,单片机接收外部发送的指令,并判定输出方式,将相关方式标志位置,定时器赋初值,启动定时器,输出精确脉宽的脉冲。随后定时器溢出,进入中断处理程序,中断处理程序根据输出方式标志位进入相应的输出方式设置,并翻转波形,根据输出方式重新赋初值,进行精确延时,随后再重新启动定时器。如此反复,即能输出精确频率的瞬态脉冲。实测的脉冲输出波形如图所示。其中第一路输出脉宽t1为20ms(每大格25ms,每小格5ms,共4小格,20ms),周期T1为50ms(两个大格),第二路输出脉宽t2为30
30、ms(6个小格),周期T2为70ms(14个小格),如需调整脉宽及频率,可根据实际情况改变定时器的装载值。图3.2 定时器处理中断服务程序流程图3.2 方向控制通常有三种方法:(1)三相单三拍:ABA;(2)三相双三拍:ABBCCAAB;(3)三相六拍:AABBBCCCAA;按以上顺序通电,步进电机正转;按相反顺序通电,步进电机反转。3.3速度控制控制步进电机的运行速度,实际上就是控制系统发出CP脉冲的频率或换相的周期。利用单片机芯片内部定时器的可编程性及定时功能,可以产生任意周期的定时信号。从而可方便的控制系统输出CP脉冲的周期,实现对电动机速度的控制1。3.4 程序设计本系统主要介绍三相六
31、拍的控制软件,具体设计过程详见表1。图3.3所示。图3.1 主流程图表1 三相六拍控制模型步序P1.2(C相)P1.1(B相)P1.0(A相)通电相控制模型1001A01H2011AB03H3010B02H4110BC06H5101C04H6101CA05H4 小结单片机作为性能极佳的控制处理器,它比步进电机的传统控制器件,无论从功能,灵活性,可靠性等方面来说,更为优越。步进电机开环控制系统具有成本低、简单、控制方便等优点。在此方案设计中,负载位置对控制电路无反馈,因此步进电机必须正确响应每次励磁变化。如果励磁频率选择不当,电机不能够到新的要求位置,那么实际的负载位置相对于控制器所期待位置便会
32、出现永久性误差,也就是“失步”和“过冲”现象,可以采用位置反馈或位置反馈确定与转子位置相适应的正确相位转换,可以大大改善步进电机的性能,这样就可以获得更加精确的位置控制和高很多、平稳很多的速度了。参考文献:1赵瑞林. 基于单片机控制步进电机恒变速系统的设计J. 计算技术与自动化, 2013,32(3): 37-402胡发焕, 任志斌, 潘春荣.基于单片机的无位置传感器无刷直流电机控制J. 电机与控制应用,2014,46(1):19-233娄俊,朱志甫基于单片机AT89C51的步进电机控制系统设计J湖南农机,2010(9):34-364杨忠宝,林海波基于80C196MC的步进电机斩波恒流均匀细分
33、电路的实现J微计算机信息,2003(7):5 9-615王晓明电动机的单片机控制M北京:北京航空航天大学出版社,20026刘宝廷,步进电机及其驱动控制系统M哈尔滨:哈尔滨工业大学出版社,19977杜家熙,陈艳锋,李国厚基于单片机的步进电机控制器设计J煤矿机械,2007,28(2):88-908古志坚. 基于单片机的步进电机控制系统研究D.华南理工大学,2013. 9方爱平. 基于单片机的步进电机控制系统的设计与实现D.浙江工业大学,2009. 10张占立,康春花,郭士军,符克理. 基于单片机的步进电机控制系统J. 电机与控制应用,2011,03:28-31+50. 11孟武胜,李亮. 基于AT89C52单片机的步进电机控制系统设计J. 测控技术,2006,11:45-47+51. 12宋受俊. 基于单片机的电机运动控制系统设计D.西北工业大学,2006. 13孟武胜,李亮. 基于AT89C52单片机的步进电机控制系统设计J. 微电机,2007,03:64-66. 14刘帅,祖静,张红艳. 基于单片机的步进电机控制系统设计J. 电子设计工程,2010,04:38-40. 15张新荣. 基于单片机的步进电机控制系统设计J. 自动化应用,2010,09:6-8. 16汪姝. 基于单片机的步进电机驱动控制系统的设计与实现D.南昌大学,2012. 专心-专注-专业
限制150内