Rewiring power car seats

Thread Starter

Twbates

Joined Jul 22, 2021
7
I have a set of old Mercedes power car seats. The seats are are normally controlled via door-mounted switches using a CAN bus. I want to control the motors directly. They can be easily powered forward/backward by wiring directly and changing the polarity.

The seats also have separate switches embedded into the seat (not the door). These switches are supposed to control a seat massage function, but I want to re-use them to control the seat position motors.

When I test the switches with a continuity tester, I can see there is a unique change in impedance (Confirmed with multimeter).

Question: what is the easiest way to use those switches to control the seat position? Ideally something that could interpret the ohm level and differentially trigger a relay(s) controlling a motor. Is that possible? I’d like to avoid anything like an Arduino setup.
 

strantor

Joined Oct 3, 2010
6,782
I'm guessing they are all part of an assembly with resistors soldered inside? Can you open it? Can you access individual wires or contacts?
 

Thread Starter

Twbates

Joined Jul 22, 2021
7
I have access to the wires that feed the switch, but haven’t pulled it out to see the internals of the switch. One of the switches has four buttons (up/down/left/right) with different ohm readings for each on one wire. Others are just a toggle switch (again changing the impedance). Thanks for any help.
 

strantor

Joined Oct 3, 2010
6,782
I have access to the wires that feed the switch, but haven’t pulled it out to see the internals of the switch. One of the switches has four buttons (up/down/left/right) with different ohm readings for each on one wire. Others are just a toggle switch (again changing the impedance). Thanks for any help.
You could make a circuit with multiple window comparators that would detect which button has been pressed, but it would be a whole lot easier to do with an arduino or similar microcontroller. Why do you specify that as a non-option?

Your power seat motors can indeed be powered directly, however a power seat module usually has a bit more smarts than that. The feed screws are not very robust in the seats I've seen, and can't tolerate a hard stall or they will bend. Your Power seat modules probably count motor rotations and stop the seat before it hits a hard stop, and probably also monitor motor current to halt movement if a stall occurs mid-stoke (foreign object in path). It would be good to retain these functions, either with the existing seat modules (use arduino or other to speak to it using canbus) or to redesign the wheel and implement these features separately (in arduino or similar) if figuring out the canbus packets proves too difficult.
 

Thread Starter

Twbates

Joined Jul 22, 2021
7
@strantor thank you for the helpful comments. I’ll research window comparators as an option. I didn’t even know what to search for and so that alone is extremely helpful.

Thanks also for the comments on the direct wiring safety limitations. I don’t have the door switches or the skills/knowledge to interpret the CAN bus. Arduino is an option, but my skills are limited there too.

Any suggestion for a comparator with adjustable input trigger?
 

strantor

Joined Oct 3, 2010
6,782
Any suggestion for a comparator with adjustable input trigger?
The comparator is an opamp circuit. It's something you would have to build from scratch*. A total home-brew circuit board with many components. It would be considered a relatively basic/simple circuit by many experts here (not sure why none of them are touching this thread?) But for a total noob it still represents a steep learning curve and a great deal of effort. You seem like someone who is looking for a solution more than a learning experience which is why I recommended a microcontroller. I take it you find the microcontroller route daunting but I think you would find it would have your seats working the way you want, a good deal faster than learning how to etch circuit boards so that you can learn how solder so that you can learn how to design analog circuits so that you can make your buttons work.

*I could be wrong. There might be some general purpose pre-assembled window comparator circuits available on Amazon or eBay or sparkfun or something, but I've never seen the like.

What you want, would be dead simple to do with an arduino. IMO you should not write it off so easily.
 

strantor

Joined Oct 3, 2010
6,782
Actually I'm going to elevate my confidence in the linked product to "would probably almost certainly work, one way or another."

A normal comparator circuit works by sending a digital output if the analog input voltage is above a reference voltage, or if the input voltage is below the reference, depending on how it's configured. A window comparator circuit is two normal comparator circuits combined, such that it gives the digital output if analog input is above "reference A" and below "reference B."

My understanding of the linked product is that it can be configured in all 3 of the modes I just described (over, under, or window). But I'm less than confident about the window mode. The over/under is IMO "plainly" described however. But I think, even if it has no window mode, you could get window behavior out of it by using two relay channels. It has 4 relay channels and you could configure "Channel A" as an "under" type of comparator and "Channel B" as an "over" type, and run your motor signal in series through A and B, and you have a window. For the highest level button you would only need one. How many buttons are there? You would need to order multiple comparator boards ((# buttons × 2)-1)/4
 

shortbus

Joined Sep 30, 2009
10,045
Yeah but TS is not asking about that. He's wanting to read variable resistance and switch polarity to motors.
If it was that easy to do they wouldn't use CANBUS or a BCM. I'd think a total redesign of the control system is needed to replace it all from the motors to the switches.
 

strantor

Joined Oct 3, 2010
6,782
If it was that easy to do they wouldn't use CANBUS or a BCM. I'd think a total redesign of the control system is needed to replace it all from the motors to the switches.
Yeah I pretty much agree, as I touched on...
Your power seat motors can indeed be powered directly, however a power seat module usually has a bit more smarts than that. The feed screws are not very robust in the seats I've seen, and can't tolerate a hard stall or they will bend. Your Power seat modules probably count motor rotations and stop the seat before it hits a hard stop, and probably also monitor motor current to halt movement if a stall occurs mid-stoke (foreign object in path). It would be good to retain these functions, either with the existing seat modules (use arduino or other to speak to it using canbus) or to redesign the wheel and implement these features separately (in arduino or similar) if figuring out the canbus packets proves too difficult.
But TS seems to think otherwise, and I have no prerogative to insist against his course of action. We can give our 2 cents but it's not our project. If he has a certain way that the wants to go about it, I can live with that and help him achieve his goal. I think most folks here would as well. But for some reason this thread is getting an uncharacteristically low level of engagement. I'm starting to think it's because it's in the Automotive subforum and maybe the majority does not frequent this corner of the forum.
 

