有没有人知道如何将前馈运算放大器 PID 循环转换为 C 代码?我正在尝试进行这样的转换,老实说,不知道从哪里开始。我可以通过 ADC、电压、电流等获取所有输入值,但编写前馈 PID 对我来说有点陌生。有什么想法吗?
最佳答案
您正在谈论用非线性控制系统的软件替换硬件。我认为您唯一的希望是编写硬件模拟。
我对 PID 一无所知,但通过 Google 快速搜索发现:
http://www.cds.caltech.edu/~murray/books/AM05/pdf/am06-pid_16Sep06.pdf
它的方程式和图表似乎描述了一个理想的 PID 控制系统。您可以从编写实现这些方程式的代码开始。
在我仔细考虑了你的问题之后,我觉得这可能是一个普遍的问题。我在 Google 上搜索了“离散 PID Controller 仿真”,找到了 Simulink、Matlab 和 Python 的答案,以及更多书籍引用。
您可能想从 Python 食谱开始。与 C 相比,使用 Python 更容易、更快捷,如果您使用 SciPy,您可以绘制结果并确保获得所需的数字。一旦你让它在 Python 中工作,然后根据需要移植到 C。
http://code.activestate.com/recipes/577231-discrete-pid-controller/
关于将电路转换为 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404658/