步进电机原理及驱动 |
您所在的位置:网站首页 › 马达转动的原理是什么 › 步进电机原理及驱动 |
这里把步进电机的资料做个整合 文章目录 步进电机是什么原理定子定子的种类 转子及其种类 工作方式单拍方式双拍方式单双拍方式通电方式 驱动器驱动程序 步进电机是什么什么是步进电机? 步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进驱动器接收到一个脉冲信号时,它就可以驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”。 下面是原理 步进电机是通过脉冲信号来进行控制,每输入一个脉冲信号,步进电机前进一步。步进电机旋转的步距角,是在电机结构的基础上等比例控制产生的,如果控制电路的细分控制不变,那么步进旋转的步距角在理论上是一个固定的角度。在实际工作中,电机旋转的步距角会有微小的差别,主要是由于电机结构上的固定有误差产生的,而且这种误差不会积累。 (就是说每一步之间可能有微小差距,但整体转一圈是固定的200步,这个不变,下面会解释) 步进电机的总极数越大,加工精度的要求就会越高。通常工业用混合型步进电机的步距角是1.8度,就是200极。(极等同于步) 步进电机组成最主要的就是转子和定子部分 定子第一个概念,定子,就是由电流控制磁场方向,满足安培右手螺旋定律 步进电机的电流流过定子产生磁场的过程叫做励磁。
该种电机的基本步距角为1.8度/步,配上半步驱动器后,步距角减少为0.9度,配上细分驱动器后。其步距角可细分达256倍(0.007度/微步)。由于摩檫力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度的效果。(细分驱动器后面介绍) 转子及其种类转子被定子环绕在中间受定子磁场变化产生转动
反应式 定子上有绕组,绕组由软磁材料组成。其结构简单、成本低、步距角小,可达1.2度,但动态性能差,效率低、发热大,可靠性难以保证。 永磁式 永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机度差,步距角大(一般为7.5度或15度)。(很好理解,如果磁性太强,再排斥和吸引的时候力也就更大) 混合式 混合式步进电机综合了反应式和永磁式的优点,其定子上有很多相绕组,转子上采用永磁材料,转子和定子均有多个小齿以提高步距精度。其特点是输出力矩大、动态性能好、步距角小,但结构复杂、成本相对较高。 说到这里 肯定有一个疑问,就是上面带转子齿是怎么实现转动的 找到一个步进电机的拆解图 接下来了解几个概念 “相”-绕组的个数 “齿距角” -转子相邻两齿的夹角 “拍”-绕组的通电状态。如:三拍表示一个周期共有3种通电状态,六拍表示一个周期有6种通电状态,每个周期步进电机转动一个齿距角。 “步距角”- 转子每拍转动的角度 步距角θ=360/(NZ) N:步进电机的拍数 Z:转子的齿数。 (注意:齿距角和步距角不一样) 结论:步距角反映出步进电机的精度,步距角越小,该步进电机能够输出的单位位移量越小。步距角与电机本身结构(转子齿数)和工作方式(拍数)有关 工作方式,这里拿三相步进电机举例 单拍方式
这种工作方式下,三个绕组依次通电一次为一个循环周期,一个循环周期包括三个工作脉冲,所以称为三相单三拍工作方式。 按A->B->C->A-> ……的顺序给三相绕组轮流通电,转子便一步一步转动起来。每一拍转过30°(步距角),每个通电循环周期(3拍)转过90°(一个齿距角)。 双拍方式
与单三拍方式相似,双三拍驱动时每个通电循环周期也分为三拍。每拍转子转过30° (步距角),一个通电循环周期(3拍)转子转过90°(齿距角)。 单双拍方式
总结 单拍——实现简单,性能较差 双拍——转矩较大,带负载能力较强 单双拍——步距角较小,控制精度较高 通电方式以下以两相四线举例讲通电方式 单拍控制
下面讲驱动器部分 驱动器用的是A4988驱动器 datasheet下载地址
主要就是几个引脚: DIR:控制正反转,=1:正转,=0:反转; STEP:接PWM,每个脉冲转对应一个角度;(频率要小于50khz) sleep,reset:通常短接; MS1,MS2,MS3:MS1和MS3引脚具有100kΩ的下拉电阻,MS2引脚具有50kΩ的下拉电阻。 VDD:接3.3V或者5V; VMOT:电机直流供电:8~35V; 1B 1A 2A 2B:接步进电机 ,通常四相电机红绿为一组,蓝黄为一组,即1A,1B接步进电机的一组线圈,2A,2B接步进电机的一组线圈 驱动程序接好线之后 step控制速度,dir控制方向 这里给个简单程序 51版 #include 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反转 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |