Servotronic on a 335i

hollracing

Private
Oct 26, 2022
45
39
0
either disable pre_usc coding in dsc or switch to 1m/m3 dsc firmware
Neg89 was asking for e89 z4 which I believe has bosch? DSC and uses DSC_89.Cxx.? Hence why I asked for coding index. But it obviously won't work with 1M/M3 firmware.

With e8/9x mk60e5 you can correct this without converting to 1M/M3 firmware…
By coding it to use, and with a custom Lenkwinkel Kenlinnie (LWK)...

You need to set C0x_LENKWINKELKENNLINIE - STEERING ANGLE CHARACTERISTIC CURVE (address 0x30000D mask 0x07) to 0x01 which tells it to use a custom LWK.

The custom LWK is coded with C0x_LWK_X2, X3, X4, Y1, Y2, Y3, Y4 (address's 0x300029 to 0x30002F).
The x-axis is steering wheel angle [DEG=DATA] with X1=0degrees
The y-axis is steering ratio [RATIO:1=DATA/10]

To interpolate the values the correct method is described in patent DE10336046A1.
But you can get good results just using more normal forms of interpolation.

You will want to map this to your specific setup as it will vary with differing alignments and suspension components etc. because of the double jointed swivel bearing setup, using turn tables or similar device for measuring the steered angle of each front wheel at the reported steering wheel angle then calculate the mean steered angle (the vehicle model in use is a single track/bicycle model (einspumodell (ESM))) and then calculate the ratio for it at the steering wheel angles you have mapped.

This works for both e8/9x non-m & 1M/M3

This can then be used (as BMW does) to tune the system between oversteer & understeer...
Your welcome
 
Last edited:
  • Like
Reactions: dzid_

dzid_

Specialist
Feb 22, 2018
54
35
0
US
Ride
135i 2011 DCT
either disable pre_usc coding in dsc
I have that enabled and I don't have any problem that I can notice with DSC.

@hollracing very interesting
But you can get good results just using more normal forms of interpolation.
After analyzing the patent, I think their function has very little to do with normal interpolation.

Only two middle points P2, P3 intersect the curve! The two endpoints P1, P4 only control the curvature.
1694916777010.png

Using linear interpolation instead will be correct only for the two middle points. Which in fact may be enough, as we will see below.

I took values from NCSDummy MK60_87.C0F (LWK X and Y - wert_02 for each point).
I assumed X1 as 0, since it was not present in ncsdummy. The resulting interpolated curve only makes sense between P2 and P3. 160 seems good; it could represent 16 ratio from E90.

It's also ok if I extrapolate using their modified extrapolation method for data below P2 (G1 = 0).
1694946186244.png

Above P3, on the other hand, values quickly go to negative thousands, so no point showing.
1694946198600.png


Oh, and wert_03 (E87) values from LWK also didn't look sensible.
1694915256690.png



A lot of guessing on my side on how this is supposed to work overall...
But since values from wert_02 look plausible after plugging them into the algorithm, my best bet is to scale them by 12.5/16 to get M3 ratio curve.

So from E90?? rack C0x_LWK:
X hex0x00x50x140x86
Y hex0xB90xB00xA10x92
M3 rack C0x_LWK could be:
X hex0x00x50x140x86
Y hex0x910x890x7D0x72
 

Attachments

  • DE10336046A1 translated.pdf
    964.5 KB · Views: 17
Last edited:

hollracing

Private
Oct 26, 2022
45
39
0
Just use excel or similar and more normal interpolation.

Remember the steering ratio's bmw quotes are quoted as average overall ratios... non-m and M3 rack's have variable gear ratios and both use the double pivot front suspension system. Hence the need for a characteristic curve rather than just inputting a fixed ratio.
Capture3.PNG

Capture 2.PNG


I need to map my own 135i, I originally measured a e92 m3 before my car was back together but lost this data with everything else that was on that laptop.
So I just started with the guestimate below ("E82 M3-rack test") and used logging and just tweaked it until the intervention was close enough to when and where I wanted it. But I really need to measure it so I can get it more accurate, the key is where the steering wheel angle points are...

This is the data that's there for specific models in the varying mk60e5 coding index's and my original starting point/guesstimate:
(I thought at the time for some reason M3 steering's average overall ratio was 12.6 and based it of the E81 !AFS data hence it averages to 12.6:1).
Alpina degAlpina ratio decAlpina ratio:1E87 degE87 ratio decE87 ratio:1E81 AFS degE81 AFS ratio decE81 AFS ratio:1E81!AFS degE81!AFS ratio decE81 !AFS ratio:1E82 M3-rack test degE82 M3-rack test ratio decE82 M3-rack test1 ratio:1
0​
185​
18.5​
0​
183​
18.3​
0​
162​
16.2​
0​
183​
18.3​
0​
149​
14.9​
5​
176​
17.6​
6​
162​
16.2​
21​
152​
15.2​
6​
162​
16.2​
6​
128​
12.8​
20​
161​
16.1​
62​
156​
15.6​
55​
140​
14​
62​
157​
15.7​
62​
123​
12.3​
134​
146​
14.6​
136​
139​
13.9​
115​
121​
12.1​
116​
139​
13.9​
116​
105​
10.5​

Capture.PNG

Ratio is the vertical axis here.

PRE_USC is the main difference between non-m and 1M/M3 DSC, and the biggest difference between DTC and MDM.
MDM.PNG


With PRE_USC aktiv - USC intervention is when the vehicle is going to become unstable. E.g. before the rear wheels start to slip.
With PRE_USC nicht_aktiv intervention is only when the vehicle has become unstable. E.g. Only once the rear wheels have started to slip.
Anything labeled in coding as PRE is pre/preventative/proactive/prior to etc. E.g. PRE_MSR
USC is Under/Oversteer Control (Unter/Ueber Steuern Control).
PRE_USC effects the USC Coefficient's, hence non-m DSC typically have lower USC coefficient's than M...
 
Last edited:
  • Like
Reactions: Xantor and dzid_

dzid_

Specialist
Feb 22, 2018
54
35
0
US
Ride
135i 2011 DCT
It's all very informative.

The curves look reasonable using the normal plotting that you did.
I think we should get rid of the notion that the controller uses the algorithm from the patent DE10336046A, because with it curves would look much different:
1694947598399.png


Either way, taking E81 and scaling it using ratios, seems like a good starting point. Excited to try it out :)



EDIT: I tried the coding.
You need to set C0x_LENKWINKELKENNLINIE - STEERING ANGLE CHARACTERISTIC CURVE (address 0x30000D mask 0x07) to 0x01 which tells it to use a custom LWK.

The custom LWK is coded with C0x_LWK_X2, X3, X4, Y1, Y2, Y3, Y4 (address's 0x300029 to 0x30002F).

The x-axis is steering wheel angle [DEG=DATA] with X1=0degrees

The y-axis is steering ratio [RATIO:1=DATA/10]

I used E81 !AFS values multiplied by 12.5/16:
X dec0662136
Y dec143127123109

I drove it on the road and it felt normal.


Edit 2: I drove more with DTC not pressed. The car feels that it rotate itself more into the turn. It almost wants to oversteer. It's probably pre_usc doing it.
 
Last edited:

Bnks334

Lieutenant
Dec 1, 2016
530
343
0
New York
I've had an M3 rack in my car for ~4 years now. For about the past two years I have had the "M" module and coding for servo. The assist is fine for me as is. i am not really interested in "tuning" it. However, I have been noticing a problem. My assist seems to be "cutting out" at times. Anyone ever experience this? I want to say it might be the servo valve on the rack failing? I've double checked my wiring and that seems fine. Even remade the connections just in case. I'd have some sort of error if it was the JBBF, right?
 

dzid_

Specialist
Feb 22, 2018
54
35
0
US
Ride
135i 2011 DCT
Do you have any errors on OBD? It can cut out if one of wheel speed sensor is faulty. But you would see traction control ⚠️ in the dash in

Btw, above post are not about tuning of the rack assist, but the correct steering ratio curve for the traction control.
 

Bnks334

Lieutenant
Dec 1, 2016
530
343
0
New York
Do you have any errors on OBD? It can cut out if one of wheel speed sensor is faulty. But you would see traction control ⚠️ in the dash in

Btw, above post are not about tuning of the rack assist, but the correct steering ratio curve for the traction control.

true. I think people have discussed both in the thread. I don't ever use traction control with this car and I've never noticed it doing anything odd on the street just driving like a normal human being.

I don't have any trouble codes. I am thinking maybe the little motor is dying or the JBBF module is dying. It's definitely providing varying levels of assist which is a bit unnerving.
 

Boby335i n55

New Member
Feb 19, 2024
4
0
0
Hi. I got issues with servotronic retrofit. Soon as edc getting coded to jbbf servo stop working. Can you have a look for me please I got computer. Whe can do reemote. Thank you!
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
602
287
0
Hong Kong
Hi. I got issues with servotronic retrofit. Soon as edc getting coded to jbbf servo stop working. Can you have a look for me please I got computer. Whe can do reemote. Thank you!
m jbbf? jbbf enabled through adding VO and default code or just enabled with ncsdummy/ncsexpert?
 

KClemente

Sergeant
Nov 26, 2019
298
151
0
Ride
E90 335i
Hi. I got issues with servotronic retrofit. Soon as edc getting coded to jbbf servo stop working. Can you have a look for me please I got computer. Whe can do reemote. Thank you!
I believe JBBF can only control either edc or servotronic. M3 DME controls servotronic which allows JBBF to control edc
 
  • Like
Reactions: Xantor

Xantor

Private
Jan 3, 2023
45
8
0
I believe JBBF can only control either edc or servotronic. M3 DME controls servotronic which allows JBBF to control edc
That's correct. The pwm signal of the jbbf either controls the edc or the servotronic. That's why I went with superwofys solution of adding a svt70 module
 

Marc_1980

New Member
Jul 16, 2024
2
2
0
A few months ago I fitted an M3 steering rack to my 2006 E87 130i. After that I have been trying to get the servotronic working, but without any luck until now. The refurbished M3 steering rack I bought didn't have a servotronic valve fitted, so I bought one off eBay. The eBay add said it was from a BMW E63, so I believe it should be 3210 6788658. But I don't know how to verify if it's a correct one, as the part number is not written on the actual valve.

I also wired in the servotronic valve to pins 5 and 6 of the JBFFE, and I upgraded the JBBFE to a JBFFE IIIR, part number 6135 9364819-03 with an M stamp. With the new JBFFE fitted I also needed to rewire the OBD2 part, which is also done.

I then started coding the car. I changed the build date to 0908 in the VO and added $216 to the VO. I activated servotronic in the JBBFE and tried to active the 3 parameters in the kombi. That didn't work as my kombi was a version that didn't have those parameters. So I upgraded the kombi as well to a newer/higher version that does have the 3 parameters., so those are now active as well.

But after upgrading the kombi I get an error like this:
img_20200620_010441-jpg.jpg


I read the car for errors and I get A735 and A736, which says something is wrong with the servotronic, but what exactly is unclear to me.

I measured the resistance on pins 5 and 6 of the JBFFE to the servotronic valve and I get around ~7.5 Ohm, so there is no short or a wire break in the wiring to the servotronic valve, plus it seems a reasonable number to me for a working valve. But this leaves me without any ideas what the actual problem is.

As I said before, I'm unsure if the servotronic valve is the correct one. Ideally I'd use one from a E9x with Xdrive, which I believe should be the 3210 6788212, as those should be powered by the same JBFFE. But since the servotronic valves don't have the part number printed on them, I don't know which one would be correct.

Any help would be greatly appreciated!



Edit: I actually found the problem not long after posting. I wired in the servotronic valve to the wrong pins on the JBFFE. I put them on pins 24 and 25 (I think), the pins in front/behind pins 5 and 6. :sweatsmile: After correcting it the errors are gone and servotronic is working! :sunglasses:
 
Last edited:
  • Like
Reactions: AzNdevil

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
602
287
0
Hong Kong
A few months ago I fitted an M3 steering rack to my 2006 E87 130i. After that I have been trying to get the servotronic working, but without any luck until now. The refurbished M3 steering rack I bought didn't have a servotronic valve fitted, so I bought one off eBay. The eBay add said it was from a BMW E63, so I believe it should be 3210 6788658. But I don't know how to verify if it's a correct one, as the part number is not written on the actual valve.

I also wired in the servotronic valve to pins 5 and 6 of the JBFFE, and I upgraded the JBBFE to a JBFFE IIIR, part number 6135 9364819-03 with an M stamp. With the new JBFFE fitted I also needed to rewire the OBD2 part, which is also done.

I then started coding the car. I changed the build date to 0908 in the VO and added $216 to the VO. I activated servotronic in the JBBFE and tried to active the 3 parameters in the kombi. That didn't work as my kombi was a version that didn't have those parameters. So I upgraded the kombi as well to a newer/higher version that does have the 3 parameters., so those are now active as well.

But after upgrading the kombi I get an error like this:
View attachment 97090

I read the car for errors and I get A735 and A736, which says something is wrong with the servotronic, but what exactly is unclear to me.

I measured the resistance on pins 5 and 6 of the JBFFE to the servotronic valve and I get around ~7.5 Ohm, so there is no short or a wire break in the wiring to the servotronic valve, plus it seems a reasonable number to me for a working valve. But this leaves me without any ideas what the actual problem is.

As I said before, I'm unsure if the servotronic valve is the correct one. Ideally I'd use one from a E9x with Xdrive, which I believe should be the 3210 6788212, as those should be powered by the same JBFFE. But since the servotronic valves don't have the part number printed on them, I don't know which one would be correct.

Any help would be greatly appreciated!



Edit: I actually found the problem not long after posting. I wired in the servotronic valve to the wrong pins on the JBFFE. I put them on pins 24 and 25 (I think), the pins in front/behind pins 5 and 6. :sweatsmile: After correcting it the errors are gone and servotronic is working! :sunglasses:
interesting that you didnt have to wire your car for d-can to be able to talk to the jbbfe as this is how lci cars are wired
as long as it works ;)
 

Marc_1980

New Member
Jul 16, 2024
2
2
0
I actually did rewire the car for d-can. As soon as I put the new JBFFE in, I was no longer able to connect to the car, so it had to be rewired.
 
  • Like
Reactions: AzNdevil