1、单片机控制步进电机驱动器工作原理单片机控制步进电机驱动器工作原理内容来源内容来源: : 麦迪电子论坛分区论坛分区: : 电子技术交流区论坛名称论坛名称: : 51 系列单片机专区论坛描述论坛描述: : -51 系列单片机的程序、外部电路谈论区.页面链接页面链接: : ./forum/forum_posts.asp?TID=241打印日期打印日期: : 2008-Jul.-07 23:30软件版本软件版本: : Web Wiz Forums 8.03 (Terry.XU 美化版 build 070810) -http:/主题主题: : 单片机控制步进电机驱动器工作原理步进电机在控制系统中具有广泛
2、的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等。有时从一些旧设备上拆下的步进电机(这种电机一般没有损坏)要改作它用,一般需自己设计驱动器。本文介绍的就是为从一日本产旧式打印机上拆下的步进电机而设计的驱动器。本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。1.1. 步进电机的工作原理步进电机的工作原理该步进电机为一四相步进电机, 采用单极性直流电源供电。 只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图 1 是该四相反应式步进电机工作原理示意图图 1 四相步进电机步进示意图开始时,开关 SB 接通电源,SA、SC、S
3、D 断开,B 相磁极和转子 0、3 号齿对齐,同时,转子的 1、4 号齿就和 C、D 相绕组磁极产生错齿,2、5 号齿就和 D、A 相绕组磁极产生错齿。当开关 SC 接通电源,SB、SA、SD 断开时,由于 C 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动,1、4 号齿和 C 相绕组的磁极对齐。而 0、3 号齿和 A、B 相绕组产生错齿,2、5 号齿就和 A、D 相绕组磁极产生错齿。依次类推,A、B、C、D 四相绕组轮流供电,则转子会沿着 A、B、C、D 方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力
4、矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图 2.a、b、c 所示:a. 单四拍b. 双四拍c 八拍图 2.步进电机工作时序波形图2.2.基于基于 AT89C2051AT89C2051 的步进电机驱动器系统电路原理的步进电机驱动器系统电路原理步进电机驱动器系统电路原理如图 3:图 3 步进电机驱动器系统电路原理图AT89C2051 将控制脉冲从 P1 口的 P1.4P1.7 输出,经 74LS14 反相后进入 9014,经 9014 放大后控制光电开关,光电隔离后,由功率
5、管 TIP122 将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中 L1 为步进电机的一相绕组。AT89C2051 选用频率 22MHz 的晶振,选用较高晶振的目的是为了在方式 2 下尽量减小AT89C2051 对上位机脉冲信号周期的影响。图 3 中的 RL1RL4 为绕组内阻,50电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。D1D4 为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1D4)而衰减掉,从而保护了功率管 TIP122 不受损坏。在 50外接电阻上并联一个 200F 电容,可以
6、改善注入步进电机绕组的电流脉冲前沿,提高了步进电机的高频性能。与续流二极管串联的 200电阻可减小回路的放电时间常数,使绕组中电流脉冲的后沿变陡,电流下降时间变小,也起到提高高频工作性能的作用。3.3.软件设计软件设计该驱动器根据拨码开关 KX、KY 的不同组合有三种工作方式供选择:方式 1 为中断方式: P3.5(INT1)为步进脉冲输入端, P3.7 为正反转脉冲输入端。 上位机 (PC 机或单片机)与驱动器仅以 2 条线相连。方式 2 为串行通讯方式:上位机(PC 机或单片机)将控制命令发送给驱动器,驱动器根据控制命令自行完成有关控制过程。方式 3 为拨码开关控制方式:通过 K1K5 的
7、不同组合,直接控制步进电机。当上电或按下复位键 KR 后,AT89C2051 先检测拨码开关 KX、KY 的状态,根据 KX、KY 的不同组合,进入不同的工作方式。以下给出方式 1 的程序流程框图与源程序。在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向时能平滑过渡,不至于产生错步,应在每一步中设置标志位。其中 20H 单元的各位为步进电机正转标志位;21H 单元各位为反转标志位。在正转时,不仅给正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产生错步。图 4 方式 1 程序框图方式 1 源
8、程序:MOV20H,#00H;20H 单元置初值,电机正转位置指针MOV21H,#00H;21H 单元置初值, 电机反转位置指针MOVP1,#0C0H;P1 口置初值,防止电机上电短路MOVTMOD,#60H;T1 计数器置初值,开中断MOVTL1,#0FFHMOVTH1,#0FFHSETBET1SETBEASETBTR1SJMP$;*计数器 1 中断程序*IT1P:JBP3.7,FAN;电机正、 反转指针;*电机正转*JB00H,LOOP0JB01H,LOOP1JB02H,LOOP2JB03H,LOOP3JB04H,LOOP4JB05H,LOOP5JB06H,LOOP6JB07H,LOOP7
9、LOOP0:MOVP1,#0D0HMOV20H,#02HMOV21H,#40HAJMPQUITLOOP1:MOVP1,#090HMOV20H,#04HMOV21H,#20HAJMPQUITLOOP2:MOVP1,#0B0HMOV20H,#08HMOV21H,#10HAJMPQUITLOOP3:MOVP1,#030HMOV20H,#10HMOV21H,#08HAJMPQUITLOOP4:MOVP1,#070HMOV20H,#20HMOV21H,#04HAJMPQUITLOOP5:MOVP1,#060HMOV20H,#40HMOV21H,#02HAJMPQUITLOOP6:MOVP1,#0E0HM
10、OV20H,#80HMOV21H,#01HAJMPQUITLOOP7:MOVP1,#0C0HMOV20H,#01HMOV21H,#80HAJMPQUIT;*电机反转*FAN:JB08H,LOOQ0JB09H,LOOQ1JB0AH,LOOQ2JB0BH,LOOQ3JB0CH,LOOQ4JB0DH,LOOQ5JB0EH,LOOQ6JB0FH,LOOQ7LOOQ0:MOVP1,#0A0H发表人发表人: : Terry_XU主题主题: : 单片机控制步进电机驱动器工作原理发表时间发表时间: : 2007-Oct.-1900:02MOV21H,#02HMOV20H,#40HAJMPQUITLOOQ1:M
11、OVP1,#0E0HMOV21H,#04HMOV20H,#20HAJMPQUITLOOQ2:MOVP1,#0C0HMOV21H,#08HMOV20H,#10HAJMPQUITLOOQ3:MOVP1,#0D0HMOV21H,#10HMOV20H,#08HAJMPQUITLOOQ4:MOVP1,#050HMOV21H,#20HMOV20H,#04HAJMPQUITLOOQ5:MOVP1,#070HMOV21H,#40HMOV20H,#02HAJMPQUITLOOQ6:MOVP1,#030HMOV21H,#80HMOV20H,#01HAJMPQUITLOOQ7:MOVP1,#0B0HMOV21H,#01HMOV20H,#80HQUIT:RETIEND4.4.结论结论该驱动器经实验验证能驱动 0.5N.m 的步进电机。将驱动部分的电阻、电容及续流二极管的有关参数加以调整,可驱动 1.2N.m 的步进电机。该驱动器电路简单可靠,结构紧凑,对于 I/O 口线与单片机资源紧张的系统来说特别适用。