田 云,张宏龙
(1.黑龙江农业经济职业学院,黑龙江牡丹江157041;2.贵州电子信息高级技工学校,贵州都匀558001)
步进电动机是一种将电脉冲信号转换为角位移的控制电机。步进电动机每接收一个脉冲信号所转过的角度叫步距角,步距角决定了步进电动机的控制精度,步距角的大小与生产工艺要求有关。
步进电动机的物理结构使得步进电动机的步距角偏大,控制不够精确。要使步进电动机的步距角变得更小,只能改变步进电动机的驱动方式,细分驱动技术就是目前被广泛采用的一种步进电动机驱动方式。本文采用正弦脉宽调制SPWM方式进行细分。给三相步进电动机的三相定子绕组通入三相对称的阶梯正弦电流,步进电动机每步所转过的角度由一个周期的正弦波的阶梯数来确定,合理地选择正弦电流阶梯数,就可以实现恒转矩等步距角的细分。这种细分技术使驱动器结构更简单,细分精度更高,可靠性更强。
SPWM信号产生设计方法多种多样,以往都是采用分立元件构成SPWM波发生器,这种电路比较复杂,调试困难。近些年来,数字化专用SPWM集成芯片应用越来越广泛,SA4828是一种三相SPWM信号发生器,与单片机连接方便,可产生相位互差120°的SPWM波形,电路结构简单,软件控制方便。
通过以上分析可知,如果把步进电动机的每相绕组通过的正弦电流分成N个阶梯,就能够实现步距角N细分。若把每相绕组电流进行八细分如图1所示。
图1 三相电流八细分图
根据采样控制理论可知,加在具有惯性环节上的冲量相等而形状不同的窄脉冲,效果基本相同。这里所说的冲量是指窄脉冲的面积,而效果基本相同,指的是具有惯性环节的波形响应基本相同。因为将输出的波形进行傅里叶变换,可以看出它们的低频段特性是一致的,仅仅在高频段有较小的差异。正弦脉冲调制(SPWM)正是根据这一理论,将一个正弦半波进行N等分,每一等分的正弦曲线的面积用一个与该面积相等的矩形脉冲代替。这样就会得到N个不同宽度的矩形脉冲。根据上述采样控制理论,得到的脉冲序列的效果和正弦半波是一样的。
步进电动机实质就是一个冲量环节,所以结合前面所述步进电动机细分技术原理可知,为步进电动机每相绕组通过SPWM脉冲,进行正弦脉宽调制,与通以N等分的正弦电流的效果是一样的,由此可见SPWM可以对步进电动机步距角进行任意的细分[3]。
SPWM信号可由数字电路、模拟电路、专用集成芯片等硬件电路来产生,也可由计算机、单片机通过软件产生。近些年来很多厂家研制出了产生三相SPWM信号的大规模集成芯片,比如英国Mitel公司推出的三相SPWM波形发生器SA4828芯片,可以大大简化硬件电路,控制方式简洁,控制精度高,减轻CPU负担,使CPU有更多的资源用于整个系统的细分控制。
SA4828芯片是专门用来产生三相SPWM信号发生和控制的专用集成芯片,可以方便地与单片机等处理器相接,通过单片机的数据处理控制功能,驱动SA4828产生SPWM信号。SA4828采用全数字控制,兼容大部分的单片机;16位调节频率的分辨率;8位调节电压的分辨率;可以设定死区电压;具有看门狗定时器;有三种可选波形固化在芯片ROM中。每一种波形都有1 536个采用值[4]。
基于SA4828的三相步进电动机细分驱动器的硬件系统如图2所示。
图2 硬件系统框图
系统中以STC89C52RC单片机为核心,其总线结构与SA4828芯片完全兼容,可以直接相连,单片机把步进电动机细分数设定信号转换为SA4828相应的控制信号,写入到SA4828相应的控制寄存器中,从 BPHT、YPHT、RPHT 和 BPHB、RPHB、YPHB6个信号输出引脚输出相应的SPWM波形信号,经驱动电路隔离后控制智能功率模块IPM,产生对称的三相SPWM电流信号,驱动步进电动机旋转。
逆变主电路IPM典型结构如图3所示。
图3 IPM模块内部结构图
该电路的核心为6个IGBT,由SPWM信号来分别控制6个IGBT的通断。最后在3个输出端产生三相对称的电流驱动步进电动机运转。目前已经有许多生产厂商将该逆变电路中的保护电路、驱动电路、传感电路整合起来,集成为一个模块,称之为智能功率模块IPM。这种IPM在出厂时厂家已经设定好IGBT最佳的驱动参数,并且还有短路、过流、欠压等保护功能,出现异常并可给出报警信号[5]。IPM的参数可由电动机的额定功率P0和峰值电流IP来确定。智能功率模块使电路更加紧凑,避免了分布参数的影响。
因为 IGBT开关信号的幅值为 ±10 V,而SA4828输出的6路 SPWM信号为TTL电平,SA4828产生的SPWM不能直接驱动IGBT。所以SA4828输出的6路SPWM信号要经过驱动电路才能驱动逆变电路的6个IGBT。IGBT一般选用集成驱动电路来驱动。比较常用的集成IGBT驱动电路有三菱公司的M5796系列、富士公司的EX850系列等产品。我们这里用东芝公司的TLP250集成驱动芯片来驱动6个IGBT,电路如图4所示。
图4 TLP250驱动电路
SPWM控制算法的关键就是求出SPWM脉冲宽度TW。SPWM控制算法有很多,通常都可采用,但是太复杂的算法会使单片机的编程难度成倍增加,单片机ROM容量也有限,不宜采用。本文采用双极性等面积调制算法,该算法体系清晰,易于编程实现。该算法的是将某一相正弦周期电流分成若干个区段,由于三相步进电动机三相绕组正弦电流相位相差120度,所以在划分区段数的时候应为6的倍数。双极性等面积调制算法脉冲宽度TW计算公式如下:
三相步进电动机一个周期内的细分数即为通入正弦电流一个周期内的阶梯数,为S×N,S为正弦电流划分的区段数,N为每个区段的等效脉冲数。采用8位单片机,S最大为240,N最大为255,则三相步进电动机最大的细分数为240×255=61 200,电机的分辨率还和电机本身有很大的关系,根据不同的S和N的取值,可以得到任意想要的步距角,即步进电动机可以进行“任意”细分。但是过分的细分,单片机在计算TW时的计算工作量会很大,所以在选择S和N的取值时,要注意保证S被6整除后的数值为偶数,这样可以产生正负半周对称的SPWM波,S和N的取值如表1所示。
表1 不同细分区段的S和N值选择
3.2.1 确定SPWM波的脉宽周期T
确定SPWM的脉宽周期T主要是由智能功率模块的开关频率来确定的,比如PS21255-E型智能功率模块的开关频率能够达到15 kHz,但是过高的开关频率,单片机会频繁地响应中断,以致于单片机没有足够的CPU资源去处理其他事情。比如说智能功率开关的频率F设定为5 kHz,则脉宽周期T。单片机的晶振频率为12 MHz,则可得到单片机的定时器初值为6。
3.2.2 确定SPWM波的脉冲宽度TW
根据单片机外设键盘输入的细分步数,可以按表1确定S值,再由计算出K值。假设区段S有8个,则K值也有8个。函数cos(ωt1)-cos(ωt2)值是由S值确定的,也有8个。这里面,我们把K的值和cos(ωt1)-cos(ωt2)的值做成数据表格存入ROM中,一共有8张函数表。这样,根据键盘输入的细分数值,用单片机的查表可以获取相应的K和cos(ωt1)-cos(ωt2)的数值,由式(5)可以计算出 S个脉冲宽度的定时初值,把这些初值存放在单片机的RAM中,这样便求得了三相步进电U相的输出脉冲。根据三相步进电动机三相电流对称的关系,将U相的地址指针后移个单元便可求得V相的输出脉冲,将U相的地址指针前移个单元,便可求得W相的输出脉冲。将V相和W相输出脉冲宽度的定时初值依次存入RAM,等待单片机查用。单片机程序流程图如图5所示。
图5 控制程序流程图
本文使用SA4828作为三相SPWM波发生器,单片机做为控制器,按表1设定不同的细分数,可通过示波器观察到驱动器输出电流波形如图6、图7所示。从图中可以看出,步进电机12细分时,电流波形台阶较明显,但电流脉动值较小;步进电机64细分时,电流波形较平滑,已很难分辨出台阶的个数,此时电机运行平稳流畅,低速无振荡现象,达到了控制要求。此外,该系统的硬件结构简单,体积小、成本低廉、实现容易、细分精度高。采用双极性等面积调制算法,可以方便地改变步进电机的细分步数。该系统在中小型步进电机驱动系统中有较强的应用价值。
[1] 舒大松.基于STC单片机的SPWM步进电机细分控制研究与实现[J].制造业自动化,2011,33(6):92-94.
[2] 王晓明.电动机的单片机控制[M].北京航空航天大学出版社,2002:102.
[3] 王兆安,黄俊.电力电子技术[M].北京:机械工业出版社,2000:78.
[4] 徐志跃.基于SA4828的变频器设计[J].电气传动,2006,36(1):14-16.
[5] 郑宇.步进电机细分控制的单片机实现[J].贵州师范大学学报(自然科学版),2012,30(2):106-109.