Thread Starter

Twbates

Joined Jul 22, 2021
7
Thanks again for the comprehensive responses @strantor. I really appreciate you taking the time to provide such thorough info. I was secretly hoping there would be a simple analog solution to minimize the amount of electronics under the seat, but the prefabbed solution at Amazon looks like it will get me started.

There are lots of options if I want to install a bunch of new switches, but it will be much cleaner if I can use the switches already embedded in the seat. It’s a pretty dense cluster with a four-way switch, two 3-position toggle switches and one on/off button.
 

shortbus

Joined Sep 30, 2009
10,045
There are lots of options if I want to install a bunch of new switches, but it will be much cleaner if I can use the switches already embedded in the seat. It’s a pretty dense cluster with a four-way switch, two 3-position toggle switches and one on/off button.
But if those switches are only changing resistance(I think that's what you said earlier, didn't go back and reread the whole thread) that means they are controlling the BCM(body control module) through the CANBUS. Unless you can come up with a way of sorting out those CANBUS signals to something that can send power to the seat motors, I can't see any way of making it work like you want.

The existing switches may be, I don't know how they are made, used some how to control some relays to then control the seats but that will still be a lot of work to figure out. As a car guy myself, how bad would it be to make a nice plate holding some old school switches from an older seat? The only people who would probably even notice would be those you told.
 

djsfantasi

Joined Apr 11, 2010
9,156
You’d have to either parallel connections to the existing switches or wire new plugs/sockets to the same switches

The latter option requires a function to read their position in software. You have to make up your mind how to do that. Either read a digital input or read an analog input (voltage determined by the resistance switched into the circuit by the existing switches). One requires more rewiring (digital input) or the latter requires more coding (existing switches).

Either case requires a microprocessor. Or fairly advanced electronics. IMHO, there is less work with coding (if you have a clue) than hardware (unless you’re very familiar with comparator circuits and implementing Boolean logic in hardware).

Just my 2 cents…
 

Thread Starter

Twbates

Joined Jul 22, 2021
7
But if those switches are only changing resistance(I think that's what you said earlier, didn't go back and reread the whole thread) that means they are controlling the BCM(body control module) through the CANBUS. Unless you can come up with a way of sorting out those CANBUS signals to something that can send power to the seat motors, I can't see any way of making it work like you want.

The existing switches may be, I don't know how they are made, used some how to control some relays to then control the seats but that will still be a lot of work to figure out. As a car guy myself, how bad would it be to make a nice plate holding some old school switches from an older seat? The only people who would probably even notice would be those you told.
Yes, I plan to do exactly that for switches to control the seat heating and cooling options. The seats have a crazy amount of movement options, plus power headrests and seat back. A homegrown panel for 12 (?) separate seat movements would be unsightly, plus the integrated switches would still be there (unused) and so I hope I can find a way to use them.

The microprocessor @strantor suggested should work, if I can find one that is 12v. That product is also 10A and I’m betting the seats pull 20A so that integrated relay would need to trigger a second relay, which would be unfortunate. I’ll keep looking. I haven’t completely ruled out Arduino. It’s looking like a microprocessor is needed either way I go, unless other solutions appear.
 

shortbus

Joined Sep 30, 2009
10,045
The microprocessor @strantor suggested should work, if I can find one that is 12v.
Do you really think the micros in the existing control modules are 12V? They are supplied by 12V yes, but the first step in them is a very well regulated 5V power to the rest of the board.

It’s looking like a microprocessor is needed either way I go, unless other solutions appear.
It will, no matter what you chose for an micro to be able to decode CANBUS. That is what you fancy switches are putting out when activated. If you are that serious about having all of the "12 movements", you would/should start contacting some of the companies that reprogram stuff like ECM's to see if they can do it with a BCM.
 

Thread Starter

Twbates

Joined Jul 22, 2021
7
Do you really think the micros in the existing control modules are 12V? They are supplied by 12V yes, but the first step in them is a very well regulated 5V power to the rest of the board.


I was referring to input—apparently the manufacturer has 5v/12v/24v versions (but Amazon is only carrying the 5 and 24V)


It will, no matter what you chose for an micro to be able to decode CANBUS. That is what you fancy switches are putting out when activated. If you are that serious about having all of the "12 movements", you would/should start contacting some of the companies that reprogram stuff like ECM's to see if they can do it with a BCM.
 

strantor

Joined Oct 3, 2010
6,782
no matter what you chose for an micro to be able to decode CANBUS. That is what you fancy switches are putting out when activated. If you are that serious about having all of the "12 movements", you would/should start contacting some of the companies that reprogram stuff like ECM's to see if they can do it with a BCM.
I assumed I misunderstood you at first. Are you saying that the variable resistance signal output from the switch cluster is a canbus signal?
 

Thread Starter

Twbates

Joined Jul 22, 2021
7
I assumed I misunderstood you at first. Are you saying that the variable resistance signal output from the switch cluster is a canbus signal?
I don’t know. The seat position control switches that would have been on the door were definitely on a CAN bus. I don’t have those switches. The switches I am trying to reuse are embedded in the seat itself and are there to control a complicated massage feature. I can read variable resistance with a multimeter on those switches. Those switches do not feed the microprocessor used to control the seat position motors (although they could feed a second microprocessor in the seat back—haven’t been able to take the seat back off yet).
 
Top