|
本帖最后由 射天狼 于 2020-4-25 13:37 编辑
这次测试TMC芯片的一个高级点的功能 高精度的无传感器负载检测
可以在线实时监测负载状态 这次调试这方面一个应用:堵转功能
测试板子:https://www.amobbs.com/thread-5728041-1-1.html
有的导轨两边不太方便装限位,也有的嫌线多 堵转就可以代替限位检测
可以通过寄存器设置堵转“劲儿”的大小 甚至都可以设置成手一捏电机就停止状态 从而避免丢布 失速这类故障
涉及到的关键寄存器 直接搜索手册就可以
COOLCONF 地址0x6D sfilt sgt
DRV_STATUS 地址0X6F SG_RESULT和stallGuard
RAMP_STAT 地址0X35 event_stop_sg
SWMODE 地址0X34 sg_stop
主要配置步骤
1.使能SWMODE寄存器sg_stop
2.读写一次RAMPSTAT寄存器
堵转后需要重复读写一次或者每次发运动指令前 直接读写一次
regtemp=tmc_spi_readregister(slave,TMC5160_RAMPSTAT);
tmc_spi_writeregister(slave,TMC5160_RAMPSTAT ,regtemp);
3.配置TMC5160_TCOOLTHRS>=TSTEP 配置TMC5160_TCOOLTHRS尽量设置大点测试
TSTEP=Fclk/Fstep公式运行过程中有效 静止为最大值1048575
比如VMAX设置一秒5圈后
vmax*MotorTmc5160[slave].microstep*200*tmc_fclk=5*256*200*1.048575=268435.2;
那么TSTEP=16000000/VMAX 约返回值 60左右 堵转或静止时数值会变的很大
下面是官方详细的电机堵转调试流程
实现原理和过程请看pdf
调试成功视频:
https://v.youku.com/v_show/id_XNDY0NzQ2NjA5Ng==.html?
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|