首页 > 编程知识 正文

电机驱动原理,步进电机工作原理图解

时间:2023-05-04 04:12:29 阅读:45438 作者:375

现在整合步进电机的资料

目录步进电机是什么原理定子定子的种类转子及其种类动作方式单拍方式单双拍方式通电方式驱动器

什么是步进电机

什么是步进电机?

步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,也称为脉冲电机。 非过载时,电机的转速、停止位置仅取决于脉冲信号的频率和脉冲数,不受负载变化的影响。 对于步进驱动器3358www.Sina.com/,步进电机可以按接收到一个脉冲信号的方向驱动,称为“步进角”。

原理是转动一个固定的角度

步进电机由脉冲信号控制,每次输入脉冲信号时步进电机就进一步前进。 步进电机旋转的步进角根据电机的结构发生在原理,如果控制电路的细分控制不变,则步进旋转的步进角为等比例控制。 在实际工作中,电机旋转的步进角有微小的差别。 主要是因为电机结构上的固定有误差而发生。 而且,不会积累这个误差。

(虽然每一步之间可能有微小的差距,但整体旋转一周是固定的200步,这一点不会改变。 以下说明)

步进电机的理论上是一个固定的角度越大,对加工精度的要求越高。 通常,工业混合式步进电机的总极数步距角是1.8度。 (与步骤极其同等) ) ) ) ) ) )。

步进电机最主要的结构是200极转子的部分

定子的第一个概念,定子由电流控制磁场方向,满足安培右手螺旋定律

步进电机的电流流过定子产生磁场的过程称为定子

以常用两相四线为例

通常被称为二相步进电机的电机转子的旋转通过励磁来实现。 如上图所示,a相产生n极磁场吸引转子的s极,b相产生s极磁场吸引转子的n极,使定子产生旋转的动力。 如果改变a、b相定子绕组的电流方向,电机将再旋转一步。 如果连续改变a、b相定子绕组的电流方向,电机将连续旋转。

如上图所示,电机的运动是通过改变电机中的电流来实现的,电子转子排斥b相磁极的定子,吸引a相磁极的定子,从而产生另一个步进操作。

定子的种类

步进电机按定子上的绕组分类,有不同磁极的磁场相斥和相吸二相、三相等系列。 目前最受欢迎的是两相混合式步进电机,约占97%以上的市场份额。 其理由是性价比高,配备细分的驱动器效果更好。

该电机的3358www.Sina.com/为1.8度/步,安装半步螺丝刀后,步进角减少0.9度,安装五相后。 其步进角可以细分为256倍(0.007度/微步)。 由于摩擦力和制造精度等,实际控制精度稍低。 在同一步进电机上搭载不同细分的驱动器,可以改变精度的效果。 (关于细分的驱动器将在后面叙述)

转子及其种类的转子被定子包围,受到定子磁场的变化而旋转

按转子分类,有http://www.Sina.com/(VR型)、http://www.Sina.com/(VR型)、http://www.Sina.com/(VR型)三种主要类型

反应式

定子有绕组,绕组由基本步距角组成。 结构简单,成本低,步进角小,可达1.2度,但动态性能差,效率低,发热大,可靠性难以保证。

永磁式

永磁步进电机转子采用细分驱动器制成,转子极数与定子极数相同。 其特点是动态性能好,输出转矩大,该电机度为反应式(一般为7.5度或15度)。 (永磁式)

混合式

混合型步进电机综合了反应式和永磁式的优点,定子有许多相绕组,转子采用混合式,转子和定子有多个小齿以提高螺距精度。 特点为软磁材料,但结构复杂,成本相对较高。 说到这里

一定有一个疑问。 带转子的牙齿是怎么旋转的

定子绕组通电时,转子齿永磁材料定子齿的角度。

由于3步距角大图http://www.Sina.com/,转子产生电磁吸引力,使转子的齿旋转,

当转子旋转到与定子齿一致的位置时,转子只受到径向力而没有切向力,因此转矩为零,转子被锁定在该位置。 因此,3358www.Sina.com/有助于旋转步进电机很好理解,如果磁性太强,再排斥和吸引的时候力也就更大

找到了步骤

电机的拆解图

工作方式

接下来了解几个概念
“相”-绕组个数
“齿距角” -转子相邻两齿的夹角
“拍”-绕组通电状态。如:三拍表示一个周期共有3种通电状态,六拍表示一个周期有6种通电状态,每个周期步进电机转动一个齿距角
“步距角”- 转子每拍转动的角度
步距角θ=360/(NZ)
N:步进电机的拍数 Z:转子的齿数。
(注意:齿距角步距角不一样)

结论步距角反映出步进电机的精度,步距角越小,该步进电机能够输出的单位位移量越小。步距角与电机本身结构(转子齿数)和工作方式(拍数)有关

工作方式,这里拿三相步进电机举例

单拍方式


A相绕组通电,B、C 相不通电。
由于在磁场作用下,转子总是力图旋转到磁阻最小的位置,故在这种情况下,转子必然转到左图所示位置:1、3齿与A、A′极对齐。

