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
https://stationeering.com/tools/ic#eyJwcm9ncmFtIjoiIyBEZXZpY2VzXG5hbGlhcyBkU2Vuc29yIGQwXG5hbGlhcyBkTWluIGQxXG5hbGlhcyBkTWF4IGQyXG5hbGlhcyBkSGVhdGVyIGQzXG5hbGlhcyBkQ29vbGVyIGQ0XG5cbiMgUmVnaXN0ZXJzXG5hbGlhcyByVGVtcCByMFxuYWxpYXMgck1pbiByMVxuYWxpYXMgck1heCByMlxuYWxpYXMgckhlYXRlciByM1xuYWxpYXMgckNvb2xlciByNFxuYWxpYXMgckRlbHRhIHI1XG5hbGlhcyByTWlkTG93IHI2XG5hbGlhcyByTWlkSGlnaCByN1xuYWxpYXMgckhlYXRlckh5c3QgcjhcbmFsaWFzIHJDb29sZXJIeXN0IHI5XG5cbiMgTWFpbiBsb29wXG5zdGFydDpcblxuIyBMb2FkIGRldmljZXMgaW50byByZWdpc3RlcnNcbmwgclRlbXAgZFNlbnNvciBUZW1wZXJhdHVyZVxuc3ViIHJUZW1wIHJUZW1wIDI3My4xNVxubCByTWluIGRNaW4gU2V0dGluZ1xubCByTWF4IGRNYXggU2V0dGluZ1xuXG4jIERlYnVnXG5zIGRiIFNldHRpbmcgclRlbXBcblxuIyBDYWxjdWxhdGUgbmVlZGVkIHBhcmFtZXRlcnNcbnN1YiByRGVsdGEgck1heCByTWluXG5kaXYgckRlbHRhIHJEZWx0YSAzXG5hZGQgck1pZExvdyByTWluIHJEZWx0YVxuc3ViIHJNaWRIaWdoIHJNYXggckRlbHRhXG5cbiMgTWFpbiBsb29wOiBnbyB0aHJvdWdoIGFsbCA0IHBvc3NpYmxlIGFjdGlvbnNcbnBoYXNlXzE6XG5iZXF6IHJIZWF0ZXJIeXN0IGhlYXRfc3RvcFxucGhhc2VfMjpcbmogaGVhdFxucGhhc2VfMzpcbmJlcXogckNvb2xlckh5c3QgY29vbFxucGhhc2VfNDpcbmogY29vbF9zdG9wXG5cbmhlYXRfc3RvcDpcbiMgSGVhdGVycyBvZmYsIHN0YXJ0IGhlYXRlciBoeXN0ZXJlc2lzXG5iZ3QgclRlbXAgck1pZExvdyBoZWF0ZXJzX29mZlxuaiBwaGFzZV8yXG5cbmhlYXQ6XG4jIEhlYXRlcnMgb24sIG5vIGh5c3RlcmVzaXNcbmJsdCByVGVtcCByTWluIGhlYXRlcnNfb25cbmogcGhhc2VfM1xuXG5jb29sOlxuIyBDb29sZXJzIG9uLCBzdGFydCBjb29sZXIgaHlzdGVyZXNpc1xuYmd0IHJUZW1wIHJNYXggY29vbGVyc19vblxuaiBwaGFzZV80XG5cbmNvb2xfc3RvcDpcbiMgQ29vbGVycyBvZmYsIG5vIGh5c3RlcmVzaXNcbmJsdCByVGVtcCByTWlkSGlnaCBjb29sZXJzX29mZlxuaiByZXN1bWVcblxuaGVhdGVyc19vZmY6XG5zIGRIZWF0ZXIgT24gMFxubW92ZSBySGVhdGVySHlzdCAxXG5qIHBoYXNlXzJcblxuaGVhdGVyc19vbjpcbnMgZEhlYXRlciBPbiAxXG5tb3ZlIHJIZWF0ZXJIeXN0IDBcbmogcGhhc2VfM1xuXG5jb29sZXJzX29uOlxucyBkQ29vbGVyIE9uIDFcbm1vdmUgckNvb2xlckh5c3QgMVxuaiBwaGFzZV80XG5cbmNvb2xlcnNfb2ZmOlxucyBkQ29vbGVyIE9uIDBcbm1vdmUgckNvb2xlckh5c3QgMFxuaiByZXN1bWVcblxucmVzdW1lOlxueWllbGRcbmogc3RhcnQiLCJyZWdpc3RlcnMiOnsiaW8iOlt7IlRlbXBlcmF0dXJlIjozMDB9LHsiU2V0dGluZyI6MjB9LHsiU2V0dGluZyI6MzV9LHsiT24iOjB9LHsiT24iOjB9LHt9LHsiU2V0dGluZyI6MjYuODUwMDAwMDAwMDAwMDIzfV0sImlvQ29ubmVjdGVkIjpbdHJ1ZSx0cnVlLHRydWUsdHJ1ZSx0cnVlLHRydWUsdHJ1ZV0sImludGVybmFsIjpbMjYuODUwMDAwMDAwMDAwMDIzLDIwLDM1LDAsMCw1LDI1LDMwLDEsMCwwLDAsMCwwLDAsMCwwLDBdLCJpb1Nsb3QiOlt7fSx7fSx7fSx7fSx7fSx7fSx7fV0sImlvUmVhZ2VudCI6W3t9LHt9LHt9LHt9LHt9LHt9LHt9XX0sInJ1bkFmdGVyUmVnaXN0ZXJDaGFuZ2UiOmZhbHNlLCJydW5XaXRoRXJyb3JzIjpmYWxzZX0=
label d1 LoMem
label d2 HiMem
label d3 cooler
label d4 heater
start:
l r0 d0 Temperature
sub r0 r0 273.15
l r1 d1 Setting
l r2 d2 Setting
sub r3 r2 r1
div r3 r3 3
add r4 r1 r3
sub r5 r2 r3
slt r6 r0 r7
select r7 r6 r4 r1
s d4 On r6
sgt r8 r0 r9
select r9 r8 r5 r2
s d3 On r8
yield
j start
nice code overthere!
1. Initial state:
Temp=31, Min=25, Max=35
=> MidLow=28.33, MidHigh=31.67
Temperature lies on the "sweet spot", heaters off, coolers off
Heater threshold = 25 (Min), cooler threshold = 35 (Max)
2. I change Min=30, Max=40
=> MidLow=33.33, MidHigh=36.67
Now, since Temp=31 which is less than the newly calculated MidLow, heaters should go on, trying to heat up till (the new) MidLow.
BUT: Heater threshold stays at Min due to the select not working in this case, and the heaters stay off.
The reason select is not working in my case is because slt r6 r0 r7 evaluates as FALSE, since r0=31 but the heater threshold still stays in 25.
https://1drv.ms/u/s!AiqBTMIm6FgM90C7jzINMj4rEI_3
Using dials
This is a very interesting topic, and I'm currently trying to memorize my university studies from almost 30 years ago...I have a specific problem where would ve very interested in trying to solve it with PID controller:
Currently, my greenhouse athmospheric and pressure control is as follows:
- N2, O2 and CO2 pipes in, volume pumps in each (set to 5 litres), no regulators
- one waste pipe out with a volume pump set currently to 100 litres
- no regulation whatsoever on input: the IC just keeps turning on/off each of the volume pumps to achieve the correct corresponding gas ratio
- pressure regulation is on the output, done also with an IC; it is a Schmitt Trigger. When pressure is over the limit, output volume pump is opened, and since its volume 100l is far more than input's volume 5+5+5=15l, it regulates pressure quite efficiently
Overall, the system I'm using works great: my athmosphere is neatly controlled, so is the pressure. It does take a lot of fine tuning though, since I have to manually try to balance the input and output volume pumps.
A volume pump is also pretty power-hungry: it is 8W/liter/tick, so power consumption ranges from 8 to 800W.
I think this is the place where a proper PID controller would be interesting to try out. It could for example try to manage the system, not only by turning the input and output pumps on and off, but by also tuning the volumes of the pumps so as to minimize power consumption.