Skip to content
Krzysztof Kubanek edited this page Nov 30, 2018 · 1 revision

Hellfire systems draft

#hellfire #stateMachine #draft #C.O.#

Each system is a state machine having its own state cycle.

Hierarchy

Basic systems (not consisting of other systems)

  • HeatingPump
  • BoilerPump
  • Intake
  • HeatingTempServo
  • Buffer
  • Exhaust

Complex systems and their structure

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.

Heater

  1. HeatingPump
  2. HeatingTempServo
  3. Buffer

Boiler

  1. BoilerPump
  2. Intake
  3. Buffer
  4. Exhaust
  5. Heater (?)

States

Basic systems

HeatingPump

  • Off
  • On

BoilerPump

  • Off
  • On

Intake

  • Closed
  • Opened
  • Active (meaning: can be controlled in range 0 (opened) to 100% (closed))

HeatingTempServo

  • 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))

Buffer

  • Empty
  • NotEmpty
  • Full (Overheat case is handled via Heater system on 100% full)

Exhaust

  • 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)/

Complex systems

Boiler

  • 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?)\

Heater

  • 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/

Control algorithms

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:

  1. Intake flap position (main control device)
  2. Enabling or disabling air fan (not installed at the moment)
  3. Short exhaust circuit lever (operated manually atm)
  4. Boiler circuit pump (least important, only on/off state)

Sensor data relative or potentially important for burning process

  • 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 )