汪利建,李 川,杨启帆
(中国航空工业集团公司西安航空计算技术研究所,陕西 西安 710068)
随着科技发展,步进电机在航空航天、医疗器械、机器人等领域的应用愈发广泛,步进电机控制系统逐渐转变为以微处理器+驱动器为核心的控制方式为主,这种控制策略具有轻量化、易于实现、性能可观以及成本可控等优点[1]。目前,机械传动控制技术已经成为工业自动化领域最常用的研究技术之一[2]。在复杂控制系统中,多个步进电机同步控制对系统硬件资源和控制效率提出了严格的要求[3,4]。利用TI公司的重新生成代码(HAL Code Generator,HCG)工具和高端计时器集成开发环境(High End Timer Integrated Development Environment,HET IDE),将TMS570微控制器与DRV84x2驱动器应用在多路步进电机控制系统中,可以有效简化控制电路的复杂度,提高控制效率。
步进电机是将电脉冲信号转换为角位移或线位移的开环控制电机。在步进电机中,当电流流过定子绕组时,会使定子绕组产生矢量磁场,该磁场会带动转子旋转一定的角度[5,6]。每输入一个控制脉冲,电机就会按照特定的角度旋转一步,这个角度叫做步距角。步进电机随着脉冲输入旋转,输入脉冲的周期长,则电机转速慢;输入脉冲的周期短,则转速快[7]。
步进电机共有3种驱动模式,分别是满步驱动、半步驱动以及微步驱动[8]。在实际应用中,为了减少机械传动结构的磨损、提高控制精度,通常采用微步驱动模式[9]。微步驱动的基本原理是控制定子绕组上的电流大小,使定子绕组线圈产生的磁场强度不同,从而导致转子的平衡位置发生变化。
本文采用TMS570LS3137芯片作为主控芯片、DRV8432芯片作为步进电机驱动器进行设计。MS570LS3137芯片是TI公司研发的高性能汽车级微控制器,最大可支持44路脉冲宽度调制(Pulse Width Modulation,PWM)输出,因此可以输出多路步进电机的控制信号[10]。设计中采用HET IDE对多路PWM信号进行设置,采用HCG工具将HET IDE生成的.c文件与.h文件添加至工程中,从而生成可执行文件。HCG工具的增强型高端计时器(Enhanced High-End Timer,NHET)驱动设置界面如图1所示。
图1 HCG工具界面
DRV8432芯片内部集成双全桥电机驱动器,可以根据需求配置为4路半桥驱动、2路全桥驱动或双全桥驱动。该芯片的每路半桥具有独立电源与接地引脚,可以根据实际需求进行配置[11,12]。同时,DRV8432芯片最大支持500 kHz的PWM开关频率,内部集成保护电路,可以识别欠压、过压、过温、过载以及短路等多种异常情况,广泛应用于医疗、工厂自动化以及机器人领域。
基于TMS570LS3137与DRV8432进行多路步进电机控制系统设计,采用两相四线制步进电机作为控制对象,控制原理如图2所示。
将TMS570LS3137作为主控芯片,完成PWM信号输出和外围芯片的使能控制,同时监控后级驱动芯片和步进电机的工作状态,对超温、过压等异常状态及时告警。由于TMS570LS3137芯片能够支持多路PWM信号输出,DRV8432可以同时输出4路驱动信号,针对多路步进电机的控制需求,设计中直接采用多个驱动芯片控制的方式实现[13]。主控芯片同时输出多路PWM控制信号,每路步进电机相互独立、互不影响,采用嵌入式软件对PWM信号的输出频率和占空比进行控制即可完成多路步进电机的同步控制[14]。
以2路步进电机的控制为例,采用HET IDE工具对所需的2路步进电机(8路PWM信号)控制信号的周期和占空比进行设置,其中定时器频率设置为90 MHZ,PWM信号频率设置为40 kHz,占空比为50%。HET IDE工具中对4路PWM信号的设置程序为
L00 CNT {reg=A, irq=OFF, max=99}
L01 MCMP {en_pin_action=ON, pin=0, order=REG_GE_DATA,action=PULSELO, reg=A,data=2, hr_data=64};
L02 MCMP {en_pin_action=ON, pin=1, order=REG_GE_DATA,action=PULSELO, reg=A,data=0, hr_data=4};
L03 MCMP {en_pin_action=ON, pin=2, order=REG_GE_DATA,action=PULSELO, reg=A,data=4, hr_data=0};
L04 MCMP {en_pin_action=ON, pin=3, order=REG_GE_DATA,action=PULSELO, reg=A,data=0, hr_data=0};
L05 BR {next=L00,cond_addr=L00, event=NOCOND}
在嵌入式软件中采用定时器中断来实现步进电机的微步驱动,即在不同时刻控制TMS570LS3137芯片在相应引脚输出期望的PWM控制信号,然后由驱动芯片输出步进电机的实际控制信号。步进电机每接收到1组控制信号,便转动相应的角度,以此实现控制。具体的软件控制逻辑如图3所示。
图3 软件控制逻辑
根据步进电机的控制原理,在软件中控制对应PWM信号的占空比变化,即可完成步进电机的转速控制。
基于实际硬件电路与嵌入式软件进行系统功能验证,通过设定、调节期望PWM控制信号,使用示波器来观测微控制单元(Micro Controller Unit,MCU)输出电压波形和驱动器输出电压波形,并连接实际步进电机进行验证。经过实际测试,结果显示该控制系统中的电压输出波形与期望相符,实际步进电机工作状态良好,能够通过调节对应信号进行启停控制、方向控制以及转速控制。
基于微处理器与驱动器设计多路步进电机控制方案,避免了复杂烦琐的驱动控制电路,具有控制方式简单灵活、简化电路布局布线的优势,同时兼顾了实际电机控制效率与控制精度。经过实际验证与分析,该控制系统能够实现多路步进电机控制,具备较好的工程应用价值。