[原创] TMC2208测试(电流特性)

m9wo   2024-8-7 11:22 楼主
TMC2208测试报告

目录

1. 测试产品展示22. 测试平台展示

3. 基础运动测试

    3.1. 通信测试

        3.1.1. 硬件准备

        3.1.2. STM32软件平台搭建

        3.1.3. 串口通讯测试

    3.2. TMC2208参数配置

        3.2.1. 基础配置

        3.2.2. 其他配置

4. 针对性测试

    4.1. 待机电流特性

    4.2. 匀速过程电流特性和加减速过程电流特性

5. 总结

  1. 测试产品展示
    首先感谢EEWorld提供的评测机会和得捷电子提供得TMC2208 步进电机评估板、MN35万用表和1个镊子。本次我是在得捷电子官网下单,快递从美国发货,在短短5天时间就拿到快递是让我非常惊喜的。
    展示一下3个商品,拿回来就在使用了,忘记提前拍照了。
    112132cdedcznlv5chc652.jpg
    图1 tmc2208、万用表和镊子
    先给本次主角来个特写(焊接过程使用了图1中的镊子)。
    112132gbrkcvc2kccsc49r.jpg
    图2 焊接排针后的tmc2208
  2. 测试平台展示
    电源:固纬GPD3303D
    主控芯片:STM32F407
    软件开发平台:STM32CubeMX、STM32CubeIDE
    步进电机:鼎智两相步进电机11E2105K4
    调试工具:J-Link
    参考芯片:TMC5160、TMC5130
    112132mctkwyjcwwpy0byh.jpg
    图3 电源
    112132q60tgl5y3z8by668.png
    图4 电机参数
    112132mmxkep8r2wbk2cwx.jpg
    图5 硬件环境
    为了方便后续tmc2208的使用和拆除,本次实验使用杜邦线连接。
    112132uba7ivlooppfnpzh.jpg
    图6 TMC5160
  3. 基础运动测试
    1. 通信测试
      1. 硬件准备
        本次测试使用stm32f407的串口与tmc2208进行通讯,通过tmc2208自带的控制算法使步进电机平稳运行。接线方式采用的是2208手册上提供的第二种方式(主机和从机都为单线)。
        112132wll7qje2vdej7lvt.png
        图7 串口连接图
        此处图中未画出上拉,在实际应用中空闲状态下IO须保持高电平。在实际测试中发现使用stm32内部的上拉没法通信的,使用外部3.3v加上10k电阻也不行,初步认为是驱动能力不够。3.3v加上1.5k电阻是没问题的,后面在网上找了一下接线图,发现用的是1k的。
        112132s5hwqb353ceojeq5.jpg
        图8 测试使用的电阻(上10k,下1.5k)
        112132qvydgss65rgnlnom.jpg
        图9 贴片1k电阻
        TMC2208硬件电路连接完毕后,使用得捷电子提供的MN35万用表对24V、3.3V和GND分别进行检查,然后开启电源(电压:24V,电流:1A)。测量VREF(参考电压)电压值,默认1.22V,使用一字螺丝刀微调到1.0V(根据2208数据手册和步进电机调节)。
        112132t9qtsts2jtqo25q9.jpg
        图10 同事的一字螺丝刀
      2. STM32软件平台搭建
        STM32基础配置不在此做过多描述,特别说明与TMC2208相关配置(半双工串口和使能引脚)。
        112132nf5qa7htr5nb5fh3.png
        图11 STM32引脚视图
        112132ouf6xmdfuzmlwelf.png
        图12 半双工串口配置
        112132k6ugg6thte6t5ko4.png
        图13 TMC2208使能引脚
      3. 串口通讯测试
        2208的串口通信使用了CRC校验,但是算法好像和其他的开源的不一样,结果对不上。开始我还以为是线接错了,后来直接使用数据手册里面的算法通信就正常了。
        112132u73qn72n65v075d2.png
        图14 贴片1k电阻
    2. TMC2208参数配置
      1. 基础配置
        查阅2208的数据手册,根据选用的通讯方式和电机参数对2208进行配置。
        GCONF:I_scale_analog (第0位)、pdn_disable(第6位)和mstep_reg_select(第7位)都置1。分别开启外部电压参考,寄存器电流控制,寄存器微步控制(不使能会导致无法修改微步参数)。
        112132g3k3hs5shz4hp8ok.png
        图15 GCONF(0x00)配置
        IHOLD_IRUN:运行电流和保持电流相关配置。保持电流与GCONF和PWMCONF有关,否则设置参数不生效。结合步进电机和参考电压进行配置。
        112132ut0gyd7d78zd3sx0.png
        图16 IHOLD_IRUN(0x10)配置
      2. 其他配置
        根据“快速配置指南”并结合自身需求进行配置。
        TPOWERDOWN:断电延时时间。
        112132uvl5pl7fplullf4p.png
        图17 TPOWERDOWN(0x11)配置
        TPWMTHRS:StealthChop PWM电压上升速度。
        112132ubbz1ll26bpbzmkt.png
        图18 TPWMTHRS(0x13)配置
        CHOPCONF:斩波器和驱动程序配置。微步设置为256。在使能SpreadCycle后根据数据手册调节TOFF和TBL一直存在电流声。
        112132ka4ga1wm28ygssia.png
        图19 CHOPCONF(0x6C)配置
        PWMCONF:StealthChop PWM斩波器配置。使用时钟内部12MHz,配置。
        112132hx427g2428aga4ct.png
        图20 PWMCONF(0x70)配置
  4. 针对性测试
    1. 待机电流特性
      待机电流(电机静止时的保持电流),在完成“3.2.1基础配置”基础上计算所需待机电流。目标电流转换后写入IHOLD_IRUN寄存器的IHOLD字段,IHOLDDELAY字段可以延时进入待机状态。注意:一定要使能PWMCONF寄存器的pwm_autograd和pwm_autoscale,否则待机电流将失效。
      图21和图22都是在IRUN=0x17,IHOLD=0x02,60rpm(VACTUAL=0x117B8)等其他条件都不变,只改变IHOLDDELAY测试得到的图像。图21延时500ms左右稳定,图22延时1000ms左右稳定,具体延时时间与IRUN和IHOLD的差和时钟频率有关。可以看出电流过度还是比较平稳的。
      112132vwzc1xagc9i4ykw3.jpg
      图21 IHOLDDELAY=0x01时,电机相电流
      112132ltzltdlyqiypbbkh.jpg
      图22 IHOLDDELAY=0x02时,电机相电流
      在IHOLD设置为0x08时,电流波动是在±50mA。在IHOLD设置为0x17时,电流波动是在±190mA。从图23和图24可以看出随着保持电流的增大波动也增大了,未发现明显电流声。图25(TMC5160)保持电流也会有波动,但测试时设置的保持电流较小。
      112132uhdydhoih69fogv6.jpg
      图23 IHOLD=0x08,相电流
      112132c7q04j7ox1jqufa3.jpg
      图24 IHOLD=0x17,相电流
      112132pc96z1d31vvk9wdw.jpg
      图25 TMC5160,相电流
    2. 匀速过程电流特性和加减速过程电流特性
      加减速测试过程软件未设置斜坡,速度分为4个阶依次为60rpm、600rpm、1000rpm和0rpm。从图26和图27中可以看出正弦波形比较圆滑没有出现畸变。在图25的高速情况下电流波形由正弦波变为三角波也符合理论。图30是前段时间使用TMC5130测试的一款步进电机(步距角15°,相电流0.16A)的波形,可以明显看出是有畸变的。从图31和图32可以看出,相同转速下无论是否开启SpreadCycle相电流波形都呈正弦,未发生畸变。但开启SpreadCycle后毛刺密度明显增加,可能是由于SpreadCycle模式下信号输出频率较高造成的。TMC5160的波形在图33中展示毛刺少了一些。
      112132cvjg62gg7p9uhtpt.jpg
      图26 60rpm(左边部分),相电流
      112132m7vwii00d7sbtcdc.jpg
      图27 600rpm(右边部分),相电流
      112132un2k30l09dz8l02k.jpg
      图28 1000rpm(右边部分),相电流
      112132c7q04j7ox1jqufa3.jpg
      图29 0rpm(右边部分),相电流
      112132alja338993gigx54.jpg
      图30 TMC5130,900rpm,相电流
      112132r7eusr9t9gjz87dg.jpg
      图31 600rpm(未开启SpreadCycle)
      112132kjjk5bjk1ykhkuoe.jpg
      图32 600rpm(开启SpreadCycle)
      112132vol6wr67oqevpppw.jpg
      图33 600rpm(TMC5160开启SpreadCycle)
  5. 总结
再次感谢EEWorld提供的评测机会和得捷电子提供TMC芯片以及工具。本次对匀速、变速和待机时相电流波形的测试,可以看出由控制器输出的电流波形圆滑且稳定,后期有时间会进行带载测试和步进/方向测试。另外使用SpreadCycle模式时并没有达到理想的状态,但TMC5160在保持状态就没有电流声,可能是我没把参数设置正确,希望得到大佬提点。本次测试使用杜邦线较长可能对驱动的输出也有一定的影响吧。但从目前的测试可以看出,在PCB受限制且小功率电机驱动应用中TMC2208是完全胜任的。
本帖最后由 m9wo 于 2024-8-7 17:05 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复