5.6步进电机控制步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。结构和控制简单,容易调整,适用在速度和精度要求不太高的场合。特点:1)受脉冲控制,给就转,不给不转。2)脉冲频率越高,转速越快。3)改变通电顺序,可以控制其正反转。5.6步进电机控制工作原理•当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。•当定子的矢量磁场旋转一个角度,转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。5.3步进电机控制可通过软件或硬件完成脉冲分配步进电机的三种工作方式:以三相步进电机为例,有三相单三拍,三相双三拍,三相单双六拍。相数:步进电机内部的线圈组数单:每次只给一相绕组通电双:每次给两相绕组通电拍:从一种通电状态变为另一种通电状态,称为一拍。AA’B’BC’C5.6步进电机控制1234单三拍方式——通电顺序:A→B→C→A旋转方向:逆时针•在磁拉力的作用下,转子的齿与主磁极对齐(转子转向到磁路磁阻最小的位置)。•由于每次只有一相绕组通电,转子容易在平衡位置附近振荡,稳定性不佳,实际很少使用。AA’B’BC’C5.6步进电机控制1234连续旋转一周AA’B’BC’C5.6步进电机控制1234单三拍方式——通电顺序:A→C→B→A旋转方向:顺时针AA’B’BC’C5.6步进电机控制双三拍方式——通电顺序:AB→BC→CA→AB旋转方向:逆时针AA’B’BC’C5.6步进电机控制双三拍方式——通电顺序:AC→CB→BA→AC旋转方向:顺时针AA’B’BC’C5.6步进电机控制1234三相六拍方式——通电顺序:A→AB→B→BC→C→CA→A旋转方向:逆时针比三相三拍步距角小一半,精度更高,且转换过程始终有一个绕组通电,工作稳定。这种方式大量应用。AA’B’BC’C5.6步进电机控制1234三相六拍方式——通电顺序:A→AC→C→CB→B→BA→A旋转方向:顺时针步进电机的步距角步进电机可工作于单相通电方式,也可工作于双相通电方式以及单相、双相交叉通电方式,选用不同的工作方式,可使步进电机具有不同的工作性能,诸如减小步距,提高定位精度和工作稳定性等。步距角θ:mZr360Zr是转子齿数;m是运行拍数,通常等于相数或相数的整数倍,即KNmN为电动机相数;K=1,2,4。5.6步进电机控制控制的关键问题主要解决三个问题:1)软件的方法实现脉冲序列2)步进电机的方向控制3)步进电机功率放大5.6步进电机控制步进电机的位移控制步进电机的运转速度控制驱动方式5.6步进电机控制光电隔离5.6步进电机控制1.步进电机驱动方式单片机步进电机接口电路步进电机驱动器步进电机类型及工作方式选择步进电机ABDBCBABC光电隔离微型计算机控制步进电机系统框图5.6步进电机控制2.步进电机控制步序P1口输出状态绕组通电状态字100000001A01H200000011AB03H300000010B02H400000110BC06H500000100C04H600000101CA05H步进电机驱动器步进电机控制信号P1.08051单片机ABCP1.2P1.15.6步进电机控制设正转数据指针R1←#POINT是正转吗F0=0?YNNY入口是最后一个控制字?Y调延时子程序输出控制字YN修改控制字地址取控制字步数到?R0-1=0?返回建立反转数据指针R0←#POINT三相六拍控制程序流程图5.6步进电机控制MOVR0,#100;转动步数ROUTN:JBF0,LOOP2;判别正反转MOVR1,#POINT;建立正转通电状态字地址指针LOOP1:MOVA,@R1;读通电状态字JZROUTN;结束字符?是,转到ROUTNMOVP1,A;输出通电状态字ACALLDELAY;延时INCR1;修改通电状态字地址指针AJMPLOOP3LOOP2:MOVA,#POINT;建立反转通电状态字地址指针ADDA,#07H;找到反转状态字查表首地址MOVR1,AAJMPLOOP1LOOP3:DJNZR0,LOOP1;步数减1为0?RET5.6步进电机控制正、反转通电状态字表POINT:DB01H,03H,02H,06H,04H,05H,00H;正转DB01H,05H,04H,06H,02H,03H,00H;反转5.6步进电机控制#includereg52.hunsignedcharcodeF_Rotation[4]={0x02,0x04,0x08,0x10};//正转unsignedcharcodeB_Rotation[4]={0x10,0x08,0x04,0x02};//反转voidDelay(unsignedinti)//延时{while(--i);}main(){unsignedchari;while(1){for(i=0;i4;i++)//4相{P1=F_Rotation[i];//正转查表Delay(500);//改变这个参数可以调整电机转速}}}直流电机调速5.6PWM控制-SCR硬件实现方法5.6直流电机控制*关于频率和占空比的确定,对于12M晶振,假定PWM输出频率为1KHZ,这样定时中断次数**设定为C=100,即0.01MS中断一次,则TH0=FF,TL0=F6;由于设定中断时间为0.01ms,这样可以设定占空比可从1-100变化。即0.01ms*100=1ms#includeREGX51.H#defineucharunsignedchar#defineV_TH00XFF//定义定时器单次定时时间长度#defineV_TL00XF6#defineV_TMOD0X01//单片机定时器0,工作在方式1,voidinit_sys(void);/*系统初始化函数*/设定中断,初值voidDelay5Ms(void);unsignedcharZKB;//ZKB为占空比调节变量#voidmain(void){init_sys();ZKB1=40;/*占空比初始值设定*/while(1){if(!P1_1)//如果按了+键,增加占空比{Delay5Ms();if(!P1_1){ZKB1++;}}if(!P1_2)//如果按了-键,减少占空比{Delay5Ms();if(!P1_2){ZKB1--;}}/*对占空比值限定范围*/if(ZKB199)ZKB1=1;if(ZKB11)ZKB1=99;}}voidtimer0(void)interrupt1using2{staticucharclick=0;/*中断次数计数器变量*/TH0=V_TH0;/*恢复定时器初始值*/TL0=V_TL0;++click;if(click=100)click=“0”;//click控制一个PWM周期的时长if(click=ZKB1)/*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/P1_3=0;elseP1_3=1;}