【发布时间】:2020-09-14 03:17:04
【问题描述】:
我正在使用 STM32F103C8Tx,我正在尝试创建一个 PID 可调 PWM。在 PID 中,我将为 PWM 提供 0 到 100 的值以设置占空比。这意味着我的计数器周期需要在 Cubemx 中为 100。因为正如我在更改荷兰语循环时了解到的那样,它会更改计数器周期。但是,我需要创建频率为 200 KHz 的 PWM,定时器的时钟为 72 MHz。为了在计数器周期内达到 100 的值,我需要一个 3.6 的预分频器。我是按照错误的方式还是我在 stm32 中弄错了这个 PWM 占空比?
注意:我使用htimx.Instance->CCRx =Duty_Cycle; 来更改代码的占空比。
【问题讨论】:
-
如果您使用 PWM 时钟滴答作为内部单位,而不是一些人为的“0 到 100”的东西,这可能更有意义。 PID 调节器不关心它是否计算周期、毫安或胡萝卜数,它只是原始数学。
-
是,但没有 PID 回路。我需要一个灵敏度至少为 100 的占空比。 (我需要将占空比设置为 %7 或 %52 等。)这意味着我的计数器周期至少需要为 100。为了便于计算,我想将其设为 100,这样我就不需要更改 PID 输出。 (PID 输出将作为占空比输入到定时器。)但我想 72 MHz 定时器时钟看起来不可能
-
Which means my counter period needs to be at least 100百分之一是“整体”的 1/100。这并不意味着“整体”必须正好是 100。您不能将其设置为例如 18000 吗? -
具有 72 MHz 时钟和 200 kHz 预期 PWM 频率。我可以设置的最大时钟周期是 360。使用预分频器“1”。