您当前的位置:五五电子网电子知识单元电路驱动电路及控制电路步进电机转速连续性最优控制方法及分析 正文
步进电机转速连续性最优控制方法及分析

步进电机转速连续性最优控制方法及分析

点击数:7171 次   录入时间:03-04 11:40:08   整理:http://www.55dianzi.com   驱动电路及控制电路
1概述     步进电机在工业生产过程中应用非常广泛,它可以将脉冲电信号转换成角位移或直线位移,非常适合于用微机进行数字控制,近年来这方面的应用很多,如各种数控机床和工业检测过程中各种高精度定位系统等。本文就步进电机的单片机控制方法中存在的问题进行全面阐述,提出了简化加速算法以及作为速度信号源时速度连续性最优的控制方法和分析计算。 2步进电机的控制参数     采用步进电机作为速度执行元件,高速运行时如果起动太快容易引起电机丢步,若停止太快,由于惯性作用可能会出现过冲现象,给控制系统带来误差,所以高速运行时一般需要经过起动、加速、恒速运行、减速、停止这样一个完整的过程。所研制的一个计算机智能检测系统中使用了三台步进电机,X轴驱动,y轴驱动、速度信号源。下位机采用8098单片机,通过分析和反复调试实验,总结出了一个较为通用的电机控制程序。在8098内部RAM开辟一块存储区依次存放。     电机号:1,2,3分别代表1#、2#、3#电机     正反转:0反转,1正转     加速度:加速脉冲个数Ma(从第Ma个脉冲开始恒速运行)     匀速度:匀速运行时问常数M     减速度:减速脉冲个数Md(从第Md个脉冲开始减速运行)     总步数:电机运行的总步数     连续否:0-电机运行完给定的总步数,不记录最后所停止的相位。     1-电机运行完给定的总步数,记录最后所停止的相位,以便下次起动时接着运行,以保证系统的连续定位精度。     锁存相位1:X轴电机上次运行结束时所停留的相位。     锁存相位2:Y轴电机上次运行结束时所停留的相位。     设步进电机以三相六拍方式运行,各电机的通电状态字以表格形式存放在ROM中,电机停止时自动将最后的相位存入锁存相位1、2号单元。通过以上参数设置,基本上可以完整地控制步进电机的各种运行状态。    3近似理想运行曲线的简化加速算法     在以上参数中,难以确定的是步进电机的加速度和减速度。计算机控制的加速过程能否成功,取决于加速脉冲的增加速率是否合适。步进电机的加速度与失步转矩特性有关,根据参考文献1和2,步进电机的矩频特性曲线如图1所示,从这种矩频特性分析,符合这种特性的升降衄线是采用变加速度,即指数型运行曲线如图2所示,这种曲线比较符合步进电机加减速过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好。文献1和2所给出的获得升降速参数的方法均为查表的方法,即事先把运行曲线逐段线性化,计算出各速度级对应的升降速参数序列,以表格形式存放,供电机不同速度时分别调用。这种方法在匀速度可任意改变时就无法满足要求了,因为不可能预先存储太多的表格供调用,而且制表很繁琐。为此提出一种在单片微机上实现十分简便而又近似最优加速过程的实现方法。         电机在低速时(fo     Cn,G- N,G-N- (N - l),…,C0+10,C0+6,Co+3,C0+l,(n一1,2,…N)式中C n-Cn-1=n,n=l,2,…,N     这个序列从Co开始,相邻两项之差依次为:1,2,3,…,N,是一个相邻两项差递增序列,不难得出:       它对应着一个匀变加速运行过程,每步加速度按1,2,3,…,n个基本延时单位递增,匀变加速度等于1个基本延时单位。N的选择耍满足的条件是,电机以Cn为脉冲间隔延时时间常数起动时,fo=500Hz左右。因为N是作为加速参数可任意设置,所以很容易确定一个合适的值。加速原理用图3描述更为清楚,从图中可以看到,对于不同的匀速频率f1,f2…fn,电机均以同样的匀变加速度起动。由于匀变加速度等于1个最小延时单位,电机起动过程中就不会出现丢步现象,而且起动平稳,与文献1和2中的方法相比,此方法起动时间稍长一些,但对单片机控制系统,只是毫秒级的,可以忽略。此方法的优点在于不必造表、查表,对不同的速度,只改变加速步数N即可,实现简单,而且同样可防止电机丢步和过冲现象。在检测系统中采用这种加速控制方法,取得了很高的定位精度。 4转速连续性最优控制方法及分析     采用步进电机作为速度信号源,希望能提供比较连续的速度信号。步进电机的转速是通过控制脉冲间隔实现的,脉冲间隔每减少△tm,对应电机转速增加△s,只有当△tm-趋于0时,理论上才可以获得连续转速,这在实际控制过程中是无法实现的。在单片微机系统控制过程中使步进电机获取最佳的速度连续性,这里给出详细的分析和计算方法。     设步进电机步矩角为θ=1.5度,每圈步数为:360/θ=240度     设每步时间(脉冲间隔)为ts,每圈时间为:t=240ts。     由此可得电机转速为:   当每步时间为T=t-△t时,电机转速为:       下面讨论为获得最小值,使s尽可能趋近,从而使电机获得最佳连续转速。     以8098单片机系统为例,当系统晶振为fo时,机器周期为(3):        在不增加任何硬件接口(可编程定时电路)时,控制步进电机脉冲时间间隔的常用方法是,软件延时或占用8098本身的定时/计数器,后者不常用,因为8098的定时/计数器常常用于其它更重要的事件处理。采用软件延时的方法,设寄存器R存放脉冲间隔延时时间常数,最为简单的延时子程序格式为:     设(R)-n,当(R) =n+l时,对应的延时时间增量:     △tm=4+9-13     设系统晶振为6MHz    △tm=13T =13(1/fo)×3=13(1/6)×10-6×3(s)     将上式代入式(3),可以求出步进电机在转速分别为200,400,600,800,1 000r/min时,脉冲间隔延时时间常数每减1相应的转速变化如表1所示,可以看出,步进电机转速越高,其速度的连续性越差,要改变这种情况就必须想法使△tm取最小。     提出的延时思想方法是,选用机器周期最少的指令作为延时的基本单位,利用浮动指针取延时程序首址的方法,比如8098指令系统中的NOP指令,占4个机器周期,其中,延时首址TIME指针可上下浮动,每浮动一条指令,对应的延时子程序增加或减少一个NOP指令周期,即四个机器周期,也就是:     △tm=4T=4(1/6)×l0-6×3(s)     将上式代入式(3),可以得出TIME指针每减1相应的转速变化如表1中相应的项。     若系统晶振选用12MHz,则可以获得更加连续的转速特性,这时:     △tm=4T=4(1/12)×10-6×3(s) 将上式代入式(3),可以求出TIME指针每减1相应的转速变化如表1中相应的项。速对于单片微机所控制的步进电机,速度的连续性已经是最优的了。     下面给出TIME浮动在任意延时位置所对应的步进电机的转速的快速算法:     首先标定一个转速s,根据程序计算或实验求得步进电机在这个转速时,脉冲间隔延时程序TIME的位置,设为(nnnn 0),电机调速可以通过移动TIME指针进行。设调到任意转速时,TIME指针为(nnnnl)(可以通过计数很方便地获得),那么根据式(3),这时电机转速应为:

[1] [2]  下一页


本文关键字:步进电机  驱动电路及控制电路单元电路 - 驱动电路及控制电路