文档视界 最新最全的文档下载
当前位置:文档视界 › 电机驱动器说明

电机驱动器说明

电机驱动器说明
电机驱动器说明

使用说明

两相四线步进电机控制方式使用说明

使用直流/步进两用驱动器可以驱动一台步进电机。A,B端分别用短

接帽接通5V电源点。M1和M2四个接线端子分别接步进电机的两个绕组。要实现步进电机的旋转,输入信号端IN1,IN2,IN3,IN4依次接入低电平。(正转接入低电平的顺序是IN1→IN2→IN3→IN4,反转接入低电平的顺序是IN4→IN3→IN2→IN1)。改变脉冲的速度即可改变电机的转动速度,脉冲越快电机的转速也就越快。脉冲速度超过了电机的反应速度就容易造成电机失步。(果接入信号正常,电机发生抖动现象,证明电机接线一相接反。须调节电机接线顺序。)

四相六线步进电机控制方式使用说明

使用直流/步进两用驱动器可以驱动一台四相六线步进电机和控制一台两相四线步进电机的程序是一样的。(只是接线方式有一点不同,

四相六线步进电机需要将其中的两个公共端接电源即可。如上图接法。)M1和M2四个接线端子分别接步进电机的两个绕组。要实现步进电机的旋转,输入信号端IN1,IN2,IN3,IN4依次接入低电平。(正转接入低电平的顺序是IN1→IN2→IN3→IN4,反转接入低电平的顺序是IN4→IN3→IN2→IN1)。改变脉冲的速度即可改变电机的转动速度,脉冲越快电机的转速也就越快。脉冲速度超过了电机的反应速度就容易造成电机失步。(果接入信号正常,电机发生抖动现象,证明电机接线一相接反。须调节电机接线顺序。)

下面是一个我们用C语言,使用AT89S52单片机编写的一个简单的使电机连续运行的程序及接线图:

附录:

步进电机控制原理

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:

(1)控制换相顺序

通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。

(2)控制步进电机的转向

如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。

(3)控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。

步进电机及其单片机控制

【摘要】:随着工业自动化的发展,步进电机的应用越来越广泛。步进电机是一种用于开环控制的驱动元件。本文阐述了步进电机的基本知识和特性,提出了基于单片机控制和集成电路驱动的步进电机控制实现方法以及软硬件设计方法。

【关键词】:步进电机;L297;L298;

1. 步进电机的基本知识

步进电机是一种将电脉冲转化为角位移的数字控制执行机构。它将电脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

1. 步进电机有如下特点:

1.1 步进电机的角位移与输入脉冲数严格成正比,因此,当它转动一周后,没有累计误差,具有良好的跟随性。

1.2 由步进电机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常可靠。同时,它也可以与角度反馈环节组成高性能的闭环数控系统。

1.3 步进电机的动态响应快,易于起停、正反转及变速。

1.4 速度可在相当宽的范围内平滑调节,低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。

1.5 步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。

1.6 步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。

1.7 步进电机自身的噪声和振动较大,带惯性负载的能力较差。

2. 步进电机的分类:

反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5 度或15 度;

反应式步进电机一般为三相,可实现大转矩输出,步进角一般为 1.5 度,但噪声和振动都很大,在欧美等发达国家80 年代已被淘汰。

混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8 度而五相步进角一般为0.72 度。这种步进电机的应用很广泛。

我们以四相步进电机35BYJ46 为例, 说明步进电机的工作方式:

35BYJ46 有四相ABCD,如果对各个相依次单独通电,"A-B-C- D",磁场旋转一周需要换相四次,则称为四相单四拍;如果每次对两相同时通电,"AB- BC- CD- DA",则称为四相双四拍;也可以每次对三相同时通电,"ABC- BCD- CDA- DAB";将单四拍和双四拍交替使用,就称为四相八拍,如:"A- AB- B- BC- C- CD- D-DA"、"AB- ABC- BC- BCD- CD- CDA- DA- DAB",此时磁场旋转一周需要换相八次。双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。四相八拍与四相四拍相比较,步距角减小了一倍,有利于削弱振荡,提高电机的带负载能力。一般说来,步进电机控制系统需要以下部分,如图1 所示。其中的脉冲发生器用于产生频率变化的脉冲信号; 脉冲分配器根据方向控制信号将脉冲信号转换成有一定逻辑关系的环形脉__冲;功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步进电机的运转,这些部分都可以由专门的电路来实现。如果用单片机加上专门的驱动芯片来控制步进电机,可以简化电路,提高可靠性。

