Ignition module
Ignition is triggered from higher level control (burn chamber).
Ignition control
Ignition coil is activated for a configurable time ign_pulse_w
, this is repeated after a configurable delay ign_repeat_itvl
until temperature has risen enough that a successful ignition can be assumed.
Protection logic
Ignition control features a simple protection logic to make sure there's no gas flow when the gas is not burning. After ignition has started, the ignition module checks if temperature has risen by a configurable delta ign_delta
. When a configurable timeout ign_t
has elapsed w/o temperature rising, then the ignition module indicates that ignition has failed and the gas flow should be shut down.
State machine
stateDiagram-v2
[*] --> setCoil: Ignition request
setCoil --> waitPulse
waitPulse --> resetCoil: ign_pulse_w elapsed
resetCoil --> waitIgnition
waitIgnition --> setCoil: ign_repeat_itvl elapsed
waitIgnition --> success: Temp. raised
waitIgnition --> failure: Timeout
success --> [*]: Reset
failure --> [*]: Reset