Rimatomics PID Autothrottle(Rimatomics PID自动节气门)|环世界

将Dubs Rimatomics中的核反应堆自动节气门代码替换为基于PID控制的更快、更有效的代码。
为什么要做这个mod?
Dubs Rimatomics为其核反应堆提供了一个自动节气门功能。然而,这个自动节气门有两个缺点。
1)它将试图使整个电网负荷保持在0到5kW之间。一旦达到这个目标,它就完成了。这意味着,你的电池只能缓慢地充电,由于Rimatomics使用的能量武器直接从电池中获取Wd(并且一次获取很多),当你需要保护自己时,你可能会发现自己没有足够的能量。
2)一旦你的电池满了,它仍然会使电网保持几千瓦的正值。由于电池已经达到容量,额外的电力被浪费了。考虑到Rimatomics所带来的充裕的电力,你们中的大多数人不会在意这个问题,但我不喜欢浪费任何东西。
什么是PID控制?
一种基于连续检查反馈值和设定值的控制回路机制。它通常用于更多的技术/工业应用,典型的例子是温度控制。例如,可以在这里阅读详细的描述。(A5)https://en.wikipedia.org/wiki/PID_controller(A55)
在这种情况下,它调整反应堆的控制棒,以使电网的电池电量保持在某个百分比。如果电荷量低于,功率就会增加,如果高于,就会减少。目前电池设定值默认为75%,你可以在MOD设置中进一步增加(或减少),但不要设置为100%--当功率输出过高时,系统将不知道要向下调整。我建议不要超过90%。
它是如何工作的?
系统将连续检查反应堆控制台电网的电池充电百分比与设定值。它计算出一个 "误差 "值,这只是设定值和实际值之间的差异。输出值(控制棒位置)是根据三个部分计算的。
1)比例:简单地说,就是误差值乘以比例增益值。差值越大,调整的幅度越大。
2) 积分:每一次控制环路迭代,当前的误差都会加到积分误差值上。误差在一个方向上持续的时间越长,综合误差就越大(或越小)。这个值再乘以积分增益值,然后加到结果中。
3)导数:也要计算当前迭代的误差与前一个迭代的误差之差,以确定随时间变化的速率。这要乘以导数增益值,也要加到结果中。这只是意味着电荷的巨大变化将减少响应值以防止过冲。严格来说,小型反应器不需要导数增益,但大型反应器在充满燃料时有如此大的功率输出,它们将非常迅速地改变你的电池电量,D型增益就成为必要。
要考虑什么?
从技术上讲,任何特定的系统(在这种情况下,这将主要取决于反应堆的功率输出)都需要优化PID增益。然而,如果你不想处理这个问题,我不怪你--该模型带有一组默认值,应该能很好地适用于任何反应堆设置,尽管你可能无法从中获得完美的电池充电时间。
还请注意,在模型设置中也没有 "重置为默认值 "的按钮(这是计划中的,只是我还没有想出来)。如果你确实改变了数值而忘记了默认值,它们是P=2,I=0.00004,D=250。你也可以进入保存mod设置文件的用户文件夹并删除它。这将在你下次加载游戏时恢复默认值。
最后,只有当你的反应堆电源输出(变压器)、电池和控制台都在同一个电网上时,这个mod才能正确工作。对于所有使用几个变压器来为不同的电网供电的人来说,我很抱歉,但我还没有找到一个合理处理这些情况的方法。
当然,Rimatomics模型的所有功劳要归功于Dubwise。