原创 步进电机的控制原理及其单片机控制实现

2007-3-16 17:04 16130 6 12 分类: MCU/ 嵌入式

                        步进电机的控制原理及其单片机控制实现


摘要:采用8051单片机来控制步进电机,给出了步进电机的控制原理及其单片机控制的具体实现方法。
关键词:步进电机;单片机;控制

步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统和精密机械等领域。例如,在仪器仪表,机床设备以及计算机的外围设备中(如打印机和绘图仪等),凡需要对转角进行精确控制的情况下,使用步进电机最为理想。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。





上个世纪就出现了步进电动机,它是一种可以自由回转的电磁铁,动作原理和今天的反应式步进电动机没有什么区别,也是依靠气隙磁导的变化来产生电磁转矩。在本世纪初,由于资本主义列强争夺殖民地,造船工业发展很快,同时也使得步进电动机的技术得到了长足的进步。到了80年代后,由于廉价的微型计算机以多功能的姿态出现,步进电动机的控制方式更加灵活多样。原来的步进电机控制系统采用分立元件或者集成电路组成的控制回路,不仅调试安装复杂,要消耗大量元器件,而且一旦定型之后,要改变控制方案就一定要重新设计电路。计算机则通过软件来控制步进电机,更好地挖掘出电动机的潜力。因此,用计算机控制步进电机已经成为了一种必然的趋势,也符合数字化的时代趋势。

  步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进电机靠一种叫环形分配器的电子开关器件,通过功率放大器使励磁绕组按照顺序轮流接通直流电源。由于励磁绕组在空间中按一定的规律排列,轮流和直流电源接通后,就会在空间形成一种阶跃变化的旋转磁场,使转子步进式的转动,随着脉冲频率的增高,转速就会增大。步进电机的旋转同时与相数、分配数、转子齿轮数有关。

  现在比较常用的步进电机包括反应式步进电机、永磁式步进电机、混合式步进电机和单相式步进电机等。其中反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。现阶段,反应式步进电机获得最多的应用。





步进电机和普通电机的区别主要就在于其脉冲驱动的形式,正是这个特点,步进电机可以和现代的数字控制技术相结合。不过步进电机在控制的精度、速度变化范围、低速性能方面都不如传统的闭环控制的直流伺服电动机。在精度不是需要特别高的场合就可以使用步进电机,步进电机可以发挥其结构简单、可靠性高和成本低的特点。使用恰当的时候,甚至可以和直流伺服电动机性能相媲美。

  步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。早期的步进电机输出转矩比较小,无法满足需要,在使用中和液压扭矩放大器一同组成液压脉冲马达。随着步进电动机技术的发展,步进电动机已经能够单独在系统上进行使用,成为了不可替代的执行元件。比如步进电动机用作数控铣床进给伺服机构的驱动电动机,在这个应用中,步进电动机可以同时完成两个工作,其一是传递转矩,其二是传递信息。步进电机也可以作为数控蜗杆砂轮磨边机同步系统的驱动电动机。除了在数控机床上的应用,步进电机也可以并用在其他的机械上,比如作为自动送料机中的马达,作为通用的软盘驱动器的马达,也可以应用在打印机和绘图仪中。

  步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。

一、 步进电机的控制原理

步进电机两个相邻磁极之间的夹角为60。。线圈绕过相对的两个磁极,构成一相(A-A’,B-B,C-C)。磁极上有5个均匀分布的矩形小齿,转子上没有绕组,而有40个小齿均匀分布在其圆周上,且相邻两个齿之间的夹角为9。。

当某组绕组通电时,相应的两个磁极就分别形成N-S极,产生磁场,并与转子形成磁路。如果这时定子的小齿与转子没有对齐,则在磁场的作用下转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前“走”一步。

1、 步进电机的控制方式

如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动,从而实现数字 角度的转换。转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。以三相步进电机为例,电流脉冲的施加共有三种方式。

(1) 单相三拍方式------按单相绕组施加电流脉冲




(2) 双相三拍方式-----按双相绕组施加电流脉冲




(3)三相六拍方式------单相绕组和双相绕组交替施加电流脉冲

点击看大图


单相三拍方式的每一拍步进角为3。,三相六拍的步进角则为1.5。,因此,在三相六拍下,步进电机的运行反转平稳柔和,但在同样的运行角度与速度下,三相六拍驱动脉冲的频率需提高一倍,对驱动开关管的开关特性要求较高。

