一、步进电机的原理与特点
步进电机又称为脉冲电机,基于最基本的电磁铁原理,是一种可以自由回转的电磁铁,其动作原理是依靠气隙磁导的变化来产生电磁转矩。其原始模型起源于 19 世纪,最初以控制为目的的尝试是应用于氢弧灯的电极输送机构中,这被认为是最初的步进电机。20 世纪初,步进电机在电话自动交换机中得到广泛使用;由于船舶与飞机等独立系统缺乏交流电源,步进电机在这类场合也得到广泛应用。20 世纪 50 年代后期,晶体管的发明逐渐应用在步进电机上,使数字化的控制变得更为容易;到了 80 年代后,由于廉价的微型计算机以多功能的姿态出现,步进电机的控制方式更加灵活多样。

图 1 步进电机
步进电机相对于其他控制用途电机的最大区别是:它接收数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,本身就是一个完成数字模式转化的执行元件。而且它可开环位置控制,输入一个脉冲信号就得到一个规定的位置增量,这种增量位置控制系统与传统的直流控制系统相比,成本明显降低,几乎不必进行系统调整。步进电机的角位移量与输入的脉冲个数严格成正比,而且在时间上与脉冲同步,因而只要控制脉冲的数量、频率和电机绕组的相序,即可获得所需的转角、速度和方向。
我国的步进电机在 20 世纪 70 年代初开始起步,70 年代中期至 80 年代中期为成品发展阶段,新品种和高性能电机不断开发;目前随着科学技术的发展,特别是永磁材料、半导体技术、计算机技术的发展,步进电机在众多领域得到了广泛应用。
二、步进电机控制技术及发展概况
作为一种控制用的特种电机,步进电机无法直接接到直流或交流电源上工作,必须使用专用的驱动电源(步进电机驱动器)。在微电子技术特别是计算机技术发展以前,控制器脉冲信号发生器完全由硬件实现,控制系统采用单独的元件或者集成电路组成控制回路,不仅调试安装复杂、要消耗大量元器件,而且一旦定型之后要改变控制方案就一定要重新设计电路,这就使得需要针对不同的电机开发不同的驱动器,开发难度和成本都很高,限制了步进电机的推广。

图 2 步进电机与驱动器
由于步进电机是把电脉冲转换成离散机械运动的装置,具有很好的数据控制特性,因此计算机成为步进电机的理想驱动源。随着微电子和计算机技术的发展,软硬件结合的控制方式成为主流,即通过程序产生控制脉冲、驱动硬件电路;单片机通过软件控制步进电机,更好地挖掘出了电机的潜力。因此,用单片机控制步进电机已成为一种必然趋势,也符合数字化的时代趋势。
三、步进电机控制系统的设计
传统的电流式控制方法是检测流经绕组的电流,并将反馈信号送到控制芯片,然后由控制芯片决定是增加还是降低绕组电流,以取得所需的电流强度。这种控制方法使电机在宽转速和宽电源电压范围内保持理想的转矩,非常适用于全步进和半步进电机驱动,而且实现起来非常容易。
闭环控制电路将电流施加到绕组。反电动势(BEMF)会降低绕组电压、延长电流达到理想值的时间,因此反电动势限制电机转速;虽然系统无需知道反电动势值,但不重视且不修正这个数值将会导致系统性能降低。因为电源电压变化导致峰值电流有时波动幅度很大,所以直到现在工程师还是尽量避免使用电压式控制方法,同时也想避免反电动势随着电机转速增加而升高的问题。
在这种情况下,业内出现了能够补偿反电动势的智能电压式控制系统。这种驱动方法使电机运转更顺畅、微步分辨率更高,是对高精度定位和低机械噪声要求严格的应用的理想选择。电压式控制是一种开环控制:当正弦电压施加到电机相位时,机电系统将回馈正弦电流。可以用数字方法补偿反电动势和峰值电流变化——在记住电机的准确特性(电机电感—转速曲线、反电动势—转速曲线、电机电阻)后,计算并施加电压,以取得理想的电流值。
电压式控制方法是向电机施加电压,而不是恒流;施加的电压值能够补偿并完全消除反电动势效应,施加电压的上升速率与因电机转速增加而导致反电动势上升的速率相同,保证电流幅度对转速曲线平坦。在已知所需电流后,就可以确定取得该电流需要施加的准确电压值,因此电流是由电压间接控制,如图 3 所示。

