GenBoard/UnderDevelopment/FirmWare/PowerRelated (2005-10-16 07:37:35)

Power regulation related subpage of GenBoard/UnderDevelopment/FirmWare

A proposed power-target sublayer that consolidates

all are some way of controlling power, with a combination of


Unified fuelcut - minimalistic

overrun can be used to help race-start: Setting overrun fuelcut and fuelresume RPM to 3700 / 3400 RPM and applying a switchbutton that grounds the TPS signal. This way during race-start the rev is ideal for fast starting. (otherwise it is almost impossible to manually maintain the desired RPM with throttle and no load: the throttle is usually very touchy). The idle-air valve will close but who cares the throttle is opened anyway. Don't let the idle controller retard the ignition too much (a few degrees are OK).

After starting, switchbutton released, TPS signal back to normal, so rev-limit is raised to redline.

It would make sense to use a separate digital input channel (GenBoard/UnderDevelopment/DigitalInputs) instead of grounding the TPS signal: so 3 rev limits are possible.

Conditionfuelcut RPMfuelresume RPM
if TPS < tps_threshoverrun_fuelcutoverrun_fuelresume
else if the racestart switch is ONracestart_fuelcutracestart_fuelcut - (overrun_fuelcut - overrun_fuelresume))
in any case, if they are higher, they lowered torev_limit rev_limit - (overrun_fuelcut - overrun_fuelresume)
We have launch control implemented on a Peugeot NA racecar (that is actually at position 1 in the Hungarian rallycross series, though budget is only 1/4 of several competitors) using overrun fuelcut. TPS is fed from TPS5V (the main point is the 270 Ohm limiting resistor) and the "launch activation" button grounds TPS signal so the GenBoard applies overrun fuelcut (set at appr. 4000 RPM) though the TPS is mechanically pressed (butterfly opened). Plans are to change this a bit, because operating button on dash and handbrake simultaneously is hard (moving button to handbrake would work, but there is a better way, read on):

Idle control

Note that number of bytes (2) and position in config remain.

Some iac stepper valve that drifts very heavily (only seen with a unipolar Mitsubishi IAC, where wiring has to be checked actually: min 20V flyback required for the unipolar channels as low voltage flyback will prevent correct operation, just think about how the coils relate) might benefit from a MAP-target iac implementation, where the ECM watches MAP while stepping IAC.

faster control for solenoid and twin-PWM-solenoid type

When the iac movement is significant (position changes a lot: this can happen eg. when the air conditioner clutch engages and RPM drops) it would be faster to apply full power ON/OFF (in the direction of the change) for time=configurable_constant * amplitude_of_iac_position_change

before the PWM duty is applied to hold the solenoid in position.


Separate AlphaN table

Currently RPM < hybrid_rpm_a of the j[] is TPS-indexed data; RPM > hybrid_rpm_m is MAP-indexed, and it's mixed (blended) in between those RPM-s.