一旦初始化,系统可同时控制3个两相步进电机,并且可自主完成各种实时关键任务。测试结果表明所设计的控制系统具有数据传输稳定、性价比高、易于控制等优点,达到了预期的设计效果和要求。
关键词:TMC262;TMC429;单片机;步进电机;专用控制芯片
步进电机是一种将电脉冲信号转化为角位移或线位移的电磁机械装置。步进电机的稳定性和可靠性直接影响到工业控制领域的精度,特别是在点胶点焊等高精度运动控制系统中,对于步进电机的精度和稳定性要求更高。所以说,对于步进电机控制系统的研究,不论是在实际效益还是理论价值方面意义都将是巨大的。近年来不少专家学者研制出性能不错的步进电机控制系统,然而这些控制系统具有微处理器需处理的任务量大、PCB板元器件较多、系统不够稳定等缺点,这给系统的可靠性带来了较大的隐患。随着电子技术的发展,步进电机的很多功能单元如加减速控制、微步控制等都走向模块化,并且具有体积小、重量轻、工作稳定、能够实现多轴控制等优点,这给步进电机控制系统的设计和开发带来了很大的方便。
基于以上的考虑,文中利用微控制器AT90CAN128、步进电机运动控制芯片TMC429和步进电机驱动芯片TMC262设计了一种控制驱动一体化的3轴步进电机控制系统。通信方面设计了RS485接口,用于上位机与控制驱动板之间的通信,增加了CAN接口,为后续多轴联动、生产线网络化作功能扩展。
1 系统的总体设计
设计的步进电机控制系统结构框图如图1所示。
在该系统中设计完成的控制兼驱动集成板可作为下位机,PC、PLC和DSP等可作为上位机,上、下位机通过RS485或CAN总线等通讯接口进行通讯。上位机主要负责发送驱动装置(步进电机)的运动控制指令(如位移、速度、加速度等),下位机(微控制器)负责接收指令并对指令进行处理以输出步进电机运动所需要的脉冲信号和方向信号。
2 硬件部分设计
本系统中微控制器采用AT90CAN128,专用控制芯片采用了TRINAMIC公司生产的TMC429和TMC262。系统抛弃了传统的“CPU+外置CAN协议转换器”的方案,选择内置CAN模块的AT90CAN128主要考虑到系统的稳定性、减少电路板元器件的数量、提高系统的集成度和灵活性。TMC429提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器来完成,则需占用大量的系统资源,所以它的使用可将微处理器解放出来,以把资源用在接口的扩展和对步进电机的更高层次的控制上。此外,在TMC262与电机之间还需配置H桥,系统中选用的是互补型MOSFET器件FDD8424H芯片。由于一片步进电机驱动芯片TMC262只能驱动一路步进电机,且需要与4片FDD8424H芯片使用,故系统中共使用了3片TMC262芯片及12片FDD8424H芯片。
2.1 核心控制芯片简介
2.1.1 AT90CAN128单片机简介
AT90CAN128为基于AVR RISC结构的8位低功耗CMOS微处理器。由于其先进的指令集以及单周期指令执行时间,该单片机的数据吞吐率高达1 MIPS/MHz,从而缓解了系统在功率和处理速度之间的矛盾。该单片机大部分引脚与MEGA128兼容,内部结构在继承MEGA128的资源基础上进行了改进,但其最大的特色还在于具有了符合CAN2.0A和CAN2.0B标准的全功能CAN外设模块。AT90CAN128采用Mob(消息对象)方式进行数据的发送和接受,共有15个Mob,它们具有相同的属性。
2.1.2 TMC262步进电机驱动芯片简介
TMC262是一款具有高细分率的两相步进电机驱动芯片,适用于双极性步进电机的驱动。该芯片同时带有专利技术stallguard功能和专利技术coolstep功能,前者可以实现无需传感器精确测试电机负载,后者可以根据电机的负载自动调节驱动芯片输出的电流,避免因为超载而丢步,减少电机的发热量,和其他驱动芯片相比可节省75%的能量。使用该芯片可通过两种方式控制电机:S/D(Step/Direction)模式和SPI模式。芯片内置的微步表提供了与电机电流匹配的正弦值和余弦值。TMC262的低功率、高效率、体积小的设计理念使其成为嵌入式运动控制甚至电池供电设备的完美选择,内部集成的DAC功能可实现对电流的微步控制。在使用芯片之前,需通过SPI接口对TMC262进行相关的配置。
2.1.3 TMC429步进电机控制芯片简介
TMC429是TRINAMIC公司开发的小尺寸、高性价比的二相步进电机控制芯片,可以控制多达3轴步进电机。与TMC428不同,该芯片的CPU时钟频率可高达32 MHz。一旦初始化,TMC429能按照设定的目标位置和目标速度自动运行各种实时关键任务,且目标位置和速度可随时更改。它可以减少外围电路,减少电机控制软件设计的工作量,降低开发成本,缩短研发时间。和TMC262一样,在使用芯片之前,也需通过SPI接口对TMC429进行相关的配置。
TMC429有4种工作模式,可单独为每个步进电机编程。其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和HOLD模式。对于位置应用,RAMP模式比较合适,而对于持续的速度应用,VELOCITY模式比较合适。在RAMP模式,用户只要设置位置参数,TMC429计算出一个矩形速度曲线然后驱动电机自主地运行至目标位置,而且在运动期间,位置可以被任意改变。SOFT模式与RAMP模式比较类似,只是在速度减少时,速度以指数曲线下降。在VELOCITY模式,目标速度被设置,运行时TMC429会考虑用户定义的速度和加速度的极限。在HOLD模式,用户设置目标速度,但是TMC429忽略速度和加速度的任何限制,去实现完全由用户设定的任意速度曲线。此外,TMC429提供了中断机制,用户可根据具体应用要求进行设置。
微处理器通过发送和接收固定长度的数据包对TMC429的寄存器和片内RAM进行读写操作。利用TMC429自带的二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动芯片相连以构成完整的系统。每次微控制器发送数据包给TMC429的同时,微控制器也接受到来自TMC429的数据包。
微控制器与TMC429之间的通信数据包如图2和图3所示。
备注:
RRS:寄存器/RAM选择位(RRS=0:寄存器/RRS=1:RAM)
RW:读写选择位(RW=1:读/RW=0:写)
备注:
INT:中断控制状态输出信号
CDGW(cover dategram waiting):(无握手信号时为0)
RS1、RS2和RS3:限位开关的设置(未激活时为0)
xEQt1、xEQt2和xEQt3:指示相应的步进电机是否到达目标位置