我正在尝试编写一个用于控制具有以下特征的系统中的温度的微控制器程序:
- 输出只能是开或关,具有固定的循环频率(每小时约 2-10 个)
- 植物反应缓慢(可测量的温度变化需要很长时间 > 10 分钟)。
- 植物会根据环境条件失去温度。
- 设定点可以根据用户需求大幅度变化。
我正在编写一个控制器,旨在最大限度地减少错误,并遵守作为输入提供的循环速率。
这可以通过 PI 控制器轻松完成,并将其输出转换为占空比。问题是程序需要自动调整并选择正确的 Kp、Ki 常数并适应不同的环境条件和加热容量的变化。因此,提前调整 PI 控制器并没有太大用处。
不需要使用实际的 PI 或 PID。如果有帮助,我愿意使用模糊逻辑,芯片上还有一个机器学习算法,可以模拟系统响应和热损失(线性近似值),它建议有关测量的阶跃响应的信息。只是不知道如何处理这些信息。
一些帖子建议我可以使用建模数据在线调整 PI,以及建议我可以使用 Fuzzy-Logic 调整 PI的实验室视图手册。
我的问题是,这种场景的最佳方法是什么(例如 PID、模糊 pid、卷积等),我将如何在软件/实践中实际实现它。
我不是 EE,所以任何输入将不胜感激。