摘要:TMC428是TRINAMIC公司最新开发的步进电机运动控制器,它可减少电机控制软件设计的工作量,降低开发成本。以它为核心(包括TMC236型步进电机驱动器)构成的3轴步进电机驱动控制系统具有尺寸小、控制简单的优点,可同时控制3个两相步进电机。
关键词:步进电机 控制器 TMC428
1 主要性能特点
TMC428是小尺寸、高性价比的二相步进电机控制芯片。它带有二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动器相连以构成完整的系统。其控制指令可由微处理器通过SPI接口给定。TMC428提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器来完成,则需占用大量的系统资源,所以它的使用可将微处理器解放出来,以把资源用在接口的扩展和对步进电机的更高层次的控制上。此外,TMC236也是TRINAMIC公司开发的带有串行接口的步进电机驱动器。3个TMC236连结构成的菊花链(Daisychain)结构便是一种基于串行通讯的网络结构,可以使多个具有串行通信接口的设备以接力的方式传递数据。TMC428可以通过SPI接口与它们相连接,以同时控制3个二相步进电机。
TMC428的主要特点如下:
·根据不同的应用提供有SSOP16、SOP24、DIL20三种封装可选形式。
·可以同时对3个二相步进电机进行控制,所有电机可独立工作。
·根据微处理器给定的电机运动参数(位置,速度、加速度),依照梯形或三角形的速度由线产生驱动脉冲波形和顺序,来对电机进行位置和速度控制。它有4种工作模式。其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和HOLD模式。
·可微步控制。采用6位分辨率的微步细分。包括满步、半步直至64细分。每个电机可分别选择其需要的微步分辨率。满步频率最高达20kHz。
·通过可编程电流比例捉控制,可以使电机在不同的工作状态下采用大小不同的工作电流。控制电机工作可在8个档次上,分别是最大电流的12.5%、25%、37.5%、50%、62.5%、75%、87.5%、100%。
·可以对多种参数进行设置,包括最大加速度、最大速度、加速运行和位置保持时电机线圈的电流大小、微步细分分辨率、波形发生器和脉冲发生器的参数等20个多个参数。
·可在线改变运动参数(位置、速度、加速度)。
·带有4线串行SPI接口,串行通信使用32bit数据长度的简单协议。使用简单。
·可通过另一个SPI口与电机驱动器连接,其数据传输率高达1Mbit/s。
·低功耗(1.25mA,4MHz),时钟输入范围宽且时钟频率最高可达16MHz。
·3.3V或5V的CMOS/TTL兼容电平供电。
2 引脚功能
图1所示为TMC428采用SSOP16封装时的引脚排列,各个引脚的功能如下:
1,2,3脚(REF1,2,3):参考开关输入1,2,3,可以外接限位开关,以引发TMC428内部中断功能。本文没有使用该功能。
4脚(TEST):测试脚。使用时接地,接地应尽可能在引脚附近。
5脚(CLK):时钟输入。
6脚(nSCS_C):SPI控制接口的片选信号输入,低电平有效。
7脚(SCK_C):SPI控制接口的时钟输入。
8脚(SDI_C):SPI控制接口的数据输入。
9脚(SDO_C):SPI控制接口的数据输出,高阻。
10脚(SDO_S):驱动SPI接口的数据输出。
11脚(SCK_S):驱动SPI接口的时钟输出。
12脚(nSCS_S):驱动SPI接口的片选信号输出。
13脚(V5):+5V电源。
14脚(V33):+3.3V电源,应外接470nF电容器。
15脚(GND):地。
16脚(SDI_S):驱动SPI接口数据输入,应接上拉或下拉电阻器。
3 内部结构和工作原理
TMC428的内部结构如图2所示。TMC428是由各个单元的寄存器和片内RAM构成的。其内部包括二个外部串行接口、波形发生器和脉冲发生器、微步单元、多口RAM控制器和中断控制器。
TMC428一般从微处理器获得控制指令,微处理器则通过发送和接收固定长度的数据包对TMC428寄存器和RAM进行读写操作。TMC428的寄存器和片内RAM的功能有所不同。寄存器用于存储电机总体配置参数和运动参数,而片内RAM用于存储 驱动串行接口的配置和微步表。电机总体参数是指对驱动器菊花链中TMC236的配置。运动参数包括各电机的当前位置、目标位置、最大速度、最大加速度、电流比例、波形发生器和脉冲发生器参数以及微步细分分辨率等。片内RAM包括64个地址的数据空间,每个地址可存储24位宽的数据,前32位地址数据是对驱动器菊花链串行通信数据包的配置,后32位地址的数据为微步细分表。
初始化以后,TMC428即可自动发送数据包到菊花链的每个TMC236,也就是说,驱动串行接口经过初始化后便可以自动工作,而不需要微处理器的参与。只要把位置、速度写进指定的寄存器就可以控制电机。TMC428的多口RAM控制器可管理数据的存取时序。这样,微处理器就可以在任何时间读写寄存器和片内RAM的数据。
通过波形发生器可以处理存储在寄存器里的运动参数并计算电机运动速度曲线。脉冲发生器则根据波形发生器计算得到的速度来产生步进脉冲。步进脉冲产生时TMC428的驱动串行接口将自动发送数据包给步进电机驱动器菊花链以驱动步进电机。当采用微步控制时,微步单元即开始处理根据脉冲发生器产生的步进脉冲,同时根据选择的微步分辨率来产生全步、半步和微步脉冲,并通过驱动串口送给驱动器菊花链。
驱动串行接口是TMC428与驱动器菊花链之间的通信接口。从TMC428到驱动器之间的串行数据包的长度是可配置的,以适应由不同类型和厂家的电路构成的SPI环形结构,最大数据长度为64bit。初始化后,TMC428与步进电机驱动器之间的通信是自动完成的。不同类型的带有SPI接口的驱动器都可以混合构成菊花链结构与TMC428进行连接。
4 应用
4.1 兼容性
TMC428与大多数厂商生产的步进电机驱动电路兼容。它可以直接连接带有SPI口的步进电机驱动器,也可以通过附加的器件连接常用的并口驱动器。甚至带有步进、方向输入的步进电机驱动器也可以由TMC428来控制。将步进电机驱动电路TMC236非常简单地连接成串行菊花链结构,用TMC428构成3轴步进电机控制系统进行控制可更好地发挥TMC428的特点。
4.2 状态检测
实时监测电机运行状态对整个系统的安全和控制是很重要的,TMC428就提供有状态检测功能。每次每处理器发送数据包给TMC428的同时,TMC428会返回数据给微处理器。大部分带有串行口的电机驱动电路都提供有不同的状态位(工作,不工作等)和错误标志(短路,开路,温度过高等)。这样,TMC428就可以在任何时候提供当前电机的运动参数和工作模式以及各状态位。从电机驱动菊花链返回给TMC428的数据包有48bit长。TMC428将其放在二个24bit的寄存器中。这样,微处理器就可以直接读取这些寄存器里的信息。
图3
5 系统构成的应用
笔者采用DSP作为系统的微处理器,结合TMC428和TMC236构成步进电机驱动控制系统。TMC236内部集成了HVCMOSFET构成的双全桥驱动电路,它采用恒流斩波驱动方式来驱动双极性二相步进电机,并具有功耗低、效率高的特点。图3所示就是3个TMC236构成3轴电机驱动器并由TMC428进行控制的原理电路图。
由图3可见,采用专用步进电机运动控制器和驱动电路组成的系统具有外围电路简单、系统抗干扰能力强和可靠性高等优点,可减少控制电路的开发成本。整个系统除了电源之外只有5个IC,因此,体积小,控制简单,特别适用于3轴步时电机的驱动。实验证明该驱动器控制的步时电机定位精度高,加、减速性能良好,同时,启停、反转性能也很优良。