我正在编写一个用于控制速度的 PWM 电机驱动器的模糊 PID 控制器。反馈是来自固定在电机轴上的霍尔效应编码器的方波。
我的代码可以计算来自编码器的方波的两个上升沿之间的时钟上升沿,以计算一转的时间。我的代码中的函数可以将任何给定的 RPM 转换为一转所需的时间,这就是控制器的设定点。
错误显然是设定点和当前值之间的差异(应该是一圈的时间 - 当前是什么)。
这进入了反向差分 PID 控制算法,我得到一个数字作为输出(基本上是 P*error + I*(prev 误差之和)+ D(prev-当前速度))。
这必须映射到特定的 PWM 占空比百分比,以便 PWM 驱动器进程增加或减少 PWM 功率输出。
我对这个映射有概念上的问题。我应该如何将输出数字转换为百分比?我正在考虑计算最大可能误差和零误差的值,然后将它们分别映射到 100 和 1% 占空比。
我正在寻找概念而不是代码。谢谢。