2、 步进电机的驱动方式

步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定电压。为了防止电机过流及改善驱动特性,需加限流电阻。由于步进电机锁步时,限流电阻要消耗掉大量的功率,故限流电阻要有较大的功率容量,并且开关管也要有较高的负载能力。

步进电机的另一种驱动方式是高低压驱动,即在电机移步时,加额定或超过额定值的电压,以便在较大的电流驱动下,使电机快速移步;而在锁步时,则加低于额定值的电压,只让电机绕组流过锁步所需的电流值。这样,既可以减少限流电阻的功率消耗,又可以提高电机的运行速度,但这种驱动方式的电路要复杂一些。

驱动脉冲的分配可以使用硬件方法,即用脉冲分配器实现。现在,脉冲分配器已经标准化、芯片化,市场上可以买到。但硬件方法结构复杂,成本也较高。

步进电机控制(包括控制脉冲的产生和分配)也可以使用软件方法,即用单片机实现,这样既简化了电路,也降低了成本。使用单片机以软件方式驱动步进电机,不但可以通过编程方法,在一定范围内自由设定步进电机的转速、往返转动的角度以及转动次数等,而且还可以方便灵活地控制步进电机的运行状态,以满足不同用户的要求。因此,常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。

二、 步进电机的单片机控制

步进电机控制的最大特点是开环控制,不需要反馈信号。因为步进电机的运动不产生旋转量的误差累积。

由单片机实现的步进电机控制系统如图所示。

点击看大图


假定以8051的P1口线接步进电机的绕组,输出控制电流脉冲,其中P1.0接A,P1.1接B,P1.2接C。

1、 双相三拍控制

双相三拍得控制模型如下表所示。

点击看大图


假定有如下工作单元和工作位定义:
R0为步进数寄存器;
PSW中,F0为方向标志位,F0=0正转,F0<>0反转。
参考程序如下:






2、 三相六拍控制程序

在双相三拍得程序中,P1口输出的控制字是在程序中给定的。而在三相六拍的控制中,由于控制字较多,故可以把这些控制字以表的形式预先存放在内部RAM单元中,运行程序时以查表的方式逐个取出并输出。

假定正反转控制字依次存放在以POINT为首地址的内部RAM中,表的内容如下:
POINT: DB 01H   ;正转A
    DB 03H ;AB
DB 02H ;B
DB 06H ;BC
DB 04H ;C
DB 05H ;CA
DB 00H ;循环标志
DB 01H ;反转A
DB 05H ;AC
DB 04H ;C
DB 06H ;CB
DB 02H ;B
DB 03H ;BA
DB 00H ;循环标志

参考程序如下:



 


步进电机工作原理与编程<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


本章将介绍在嵌入式平台UPNETARM2410S中步进电机的实现。步进电机在各个领域诸如机器人、智能控制、工业控制等方面都有着广泛的应用空间,本章着重介绍步进电机的工作原理及编程实现步进电机驱动的方法,主要内容如下:


l        步进电机的概述


l        步进电机的工作原理


l        和微处理器的总线连接方式


l        驱动程序的编程


l        Linux 下用软件的方法实现步进电机的脉冲分配,用软件的方法代替硬件的脉冲分配器


 


1.步进电机概述


步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。 


使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。


正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。


 


1.1步进电机的特性


 


步进电机转动使用的是脉冲信号,而脉冲是数字信号,这恰是计算机所擅长处理的数据类型。从20世纪80年代开始开发出了专用的IC驱动电路,今天,在打印机、磁盘器等的OA装置的位置控制中,步进电机都是不可缺少的组成部分之一。总体上说,步进电机有如下 优点:


1.不需要反馈,控制简单。


2.与微机的连接、速度控制(启动、停止和反转)及驱动电路的设计比较简单。


3.没有角累积误差。


4.停止时也可保持转距。


5.没有转向器等机械部分,不需要保养,故造价较低。


6.即使没有传感器,也能精确定位。


7.根椐给定的脉冲周期,能够以任意速度转动。


但是,这种电机也有自身的缺点。


8.难以获得较大的转矩


9、不宜用作高速转动


10.在体积重量方面没有优势,能源利用率低。


11.超过负载时会破坏同步,速工作时会发出振动和噪声。


  


1.2 步进电机的种类


