0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于TMC5160 StallGuard2实战案例分享

Excelpoint世健 2023-03-06 11:34 次阅读

当控制环境比较恶劣,周边可能存在大型的电机对电磁抗干扰能力影响较大时,管道闸中的阀门控制将面临一定挑战和障碍,面对这种情况,该如何明确阀门的位置和检测扭矩?本次技术型授权代理商Excelpoint世健邀请到了他们的客户——行业资深工程师阮工来分享他的实战案例。

ADI的TMC5160是一款高度紧凑的步进电机控制器驱动器IC,具有最低功耗和最高动态性能的功率级,能确保无噪音运行,结合最高效率和最佳电机扭矩。阮工运用TMC5160 StallGuard2,通过编码器来判断阀门是否已经开启或关闭,通过扭矩判断阀门是否异常不能打开和关闭。该项目输入参数如下表:

e0e4a952-b93b-11ed-ad0d-dac502259ad0.png

图1.输入参数

下图为阮工结合硬件原理框架设置的系统架构。

e0f30df8-b93b-11ed-ad0d-dac502259ad0.png

图2.系统架构


电源电压输入部分

电源DC-DC选择ADI的MAX17501,MAX17502,该型号输入电压可以支持最高60V(和TMC5160最高输入电压一致)。电流分别是500mA和1A,封装一致,由于不同的外设(光电开关、编码器)需求电流不一样,用户可以根据实际需求来选择型号。

为了实现断电记忆的功能,使用超级电容来作为备份电源,超级电容芯片选择LTC3225对超级电容进行充电管理。当电源断电后超级电容还可以持续输出一段时间来维持MCU供电,MCU就可以检测输入电压来判断是否已断电来记录位置。