图 3 电压式控制中电流由电压间接控制
电压式控制还节省了分流电阻,可取得高微步分辨率和极低的转矩脉动,例如意法半导体的 L6470 可实现多达 128 步的微步控制。这款数字电机控制驱动器的核心是一个能够降低微控制器资源占用率的数字运动引擎(DME),它由行为命令控制(例如绝对位置请求),并按照预设转速曲线边界驱动电机运动。全部指令集包括相对位置和绝对位置(达到目标位置)、转速跟踪(达到并保持目标转速)和电机停止顺序,还包括机械位置传感器管理专用命令,部分命令如图 4 所示。

图 4 数字运动引擎的部分控制命令
该控制器通过具有菊花链功能的高速 SPI 总线接口与主微控制器通信。通过一个串行接口,一个微控制器能够管理多个控制器,从而控制多台步进电机,如图 5 所示。

图 5 单个微控制器控制多台步进电机
四、步进电机的开环控制
系统设计时首先考虑稳态性能:由允许的最大位置误差和要求的最高步进频率选择步进电机和驱动电路;完成选择之后,接下来应考虑怎样对电机和驱动电路进行控制、怎样把它们连接到系统的其他部分。开环控制具有简单、成本低等优点,常用于简易的经济型数控机床改造等技术中。图 6 是典型的开环控制系统方框图,相控制信号可以由微处理机产生,也可以用某种形式的时序电路产生;不管这种信号怎样产生,设计者都需要知道它在定时上有些什么限制,例如特定负载转矩的最高步进频率、电机加速负载惯量所需的时间等。

图 6 典型开环控制系统方框图
开环控制方案中,负载位置对控制电路没有反馈,因此步进电机必须正确地响应每次激磁变化。如果激磁变化太快、电机不能够移动到新的要求位置,那么实际的负载位置相对控制器所期待的位置将出现永久误差。如果负载参数基本上不随时间变化,则相控制信号的定时比较简单;但在负载可能变化的应用场合中,定时必须以最坏(即最大负载)情况进行设定,这样确定的控制方案对所有其他负载并非最佳。
1. 启停频率
最简单的开环控制方式是步进频率恒定的方式(图 7),电机在达到目标位置之前都以这个频率转动。相控制信号由时序发生器产生,时序发生器由来自恒频时钟的步进命令脉冲触发:"启动"信号接通这个时钟,使电机以等于钟频的步进频率运行;"停止"信号关断这个时钟,使电机停转。转动方向一开始就送到相时序发生器,因此它产生的相控制信号能以合适的方向运转电机。目标位置送入减法计数器,并以这个计数器记录执行的步数;时钟脉冲同时送给相时序发生器和减法计数器,于是相激励以恒定的钟频变化,减法计数器记录电机相对目标的瞬时位置。

图 7 恒频开环控制
负载达到目标位置时,减法计数器的内容成为零,时钟的"停止"信号利用这个零产生。如果恒定钟频太高,电机不能把负载惯量加速到对应的步进频率,系统或者完全不能工作,或者在行程的开始阶段失步。从静止开始、电机能响应而不失步的最高步进频率叫做"启动频率";与此类似,"停止频率"是系统控制信号突然关断而电机不冲过目标位置的最高步进频率。对任何电机—负载组合来讲,启动频率和停止频率之间的差别都很小:粘性摩擦使加速度和步进频率降低,但有助于减速,因此提高了停止频率。不过在简单的恒频系统里,时钟必须调整在两者之中较低的那个频率上,以确保可靠的启动和停止。
电机从静止开始加速时步进频率很低,每相激磁周期比相电路的电气时间常数长得多,在这种情况下系统性能可以用电机的静转矩/转子位置特性来分析。分析结果得知:① 如果电机的转矩(TM)增大或负载转矩(TL)减小,则能提高启动频率;② 减少系统惯量(电机惯量+负载惯量)也能提高启动频率。在系统工作寿命内,由于零部件磨损将影响负载转矩;为了允许负载转矩略有变化,恒频钟应比求得的启动频率略低且可调。为了确保系统在工作速度情况下对机械谐振不敏感,还应考虑失步转矩/频率特性——如果算得启动频率恰巧等于谐振频率,那么应改用较低频率的时钟,或者通过增加阻尼降低谐振影响。实际工作中,启动频率也常常通过试验求得。
2. 加速和减速工作
因为步进电机系统的启动频率比它的最高运行频率低得多,因此为了减少定位时间,常常通过加速使电机在接近最高速度下运行;随着目标位置的逼近,为使电机平稳地停下来,重新使步进频率逐渐降低到启停电机频率。从初始位置往目标位置运动的整个过程中,步进频率都在变,若以曲线表示即得"速度曲线",如图 8 所示。注意:减速可以比加速快得多,因为负载转矩帮助系统制动,而且电机产生的减速转矩比加速转矩大。

