-
Notifications
You must be signed in to change notification settings - Fork 1
Home
#hellfire #stateMachine #draft #C.O.#
Each system is a state machine having its own state cycle.
- HeatingPump
- BoilerPump
- Intake
- HeatingTempServo
- Buffer
- Exhaust
Multiple complex systems are allowed to contain the same subsystems only if those are passive components like buffer or a sensor. This way we’re sure they won’t interfere in controlling those systems.
- HeatingPump
- HeatingTempServo
- Buffer
- BoilerPump
- Intake
- Buffer
- Exhaust
- Heater (?)
- Off
- On
- Off
- On
- Closed
- Opened
- Active (meaning: can be controlled in range 0 (opened) to 100% (closed))
- Closed (no water is taken from / returned to buffer)
- Opened (all water is taken from / returned to buffer)
- Active (servo can be operated in range of 0 (closed) to 100% (opened))
- Empty
- NotEmpty
- Full (Overheat case is handled via Heater system on 100% full)
- Cold
- Hot
- Overheat (over 180 deg. C)
- Faulty /when thermocouple doesn’t work and in this case BoilerPump should be controlled upon water temperature readings)/
- Cold
- WarmUp /When warming up Intake should be Opened or controlled by exhaust gases temp, also BoilerPump should be turned on to prevent boiler corrosion/
- WarmUpFailed
/When exhaust gases temp. drop below 50 deg. C and current state is/
WarmUp/then open Intake (maybe there’s still hope?) and let operator know the start failed and boiler needs more attention ;))/ - Working
- Overheating /When boiler hi temp is too high intake should be closed and Heater system should be signaled and put into overheat mode either/
- Cooling
/When exhaust gases temp. drop below 80 deg. C and current state is/
Working/then turn off boiler pump and turn to cooling/ - Failed (should any unallowed state transition result in going to this state?)\
- Off
- Active
- Heating
- Overheating
- On
/Heater should be able to put itself out of simple/
Overheating/while it should wait for the Boiler to „switch off” the/On/state/
Similar to combustion engines perhaps best way to implement burning process control is actually using 3d maps like this one:
[image:9D900FAC-55B6-4251-9D2F-FAE88D2040C4-15184-0001B1D6E82CF82D/Zrzut ekranu 2018-11-25 o 15.08.48.png] http://yadda.icm.edu.pl/yadda/element/bwmeta1.element.baztech-article-BWAW-0013-0023/c/Duer_algorytm.pdf
Except in case of such boiler we can only control burning process with:
- Intake flap position (main control device)
- Enabling or disabling air fan (not installed at the moment)
- Short exhaust circuit lever (operated manually atm)
- Boiler circuit pump (least important, only on/off state)
- Exhaust temp
- Air in exhaust (via Lambda sensor - not yet installed on device)
- Boiler temperature
- Fuel type (coal, wood? - we can use totally different map for each fuel type)
- Weather conditions
- air pressure
- outside temp
- wind speed
Reconsidering three most important variables in this equation are:
- Exhaust temp
- Boiler temp
- Air pressure
And we can provide different map for:
- different boiler / heating system setup
- different fuel types (i.e. coal, wet wood, dry wood )