Stationeers

Stationeers

View Stats:
Big tank pressure regulator ?
Here i am once again but this time i cannot find something that will equalize the pressure for BIg tank because the Pressure regulator can only do 20kpa max and big tanks support 50kpa so is there something that can do same as the regulator but for big tank ? thanks
< >
Showing 1-11 of 11 comments
Rigben Feb 8, 2023 @ 3:42pm 
volume pump ideally working alongside a pipe analyzer.
JeanDeaux Feb 8, 2023 @ 4:59pm 
I've also been known to use a digital valve and use my tank control IC circuit to open/close when pressure meets a specific threshold.

A suggestion I have on devices posted here, feel free to lend a voice.
https://steamcommunity.com/app/544550/discussions/3/3761103203678900476/
h_LordEC[no-VC] Feb 8, 2023 @ 5:17pm 
I was under the impression that the pipes are the limit for both the small and large tank.
Pipes burst at ~60MPa.

I just have a passive vent with a digital valve hooked up to some logic to read the tank/pipe pressure and activate the valve when the pressure is above 48MPa.
JeanDeaux Feb 9, 2023 @ 12:56am 
Pipes do have a limit of ~60Mpa while in a vacuum, but with an outside air pressure they can hold more, I'm not sure it's a 1:1 ratio but the jist of it is if you have 10Mpa outside air pressure then your pipe pressure can now hold ~70Mpa.

I am thinking that the 0-100Mpa range would accommodate those that want to push the limits and allow some room for players to hang themselves if not paying attention to what they are designing. Think Kerbal Space Program, they give us rope, we hang ourselves.
[Taurus]Ateros Feb 9, 2023 @ 4:11am 
I did some logic circuitry that is set up in terms of "If pressure is less than 50mpa turn volume pump on" so via pipe analyzer if it reaches 50mpa greater it turns pump off thus blocking the input to large tank
JeanDeaux Feb 9, 2023 @ 6:10am 
Originally posted by TaurusAteros:
I did some logic circuitry that is set up in terms of "If pressure is less than 50mpa turn volume pump on" so via pipe analyzer if it reaches 50mpa greater it turns pump off thus blocking the input to large tank

A good first step, but it's a half measure if you have temperature variances to take into account. If your gas temperatures rise, then pressure will end up increasing and you may need to vent out gas that was once within pressure ranges that are now risking that safety margin. If you've got temperature controlled then nothing to worry about, else you'll appreciate having that safety bleed valve to prevent having to rebuild a good portion of your base.

*ADD*
A mythbusters episode showing what happens when temp & pressure build and has no escape.
https://www.youtube.com/watch?v=28ixJLtQBCc
Last edited by JeanDeaux; Feb 9, 2023 @ 7:10am
Rigben Feb 9, 2023 @ 6:50am 
Originally posted by JeanDeaux:
Originally posted by TaurusAteros:
I did some logic circuitry that is set up in terms of "If pressure is less than 50mpa turn volume pump on" so via pipe analyzer if it reaches 50mpa greater it turns pump off thus blocking the input to large tank

A good first step, but it's a half measure if you have temperature variances to take into account. If your gas temperatures rise, then pressure will end up increasing and you may need to vent out gas that was once within pressure ranges that are now risking that safety margin. If you've got temperature controlled then nothing to worry about, else you'll appreciate having that safety bleed valve to prevent having to rebuild a good portion of your base.

