Difference between revisions of "User:Vortex1942/Automating the TEG"

From Space Station 13 Wiki
Jump to navigation Jump to search
(Replace RegEx with Signal Splitters)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Wip
''See Also:''
|Reason=
* ''[[Packets]]''
}}
* ''[[MechComp]]''
* ''[[Thermoelectric_Generator|Thermoelectric Generator]]''




== Devices ==
Stuff that MechComp can interact with in engineering.


=== Pumps ===
= Controllable Devices =
Powered down pumps do not transfer gas, Meaning they can be used as controllable Electronic Valves,
Tired of watching the TEG constantly?, Ever want to just outsource your job to a computer? Well this is for you.
 
These devices are able to recieve signals from MechComp to control the engine/toxins.
 
== Wireless Devices ==


==== Frequencies ====
=== Frequencies ===
Using a multitool on a WiFi capable device will tell you it's frequency
Most Atmos devices will use these frequencies.
* Engineering: 122.5
* Engineering: 122.5
* Science: 122.9
* Science: 122.9
==== Commands ====
* Security: ███
The following points demon
 
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''Pump'''
|-
|
=== Pump ===
Powered down pumps do not transfer gas, Meaning they can be used as controllable Electronic Valves,
 
'''<big>Commands</big>'''
* '''WARNING''': Omitting <code>tag</code> will cause commands to be sent to '''ALL''' pumps
* '''WARNING''': Omitting <code>tag</code> will cause commands to be sent to '''ALL''' pumps


Line 35: Line 46:
** <code>command</code>: <code>broadcast_status</code>
** <code>command</code>: <code>broadcast_status</code>


==== Pump Status ====
'''<big>Pump Status</big>'''
The following is transmited whenever a pump recieves are command
The following is transmited whenever a pump recieves are command
* <code>tag</code>: <code>(Pump Name)</code>
* <code>tag</code>: <code>(Pump Name)</code>
Line 43: Line 54:
* <code>address_tag</code>: <code>pumpcontrol</code>
* <code>address_tag</code>: <code>pumpcontrol</code>


{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
'''<big>Packet Examples</big>'''
|Transmission Examples.
|-
|
Purge Hotloop:
Purge Hotloop:
* <code>tag=Hot Loop Purge Pump;command=power_on</code>
* <code>tag=Hot Loop Purge Pump;command=power_on</code>
Line 55: Line 63:
Set Pressure:
Set Pressure:
* <code>tag=Hot Loop Purge Pump;command=set_target_pressure;parameter=5000</code>
* <code>tag=Hot Loop Purge Pump;command=set_target_pressure;parameter=5000</code>
|}


Status Response:
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
* <code>tag=Cold Loop Gas Supply 2; device=AGP; power=on; target_output=1000; address_tag=pumpcontrol; sender=0201a522; </code>
|'''Gas Mixer'''
|-
|
=== Gas Mixer ===
Did I hear you say "Adjustable combustion chamber temperatures?"
* '''NOTE''': Unfortunately I have not been able to tap into status reports from mixers
 
'''<big>Commands</big>'''
 
* Toggle Power
** <code>command</code>: <code>toggle_pump</code>
** <code>parameter</code>: <code>power_on</code> or <code>power_off</code>
** <code>tag</code>: <code>(Mixer Name)</code>
 
* Set gas ratio
** '''NOTE''': <code>parameter</code> value is Input 1 ratio only ie. 66 = 66:33
** <code>command</code>: <code>set_ratio</code>
** <code>parameter</code>: <code>(0-100 Number)</code>
** <code>tag</code>: <code>(Mixer Name)</code>
 
* Set gas pressure
** '''NOTE''': <code>parameter</code> is an uncapped value
** <code>command</code>: <code>set_ratio</code>
** <code>parameter</code>: <code>(Target Air Pressure)</code>
** <code>tag</code>: <code>(Mixer Name)</code>
 
'''<big>Packet Examples</big>'''
Set Ratio to 66:33:
* <code>tag=engine_combust_control; command=set_ratio; parameter=66</code>
 
Set Pressure to 75kPa:
* <code>tag=engine_combust_control; command=set_pressure; parameter=75</code>


Turn off mixer:
* <code>tag=engine_combust_control; command=toggle_pump; parameter=power_off</code>
|}
|}


== MechComp Devices ==
Connecting the generator and pressure will require using you multitool on them and selecting "Connect Component"
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''The Generator'''
|-
|
=== The Generator ===
Ever wanted to boast about the engine output to the crew? Well now you can do it automatically!
'''<big>Outputs</big>'''
* <code>power</code>: <code>(Unformatted power output)</code>
* <code>powerfmt</code>: <code>(Formatted power output, 2.21 GW)</code>
'''<big>Signal Fields</big>'''
* Raw Signal: <code>power=3.84698e+06&powerfmt=3.847 MW</code>
* <code>power</code>: <code>(Raw Power Output)</code>; Example: <code>3.84698e+06</code>
* <code>powerfmt</code>: <code>(Formatted Power Output)</code>; Example: <code>3.847 MW</code>
Use a WiFi signal splitter component to grab the values of these fields
|}
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''Pressure Meter'''
|-
|
=== Pressure Meter ===
The main source of data for engine automation.
'''<big>Signal Fields</big>'''
* Raw Signal: <code>pressure=3410.27&temperature=20462.7</code>
* <code>pressure</code>: <code>(Pipe Pressure)</code>; Example: <code>3410.27</code>
* <code>temperature</code>: <code>(Pipe temperature)</code>; Example: <code>20462.7</code>
Use a WiFi signal splitter component to grab the values of these fields
|}
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 30%;
|'''Circulators (Blowers) '''
|-
|
=== Circulators (Blowers) ===
Useful for optimizing the target pressure on the blowers.
'''<big>Inputs</big>'''
* '''NOTE''': <code>parameter</code> has a max value of 100000kPa
* <code>Toggle Active</code>: <code>(Pipe Pressure)</code>
* <code>Set Target Pressure</code>: <code>(Pipe pressure)</code>
|}
= Example Contraptions =
Use these examples to help get started with making your own controllers.
=== Hot Loop Auto-purge ===
Tired of your hot loop pipes rupturing and plasma flooding engineering? Well this is for you!
What it does?
* When the meter pressure is above <code>14500</code>, the Arithmetic will send a 1 to both Signal Checks, Signal Check A then sends a WiFi packet to turn on the purge pump.
Mechlab Shopping List:
* 1x WiFi Signal Splitter Component.
* 1x Arithmetic Component.
* 2x Signal Check Component.
* 1x WiFi Component.
Optional:
* Letter Display (See if the pump is currently on).
* Text Display (Show off your current pipe pressure).
* Component Cabinet.
To Assemble (Or see wiring diagram below):
# Place and wrench components, Optionally: In a component cabinet.
# Interact with a multitool on a pressure meter, select "Connect Component".
#* Use a pressure meter that is directly connecting to the furnaces/combustion chamber, Avoid meters on the output end of pipes.
# Interact with the WiFi signal splitter Component, select "Check String".
# Interact with the multitool to finish pairing.
# On the WiFi signal splitter Component set "trigger field" to <code>pressure</code>.
# Hold your multitool, Click and drag from the WiFi signal splitter Component to the Arithmetic Component.
#* Select "Trigger" then "Set A".
# On Signal Check A, set: "Set B" = <code>14500</code>; "Mode" = <code>gte</code>.
#* This compares if A >= B, B is your max pressure (Change "Mode" to lte to make this setup do something when the pressure is low, Eg. Turn on an inlet pump).
# On the Arithmetic component set "Set B" to <code>14500</code> (This is your Auto-purge pressure).
# On the Arithmetic component set "Mode" to <code>gte</code> (Greather than or Equal) (Additionally, this is where you could turn this into an Auto-filler if the pressure is low).
# Hold your multitool, Click and drag from the Arithmetic Component to both Signal Check Components.
# On Signal Check A, set: "Send Signal" = <code>tag=Hot Loop Purge Pump;command=power_on</code>; "Trigger String" = <code>1</code>; Replace Signal = <code>On</code>.
# On Signal Check B, set: "Send Signal" = <code>tag=Hot Loop Purge Pump;command=power_off</code>; "Trigger String" = <code>'''0'''</code>; Replace Signal = <code>On</code>.
# Hold your multitool, Click and drag both Signal Check Components to both the WiFi Component.
# On the WiFi component, set: "Frequency" = <code>1255</code>.
# Open the manual hot loop purge valve.
#* If multiple purge lines, use the one before the engine inlet.
# Kick back and relax?
{|class="wikitable mw-collapsible mw-collapsed plainrowheaders" style="width: 50%;
|'''Wiring Diagram'''
|-
|
[[File:AutoTEGControllerWiring.png]]
|}
=== Engine Power Output Display ===
Automagically brag about your engine output
Mechlab Shopping List:
* 1x WiFi Signal Splitter Component.
* 1x Text Display.
Optional:
* 1x Signal Build Component
To Assemble (Or see wiring diagram below):
# Place and wrench components.
# Interact with a multitool on the generator, select "Connect Component".
# Interact with the WiFi Signal Splitter Component, select "Check String".
# Interact with the multitool to finish pairing.
# On the WiFi Signal Splitter Component set "trigger field" to <code>powerfmt</code>.
# Hold your multitool, Click and drag from the WiFi Signal Splitter Component to the Text Display.
* Optional: Use a signal build component to add extra text to your display.


=== Contraption Ideas ===


<code>tag</code>: <code>(Pump Name)</code>
* Using inlet pumps, add gas to hotloop if the pipe pressure is low.
* Add oxygen to hotloop every 10 seconds.
* Broadcast engine output to the Engineering radio, Or general radio :)
** Or Low/High Pressure alerts that are sent to radio or PDA.
* Set blowers to the ideal pressure value based on inlet/outlet pressure


<code></code>: <code></code>
=Supplementary Video=
<youtube>wEFzcmtATMM</youtube>
----

Latest revision as of 22:44, 15 December 2023

See Also:


Controllable Devices

Tired of watching the TEG constantly?, Ever want to just outsource your job to a computer? Well this is for you.

These devices are able to recieve signals from MechComp to control the engine/toxins.

Wireless Devices

Frequencies

Most Atmos devices will use these frequencies.

  • Engineering: 122.5
  • Science: 122.9
  • Security: ███
Pump

Pump

Powered down pumps do not transfer gas, Meaning they can be used as controllable Electronic Valves,

Commands

  • WARNING: Omitting tag will cause commands to be sent to ALL pumps
  • Power on
    • command: power_on
    • tag: (Pump Name)
  • Power off
    • command: power_off
    • tag: (Pump Name)
  • Set target pressure
    • NOTE: parameter has a max value of 5066.25kPa
    • tag: (Pump Name)
    • command: set_target_pressure
    • parameter: (Target Pressure)
  • Broadcast status
    • command: broadcast_status

Pump Status The following is transmited whenever a pump recieves are command

  • tag: (Pump Name)
  • device: AGP
  • power: on or off
  • target_output: (Target Pressure)
  • address_tag: pumpcontrol

Packet Examples Purge Hotloop:

  • tag=Hot Loop Purge Pump;command=power_on

Check All Pumps:

  • command=broadcast_status

Set Pressure:

  • tag=Hot Loop Purge Pump;command=set_target_pressure;parameter=5000
Gas Mixer

Gas Mixer

Did I hear you say "Adjustable combustion chamber temperatures?"

  • NOTE: Unfortunately I have not been able to tap into status reports from mixers

Commands

  • Toggle Power
    • command: toggle_pump
    • parameter: power_on or power_off
    • tag: (Mixer Name)
  • Set gas ratio
    • NOTE: parameter value is Input 1 ratio only ie. 66 = 66:33
    • command: set_ratio
    • parameter: (0-100 Number)
    • tag: (Mixer Name)
  • Set gas pressure
    • NOTE: parameter is an uncapped value
    • command: set_ratio
    • parameter: (Target Air Pressure)
    • tag: (Mixer Name)

Packet Examples Set Ratio to 66:33:

  • tag=engine_combust_control; command=set_ratio; parameter=66

Set Pressure to 75kPa:

  • tag=engine_combust_control; command=set_pressure; parameter=75

Turn off mixer:

  • tag=engine_combust_control; command=toggle_pump; parameter=power_off

MechComp Devices

Connecting the generator and pressure will require using you multitool on them and selecting "Connect Component"

The Generator

The Generator

Ever wanted to boast about the engine output to the crew? Well now you can do it automatically!

Outputs

  • power: (Unformatted power output)
  • powerfmt: (Formatted power output, 2.21 GW)

Signal Fields

  • Raw Signal: power=3.84698e+06&powerfmt=3.847 MW
  • power: (Raw Power Output); Example: 3.84698e+06
  • powerfmt: (Formatted Power Output); Example: 3.847 MW

Use a WiFi signal splitter component to grab the values of these fields

Pressure Meter

Pressure Meter

The main source of data for engine automation.

Signal Fields

  • Raw Signal: pressure=3410.27&temperature=20462.7
  • pressure: (Pipe Pressure); Example: 3410.27
  • temperature: (Pipe temperature); Example: 20462.7

Use a WiFi signal splitter component to grab the values of these fields

Circulators (Blowers)

Circulators (Blowers)

Useful for optimizing the target pressure on the blowers.

Inputs

  • NOTE: parameter has a max value of 100000kPa
  • Toggle Active: (Pipe Pressure)
  • Set Target Pressure: (Pipe pressure)

Example Contraptions

Use these examples to help get started with making your own controllers.

Hot Loop Auto-purge

Tired of your hot loop pipes rupturing and plasma flooding engineering? Well this is for you!

What it does?

  • When the meter pressure is above 14500, the Arithmetic will send a 1 to both Signal Checks, Signal Check A then sends a WiFi packet to turn on the purge pump.

Mechlab Shopping List:

  • 1x WiFi Signal Splitter Component.
  • 1x Arithmetic Component.
  • 2x Signal Check Component.
  • 1x WiFi Component.

Optional:

  • Letter Display (See if the pump is currently on).
  • Text Display (Show off your current pipe pressure).
  • Component Cabinet.

To Assemble (Or see wiring diagram below):

  1. Place and wrench components, Optionally: In a component cabinet.
  2. Interact with a multitool on a pressure meter, select "Connect Component".
    • Use a pressure meter that is directly connecting to the furnaces/combustion chamber, Avoid meters on the output end of pipes.
  3. Interact with the WiFi signal splitter Component, select "Check String".
  4. Interact with the multitool to finish pairing.
  5. On the WiFi signal splitter Component set "trigger field" to pressure.
  6. Hold your multitool, Click and drag from the WiFi signal splitter Component to the Arithmetic Component.
    • Select "Trigger" then "Set A".
  7. On Signal Check A, set: "Set B" = 14500; "Mode" = gte.
    • This compares if A >= B, B is your max pressure (Change "Mode" to lte to make this setup do something when the pressure is low, Eg. Turn on an inlet pump).
  8. On the Arithmetic component set "Set B" to 14500 (This is your Auto-purge pressure).
  9. On the Arithmetic component set "Mode" to gte (Greather than or Equal) (Additionally, this is where you could turn this into an Auto-filler if the pressure is low).
  10. Hold your multitool, Click and drag from the Arithmetic Component to both Signal Check Components.
  11. On Signal Check A, set: "Send Signal" = tag=Hot Loop Purge Pump;command=power_on; "Trigger String" = 1; Replace Signal = On.
  12. On Signal Check B, set: "Send Signal" = tag=Hot Loop Purge Pump;command=power_off; "Trigger String" = 0; Replace Signal = On.
  13. Hold your multitool, Click and drag both Signal Check Components to both the WiFi Component.
  14. On the WiFi component, set: "Frequency" = 1255.
  15. Open the manual hot loop purge valve.
    • If multiple purge lines, use the one before the engine inlet.
  16. Kick back and relax?
Wiring Diagram

AutoTEGControllerWiring.png

Engine Power Output Display

Automagically brag about your engine output

Mechlab Shopping List:

  • 1x WiFi Signal Splitter Component.
  • 1x Text Display.

Optional:

  • 1x Signal Build Component

To Assemble (Or see wiring diagram below):

  1. Place and wrench components.
  2. Interact with a multitool on the generator, select "Connect Component".
  3. Interact with the WiFi Signal Splitter Component, select "Check String".
  4. Interact with the multitool to finish pairing.
  5. On the WiFi Signal Splitter Component set "trigger field" to powerfmt.
  6. Hold your multitool, Click and drag from the WiFi Signal Splitter Component to the Text Display.
  • Optional: Use a signal build component to add extra text to your display.

Contraption Ideas

  • Using inlet pumps, add gas to hotloop if the pipe pressure is low.
  • Add oxygen to hotloop every 10 seconds.
  • Broadcast engine output to the Engineering radio, Or general radio :)
    • Or Low/High Pressure alerts that are sent to radio or PDA.
  • Set blowers to the ideal pressure value based on inlet/outlet pressure

Supplementary Video