Starting Sequence
The IGNIS application implements an automatic engine starting sequence with pullback, cranking, pause, and retry phases. The sequence is controlled by a set of configurable parameters at the root level.
The starting sequence can be triggered either by a GPIO digital input or automatically when the controller is powered on, depending on the IN_gen parameter.
Starting Sequence Flow
- Pullback — the motor briefly spins in reverse direction for
pullback_timms atpullback_levelspeed - Cranking — the motor drives the engine forward for up to
start_timms atstart_levelspeed - Detection — if phase voltage exceeds
start_threshold, the engine is considered started - Pause — if the engine does not start, the controller pauses for
pause_timms before retrying - No-load — after a successful start, the engine runs without load for
noload_timms - Ramp-up — load is gradually increased over
ramp_timms to full generation
If the maximum number of trials (max_trials) is reached without a successful start, the controller enters MODE_MAX_TRIALS and stops.
Parameters
IN_gen
GDIN ID for generator start input.
0— disable input, start engine automatically with the controller16–20— GDIN0 through GDIN432–39— din1 through din8
start_threshold [V]
Phase voltage threshold. If voltage is higher than this value, the engine is considered as started.
start_level
Driver command during engine cranking (mode 3). Corresponds to speed. Range: 0 to 1.
pullback_level
Driver command during engine pullback (mode 3). Corresponds to speed. Range: -1 to 0.
max_trials
Maximum number of engine start attempts. Set to 0 for unlimited attempts.
pullback_tim [ms]
Duration of the pullback phase. Set to 0 to disable pullback.
start_tim [ms]
Maximum time allowed for a single engine start attempt. After this time, a pause is initiated and a new trial begins.
pause_tim [ms]
Duration of pause after an unsuccessful start attempt.
noload_tim [ms]
No-load operation duration immediately after a successful engine start.
ramp_tim [ms]
Duration for ramping up from no load to full load after startup.
hyst_tim [ms]
Overvoltage hysteresis duration. If phase voltage exceeds battery voltage for this time, the engine is stopped. Useful when the engine overspeeds or the battery is undercharged.
To tune generator currents and voltages, check the driver settings:
- Motor phase starting current:
/driver/iref - Motor phase running current:
/driver/irefr - Battery minimum and maximum voltage:
/driver/limiter/ubminand/driver/limiter/ubmax - Battery currents:
/driver/limiter/ibposand/driver/limiter/ibneg
Debug States
The following states are available under the /gen_debug folder for diagnostics.
| State | Unit | Description |
|---|---|---|
sstate | - | Starting sequence state: 0 — init/running, 1 — pullback, 2 — starting, 3 — pause, 4 — cycle done |
stim | ms | Duration timer for pullback and pause phases |
loaded | ms | Timer tracking engine load duration after start |
started | - | Engine start integrator. Positive value means the engine is started |
toohigh | ms | Overvoltage condition timer |
armed | - | Generator armed indicator: 0 — not armed, 1 — armed |
trial | - | Current number of engine start trials |