目前常用的步进电机有三类:


1、反应式步进电动机(VR)。


采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差。


2、永磁式步进电动机(PM)。


转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。用转子和定子之间的吸引和排斥力产生转动,转动步的角度一般是7.50。它的出力大,动态性能好;但步距角一般比较大。


3、混合步进电动机(HB)。


这是PMVR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机。


2、步进电机的工作原理


现以反应式三相步进电机为例说明其工作原理。


三相步进电机的定子铁心上有六个形状相同的大齿,相邻两个大齿之间的夹角为60 度。每个大齿上都套有一个线圈,径向相对的两个线圈串联起来成为一相绕组。各个大齿的内表面上又有若干个均匀分布的小齿。


转子是一个圆柱形铁心,外表面上圆周方向均匀的布满了小齿。转子小齿的齿距是和定子相同的。设计时应使转子齿数能被二整除。但某一相绕组通电,而转子可自由旋转时,该相两个大齿下的各个小齿将吸引相近的转子小齿,使电动机转动到转子小齿与该相定子小齿对齐的位置,而其它两相的各个大齿下的小齿必定和转子的小齿分别错开正负1/3 的齿距,形成齿错位,从而形成电磁引力使电动机连续的转动下去。


  和反应式步进电动机不同,永磁式步进电动机的绕组电流要求正,反向流动,故驱动电路一般要做成双极性驱动。混合式步进电动机的绕组电流也要求正,反向流动,故驱动电路通常也要做成双极性。


 


2.1、步进电机的励磁方式


步进电机有2相、4相和5相电机。在4相电机中有4组线圈,若电流按顺序通过线圈则使电机产生转动。2相电机中有2组线圈。从图9.3可以发现,在各线圈中引出中间端子,因此若以中间端子为基准即可实现4相,称这4ABCD的励磁相。本实验使用的就是这种方式的4相电机,而励磁方式中有1相(单向)励磁、2相(双向)励磁和12相(单-双向)励磁方式。此外,如果转动的方向不正确,可以交替12端子或34号端子


 


 


(1). 1相励磁方式


ABCD的顺序总是仅有一个励磁相有电流通过,因此,对应1个脉冲信号电机只会转动一步,这使电机只能产生很小的转矩并会产生振动,故很少使用。




 


A


B


C


D


T1


1


0


0


0


T2


0


1


0


0


T3


0


0


1


0


T4


0


0


0


1


2.T1T4表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有


 


(2). 2相励磁方式


ABBCCDDA的方式总是只有2相励磁,通过的电流是1相励磁时通过电流的2倍,转矩也是1相励磁的2倍。此时电机的振动较小且应答频率升高,目前仍广泛使用此种方式。




 


A


B


C


D


T1


1


1


0


0


T2


0


1


1


0


T3


0


0


1


1


T4


1


0


0


1


3.T1T4表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有脉冲


 


(3). 12相励磁方式


即实验中所有的励磁方式,它按AABBBCCCDDDA的顺序交替进行线圈的励磁。与前述的2个线圈励磁方式相比,电机的转速是原来的1/2,应答频率范围变为原来的2倍。转子以滑动的方式转动。


 




 


A


B


C


D


T1


1


0


0


0


T2


1


1


0


0


T3


0


1


0


0


T4


0


1


1


0


T5


0


0


1


0


T6


0


0


1


1


T7


0


0


0


1


T8


1


0


0


1


4.T1T8表示脉冲周期;ABCD表示电机的各相,1表示此时有一个脉冲,0表示没有脉冲


 


3.与微处理器的连接方式


步进电机并不是直接与CPU相连的。由于开发板上外部设备很多,各功能模块与微处理器的连接方式有专用线路,局部总线与扩展总线。


 


3.1 局部总线与扩展总线


局部总线与微处理器直接相连,扩展总线通过一个总线控制器74LVCH6245与局部总线相连。