图 8 速度曲线与对应的位置/时间响应曲线
3. 开环控制的实现
对任何系统,选择控制方式都要考虑性能高和成本低等要求。例如为了使加速方式最佳,也许要求按指数曲线上升,但实现的费用高;设计者也许会用比较简单的线性斜坡来折中,因为这种斜坡能以很低的成本实现。另一方面,集成电路工艺的迅速发展使人们能以低价制成的芯片得到各种各样的电路功能,因此以微处理机控制的潜在优点成为很现实的问题。在微机控制的系统中,常常可以把微处理机的富余处理能力用来控制步进电机,这时额外的存储器成本和软件开发成本的增加很可能低于独立的硬件控制器的价格。
(1)以微处理机产生定时
微处理机很容易产生控制步进电机所要求的数字信号。开环控制中,即使负载很轻,步进电机也很少以大于 10000 步/秒的速度工作,因此只要求微处理机每 0.1 ms 发一次步进命令,而每次发送步进命令所需要的程序执行时间比 0.1 ms 小很多,所以微处理机完全有多余能力执行别的任务;使用中断子程序控制电机能使处理能力得到充分利用。

图 9 基于查阅表的步进命令定时流程
步进命令之间的时间受从"TABLE"单元开始的查阅表里存储数值的控制:程序以设寄存器"指针"等于"TABLE"开始,因此"指针"里装有查阅表中第一个值的地址;然后把第一次步进命令发给激磁时序控制器,用它改变电机里的相激磁。在发下一次步进命令之前必须进行延时,使电机有时间执行第一步:这时取出由指针寻址的延时数(第一次为查阅表里的第一个值)并把它存入"延迟"单元,然后检查这个单元的内容是不是零——如果是零,表示已经走到了这个表的末尾;不是零则"指针"加一,指向表内的下一个数;最后控制程序返回主程序。
主程序继续执行直到发生下次时钟中断,它使处理机返回到电机控制子程序的"入口":"延迟"单元里的数减一并且与零比较,如果不为零则控制立即返回主程序;如果"延迟"单元已达到零,则把下一步命令送到激磁时序控制器,并且往"延迟"单元装入查阅表里的下一个值。因此,步进命令之间的时间与恒定的时钟周期及查阅表中的数值成正比。例如第一步命令发出之后,"延迟"单元装入"30",于是"延迟"单元减到零之前将产生 30 次时钟中断。

图 10 14 步运动的延迟值取样表
查阅表中的数值是按 6 步上升到最高步进频率设置的,这个最高频率是钟频的 1/10;减速从长延时数值(25)开始,这个时间对应转子转过平衡位置而进入产生减速所需要的负转矩的位置。因为负载转矩产生的是负转矩,所以使电机减速只需要 4 步,最后系统逐渐静止,距离初始位置共 14 步。该例中走过的距离是固定的,不过行程开始之前程序可装入不同的目标位置;通过扩展查阅表和修改有关程序,能使步数增加。如果目标离初始位置少于 14 步,可以删去查阅表里适当的值使频率降低、步数减少。
(2)以硬件定时
如果加速系统需要执行的步数比较少,那么相激磁定时可以用数字集成电路产生。例如在硬件定时电路中,精确的前三步定时由持续时间可变的延时时序电路产生,用它把电机加速到由系统钟频确定的步进频率;当接近目标位置时,利用后面的延时时序电路使电机减速。
系统最初静止,启动脉冲加到"启动"输入端后,经过一系列逻辑"或"门作用到相序发生器上,相序发生器发生的激磁变化启动电机加速;启动脉冲同时触发第一级延时电路,把这个脉冲延迟 T1 时间,在这期间电机运动到第一次相转换位置。经过 T1 延时后,第一级的脉冲输出送到相序发生器并触发下级延时电路,这种时序一直继续到所有延时电路都工作完;最末一级延时的输出用来启动恒频时钟,以恒频时钟产生以后的步进命令。因为事先把目标位置送入了减法计数器,以后每执行一步计数器就减一,因此这个计数器记录着到达目标位置之前需要发出的步进命令数;当还需要执行的步数等于减速延时电路数时,减法计数器产生一个脉冲,关断时钟并触发第一级减速电路延时 T1′。到达目标位置之前最后几步的减速控制由三级持续时间可变的延时 T1′、T2′、T3′ 产生,它们顺序触发,产生送到相序发生器的步进命令;减速以长激磁周期(T1′)开始,让转子转过平衡位置并产生负转矩。
如果系统的最大工作速度接近失步频率,那么也许需要 20 到 50 级延时,这时成本很高。通常硬件定时仅用在工作速度比正常的启停频率高得不太多的场合,在这些应用中延时时间能够用静转矩/转子位置特性曲线成功地预测。