资讯详情

TMC5160 静音驱动器

版权声明:本文为CSDN博主「qlexcel」遵循原创文章CC 4.0 BY-SA版权协议,请附上原始来源链接和本声明。 原文链接:https://blog.csdn.net/qlexcel/article/details/104764286

一、介绍

TMC5160和TMC2160可以PIN对PIN替换,TMC5160本身具有梯形曲线加速功能,与之相连TMC2160唯一的区别。所以下面都是TMC5160来做介绍。

二、TMC5160三种工作模式

TMC其工作模式由两个引脚控制:SD_MODE和SPI_MODE。

1、当SD_MODE接地,SPI_MODE拉高,TMC5160在模式1中工作。在这种模式下,用户通过SPI接口来设置TMC5160的寄存器。TMC5160使用自己的梯形曲线发生器来控制步进电机的旋转,用户需要设置:开始运动速度VSTART、第一段折线末速V1、最大速度VMAX、停止速度VSTOP、第一段折线的加速度A1.第二段折线加速度AMAX、第四段折线减速DMAX、第五段折线减速D1。设置上述参数,然后设置工作模式:速度模式和位置模式。最后,设置目标位置。

如果速度模式运行,电机将开始旋转,而无需设置目标位置。如果是位置模式,则需要设置目标位置,目标位置不同于电机的当前位置值。下图中的红线是电机的实际速度。无论是速度模式还是位置模式,电机的运行过程都将按下图进行。

2、当SD_MODE接高电平,SPI_MODE拉高,TMC在模式2中工作5160。在这种模式下,用户通过SPI接口来设置TMC5160的寄存器。TMC5160的功能和DRV类似于8825,步进电机的运动由脉冲和方向引脚控制。

3、当SD_MODE接高电平,SPI_MODE接地,TMC在模式3中工作5160。SPI接口失能,TMC5160的工作状态由CFG步进电机的运动由脉冲和方向引脚控制。TMC5160可以完全独立工作,无需连接CPU。

三、TMC5160的功能模块

TMC将您的功能分为以下独立的功能模块:

1、stealthChop2:使用电压PWM斩波,电机绝对无噪声,但只能用于电机低速状态。

2、spreadCycle:在斩波周期中,采用传统的恒流斩波MOS可控制管道开启时间、快速衰减时间和慢速衰减时间。

3、stallGuard2:通过测量电机的反电势来测量电机的负载。测量负载时,可根据负载自适应调整电流,检测堵塞等。当电机转速过低(如1秒1圈)时,反电势过小,或电机转速过高,反电势达到电源电压,导致线圈无法输出正弦电流stallGuard2不能正常测量。

4、coolStep:根据stallGuard2测量负载值,自动调节驱动电流,使其最小化。

5、dcStep:电机速度根据驱动电流和负载自动调节,使其最大化而不失步。当负载增加时,速度会自动降低。

6、microPlyer:细分内插器。在模式2和3工作时,外部输入STEP信号控制电机转动,microPlyer两个可以自动使用STEP脉冲之间插入2到256个微步,使电机旋转更加平稳。microPlyer会测量两个STEP将脉冲间隔等分为2-256个,TMC当输入脉冲时,5160自动以2到256细分驱动电机TMC5160输入2-256个脉冲,然后对应相同的细分,从而完成细分内插。局限在于,STEP信号必须相对稳定,否则会影响microPlyer测量脉冲间隔时间。

7、ABN编码器接口:TMC5160可以外接增量编码器,不仅可以判断失步,还可以实现运动控制器的归零功能(替代参考开关)。编码器分辨率可以设置为编程预分频器,以适应电机分辨率。TMC5160包含32位编码器计数器。

四、TMC5160的SPI接口

TMC在整个数据帧中,5160的数据帧是固定的40位,SPI电影的选择应保持有效(低电平)。数据帧由一个字节的地址和四个字节的数据组成。读取操作,地址字节最高为0。写作操作,地址字节最高为1。

无论是读操作还是写操作,都在向TMC5160同时传输数据,TMC5160会通过MISO传输状态寄存器SPI_STATUS的值 上次操作的数据。比如,向CHOPCONF寄存器(地址0x6C)写入0x000100C3数据,再向IHOLD_IRUN寄存器(地址0x10)写入0x00061F02数据,再向TPOWER_DOWN寄存器(地址0x11)写入0x0000000A数据,SPI的MOSI和MISO如下图所示:

可见在0x6C写入0x000100C同时3数据,MISO上会收到0x72和0x000003E8,这个0x72.传输状态寄存器SPI_STATUS的值,0x000003E8是上次操作的数据内容。接下来向0x10写入0x00061F02数据同时收到0x39和0x0x000003E8,0x39寄存器处于传输状态SPI_STATUS的值,0x000100C三是上次操作的数据内容。上次操作为0x6C写入0x000100C3数据,所以此时返回的数据是0x000100C3。

