项目需要,内置一块STM32芯片辅助控制TMC5160工作在独立模式,加上STM32是为了兼容以前买的的电机驱动板,因为TMC5160的细分独立模式下可选的只有四种情况,所以让STM32接收看外部是否有脉冲输入再按不同的细分去给TMC5160脉冲,平时也可以外部用跳线帽去配置他的电流和细分等配置。
使用的是HAL库来编写
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_RESET);
__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_1,Tim_Arr/2);
HAL_Delay(500);
__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_1,0);
HAL_Delay(200);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,GPIO_PIN_SET);
__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_1,Tim_Arr/2);
HAL_Delay(500);
__HAL_TIM_SetCompare(&htim1,TIM_CHANNEL_1,0);
HAL_Delay(200);
现在测试的话电机要是转动后停下来的时间超过大约80ms没有启动的话电机会抖一下子然后就再也启动不了了,测试过梯形减速但还是会这样,加速的话直接给目标速度都没问题,就是运行到停止这一步骤会出现这种情况
测试运行到停止的过程中动态改变他的占空比逐渐减小,最后再给0的话电机可以来回转动5~6次,之后也会抖动一下就再也启动不了了,同时电机停下来的时候还会有吱的声音,这种情况需要怎么去调试呢?