MCU供电以MAX8891,MAX8891低压差(LDO线性稳压器设计用于提供高达150mA的连续输出电流,可以满足MCU、通信接口芯片的供电电流。

步进电机驱动部分

步进电机驱动部分,阮工使用了TMC5160。TMC5160的电压范围为8-60V;支持编码器接口和2个参考开关输入;支持StallGuard2高精度的无传感器负载检测,可用于阀门故障检测;外置MOS管,最大支持电流20A。实际应用时,选择60V40A的mos,可以满足最大5A的需求。

通信部分

e1041cb0-b93b-11ed-ad0d-dac502259ad0.gif

阮工在CAN接口使用了MAX3051,该型号支持最大1M的速率。RS485接口使用了MAX3060,该型号±15kV ESD保护、失效保护、20Mbps,输入电压是3.3V。接口芯片供电都是3.3V,可以直接与MCU链接。并且这两个型号体积小,可以很好地优化PCB尺寸。用户可以根据项目实际的需求来选择通信接口。

位置反馈

大部分编码器使用的是差分信号,这里以MAX14980作为信号转换,将差分信号转换为单端信号,链接TMC5160和MCU的编码器接口。

程序调试

由于该案例需要通过力矩来判断阀门的故障和极限位置作为原点,需要使用StallGuard2的功能。下面介绍StallGuard2的相关寄存器及配置过程:

关键寄存器:

*IHOLD_IRUN 0X10:电流寄存器-设置合适的电流,设置电流大小直接影响电机的负载能力。设定电流改变后sgt值也需要调节。

e154b2b0-b93b-11ed-ad0d-dac502259ad0.png图3.IHOLD_IRUN 电流寄存器表*VMAX 0X27 最高速度,使用StallGuard2的最佳工作速度范围在10-300PRM,不同的电机速度有所区别。e1665ad8-b93b-11ed-ad0d-dac502259ad0.png

图4.VMAX最高速度寄存器表

*SW_MODE 0X34: sg_stop 10bit- 1:启用STALLGUARD 2功能。

e17b409c-b93b-11ed-ad0d-dac502259ad0.png图5.sg_stop寄存器表

*COOLCONF 0x6D: 16bit-22bit StallGuard2 阈值,该值用于设置灵敏度;24bit-标准/滤波模式。

e18b1da0-b93b-11ed-ad0d-dac502259ad0.png图6.COOLCONF 寄存器表

*TCOOLTHRS 0X14:使能CoolStep和StallGuard2功能的下限速度,到达此值电机停止并保持。

e19c95d0-b93b-11ed-ad0d-dac502259ad0.png图7.TCOOLTHRS 寄存器表

*DRV_STATUS 0X6F: StallGuard2值和驱动错误标志0-9bit SG_RESULT(负载值) 用于监测电机所剩的扭力。

e1b37714-b93b-11ed-ad0d-dac502259ad0.png图8.SG_RESULT 寄存器表配置过程通过程序代码来说明,如下:

步骤1:

spi_writeRegister(SW_MODE,0x0600);--使能StallGuard2

spi_writeRegister(IHOLD_IRUN,value);--设置电机的额定电流

spi_writeRegister(VMAX,MAX_Speed_);--设置最高速度

spi_writeRegister(COOLCONF,0);--设置StallGuard2灵敏度

spi_writeRegister(TCOOLTHRS,

setTCOOLTHRS );--设定停止阈值,此值可以根据不同的阀门状态来设定,如归零或开启/关闭

spi_writeRegister(RAMPMODE,

VELOCITY_MODE_POS);--启用速度模式

步骤2:

spi_readRegister(DRV_STATUS);--50ms定时读取SG_RESULT(负载值)

步骤3:

StallGuard2值SG_RESULT受电机特性及特定应用的负载和速度影响。因此, 针对特定电机类型和运行条件调整Stallguard2阈值SGT的最简单方法是在实际应用中进行交互式调整。

接下来调整StallGuard2的SGT的初始步骤。

1. 以适用的正常运行速度运行电机,并监控SG_RESULT 。

2. 缓慢增加电机的机械负载。如果电机在SG_RESULT达到0之前停止,则减小SGT。如果SG_RESULT在电机停止之前达到0,则增大SGT。0是SGT初始值。SGT是有符号的,可正可负。

3. 将TCOOLTHRS设置为高于TSTEP的值,并启用sg_stop使能堵转停止功能。确保电机在停机时安全停止。如果电机在堵转发生前停止,增加SGT。通过禁用sg_stop或读并写入RAMP_STAT寄存器(写+清除功能)重新启动电机。

4. 在电机增加负载堵转前,SG_RESULT最佳范围大约在0和10之间,且在没有负载的情况下SG_RESULT增加100或更多时。在大多数情况下,SGT应在某个运动速度或速度范围调整。确保设置在一定范围内(例如所需速度的80%至120 %)以及极端电机条件下(最低和最高适用温度)工作可靠。

允许自动调整 SGT 的可选步骤

SGT设置背后的基本思想是补偿电机内部电阻损耗的对StallGuard2影响。在静止和非常低的速度下,由于机械功率为零或接近零,电阻损耗是电机能量平衡的主要因素。这样可以将SGT设置为接近零速度的最佳值。该算法特别适用于在应用中调整SGT,以获得与环境条件、电机杂散等无关的最佳结果。

1. 以小于10 RPM(即每秒几个至几十个全步的低速运行电机,并获得目标运行电流和电源电压。)在此速度范围内,SG_RESUL对电机负载的依赖性不大,因为电机不会产生显著的反电势。因此,机械负载对结果影响不大。

2. 打开sfilt滤波器。将SGT从0逐渐增加到SG_RESULT开始增加。当SGT值较高时,SG_RESUL将上升到最大值,继续增大SGT则SG_RESULT会溢出到0。现在,SGT值被设置成最大敏感。当看到SG_RESULT以较高的速度增加时,则检测到堵转。

该参数设置下堵转检测的上限速度由速度确定,在该速度下,电机反电势接近电源电压,速度继续增大电机电流开始下降。
当电机堵转时,SG_RESULT变为0,可配置斜坡发生器 SW_MODE中的sg_stop 使能在堵转事件时停止电机。将TCOOLTHRS设置为与较低的速度阈值相匹配,在该阈值下,StallGuard2 结果最佳,完成有效的sg_stop。

ADI的TMC5160 StallGuard2的功能非常广泛,TMC5160 CoolStep负载自适应电流控制,也是基于StallGuard2的负载检测来控制电流输出电流大小,实现低功耗,节约能源,降低芯片温度。在某些应用中可以通过力矩来诊断设备的健康状况和设备归零的功能,还可以节省编码器及光电开关,有效的节约生产成本。其授权代理商Excelpoint世健为客户提供技术支持和指导,提高设备提高效率,助力实现精确运动。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IC
    IC
    +关注

    关注

    36

    文章

    5897

    浏览量

    175226
  • 电机
    +关注

    关注

    142

    文章

    8930

    浏览量

    145086
  • 检测
    +关注

    关注

    5

    文章

    4436

    浏览量

    91367
收藏 人收藏

    评论

    相关推荐

    TVP5160抗混叠滤波器

    电子发烧友网站提供《TVP5160抗混叠滤波器.pdf》资料免费下载
    发表于 10-08 14:37 0次下载
    TVP<b class='flag-5'>5160</b>抗混叠滤波器

    TVP5160 IF补偿校准程序

    电子发烧友网站提供《TVP5160 IF补偿校准程序.pdf》资料免费下载
    发表于 09-30 14:22 0次下载
    TVP<b class='flag-5'>5160</b> IF补偿校准程序

    TVP5160 3DYC操作

    电子发烧友网站提供《TVP5160 3DYC操作.pdf》资料免费下载
    发表于 09-30 14:20 0次下载
    TVP<b class='flag-5'>5160</b> 3DYC操作

    TVP5160 3D降噪校准程序

    电子发烧友网站提供《TVP5160 3D降噪校准程序.pdf》资料免费下载
    发表于 09-30 14:13 0次下载
    TVP<b class='flag-5'>5160</b> 3D降噪校准程序

    TVP5160 PCB布局指南

    电子发烧友网站提供《TVP5160 PCB布局指南.pdf》资料免费下载
    发表于 09-30 11:46 0次下载
    TVP<b class='flag-5'>5160</b> PCB布局指南

    TVP5160 VBI快速入门

    电子发烧友网站提供《TVP5160 VBI快速入门.pdf》资料免费下载
    发表于 09-30 11:17 0次下载
    TVP<b class='flag-5'>5160</b> VBI快速入门

    TVP5160补丁代码下载指南

    电子发烧友网站提供《TVP5160补丁代码下载指南.pdf》资料免费下载
    发表于 09-30 11:01 0次下载
    TVP<b class='flag-5'>5160</b>补丁代码下载指南

    #参考设计# 3A,8 ~ 60 V,双极步进电机驱动器

    TMC5160 是一款具有串行通信接口的高功率步进电机控制器和驱动器 IC。它将用于自动目标定位的灵活斜坡发生器与业界最先进的步进电机驱动器相结合。使用外部晶体管,可实现高动态、高扭矩驱动。该驱动器
    的头像 发表于 09-20 17:12 5909次阅读
    #参考设计# 3A,8 ~ 60 V,双极步进电机驱动器

    一款完美用于相机镜头的马达驱动芯片TMC2300-LA

    卓联微科技TMC2300-LA一款完美用于相机镜头的马达驱动芯片TMC2300-LA是一款用于高达1.2ARMS的两相步进电机的低压驱动芯片,低电压的步进电机驱动器是用于电池供电的、空间和待机功率
    的头像 发表于 06-14 08:27 536次阅读
    一款完美用于相机镜头的马达驱动芯片<b class='flag-5'>TMC</b>2300-LA

    LED摩托车灯驱动ICAP5160降压恒流芯片输出8A大电流

    AP5160 是一款效率高,稳定可靠的 LED 灯恒流驱动控制芯片,内置高精度比较器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率 LED 恒流驱动。 AP5160 采用 SOT23-6
    发表于 05-27 10:26

    如何提高蠕动泵的性能?TMC芯片来帮忙

    TMC芯片帮助蠕动提高控制精度和稳定性
    的头像 发表于 05-21 09:37 396次阅读
    如何提高蠕动泵的性能?<b class='flag-5'>TMC</b>芯片来帮忙

    TMC2209电机驱动芯片在3D打印机中被广泛采用

    ;    TMC2209是用于两相步进电机的超静音电机驱动器IC。TMC2209与许多传统驱动器以及TMC2208引脚兼容。TRINAMICs先进的StealthChop2
    的头像 发表于 05-15 11:35 1564次阅读
    <b class='flag-5'>TMC</b>2209电机驱动芯片在3D打印机中被广泛采用

    TMC2226单轴步进电机驱动芯片2A工作电流

    Trinamic电机驱动芯片TMC2226单轴步进电机驱动芯片2A工作电流TMC2226-SA-TTMC2226适用于5…29V最高至2.8A(峰值)的进电机,结合了世界上最好的步进电机驱动器技术
    的头像 发表于 04-04 08:26 810次阅读
    <b class='flag-5'>TMC</b>2226单轴步进电机驱动芯片<b class='flag-5'>2</b>A工作电流

    请问AD5160BRJZ10-R2和AD5160BRJZ10-R7和AD5160BRJZ10-RL7的差异点是什么?

    我有一款PCBA使用AD5160数字电位器、丝印D090,阻值为10KΩ。发现AD5160BRJZ10有三款子型号,分别是AD5160BRJZ10-R2和AD5160
    发表于 01-10 07:38