1, 写寄存器 0x00 (GCONF)
1.1 使能diag0-stall(在堵转触发时,diag 会有电平信号触发)
1.2 选择diag触发时的高低电平有效(可选择)
2, 写寄存器 0x10 (I HOLD - I RUN), 配置电机的静止电流以及运行电流
3, 写寄存器 0x14(TCOOLTHUS), 配置堵转检测的使能速度(低于 TCOOLTHUS 不使能,高于 TCOOLTHUS 使能)
4, 写寄存器 0x6c (CHOPCONF), 配置细分数
5, 写寄存器 0x6D(COOLCONF), 配置堵转检测的灵敏度(-64~+63), 值越低灵敏度越高,反之灵敏度越低
6, 读寄存器 0x6F (DRV-STATUS)), - 驱动状态标志寄存器, 一旦触发堵转,相应标志位stallGurad值为1,
SG RESULT 读数为接近 0
7, 硬件 IO - diag0, diag1, 两者都可以作为硬件IO输出堵转检测信号给到MCU(有效极性取决于如上第一步的配置), MCU识别到堵转信号, 停止发脉冲, 电机停止, 实现堵转检测的功能。
注意:以上示例是在不使用 stealthchop 模式下的配置方法。
stallGuard 的限制:
1, 电机速度不得低于1RPS。
2, 电机无法在stallGuard开启的情况下运行stealthChop静音模式,两者是不能同时拥有的, stallGuard 只用于spreadCycle模式下。如果既要在高速下实现stallGuard又要在低转速实现stealthChop,可以设置stealthChop与spreadCycle 之间的阈值切换寄存器 0x13 (TPWMTHUS),实现在某个转速阈值以下静音(stealthChop), 在这个转速阈值以上实现高速防抖+堵转检测(spreadcycle+stallgurad)。
评论前必须登录!
注册