基于TMC428控制芯片的3轴步进控制系统
2009-02-21
作者:高伟
3轴步进电机控制芯片-TMC428的原理以应用
(苏州钧信自动控制有限公司 高伟)
摘 要:专用步进电机控制器可以控制多达3轴步进电机,内部集成波形发生器,脉冲发生器,可以实现3轴联动以及独立动作。可大大减少外部电路的设计,减轻上位微处理器的负担。
关键词:SPI ; 控制 ; 波形发生器 ; 脉冲发生器
目前许多设备上需要用到多个电机的控制,在设计开发过程中自然会增加开发难度,而且难度随着控制轴数的增多而增大。TMC428是TRINAMIC公司开发的3轴步进电机控制芯片,它可以减少外围电路,减少电机控制软件设计的工作量,降低开发成本,缩短研发时间。
TMC428具有系统所需的所有运动控制功能,以其为核心控制3个TMC2X6或TMC2X9(该公司的驱动芯片)构成3轴步进系统的控制和驱动功能,该控制系统具有体积小,结构简单,内部可构成虚拟闭环等许多优点。IO部分可以由其上位的微控制器来实现。
1.主要性能
TMC428是小尺寸、高性价比的二相步进电机控制芯片。它带有二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动器相连以构成完整的系统。其控制指令可由微处理器通过SPI接口给定。TMC428提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器来完成,则需占用大量的系统资源,所以它的使用可将微处理器解放出来,以把资源用在接口的扩展和对步进电机的更高层次的控制上。此外,TMC236也是TRINAMIC公司开发的带有串行接口的步进电机驱动器。3个TMC236连结构成的菊花链(Daisychain)结构便是一种基于串行通讯的网络结构,可以使多个具有串行通信接口的设备以接力的方式传递数据。TMC428可以通过SPI接口与它们相连接,以同时控制3个二相步进电机。
TMC428的主要特点如下:
● 可以控制多达3轴的2相步进电机而且各轴之间可以独立运行
● 与微控制芯片和驱动芯片通过简单的SPI通讯,使用简单,便于构成虚拟的闭环网络,控制器可以时刻得知驱动器的状态
● 内有24bit位置计数器
● 根据微处理器给定的电机运动参数(位置,速度、加速度),依照梯形或三角形的速度由线产生驱动脉冲波形和顺序,来对电机进行位置和速度控制。可以在电机运行过程中更改电机参数如速度,加速度,目标位置等。
● 可微步控制。采用6位分辨率的微步细分可实现64,32,16,8,4,2,1。每个电机可分别选择其需要的微步分辨率。满步频率最高达20kHz。
● 通过可编程电流比例控制,可以使电机在不同的工作状态下采用大小不同的工作电流。控制电机工作可在8个档次上,分别是最大电流的12.5%、25%、37.5%、50%、62.5%、75%、87.5%、100%
●根据不同的应用提供有SSOP16、SOP24,DIL20三种封装可选。如图1
图1 不同的封装方式
内部结构及工作原理
图3 TMC428内部结构
TMC428的内部结构如图3所示。TMC428是由各个单元的寄存器和片内RAM构成的。其内部包括二个外部串行接口、波形发生器和脉冲发生器、微步单元、多口RAM控制器和中断控制器。
TMC428一般从微处理器获得控制指令,微处理器则通过发送和接收固定长度的数据包对TMC428寄存器和RAM进行读写操作。TMC428的寄存器和片内RAM的功能有所不同。寄存器用于存储电机总体配置参数和运动参数,而片内RAM用于存储 驱动串行接口的配置和微步表。电机总体参数是指对驱动器菊花链中TMC236的配置。运动参数包括各电机的当前位置、目标位置、最大速度、最大加速度、电流比例、波形发生器和脉冲发生器参数以及微步细分分辨率等。片内RAM包括64个地址的数据空间,每个地址可存储24位宽的数据,前32位地址数据是对驱动器菊花链串行通信数据包的配置,后32位地址的数据为微步细分表。
初始化以后,TMC428即可自动发送数据包到菊花链的每个TMC2X6或TMC2X9驱动芯片,也就是说,驱动串行接口经过初始化后便可以自动工作,而不需要微处理器的参与。只要把位置、速度写进指定的寄存器就可以控制电机。TMC428的多口RAM控制器可管理数据的存取时序。这样,微处理器就可以在任何时间读写寄存器和片内RAM的数据。
通过波形发生器可以处理存储在寄存器里的运动参数并计算电机运动速度曲线。脉冲发生器则根据波形发生器计算得到的速度来产生步进脉冲。步进脉冲产生时TMC428的驱动串行接口将自动发送数据包给步进电机驱动器菊花链以驱动步进电机。当采用微步控制时,微步单元即开始处理根据脉冲发生器产生的步进脉冲,同时根据选择的微步分辨率来产生全步、半步和微步脉冲,并通过驱动串口送给驱动器菊花链。
驱动串行接口是TMC428与驱动器菊花链之间的通信接口。从TMC428到驱动器之间的串行数据包的长度是可配置的,以适应由不同类型和厂家的电路构成的SPI环形结构,最大数据长度为64bit。初始化后,TMC428与步进电机驱动器之间的通信是自动完成的。不同类型的带有SPI接口的驱动器都可以混合构成菊花链结构与TMC428进行连接。
4、应用
4.1 兼容性
TMC428与大多数厂商生产的步进电机驱动电路兼容。它可以直接连接带有SPI口的步进电机驱动器,也可以通过附加的器件连接常用的并口驱动器。甚至带有步进、方向输入的步进电机驱动器也可以由TMC428来控制。将步进电机驱动芯片TMC2X6或TMC2X9非常简单地连接成串行菊花链结构,用TMC428构成3轴步进电机控制系统进行控制可更好地发挥TMC428的特点。
4.2 状态检测
实时监测电机运行状态对整个系统的安全和控制是很重要的,TMC428就提供有状态检测功能。每次每处理器发送数据包给TMC428的同时,TMC428会返回数据给微处理器。大部分带有串行口的电机驱动电路都提供有不同的状态位(工作,不工作等)和错误标志(短路,开路,温度过高等)。这样,TMC428就可以在任何时候提供当前电机的运动参数和工作模式以及各状态位。从电机驱动菊花链返回给TMC428的数据包有48bit长。TMC428将其放在二个24bit的寄存器中。这样,微处理器就可以直接读取这些寄存器里的信息,比如在可以电机运动过程中时间检测电机位置,速度,加速度甚至电流等参数。
5.系统的构成
采用RAM或简单,廉价的单片机做系统的微处理器,结合TMC428和驱动芯片TMC2X6(TMC236,239)或TMC2X9(TMC239,249)构成3轴步进电机的控制和驱动。其中TMC236,TMC246内部本身集成了HVCMOSFET构成的双桥驱动电路,采用恒流斩波驱动方式来驱动双极性两相步进电机,并具有功耗低,效率高的优点。整个系统如图4所示
图4 基于TMC428的3轴步进驱动控制系统电路
由图4可见,采用专用步进电机运动控制器和驱动电路组成的系统具有外围电路简单、系统抗干扰能力强和可靠性高等优点,可减少控制电路的开发成本。整个系统除了电源之外只有5个IC,因此,体积小,控制简单,特别适用于3轴步时电机的驱动。实验证明该驱动器控制的步时电机定位精度高,加、减速性能良好,同时,启停、反转性能也很优良。被广泛应用于安防设备,仪器仪表,办公自动化等众多领域。
另外为了便于客户提高系统的控制精度TRINAMIC还开发出了可以构成三轴闭环控制的编码器处理芯片TMC423可以接收3轴增量式编码器输入。