提问人:Juan Lasso Velasco 提问时间:10/31/2023 最后编辑:Juan Lasso Velasco 更新时间:10/31/2023 访问量:43
步进电机的斜坡功能 在STM32F410RB上使用PWM时钟和TMC电机驱动器
Ramp Function for stepper motor Using PWM clock on STM32F410RB and TMC motor driver
问:
不知道我是否应该在电气工程论坛上问这个问题,因为它在技术上与固件相关,所以如果这是错误的地方,请提前道歉。我目前正在为基于 STM32F410RB 的电路板编写固件,该电路板将通过向某些 TMC262 电机驱动器的 STEP/DIR 接口发送 PWM 信号来驱动步进电机。
我遇到的问题或困惑在于实现斜坡功能,该功能将控制PWM信号的频率,因此电机可以上升到目标速度并斜坡回落。 到目前为止,我见过的改变 TIM PWM 信号频率的唯一方法是改变计数器周期 (ARR) 和/或预分频器值 (PSC),这两者都是整数值。之所以会出现这个问题,是因为即使是这些值的最小变化(增加或减少1)也会对PWM信号的最终频率产生重大影响,从而导致在一个时钟周期内速度变化高达10RPM。这阻止了我使电机执行从起始速度到目标速度的平滑斜坡。
我不知道是否有人知道动态改变PWM频率的更好方法,可以提供这些平滑(或更平滑)的斜坡转换。我知道我可以在代码中手动创建这些脉冲,而无需使用 STM32 芯片上的专用 PWM 硬件,但我觉得这是一个已解决的问题,我只是遗漏了一些东西。
我正在将 HAL 库与 STM32CubeMX 生成的设置代码一起使用,以防有用。我对这两个都没有任何问题,但也许我想要的这些接口是不可能的。
任何帮助都是值得赞赏的。
答: 暂无答案
评论