From e74cc17b2e8c6c98614a77e7de916054619c28a3 Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Sun, 7 Mar 2021 00:30:03 +0000 Subject: [PATCH 01/29] Create Vault_Smart_ECU.md --- Hardware/Prometheus/Vault_Smart_ECU.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Hardware/Prometheus/Vault_Smart_ECU.md diff --git a/Hardware/Prometheus/Vault_Smart_ECU.md b/Hardware/Prometheus/Vault_Smart_ECU.md new file mode 100644 index 00000000..90ee5917 --- /dev/null +++ b/Hardware/Prometheus/Vault_Smart_ECU.md @@ -0,0 +1,15 @@ +# 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 + From 98fb20e604b890a5ada30023039c03435422596c Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Mon, 8 Mar 2021 01:47:28 +0000 Subject: [PATCH 02/29] Update Vault_Smart_ECU.md --- Hardware/Prometheus/Vault_Smart_ECU.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Hardware/Prometheus/Vault_Smart_ECU.md b/Hardware/Prometheus/Vault_Smart_ECU.md index 90ee5917..c1dbcea9 100644 --- a/Hardware/Prometheus/Vault_Smart_ECU.md +++ b/Hardware/Prometheus/Vault_Smart_ECU.md @@ -12,4 +12,15 @@ 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 From 7c24b3584cc3aa01238dae9c9f79f5b73145ce5c Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Tue, 9 Mar 2021 03:59:54 +0000 Subject: [PATCH 03/29] Update Vault_Smart_ECU.md --- Hardware/Prometheus/Vault_Smart_ECU.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Hardware/Prometheus/Vault_Smart_ECU.md b/Hardware/Prometheus/Vault_Smart_ECU.md index c1dbcea9..856b57c4 100644 --- a/Hardware/Prometheus/Vault_Smart_ECU.md +++ b/Hardware/Prometheus/Vault_Smart_ECU.md @@ -24,3 +24,10 @@ 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: +### 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? + + From eeea63b98b16b9770f4bb38f7a411d79b397e47e Mon Sep 17 00:00:00 2001 From: rusefillc <48498823+rusefillc@users.noreply.github.com> Date: Tue, 9 Mar 2021 18:55:35 -0500 Subject: [PATCH 04/29] Updated BMW e38 750 (markdown) --- OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md b/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md index 7aa3a93f..975c5ebc 100644 --- a/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md +++ b/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md @@ -24,12 +24,19 @@ ECU#4 ECU#5 ![ecu5](OEM-Docs/Bmw/1998_750_e38/1998_bmw_750_ecu_page5.png) +# TCU + +![x](OEM-Docs/Bmw/7_Series_e38/1998-750-tcu-2.pn1) + +![x](OEM-Docs/Bmw/7_Series_e38/1998-750-tcu-2.png) + +Shift Interlock +![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_shift_interlock.png) Charging ![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_charging.png) -Shift Interlock -![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_shift_interlock.png) + Starter ![x](OEM-Docs/Bmw/1998_750_e38/bmw_e38_starter_wiring.png) From b5ef2e7552377799da4652fdc2ec84d4eac5cdce Mon Sep 17 00:00:00 2001 From: rusefillc <48498823+rusefillc@users.noreply.github.com> Date: Tue, 9 Mar 2021 18:55:56 -0500 Subject: [PATCH 05/29] Updated BMW e38 750 (markdown) --- OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md b/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md index 975c5ebc..0d85d6de 100644 --- a/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md +++ b/OEM-Docs/Bmw/1998_750_e38/BMW-e38-750.md @@ -26,7 +26,7 @@ ECU#5 # TCU -![x](OEM-Docs/Bmw/7_Series_e38/1998-750-tcu-2.pn1) +![x](OEM-Docs/Bmw/7_Series_e38/1998-750-tcu-1.png) ![x](OEM-Docs/Bmw/7_Series_e38/1998-750-tcu-2.png) From 6d3542384bead21b8e1252e2710a1eae09082d5a Mon Sep 17 00:00:00 2001 From: rusefillc <48498823+rusefillc@users.noreply.github.com> Date: Wed, 10 Mar 2021 12:46:12 -0500 Subject: [PATCH 06/29] Updated WBO (markdown) --- Overview/wbo/WBO.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Overview/wbo/WBO.md b/Overview/wbo/WBO.md index b95e9907..a0194d8b 100644 --- a/Overview/wbo/WBO.md +++ b/Overview/wbo/WBO.md @@ -57,10 +57,14 @@ 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 From 908bd9799f5f813f96a8392fd2720f82d437b1fc Mon Sep 17 00:00:00 2001 From: rusefillc <48498823+rusefillc@users.noreply.github.com> Date: Wed, 10 Mar 2021 13:00:08 -0500 Subject: [PATCH 07/29] Updated WBO (markdown) --- Overview/wbo/WBO.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Overview/wbo/WBO.md b/Overview/wbo/WBO.md index a0194d8b..9258762f 100644 --- a/Overview/wbo/WBO.md +++ b/Overview/wbo/WBO.md @@ -69,6 +69,8 @@ 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 ![x](FAQ/LSU-4-9-17025hcon.gif) From 8b16bf845ecb60243edba6ff8d16fa872a41c019 Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Thu, 11 Mar 2021 02:49:06 +0000 Subject: [PATCH 08/29] Moved file --- {Hardware/Prometheus => Vaults}/Vault_Smart_ECU.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {Hardware/Prometheus => Vaults}/Vault_Smart_ECU.md (100%) diff --git a/Hardware/Prometheus/Vault_Smart_ECU.md b/Vaults/Vault_Smart_ECU.md similarity index 100% rename from Hardware/Prometheus/Vault_Smart_ECU.md rename to Vaults/Vault_Smart_ECU.md From acf1278bbdbbd3ca0e44057d459b1bb3dbfb7f27 Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Thu, 11 Mar 2021 03:12:36 +0000 Subject: [PATCH 09/29] Update Vault_Smart_ECU.md --- Vaults/Vault_Smart_ECU.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Vaults/Vault_Smart_ECU.md b/Vaults/Vault_Smart_ECU.md index 856b57c4..a8d273eb 100644 --- a/Vaults/Vault_Smart_ECU.md +++ b/Vaults/Vault_Smart_ECU.md @@ -30,4 +30,21 @@ https://rusefi.com/forum/viewtopic.php?f=5&t=1469&p=39327 - Software knock proce ### 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. + From 856f531cf723b1353b62a38c5f7933a0054b36b5 Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Thu, 11 Mar 2021 03:48:49 +0000 Subject: [PATCH 10/29] Update Vault_Smart_ECU.md --- Vaults/Vault_Smart_ECU.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Vaults/Vault_Smart_ECU.md b/Vaults/Vault_Smart_ECU.md index a8d273eb..62d1d264 100644 --- a/Vaults/Vault_Smart_ECU.md +++ b/Vaults/Vault_Smart_ECU.md @@ -47,4 +47,28 @@ Should be designed to be user configurable as to the level of intervention and w 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 siuation 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? + +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 preffered EGT limit and max exceed value. +If EGT limit is reached light eml and enrich. If EGT max exceed value is breached flash EML. From 558582afc776b89d8255b000f40e0e2c9926481f Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Thu, 11 Mar 2021 16:05:03 +0000 Subject: [PATCH 11/29] Update Vault_Smart_ECU.md --- Vaults/Vault_Smart_ECU.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Vaults/Vault_Smart_ECU.md b/Vaults/Vault_Smart_ECU.md index 62d1d264..541c9d7a 100644 --- a/Vaults/Vault_Smart_ECU.md +++ b/Vaults/Vault_Smart_ECU.md @@ -26,7 +26,13 @@ https://rusefi.com/forum/viewtopic.php?f=5&t=1900&p=39412 - Limp Home and Engine https://rusefi.com/forum/viewtopic.php?f=5&t=1469&p=39327 - Software knock processing -# Control methods and logic: +# 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? @@ -49,10 +55,12 @@ Should remain on until driver lifts throttle to prevent surging. Should be the n 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 siuation where EGT results are available and the engine is near EGT limit then this should take preference to retarding spark. +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. @@ -71,4 +79,18 @@ EML severity: solid on for light while temp is over set limit. ### High EGT. Where vehicle has EGT sensing allow user to set a preffered 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 + +### Load sensor failure + +### \ No newline at end of file From 2e59a972c2bb4e9fbeb43835df5793d030a45f26 Mon Sep 17 00:00:00 2001 From: OrchardPerformance <49926376+OrchardPerformance@users.noreply.github.com> Date: Fri, 12 Mar 2021 19:11:34 +0000 Subject: [PATCH 12/29] Update Vault_Smart_ECU.md --- Vaults/Vault_Smart_ECU.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Vaults/Vault_Smart_ECU.md b/Vaults/Vault_Smart_ECU.md index 541c9d7a..087c92ad 100644 --- a/Vaults/Vault_Smart_ECU.md +++ b/Vaults/Vault_Smart_ECU.md @@ -77,7 +77,7 @@ EML severity: solid on for light while temp is over set limit. ### High EGT. -Where vehicle has EGT sensing allow user to set a preffered EGT limit and max exceed value. +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. @@ -90,7 +90,12 @@ Implies a loss or lack of accurate control of the ETB, this should probably be c ### 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. ### \ No newline at end of file From d735025942b13a814b739b65e49085c4f2da29ef Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:33:19 -0800 Subject: [PATCH 13/29] rewrite electronic throttle guide --- ...-electronic-throttle-body-configuration.md | 77 +++++++++++-------- 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/HOWTO/HOWTO-electronic-throttle-body-configuration.md b/HOWTO/HOWTO-electronic-throttle-body-configuration.md index 8dc2d67e..235e5502 100644 --- a/HOWTO/HOWTO-electronic-throttle-body-configuration.md +++ b/HOWTO/HOWTO-electronic-throttle-body-configuration.md @@ -1,31 +1,63 @@ -# Electronic Throttle Body Configuration Guide +# Wiring -## Wiring +## Throttle Position Sensors -ETB could easily consume 5A of current. A larger wall power supply would provide that while smaller 2A-3A units would not be enough. +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. -TODO +## 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 -TODO +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 -1. configure TPS input channels: +In TunerStudio, open the *"TPS"* window from the *Sensors* menu. -2a. press "auto calibrate TPS" - it should open then close throttle, recording endpoinst +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 swapped. +6. Press BURN. -2b. hit the burn button. You now have both channels of first electronic throttle body calibrated! +# Throttle Tuning -For second ETB you currently have to copy-paste values manually. +See https://rusefi.com/forum/viewtopic.php?f=5&t=592&start=150#p32044 +https://www.youtube.com/watch?v=USU0nnekokA -Zero position requires you to push throttle closed. Full throttle requires you to push throttle open. +## Autotune PID -Neutral position is usually somewhere around 0-10%. +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 @@ -38,29 +70,6 @@ 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. From 8c30f1aad821aa299f40f98af407278ad552c4a2 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:34:01 -0800 Subject: [PATCH 14/29] Updated HOWTO electronic throttle body configuration (markdown) --- ...uration.md => Guide:-Electronic-Throttle-Body-Configuration.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename HOWTO/HOWTO-electronic-throttle-body-configuration.md => Guide:-Electronic-Throttle-Body-Configuration.md (100%) diff --git a/HOWTO/HOWTO-electronic-throttle-body-configuration.md b/Guide:-Electronic-Throttle-Body-Configuration.md similarity index 100% rename from HOWTO/HOWTO-electronic-throttle-body-configuration.md rename to Guide:-Electronic-Throttle-Body-Configuration.md From e3fbf9e0168691d0fe341e90509439331573f0c2 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:36:34 -0800 Subject: [PATCH 15/29] Updated HOWTO electronic throttle body (markdown) --- ...throttle-body.md => Electronic-Throttle-Body.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) rename HOWTO/HOWTO-electronic-throttle-body.md => Electronic-Throttle-Body.md (95%) diff --git a/HOWTO/HOWTO-electronic-throttle-body.md b/Electronic-Throttle-Body.md similarity index 95% rename from HOWTO/HOWTO-electronic-throttle-body.md rename to Electronic-Throttle-Body.md index 657c2cf2..68e602a0 100644 --- a/HOWTO/HOWTO-electronic-throttle-body.md +++ b/Electronic-Throttle-Body.md @@ -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.](Guide:-Electronic-Throttle-Body-Configuration) + +# 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.** From d09fd3ed94ac957fc0e63cb0cb33fa668158a5f7 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:40:28 -0800 Subject: [PATCH 17/29] Updated Electronic Throttle Body (markdown) --- Electronic-Throttle-Body.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Electronic-Throttle-Body.md b/Electronic-Throttle-Body.md index 68e602a0..039c2996 100644 --- a/Electronic-Throttle-Body.md +++ b/Electronic-Throttle-Body.md @@ -13,7 +13,7 @@ There are several benefits by allowing the ECU to control the position of the th # Configuration and Setup Guide -[See configuration guide here.](Guide:-Electronic-Throttle-Body-Configuration) +##[See configuration guide here.](Guide:-Electronic-Throttle-Body-Configuration) # Theory of Operation From c6876feaeb65e019efc5addd758aba4f828bd042 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:43:13 -0800 Subject: [PATCH 18/29] Updated _Sidebar (markdown) --- _Sidebar.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index 32919185..1752f52b 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -18,6 +18,11 @@ - [Engines running on rusEFI](List-of-engines-running-rusEFI) - [HOWTO-help-rusEFI](HOWTO-help-rusEFI) +# Guides + +- [Electronic Throttle Body](Guide%3A-Electronic-Throttle-Body-Configuration) + + # Pages - [Fuel](Pages-Fuel) - [Flex Fuel](Flex-Fuel) @@ -28,7 +33,6 @@ - [rusEFI Project](rusEFI-project) - [How To](Pages-HOWTO) - # Features - [rusEFI project overview](rusEFI-project) From 7512a5fb233094ad489b914098bb41acf573cda0 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:43:31 -0800 Subject: [PATCH 19/29] Updated Guide: Electronic Throttle Body Configuration (markdown) --- ...guration.md => Electronic-Throttle-Body-Configuration-Guide.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Guide:-Electronic-Throttle-Body-Configuration.md => Electronic-Throttle-Body-Configuration-Guide.md (100%) diff --git a/Guide:-Electronic-Throttle-Body-Configuration.md b/Electronic-Throttle-Body-Configuration-Guide.md similarity index 100% rename from Guide:-Electronic-Throttle-Body-Configuration.md rename to Electronic-Throttle-Body-Configuration-Guide.md From 5f0e7cf887cf3e14f12feacff489a55082f8cc03 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:44:32 -0800 Subject: [PATCH 20/29] Updated _Sidebar (markdown) --- _Sidebar.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/_Sidebar.md b/_Sidebar.md index 1752f52b..bef4f7dc 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -20,8 +20,7 @@ # Guides -- [Electronic Throttle Body](Guide%3A-Electronic-Throttle-Body-Configuration) - +- [Electronic Throttle Body](Electronic-Throttle-Body-Configuration-Guide) # Pages - [Fuel](Pages-Fuel) From 4b8e7efe3364c4bc621886895ffd4872b8200542 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:47:15 -0800 Subject: [PATCH 21/29] Updated do i need wideband oxygen sensor (markdown) --- FAQ/do-i-need-wideband-oxygen-sensor.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/FAQ/do-i-need-wideband-oxygen-sensor.md b/FAQ/do-i-need-wideband-oxygen-sensor.md index 6d3c3315..74f320db 100644 --- a/FAQ/do-i-need-wideband-oxygen-sensor.md +++ b/FAQ/do-i-need-wideband-oxygen-sensor.md @@ -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. \ No newline at end of file +PS: if you are looking to debate or double-check anything here - please don't. You _absolutely need_ wideband oxygen sensor. \ No newline at end of file From 5ebc28287e2f4b131a1da6e796d9173aa1b36552 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:47:24 -0800 Subject: [PATCH 22/29] Updated do i need wideband oxygen sensor (markdown) --- FAQ/do-i-need-wideband-oxygen-sensor.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FAQ/do-i-need-wideband-oxygen-sensor.md b/FAQ/do-i-need-wideband-oxygen-sensor.md index 74f320db..1a003172 100644 --- a/FAQ/do-i-need-wideband-oxygen-sensor.md +++ b/FAQ/do-i-need-wideband-oxygen-sensor.md @@ -3,4 +3,4 @@ The short answer is yes. 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. \ No newline at end of file +PS: if you are looking to debate or double-check anything here - please don't. You _absolutely need_ a wideband oxygen sensor. \ No newline at end of file From f14e881a3987ee8a283d120ea2f2931db57c0e19 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:47:46 -0800 Subject: [PATCH 23/29] Updated _Sidebar (markdown) --- _Sidebar.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_Sidebar.md b/_Sidebar.md index bef4f7dc..f6ca9018 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -18,7 +18,7 @@ - [Engines running on rusEFI](List-of-engines-running-rusEFI) - [HOWTO-help-rusEFI](HOWTO-help-rusEFI) -# Guides +# Setup Guides - [Electronic Throttle Body](Electronic-Throttle-Body-Configuration-Guide) From b19f932977f6e2c83e8862323366d732a047a64d Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:52:29 -0800 Subject: [PATCH 24/29] bias table section --- Electronic-Throttle-Body-Configuration-Guide.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Electronic-Throttle-Body-Configuration-Guide.md b/Electronic-Throttle-Body-Configuration-Guide.md index 235e5502..c6a94cd6 100644 --- a/Electronic-Throttle-Body-Configuration-Guide.md +++ b/Electronic-Throttle-Body-Configuration-Guide.md @@ -61,12 +61,7 @@ rusEFI includes PID auto-tuning software that can help generate a starting point ## 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. +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, From 00ebf25e09e43cb402a664659c011c6ba553922b Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:54:19 -0800 Subject: [PATCH 25/29] Updated Electronic Throttle Body Configuration Guide (markdown) --- Electronic-Throttle-Body-Configuration-Guide.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Electronic-Throttle-Body-Configuration-Guide.md b/Electronic-Throttle-Body-Configuration-Guide.md index c6a94cd6..a5662456 100644 --- a/Electronic-Throttle-Body-Configuration-Guide.md +++ b/Electronic-Throttle-Body-Configuration-Guide.md @@ -38,8 +38,10 @@ 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 swapped. -6. Press BURN. +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 From 285cbb140444cd3ba5b32ebd4a6e74f43472b948 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:59:03 -0800 Subject: [PATCH 26/29] Updated Electronic Throttle Body (markdown) --- Electronic-Throttle-Body.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Electronic-Throttle-Body.md b/Electronic-Throttle-Body.md index 039c2996..7d1a40e2 100644 --- a/Electronic-Throttle-Body.md +++ b/Electronic-Throttle-Body.md @@ -13,7 +13,7 @@ There are several benefits by allowing the ECU to control the position of the th # Configuration and Setup Guide -##[See configuration guide here.](Guide:-Electronic-Throttle-Body-Configuration) +##[See configuration guide here.](Electronic-Throttle-Body-Configuration-Guide) # Theory of Operation From 82bb7b5319c14a07ecfbb05ee343871cfc12f2f3 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:59:14 -0800 Subject: [PATCH 27/29] Updated Electronic Throttle Body Configuration Guide (markdown) --- Electronic-Throttle-Body-Configuration-Guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Electronic-Throttle-Body-Configuration-Guide.md b/Electronic-Throttle-Body-Configuration-Guide.md index a5662456..d6393118 100644 --- a/Electronic-Throttle-Body-Configuration-Guide.md +++ b/Electronic-Throttle-Body-Configuration-Guide.md @@ -1,3 +1,5 @@ +## _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 From 733bcdff142fda4cb5edb8f8d52adb014c6713a9 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 01:59:27 -0800 Subject: [PATCH 28/29] Updated Electronic Throttle Body (markdown) --- Electronic-Throttle-Body.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Electronic-Throttle-Body.md b/Electronic-Throttle-Body.md index 7d1a40e2..0d180999 100644 --- a/Electronic-Throttle-Body.md +++ b/Electronic-Throttle-Body.md @@ -13,7 +13,7 @@ There are several benefits by allowing the ECU to control the position of the th # Configuration and Setup Guide -##[See configuration guide here.](Electronic-Throttle-Body-Configuration-Guide) +[See configuration guide here.](Electronic-Throttle-Body-Configuration-Guide) # Theory of Operation From 2d3b45cee865accacdc79b5076d9c905160d3ed4 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Sat, 13 Mar 2021 15:48:25 -0800 Subject: [PATCH 29/29] Updated rusEFI Wideband Controller (markdown) --- Hardware/rusEFI-Wideband-Controller.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Hardware/rusEFI-Wideband-Controller.md b/Hardware/rusEFI-Wideband-Controller.md index 818c0bb9..158084b7 100644 --- a/Hardware/rusEFI-Wideband-Controller.md +++ b/Hardware/rusEFI-Wideband-Controller.md @@ -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)