同理,B相通电时,转子会转过30°角,2、4齿和B、B´ 磁极轴线对齐;当C相通电时,转子再转过30°角,1、3齿和C´、C 磁极轴线对齐。

这种工作方式下,三个绕组依次通电一次为一个循环周期,一个循环周期包括三个工作脉冲,所以称为三相单三拍工作方式。
按A->B->C->A-> ……的顺序给三相绕组轮流通电,转子便一步一步转动起来。每一拍转过30°(步距角),每个通电循环周期(3拍)转过90°(一个齿距角)。

双拍方式


按AB->BC->CA的顺序给三相绕组轮流通电。每拍有两相绕组同时通电。

与单三拍方式相似,双三拍驱动时每个通电循环周期也分为三拍。每拍转子转过30° (步距角),一个通电循环周期(3拍)转子转过90°(齿距角)。

单双拍方式


按A->AB->B->BC->C->CA的顺序给三相绕组轮流通电。这种方式可以获得更精确的控制特性。

A相通电,转子1、3齿与A、A’ 对齐。

A、B相同时通电,A、A’ 磁极拉住1、3齿,B、B’ 磁极拉住2、4齿,转子转过15,到达左图所示位置。

B 相通电,转子2、4齿与B、B´ 对齐,又转过15°。

B、C相同时通电,C’ 、C 磁极拉住1、3齿,B、B’ 磁极拉住2、4齿,转子再转过15°。

总结
单拍——实现简单,性能较差
双拍——转矩较大,带负载能力较强
单双拍——步距角较小,控制精度较高

通电方式

以下以两相四线举例讲通电方式

单拍控制


双拍控制



单双拍控制

下面讲驱动器部分

驱动器

用的是A4988驱动器
datasheet下载地址


datasheet里的图

主要就是几个引脚:
DIR:控制正反转,=1:正转,=0:反转;
STEP:接PWM,每个脉冲转对应一个角度;(频率要小于50khz)
sleep,reset:通常短接;
MS1,MS2,MS3:MS1和MS3引脚具有100kΩ的下拉电阻,MS2引脚具有50kΩ的下拉电阻。

控制细分的引脚
000:全步
100:二分步
010:4分步
110:8分步
111:16分步

VDD:接3.3V或者5V;
VMOT:电机直流供电:8~35V;
1B 1A 2A 2B:接步进电机 ,通常四相电机红绿为一组,蓝陶醉的皮带组,即1A,1B接步进电机的一组线圈,2A,2B接步进电机的一组线圈

驱动程序

接好线之后
step控制速度,dir控制方向
这里给个简单程序
51版

#include<reg52.h>typedef unsigned char u8;typedef unsigned int u16;typedef unsigned long u32;u8 TR0H;u8 TR0L;bit flag_5s=0;u32 PeriodCnt = 0;u8 HighRH = 0;u8 HighRL = 0;u8 LowRH = 0;u8 LowRL = 0;u8 T1RH = 0;u8 T1RL = 0;sbit STEP=P3^2;//step引脚定义sbit DIR=P3^3;//Dir引脚定义void ConfigPWM(u16 fr, u8 dc);//配置PWM,fr频率,dc占空比void ConfigTimer1(u8 ms);延时程序 11.0592mhz/oid delayms(u16 t)//{//u16 i,j;//for(i=t;i>0;i--)//for(j=114;j>0;j--);//}void main(){DIR=1;ConfigTimer1(100);ConfigPWM(500,50);//pwn配置EA = 1;//打开总中断while(1){if(flag_5s==1){flag_5s=0;if(DIR){DIR=0;}else{DIR=1;}}}}void ConfigTimer1(u8 ms){u32 temp;temp=11059200/12;temp=(temp*ms)/1000;temp=65535-temp;TR0H=(u8)(temp>>8);TR0L=(u8)temp;TMOD&=0XF0;TMOD|=0x10;TH1=TR0H;TL1=TR0L;ET1=1;TR1=1;}//pwm配置程序void ConfigPWM(u16 fr, u8 dc){ u16 high, low; PeriodCnt = (11059200/12)/fr; high = (PeriodCnt*dc)/100; low = PeriodCnt - high; high = 65536 - high; low = 65536 - low; HighRH = (u8)(high>>8); HighRL = (u8)high; LowRH = (u8)(low>>8); LowRL = (u8)low; TMOD &= 0xF0; TMOD |= 0x01; TH0 = HighRH; TL0 = HighRL; ET0 = 1; TR0 = 1; STEP = 1; }//pwm中断程序void InterruptTimer0() interrupt 1{ if(STEP == 1) { TH0 = LowRH; TL0 = LowRL; STEP = 0; } else { TH0 = HighRH; TL0 = HighRL; STEP = 1; }}void Timer1()interrupt 3{static u8 times=0;TH1=TR0H;TL1=TR0L;times++;if(times>200){times=0;flag_5s=1;}}

效果是5s正转5s反转

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。