传输状态寄存器SPI_STATUS的内容为:

所以,利用TMC5160通信特性。可实时获得SPI_STATUS从而知道值TMC状态5160。它的返回机制也可以用来判断SPI传输是否受到干扰,数据是否错误。

同样的阅读操作过程也是如此,需要发送两个40位数据帧来读取寄存器的值。比如读XACTUAL寄存器(地址0x21),发送0x21 0x同时收到一切SPI_STATUS 前32位操作值再次发送0x21 0x这个时候才会收到万万SPI_STATUS XACTUAL寄存器值。过程如下:

五、速度阈值和电流参数

1.上图显示TMC5160中4个电流参数的关系:I_RUN、I_HOLD、TPOWERDOWN(上图中的TZEROWAIT)、IHOLDDELAY。I_RUN电机运行电流,I_HOLD是静止电流,TPOWERDOWN是电机停止到电流开始降低的延迟时间,IHOLDDELAY是电流从I_RUN降到I_HOLD的时间。

2.显示三个速度阈值对应的斩波模式。

当速度低于VPWMTHRS,使用stealthChop进行电压PWM控制。

当速度处于VPWMTHRS和VHIGH之间,使用spreadCycle恒流斩波控制。

当速度大于VHIGH,采用恒定关闭时间的斩波模式。

只有当速度处于VCOOLTHRS和VHIGH之间,stallGuard2和coolStep才能使用。

六、stealthChop介绍

1.参数自整定

stealthChop不需要更多的配置,其参数可以自整定。用户可以配置参数自整定的相关设置,或者将存储的参数作为参数自整定阶段的初始值。自整定分为两个步骤:

步骤1:自整定PWM_OFS参数。让电机根据运行电流值静止一段时间。(确保电机电流等于运行电流值。因此,如果电机静止时电流降低,需要先将驱动器切换回步进脉冲的运行电流IHOLD 设置成IRUN 。)

步骤2:自整定PWM_GRAD参数。让电机以一定的速度运行,使电机电流达到设定的运行电流。(典型速度范围为60-300 转/分)

参数是否自整定成功的依据是步骤2中阅读PWM_SCALE_AUTO看它是否下降到接近0,如果下降到接近0,说明成功。

不法判断步骤1是否完成,但如果步骤1尚未完成,则不能进行步骤2。

有两个自整定参数:PWM_OFS 和PWM_GRAD,当电机类型发生变化时,需要重新整理参数。修改GLOBALSCALER或VS电压会使参数自调过程无效。参数可以从寄存器中自整定PWM_OFS_AUTO 和PWM_GRAD_AUTO中读保存到程序中,然后直接赋值TMC5160就够了,不需要再整理了。

详见流程图:

2、PWM斩波频率

使用下表配置TMC5160内部时钟频率为12MHz。下表中的绿色越深,越推荐。

七、spreadCycle

相对于stealthChop 的电压PWM 斩波控制,spreadCycle 类似于周期电流控制模式DRV8711)。因此,可以快速反应电机速度或电机负载的变化。有两种周期斩波模式有两种: 一种称为spreadCycle斩波算法和恒定关断时间斩波模式。恒定关闭时间模式有三个循环阶段:导通、快速衰减和慢速衰减。spreadCycle 模式循环有四个阶段:导通、慢衰减、快衰减和第二慢衰减。

1、spreadCycle计算周期和参数

如上图所示,在on阶段,MOS当管道打开线圈时,电流开始上升target HSTRT,MOS管关断进入慢衰减阶段,慢衰减持续TOFF当电流下降到target-HSTRT进入第二慢衰减阶段,第二慢衰减阶段继续TOFF设定时间后,完成斩波周期。

进入on首先,快速衰减阶段TBL在此期间,电流比较器不工作之后电流比较器才开始工作,而on阶段和快衰减阶段又是依靠电流比较退出的,因此on阶段和快衰减阶段的时间一定会大于TBL。

        要把斩波频率控制在16 kHz 到30 kHz。其中on阶段的时间由target、HSTRT、HEND决定,由HSTRT、HEND控制的滞环宽度会影响on阶段的时间。两个慢衰减时间由TOFF决定。

        慢衰减阶段通常占静止斩波周期的约30%-70%,并且对于降低电机和驱动器功耗是重要的。

