我正在尝试编写一个用于控制具有以下特征的系统中的温度的微控制器程序:
- 输出只能是开或关,具有固定的循环频率(每小时约2-10)
- 工厂的响应速度很慢(可测量的温度变化需要10分钟以上的长时间)。
- 该工厂会根据环境条件降低温度。
- 设定点可以根据用户需求大步变化。
我正在编写一个控制器,旨在最大程度地减少错误,并坚持提供作为输入的循环速率。
使用PI控制器可以轻松完成此操作,并将其输出转换为占空比。问题在于程序需要自动调整并选择正确的Kp,Ki常数,并适应变化的环境条件和加热能力的变化。因此,预先调整PI控制器不是很有用。
不需要使用实际的PI或PID。如果有帮助,我愿意使用Fuzzy-Logic,也可以在芯片上使用机器学习算法来对系统响应和热损耗(线性近似)建模,该算法可提供有关所测阶跃响应的信息。只是不知道该怎么办。
有几篇文章建议我可以使用建模数据来在线调整PI,还可以通过实验室查看手册来建议我可以使用Fuzzy-Logic来调整PI。
我的问题是,对于这种情况(例如PID,模糊PID,卷积等),最好的方法是什么?我将如何在软件/实践中实际实现它?
我不是EE,因此不胜感激。