尔用入宇刁械系 除入怀仕但十
种将电脉冲信号转换成直 移的控制微电机,其机械
角位移和转速分别与输人电机绕组的脉冲个数 和脉冲频率成比例.通过改变电脉冲频率,可在 大范围内进行调速.同时,该电机还能快速起 动、制动、反转和自锁.此外,步进电机易于实 现与计算机或其他数字元件接口,适用于数字 控制系统.步进电机只需采用最简单的开环控 制就可取得非常高的控制精度,且这种系统不 需要反馈信号,系统硬件实施比较简单。 本文介绍的步进电机驱动控制电路,采用
低价的AT89C52,可直接对步进电机进行控制, 省去了昂贵的专用步进电机控制器,简化了硬 件线路,降低了成本,提高了系统的可靠性。 C一CA一A一??首先A相通电,而后再接通 B相绕组(这时A相不断开)即AB两绕组同时通 电。此后断开A相绕组,B相单独通电,依此规律 循环往复.这种方式需经过6个切换才能完成一 个循环.单相三拍方式的每一拍步进角为30,三 相六拍的步进角则为1.50,因此,在三相六拍 下,步进电机的运行反转平稳柔和,但在同样的 运行角度与速度下,三相六拍驱动脉冲的频率需 提高1倍,对驱动开关管的开关特性要求较高。
系统的总体设计框图如图1所示: 图1系统的整体流程图 .步进电机 .单片机 .控制
系统的组成 系统的控制过程
在本系统中,主要控制三相步进电机带动 丝杠的传动,从而使得液氮液面按照要求变 化。三相步进电机的定子上有6个极,转子是4 个均匀分布的齿,电机的转动是根据控制饶组 与电源接通或开断的变化频率呈步进状态,其 转向取决于通电相序.在本系统中,主要采用 三相电机三相单双六拍:A一AB一B一BC一 当步进电机驱动系统工作时,控制器首先 检测接收传感器信号,进行换算成需要的检测 量,并将之与设定值进行比较,得出其差值, 并根据程序的设定转化为步进电机的步进脉冲。 从而通过单片机控制的驱动器来驱动步进电机, 从而带动丝杠传动系统,进而控制液氮液面升 降系统的运动,完成一个循环控制过程。 控制系统的硬件组成 弓00门1 P RF户P
步进电机的驱动电路如图2所示,采 用单片机AT89C52来驱动,AT89C52具 有8K字节Flash闪速存储器,256字节内 部RAM, 32个I/O口线,3个16位定时/ 计数器,1个六向量两极中断结构,一个 全双工申行通信接口,同时片内还有振 荡器及时钟电路。可以很方便地使用不 同相数的步进电机按一种可执行的通电 方式来控制,在这个系统中,单片机的主 要作用是接收键盘设定值,显示设定初 值以及检测的当前值,同时还具有串行 通信功能。检测传感器信号,接收传感器 信号,并进行处理,计算出步进电机需要 的步进t,通过P1.0, P1 .1,和P1.2提 供控制步进电机的时序脉冲,控制步进 电机的运行,系统采用软件来完成脉冲 分配,这样可根据应用系统的需要,方便 灵活地改变步进电机的控制方式,步进 一步的时间可由两个控制字的送出时间 间隔决定。
设定有如下工作单元和工作位定义:RO为步进数寄存器;PS W中,FO为方向标志 位,FO=0时正转,否则反转。步进时间由两个控制字的送出时间间隔决定。 步进电机的中断子程序: START: ACC LOOP L: LOOP2 #OIH A
.步进时间间隔 DONE .判正反转
。第l拍控制码 .执行第l拍 A, #03H PI.A
;判断是否步进t完成 .第2拍控制码 .执行第2拍 .第3拍控制码 .执行第2拍 .第4拍控制码 .执行第2拍 。第5拍控制码 。执行第2拍 .第6拍控制码 .执行第2拍 一 干 } {一毛 LOOP2: .循环 .反转
一毛_}____}# }r R0, DONE A. #02H P1.A DELLAY R0, DONE A,#肠H PI.A DELLAY RO.DONE
A, #04H PI.A DELLAY R0, DONE A, #05H PI,A DELLAY R0. DONE LOOP 1 A. #05H PI .A A,Pl A.Pl
图2步进电机驱动电路组成 系统的软件设计
步进电机的驱动系统软件主要由主控 程序、脉冲分配驱动程序、键处理程序、 显示数据处理程序及显示驱动程序、串 口通信监控程序等部分组成。系统的主 程序流程图如图3所示,步进电机驱动中 断子程序流程图如图4所示。
由驱动系统的硬件控制图可以看出, 单片机只是根据需要轮流给P1.0, P1.1, P1.2端口发送步进脉冲来控制电机运行, 则三相六拍的系统控制模型如附表所示. 在程序中,只要将依次将6个控制字送到 P1口,步进电机就会转动一个齿距角。每 送一个控制字,就完成一拍,步进电机就 转过一个步距角。 PUSH PUSH PUSH JB MOV MOV
LCALL DELAY DJNZ MOV MOV
LCALL DELAY DJNZ MOV MOV LC ALLY