CPU 出来的数据、地址、读写控制等信号构成局部总线。NAND FLASHSDRAM和网卡芯片AX88796 直接挂在局部总线上的。局部总线经过四片74LVCH16245 驱动后作为扩展总线引到其他外设以及168Pin 扩展槽。由于数据线是双向的,所以16245芯片必须有方向控制信号,这里采用经过隔离后的写控制信号OE 作为数据线所在16245 芯片的方向控制线。当OE 有效时16245 芯片把扩展总线上的数据传输到局部总线上;当OE无效时反之。另外,必须注意,当系统对局部总线上的芯片读数据时OE 一样会起作用,这样就必须对局部总线和扩展总线进行总线仲裁,这里是外设所具有的四个片选信号nGCS1345 74HC21 相与后作为数据线所在的16245 芯片的输出使能控制线,只有当系统对扩展总线读操作,也就是上述四个片选之一有效时,16245 才能对局部总线输出数据,否则无论OE 如何都呈现高阻态。如下图:


注:LDATA表示局部总线的数据线;DATA表示扩展总线的数据线。74LVCH16425芯片共有四块,限于篇幅仅举一片为例,其它三片芯片,一片用于数据线的低位连接,两片用于地址线的连接。


注:由于片选线使用的负逻辑电平有效,所有此处用的是与门


 


3.2芯片74HC573 


扩展总线连接在芯片74HC573上,扩展总线的DATA0DATA7分别接在74HC573的八个数据输入端上。74HC573芯片是由8个三态门组成的寄存器,它起到暂时保存信息和隔离总线的作用。芯片的输出I\O0—I\O3用于D\A数模转换,I\O4—I\O7用于步进电机的控制。


 


 


 


描述:


这个芯片采用的是八进位的D触发器,它可以驱动电容式或电阻式的负载。因此它特别适合应用于缓冲寄存器、IO端口、双向的总线控制器、和操作寄存器。


 当寄存器的使能端(LE)为高电平时,Q输出端和D输入端一一对应;当LE为低电平时,输出端管脚Q输出的是寄存器中已被设定的值。当一个能开启缓冲功能的负逻辑管脚(OE)为0时,无论是在正常逻辑状态还是在高阻抗状态下,都能放置八位的输出数据。在高阻抗状态下。输出并没有负载或者进行控制总线。高阻态和改进的总线驱动可以在不拉起元件的情况下控制总线传输。OE端并不影响寄存器内部的操作。当输出端呈高阻状态时旧的数据可以被保存或者新的数据进行输入。


 


 3.3步进电机模块的驱动电路


74HC573芯片的输出I\O4—I\O7用于用来驱动步进电机的转动。数据线要首先接在步进电机模块的一个接口上。接口对信号进行放大,使之能够驱动步进电机。放大后的信号就可以直接的来使步进电路进行工作了。


 


3.4、开发板中的步进电机 


本开发板中使用的步进电机为四相步进电机。转子小齿数为64


系统中采用四路I/O 进行并行控制,ARM 控制器直接发出多相脉冲信号,在通过功率放大后,进入步进电机的各相绕组。这样就不再需要脉冲分配器。脉冲分配器的功能可以由纯软件的方法实现如上图所示。


 


四相步距电机的控制方法有四相单四拍,四相单、双八拍和四相双四拍三种控制方式。


步距角的计算公式为:


θb3600mCk


其中:m 为相数,控制方法是四相单四拍和四相双四拍时C 1,控制方法是四相单、双八拍时C 2Zk为转子小齿数。


 


本系统中采用的是四相单、双八拍控制方法,所以步距角为360°/512。但步进电机经过一个1/8 的减速器引出,实际的步距角应为360°/512/8


开发平台中使用EXI/O 的高四位控制四相步进电机的四个相。按照四相单、双八拍控制方法,电机正转时的控制顺序为AABBBCCCDDDAEXI/O 的高四位的值参见下表:


 




十六进制


二进制


通电状态


1H


0001


A


3H


0011


AB


2H


0010


B


6H


0110


BC


4H


0100


C


CH


1100


CD


8H


1000


D


9H


1001


DA


5. 电机正转时,EXIO的高四位的值


 


反转时,只要将控制信号按相反的顺序给出即可。可以通过宏


SETEXIOBITMASK(bit,mask)EXIO.h)来设置扩展I/O 口,其中mask 参数为0xf0


本实验使作的是12相励磁方式,还可以使用1相励磁方式和2相励磁方式。


 1相励磁方式的顺序是ABCD,因此只要设置数组


  char stepdata[]={0x10,0x20,0x400x,0x80} 即可


 2相励磁方式的顺序是ABBCCDDA   因此只要设置数组


  char stepdata[]={0x30,0x60,0xc0,0x90}  即可


 


 要实现电机的反转,只需将上面数组的值按相反的顺序排列即可


 


