![]() |
Seat Module, my $5.90 'fix'
Hey all,
I don't personally own an X5, so apologies for the long winded post, but this info is pretty useless just about anywhere else. I have friends with a 2002, 3.0i and when something is wrong with it I typically get a phone call about it and head over to check it out. I've already been thru a lot of the 'typical' X5 issues with it, and now the seat module is the latest to crop up. The seat module died on them a little over a month ago, and while looking around a bit I've seen this is a get a new expensive part and replace it to fix the problem kind of thing. Well a new seat module was a bit too expensive for their liking with the way things are at the moment, and I had no clue at all how it worked, so I decided to open her up and see what was going on in there. I couldn't find any info on the guts of this thing, at most was talk about the Relays in it going bad (from info 5+ years ago) and while I knew they weren't the issue, they were the very first thing that I did remove and check out, and they were all fine. The real culprit is the Motorola CPU in the thing, or more specifically the fact that they just wear out after years and years of use as they only have so many read/write cycles in them to save information. So every time the seat is moved, even if the Memory feature isn't used, that position data of where the seat/wheel is changes, and has to be saved in case the Memory feature were to be used on that data. After so many years, or from a lot of adjusting, the CPU just wears out and you get parts of the thing that don't work, or it just dies all together. With them heading out for vacation in another month, and an 8 hour drive there and then back, they would have liked this to have not happened so they could trade off on the drive down/back, but what ever breaks when you really have the time/money to deal with it? So after looking inside it a bit and reversing the entire thing to make up a schematic.. http://www.acidmods.com/RDC/X5/BMWX5E53DriverSeat.jpg PDF of schematic - http://www.acidmods.com/RDC/X5/X5%20...Controller.pdf I've figured out most of what is doing what in there. I pulled the Motorola CPU (MC68HC711E20CFN2) off the PCB and coded up a PIC (16F1519) to deal with just the 'basics' of the seat. The seat movement is done with 3 Relays (Tyco V23084-C2001-A303 ++023411E Portugal) that are actually dual SPDT relays, so there are technically 6 SPDT Relays used in there. One of them (2 SPDT) is used to invert the power/ground polarity of the common motor line and the common line for the other Relays, so that the motors can run forward/backward, then the other 2 Relays (4 SPDT) are for turning on/off the 4 different motors, Incline, Slide, Height and Backrest. Now getting the seat to move again wasn't too difficult. It's just a matter of reading which button is pressed, and then turning on the Relays in the correct order, ie; set the power/ground polarity for the switch direction that is pressed, then turn on the Relay for that motor. The 8 seat switches are connected to an 8 channel data selector (MC14512) so that only 4 IO of the CPU need to be used instead of 8 IO. This is a code snip of how one of the switches is read and then the Relays for it turned on/off. Code:
A = 0; B = 0; C = 0; // Select switch 0, Seat Forward This is one of the Column motors, the other being pretty much the exact same thing except the gearbox is mirrored.. http://www.acidmods.com/RDC/X5/ColumnMotor.jpg http://www.acidmods.com/RDC/X5/ColumnMotor.jpg Now, where the Seat motors are controlled by Relays, the Column motors have that little black box on them that contains an H-bridge so that it's able to change direction, and that H-bridge is controlled by an Elmos 10017 chip. http://www.acidmods.com/RDC/X5/BMWColumnTop.jpg http://www.acidmods.com/RDC/X5/BMWColumnTop.jpg http://www.acidmods.com/RDC/X5/BMWColumnBottom.jpg http://www.acidmods.com/RDC/X5/BMWColumnBottom.jpg This chip has no data available on it, so like the seat module it was taken apart and a schematic made up to get a better idea of what's going on in there. PDF of schematic - http://www.acidmods.com/RDC/X5/X5%20Colum%20Motor.pdf From what I've been able to tell it's some type of 1 wire motor controller, possibly with position and current feedback. So the control for the 2 Steering Column motors is all done over 2 wires (1 per motor) back to the seat module, which is also where the switch for the Column is connected at, from Column switch to Seat back to Column, brilliant. I was lucky enough that this thing still somewhat worked when I tried it out on the bench, despite it being pretty much dead in the X5, so I was able to get some Logic Analyzer grabs of what commands where being sent to these Column motors to tell them to move. These were taken from the CPU pins, 28 Send, 34 Receive, as it's setup to deal with the different logic levels (5v CPU and 12v Column motor controller) and it's also in a multiplex layout so these pins can be used to control multiple motors. There seems to be a 10bit command sent to the motor, then it sends back a 16bit reply. There is also a certain number of times these commands are sent, and in a certain order, to get the thing to make the motor run. This is what that looks like on the Logic Analyzer, running the motor in just one direction for a little bit. http://www.acidmods.com/RDC/X5/LAColumn.jpg http://www.acidmods.com/RDC/X5/LAColumn.jpg Then the start of the above Logic Analyzer image zoomed in. http://www.acidmods.com/RDC/X5/LAZoom.jpg http://www.acidmods.com/RDC/X5/LAZoom.jpg So as of now I can move the Seat and Column motors, though it does have it's short comings. What does work.. - The Seat can be moved, Incline, Slide, Height and Backrest all work. - The Column can be moved in all 4 directions. What does not work.. - K-bus integration, so there is no automatic wheel out of the way movement. - Current detection, to tell if something is obstructing the seat while it's moving. - Feedback for reporting position. - Memory settings. (all of the current/feedback needs figured out first) Now what does work to me far outweighs the issues of what does not, as none of that fluff was on power seats back when power seats were all new and fancy anyway, you had a circuit breaker and that was it. The Memory positions they never used, and the auto wheel option wasn't paid much attention to. Then if you can't tell the seat motor is at the end of it's travel or something is jamming it up then you probably shouldn't be using it. Now having said that, I am tinkering with trying to get most everything working. The way the current draw for the Seat motors work I have figured out already, just not implemented it yet. The feedback for the Column motor's position is a bit more technical and is mostly figured out now as well. The only part I haven't looked into is the feedback for position sensing for the seat, so that the Memory function can at least be implemented there, but since I don't have access to the car 24/7 these are things that may never really get done. I also have no real desire to reintegrate it with the K-bus either. Here is the PIC mounted on a PCB I designed to just replace the Motorola CPU, and still have access to all of the original pads for later testing. The wires there run off to a programming header so I can reflash the PIC if needed. http://www.acidmods.com/RDC/X5/X5SeatModule.jpg So far this has been in the X5 for a few days now and there have been no issues with moving the seat/wheel to wherever they want. |
Sounds overly complicated and my eyes started to hurt just trying to understand all the terms; but seems like you are mechanically or electrically inclined and know what you're doing.To me it just makes more sense to just buy the new part that will last at least 15 more years.take off, install, done!
|
You do understand that for the average X5 owner, without close friends who happened to be Electrical Engineers with time on their hands, the cost will be significantly more than $5.90. Correct???
|
You do understand the thread title was 'my' $5.90 fix, not 'the' $5.90 fix, correct???
I'm also not an EE, I just happen to like figuring out how things work and learning new ones when the opportunity arises and time permits. It seems the average X5 owner has the money time and again to replace expensive parts on their vehicle when they fail, at least one however does not anymore. I just figured the info might be of interest to someone out there, as it would have been extremely helpful in my case had I happened across it, amidst the posts upon posts on multiple forums about the seat module. |
I think what the OP has done is both informative and really cool. As these cars age out, it becomes increasingly unwise to pay high prices for single component failures, especially nice-to-have functionality that isn't critical to continued operation. Evenutally the engine and tranny will go, and all that OEM money put into seats, mirrors, nav, etc will seem pretty foolish. I'd rather keep mine going for $5.90 if I can and then save the difference for the eventual replacement vehicle.
To each his own, but I like this approach! |
Thanks but I like my car to be fully functional
Like I said, really cool you can do all that electrical work but real life experience is something else And trust me I'm don't being a douche, I really appreciate people that are smart enough to do this kind of job I'm not one of them:) |
First post updated a bit.
Since this thing is back in the X5 now, if anyone has a bad seat module still around or are swapping one out, please PM me about it as I'd be interested in it to continue working some on this. |
Its not clear from the original post, but it appears you fixed the module that controls the power seat positioning [front back up down]. Is this correct? I don't know how common a problem this is, unlike the old and very common E36 problem with a gear in the power seat, a mechanical fix. I admire your electronic ingenuity, for sure!
|
What does work..
- The Seat can be moved, Incline, Slide, Height and Backrest all work. - The Column can be moved in all 4 directions. What does not work.. - K-bus integration, so there is no automatic wheel out of the way movement. - Current detection, to tell if something is obstructing the seat while it's moving. - Feedback for reporting position. - Memory settings. (all of the current/feedback needs figured out first) |
Thanks for digging into this so far. I'm an EE so your efforts aren't lost here. For me it comes down to available time at the time of the repair. If I have a backup vehicle and I'm not on the road a lot, I can afford to take the X5 down and do the repairs myself. I also have a neighbour who prefers to work with a soldering iron instead of a wrench, so I cook up the ideas and he makes them happen. Made up my first ADS cable for the E36 that way. :)
|
RDCX5 - Thank-You very much for taking your time to post this very detailed information to our forum. Even though it is not info I'm in need of at this juncture I wanted to express me appreciation for your articulate and well thought out post, schematics and ideas!!!
|
Welcome all.
I doubt it's info that 99.9% of anyone will be interested in, but it is X5 related and really not going to do much good anywhere else, so it was post it up somewhere or leave it too eventually get archived on some disc and never see the light of day. |
RDCX5 ,thanks for your valuable time making up these schematics, which would be very time consuming. very interesting read .
|
Welcome.
It really didn't take but a couple of evenings to do the schematics, but I've been doing this type of thing for awhile now. |
Thanks for the post and write up on a simple failure to an interesting complicated design. The quick fix is appreciated, as posted before, many of us get your intent and approach.
Designs have a way of solving problems no one knew existed before. Like the "owner holds lever up to adjust streeting column for 1 hr", "Owner holds seat adjuster button forward for 2 hrs (or maybe the junk next to the seat does?)" I think this is a designed to stop a lawsuit approach is way too common as the courts have held that a consumer is NEVER responsible for common sense operation of any device. Example Note: User of a tree chain saw, tries to cut concrete until chain snaps off and cut hand half off, sues and wins in Rhode Island court. See owners manual of any appliance in your home for examples of "do not use this electrical device while bathing". :wow: Common automotive term: "Naderized" so named for Ralph Nader of the Corvair fame. Engineers try to resolve any possible poor thinking IDIOT's use before hand and design it so it can NOT happen. The future of the driver is being written by court cases. Cannot parallel park? No problem engineering fix is here. Cannot stay in your lane while texting? etc etc etc. |
Hey guys, I'm having the same issue with X5 my seat and steering. How long does it take to install (DIY) and where is the best place to buy this replacement part? Thanks again!
|
Hey Showtime,
This isn't really any kind of DIY fix, as it requires SMT rework to remove the old CPU and install a 'new' one in the seat module as well as flash it with the code so it will work. I was only able to do it because I have the ability, tenacity and sheer disdain for a $200+ replacement part that does nothing but make some DC motors run, and in my opinion was designed to fail. This is also not a 100% replacement, and not at all for a Comfort Seat module as it has 1 more motor to deal with. This is the only one I've had any time to work with, and didn't have much time with it, so.. What does work.. - The Seat can be moved, Incline, Slide, Height and Backrest all work. - The Column can be moved in all 4 directions. What does not work.. - K-bus integration, so there is no automatic wheel out of the way movement. - Current detection, to tell if something is obstructing the seat while it's moving. - Feedback for reporting position. - Memory settings. (all of the current/feedback needs figured out first) The PIC that I used to replace the CPU on this project is also out of stock everywhere now until November. So even if you'd be fine with the limitations of it and could do the work there, or wanted to send me the module to do a CPU swap on, I couldn't without doing a bit of redesign and testing with another model of PIC first. - In case anyone is curious, this has been in the X5 for around 2 months now and it's still working. |
RDCX5 thanks for you post. So, your saying I should suck it up and pay the dealer to repair it?
Already there two modules, cuz I just came across this YouTube video that identifies a different side seat panel module http://m.youtube.com/watch?v=Pur6AEqlrOs |
Here is another video that's much better http://m.youtube.com/watch?v=5LihTwOJfFo
|
Already seen both of those ;) as well as just about every other video or thread on the subject while I was searching around for an actual fix for this thing, versus just replacing it with a new one.
The only 2 seat modules there really are are the one for the Standard seat, then the one for the Comfort seat (the Comfort seat just has 1 extra switch for the power headrest) then with or without the Memory option. The one shown in both of those videos is the Standard one with the Memory option. If you don't think you can handle the swap, or have a buddy/budet that's capable of doing it, then I'd still look for another alternative versus the dealer. The module runs around $200 or so online, and if you or a friend can get it installed that's 0$ on top of that. I'd hate to imagine what the dealer would charge for the part alone. The plastic clips are the biggest pain (brainsmobile1 explains that in the first vid there) and even if you wreck a couple it will still fit back on there. |
Awesome. Thanks again for your response
|
awesome!!!!!!!
holy schematics batman!!!! nice write up bro!!
|
Amen to that - awesome work!
It's this sort of thing that make owning (and working on) the e53 such a joy - later cars are getting so complex that very few will go this far down the rabbit hole... :thumbup: |
I'm really happy you made this post RDCX5! I have been banging my head against a wall for two years over my passenger mirror reverse dip on my '04 E53.
In the E53, the SM controls exterior mirror recall for seat memory, and reverse dip. My passenger mirror goes where ever it wants into and out of reverse. Sometimes it dips halfway down, sometimes it stays pointed at the road and doesn't come up. Today, I kept pressing memory 1 and the mirror would move all over the place even though I wasn't adjusting it. I have replaced almost every part of the mirror control system to date: mirror drive, general module, driver switch module, passenger switch module. What I have not replaced was the seat module. What you wrote totally makes sense. The amount of read/write cycles the (now 16 year old) CPU takes for something like mirror memory is probably the culprit considering every X and Y adjustment, reverse dip, seat recall, uses the CPU memory. The passenger mirror data is probably no longer being recalled correctly from the CPU causing the erratic behavior. The new SM will be here in a few days, and I am hopeful it finally fixes it! |
Welcome. Have you checked the variable Resistors in the mirrors? They get used as position 'sensors' and if they are gunked up or have gone bad they would report all kinds of erratic data for the actual position of them causing all manner of weird issues like that as well.
https://xoutpost.com/bmw-sav-forums/...d-writeup.html |
Quote:
|
Update: The new seat module fixed it! Talking with a BMW tech friend, he said there is a similar issue on the newer models' FRM module, where the CPU inside goes bad from too many read/writes. Thank you RDCX5 for the research and the post!
Part number is 61 31 7 119 867, retail $407.90, $305.92 with discount https://i.imgur.com/BZJVK1Wl.jpg |
Welcome, glad to hear the info helped and that sorted it for you.
|
Quote:
|
Quote:
|
Quote:
Computers wear out, DME's have driver failures for the fuel injectors, general modules have CPU failures. For me, it's just part of owning an old german car that's paid off |
All times are GMT -4. The time now is 10:24 AM. |
vBulletin, Copyright 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
© 2017 Xoutpost.com. All rights reserved.