shhhhhhhh, explosions are great learning tools... *evil giggle*
TTD Feb 9, 2023 @ 6:53am 
First of all i'd like to state that I am very much NOT experienced and knowledgeable in the game. That being said, my usual go-to measure when (if) my bases start becoming big enough to warrant storing vast quantities of gas, is to use a cascading array of tanks, preferably insulated (and also using insulated pipes) or placed in a cool environment that fill one after the other when each one approaches critical pressures. I try never to pressurise any tank beyong 50MPa simply as a safety measure as well.
So when a storage pipe network (with all included tanks and all) reaches about 50MPa another tank is connected to the network, initially via a back-pressure regulator that is later replaced by digital valves, once I get invar made. The tricky thing, early on, is to carefully design the network so you can read pressure from the tanks until you produce electrum for the pipe readers, without having parts of your piping that may be over-pressurised to bursting points by accident or neglect. For fuel mixes I also usually set a temperature alarm.
If I'm unable to build an extra tank as a safety measure I just place a passive vent after the whole logic chip-digital valve assembly. Yep I haven't gotten around to learning IC10 programming and I use simple logic I/O's and processors, which, tbh for this setup are usually enough. I don't know if it is worth the trouble and resources to set up an IC10-controlled system, I have no experience with it so I can't say.
As a funny side note, I haven't learned this or fallen to this routine just by having stuff explode though. At least not too many times. I'm an actual engineer but initially I didn't "read the manual" i.e. the F1 menu, to check for max tolerances etc. Then I decided to stop trying to learn the game by playing and run the tutorials first instead :D
My engineering skills leave much to be desired, what can I say :D
Last edited by TTD; Feb 9, 2023 @ 6:54am
LittleShade Feb 9, 2023 @ 7:03am 
I hope the following code will help you.
The following code is used to prevent the tank from exploding due to overpressure when the pressure in the tank exceeds the maximum pressure set.
(The reason I post the code here is because for some reason I can no longer share the codes or save files.)
Number 1 is controlled centrally.
Number 2 is controlled by each Filtration .
Finally, for excess pressure, post-processing is considered to be the right processor rather than pre-processing personally.

#Tank Max pressure bypass v1.0
define MAX_PRESSURE 45636 #42636 #20265kPa, 45,636kPa
define PUMP_SET 10
alias rIterator r10
alias rTemp r11
alias rCurrPressure r6
alias rGasPumpFlag r7

Start:
yield
move rIterator 0
Loop:
sleep 1
jal _UpdateReference
jal _FunctionForDevice
add rIterator rIterator 1
bgt rIterator 2 Loop_End
j Loop
Loop_End:
j Start

_UpdateReference:
mul rTemp rIterator 3
add rTemp rTemp 1
jr rTemp
alias dGasTank d0
alias dGasPump d1 #Index 0
j Select_end
alias dGasTank d2
alias dGasPump d3 #Index 1
j Select_end
alias dGasTank d4
alias dGasPump d5 #Index 2
j Select_end
Select_end:
j ra

_FunctionForDevice:
bdns dGasPump Function_End
bdns dGasTank Function_End
l rCurrPressure dGasTank Pressure
sge rGasPumpFlag rCurrPressure MAX_PRESSURE
#s dGasPump Lock 0
s dGasPump Setting PUMP_SET
s dGasPump On rGasPumpFlag
#s dGasPump Lock 1
Function_End:
j ra

######################################################