2. 步进电机的驱动

步进电机的驱动方式很多,有单电压驱动、双电压驱动、斩波驱动、细分驱动和集成电路驱动。由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常方便。在实际应用中, 我们选择了L298N 集成电路芯片作为35BYJ46 的驱动芯片。L298 是采用15 脚的Multiwatt 或PowerSO20 封装的单片集成电路芯片,其结构框图如图2[3]。它内部采用两个高电压、大电流的全桥电路A、B,每个桥需要两个标准的TTL 逻辑电平输入,以驱动继电器、螺线管(电磁铁)、直流电机和步进电机(2 相或4 相)等负载。两个使能引脚EnA、EnB 分别使能桥A、桥B。每个桥的三极管发射极连接在一起, 分别是引脚SenseA、SenseB,以外接电流反馈电阻。此外L298 还需要一个额外的电

压供应端Vss 作为逻辑电路部分的电源。

L298 可以用于驱动直流电机,图3 是直流电机的驱动电路,接两个直流电

机A 和B。IOA1/IOB1,IOA2/IOB2 是两个IO口,用于控制直流电机的转向;PWMA/PWMB 用于电机的调速控制,增大占空比可以提高电机的转速,PWMA/PWMB 的产生可以由单片机通过软件来实现也可以由硬件来产生。对于一些高档的单片机如AVR、PIC 等,都有PWM输出端口。VCC 选择:7- 46V。

图4 是L298 驱动四相步进电机35BYJ46 的驱动电路,每相流过的电流为2A。它采用了L297 来产生步进脉冲,当然,这也可以通过单片机的IO 口来软件编程实现(见以下的驱动程序部分)。对于L297 芯片,重要的控制引脚如下:

CW/CCW:电机旋转方向控制。

CLOCK:步进时钟脉冲,信号的上升沿触发。

HALF/FULL:高电平,HALF 有效,4 相8 拍;低电平,FULL有效,4 相单4 拍(translator 为偶数状态);低电平,FULL 有效,4相双4 拍(translator 为奇数状态)。

RSTET:复位到HOME 初始状态(STATE=1,ABCD=0101)。这四个控制线,可以由模拟电路产生。有关L297 的详细的说明可以参考L297 文档资料。

3. 编写步进电机驱动程序

有了上面的驱动电路,可以方便地写出单片机控制步进电机的驱动程序(Keil C51)。函数DriveMoto 通过参数cw、spd、num来控制步进电机的转动方向、速度和转动步距。:

#include

#define uchar unsigned char

#define uint unsigned int

uchar CONTROL[8]={ 0x30,0x10,0x90,0x80,0xC0,0x40,0x60,0x20}; //四

相八拍步进电机换相的控制字。

void Delay(uchar DelayTimes) //uS 微秒级延时

{

while(- - DelayTimes); //12Mhz 下,延时DelayTimes*2+3 微秒

}

//*********cw转动方向,spd 速度和num转动的步距*************

void DriveMoto(uchar cw,uchar spd,uint num)

{

uint i;

uchar j;

if(cw) //正转

{

for(i=0,j=0;i

{

P2&=0x0F;

P2|=CONTROL[j++];

Delay(spd); //高四位先清0,再赋值

j=j&0x07; //j=j%8

}

}

else //反转

{

for(i=0,j=7;i

P2&=0x0F;

P2|=CONTROL[j--];

Delay(spd); //高四位先清0,再赋值

j=j&0x07; //j=j%8

}

}

}

参考文献:

1. 王晓明,电动机的单片机控制[M]。北京:北京航空航天大学出版社,2002

2. 宋锦河,步进电机控制系统的快速实现[J]。鄂州大学学报,2004.10,4~6

3. L298 DUAL FULL- BRIDGE DRIVER, 器件资料。ST Microelectronics GROUP OF COMPANIES,2000

4. 马潮,詹卫前等,ATMega8 原理及应用手册[M]。北京:清华大学出版社,2003

5. L297 STEPPER MOTOR CONTROLLERS, 器件资料。ST Microelectronics GROUP OF COMPANIES,2000

相关文档