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

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

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

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

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

  二、系统分析

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

 系统结构

图二

  三、硬件设计

  本系统单片机选用AT89S52,系统时钟采用16M,由于TMC428的{zg}工作频率能够达到16MHZ,但TMC236的操作频率不能超过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内部集成了HVFET构成的双全桥驱动电路,它采用恒流斩波驱动方式来驱动双极性二相步进电机,其中电机的供应电源由VS引脚输入,但必须在VS引脚上连接220pF和100uF的电容进行滤波,在本系统中采用+12V的直流电源作为电机两相绕组的励磁电源。TMC236的OA1和OA2连接步进电机的A相励磁绕组,而OB1和OB2连接步进电机的B相励磁绕组。另外,为了限制电机的{zd0}电流,必须对TMC236双全桥驱动电路设置限流Rs,Rs电阻的设置可根据如下计算公式计算:

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

系统的主电路

图三

  四、软件设计

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

系统的软件工作过程

图四

  五、总结

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

  • 0

郑重声明:资讯 【基于TMC428的步进电机控制系统设计】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——