基于专用控制芯片的步进电机运动控制系统设计
摘要: 步进电机是一种将电脉冲信号转化为角位移或线位移的电磁机械装置。步进电机的稳定性和可靠性直接影响到工业控制领域的精度,特别是在点胶点焊等高精度运动控制系统中,对于步进电机的精度和稳定性要求更高。所以说,对于步进电机控制系统的研究,不论是在实际效益还是理论价值方面意义都将是巨大的。
步进电机是一种将电脉冲信号转化为角位移或线位移的电磁机械装置。步进电机的稳定性和可靠性直接影响到工业控制领域的精度,特别是在点胶点焊等高精度运动控制系统中,对于步进电机的精度和稳定性要求更高。所以说,对于步进电机控制系统的研究,不论是在实际效益还是理论价值方面意义都将是巨大的。近年来不少专家学者研制出性能不错的步进电机控制系统,然而这些控制系统具有微处理器需处理的任务量大、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:指示相应的步进电机是否到达目标位置
2.2 专用控制芯片间的硬件连接
专用控制芯片TMC262和TMC429的连接简图如图4所示。
上图为TMC429-L1(QFN32封装)与TMC262的连接简图,TMC429与TMC262的通信方式有SPI模式和step/dir模式,本系统选用后者。CSN_0用于片选TMC429的SPI微控制接口,CSN_1、CSN_2和CSN_3分别用于片选3个TMC262以完成对TMC262的配置。
2.3 CAN总线通讯接口电路设计
系统CAN总线的硬件电路如图5所示。
CAN接口电路主要由3部分组成:单片机AT90CAN128、高速光耦合器6N137和高速CAN总线收发器。其中AT90CAN128主要负责内部CAN控制器的初始化、实现数据的接收和发送等通信任务;6N137起到控制器与工业现场相隔离的目的,可以提高系统的抗干扰能力;TJA1050是控制器区域网络(CAN)协议控制器和物理总线之间的接口,可以为CAN控制器提供差动接收性能。
2.4 RS485总线通讯接口电路设计
系统RS485总线的硬件电路如图6所示。
由于RS-485与TTL电平不兼容,因此两者之间需要有电平转换。目前完成此功能的芯片比较多,本系统中采用MAXIM公司生产的MAX485。该芯片内有接收器与发送驱动器,控制简单,适用于半双工通讯。为了提高通讯接口的抗干扰能力,在MAX485与单片机输出端之间接入光电耦合器;同时在A端和B端之间增加了匹配电阻,以吸收总线上的反射信号,保证正常传输信号时无毛刺。
3 软件部分设计
在硬件电路设计制作的基础上设计了控制系统的软件。控制系统的所有源代码均在AVR Studio 4和ICCAVR集成开发环境中编译和调试。为了便于系统扩展,系统软件设计采用模块化设计。
步进电机控制系统的主程序设计流程图如图7所示。
在软件设计中,由于专用控制芯片分担了不少单片机的软件设计工作,因此通信方面的软件编程是设计的重点。设计的控制系统拟作为下位机,下位机与上位机的通信选择了RS485和CAN接口。RS485接口标准只对接口的电气特性做出规定,使其具有通用性,但不涉及接插件、电缆等,在此基础上用户可以建立自己的高层通信协议。而这个高层通信协议的建立既可以采用已有的应用成熟的通信协议,比如Modbus协议等,也可以由用户自定义RS485的通信协议。本系统采用了Modbus通信协议。CAN总线节点的软件设计主要包括3大部分:CAN节点初始化、报文发送和报文接收。
CAN节点的初始化程序的主要任务就是对总线通信控制器CAN控制器进行合适的配置,以满足系统运行的要求。CAN控制器的初始化包括了工作方式的设置、ID标志符寄存器的设置、接受屏蔽寄存器的设置、波特率参数的设置、消息邮箱Mob控制寄存器的设置和中断允许寄存器的设置等。由于本文设计的步进电机控制系统采用CAN2.0B规范,需要对CAN接收器进行相应的初始化。在完成初始化配置以后,回到工作状态进行正常的通讯任务。
限于篇幅,这里仅给出CAN控制器初始化的部分程序:
对于报文的发送,当CAN总线上的一个节点发送数据时,它以报文形式广播给网络中所有节点。当发送时,CAN控制芯片将数据进行相应的组织和传送,此时网络上其他节点处于接收状态。报文的接收主要有两种方式:中断方式和查询方式。在本设计中,采用的是中断方式,即每传来一个报文,就触发CANSTMOB中的相应中断,然后将接收到的数据从CAN数据寄存器中转移到指定的存储区域内并保存起来。
4 结束语
采用步进电机专用的运动控制芯片TMC429和驱动芯片TMC262设计了控制驱动一体化的步进电机控制系统。经过自动化生产线的实验测试表明,所设计的步进电机控制驱动一体化系统具有高细分、控制精度高和稳定性好等特点。设计的步进电机控制系统可降低软件开发的难度,减少硬件实现的成本,且控制方便。该控制系统可广泛应用于汽车行业和工业运动控制领域。
暂无评论