#Filtration inside controller for gas filtering in venus 1_2 v0.1
alias dThis db #Filtration
alias dAlert d0 #LED light
alias dExhaustPump d1 #Option
define MAX_PRESSURE 42636 #20265kPa, 45,636kPa
define Filter_N2O 1
define Filter_H 2
define Filter_O2 3
define Filter_N 4
define Filter_CO2 5
define Filter_X 6
define Gas_Limit 0.02
alias rFilterType r10
alias rFilterHash r11
alias rOrgSP r13
alias rMaxSP r14
alias rTmp r15
define Max_Temp 303 #30'C
define Min_Press 1 #75Kpa
alias rTotalQuantity r9
alias rColor r8
Init:
move rFilterHash -1
move rOrgSP 0
jal _InitData
Start:
yield
ls r0 dThis 0 Quantity
ls r1 dThis 0 OccupantHash
ls r2 dThis 1 Quantity
ls r3 dThis 1 OccupantHash
add rTotalQuantity r0 r2
select rTmp r0 r1 r3
bneal rFilterHash rTmp _GetGasFilterType
beq rFilterType Filter_N2O Gas_N2O
beq rFilterType Filter_H Gas_H
beq rFilterType Filter_O2 Gas_O2
beq rFilterType Filter_N Gas_N
beq rFilterType Filter_CO2 Gas_CO2
beq rFilterType Filter_X Gas_X
j Start_End
Gas_N2O:#Outgassing
l r0 dThis RatioNitrousOxideInput
j Filter_End
Gas_H:#Outgassing
l r0 dThis RatioVolatilesInput
j Filter_End
Gas_O2:#Outgassing
l r0 dThis RatioOxygenInput
j Filter_End
Gas_N:#Outgassing
l r0 dThis RatioNitrogenInput
j Filter_End
Gas_CO2:#Outgassing
l r0 dThis RatioCarbonDioxideInput
j Filter_End
Gas_X:#Outgassing
l r0 dThis RatioPollutantInput
Filter_End:
sgt rTmp r0 Gas_Limit
l r0 dThis PressureInput
l r1 dThis TemperatureInput
slt r1 r1 Max_Temp
sgt r0 r0 Min_Press
and r1 r0 r1
and rTmp rTmp r1
sgtz r4 rTotalQuantity
and rTmp rTmp r4
select r1 rTotalQuantity 0 1
s dThis Open r1
s dThis Mode rTmp
move rColor 0
slt r2 rTotalQuantity 10
select rColor r1 4 rColor
slt r1 rTotalQuantity 30
select rColor r1 5 rColor
bdns dAlert Start_End #Alert control
s dAlert Color rColor
s dAlert On rColor
bdns dExhaustPump Start_End #Press control
l r0 dThis PressureOutput
sge r0 r0 MAX_PRESSURE
select r0 r0 100 0
s dExhaustPump Setting r0
s dExhaustPump On r0
Start_End:
j Start
_GetGasFilterType:
move rOrgSP sp
move rFilterType 0
move sp 1 #Loop
Loop:
peek r0
bne rTmp r0 Next
div r1 sp 3
ceil r1 r1
move rFilterType r1
move rFilterHash r0
bnez rFilterType Loop_End
Next:
add sp sp 1
blt sp rMaxSP Loop
Loop_End:
move sp rOrgSP
j ra
_InitData:#Filter Class
push -1247674305 #Filter_N2O_S #index 1
push 1824284061 #Filter_N2O_M
push 465267979 #Filter_N2O_L
push 15011598 #Filter_Vol_S #Index 2
push 1037507240 #Filter_Vol_M
push 1255156286 #Filter_Vol_L
push -721824748 #FilterO2_S #Index 3
push -1067319543 #Filter_O2_M
push -1217998945 #Filter_O2_L
push 632853248 #Filter_N_S #index 4
push -632657357 #Filter_N_M
push -1387439451 #Filter_N_L
push 1635000764 #Filter_CO2_S #index 5
push 416897318 #Filter_CO2_M
push 1876847024 #Filter_CO2_L
push 1915566057 #Filter_X_S #Index 6
push 63677771 #Filter_X_M
push 1959564765 #Filter_X_L
move rMaxSP sp
bnez rOrgSP ra
move rOrgSP sp
j ra
Last edited by LittleShade; Feb 9, 2023 @ 7:16am
JeanDeaux Feb 9, 2023 @ 7:07am 
When real engineers learn by building first...
https://www.youtube.com/watch?v=3mclp9QmCGs
[Taurus]Ateros Feb 9, 2023 @ 7:58am 
Originally posted by pippin2006:
I hope the following code will help you.
The following code is used to prevent the tank from exploding due to overpressure when the pressure in the tank exceeds the maximum pressure set.
(The reason I post the code here is because for some reason I can no longer share the codes or save files.)
Number 1 is controlled centrally.
Number 2 is controlled by each Filtration .
Finally, for excess pressure, post-processing is considered to be the right processor rather than pre-processing personally.

#Tank Max pressure bypass v1.0
define MAX_PRESSURE 45636 #42636 #20265kPa, 45,636kPa
define PUMP_SET 10
alias rIterator r10
alias rTemp r11
alias rCurrPressure r6
alias rGasPumpFlag r7

Start:
yield
move rIterator 0
Loop:
sleep 1
jal _UpdateReference
jal _FunctionForDevice
add rIterator rIterator 1
bgt rIterator 2 Loop_End
j Loop
Loop_End:
j Start

_UpdateReference:
mul rTemp rIterator 3
add rTemp rTemp 1
jr rTemp
alias dGasTank d0
alias dGasPump d1 #Index 0
j Select_end
alias dGasTank d2
alias dGasPump d3 #Index 1
j Select_end
alias dGasTank d4
alias dGasPump d5 #Index 2
j Select_end
Select_end:
j ra

_FunctionForDevice:
bdns dGasPump Function_End
bdns dGasTank Function_End
l rCurrPressure dGasTank Pressure
sge rGasPumpFlag rCurrPressure MAX_PRESSURE
#s dGasPump Lock 0
s dGasPump Setting PUMP_SET
s dGasPump On rGasPumpFlag
#s dGasPump Lock 1
Function_End:
j ra

######################################################

