Stormworks: Build and Rescue

Stormworks: Build and Rescue

ACI Diesel Engine Control MK3 Microcontroller
 This topic has been pinned, so it's probably important
Peekofwar  [developer] 5 Jul, 2020 @ 6:47pm
USER MANUAL
Features
• The clutch has been programmed to reduce the chance that the engine will rev up when throttling down. Instead of a manual clutch, the clutch will engage depending on how low the RPMs are or how much throttle is applied. When the clutch disengages (the disks make contact allowing power transfer), it starts at 30% disengagement, and ends at 100% disengagement.

• Dynamic temperature-based throttle limiting designed to reduce the throttle gradually depending on how close the engine is to 120 °C, starting at the thermal warning threshold (factory default 80 °C). Assuming factory defaults, at 80 °C, the throttle will be a 1:1 (input to output) ratio, however if it's at 100 °C, the throttle will be a 2:1 ratio, and of course, at 120 °C will create a 1:0 ratio; completely killing throttle.

• Fire detection and automatic engine shutoff - When fire is detected, the engine throttle will be killed and the fuel valve will shut immediately. This limits the amount of fuel for the fire.

• Automatic one-click startup and shutdown. The user only needs to click a single button to start or stop the engine. The starter will only run if the controller has only been on for two seconds. After two seconds, the controller will need to be cycled off and on to restart the engine. This is to prevent the starter motor from running continuously and draining battery. Additionally, the starter will stop running when the engine has started; although if the engine stalls within the previously mentioned two-second time period, the starter will reengage,

• Optional built-in PID-based RPM targeting: Instead of relying on a fixed throttle percentage to drive the RPMs up or down, this controller features an optional system to specifically target RPMs and adjust the throttle dynamically to match these RPMs. There are a couple input methods for this, such as direct throttle to RPMs, direct RPM input, or RPS input to RPM.

Installation

General installation
• Connect the helm's numerical throttle output to the controller's Control Throttle numerical input.
• Optionally, connect a thermal probe's numerical temperature output (in Celcius) from a probe near the engine and connect it to the controller's Near Engine Thermal Probe numerical input.
• You may need to tweak the idle throttle to get the engine to idle properly.
-> Note: If using a modular engine, it is highly recommended to use the RPM idle mode instead found near the bottom of the configuration panel; it is difficult to get a modular engine to idle on a fixed throttle value. Tip: You can also use the PID system to find a good idle throttle to use in direct mode.
Standard diesel-engines
(to be written)
Modular diesel engines
• If using a flywheel, it is highly recommended to add two more capacitors to the starter motor signal length. This can be found under the main composite numerical write block as the Y input to the boolean chip inside the controller. The controller ships from the factory with a capacitor of 2 seconds delay. You might need up-to 30 seconds to allow the engine to start.
• Connect the Fuel Manifold Throttle numerical output from the controller to the engine's fuel manifold(s).
• Connect the Air Manifold Throttle numerical output from the controller to the engine's air manifold(s).
• Connect the Clutch Out numerical output from the controller to the engine's main clutch.
• Connect the Starter Motor boolean output from the controller to the engine's starter motor(s).
• Connect the flywheel's RPS numerical output (or a numerical RPS signal from the crankshaft) to the controller's Internal RPS Sensor numerical input.
• To connect the engine's internal temperature sensors, you will need to extract channel 3 from the cylinder's composite output signal, and connect the numerical output to the controller's Internal Temperature Sensor numerical input.
Control board/screen
(to be written)

Composite Handshake I/O
Input
• B1 - Toggle engine
• N1 - (reserved for idle RPM offset; not yet implemented)
Output
• B1 - Engine controller is on (engine is suppose to be running unless a problem is encountered)
• B2 - Check engine (This usually means that the engine has been thermally damaged)
• B3 - Blinking temperature warning (This output should be constantly flashing if any temperature input is above the warning threshold)
• B4 - Steady temperature warning (A constant signal when above temperature warn threshold)
• B5 - Steady fire warning (Signal should be active if a fire is detected, can be used to trigger additional fire-fighting equipment or alarms)
• B6 - Fuel valve is open (Outputs when the fuel valve is open)
• B7 - Engine is running
• B8 - Engine has stalled (steady)
• B9 - Engine starter motor is currently running
• B10 - Engine has stalled (blinking - not implemented yet)
• B11 - Fire mode override active (not implemented yet)
• B12 - Controller OK - This is a constant signal to enable other systems to declare a complete board failure meaning a complete loss of engine logic has occurred. (not implemented yet)

• N1 - Revolutions per minute
• N2 - Coolant temperature (°C)
• N3 - Probe temperature (°C)
• N4 - Throttle output (%)
• N5 - Clutch output (%)
• N6 - (reserved for RPM target; not yet implemented)
• N7 - (reserved for fuel level; not yet implemented)

Configuration
• Idle throttle percentage
Determines the minimal throttle applied to the engine when engine is idling.
Factory default: 7%

• Kill clutch when RPS is below x
Completely kills the clutch output when the RPS drops below x.
Factory default: 2.5RPS

• Clutch engage tolerance
Changes how much throttle (in percentage) is required to activate clutch output.
Factory default: 5%

• Begin temperature warn at x°C
Adjusts the start point of the engine temperature warn. This also directly effects the thermal throttle limiting mode "gradually decrease throttle" start point.
Factory default: 80°C

• Thermal throttle limit mode
Adjusts how the engine reacts when coolant is overheating.
-> Do nothing: As the label implies, this disables thermal throttle limiting. Not recommended.
-> Gradually Decrease Throttle: Gradually decreases throttle from a multiplier of 1 to 0 between temp. warn start point and 120°C.
Factory default: Gradually decrease throttle

• Clutch Mode
Clutch mode changes the behaviour of the clutch.
-> Normal: By default, the clutch will start to disengage at 30% disengagement at just over 0% helm throttle, and will end at 100%. This is done to make the clutch catch much sooner, as it starts to catch around 30% disengagement, and to reduce engine spin-up when throttling down.
-> Direct: Sends a value directly from the helm throttle; disengagement starts at 0%.
-> RPS Govern: Slowly increases clutch disengagement depending on the current RPS of the engine. The clutch will be fully engaged at 20 RPS (or 1200RPM)
Factory default: Normal

• Control throttle mode
Changes the control throttle.
-> Direct: Direct throttle to the engine controller. This disables all PID-based RPM targeting.
-> *Direct to RPM: Multiplies the control throttle input to an RPM value which then gets fed into a PID.
-> *RPM: Treats the input throttle as a direct RPM value, and feeds it directly to the PID.
-> *RPS: Treats the input throttle as a direct RPS value, and feeds it to the PID as an RPM value.
**NOTE: RPM targeting currently overrides thermal-throttle limiting and rev-limiter. Additionally, the RPM targetting system isn't 100% accurate and may land around three RPMs below at low RPMs, or bounce around a bit if the load is low at high RPMs.
Factory default: Direct throttle

• Rev Limiter (RPS)
When set greater than zero, the controller will kill throttle when the engine exceeds the set revolutions per second.
Factory default: 0 (disabled)

• ...to RPM Multiplier
A counterpart to the above "control throttle mode" setting which multiplies the control throttle and determines the maximum RPM of a 100% throttle input.
Factory default: 1200RPM

• Idle RPM
Unless exceeded by the control throttle, the engine will target the Idle RPM value. Requires control throttle to not be in "direct" mode.
Factory default: 125RPM
Last edited by Peekofwar; 26 Aug, 2023 @ 9:20am