基于L297/298芯片混合式步进电机驱动器的研制王鹏飞,尤波(哈尔滨理工大学机械动力工程学院,黑龙江哈尔滨150080)摘要:在分析了步进电机的驱动特性和斩波恒流细分驱动原理和混合式步进电机驱动芯片L297/298的性能、结构的基础上,结合51单片机,设计出了混合式步进电机驱动器.实测表明,此细分驱动器运行平稳可靠,提高了步进和定位准确度,较好地控制了发热现象。关键词:混合式步进电机;细分驱动;L297/298中图分类号:TM383.6文献混合式步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得了更为广泛的应用.但其步距角较大、分辨率低、易发热等缺点往往满足不了工业上的精确定位和大扭矩控制。为解决上述问题,本电路采用混合式步进电机驱动芯片L297/298,通过51单片机并配合步进电机相序产生时序电压,控制L297/298芯片的参考电压输入端,从而实现斩波恒流细分驱动,提高了步进电机的准确度,并较好的解决了大扭矩驱动时的发热问题。1步进电机的驱动特性分析一般情况下,步进电机根据环形分配器决定分配方式,各绕组的电流轮流切换,从而使步进电机的转子步进旋转.步距角的大小只有两种,即整步工作和半步工作,而步距角已由电机的结构确定.如果在每次输入脉冲切换时,不是将绕组电流全部通人或关断,只改变相应绕组中的额定电流的一部分,则转子相应的每步转动原有步距角的一部分,而额定电流分成多少次进行切换,转子就以多少步完成一个原有的步距角.这种将一个步距角细分成若干步的驱动方法即为细分驱动.同时,在步进电机每相绕组通电周期中,常用的驱动方法采用恒定电流值驱动,该方法在驱动大力矩负载时往往发热现象严重.为了解决上述问题,提出了斩波恒流驱动方法.在斩波恒流电路中,采用高电压驱动,电机绕组回路不串联电阻,这样电流上升的速度会很快.同时在电路中设置采样电阻,在绕组电流达到额定值时,由于采样电阻的反馈作用,通过比较器使电源电压工作在关断状态,从而使绕组电流保持在额定值附近内波动.由于电源电压并不是一直向绕组供电,而只是一个个窄脉冲,总的输入能量是各脉冲时间的电压与电流乘积的积分,取自电源的能量大幅度下降,具有很高的效率,降低了发热量.在驱动器中采用将细分和斩波恒流驱动结合技术,电机内电流波形图如图:2L297/298功能分析L297单片步进电动机控制器集成电路适用于双极性两相步进电动机或单极性四相步进电动机的控制.用L297输出信号可控制L298双H桥驱动集成电路,用来驱动电压为46V,每相电流为2.5A以下的步进电动机.L297也可用来控制由达林顿晶体管组成的分立电路,驱动更高电压、更大电流的步进电动机.此器件的特性是只需要时钟、方向和模式输入信号.相位是由内部产生的,因此可减轻微处理机和程序设计的负担.此芯片是具有20个引出脚的双列直插式塑胶封装的器件,采用固定斩波频率的PWM恒流斩波方式工作.L297主要由译码器、两个固定斩波频率的PWM恒流斩波器以及输出逻辑控制组成,工作原理分述如下:L297的核心是脉冲分配器.它产生三种相序信号,对应于三种不同的工作方式:即半步方式(HALFSTEP,半步);基本步距(FULLSTEP,整步)一相激励方式;基本步距两相激励方式.脉冲分配器内部是一个3bit可逆计数器,加上一些组合逻辑,产生每周期8步格雷码时序信号,这也就是半步工作方式的时序信号.此时HALF]FULL信号为高电平.若HALF]FULL取低电平,得到基本步距工作方式,即4步工作方式.L297另一个重要组成是由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的转矩一频率特性.每个斩波器由一个比较器、一个RS触发器和外接采样电阻组成,并设有一个公用振荡器,向两个斩波器提供触发脉冲信号.图2中,频率厂是由外接16脚的RC网络决定的,当R10k时,F=1/0.69RC。当时钟振荡器脉冲使触发器置1,电机绕组相电流上升,采样电阻的R电压上升到基准电压Vref时,比较器翻转.使触发器复位,功率晶体管关断,电流下降,等待下一个振荡脉冲的到来.这样,触发器输出的是恒频PWM信号,调制L297的输出信号,绕组相电流峰值由Vref给定。3硬件体系结构由上述可知,L297内部带有斩波恒流电路,绕组相电流峰值由Vref整定,因此,驱动器硬件电路设计的基本思想是为L297配备合适的RC网络,调整斩波振荡脉冲频率.同时,利用51产生与L297相序一致的细分参考电压的变化阶梯,并作为L297的引脚输入,从而控制斩波时刻绕组相电流峰值的一个,输入端,因此,在实际的电路设计中采用,双L297单L298结构形式.驱动部分参考电路如图3.在采用51产生与L297相序一致的细分参考电压的变化阶梯过程中,细分电压产生电路如图4,将外部一定频率的脉冲信号经过高速光藕6N137光电隔离后,分别送到51的外部中断l和计数器0,其中计数器0工作在方式2,即自动重装初值的8位计数器。由于计数器0中断就比外部中断高一个级别,所以不用设置中断优先级,每当外部脉冲信号输入时,计数器加一,当计数寄存器溢出时,触发计数器0中断,在中断响应函数中,让单片机的P10口输出相应的脉冲信号,经反向后送给L297的CI引脚.在随后触发的外部中断l中,让计数变量自加一,同时输出以该计数变量作为下标的数组值到P0口,然后经过DAC0832的8位数模转换,将产生的阶梯参考电压送给L297的引脚.这样,不仅实现了与L297时序一致的细分参考电压,而且通过在ROM中预先固化好参考电压的数组值,可以实现高细分数的可变细节.为了实现步进电机的细分驱动,需要在适当时刻取出相应细分代码,同时要求在每一次电机相序变化时刚好完成一次细分周期输出.EPROM固化程序流程图如图5。4实验及总结该混合式步进电机驱动器已经成功的应用于X—Y数控平台的运动控制驱动单元,通过开发Windows环境下的控制软件,利用VC++设计良好的控制接口界面,方便的实现了步进电机的驱动.该驱动单元通过细分特性,提高了步进准确度和定位准确度。在长时间的大力矩驱动过程中,由于其斩波恒流特性较好控制了发热现象。