This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C123GH6ZXR:PWM 频率控制和发生器加载寄存器

Guru**** 2382480 points
Other Parts Discussed in Thread: TM4C123GH6ZXR
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1353027/tm4c123gh6zxr-pwm-frequency-control-and-load-register-of-generator

器件型号:TM4C123GH6ZXR

我们目前正在使用 TM4C123GH6ZXR 微控制器来调节步进电机通过 PWM 信号的运动、从而控制电机步进的时序和持续时间。 不过、当我们尝试调整时序来调整一个电机转速时、我们会遇到一个难题。 改变 PWM 信号的时序以减慢一个电机的速度会无意中干扰其移动精度。 例如、如果我们的目标是通过缩短信号"开启"状态的持续时间来降低速度、则电机可能会因时序突变而跳过阶跃或超过目标速度。 我们使用基于 PWM0的第1代及其两个通道 M0PWM2和 M0PWM3、因此加载寄存器通用为"LOAD1"。 我们要求将 LOAD 寄存器值更改为控制步进电机的总时间。 我们必须在向上/向下计数模式下使用 PWM、因为步进驱动器会检测步进电机微动运动的上升沿。 所以、有没有办法为负载寄存器生成单独的加载值、以便为步进电机生成单独的时序。 我们的问题与 PWM 中发生器的加载寄存器有关。 例如、PWM0 Gen0有 LOAD0寄存器、而这个 Gen0有两个通道 OUT0和 OUT1、因此数据表中提到我们无法更改通道的或时序输出。 假设我已将800值加载到 LOAD0寄存器中、因此该值将同时应用于两个通道。 我们不能控制同一发生器上每个通道的 LOAD0寄存器。