2、磁滞参数HSTRT和HEND设置

        为找到最佳设置,通常从一个低的磁滞设置(例如HSTRT=0,HEND=0 )开始,逐渐增加HSTRT,直到电机在低速设置下平稳运行。可通过测量电流探头或采样电阻上电压测量电机电流时来更好的检查这一点。如果磁滞设置太小,正弦波的两个半波零点附近的之间有小的畸变。在中速(即每秒100至400步)时,滞环设置过小将导致电机嗡嗡声和振动增加。过高的滞环设置将导致斩波频率降低和斩波噪声增加,同时不会对波形产生任何益处。

        较高电流的电机通常也具有较低的线圈电阻,因此为磁滞选择低到中的默认值(例如,有效滞环= 4 )通常适合大多数应用。设置过低将导致微步精度降低,而设置过高将导致更多斩波噪声和电机功耗。当用示波器测量线圈在中等电流下电机静止时的采样电阻电压时,过低的设置会显示快衰减阶段小于消隐时间。调整磁环让快衰减时间比消隐时间稍长是最佳设置。如果难以达到要求,则可以减少TOFF设置。

3、经典恒定关断时间斩波器

        经典的恒定关断时间斩波器是spreadCycle的替代方案。在参数调节后,同样也有良好的性能。在dcStep的全步操作中,系统会与经典恒定关断时间斩波器(自动)结合工作。经典的恒定关断时间斩波器在每个导通阶段之后采用固定时间的快速衰减。

八、选择采样电阻

        采样电阻阻值决定了上限电流,由寄存器IRUN、IHOLD 和GLOBALSCALER 设置所需的具体电流值,公式为:上限电流*(GLOBALSCALER/256)*(IRUN/31)。当GLOBALSCALER = 0时,GLOBALSCALER 实际取值256。因此当 GLOBALSCALER = 0,IRUN = 31时,电流值为最大。RMS 电流的计算公式:

        VFS :满量程电压 (请参考电气参数VSRT)。

        具体选择可以参考下表:

九、stallGuard2

        与stallGuard2相关的只有3个配置参数:SGT、sfilt、SG_RESULT。

        SGT:控制堵转检测的灵敏度。值越低,灵敏度越高。

        sfilt:测量滤波模式使能控制。如果设置,测量频率会降低到每个电机电气周期测量一次( 4 个全步)。测量频率的降低会导致检测灵敏度下降(灵敏度降低4倍),但是同时能提高堵转判断的准确度。

        SG_RESULT:stallGuard2的测量结果。读数越高表示机械负载越小。

        SG_RESULT和电机负载的关系如下:

        在启动stallGuard2 和coolStep 之前,先通过SGT 设置调节stallGuard2 的敏感度。

1、调整 stallGuard2 阈值 SGT的步骤

        步骤1:以适当的速度运行电机,并监控SG_RESULT。

        步骤2:缓慢增加电机的机械负载。如果电机在SG_RESULT 达到零之前停止,说明灵敏度太低了,要减小SGT。如果SG_RESULT在电机停止之前达到零,则增大SGT。SGT 是有符号的,可正可负。

        SGT调整好的判断依据:在电机处于再增加一点负载就会堵转的状态时,SG_RESULT的值处于0到100之间,并且这时把负载去掉SG_RESULT会增加100或更多。

        SGT可根据电机速度或使用环境设置多个值,以达到最可靠的堵转检测效果。

2、用stallGuard实现归零

        让电机反转到归零点卡死,通过stallGuard检测到电机堵转来实现归零。由于stallGuard需要一定的速度才能工作(速度阈值由TCOOLTHRS设定),请确保起始点离零点足够远,以提供加速阶段所需的距离。设置SGT的值和斜坡发生器寄存器后,TMC5160开始控制电机往零点方向运动,如果同时打开了堵转停止功能(SW_MODE 中设置sg_stop),一旦检测到堵转,斜坡发生器会停止运动并设定VACTUAL为零,从而停止电机,电机此时的位置即为零点。

2、stallGuard2 操作局限性

        stallguard2在极端电机速度下运行不可靠: 1)、非常低的电机速度(对于许多电机,每秒不到一圈)会产生低反电动势,使测量不稳定,同时还要考虑环境条件(温度等)。2)、非常高的电机速度,因电机反电动势达到电源电压电机线圈无法输出正弦电流驱动,也导致较差的响应。

十、coolStep

        coolStep能在保证电机正常转动的情况下自动降低电机电流。与之相关的参数有两个:

        SEMIN:阈值下限。4 位无符号整数。如果SG_RESULT低于此阈值,coolStep 会增加两个线圈的电流。

        SEMAX:阈值上限,4 位无符号整数。如果SG_RESULT等于或高于此阈值,coolStep 将降低两个线圈的电流。

        上图显示了coolStep 的工作过程:黑线代表SG_RESULT测量值。蓝线表示电机上的机械负载。红线表示电机线圈的电流。

        当负载增加时,SG_RESULT 下降到SEMIN以下,coolStep 增加电流。当负载减小时,SG_RESULT 上升到(SEMIN + SEMAX + 1 ) * 32以上,电流减小。

        此外还有几个参数:

        SEUP:电流增加步长。当SG_RESULT低于SEMIN,电流增加SEUP。

        SEDN:电流减少步长。当SG_RESULT高于(SEMIN + SEMAX + 1 ),电流减少SEDN。

        SEIMIN:电流下限。无论coolStep如果减少电流,电流不能低于本值。

