Is this two throttle bodies on the passenger side of this Lamborghini Murcielago v12 meaning four throttle bodies total?! Not that this is our most immediate concern
Re: electronic throttle body control ETB
Posted: Fri Apr 26, 2019 1:31 pm
by Abricos
Throttle-Body-Valve-Assembly-0013000325-OEM-62L-V12-Lamborghini-Murcielago-272460829340-4.jpg (201.23 KiB) Viewed 45329 times
Throttle-Body-Valve-Assembly-0013000325-OEM-62L-V12-Lamborghini-Murcielago-272460829340-2.jpg (158.48 KiB) Viewed 45329 times
Throttle-Body-Valve-Assembly-0013000325-OEM-62L-V12-Lamborghini-Murcielago-272460829340-6.jpg (295.32 KiB) Viewed 45329 times
25010150_369399186852316_4303950503567425536_n.jpg (103.68 KiB) Viewed 45329 times
Re: electronic throttle body control ETB
Posted: Sat Apr 27, 2019 11:48 pm
by 960
Is anyone able to translate Chapter ADVE, BGDVE, DDVE and GGDVE to english ?
3.5 Vorsteuerung des I-Anteils
===============================
Aufgrund der stark nichtlinearen Regelstrecke wird bei einer DK-Bewegung durch den
Notluftpunkt (NLP) und aus dem Bereich des UMA heraus, der I-Anteil ¨uber eine
Vorsteuerung manipuliert.
Befindet sich die DK in der N¨ahe des UMA, so zieht sich der I-Anteil aufgrund der dort
stark erh¨ohten Reibung auf große negative Werte auf. Daher wird, wenn der DK-Sollwert
¨uber die Schwelle DLRUMABAND steigt und sich der I-Anteil auf ¨uber DLRUMAIINI
aufgezogen hat, der I-Anteil auf den kleineren Vorladewert DLRUMAIINI gesetzt.
Bei einer Bewegung der DK durch den NLP findet dort ein Momentensprung mit
Richtungsumkehr statt. Dieser Sprung wird mit einem Delta-I-Anteil DLRININI
kompensiert. Der Ablauf dieser Vorsteuerung ist nachfolgend beschrieben:
Das highword von dlriant_l ist f¨ur Messungen mit dem VS100 in dlriant_w verf¨ugbar.
3.7 digitaler PID-Regler
=========================
Die Reglerstruktur besteht aus einem PID-Regler, wobei der D-Anteil nur mit dem
Istwert gebildet wird. Die Nichtlinearit¨aten der Strecke werden sowohl in den
Kennlinien f¨ur den I-Anteil, als auch in bereichsabh¨angigen Parametern ber¨ucksichtigt.
Eine Bewegung der DK durch den NLP der DV-E wird durch Umladen des I-Anteils
unterst¨utzt, siehe Kapitel 3.2.
Der Regler wird in einem 1 ms - Grundraster und einem 3-fach verschr¨anktem 1 ms -
Raster (entspricht einem 3 ms - Raster) abgearbeitet.
Im 1 ms - Raster werden die Regelabweichung dwdkdlr_w, der D-Anteil, die Summe aller
Regleranteile (dlriant_l, dlrikl_w, dlrpant_l und dlrdant_w) und das PWM-Signal
(Betrag dlrspid_w und Vorzeichen B_dlrspid) berechnet (siehe Bild "pid_controller"
im Block FDEF). Der D-Anteil wird auf +/- 1000 %PWM begrenzt. Zus¨atzlich wird vor
der Bereitstellung des PWM-Signals der resultierende Wert (dlrkomp) aus der Kompensation
und der ver¨anderten Kreisverst¨arkung eingerechnet. Das PWM-Signal ist auf +/- 100 %PWM
begrenzt.
Im 3 ms - Raster werden die einzelnen Raster in der Z¨ahlweise 1 0 -1 1 0 ...
abgearbeitet. Im Raster 1 wird der I-Kleinanteil dlrikl_w berechnet. Dieser IKleinanteil
wird zum Losreißen der DK aus der Haftreibung verwendet. Der I-Kleinanteil
wird auf +/- 100 %PWM begrenzt. Im Raster 0 werden die Reglerparameter in Abh¨angigkeit
von der DK-Position (¨uber/unter NLP mit wdkba_w) und unter dem NLP (wdkba_w <
wdknlp_w) in Abh¨angigkeit von der Sprungh¨ohe des DK-Sollwertes (gwdkdlr_w) bestimmt.
Weiterhin wird hier der I-Anteil dlriant_l berechnet und auf +/- dlriamax begrenzt. Im
Raster -1 wird der P-Anteil berechnet und auf +/- 1000 %PWM begrenzt.
Der I-Klein-Anteil ist ¨uber das Codewort CWDLRIKL = false abschaltbar.
F¨ur den Betrieb des DV-E5 mit unverst¨arktem Potentiometer (B_wdk1v = false) unterm NLP
steht ein eigener Parametersatz zu Verf¨ugung.
Re: electronic throttle body control ETB
Posted: Sun Apr 28, 2019 3:15 am
by Abricos
3.5 feedforward control of the I component
===============================
Due to the highly non-linear controlled system is at a DK movement through the
emergency air point (NLP) and out of the range of the UMA, the I component manipulated via a feedforward
control.
If the DK is in the vicinity of the UMA, the I component
absorbs large negative values due to the much higher friction there . Therefore, if the DK setpoint
rises above the threshold DLRUMABAND and the I component has spread to DLRUMAIINI
, the I component is set to the smaller pre-load value DLRUMAIINI.
In a movement of the DK by the NLP there is a momentum jump
Reversal of direction. This jump is
compensated with a delta I component DLRININI . The sequence of this
precontrol is described below: The highword of dlriant_l is available for measurements with the VS100 in dlriant_w.
3.7 digital PID controller
=======================
The controller structure consists of a PID controller, whereby the D component is formed only with the
actual value , The non-linearities of the path are taken into
account both in the characteristic curves for the I-component and in the range-dependent parameters.
A movement of the DK by the NLP of the DV-E is supported by reloading the I-part
, see chapter 3.2.
The controller is processed in a 1 ms basic grid and a 3-fold scaled 1 ms
grid (corresponds to a 3 ms grid).
In the 1 ms grid, the control deviation dwdkdlr_w, the D component, the sum of all
controller components (dlriant_l, dlrikl_w, dlrpant_l and dlrdant_w) and the PWM signal
(amount dlrspid_w and sign B_dlrspid) are calculated (see figure "pid_controller"
in block FDEF) ). The D component is limited to +/- 1000% PWM. Additionally, before
providing the PWM signal, the resulting value (dlrkomp) from the compensation
and the changed loop gain is included. The PWM signal is limited to +/- 100% PWM
.
In 3 ms - scanning the individual pixels in the Z¨ahlweise 1 0 -1 0 1 ... are
processed. In grid 1, the small I component dlrikl_w is calculated. This small amount
is used to tear the DK out of static friction. The low I component
is limited to +/- 100% PWM. In grid 0, the controller parameters are determined as a function
of the DK position (above / below NLP with wdkba_w) and below the NLP (wdkba_w <
wdknlp_w), depending on the jump height of the DK setpoint (gwdkdlr_w) ,
Furthermore, the I component dlriant_l is calculated here and limited to +/- dlriamax. In
grid -1, the P component is calculated and limited to +/- 1000% PWM.
The I-Klein component can be switched off via the codeword CWDLRIKL = false.
For the operation of the DV-E5 with an unknown potentiometer (B_wdk1v = false) under NLP
, a separate parameter set is available.
Re: electronic throttle body control ETB
Posted: Sun Apr 28, 2019 3:29 am
by Abricos
ADVE
APP VPSKO 3.40.1 Application Notes
Underlying for first application:
CWVPSKO = 0
CWVPSKO: Bit 0 = true: to the application, as long as the torque structure is not applied, MIN (PSSCHAP and psmxschs_w) can be specified
Bit 0 = false: normal operation
Bit 1 = true: for the application: Specify psxhmms_w directly in the HMM mode via PSHMMSP
Bit 1 = false: normal operation
Bit 2 = true: for the application: in the HOS mode, specify psxhoss_w directly via PSHOSSP
Bit 2 = false: normal operation
Bit 3 = true: for application: Specify psxschs_w directly via PSSCHSP in SCH mode
Bit 3 = false: normal operation
Bit 4 = true: for the application: in the SKH mode, specify psxskhs_w directly via PSSKHSP
Bit 4 = false: normal operation
Bit 5 = true: to the application, as long as the torque structure is not applied, the map is addressed via rk
Bit 5 = false: normal operation
KFPSMXRKAP for application as long as the torque structure is not yet filled. However, care should be taken not to
all maps have 10 x 10 stucco points but in some cases less stubs
KFPSMXHMM the mapping of the 3 maps from the optimization of e.g. Flammability, consumption, .... from
KFPSMXHOS
KFPSMXSCH
Note:
An excessively large number of support points for the project (for example in the map KFPSMXSCH) can be obtained by equal treatment of adjacent ones
Reduce support points (and associated map values) during integration.
PSSKHAP = 900 hPa
PSHMMAP = 900 hPa
PSHOSAP = 900 hPa
PSSCHAP = 900 hPa
FU ADVE 10.20.0 Control of the DV-E with the DLR
FDEF ADVE 10.20.0 Function definition
Main:
-------
Check_of_battery_voltage
if
if not
Monitoring_of_position
SY_UBR 0
Switch_on_coordination_of_powerstage
Digital_PID_controller
Monitoring_of_PID_rang
Re: electronic throttle body control ETB
Posted: Sun Apr 28, 2019 3:53 am
by 960
Just checked some flash files in winols, and found ADVE with all the constants:
3.5 feedforward control of the I component
===============================
Due to the highly non-linear controlled system is at a DK movement through the
emergency air point (NLP) and out of the range of the UMA, the I component manipulated via a feedforward
control.
If the DK is in the vicinity of the UMA, the I component
absorbs large negative values due to the much higher friction there . Therefore, if the DK setpoint
rises above the threshold DLRUMABAND and the I component has spread to DLRUMAIINI
, the I component is set to the smaller pre-load value DLRUMAIINI.
In a movement of the DK by the NLP there is a momentum jump
Reversal of direction. This jump is
compensated with a delta I component DLRININI . The sequence of this
precontrol is described below: The highword of dlriant_l is available for measurements with the VS100 in dlriant_w.
3.7 digital PID controller
=======================
The controller structure consists of a PID controller, whereby the D component is formed only with the
actual value , The non-linearities of the path are taken into
account both in the characteristic curves for the I-component and in the range-dependent parameters.
A movement of the DK by the NLP of the DV-E is supported by reloading the I-part
, see chapter 3.2.
The controller is processed in a 1 ms basic grid and a 3-fold scaled 1 ms
grid (corresponds to a 3 ms grid).
In the 1 ms grid, the control deviation dwdkdlr_w, the D component, the sum of all
controller components (dlriant_l, dlrikl_w, dlrpant_l and dlrdant_w) and the PWM signal
(amount dlrspid_w and sign B_dlrspid) are calculated (see figure "pid_controller"
in block FDEF) ). The D component is limited to +/- 1000% PWM. Additionally, before
providing the PWM signal, the resulting value (dlrkomp) from the compensation
and the changed loop gain is included. The PWM signal is limited to +/- 100% PWM
.
In 3 ms - scanning the individual pixels in the Z¨ahlweise <Copy error "Zählweise" "counting" 1 0 -1 0 1 ... are
processed. In grid 1, the small I component dlrikl_w is calculated. This small amount
is used to tear the DK out of static friction. The low I component
is limited to +/- 100% PWM. In grid 0, the controller parameters are determined as a function
of the DK position (above / below NLP with wdkba_w) and below the NLP (wdkba_w <
wdknlp_w), depending on the jump height of the DK setpoint (gwdkdlr_w) ,
Furthermore, the I component dlriant_l is calculated here and limited to +/- dlriamax. In
grid -1, the P component is calculated and limited to +/- 1000% PWM.
The I-Klein component can be switched off via the codeword CWDLRIKL = false.
For the operation of the DV-E5 with an unknown potentiometer (B_wdk1v = false) under NLP
, a separate parameter set is available.
DLRUMABAND - Uncertainty band at jump from UMA area
DLRUMAIINI - Precharge value I component for jump from UMA range
DLRININI - I share at initiation of the NLP function
DK - DrosselKlapp - Throttle Flap
NLP - Notluftpunkt - Emergency air point (limp home angle?)
DV-E or DV-E5 - Bosch ETB for this generation
FDEF - Funktion Definition
UMA - Overwatch/watchdog concept for shutdown path (I think?) - might be closed position but the document is unclear on the definition of UMA
dwdkdlr_w - Differential throttle angle setpoint - actual value
dlriant_l - DLR, I share
dlrikl_w - DLR, I-small share
dlrpant_l - DLR, P share
dlrdant_w - DLR, P small share
dlrspid_w - DLR for DV-E: Sum of PID shares
B_dlrspid - Condition: DLR, sign of the sum of the PID components, = 1: positive, = 0: negative
dlrkomp - DLR, factor loop gain
wdkba_w - Throttle angle related to lower stop
wdknlp_w - DK angle of the emergency air position
gwdkdlr_w - Change of throttle target angle, amount for characteristic input
dlriamax - DLR, maximum possible I share
CWDLRIKL - Codeword: DLR-I-small share active
B_wdk1v - Condition Calculation of the DK angle from amplified signal from potentiometer 1
Address;Name;Id;Size
"$14484";"Schwelle Aktivierung D-Anteil (Geschwindigkeit) im unverstärkten Bereich";"DANTGESWNV";"1x1"
"$14486";"Schwelle Aktivierung D-Anteil (Geschwindigkeit) im verstärkten Bereich";"DANTGESWV";"1x1"
"$14488";"Schwelle Aktivierung D-Anteil (Abweichung) im unverstärkten Bereich";"DANTSCHWNV";"1x1"
"$1448A";"Schwelle Aktivierung D-Anteil (Abweichung) im verstärkten Bereich";"DANTSCHWV";"1x1"
"$10B34";"zulässige Fehlerzeit für DK-Soll-/Istvergleich";"DKLAGERT";"1x1"
"$1448C";"DLR, obere Grenze zur Parameterumschaltung";"DLRDWDKSS1";"1x1"
"$1448E";"DLR, untere Grenze zur Parameterumschaltung";"DLRDWDKSS2";"1x1"
"$1B79E";"min. notwendiger I-Anteil im Haftreibunsfall";"DLRHAFTMN";"1x1"
"$1B7A0";"max. Sollwertgradient zur Aktivierung der Haftreibunsroutine";"DLRHAFTST";"1x1"
"$14490";"maximal zulässiger I-Anteil";"DLRIAMAXA";"1x1"
"$10B35";"DLR, I-Klein Parameter";"DLRIKLPAR";"1x1"
"$14492";"I-Anteil bei Inititialisierung der NLP-Funktion";"DLRININI";"1x1"
"$10B36";"DLR, D-Parameter über NLP";"DLRKDONLP0";"1x1"
"$10B37";"DLR, D-Parameter unter NLP (schwach)";"DLRKDUNLP0";"1x1"
"$10B38";"DLR, D-Parameter unter NLP (mittel)";"DLRKDUNLP1";"1x1"
"$10B39";"DLR, D-Parameter unter NLP (stark)";"DLRKDUNLP2";"1x1"
"$10B3A";"DLR, D-Parameter unter NLP (unverstärktes Poti)";"DLRKDUNLP3";"1x1"
"$10BDB";"DLR, P-Parameter über NLP";"DLRKPONLP0";"1x1"
"$10BDC";"DLR, P-Parameter unter NLP (schwach)";"DLRKPUNLP0";"1x1"
"$10BDD";"DLR, P-Parameter unter NLP (mittel)";"DLRKPUNLP1";"1x1"
"$10BDE";"DLR, P-Parameter unter NLP (stark)";"DLRKPUNLP2";"1x1"
"$10BDF";"DLR, P-Parameter unter NLP (unverstärktes Poti)";"DLRKPUNLP3";"1x1"
"$18882";"DLR, Faktor Kreisverstärkung";"DLRKREIS";"1x1"
"$18883";"DLR, Faktor Kreisverstärkung zur Zeit des Motorstarts";"DLRKREISST";"1x1"
"$14494";"Unschärfebereich für DK-Notluftposition";"DLRNLPD";"1x1"
"$14496";"Fehlerzeit für DLR-Stellbereich im Anschlag zur erweiterten Stellertauscherkenng";"DLRPID0T";"1x1"
"$14498";"zulässige Fehlerzeit 1 für DLR-Stellbereich am Anschlag";"DLRPID1T";"1x1"
"$1449A";"zulässige Fehlerzeit 2 für DLR-Stellbereich am Anschlag";"DLRPID2T";"1x1"
"$1449C";"max. zulässiges PWM-Tastverhältnis für DLR";"DLRPIDMAX";"1x1"
"$1449E";"min. zulässiges PWM-Tastverhältnis für DLR";"DLRPIDMIN";"1x1"
"$18884";"DLR, Batterie Normalspannung";"DLRUBSOLL";"1x1"
"$144A0";"Unsicherheitsband bei Sprung aus UMA-Bereich";"DLRUMABAND";"1x1"
"$144A2";"Vorladewert I-Anteil bei Sprung aus UMA-Bereich";"DLRUMAIINI";"1x1"
"$10BE0";"Zeit für Heilungsversuch der DV-E-Endstufe";"DVEEST";"1x1"
"$144B0";"max. Soll-/Ist-DK-Winkel-Abweichung als f(dwdks)";"DWDKSBAMX";"5x1"
"$144BA";"Schwelle zur Aktivierung des I-Kleinanteils";"DWDKSIKLS";"1x1"
"$18885";"Identifizierung des DLR-Parametersatzes zu DV-E-Typ";"KDLRIDDVE";"1x1"
"$10BE1";"Zeitdelta für Fehlerzählerlöschung bei DK-Soll-/Istvergleich";"TDKLAGDE";"1x1"
"$18886";"Verweildauer für Aktivierung der Haftreibungsroutine";"TDLRHAFTMX";"1x1"
"$144BC";"Zeitdelta zur Fehlerzeitdecrementierung bei DLR-Stellbereichsüberwachung";"TDLRPIDC";"1x1"
"$144BE";"Wartezeit bis DV-E Powersave aktiv wird";"TPWRSV";"1x1"
"$18887";"Zeit nach nmot = 0 und Kl.15 AUS bis Nachlauf gestartet wird";"TWDKNL";"1x1"
"$144C0";"zulässige Potispannungs-Toleranz des NLP";"UDKNLPTOL";"1x1"
"$144C2";"Schwelle zur DK-Bewegungserkennung (I-Klein)";"WDKBEWS";"1x1"
"$144C4";"zulässige DK-Winkel-Toleranz des NLP";"WDKNLPTOL";"1x1"
"$10BE2";"Haftreibungsanteil der DK für I-Klein";"WDKREIB";"1x1"
"$144C6";"DK-Sollwert bei Applikationshilfe DK-Notluftfahren";"WDKSAPNOL";"1x1"
"$144C8";"Schwelle zur Stationaritätserkennung (verstärkter Bereich)";"WDKSTFEIN";"1x1"
"$144CA";"Schwelle zur Stationaritätserkennung (unverstärkter Bereich)";"WDKSTGROB";"1x1"
"$18888";"DLR, Zeitkonstante für Filterung von Ubatt";"ZKUBDLR";"1x1"
"$10BE3";"Zeitkonstante für Prädiktion DK-Winkel aus Sollwert";"ZKWDKSPT1";"1x1"
I suspect that is due to an increase in friction around the closed region.
With a greater DeltaP across the throttle there will be a larger side load on the spindle, most are still plain bearings so the loading ups the friction.
Have you tried increasing the compensation for the friction inline with the MAP value?
Re: electronic throttle body control ETB
Posted: Wed May 01, 2019 2:10 am
by AndreyB
TL;DR: Very not linear around zero
-5%
0%
15%
gives more or less same default position
And the jump between 15% to 19% would open throttle completely!
And if we go -20% to fully close it - sometimes returning to 0% duty would not open throttle, there is so much friction (?) that the spring would not return throttle back to default position unless we give it a 10% duty cycle kick.
Log attached - here is a screenshot.
Re: electronic throttle body control ETB
Posted: Wed May 01, 2019 9:21 am
by puff
some clarification needed. what sort of etb is that?
do the spring-loaded electronic throttles need the same H-bridge? or a single PWM is sufficient?
what do the negative values mean in terms of electrical signal? since at 0% it doesn't produce any noise, it looks as if at 0% it turns off the signal.
it seemed to me that the spring-loaded ETB I once had didn't imply reverse polarity, since there was no room to close it any more - the spring did it all the way to the min.
And the jump between 15% to 19% would open throttle completely!
And if we go -20% to fully close it - sometimes returning to 0% duty would not open throttle, there is so much friction (?) that the spring would not return throttle back to default position unless we give it a 10% duty cycle kick.
This shows exactly the kind of issues I had.
Thats why I wanted to automatic set the bias curve.
Ideally with points for every TPS% from 0 - 30%
I also had a lot of strange behaveor around 0, but not every time.
Re: electronic throttle body control ETB
Posted: Thu May 02, 2019 3:20 am
by AndreyB
Not much oscillation, but also slow response? Is that what we would call this log?
Magic Result = 263
Re: electronic throttle body control ETB
Posted: Thu May 02, 2019 4:35 am
by AndreyB
Larger P, kind of not very scientific I & D. WAY better results! Magic Result = 58
Re: electronic throttle body control ETB
Posted: Thu May 02, 2019 2:11 pm
by 960
How do you get that few decimals at the pid settings?
And so high numbers at the pid, have you changed some factors?
I have so many that I cannot see the first numbers in the fields
And why do you suddenly have that high numbers in the bias curve again?
I can't find it. Do you use CS pin (to control current consumption)? How many control pins are needed from the discovery side? What are those pins?
You cannot find WHAT? Menus are at the bottom of left "general" section in TS.
CS pin of WHAT?
At the moment three stm32 pins are used to control VNH2SP30 - two direction and duty cycle. Negative duty cycle actually means "closing" direction while positive means "opening".
Re: electronic throttle body control ETB
Posted: Thu May 02, 2019 4:40 pm
by puff
thx!
so, enA & enB pins pulled up in hardware?
cs = current sense pin on that board - could be handy to detect hard limits or blocked throttle.
Re: electronic throttle body control ETB
Posted: Thu May 02, 2019 8:05 pm
by 960
Are you getting same or different results with the 7209?