孔照兴
(云南省普洱市职业教育中心 云南省普洱市 665000)
步进电机是一种控制设备,它将控制脉冲的数量转变为步数,一个电脉冲信号对应一步,一步的位移量(线位移或角位移)是一定的,称为“步距角θ”。或者将控制信号的的频率变化转换为电机转动的速度和加速度,实现电机调速。步进电机响应频率高、转矩大、惯性小等特点,在各行各业得到广泛应用。步进电机的驱动控制主要有硬件控制电路“环形脉冲分配器”和软件控制环形脉冲分配器及驱动放大电路两种模式。其中软件控制模式又有单片机控制电路、PLC 控制电路和微型机控制电路三种,其基本原理是一样的。本文选用微机软件控制这种方案,探讨以圆弧细分原理实现步进电机超精度控制的实体电路实现结构和程序设计方法。
如图1 所示,以四相五线直流电源供电的步进电机为例,定子线圈相邻相间的的角距为360÷8=45 度,转子相邻磁极的角距为360÷6=60 度。对步进电机的Sa、Sb、Sc、Sd 四相绕组按顺序加脉冲电流,电机就会一步一步地进转动,一个节拍转子转过60-45=15度,即为步距角。
四相步进电机按照通电方式的不同,可分为单四拍、八拍和双四拍3 种工作方式。通电时序与波形分别如图2a、b、c 所示:
步进电机的电子驱动装置就是步进电机驱动器。驱动器的功能要满电机的驱动要求,它把脉冲信号发生器发出的控制信号加以放大,达到电机的驱动要求。脉冲的个数定位电机的位置,脉冲的频率实现电机调速。步进电机驱动控制系统主要由三部分组成:脉冲控制信号发生器、驱动放大器和步进电机。如图3 所示。
单片机的I/O 接口P1 为控制脉冲信号输出端。P1.0 控制A 相绕组,P1.1 控制B 相绕组,P1.2 控制C 相绕组,P1.3 控制D 相绕组。基于图5 电路的四相八拍控制方式的数学模型如表1 所示。
我们依据图3 所示的硬件电路,只要在P1 口依顺序发送表1所示的数据,步进电机的绕组上就能获得图3(b)所示的电压波形。表1 中的控制模型为控制位(P1.0—P1.7)的十六进制数。
根据以上分析,程序的核心是如何顺序发送表1 中的控制模型:01Н—03Н—02Н—06Н—04Н—0CН—0AН—08Н 到 达P1 口,并且能够控制发送速率。基于电机的控制需要,程序主要应当完成如下任务:①起停控制;②旋转方向控制;③速率控制;④定位(步数)。这些需要实际就是程序的输入量。程序中应重点处理好两个重要的参数:①步数N,控制步进电机的定位精度;②延时时间DELAY,控制其步进的速率(频率)。四相8 拍同步转换输出正转控制程序范例如下:
ZZTAB:DB01Н,03Н,02Н,06Н,04Н,0CН,0AН,08Н; 建立正转控制模型表
图1:四相步进电机原理图
图2:步进电机工作时序波形图
ZZKS:MOVDPTR,#ZZTAB;正转开始,数据表首地址传给DPTR
ZZJX:MOVCA,@DPTR;正转继续,查表
MOVP1,A;控制数据送P1 口
LCALLDELAY;调用延时子程序(控制转速)
INCDPTR;数据指针DPTR 加
CJNEDPTR,#08Н,ZZJX;判断是否完成最后一个数据发送,未完成继续
JMPZZKS;完成最后一个数据发送,重复开始
DELAY:…延时字程序
RET
END
以上步进电机的控制实际上包含了细分的思想。当四相步进电机按A—B—C—D 一A 的顺序轮流通电,即整步工作,一个电脉冲步进电机前进一整个步距角.而按A—AB—B—BC—C—CD—D—A 的顺序轮流通电,即半步工作,每个电流脉冲步进电机将前进整步距角的l/2。因此,半步工作事实上实现了1/2 细分,只是对合成矢量的幅值没有控制,导致电机振动加剧。当需要对步距角进行更进一步的细分,并且保证合成矢量恒定不变时,就得用矢量合成原理。
表1:双四拍控制模型表
图4:圆弧细分与矢量合成
我们知道.电机内部的磁场是由空间相连的两相电流磁场的合成磁场。由矢量合成法则可知,只要精确控制AB 两相电流的大小,合成磁场可以位于圆弧AB 内的任意一个位置上。如图4 所示。半径为电机额定电流IAB,设A 相和B 相两个电流磁场互成θ 度角(实际值由电机的结构决定),即整步角为θ。θ 角(即圆弧AB)内任意一个细分点为AnBn(xn,yn),设该点与X 坐标轴的角度为φ。由平行四边形法则可得IA和IB。反之,控制A 相电流的大小为IA,B 相电流的大小为IB,则合成磁场IAB定位在位置(A,B)上。
由正弦定理可得:
于是,IA=IABsin(θ-φ)/sin(180-θ),IB=IABsinφ/sin(180-θ)
由于IAB/sin(180-θ)是常数,令IAB/sin(180-θ)=k,则以两式简写成:IA=ksin(θ-φ),IB=ksinφ
也就是说,如果相邻两相绕组上加的电流满足以上两个方程,则合成磁场可以定位在A 点和B 点之间的圆弧AB 上任意一个点,并且合成磁场的大小恒定不变,这就是圆弧细分控制的基本原理。以上两个方程即为圆弧细分控制的数学模型。
假设A 相和B 相两个电流磁场互成θ 度角(实际上是由电机结构决定的),即整步角为θ。对一个整步角进行N 等分,则每一个细分角为θ/N,于是电机从位置A 运动到位置B 经历了N 个细分点,即A(A0B0)-A1B1-A2B2-A3B3……A(N-1)B(N-1)-B(ANBN). 在第n 个细分点AnBn(Xn,Yn)上,满足:
即控制A 相电流的大小为Xn,B 相电流的大小为Yn 时,则合成磁场定位在点AnBn(Xn,Yn)上。由于步距角不均匀和合成磁场大小变化容易引起电机的振动和失步,因此细分控制必须满足两个重要条件:
(1)细分的步距角相等;即φ1=θ/N,φ2=2θ/N,φ3=3θ/N…,φn=nθ/N
(2)合成磁场的大小不变,且合成向量Xn+Yn==IAB。
条件(1)容易由单片机的计算能力可以满足要求。条件(2)由量化精度(并行数据位)和DAC 的转换精度决定。假设输出端用8 位D/A 转换器控制电机相电流,则可以实现对圆弧AB 的256(2的8 次方)份细分控制,基本满足实际控制的细分需求。
4.4.1 硬件电路的组成与原理
细分控制的驱动电路需要对两相绕组的电流大小实现精确控制。以DAC0832 芯片为例,构建驱动控制信号电路,如图5 所示.DAC0832 为8 位的数模转换芯片,与微处理器兼容性好。分辨率为8 位;电流稳定时间1us。数模转换以一组差动电流IOUT1 和IOUT2 输出。根据后继使用的电机功率,选择使用相应的功率放大器即可。DAC0832 与外部数字设备有三种联接方式:直通连接方式、单级缓冲器连接方式和二级缓冲器连接方式。有输入数据锁存控制信号端WR1、输出数据锁存控制端WR2 和片选控制端CS 控制,是典型的DAC 转换芯片,如选用其它DAC 芯片参照即可。由于细分控制对电流大小和变化速率有较高的要求,为了不产生时间延迟,本例采用直通连接方式,由单片机端编程控制输出数据的大小与速率。当然,亦可用DAC0832 的锁存和同步功能,实现更加准确的同步控制。
表2:细分控制数据模型表
图5:步进电视细分控制电路
由于任意时刻电机有两相同时通电,至少需用两片DAC 芯片。如多相共用,则输出端需要同步控制线圈地址,如图5 示。
4.4.2 单片机细分驱动控制程序设计
由以上分析可知,细分驱动程序需要将A 相控制数据Xn 和B相控制数据Yn 同时送达各自的DAC,且不允许存在时差。由于两片DAC 芯片分别由P0 口和P1 口传送数据,不需要选址。但对线圈是分时复用的,所以需对线圈同步选址。由于细分控制数据量大,用查表法编程较为合理。假设电机的线圈相数为XQXS,细分点数为N=XFDS,控制数据如表2 所示,程序范例如下。
由此可知,根据功能需求构建硬件电路并全面认识和分析得出控制模型是基础,控制模型是编制软件程序的核心依据。文章通过对细分控制的分析,得出细分控制的基本模型是最具实用价值的。本文对步进电机控制的智能化、数字化改造,展现了软硬件结合优化传统产业和产品的发展途径。