Merge remote-tracking branch 'origin/master' into master
This commit is contained in:
commit
147ad1e96c
|
@ -0,0 +1,78 @@
|
|||
## _WARNING: An electronic throttle, if misconfigured or damaged, has the ability to open the throttle without your foot on the pedal, potentially leading to engine damage [or a crash](https://en.wikipedia.org/wiki/2009%E2%80%9311_Toyota_vehicle_recalls). Proceed with caution!_
|
||||
|
||||
# Wiring
|
||||
|
||||
## Throttle Position Sensors
|
||||
|
||||
Electronic throttles always have two redundant throttle position signals (TPS). The exact relationship between them is not restricted, but it is required that there are two signals present.
|
||||
|
||||
## Accelerator Pedal
|
||||
|
||||
Similar to TPS, accelerator pedals have two or three redundant position signals. If you have three, leave one unconnected as rusEFI only requires two.
|
||||
|
||||
## Motor
|
||||
|
||||
rusEFI supports electronic throttles that use brushed DC motors. This includes nearly all modern throttles, but excludes some very early ETB implementations (BMW, Toyota) that used a stepper motor instead.
|
||||
|
||||
Brushed DC motors have two wires. When connected to power one way the throttle opens, and the other way it closes. The convention for wiring for ETBs with rusEFI is that when ETB+ is connected to battery+, and ETB- connected to battery-, the throttle should OPEN. This generally agrees with the OEM wiring diagrams available for your vehicle.
|
||||
|
||||
Most throttles have one connector that contains both the position sensors and motor, but some use separate connectors. Electrically they are the same either way.
|
||||
|
||||
# Basic Setup
|
||||
|
||||
## Calibrate Sensors
|
||||
|
||||
### Pedal position sensor
|
||||
|
||||
In TunerStudio, open the *"Accelerator pedal"* window from the *Sensors* menu.
|
||||
|
||||
1. Select the channels wired to your primary and secondary redundant pedal sensors. Using both is a safety concern: this lets rusEFI detect a broken or shorted wire or failed sensor.
|
||||
2. Restart the ECU: disconnect USB, and cycle the ignition off, then back on, and reconnect USB.
|
||||
3. Ensure that both "Raw Pedal Primary" and "Raw Pedal Secondary" voltage gauges move smoothly as the pedal is depressed.
|
||||
4. Record the primary/secondary voltages with your foot off the pedal in their respective "up voltage" fields.
|
||||
5. Repeat with the pedal pressed all the way to the floor.
|
||||
6. Press BURN, and ensure that the "Throttle pedal position" gauge moves smoothly to match the pedal's position.
|
||||
|
||||
### Throttle position sensor
|
||||
|
||||
In TunerStudio, open the *"TPS"* window from the *Sensors* menu.
|
||||
|
||||
1. Remove intake plumbing such that you can see and touch the throttle plate in the throttle body to confirm proper operation.
|
||||
2. Select the channels wired to your primary and secondary redundant throttle position sensors. Using both is a safety concern: this lets rusEFI detect a broken or shorted wire or failed sensor.
|
||||
3. Restart the ECU: disconnect USB, and cycle the ignition off, then back on, and reconnect USB.
|
||||
4. Push the "auto calibrate ETB 1" button. The throttle should first OPEN, then CLOSE. If it does the inverse, your throttle motor is wired backwards, and ETB+ and ETB- wires must be physically swapped.
|
||||
6. Press BURN. Ensure that the TPS gauge reads correctly for the full range of throttle positions.
|
||||
|
||||
Repeat this process for the second throttle, if present.
|
||||
|
||||
# Throttle Tuning
|
||||
|
||||
See https://rusefi.com/forum/viewtopic.php?f=5&t=592&start=150#p32044
|
||||
|
||||
https://www.youtube.com/watch?v=USU0nnekokA
|
||||
|
||||
## Autotune PID
|
||||
|
||||
rusEFI includes PID auto-tuning software that can help generate a starting point for your PID settings. It is often good enough that no further tuning is required for good performance.
|
||||
|
||||
### _Ensure the engine is off! Do not attempt to start the engine during this process!_
|
||||
|
||||
1. Ensure your electronic throttle roughly tracks the target position. Speed or perfection is not required, but it should at least work. Confirm this by checking that the gauge "ETB position error" displays small values while moving the throttle around gently (a few percent is fine, so long as it trends towards zero if you stop moving). If not, revisit the basic configuration steps above.
|
||||
2. Press `Start ETB PID Autotune` button. The throttle will begin oscillating around 50% position: this is normal.
|
||||
3. Once the values in the `pFactor`/`iFactor`/`dFactor` fields have stabilized, auto-tune is complete. Press `Stop ETB PID Autotune` to return to normal operation. Press BURN to save the learned values.
|
||||
|
||||
*Note: to see additional detail about the autotuning process, the [debug mode](Debug-Mode) `ETB Autotune` and gauges Ku, Tu, Kp, Ki, Kd (in debug menu) (todo: add screenshot) may be interesting*
|
||||
|
||||
## Tune Bias Table
|
||||
|
||||
Also known as a "feed forward" term, bias curve serves to offset the throttle's return spring. The table stores how much PWM duty cycle is required to hold the throttle at that particular throttle position against the spring. Since the spring pushes towards ~5-20%, the value will be negative when below the neutral point, and positive above it, transitioning steeply as it passes the neutral point of the spring.
|
||||
|
||||
We are interested in positions like 0, between-0-and-default, default, a bit open, a bit more open, 50% open, wide open,
|
||||
|
||||
## Configure Pedal Map
|
||||
|
||||
The pedal map allows you to configure how the electronic throttle's position responds to driver input on the accelerator pedal. Since engines with electronic throttles often have oversized throttles (because they can), this table is required to make the accelerator less sensitive for small openings, as this hurts drivability.
|
||||
|
||||
This table is really one to tune to taste, since it has no bearing on actual engine performance, only on the relationship between driver input and resulting throttle position.
|
||||
|
||||
[//]: # "Matt Kennedy"
|
|
@ -1,7 +1,3 @@
|
|||
|
||||
# Electronic Throttle Body (ETB)
|
||||
|
||||
|
||||
## _WARNING: An electronic throttle, if misconfigured or damaged, has the ability to open the throttle without your foot on the pedal, potentially leading to engine damage [or a crash](https://en.wikipedia.org/wiki/2009%E2%80%9311_Toyota_vehicle_recalls). Proceed with caution!_
|
||||
|
||||
See also [Vault Of Electronic Throttle Bodies ETB](Vault-Of-Electronic-Throttle-Bodies-ETB)
|
||||
|
@ -15,7 +11,11 @@ There are several benefits by allowing the ECU to control the position of the th
|
|||
- No need to route a cable to the throttle
|
||||
- Programmable throttle target curve/nonlinearity to improve drivability with a large throttle on a small engine
|
||||
|
||||
## Theory of Operation
|
||||
# Configuration and Setup Guide
|
||||
|
||||
[See configuration guide here.](Electronic-Throttle-Body-Configuration-Guide)
|
||||
|
||||
# Theory of Operation
|
||||
|
||||
Electronic throttles typically consist of:
|
||||
- A brushed DC motor. Positive torque pushes the throttle open, and negative torque pushes the throttle closed.
|
||||
|
@ -27,10 +27,6 @@ rusEFI hardware and software have been designed to work with all three of these
|
|||
- Analog inputs and corresponding software to measure both the TPS and PPS.
|
||||
- A control algorithm that uses a table to linearize the effects of the return spring and PID to move the throttle to the targeted position.
|
||||
|
||||
## Configuration & Tuning
|
||||
|
||||
[See configuration guide here.](HOWTO-electronic-throttle-body-configuration)
|
||||
|
||||
## Hardware Configuration
|
||||
|
||||
**If you have a pre-assembled board, ignore this section! The default settings are correct.**
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
The short answer is YES :)
|
||||
The short answer is yes.
|
||||
|
||||
Long Answer is TODO
|
||||
The longer answer is also yes. You need a wideband because a narrowband only tells you if you are RICH or LEAN, not HOW RICH or HOW LEAN. How are you going to target 13:1 AFR at wide open throttle with a narrowband? Hint: it isn't possible.
|
||||
|
||||
PS: if you are looking to debate or double-check anything here - please don't. You _absolutely_ need wideband oxygen sensor.
|
||||
PS: if you are looking to debate or double-check anything here - please don't. You _absolutely need_ a wideband oxygen sensor.
|
|
@ -1,70 +0,0 @@
|
|||
# Electronic Throttle Body Configuration Guide
|
||||
|
||||
## Wiring
|
||||
|
||||
ETB could easily consume 5A of current. A larger wall power supply would provide that while smaller 2A-3A units would not be enough.
|
||||
|
||||
TODO
|
||||
|
||||
## Calibrate Sensors
|
||||
|
||||
### Pedal position sensor
|
||||
|
||||
TODO
|
||||
|
||||
### Throttle position sensor
|
||||
|
||||
1. configure TPS input channels:
|
||||
|
||||
2a. press "auto calibrate TPS" - it should open then close throttle, recording endpoinst
|
||||
|
||||
2b. hit the burn button. You now have both channels of first electronic throttle body calibrated!
|
||||
|
||||
For second ETB you currently have to copy-paste values manually.
|
||||
|
||||
|
||||
Zero position requires you to push throttle closed. Full throttle requires you to push throttle open.
|
||||
|
||||
Neutral position is usually somewhere around 0-10%.
|
||||
|
||||
## Tune Bias Table
|
||||
|
||||
"Bias curve" is a curve of PWM duty cycle values which kind of get TPS close to desired value, for each of the 8 points on the curve.
|
||||
It measures how much duty is required to hold the throttle at that spot.
|
||||
|
||||
The goal is that at position X, the bias will somewhat hold it there on it's own.
|
||||
|
||||
Bias is also known as feed-forward.
|
||||
|
||||
We are interested in positions like 0, between-0-and-default, default, a bit open, a bit more open, 50% open, wide open,
|
||||
|
||||
Set P=I=D=0. Set curve to all zeros.
|
||||
|
||||
Now use offset (offset is same thing as constant bias) to manually control duty cycle. Try different values and see which offset sets throttle to closed, which offset
|
||||
starts to open throttle, which offset is enough to open throttle completely.
|
||||
|
||||
## Tune PID
|
||||
|
||||
See https://rusefi.com/forum/viewtopic.php?f=5&t=592&start=150#p32044
|
||||
|
||||
https://www.youtube.com/watch?v=USU0nnekokA
|
||||
|
||||
### Start with autotune
|
||||
|
||||
rusEFI has auto-tuning software that can help generate a starting point for your PID settings.
|
||||
|
||||
### _Ensure the engine is off! Do not attempt to start the engine during this process!_
|
||||
|
||||
1. Ensure your electronic throttle roughly tracks the target position. It doesn't have to be perfect or super fast, but it should at least work. Confirm this by checking that the gauge "ETB position error" displays small values while moving the throttle around gently (a few percent is fine, so long as it trends towards zero if you stop moving).
|
||||
2. Set [debug mode](Debug-Mode) to ETB autotune and add gauges Ku, Tu, Kp, Ki, Kd (in debug menu) (todo: add screenshot)
|
||||
3. Using the accelerator pedal, hold the throttle at approximately 50% open.
|
||||
4. Press `ETB PID Autotune` button. The throttle will begin oscillating around the target: this is normal.
|
||||
5. Observe the estimated PID parameters on gauges Kp, Ki, Kd
|
||||
|
||||
## Configure Pedal Map
|
||||
|
||||
The pedal map allows you to configure how the electronic throttle's position responds to driver input on the accelerator pedal. Since engines with electronic throttles often have oversized throttles (because they can), this table is required to make the accelerator less sensitive for small openings, as this hurts drivability.
|
||||
|
||||
This table is really one to tune to taste, since it has no bearing on actual engine performance, only on the relationship between driver input and resulting throttle position.
|
||||
|
||||
[//]: # "Matt Kennedy"
|
|
@ -25,7 +25,7 @@
|
|||
| off | fast flash | sensor warming up |
|
||||
| off | slow flash | Sensor hot, operating normally |
|
||||
| flashing | off | See error code table below |
|
||||
| alternating | alternating | Bootloader |
|
||||
| alternating | alternating | Bootloader, see below |
|
||||
|
||||
## Firmware Update
|
||||
|
||||
|
@ -41,6 +41,13 @@ Green LED off and blue LED flashing indicates an error. The blue LED will blink
|
|||
| 4 | Sensor overheated after entering closed loop mode |
|
||||
| 5 | Sensor unexpectedly cold after entering closed loop mode (bad wiring?) |
|
||||
|
||||
### Bootloader LED Codes
|
||||
|
||||
| Blink pattern | Meaning |
|
||||
| --- |:--- |
|
||||
| alternating slowly | Firmware integrity check failed, please retry firmware upgrade. |
|
||||
| alternating quickly | Waiting for bootloader entry command, only occurs for ~1 second before launching firmware |
|
||||
|
||||
## Source Code
|
||||
|
||||
[The hardware and software source code are hosted here.](https://github.com/mck1117/wideband)
|
||||
|
|
|
@ -24,12 +24,19 @@ ECU#4
|
|||
ECU#5
|
||||

|
||||
|
||||
# TCU
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Shift Interlock
|
||||

|
||||
|
||||
Charging
|
||||

|
||||
|
||||
Shift Interlock
|
||||

|
||||
|
||||
|
||||
Starter
|
||||

|
||||
|
|
|
@ -57,14 +57,20 @@ though you could probably use D=0 since the system is already damped so hard
|
|||
[Newer LQFP-32 board - single side assembly](https://github.com/rusefi/rusefi/tree/master/hardware/CJ125_board)
|
||||
|
||||
|
||||
IP Pump Current
|
||||
# Naming Convention
|
||||
|
||||
IP=Pump Current
|
||||
|
||||
VS/IP=VM=common virtual ground for VS and IP
|
||||
|
||||
R Trim=Calibration resistor
|
||||
|
||||
H+ Constant +12v
|
||||
|
||||
H- Heater control, low-side
|
||||
|
||||
UN = Vs = sensor voltage output
|
||||
|
||||
4.9 pinout courtesy of https://www.wbo2.com/cable/lsuconns.htm
|
||||
|
||||

|
||||
|
|
|
@ -0,0 +1,101 @@
|
|||
# Collected Limp Mode info
|
||||
|
||||
List of threads with existing limp info:
|
||||
|
||||
https://github.com/rusefi/rusefi/issues/2244 - Limp mode affecting the unit tests
|
||||
https://github.com/rusefi/rusefi/issues/932 - Limp mode for MAP failure
|
||||
https://github.com/rusefi/rusefi/issues/2125 - Fail second ETB when other is down
|
||||
https://github.com/rusefi/rusefi/issues/2258 - Time since boot should be included in main relay logic
|
||||
https://github.com/rusefi/rusefi/issues/2073 - Try to check which trigger wheel the signal is coming from to allow limp from second trigger
|
||||
https://github.com/rusefi/rusefi/issues/2058 - better handling of FSIO fails
|
||||
https://github.com/rusefi/rusefi/issues/1604 - Allow negative values for the TPS
|
||||
https://github.com/rusefi/rusefi/issues/1535 - Rev limit with ETB
|
||||
https://github.com/rusefi/rusefi/issues/1444 - Use pin input to trigger a log
|
||||
https://github.com/rusefi/rusefi/issues/1236 - ETB feedback logic
|
||||
https://github.com/rusefi/rusefi/issues/987 - Better handling of unexpected trigger shape
|
||||
https://github.com/rusefi/rusefi/issues/936 - Misfire detection
|
||||
https://github.com/rusefi/rusefi/issues/932 - Fail safe mode/limp mode for MAP failure
|
||||
https://github.com/rusefi/rusefi/issues/680 - Document TS FSIO formulas
|
||||
https://github.com/rusefi/rusefi/issues/468 - TPS vs MAP error detection logic
|
||||
https://github.com/rusefi/rusefi/issues/455 - RPM hard limit depending on CLT
|
||||
https://github.com/rusefi/rusefi/issues/202 - Knock reaction
|
||||
https://github.com/rusefi/rusefi/issues/95 - per-injector performance correction
|
||||
|
||||
https://rusefi.com/forum/viewtopic.php?f=5&t=1952&p=40009 - Fw. improvement - PANIC BUTTON
|
||||
https://rusefi.com/forum/viewtopic.php?f=5&t=1900&p=39412 - Limp Home and Engine Protection
|
||||
https://rusefi.com/forum/viewtopic.php?f=5&t=1469&p=39327 - Software knock processing
|
||||
|
||||
|
||||
# Control methods and logic:
|
||||
### Malfunction light behavior
|
||||
One of the most critical things in terms of driver feedback is making the error warnings as clear as possible. In a critical engine protection situation the last thing you want is the driver not being sure what he needs to do.
|
||||
Because of this the EML light should have 2 stages:
|
||||
1. Solid on light - meaning there is an issue and reducing speed/demand/aggression is advised but there is no need to immediately stop driving.
|
||||
2. Flashing light - Lift off immediately and check error.
|
||||
|
||||
### Knock Intervention
|
||||
Current status - Knock sensors work, we have reliable logging of signals, we have some level of noise threshold working, we have know windowing working, we have auto calculation of the second harmonic?
|
||||
|
||||
Knock mitigation - few ways to do this:
|
||||
1. Retard timing to reduce rate of pressure rise, requires:
|
||||
Value for max total retard allowed, value for retard per knock event, strategy to re-advance one or two degrees per no-knock cycle.
|
||||
Should probably be done as soon as knock is detected above the noise threshold.
|
||||
|
||||
2. Enrich mixture. Works by cooling the cylinder and reducing the chance of being lean.
|
||||
Should be done in the event that initial spark intervention is not enough to stop knock by the retard limit.
|
||||
Should also be the first action if AFR is below target when knock is detected. Suggest this setting an enrichment of 0.1 lambda.
|
||||
This should probably activate and stay on for x number of engine cycles.
|
||||
Requires:
|
||||
|
||||
3. MAP pressure reduction.
|
||||
2 ways to do this, either close ETB or open wastegate (or both).
|
||||
Should be designed to be user configurable as to the level of intervention and which method to take.
|
||||
Requires: max allowed pressure reduction by ETB, toggle option for etb, toggle option for wastegate, maybe a max pwm duty cycle increase for wastegate.
|
||||
Should remain on until driver lifts throttle to prevent surging. Should be the next action after the enrichment if knock still present.
|
||||
|
||||
4. Use water meth.
|
||||
In cases where vehicle has water meth injection then this should be activated in addition to the initial spark retard.
|
||||
In a situation where EGT results are available and the engine is near EGT limit then this should take preference to retarding spark.
|
||||
I.e. above user defined EGT spark max retard is reduced to user defined level and meth is activated as soon as knock is detected.
|
||||
Requires: flag "has water meth", user defined EGT limit, maybe water meth pin assignment, user defined water meth pwm? Trigger water meth from gpio table?
|
||||
|
||||
5. Extreme case cut fuel and ignition for x cycles to reduce the in cylinder temperatures before re-enabling as a last ditch to keep auto ignition down.
|
||||
|
||||
EML severity: no action until the need to reduce boost, at which point flash light.
|
||||
|
||||
### Overboost protection.
|
||||
This one is more easy, take similar action to knock stages 3 and 4.
|
||||
EML severity: Solid on for light as boost reduction will take care of it, if after x cycles boost still high then flash light.
|
||||
|
||||
### High coolant temperature.
|
||||
Intended to help prevent mishaps with overstretched cooling systems.
|
||||
Use knock stage 2 and 3, if 4 available then activating has benefit to reduce in cylinder temps.
|
||||
If EWP then also demand increased or MAX pump duty cycle for x time (1 min).
|
||||
If electric fan then enable fan until temp is restored.
|
||||
Requires: user defined maximum coolant temperature, boost cut and enrichment optional.
|
||||
EML severity: solid on for light while temp is over set limit.
|
||||
|
||||
|
||||
### High EGT.
|
||||
Where vehicle has EGT sensing allow user to set a preferred EGT limit and max exceed value.
|
||||
If EGT limit is reached light eml and enrich. If EGT max exceed value is breached flash EML.
|
||||
As we schedule events individually we could cut the cylinder that was detected to be high, this would require killing the injector for just that cylinder or for the batch.
|
||||
|
||||
### Low fuel pressure or max injector duty cycle
|
||||
Main thing to avoid here is leanout, fuel pressure compensation is going to deal with a lot of the problem as the pressure drop but at some point it will reach the max injector duty cycle.
|
||||
Possible ways to mitigate this are to limit RPM, limit boost and/or limit pedal to achieve the previous.
|
||||
|
||||
### ETB deviation error
|
||||
Implies a loss or lack of accurate control of the ETB, this should probably be considered a serious error resulting in a flashing EML.
|
||||
|
||||
|
||||
### Fatal errors
|
||||
As these are "fatal" we should likely treat them as such and perform a controlled shutdown.
|
||||
In this case it would be to deactivate injection and ignition and close ETB.
|
||||
This MUST only be the case for truly fatal errors where the consequences of keeping the engine running are worse than leaving someone with a total loss of power (even if it is done in a controlled fashion), again this is a case where a flashing EML is needed.
|
||||
|
||||
|
||||
### Load sensor failure
|
||||
Loss of primary load sensor (MAP, TPS or MAF) is currently a problem that will leave the engine inoperable.
|
||||
|
||||
###
|
|
@ -18,6 +18,10 @@
|
|||
- [Engines running on rusEFI](List-of-engines-running-rusEFI)
|
||||
- [HOWTO-help-rusEFI](HOWTO-help-rusEFI)
|
||||
|
||||
# Setup Guides
|
||||
|
||||
- [Electronic Throttle Body](Electronic-Throttle-Body-Configuration-Guide)
|
||||
|
||||
# Pages
|
||||
- [Fuel](Pages-Fuel)
|
||||
- [Flex Fuel](Flex-Fuel)
|
||||
|
@ -28,7 +32,6 @@
|
|||
- [rusEFI Project](rusEFI-project)
|
||||
- [How To](Pages-HOWTO)
|
||||
|
||||
|
||||
# Features
|
||||
|
||||
- [rusEFI project overview](rusEFI-project)
|
||||
|
|
Loading…
Reference in New Issue