古玉雪,张小妍,李华忠,何流,蒋文亮
(中国航发控制系统研究所,江苏无锡214063)
基于FPGA的步进电机细分控制研究
古玉雪,张小妍,李华忠,何流,蒋文亮
(中国航发控制系统研究所,江苏无锡214063)
为了解决所选步进电机固有步距角过大而无法满足系统高精度微位移控制要求的问题,以细分控制原理为理论依据,设计了1种基于现场可编程门阵列(Field Programmable G ate A rray,FPG A)的单极性细分驱动电路。该电路具有绕组断线检测功能,可在电机转速为2 rad/s的前提下实现16或者更高程度的细分控制。在电路的调试过程中,针对绕组互感问题进行了研究,在很大程度上降低了绕组互感对细分控制精度的影响。试验结果表明:所设计的基于FPG A的细分驱动电路控制精度满足使用要求。
步进电机;现场可编程门阵列;细分控制;体二极管;绕组互感
步进电机是1种将数字脉冲信号转换成机械角位移或者线位移的数模转换元件。具有易于控制,在带载能力范围内,其步进角度不受驱动电压、驱动电流的影响,及控制误差不积累的特点,适合于做控制型电机。然而,步进电机的固有步矩角较大,在要求高精度微位移的控制场合往往满足不了控制要求。细分驱动,在不改变电机结构的前提下,通过对相电流精确控制,实现了步距角的细微化,同时提高了电机运转的平稳性[1-3]。
本文根据项目选用的4相6线制混合式步进电机,设计了1种基于FPGA的细分驱动电路。对细分控制的原理及驱动电路的设计进行了说明,给出了细分控制的FPGA实现方案,并就MOS管体二极管、电机绕组互感对细分精度的影响进行了讨论。
步进电机细分驱动技术早在20世纪60年代就己经提出,其本质是通过对相电流的精确控制,使电机内部的合成磁场按照某种规律变化,实现步距角的细微化。一般情况下,认为合成磁场矢量的幅值决定电机力矩的大小,方向的变化决定步进角度的大小[4-5]。由于磁场的方向由电流矢量方向决定,磁场的大小由电流的幅值决定,因此以电流的形式进行理论分析。
2相通电时步进电机电流矢量如图1所示。为实现恒力矩均匀细分,必须保证合成电流的幅值不变,角度均匀变化。为此,2相电流IA、IB必须满足[6-7]
式中:IA为A相电流;IB为B相电流;IS为额定电流;θ为A、B 2相合成电流矢量与A相电流矢量的夹角;β为A、B 2相电流矢量的夹角。
对于本文选用的4相混合式步进电机,β=90°,IS=0.5 A。因此,A、B 2相电流的控制规律可简化为:IA=IS×sin θ、IB=IS×cos θ。
图1 步进电机电流矢量
根据所选电机的接线形式,设计了如图2所示的主驱动电路,采用上管恒流斩波,下管相序控制的方式,整个驱动电路由2个完全相同的部分组成[8-9]。
图2 步进电机主驱动电路
从图中可见,+27 V电源经过电源开关后,分别为2部分驱动电路供电,电源开关在电路故障时,可用于直接切断电机;二极管V1-V6起续流作用,电容Cp1、Cp2用于稳压和储能;采样电阻R1、R2结合比较器、DA给定、驱动电路实现上管S1、S2的恒流斩波,可有效降低功耗;根据第1章中的电流变化规律改变DA的给定值,即可实现恒力矩均匀细分;下驱动MOS管S3-S6用于相序控制,改变通电顺序及切换频率,即可实现电机方向和速度的调节。
电路工作过程如下:
某1相通电时,例如A相通电工作,采样电阻R1采集的电流值与DA给定相比较,经过驱动电路控制S1的开关,实现电流的恒流斩波;在斩波的过程中,当S1断开时,电流经A相→S3→R1→V1→A相的路径进行续流。
换相时,例如由A相换到B相,S3会断开,此时S1可能闭合,也可能断开。当S1断开时,电流充电到电容Cp1;当S1闭合时,电流经A相→V3→S1→A相的路径续流。
为步进电机的部分主驱动电路如图3所示。其中图3(a)、(b)分别为上管S1的驱动电路和下管S3、S4的驱动电路;图3(c)为电机相断线检测电路。电路图中的网络名释义见表1,STEPCOMAC与STEPA、STEPC通过电机的绕组连接在一起。
图3 部分步进电机主驱动电路
表1 电路图网络名释义
现场可编程门阵列(Field Programmable Gate Array,FPGA)是1种门电路数量可以高达上百万、时钟频率可达几百兆的可编程逻辑器件。FPGA是1种可以重复改变组态的电路,特别适合产品研发时需要不断变更设计的应用,与通用DSP解决方案相比,在不牺牲灵活性的条件下,提供了更高的性能。在数控领域中,FPGA技术得到了广泛应用[10]。
采用FPGA实现步进电机细分控制逻辑,结构如图4所示[11]。上位机根据编码器反馈的当前角度信息计算,并根据结果设置步进电机的运行频率(FREQ)、步进方向(DIR)、步距角细分数(RSL)和运行步数(STEP)。在参数设置完毕后,给出启动信号(START)。象限计数器根据所设置的步距角细分数、步进方向、步进频率和当前位置信息计数,象限比较器根据计数结果进行象限判断,FPGA根据象限判断结果和象限计数器的计数结果对DA给定SIN正弦表进行寻址,得到当前象限的DA给定值。最终,FPGA根据DA控制时序进行DA输出,同时依据象限判断的结果进行A、B、C、D4相相序控制。单步输出结束后,步进累加器进行加1计数,并送入比较器比较,当累加器计数值与当前设置值一致时,运行结束。
图4 细分控制逻辑的FPGA实现
在细分驱动电路研制过程中,发现MOS管体二极管和电机绕组之间的互感对细分控制的精度影响很大,下面对这2个问题进行讨论。
4.1 MOS管体二极管的影响
进行断线检测时发现,不论电机绕组是否断线,均指示电机相断线。通过测试,发现电路通过图3(a)中V4的体二极管构成了如图5(b)虚线框部分所示的潜电路。有效的解决方法为,在断线检测前,将+27V1接通,使V4的体二极管不能正向导通。
图5 通过体二极管构成潜电路
在研制过程中还发现,通过下管体二极管构成的潜在回路,会使相电流不受控,导致细分控制失效。电机停留在单相时,相应上管处于恒流斩波的工作状态。经过测量,发现在上管S1断开时,电流的续流路径不仅仅只有理论上的1条,而有2条,如图6(a)所示,分别为A相→S3→R1→V1→A相、A相→S3→VT→C相→A相。因此,由于S4体二极管VT的分流作用,导致采样电阻采到的电流与真实相电流不一致,导致相电流不受控。解决的方法如图6(b)所示,在相中串入正向二极管,割断体二极管的续流作用。
图6 电路原理
4.2电机绕组之间互感的影响
当电机停留在A相时,接入A、C2相与只接A相相比,A相相电流过冲大。理论上2种接法的电流波形应该基本一致。经试验,发现拆除图3(b)中的二极管VD56后,电流波形过冲消失。此时测量发现当电机停留在A相时,C相会产生约26~60 V的感应电压,波形如图7中的上曲线所示。
图7 A相通电时,C相的感应电压
查阅资料发现,A、C 2相绕组共用1个铁心,2个绕组有类似变压器的关系。在A相斩波时,C相会产生26~60 V的感应电压,使VD56正向导通,最终导致A相相电流过冲大。
为去除绕组之间的互相影响,在图2的V3~V6与电源之间串入TVS管,保证感应电压不能使V3~V6导通的同时,抑制换相产生的瞬间高电压对下管S3~S6的危害。
解决了上述体二极管和绕组互感的问题后,4相全接时A相电流16细分的波形如图8所示。其中上波形为DA给定波形,下波形为相电流波形。
图816 细分相电流波形
在实际工作时,电机转角范围被限定为104°。当电机以2 rad/s恒转速运转时,通过旋转编码器对电机运行精度进行测量,所测得的部分精度数据见表2、3。通过数据可知:
(1)电机整步运行的步进误差小于3%(相对于1.8°),与步进电机步距角固有误差一致;整步运行的全量程范围误差小于1‰,满足使用要求。
表2 电机整步运行步进精度
表3 电机8细分运行步进精度
(2)电机8细分时的均匀性较差,大部分点的步进误差小于15%(相对于0.225°),但最大步进误差接近28%。虽然均匀性有点差强人意,但全量程范围的控制误差依然小于1‰,满足使用要求。
需要说明的是,上述精度数据属于开环精度。本文设计的驱动电路可实现16或者更高程度细分,结合编码器形成闭环控制能实现更高控制精度和更小步进角度。
另外,现在绝大部分研究对象都是2相或3相的双极性电机[12-16],电机不存在2相共用铁心的情况,其相之间的互感会明显小于本文所选用的4相单极性电机,因此不能简单地将二者的控制精度等进行对比。
本文根据项目选用的4相6线制电机,设计了1种基于FPGA的单极性细分驱动电路。在研制过程中,排除了MOS管体二极管带来的不利影响,同时在很大程度上降低了绕组之间互感的影响。电路更改后,相电流波形得到了明显改善,同时使电机的控制精度达到了使用要求。
值得注意的是,电机4相全接时的16细分波形与只接1相时的波形仍存在一定差异,而这正是导致细分不均匀的重要原因。由于这种差异通过接入相数的不同表现出来,依然怀疑为电机绕组之间的互感所造成,该问题有待进一步深入研究。
[1] 刘鼎邦.两相混合步进电机细分驱动的研究[D].长沙:长沙理工大学,2012.LIU Dingbang.Two phase hybrid stepping motor subdivision drive research[D].Changsha:Changsha University of Science and Technology,2012.(in Chinese)
[2] 刘宝志.步进电机的精确控制方法研究[D].济南:山东大学,2010.LIU Baozhi.The study of exactly control stepping motor[D].Jinan:Shandong University,2010.(in Chinese)
[3] 张建彬,黄佐华,杨怀,等.直接电压放大功率驱动的步进电机细分驱动技术研究[J].华南师范大学学报(自然科学版),2004(4):74-77.ZHANG Jianbin,HUANG Zuohua,YANG Huai,et al.Study on the direct voltage amplified and power driven subdividing technology of step motor[J].Journal of South China Normal University(Natural Science Edition),2004(4):74-77.(in Chinese)
[4] 陈学军.混合式步进电机SPWM细分驱动控制技术的研究与实现[D].杭州:浙江工业大学,2007.CHEN Xuejun.Research and development on SPWM subdivided driving method of two-phase hybrid stepping motor[D].Hangzhou:Zhejiang University of Technology,2007.(in Chinese)
[5] 张航鲜.新型步进电机驱动电路的研制[D].西安:西安电子科技大学,2007.ZHANG Hangxian.Design of a newly developed stepper motor driving circuit[D].Xi’an:Xidian University,2007.(in Chinese)
[6] 戴金琪.五相混合式步进电机系统研究[D].大连:大连交通大学,2008.DAI Jinqi.Research on 5-phase hybrid stepping motor system[D].Dalian:Dalian Jiaotong University,2008.(in Chinese)
[7] 康惠林.一种实用两相混合式步进电机细分驱动电路[J].电气传动,2011,41(5):58-61,64.KANG Huilin.Practical micro-stepping drive circuit for two phase hybrid step motor[J].Electric Drive,2011,41(5):58-61,64(in Chinese).
[8] 章烈剽.基于单片机的高精度步进电机控制研究[D].武汉:武汉理工大学,2007.ZHANG Liepiao.Study on controlling stepper motor with high accuracy that based on MCU[D].Wuhan:Wuhan University of Technology,2007.(in Chinese)
[9] 韦克应,姜进青.时间控制式分配泵高速电磁阀驱动电路的设计[J].现代车用动力,2013(4):21-23.WEI Keying,JIANG Jinqing.Design of high-speed solenoid drive circuit for time-controlled distribution pump[J].Modern Vehicle Power,2013(4):21-23.(in Chinese)
[10] 徐志跃,文招金,陈伟海.基于FPGA的两相步进电机细分驱动电路设计[J].电气传动,2008,38(4):59-62.XU Zhiyue,WEN Zhaojin,CHEN Weihai.Design of two phase microstepping driver based on FPGA[J].Electic Drive,2008,38(4):59-62.(in Chinese)
[11] 夏宇闻.Verilog数字系统设计教程,2版[M]..北京:北京航空航天大学出版社,2008:19-75.XIA Yuwen.Verilog digital system design tutorial(the second edition)[M].Beijing:Beihang University Press,2008:19-75.(in Chinese)
[12] 张志利.关于步进电机微步驱动若干问题的讨论[J].微特电机,2000(6):17-19.ZHANG Zhili.Discuss of umpty problems about the tony-step driving to the stepping motor[J].Small&Special Machine,2000(6):17-19.(in Chinese)
[13] 方力,李宏胜,张建华.步进电机高精度细分控制系统设计[J].微电机,2011,44(8):97-100.FANG Li,LI Hongsheng,ZHANG Jianhua.Design of subdivision control system with high accuracy for stepping motor[J].Micro Motors,2011,44(8):97-100.(in Chinese)
[14] 李玲娟.多细分二相混合式步进电机驱动器的研制[D].西安:西北工业大学,2007.LI Lingjuan.Research and development of multi-microstepping driver for two-phase hybrid stepper motor[D].Xi’an:Northwestern Polytechnical University,2007.(in Chinese)
[15] 王盈.步进电机的细分驱动及动态性能仿真[D].大连:大连交通大学,2007.WANG Ying.Subdividing-drive and dynamic performance simulation to the step-motor[D].Dalian:Dalian Jiaotong University,2007.(in Chinese)
[16] 姜杏辉,邹丽新,孙平,等.基于可控电流源的高精度高细分步进电机细分驱动[J].微特电机,2007(5):21-24.JIANG Xinhui,ZOU Lixin,SUN Ping,et al.Subdivision driving technology of stepper motor with high accuracy and high resolution based on controllable current source[J].Small and Special Machine,2007(5):21-24.(in Chinese)
Research on Microstep Control of the Stepping Motor Based on FPGA
GU Yu-xue,ZHANG Xiao-yan,LI Hua-zhong,HE Liu,JIANG Wen-liang
(AECC Aero Engine Control System Institute,Wuxi Jiangsu 214063)
The natural step angle of the stepping motor is so large that the stepping motor can't meet the requirements of high precision micro-displacement.A kind of FPGA-based unipolar drive circuit in theory of microstep control was designed.The circuit has the ability of wing disconnection detection,and can drive the motor to rotate at speed of 2rad/s with its step angle achieves sixteenth of the nature.During the design,the adverse impact caused by the MOSFET body diode was excluded and the influence of mutual inductance between windings was effectively reduced.The experiment result proves that the accuracy of the FPGA-based microstep control circuit meets the system requirements.
stepping motor;FPGA;microstep control;body diode;mutual inductance between windings
V 228.12
A
10.13477/j.cnki.aeroengine.2016.06.003
2016-05-05基金项目:国家重大基础研究项目资助
古玉雪(1987),硕士,主要从事硬件电路研发工作;E-mail:linyu001@126.com。
古玉雪,张小妍,李华忠,等.基于FPGA的步进电机细分控制研究[J].航空发动机,2016,42(6):18-22.GU Yuxue,ZHANG Xiaoyan,LI Huazhong,et al.Research on microstep control of the stepping motor based on FPGA[J]. Aeroengine,2016,42(6):18- 22.
(编辑:栗枢)