基于TMC428的步进电机控制系统设计

发布者:EtherealBeauty最新更新时间:2010-02-01 来源: 电脑知识与技术关键字:TMC428  TMC236  三轴控制  SPI接口 手机看文章 扫描二维码
随时随地手机看文章

  引言

  步进电机是一种重要的执行装置,广泛用于工业控制和各种办公设备中,步进电机的稳定可靠运行直接关系到工业控制的精度和设备的质量,特别是在高精度数控系统中更是要求步进电机能够精确运行。如何实现对步进电机的精确可靠控制成为工业控制等系统中的关键技术。多年来很多专家学者研制出很多性能较好的步进电机控制系统,然而,早期的步进电机控制系统体积大,使用的元器件多,这给系统的可靠运行带来了较大的隐患。随着电子技术的发展,很多功能单元都走向模块化和数字化,并且具有体积小,重量轻,工作可靠性高,成本低等优点,而且能够实现多轴控制,这给步进电机控制系统的设计带来了很大的方便。由 TRINAMIC公司生产的TMC428就是这样一款三轴步进电机运动控制芯片。这里使用TMC428控制芯片设计一种三轴步进电机控制系统,本系统可用于经济型三轴数控系统中。

  一、TMC428芯片及其功能

  TMC428是一种小尺寸、高性价比的二相步进电机控制器,包括位置控制、速度控制及微步控制等步进电机常用的控制功能,可同时对三个二相步进电机进行控制。带有2个独立的SPI接口,可分别与微处理器和带有SPI接口的步进电机驱动器相连接,能够与3个TMC236相连接构成菊花链结构。

  1、 结构

  TMC428采用16引脚封装,是由各个单元的寄存器和片内RAM构成的。其内部包括二个外部串行接口、波形发生器和脉冲发生器、微步单元、多口RAM 控制器和中断控制器。如图一所示。SPI串行通信使用32bit数据长度的简单协议,与电机驱动器相连接时,其数据传输速率高达1Mbit/s。时钟输入范围宽且时钟频率最高可达16MHz,采用3.3V或5V的CMOS/TTL兼容电平供电。

TMC428采用16引脚封装

图一

  2、 功能

  TMC428有4种不同的工作模式,对每个步进电机的控制单独编程,其中位置控制有RAMP模式和SOFT模式,速度控制有VELOCITY模式和 HOLD模式。TMC428提供了一组功能不同的寄存器单元和片内RAM,一般从微处理器获得控制指令,微处理器则通过发送和接收固定长度的数据包对 TMC428寄存器和RAM进行读写操作。TMC428的寄存器和片内RAM的功能有所不同。寄存器用于存储电机总体配置参数和运动参数,而片内RAM用于存储 驱动串行接口的配置和微步表。电机总体参数是指对驱动器菊花链中TMC236的配置。运动参数包括各电机的当前位置、目标位置、最大速度、最大加速度、电流比例、波形发生器和脉冲发生器参数以及微步细分分辨率等。片内RAM包括64个地址的数据空间,每个地址可存储24位宽的数据,前32位地址数据是对驱动器菊花链串行通信数据包的配置,后32位地址的数据为微步细分表。

  初始化以后,TMC428即可自动发送数据包到菊花链的每个TMC236,也就是说,驱动串行接口经过初始化后便可以自动工作,而不需要微处理器的参与。只要把位置、速度写进指定的寄存器就可以控制电机。 TMC428的多口RAM控制器可管理数据的存取时序。这样,微处理器就可以在任何时间读写寄存器和片内RAM的数据。

  通过波形发生器可以处理存储在寄存器里的运动参数并计算电机运动速度曲线。脉冲发生器则根据波形发生器计算得到的速度来产生步进脉冲。步进脉冲产生时TMC428的驱动串行接口将自动发送数据包给步进电机驱动器菊花链以驱动步进电机。当采用微步控制时,微步单元即开始处理根据脉冲发生器产生的步进脉冲,同时根据选择的微步分辨率来产生全步、半步和微步脉冲,并通过驱动串口送给驱动器菊花链。

  驱动串行接口是TMC428与驱动器菊花链之间的通信接口。从 TMC428到驱动器之间的串行数据包的长度是可配置的,以适应由不同类型和厂家的电路构成的SPI环形结构,最大数据长度为64bit。初始化后,TMC428与步进电机驱动器之间的通信是自动完成的。不同类型的带有SPI接口的驱动器都可以混合构成菊花链结构与TMC428进行连接。

  二、系统分析

  本系统采用MCS51单片机作为微处理器,用于系统的控制和指令发布,这是整个控制系统的核心,系统的各种逻辑和数量计算都有单片机完成。由于系统采用SPI串行通信方式,而51单片机本身不带有SPI接口,所以在单片机与TMC428必须独立SPI专用接口模块进行数据转换,这里采用MCP2510 SPI接口芯片。上电以后,单片机首先对TMC428进行初始化,设置初始的位置、速度以及加速度等运动参数,并且配置菊花链串行通信数据和微步表。由于运动参数被配置在TMC428的功能寄存器中,在工作过程中可以根据实际要求在线更改以适应实际运动过程,而菊花链串行通信数据和微步表是存放在片内RAM中,上电以后这些参数一般不能更改,所以在初始化时要对这些参数进行精确计算。采用3个TMC236构成一个菊花链,每个 TMC236控制一个步进电机,当初始化完成后,TMC428可以脱离单片机自动地把控制数据发送给TMC236实现对电机的控制,但由于TMC236所发出的控制信号比较弱,不足以驱动电机,所以在TMC236发出的控制信号必须进过功率放大才能驱动电机。系统结构如图二所示。

 系统结构

