二、TMC5160的3种事情模式
TMC5160通过两个引脚来掌握它的事情模式:SD_MODE和SPI_MODE。
1、当SD_MODE接地,SPI_MODE拉高,TMC5160即事情在模式1。在该模式下,用户通过SPI接口来设置TMC5160的寄存器。TMC5160利用自己的梯形曲线发生器来掌握步进电机迁徙改变,用户须要设置:开始运动速率VSTART、第一段折线末速率V1、最大速率VMAX、停滞速率VSTOP、第一段折线的加速度A1、第二段折线加速度AMAX、第四段折线的减速率DMAX、第五段折线的减速率D1。把上面的参数设置好,再设置事情模式:速率模式和位置模式。末了再设置目标位置。

如果是速率模式运行,不须要设置目标位置,电机就会开始迁徙改变。如果是位置模式,则须要设置目标位置,且目标位置与电机当前位置值不同电机才会迁徙改变。下图中的红线是电机的实际速率,不管是速率模式还是位置模式,电机的运行过程会按照下图来进行。欢迎一起深入评论辩论互换V13924655249
2、当SD_MODE接高电平,SPI_MODE拉高,TMC5160事情在模式2。在该模式下,用户通过SPI接口来设置TMC5160的寄存器。TMC5160的功能和DRV8825类似,外界通过脉冲和方向引脚来掌握步进电机运动。
3、当SD_MODE接高电平,SPI_MODE接地,TMC5160事情在模式3。在该模式下,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份,TMC5160就自动以2到256细分来驱动电机,当输入一个脉冲,对付TMC5160来说就已经输入了2到256个脉冲,再对应相同的细分数,这样就完成了细分内插。局限在于,STEP旗子暗记必须比较稳定,否则会影响microPlyer对付脉冲间隔韶光的丈量。
7、ABN编码器接口:TMC5160可以外接增量式编码器,编码器不仅用于失落步的判断,还可实现运动掌握器的归零功能(替代参考开关)。可编程预分频器设置编码器分辨率以适应电机分辨率。TMC5160内部包含一个32位编码器计数器。
四、TMC5160的SPI接口
TMC5160的数据帧为固定的40位,在全体数据帧期间,SPI的片选都要保持有效(低电平)。数据帧由一个字节的地址和4个字节的数据组成。读操作,地址字节的最高位是0。写操作,地址字节的最高位是1。
不管是读操作还是写操作,在向TMC5160传输数据的同时,TMC5160会通过MISO传输状态寄存器SPI_STATUS的值+上次操作的数据。比如,向CHOPCONF寄存器(地址0x6C)写入0x000100C3数据,再向IHOLD_IRUN寄存器(地址0x10)写入0x00061F02数据,再向TPOWER_DOWN寄存器(地址0x11)写入0x0000000A数据,SPI的MOSI和MISO上的数据如下图:欢迎一起深入评论辩论互换V13924655249
可以看到在向0x6C写入0x000100C3数据的同时,MISO上会收到0x72和0x000003E8,这个0x72便是传输状态寄存器SPI_STATUS的值,0x000003E8则是上次操作的数据内容。接下来向0x10写入0x00061F02数据,同时吸收到0x39和0x0x000003E8,0x39是传输状态寄存器SPI_STATUS的值,0x000100C3则是上次操作的数据内容。上次操作是往0x6C写入0x000100C3数据,以是此时返回的数据便是0x000100C3。
传输状态寄存器SPI_STATUS的内容为:
以是,利用TMC5160的通信特性。可以实时得到SPI_STATUS的值,从而得知TMC5160的状态。也可以利用其返回机制,判断SPI传输是否被滋扰,数据是否有错。
同样的读操作过程也是如此,须要发送两个40位的数据帧才能读到寄存器的值。比如读XACTUAL寄存器(地址0x21),发送0x21+0x00000000的同时会收到SPI_STATUS+32位前次操作值,再次发送0x21+0x00000000,此时才会收到SPI_STATUS+XACTUAL寄存器的值。过程如下:
五、速率阈值与电流参数欢迎一起深入评论辩论互换V13924655249
1、上图显示了TMC5160中4个电流参数的关系:I_RUN、I_HOLD、TPOWERDOWN(上图中的TZEROWAIT)、IHOLDDELAY。I_RUN是电机运行电流,I_HOLD是静止电流,TPOWERDOWN是电机停滞到电流开始降落的延迟韶光,IHOLDDELAY是电流从I_RUN降到I_HOLD的韶光。
2、显示了3个速率阈值与其对应的斩波模式。
当速率低于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 个时钟)之后进行。驱动器可以更快减低电流以实现节能欢迎一起深入评论辩论互换V13924655249
————————————————