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