图二

  三、硬件设计

  本系统单片机选用AT89S52,系统时钟频率采用16MHZ,由于TMC428的最高工作频率能够达到16MHZ,但TMC236的PWM操作频率不能超过100KHZ,所以为了方便设计本系统采用分频电路对16MHZ的时钟频率分频为20KHZ,TMC428和TMC236都采用同一20KHZ时钟频率。为减小电源的复杂性,系统由单一+5V直流电源供电。由于本系统中TMC428不使用内部中断,所以3个参考开关输入必须接地,同时没有使用 3.3V电源,所以V33引脚必须通过一个470nF的电容接地,+5V输入电源要通过一个100nF的电容滤波,以保证TMC428的可靠运行。驱动 SPI接口的数据输入线SDI_S引脚要通过一个阻值为10K的电阻下拉。TMC428的nscs_s引脚作为3个TMC236使能信号与CSN引脚相连。控制数据通过SDO_S引脚传送至TMC236的SDI引脚中,由于采用的是菊花链形式,所以3个TMC236通过各自的SDO——SDI两个引脚相串联。在TMC236电路设计中,20KHZ的外部时钟从OSC引脚输入。由于TMC236内部集成了HVCMOSFET构成的双全桥驱动电路,它采用恒流斩波驱动方式来驱动双极性二相步进电机,其中电机的供应电源由VS引脚输入,但必须在VS引脚上连接220pF和100uF的电容进行滤波,在本系统中采用+12V的直流电源作为电机两相绕组的励磁电源。TMC236的OA1和OA2连接步进电机的A相励磁绕组,而OB1和OB2连接步进电机的B相励磁绕组。另外,为了限制电机的最大电流,必须对TMC236双全桥驱动电路设置限流电阻Rs,Rs电阻的设置可根据如下计算公式计算:

  其中Imax为电机所允许的最大电流,在这里Imax=1030mA,所以计算电阻Rs=0.33Ω。本系统采用脉冲变压器作为功率放大装置直接对步进电机供电。系统的主电路如图三所示。

系统的主电路

图三

  四、软件设计

  控制系统的软件主要完成对TMC428的初始化以及控制参数计算和发送的工作。在初始化过程中首先要对TMC428的工作模式进行设置,一个是位置控制模式和速度控制模式,另外就是TMC428所要控制的步进电机的个数。这些参数的设置是通过微处理器向TMC428的相关寄存器写数据来完成。其中位置和速度控制模式寄存器的地址为1010,在本系统中位置控制采用RAMP模式,速度控制采用VELOCITY模式。由于本系统是三轴控制设计,所以TMC428要同时对三个步进电机进行控制,因此在步进电机全局配置参数寄存器设置中要把寄存器的地两位设置为10,其他位采用默认值。根据 TMC428的功能要求,每个电机都有自己的配置寄存器,对于电机的初始位置和初始速度都要在各自寄存器中单独设置。在初始化过程中对电机的目标速度、目标位置、实际速度和位置以及加速度和速度的最大值、最小值进行设置00地址表示电机1,01地址表示电机2,10地址表示电机三,其寄存器地址范围为 0000~1110。当初始化完成后根据实际需要微处理器在任意时刻都可以改变寄存器和片内RAM中的数据以适应实际控制。本系统的软件工作过程如图四所以。

