MC百科社群

标题: [DE2(3)+OC] 神龙反应堆OC自动化 [打印本页]

作者: Silvet    时间: 2023-6-1 15:20
标题: [DE2(3)+OC] 神龙反应堆OC自动化
开源lua代码
https://github.com/S-i-l-v-e-t/DraconicReactor_PID_Control
效果图:

原理:
使用单极PID实现控制场稳定
使用串级PID实现温度稳定
作者: QQ酱209760    时间: 2023-6-2 00:10
本帖最后由 QQ酱209760 于 2023-6-2 00:57 编辑

好东西,终于有人想到做这个了。
我之前也是花了很多时间研究龙堆,也想过弄个OC的控制程序,只是有余而不足
顺便最好提一下运行需要的配置

好像有点不对劲,等我白天去测试一下

作者: Silvet    时间: 2023-6-2 17:51
本帖最后由 Silvet 于 2023-6-2 17:52 编辑
QQ酱209760 发表于 2023-6-2 00:10
好东西,终于有人想到做这个了。
我之前也是花了很多时间研究龙堆,也想过弄个OC的控制程序,只是[0v0_:100 ...

配置?T2套件无压力运行,因为采样速度并没有很快(控制场0.3,堆温0.8)
至于内存问题不够的话就降低积分时间就好了(不过你龙堆都出了,还做不出T3套件吗)

如果有用按钮的需求的话就上T3screen,T3GPU
没有的话随便有个GPU和screen就可以了

作者: QQ酱209760    时间: 2023-6-2 21:32
本帖最后由 QQ酱209760 于 2023-6-2 22:41 编辑

提几个建议:
1. 紧急停机时那个巨大的输入功率在温度降到8000以下之后就可以改回自动调节了。控制场就是个无底洞,你给它多少电它就吞多少,如果是生存存档触发了紧急停机搞不好就让它把电吞没了。2. 建议加个自动关机,使燃料消耗进度到一定值以后把反应堆关掉,不然如果放着不管就会变成这样:

因为8000°C反应堆的输出规律是这样的(DE2):

即使不等到净输出变负数,反应堆的效率也会严重下降。
3. 建议关机时的操作改成:先将输出功率调为0,等到温度下降的速度低于 (1-燃料消耗进度)*1.3 (单位:°C/t)的时候再发出关机指令。这样做才是最大程度减少关机耗时(DE3中会很明显)。
4. 一些网络中只有一个的组件(如反应堆)可以直接用component.draconic_reactor来获取,这样就不用手动查地址了。




作者: Silvet    时间: 2023-6-3 00:52
QQ酱209760 发表于 2023-6-2 21:32
提几个建议:
1. 紧急停机时那个巨大的输入功率在温度降到8000以下之后就可以改回自动调节了。控制场就是个 ...

回复一下你说的几个问题:
反应堆自动关机已经在计划做了,估计明天pr
反应堆何时进行自动关机,我的看法是当输出降为<1krf/t时就关机,这样最大程度降低维护成本,当然这个issue后面可以改成可选项(燃料%关机)
对于地址项我是清楚它不太好填写,但是为了兼容性(我的档里面是用一台服务器跑三个堆的,两个rf堆一个万度碎片堆,甚至后期有第三个rf堆的计划)我还是打算保留(也许会作为另一个脚本放出)
作者: Silvet    时间: 2023-6-3 00:59
现在还在测试三台rf堆能带动的反应堆过载极限(目前10560°C)
不过目前的参数还是只有8000°C时是最稳定的,我的rf堆也基本都是8000°C
但是生产碎片的效率可能三台rf堆都比不上我现在的万度堆,它是真的起飞
作者: QQ酱209760    时间: 2023-6-3 10:18
本帖最后由 QQ酱209760 于 2023-6-3 11:39 编辑
Silvet 发表于 2023-6-3 00:52
回复一下你说的几个问题:
反应堆自动关机已经在计划做了,估计明天pr
反应堆何时进行自动关机,我的看法 ...

别等它降到1k,燃料到90%之前最好就关机,不然停机散热要一个小时以上,控制场还必须开着,反而更费电。而且到后期同样温度对应的燃料转化率会越来越低,就算拿来烧碎片也没有效率。
万度堆在DE3可能需要调整,因为根据计算,如果维持10%的控制场,DE3反应堆烧到10000度会直接控制场过载爆掉,需要至少18%的控制场才能安全运行(温度达到10250时不过载)。
作者: Silvet    时间: 2023-6-3 12:51
本帖最后由 Silvet 于 2023-6-3 14:39 编辑
QQ酱209760 发表于 2023-6-3 10:18
别等它降到1k,燃料到90%之前最好就关机,不然停机散热要一个小时以上,控制场还必须开着,反而更费电。而 ...

万度堆是我自用的,不放出来,而且我只玩de2所以没问题
//关机问题我已经改成可选项,默认<10%关机,可以通过简单更改脚本文件去修改模式//
因为有些人可能维护反应堆不是很方便(比如我),而且又不是很在乎电力消耗,只想产碎片
不过建议很好,我之前一直不清楚反应堆各个变量间的函数关系,要不然也不会选择这种PID来调控了
  .update 14:39
Github上的v21分支我已经更新了带有自动关机功能的lua脚本,不过还没有进行实际测试
默认模式设定成了剩余燃料<10%时关机,具体配置我写readme了,就不在此讨论



作者: QQ酱209760    时间: 2023-6-3 15:12
本帖最后由 QQ酱209760 于 2023-6-3 15:28 编辑
Silvet 发表于 2023-6-3 12:51
万度堆是我自用的,不放出来,而且我只玩de2所以没问题
关机问题我已经改成可选项,默认<1k关机,可以通 ...

就算是默认值最好也不要设成这样,我昨天截完那张图后反应堆花了将近三小时才关掉。(编辑:刚发出来发现你已经改了)
顺便一提,可以把那些用户可修改的变量放到一起,后面加注释标记出来。(不是说readme没用,主要是为了方便在程序文件里查找)
至于PID控制,我觉得其实是非常好的办法,它能够避免处理龙堆变量间繁琐的关系,计算过程更简单。

作者: Silvet    时间: 2023-6-3 15:33
本帖最后由 Silvet 于 2023-6-4 13:51 编辑
QQ酱209760 发表于 2023-6-3 15:12
就算是默认值最好也不要设成这样,我昨天截完那张图后反应堆花了将近三小时才关掉。(编辑:刚发出来发现 ...

但是稳定和参数调试始终是令人头大的难题
之后会把用户能调整的参数全部放在头部的
6/4编辑:
v21分支已分离参数部分,鉴于还未完全测试代码稳定性,暂不merge








欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科