4、驱动程序的编程


驱动程序采用C语言进行编程,下面是驱动程序中几个重要的函数。


static int do_stepmotor_run(char phase)  //通过调用这个函数使步进电机转起来


{


unsigned int bak;          //变量bak用于存放从寄存器中读出的值


   bak = readw(s<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />3c2410_exio_base);      //调用内核函数将基地址为s3c2410_exio_base寄存


   //器的值读出并放在bak


DPRINTK_STEP("s3c2410_exio_base content is %x\n", bak); //调试输出语句


tiny_delay(5);                     //延时函数,有延时功能


 


 bitops_mask_bit(phase, 0xf0, &bak);       


                 //清除48位然后再设置phase传进来的位(也是48位)           


DPRINTK_STEP("s3c2410_exio_base content is %x\n", bak); //调试输出语句


tiny_delay(5);


 


writew(bak, s3c2410_exio_base); //调用内核函数将bak的值写入相应的寄存器中


bak = readw(s3c2410_exio_base); //再次将寄存器的值读出


DPRINTK_STEP("s3c2410_exio_base content is %x\n", bak);


//利用调试语句再次将修改后的寄存器中的值输出,以验证其正确性


tiny_delay(5);


DPRINTK_STEP("\n");


return 0;


} 


 


驱动程序主要通过上面这个函数来使步进电机转动。控制电机的是一个寄存器(地址是s3c2410_exio_base=0x08000100),只要给它适当的值电机就可以运动起来。这个函数通过传递变量phase从应用程序获得数据。然后使用函数readw()把寄存器的值就读出并送给bak


通过函数bitops_mask_bit()修改bak的值;最后由writew()写回到寄存器中。


 


5、应用程序的编程


1、步进电机模块


步进电机模块和DA 模块是使用Bank1 地址空间扩展出来的IO 口。共同使用驱动


s3c2410-exio.o


在驱动程序中,与步进电机相关的主要在函数s3c2410_exio_ioctl


 


 


2、对应的应用源程序


 


#include <stdio.h>


#include <fcntl.h>


#include <string.h>


#include <sys/ioctl.h>


 


#define STEPMOTOR_IOCTRL_PHASE     0x13


 


static int step_fd = -1;


char *STEP_DEV="/dev/exio/0raw"; //定义一个指针指向步进电机的驱动程序


 


/*********        A, AB, B, BC, C   CD,    D, DA           ***/


char stepdata[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90};//各个相位对应的值


 


void Delay(int t)     //延时函数


{


    int i;


    for(;t>0;t--)


       for(i=0;i<400;i++);


}


 


/****************************************************************/


int main(int argc, char **argv)


{


 int i = 0;


 


 if((step_fd=open(STEP_DEV, O_WRONLY))<0){    


     printf("Error opening /dev/exio/0raw device\n");


     return 1;


 }


/


打开设备的驱动程序,由于LINUX把所有的设备都模拟成文件。


step_fd=open(STEP_DEV,0_WRONLY)实际调用的函数为:


static int s3c2410_exio_open(struct inode *inode, struct file *filp)  


//驱动程序中的设备打开程序


/


 


 


    for (;;) {


       for (i=0; i<sizeof(stepdata)/sizeof(stepdata[0]); i++) {


           ioctl(step_fd, STEPMOTOR_IOCTRL_PHASE, stepdata);       


       }


/ 程序进入一个死循环,这样可以使电机在没有人为停止的状况下,一直的转动下去。    


第二层for语句循环一次即电机转动一周。函数ioctl()对应函数                s3c2410_exio_ioctl()


而这个函数最终将调用函数 do_stepmotor_run((char)arg);使步进电机转动起来。


/


 


      printf("Delay(100)\n");


   Delay(100);


    }


   


    close(step_fd);   //程序结束时关闭设备


    printf("Step motor start running!\n");


    return 0;


}


 



 


步进电机问答(解析了什么是步进电机)


 


1 是步进电机?
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
 2.步进电机分哪几种?
步进电机分三种:永磁式(PM) ,反应式(VR)和混合式(HB)
永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;
反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很
大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。

3.什么是步进电机的持转矩(HOLDING TORQUE)?
保持转矩(HOLDING TORQUE)是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。

4.什么是步进电机的DETENT TORQUE?
DETENT TORQUE 是指步进电机没有通电的情况下,定子锁住转子的力矩。
DETENT TORQUE 在国内没有统一的翻译方式,容易使大家产生误解;
由于反应式步进电机的转子不是永磁材料,所以它没有DETENT TORQUE。

5.步进电机精度为多少?是否累积?
一般步进电机的精度为步进角的3-5%,且不累积。

6.步进电机的外表温度允许达到多少?
步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

7.为什么步进电机的力矩会随转速的升高而下降?
当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

8.为什么步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声?
步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

9.如何克服两相混合式步进电机在低速运转时的振动和噪声?
步进电机低速转动时振动和噪声大是其固有的缺点,一般可采用以下方案来克服:
A.如步进电机正好工作在共振区,可通过改变减速比等机械传动避开共振区;
B.采用带有细分功能的驱动器,这是最常用的、最简便的方法;
C.换成步距角更小的步进电机,如三相或五相步进电机;
D.换成交流伺服电机,几乎可以完全克服震动和噪声,但成本较高;
E.在电机轴上加磁性阻尼器,市场上已有这种产品,但机械结构改变较大。

10.细分步进电机的驱动器的细分数是否能代表精度?
步进电机的细分技术实质上是一种电子阻尼技术(请参考有关文献),其主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度只是细分技术的一个附带功能。比如对于步进角为1.8° 的两相混合式步进电机,如果细分驱动器的细分数设置为4,那么电机的运转分辨率为每个脉冲0.45°,电机的精度能否达到或接近0.45°,还取决于细分驱动器的细分电流控制精度等其它因素。不同厂家的细分驱动器精度可能差别很大;细分数越大精度越难控制。

11.四相混合式步进电机与驱动器的串联接法和并联接法有什么区别?
四相混合式步进电机一般由两相驱动器来驱动,因此,连接时可以采用串联接法或并联接法将四相电机接成两相使用。串联接法一般在电机转速较的场合使用,此时需要的驱动器输出电流为电机相电流的0.7倍,因而电机发热小;并联接法一般在电机转速较高的场合使用(又称高速接法),所需要的驱动器输出电流为电机相电流的1.4倍,因而电机发热较大。

12.如何确定步进电机驱动器的直流供电电源?
A.电压的确定
混合式步进电机驱动器的供电电源电压一般是一个较宽的范围(比如IM483的供电
电压为12~48VDC),电源电压通常根据电机的工作转速和响应要求来选择。如果电机工作转速较高或响应要求较快,那么电压取值也高,但注意电源电压的纹波不能超过驱动器的最大输入电压,否则可能损坏驱动器。
B.电流的确定
供电电源电流一般根据驱动器的输出相电流I来确定。如果采用线性电源,电源电
流一般可取I 的1.1~1.3倍;如果采用开关电源,电源电流一般可取I 的1.5~2.0倍。
13.混合式步进电机驱动器的脱机信号FREE一般在什么情况下使用?
当脱机信号FREE为低电平时,驱动器输出到电机的电流被切断,电机转子处于自由状态(脱机状态)。在有些自动化设备中,如果在驱动器不断电的情况下要求直接转动电机轴(手动方式),就可以将FREE信号置低,使电机脱机,进行手动操作或调节。手动完成后,再将FREE信号置高,以继续自动控制。 14.如果用简单的方法调整两相步进电机通电后的转动方向?
只需将电机与驱动器接线的A+和A-(或者B+和B-)对调即可。关于驱动器的细分原理及一些相关说明(转载)在国外,对于步进系统,主要采用二相混合式步进电机及相应的细分驱动器。但在国内,广大用户对“细分”还不是特别了解,有的只是认为,细分是为了提高精度,其实不然,细分主要是改善电机的运行性能,现说明如下:步进电机的细分控制是由驱动器精确控制步进电机的相电流来实现的,以二相电机为例,假如电机的额定相电流为3A,如果使用常规驱动器(如常用的恒流斩波方式)驱动该电机,电机每运行一步,其绕组内的电流将从0突变为3A或从3A突变到0,相电流的巨大变化,必然会引起电机运行的振动和噪音。如果使用细分驱动器,在10 细分的状态下驱动该电机,电机每运行一微步,其绕组内的电流变化只有0.3A而不是3A,且电流是以正弦曲线规律变化,这样就大大的改善了电机的振动和噪音,因此,在性能上的优点才是细分的真正优点。由于细分驱动器要精确控制电机的相电流,所以对驱动器要有相当高的技术要求和工艺要求,成本亦会较高。注意,国内有一些驱动器采用“平滑”来取代细分,有的亦称为细分,但这不是真正的细分,望广大用户一
定要分清两者的本质不同:

15.“平滑”并不精确控制电机的相电流,只是把电流的变化率变缓一些,所以“平滑”并不产生微步,而细分的微步是可以用来精确定位的。

16.电机的相电流被平滑后,会引起电机力矩的下降,而细分控制不但不会引起电机力矩的下降,相反,力矩会有所增加。 17.两相和五相的混合式步进电机的应用场合有何不同? 问题解答:一般来说,两相电机步距角大,高速特性好,但是存在低速振动区。而五相电机步距角小,低速运行平稳。所以,在对电机的 运转精度要求较高 ,且主要在中低速段(一般低于600转/分)的场合应选用五相电机;反之,若追求电机的高速性能,对精度及平稳性无太多要求的场合应选用成本较低的两相电机。另外,五相电机的力矩通常在2NM以上, 对小力矩的应用,一般采用两相电机,而低速平稳性的问题可以通过采用细分驱动器的 方式解决。 和步进电机相比,伺服电机有以下几点优势:
1、实现了位置,速度和力矩的闭环控制;克服了步进电机失步的问题;
2、高速性能好,一般额定转速能达到2000~3000转;
3、抗过载能力强,能承受三倍于额定转矩的负载,对有瞬间负载波动和要求快速起动的场合特别适用;
4、低速运行平稳,低速运行时不会产生类似于步进电机的步进运行现象。适用于有高速响应要求的场合;
5、电机加减速的动态相应时间短,一般在几十毫秒之内;6、发热和噪音明显降低。


 


                                           孙福朋     于   2007.3.15     整理

PARTNER CONTENT

文章评论6条评论)

登录后参与讨论

用户377235 2013-11-23 11:25

给力

用户377235 2013-9-11 13:47

装上VMware之后,点文件,新建虚拟机,然后类型选择自定义Custom,下一步选择你要安装在虚拟机上的操作系统,例如是XP,下一步,选择虚拟机文件存放的位置,然后就要选择你要分配给虚拟机里的xp多大硬盘空间,然后制定虚拟机运行的内存,然后再选择你要安装在虚拟机里的xp的系统镜像文件(不能用ghost版的,必须是纯净版的)。把这些都设置好了,就可以在虚拟机里安装操作系统

用户377235 2013-6-24 08:32

真的要认真研究一下

用户381337 2012-6-22 01:59

得认真研究

用户1171595 2008-4-2 16:30

谢谢长了不少见识,我也是搞单片机的,但是步进和伺服没有接触过。现在正好用到。希望可以跟你交流!我的QQ:108334099 MSN:JESSIE_9940509@HOTMAIL.CON

用户26608 2007-8-18 21:28

太好了!

用户96167 2007-5-31 10:08

我最近在搞这个程序~~但摘不懂,可以给我发一份吗?lgn258@126.com

用户74185 2007-5-18 18:32

perfect

用户17687 2007-4-7 16:50

正是我所需要的,太爽了..呵呵

相关推荐阅读
用户1279035 2007-03-09 17:24
51单片机模拟串口的三种方法
51单片机模拟串口的三种方法随着单片机的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用,一般是利用前置机采集各种终端数据后进行处理、存储,再主动或被动上报给管理站。这种情况下下,采集会需要一...
用户1279035 2007-03-09 17:13
KeilC51高级编程
第一节 绝对地址访问C51提供了三种访问绝对地址的方法:1. 绝对宏:在程序中,用“#include”即可使用其中定义的宏来访问绝对地址,包括:CBYTE、XBYTE、PWORD、DBYTE、CWOR...
用户1279035 2007-03-09 16:43
C语言嵌入式系统编程修炼吐
屏幕操作 现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能。例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能;一个提供汉字显示...
用户1279035 2007-03-09 16:40
C语言嵌入式系统编程修炼
同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的...
用户1279035 2007-03-09 16:37
C语言嵌入式系统编程修炼[整理]
C语言嵌入式系统编程修炼数据指针  在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调...
EE直播间
更多
我要评论
6
6
关闭 站长推荐上一条 /3 下一条