系统的软件工作过程

图四

  五、总结

  采用专用步进电机运动控制器和驱动电路组成的系统具有外围电路简单、系统抗干扰能力强和可靠性高等优点,可减少控制电路的开发成本。整个系统除了电源之外只有5个IC,因此,体积小,控制简单,特别适用于3轴步时电机的驱动。实验证明该驱动器控制的步时电机定位精度高,加、减速性能良好,同时,启停、反转性能也很优良。

关键字:TMC428  TMC236  三轴控制  SPI接口 引用地址:基于TMC428的步进电机控制系统设计

上一篇:微型步进电机及普通恒频脉宽调制细分电路
下一篇:柴油发电机组转速控制半物理仿真

推荐阅读最新更新时间:2024-03-30 21:30

25.SPI接口原理与配置
一。 SPI接口原理 主机给从机发送8个位的同时,从机也给主机传回8个位,即一个字节 时钟信号的相位和极性由SPI_CR寄存器的CPOL和CPHA位来控制,能够组成4种时序关系。 CPHA控制在时钟的第几个边沿数据被采集。 CPOL= 1 说明时钟信号在空闲时是高电平。 CPOL= 0 说明时钟信号在空闲时是低电平。 CPHA= 1,在时钟信号的第二个边沿数据被采集。 CPHA= 0 时表示数据在时钟信号的第一个边沿被采集。 注:要根据从机的相位和极性来配置主机的相位和极性。主机要与从机匹配。 SPI引脚配置模式: 二。 SPI寄存器函数配置 1.
[单片机]
25.<font color='red'>SPI接口</font>原理与配置
STM32模拟SPI接口
做单片机开发的时候经常需要用到模拟spi接口,这种写法不错的,网上很多类似的,我也拿来主义了。 #define MOSI_H GPIO_SetBits(GPIOB, GPIO_Pin_10) #define MOSI_L GPIO_ResetBits(GPIOB, GPIO_Pin_10) #define SCLK_H GPIO_SetBits(GPIOB, GPIO_Pin_13) #define SCLK_L GPIO_ResetBits(GPIOB, GPIO_Pin_13) #define MISO GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) unsigned char SPI_
[单片机]
TMC428型3步进电机控制器的原理及应用
摘要:TMC428是TRINAMIC公司最新开发的步进电机运动控制器,它可减少电机控制软件设计的工作量,降低开发成本。以它为核心(包括TMC236型步进电机驱动器)构成的3轴步进电机驱动控制系统具有尺寸小、控制简单的优点,可同时控制3个两相步进电机。 关键词:步进电机 控制器 TMC428 1 主要性能特点 TMC428是小尺寸、高性价比的二相步进电机控制芯片。它带有二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动器相连以构成完整的系统。其控制指令可由微处理器通过SPI接口给定。TMC428提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器
[传感技术]
AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现
串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,它允许CPU与TTL移位寄存器、A/D或D/A转换器、实时时钟(RTO)、存储器以及LCD和LED显示驱动器等外围接口器件以串行方式进行通讯。 SPI总线只需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件,其硬件功能很强,实现软件相当简单。串行A/D转换器具有电路简单、工作可靠的特点,而ARM芯片被设计用于手持设备以及普通的嵌人式应用的集成系统,将上述两种实用的芯片和SPI总线技术相结合以实现数据采集十分有效。 1 AD7888的功能与使用 AD7888是美国模拟器件公司推出的一款
[嵌入式]
MikroC写的ATmega16驱动spi接口128x64屏例子
MikroC写的ATmega16驱动spi接口128x64屏例子带仿真。自带驱动库,图片转换成数组的工具也集成在软件内,可到官网下载无须注册。 单片机源程序如下: const code char truck_bmp ; const code char B_bmp ; // Port Expander module connections sbit SPExpanderRST at PORTB0_bit; sbit SPExpanderCS at PORTB1_bit; sbit SPExpanderRST_Direction at DDB0_bit; sbit SPExpanderCS_Direction at DDB1_bi
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved