Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 mins ago.Improve this question
Hoping to get some direction from those wiser than me.
I’ve installed a driver and passenger seat from a W203 E55 AMG Mercedes in my 1991 Toyota LC80 and can’t help but think my controller design is probably cave-man’esque and with the advice of a guru, there is a solution that is more efficient.
These are not the exact seats but an image I found online of the same model:
Each seat contains 5 DC motors and two heaters, I have a copy of the relevant Mercedes factory service manual which holds all the necessary schematics and have tried to keep the naming convention similar.
LRFA = Left Rail Fore/Aft
LRUD = Left Rear Up/Down
LFUD = Left Front Up/Down
LHUD = Left Head Restraint Up/Down
LBFA = Left Backrest Fore/Aft
LSHC = Left Seat Heated Cushion
LBHC= Left Backrest Heated Cushion
RRFA = Right Rail Fore/Aft
RRUD = Right Rear Up/Down
RFUD = Right Front Up/Down
RHUD = Right Head Restraint Up/Down
RBFA = Right Backrest Fore/Aft
RSHC = Right Seat Heated Cushion
RBHC= Right Backrest Heated Cushion
Tested all the motors and they work as expected. At 12V the motors come in around 10-15 A depending on position. When initially testing with an L298N, I realised they would drag far more current than I could test with ‘cheapy’ drivers so just wired up a 2 relay forward-backward switch directly from a small 12V battery.
Ideally hardware would be less than 5 rocker switches and 10 relays per seat for motion control.
My thinking is:
- Rotary Encoder per seat to control motor selection and heater intensity.
- Pressing the encoder in as a button will change between seat heating and motor selection.
- Rocker switch per seat to control forward/reverse when motor is selected.
MOTOR CONTROL: Rotary encoder to switch between the 5 motors by moving CW/CCW Perhaps 5 LEDs or similar around the knob to illustrate current selection Single Rocker switch for FWD / OPEN / REVERSE 16-Channel 12V Relay Module (see attached) Adruino Nano or similar to communicate between the rotary selection knob and the relays.
HEATER CONTROL: Run both the seat and backrest heaters in parallel, I don’t see any situation where one but not the other will be required. Using the same rotary encoder and 5 LEDs around the knob for 5 positions of intensity 20/40/60/80/100% heat intensity via PWM signal to a KSJ30 SSR (see attached)
So my questions to the brains trust is – Do you see any issues with my thinking? Is there any other method of control you would suggest? I was thinking of an FPGA given the nature of the outputs but think it might be easier for me as a newby to stick to an IDE that has loads of online assistance around it.
Can you think of any other efficient ways to control the motors and heaters? I was even thinking of ditching the rocker switch and using the push button function on the encoder to be a ‘select’ of sorts then CW/CCW moves the selected motor FWD/REV but the programming path seemed a bit out of my depth at this stage.
- 1That should be fun and neet when finished, let us know how it goes. You are correct it takes a lot of relays, that is why automotive switched to MOSFETs. Take a look at a Siemens BTS7960, It will do the job. A full bridge with heatsink etc ready for 5V logic is available at many places. I found this one Double BTS7960 43A H-bridge High-power Motor Driver module for about $5 including shipping. Here is the link: aliexpress.com/item/… You will need one per motor. I use them for LED drivers they are great and run cold. – Gil 14 mins ago
- Yes, L298N is not efficient. Perhaps you can try BTN7971B. See References’ Part C of my answer to the following Q&A: DC motor speed control – EESE: electronics.stackexchange.com/questions/510755/…. Cheers. – tlfong01 13 mins ago