apalrd wrote:
If you come up with a torque control ID, you can add more numbers to the ID to add more requestors. Or, you can have a 2-step process, one which determines 'normal mode TPS' and another which determines idle/crank/stall TPS and overrides the other TPS request. Both ways work.
I pulled idle out separate because it's rpm based and the other position based. Also the way engine lab works all options are calculated then the desired one selected so I calculate the position for crank, stall, normal then select. Normal is the default (0) and I test if crank or stall should be used instead so 0, 1, 2.
I also calculate the ETC signal base on RPM (currently just idle) then select between RPM or position control signal with position the default.
apalrd wrote:
I use crank/stall/run for fueling and spark. Spark is rather retarded when starting and fueling uses raw mg tables, so the same engine run mode was carried over for ETC.
I build this into the normal operation tables. So for spark there can be say, 0, 200 (cranking), {500, 700, 900}stall and then the normal part of the table so no need to worry about state, the desired result comes automatically.
apalrd wrote:
For traction control, continuously look for wheel spin, when it is detected, grab the current TPS request then take control of ETC and do closed-loop control to maintain a given slip ratio (so use the current TPS to initialize the I term). When traction TPS reaches/exceeds pedal commanded TPS in a slightly filtered way, then release the ETC control and reset traction control.
Isn't that what I said??
apalrd wrote:
If you design idle control as a min AND max speed controller, you can use it for ETC-based launch RPM control.
It just controls to a target so it would work at any rpm....but I'll need a clutch pedal switch for popper launch control.
I'm not sure if I'm going to code any of this yet or wait until the rest is tested......I'll probably rough it out I suppose. I need to do a closed loop mixture too I guess.