Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
After "define SPDeviceMultiplier 1":
-Add: "define InvertSleep 0"
and after "l OnState SleepToggle Setting":
-Add: "xor OnState Onstate InvertSleep"
Great work and well worth the tutorials and trial and error to get it working. Using this in a few places, but my favorite application right now is on a system to condense pollutant in a heat pump system
it sounds like you got a case of "integrator windup" https://en.wikipedia.org/wiki/Integral_windup
Long story short: your settings is way to sensitive and accumulates integral error rapidly.
try a much lower Kp and/or a much higher Ti
I have the generator Pressure as d0
fuel pump as d1
and a sleep switch as d2
set point is 50 but the generator runs at full pressure always
Does this no longer work ??
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2504565495
alternatively Kp = 0.01 and Ti=20 allso gained good results.
what i ended up with was a steady input on the furnace at 13-14% with temps between 1000*C and 1500*c (SP=1250) because of the ignition limits. you want to be aware that with that setup it might have both input and output open at the same time so it might end up ejecting fuel. if you aren't already you might want to capture it and reuse it.
To improve on this you can try to tinker with the numbers some more, but because of the game limitations on ignition you might want to rethink the design. i'm not quite sure how but i would suspect having a continuous flow both in and out of the furnace, and reusing some of the gasses and controlling fuel injection might be the way to go.
really cool base btw
Furnace control is very interesting because as you touch on, you whon't get ignition before the fuel mix makes up 5% of the atmosphere in the furnace. i don't see the delay between temperature dropping below SP and the controller kicking in (maybe a tick or two), although the output may just be too small to display when close to SP.
Nevertheless when working with system delays like this it's easier to work with it, rather than fight it. aim for keeping the average temp at SP, with a continuous but stable fuel flow. im going to guess it's impossible to keep a furnace temperature exact with the current game limitations on ignition.
in short the different values can be explained like this:
Kp -> how aggressive it is relative to error ("high" = aggressive, "low" = relaxed)
Ti -> how fast it should fight to close the remaining gap ("high" = slow, "Low" = fast)
Td -> how aggressive it should be to change ("Low" = aggressive, "high" = relaxed)
I have just shared the build in the workshop as "Mars Bar" if you care to have a look.
the best way to debug the controller is to set Ti and Td to zero, so they don't affect anything. then you only have the proportinal gain left to deal with. with only proportinal it's a rather simple equation.
u (output) = Kp * e (error)
- in case of temperature > SP the equation shuld output a negative value (capped by minOutput)
- in the case of SP > temp it shuld output a small value when they are close, and proportinal bigger the further those values get from each other. idealy it would find a balance somewhere below SP.
i wouldn't mind to look at the setup if you'd share the world. i havn't attempted to setup an advanced furnace with PID in a while.