Servotronic on a 335i

R.G.

Lieutenant
Nov 17, 2016
668
326
0
Henderson, NV
Ride
E92 335, F10 M5
Can you swap in a JBBF2 and code it? It's very easy to access and remove but may not be cost effective or if possible without replacing entire junction box. Seems like a simpler route to the goal.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
good question.... the whole junction box needs to be replaced...

and most harness will most likely need repinning....
 

R.G.

Lieutenant
Nov 17, 2016
668
326
0
Henderson, NV
Ride
E92 335, F10 M5
Ugh...The only other thing I could think of would be to update the module and see if it opens those options
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
My car is an 09 built October 2008. How do I know which one I have?
jbbf.png
 

doublespaces

Administrator
Oct 18, 2016
9,303
4,331
0
AZ
Ride
2009 E93 335i
When I look up my jbbfe I get this:

Xc8812D.png


So it says junction box #3? I guess there are more variations here than I thought. I guess I'll just need to plug it in.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
I guess its time for me to learn ncsexpert.
once you get the hang of it its pretty simple... use together with ncsdummy it will make your life so much easier

When I look up my jbbfe I get this:

Xc8812D.png


So it says junction box #3? I guess there are more variations here than I thought. I guess I'll just need to plug it in.

i mentioned this a couple posts back! easiest way to determine whether your jbbf supports it is to checl with ncsexpert

but honestly... i doubt it...
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
spent an hour playing with the obd port looking for a signal...nothing showed up

ended up tapping the jbbf module blue plug pin 1/2 for a more direct pt-can signal...
IMG_20170415_173023.jpg

IMG_20170415_172944.jpg

IMG_20170415_030522.jpg

some of the packet id and contents have been confirmed by other people so i need to check if i am getting the correct packets.... then i can put something together and drive the servotronic motor
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
should i start a new thread and document my canbus sniffing process?
i figured out what i need from the data and but i need to order one little part so i can start to build my prototype...

Speed Log from a ~20 min drive
1a0.png
 
  • Like
Reactions: 08_335i

doublespaces

Administrator
Oct 18, 2016
9,303
4,331
0
AZ
Ride
2009 E93 335i
No I think there will be plenty of people that will be interested in your solution, maybe even me.
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
ok great...here it goes...

Hardware Used for Sniffing
Arduino Uno Clone - interface to PC
SeeedStudio CANBUS Shield v1.2 - interface from PT-CAN to Arduino
Putty Terminal - dump all the Serial Output to a text file for review

Reference Links
http://www.loopybunny.co.uk/CarPC/k_can.html
http://www.e90post.com/forums/showthread.php?t=177272
https://www.bimmerforums.com/forum/showthread.php?2298830-E90-Can-bus-project-(E60-E65-E87-)

This is something I have put off for over a year as I planned to make a hardware gear position indicator (like sequential cars). I bought the hardware, I wrote the code, but I ended up using it for PC Sim Racing instead.

With the example provided by SeeedStudio, getting data to show seemed easy enough so I had a go at trying to get data from the OBD Port but after an hour I gave up. Went home, looked in Rheingold and found out only D-CAN signals exist so it's useless.

After looking around in Rheingold, I believe the PT-CAN should have what I need so I tapped the JBBF module as per the screenshot above. Setup the proper baudrate and...success!

After a 10 minute drive, I looked at the data and realized I was missing a lot of packets. More googling shows the Serial Output to be too slow sinces its only at 115200 baud but the PT-CAN runs at 500KBps. With overhead, I am only receiving maybe 5-10% of the packets that were on the PT-CAN. Since CANBUS is a priority based system where lower IDs have a higher priority, most of the data were 0x0??.

Count CAN-IDs from Data Dump, List goes on...
data dump.png


Using the packets I captured, I cross referenced it with http://www.loopybunny.co.uk/CarPC/k_can.html and found a speed signal on CANBUS Id 0x1A0. With lots of driving around in the parking lot and some reverse engineering...
(Right Bit of Byte 1 + Byte 0) divided by 10 = Speed in km/h
1a0-data.png


Data for the steering angle sensor resides on CAN-ID 0x0c8 which calculates to raw value of 0 to 65535 going counter clockwise but I might not bother with it since I will need to figure out initial steering wheel angle to get anything meaningful (the wheel turns around and around....)

I have a 12v 10A pwm motor board on hand to generate the signal to drive the servotronic motor but since the PWM duty cycle (input control) is controlled using a knob (variable resistor pot), I will need to convert it so it can be controlled digitally. But before I test this...I want to make sure my servotronic motor and the motor board works... no point wasting time on this if I can't test it right? ;)

One thing I should add... I am doing this to make slow maneuvers easier especially for my girlfriend even though she doesn't drive all that often. Parking spaces are a lot smaller in Hong Kong compared to other countries and with 255 front tires and -2.8 camber... I do sweat a little after parking my car...
 
  • Informative
Reactions: doublespaces

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
coding for speed for the arduino speed is working as expected...

stupid generic pwm board i got doesn't work when powered up...5 bucks down the drain

since i know i will be controlling this through an arduino, i went ahead and ordered an h-bridge shield that can be controlled with a TTL pwm signal

should be here next week...we will see...

however, another problem has developed... my steering rack is clicking loudly at full lock
only does it on rough ground, doesnt do it when wheels are lifted or on smooth surfaces
i am thinking the lack of servotronics for assist might be related
 

doublespaces

Administrator
Oct 18, 2016
9,303
4,331
0
AZ
Ride
2009 E93 335i
I don't know if i did this right but when I click read ECU it opens up a hex file and no error appears. JBBFE3R.C40

IMG_20170418_151214.jpg
 
Last edited:

doublespaces

Administrator
Oct 18, 2016
9,303
4,331
0
AZ
Ride
2009 E93 335i
Being the dumbass I am, I only ordered one bushing contact wire, so now I need to wait on a second one. Are these pins correct? Also, which pin is positive/negative?

X14270.png


I'm sure I'll figure it out when I get in there, but in case I need to buy another connector, what do you mean by:
without snipping off the part that holds the wire and rubber in place

Also, just to for documentation, for anyone trying to figure out where this connector is, its on the back of the rectangular box that connects to the base of the fusebox.


jpyuRH3.png


wyKmHlR.png
 

AzNdevil

Lieutenant
Staff member
Nov 4, 2016
566
269
0
Hong Kong
jbbf looks good... take a look in ncsdummy and check the definition file to see if you have options for servotronics

plug pinout looks right... try to stick the wire into the plug...you will understand...

+/- can be found on one of the pics in the 1st/2nd page... worst case you hook it up wrong and your steering will be heavier :p

and steering rack clunk.. its pretty loud and you can feel it in the car when it clunks... i hope the electronics fix it but....