#Filtration inside controller for gas filtering in venus 1_2 v0.1
alias dThis db #Filtration
alias dAlert d0 #LED light
alias dExhaustPump d1 #Option
define MAX_PRESSURE 42636 #20265kPa, 45,636kPa
define Filter_N2O 1
define Filter_H 2
define Filter_O2 3
define Filter_N 4
define Filter_CO2 5
define Filter_X 6
define Gas_Limit 0.02
alias rFilterType r10
alias rFilterHash r11
alias rOrgSP r13
alias rMaxSP r14
alias rTmp r15
define Max_Temp 303 #30'C
define Min_Press 1 #75Kpa
alias rTotalQuantity r9
alias rColor r8
Init:
move rFilterHash -1
move rOrgSP 0
jal _InitData
Start:
yield
ls r0 dThis 0 Quantity
ls r1 dThis 0 OccupantHash
ls r2 dThis 1 Quantity
ls r3 dThis 1 OccupantHash
add rTotalQuantity r0 r2
select rTmp r0 r1 r3
bneal rFilterHash rTmp _GetGasFilterType
beq rFilterType Filter_N2O Gas_N2O
beq rFilterType Filter_H Gas_H
beq rFilterType Filter_O2 Gas_O2
beq rFilterType Filter_N Gas_N
beq rFilterType Filter_CO2 Gas_CO2
beq rFilterType Filter_X Gas_X
j Start_End
Gas_N2O:#Outgassing
l r0 dThis RatioNitrousOxideInput
j Filter_End
Gas_H:#Outgassing
l r0 dThis RatioVolatilesInput
j Filter_End
Gas_O2:#Outgassing
l r0 dThis RatioOxygenInput
j Filter_End
Gas_N:#Outgassing
l r0 dThis RatioNitrogenInput
j Filter_End
Gas_CO2:#Outgassing
l r0 dThis RatioCarbonDioxideInput
j Filter_End
Gas_X:#Outgassing
l r0 dThis RatioPollutantInput
Filter_End:
sgt rTmp r0 Gas_Limit
l r0 dThis PressureInput
l r1 dThis TemperatureInput
slt r1 r1 Max_Temp
sgt r0 r0 Min_Press
and r1 r0 r1
and rTmp rTmp r1
sgtz r4 rTotalQuantity
and rTmp rTmp r4
select r1 rTotalQuantity 0 1
s dThis Open r1
s dThis Mode rTmp
move rColor 0
slt r2 rTotalQuantity 10
select rColor r1 4 rColor
slt r1 rTotalQuantity 30
select rColor r1 5 rColor
bdns dAlert Start_End #Alert control
s dAlert Color rColor
s dAlert On rColor
bdns dExhaustPump Start_End #Press control
l r0 dThis PressureOutput
sge r0 r0 MAX_PRESSURE
select r0 r0 100 0
s dExhaustPump Setting r0
s dExhaustPump On r0
Start_End:
j Start
_GetGasFilterType:
move rOrgSP sp
move rFilterType 0
move sp 1 #Loop
Loop:
peek r0
bne rTmp r0 Next
div r1 sp 3
ceil r1 r1
move rFilterType r1
move rFilterHash r0
bnez rFilterType Loop_End
Next:
add sp sp 1
blt sp rMaxSP Loop
Loop_End:
move sp rOrgSP
j ra
_InitData:#Filter Class
push -1247674305 #Filter_N2O_S #index 1
push 1824284061 #Filter_N2O_M
push 465267979 #Filter_N2O_L
push 15011598 #Filter_Vol_S #Index 2
push 1037507240 #Filter_Vol_M
push 1255156286 #Filter_Vol_L
push -721824748 #FilterO2_S #Index 3
push -1067319543 #Filter_O2_M
push -1217998945 #Filter_O2_L
push 632853248 #Filter_N_S #index 4
push -632657357 #Filter_N_M
push -1387439451 #Filter_N_L
push 1635000764 #Filter_CO2_S #index 5
push 416897318 #Filter_CO2_M
push 1876847024 #Filter_CO2_L
push 1915566057 #Filter_X_S #Index 6
push 63677771 #Filter_X_M
push 1959564765 #Filter_X_L
move rMaxSP sp
bnez rOrgSP ra
move rOrgSP sp
j ra

Ugh thats long reply XD ... so i apreciate the code for IC i kinda was digging into IC just with xor , or gates and solar tracking this can come in handy thanks
< >
Showing 1-11 of 11 comments
Per page: 1530 50

Date Posted: Feb 8, 2023 @ 3:37pm
Posts: 11