1、响应时间

        为了快速响应增加的电机负载,可以使用大的电流增量步长SEUP。如果电机负载变化缓慢,可以使用较低的电流增量步长来避免电机振荡。如果使能sfilt 控制的滤波器,测量速率和调节速度将降低4 倍。

十一、STEP/DIR接口

        STEP和DIR输入接口提供了与许多现有运动控制器兼容的简单标准接口。步进脉冲内插器(microPlyer)将提供高分辨率细分控制,让一些最开始用粗细分设计应用中的电机运行更平滑。如果使用外部步进信号输入 ,则可以关闭芯片内部集成的运动控制器。在这种情况下,唯一保持活动状态的运动控制器寄存器是寄存器IHOLD _ IRUN。

1、时序

        当CHOPCONF寄存器中的dedge模式位被设置时,STEP的双边沿都有效 。如果dedge 模式位清零,则只有上升沿有效。STEP 和DIR 引脚与系统时钟同步。内部模拟滤波器消除信号上的毛刺,例如由PCB 过长引起的毛刺。如果信号源远离芯片,特别是如果信号通过电缆传输,信号应该被滤波处理或差分传输。

2、改变分辨率

        TMC5160内部有一个1024个正弦波条目的微步表,用于产生电机线圈的正弦电流。这1024 个条目对应于一个电周期或四个全步。微步分辨率设置决定了查表的步长。DIR极性决定查表的方向是增加( DIR = 0 )还是减少( DIR = 1 )。微步分辨率分别决定增量和减量。在最大分辨率(256细分)下,定序器每个STEP脉冲前进一步。128细分,定序器前进两步。如果是整步则定序器前进256步。

        定序器具有特殊的配置,允许在任何时候可以在不同的细分设置之间无缝切换。当切换到较低的细分分辨率时,它会计算目标 分辨率内最近的步长,并读取该位置的当前向量。这种行为对于像全步和半步这样的低分辨率尤其重要,因为当比较电机顺时针和逆时针运行时,步进序列中的任何故障都会导致不对称运行。

示例:         全步:在表格位置128, 384, 640 和896之间循环 (对应45°, 135°, 225° 和315°电气位置,两个线圈电流相同)。每个位置的线圈电流对应于均方根值( 0.71 *振幅)。步长为256 (电气角度90 度)         半步:表格的第一个位置为 64 (22.5° 电气角度), 步长为 128 (45° steps)         1/4步:表格的第一个位置为(90°/8=11.25°电气角度), 步长为64 (22.5° steps)

3、microPlyer 和静止检测

        STEP上的每个有效沿,microPlyer 都会产生256 微步。它根据上一个步长间隔在脉冲输入处插值。这样,在STEP 信号中插入2 个微步(128 微步输入产生256 微步输出)到256 微步(全步的输入产生256 微分输出)。

        设置CHOPCONF 中的intpol 位使能microPlyer。

        内插的2 至256 微步的步进速率是通过测量前一步周期的时间间隔并将其分成多达256 个相等的部分来确定的。对于256 个微步,每两个微步之间的最大时间对应于2^20 (大约一百万个系统时钟周期)。在12 MHz 的系统时钟频率下,这导致微步操作的最小阶跃输入频率为12 Hz ( 50 Hz,faststandstill = 1 )。较低的步进率会导致STST 位被设置,这表示停止事件。在该频率下,微步频率为:系统时钟频率/ 2^16 ~ 256Hz。当检测到静止时,驱动器自动将电机电流切换到保持电流IHOLD。         提示:microPlyer 只有在稳定的步进输入频率下才能完美工作。如果步进信号没有50 %的占空比,则不要使用dedge 选项(STEP双边沿有效功能)。

         上图中第一个STEP 脉冲足够长,系统设置静止标志位stst。该位在下一个STEP 信号的有效边沿被清除。接着外部STEP 步进输入频率增加。在以较高速率进行一个周期之后,microPlyer 将内插微步速率调高以适应较高的频率。在速度较慢的一个周期中,microPlyer 没有产生全部16 个微步,因此在速度较高的第一和第二个周期之间,马达有一个小的跳跃。

        使能GCONF.faststandstill 后,停止检测将在2^18 个时钟(而不是2^20 个时钟)之后进行。驱动器可以更快减低电流以实现节能。 ———————————————— 版权声明:本文为CSDN博主「qlexcel」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qlexcel/article/details/104764286

标签: 抗电流脉冲电阻器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台