MOSFET(s) for DIY heated car seats

Hello,

I'm in the process of gathering info for my next project, which will be ESP32-controlled, PWM/MOSFET-driven seat heaters for my car, and I can't quite find the right MOSFET for this.

So far, I've been able to take measurements and work out that I will need 8 metres of heating wire per heating mat, perhaps a smidgeon more, in any case, around 16 metres in total for one seat.

I plan to use this heating wire, in the variant that has 0.3 Ohms/m resistance:

At 8 metres per heating element, that's 2.4 Ohms. To get a good heat output, I would like to connect the heating elements for the cushion and the backrest parallel, so that I would have

12V/2.4 O = 5A of current per heating element, i.e. 2x 5A = 10A of current per seat.

This is of course only the theoretical maximum, I'll probably run them at a PWM duty cycle of around 180 to 220, as most factory heated car seats are said to output in the region of no more than 80-100W per seat.

So I've looked at the websites of ST Microelectronics and ON Semiconductor, but I haven't been able to find an N-channel MOSFET with the right characteristics, i.e. 5V gate voltage, >=12V through voltage, and around 150W of maximum power, and >10A maximum current.

Could somebody point me towards the right kind of MOSFET for this application?

Other thoughts and suggestion are welcome as well.

(the ESP32 is because besides of course installing physical switches in the car, I want to be able to control the seat heaters via bluetooth app on my smartphone, because, hey, why not... :slight_smile: )

  • carguy

How big a heatsink are you willing to have? MOSFETs are sized through dissipation, so 10A means a 0.01 ohm MOSFET dissipates 1W, a 2 milliohm MOSFET dissipates 0.2W, etc, since power = I-squared-R.

The amp rating of a MOSFET is not the thing to go for. For a 10A load a 10A MOSFET would be useless, as it would need massive heatsink or water cooling. Expect the device you find to be rated for 40A or more and don't be surprized, the on-resistance is the important design parameter.

To drive a MOSFET from 5V you need a logic level MOSFET. Ignore the gate voltage specs in the datasheet, its the Rds(on) spec that tells you the gate voltage needed to turn it on properly.

You'll need to ensure your heating pads are completely unable to catch fire of course...

Yes, fire safety is one of my primary design goals.

There is a run-down of the specs of Hella-made OEM seat heating control modules on their web site that they supply to car manufacturers:

https://www.hella.com/microsite-electronics/en/Heated-seat-module-114.html

By and large, what's listed there especially under the safety features is what I would like to implement with my homemade unit.

So then to drive my heated seats with a PWMing MOSFET via the ESP32 that can handle 2x5A at 12V, do you have a suggestion for actual parts to use?

The ESP32 runs on 3.3V, so that's something to consider. What if I use an Infineon IRLB8743PBF and drive it with a small NPN between the ESP32 pin and the MOSFET, and thus pull the latter up to 12V? It would dissipate 0.32W at 10A.

Automotive is a very tough arena to design for. I would consider a protected device such as a BTS660 from Siemens or others. Also forget about the 12 volts, expect to see 24VDC if the car gets a jump start from some of the road side assistance people. Look at the automotive standards. The standards themselves can be found and downloaded using the link below, along with their sister qualifications AEC-Q100 and AEC-Q101. AEC Documents. The parts that meet these requirements are suitable for most automotive applications. Also study load dump and low voltage requirements. This response is to help you get started in solving your problem, not solve it for you.
Good Luck & Have Fun!
Gil

A more sensible idea would be a heat exchanger in the car heater coolant feed with water pumped through tubing.

Just saying ... :grinning:

Paul__B:
A more sensible idea would be a heat exchanger in the car heater coolant feed with water pumped through tubing.

Begs the question why not everybody does it that way... :slight_smile:

And then how are you going to integrate your tubing into your seat cushions, without it showing through your seat covers in the end? Also, I've got leather seats, so you'd see every bump and crease.

No but seriously, I know that cars are a tricky environment to design circuits for. During start-up alone, you routinely have a 40-percent voltage spike over the nominal voltage, so that's around 17 volts. Therefore in the ESP32 section of my circuit, I will put an 18V TVS diode with a fuse, and a choke, to flatten voltage spikes but to also protect against permanent overvoltage. There will also be a diode in series between +12V and the required 3V3 voltage converter, to ward off reverse current.

I've implemented these features in another circuit in my car, which switches the radio to mute when you reverse, and it's been working without fault for over two years.

So then can I connect the BTS660 directly to my ESP32, or do I need some sort of driver?

carguy:
So then to drive my heated seats with a PWMing MOSFET via the ESP32 that can handle 2x5A at 12V, do you have a suggestion for actual parts to use?

Not at all, there are literally thousands, this is why electronics vendors have parametric search engines, just set up requirements and min/max values and sort the results by price...

You wouldn't use high frequency PWM with a heater, a period of 5 to 10 seconds is fine, then you don't have to
do any switching-loss calculations either which simplifies things.

carguy:
Therefore in the ESP32 section of my circuit, I will put an 18V TVS diode with a fuse, and a choke, to flatten voltage spikes but to also protect against permanent overvoltage.

I would think it would be more appropriate to use a swichmode converter rated to 40 V.

MarkT:
You wouldn't use high frequency PWM with a heater

Although that is exactly how many OEM factory-installed seat heaters appear to work. I've measured it with a DMM on my other car (an older-model Audi A4) with factory heated seats, and there is definitely some high-frequency PWM going on. PWM also allows for "smoother" load management depending on environment conditions, i.e. the seat's starting temperature or how quickly the heating element heats up depending on the intensity setting (I plan to implement six different intensity settings, like the seats in my Audi).

MarkT:
then you don't have to do any switching-loss calculations either

If you control the heating pads with high-frequency PWM, you can compensate that by fine tuning the duty cycle though during your development phase.

Paul__B:
I would think it would be more appropriate to use a swichmode converter rated to 40 V.

Good idea, I'll do that.

High frequency PWM has EMI emissions issues, particularly with a large extent of wire being switched. Use slow PWM, you never need anything fast for heating control, and less hardware is required, its a win.

Right, I've just read up on high-frequency PWM in a car environment, and apparently it does cause more problems than you would think at first glance, and it appears it can even mess with your car's anti-theft electronics, and then in the worst case render your car undriveable.

According to some car enthusiast forums, a typical PWM frequency range of OEM factory seat heating pads is around 1-30 Hz. So that's probably going to be my parameters if I want to design it so that you've got five or six intensity settings to choose from on your dial switch.

So then how does that simplify my circuit, and what kind of FET, without all the specifics, is best suited for this?

You can purchase ready made heater mats that you slip under the seat cover- that might be an easier option to keep the wires where you want - what you are using seems to demand a massive length which will be hard to fix.

I know that you can buy ready made mats, but the problem is that they only heat part of your seat. Also, the base and backrest cushions of my seats are segmented in such a way that it will be difficult to stick a ready made mat onto the cushions so that the wires won't at some point wear through. I'm not familiar with upholstery technical terms, but the base and backrest covers are each attached to the cushions by a metal strap with little clips that runs across the breadth of the cushion.

Besides actually saving a little bit of money, making my own heating element from bulk-bought heating wire will allow me to take into account the intricacies of my seat cushions, and also I will be able to run heating wire underneath the seat flanks, which is also something you don't get with aftermarket heating mats. I've got factory heated seats in my Audi, as I said, and the seat flanks are heated as well, which does make a noticeable difference.

So in summary I'm willing to make the extra effort of creating bespoke heating mats, and I don't see how that is going to negatively affect the finished product. It's a bit more work, but it'll be rewarded, and I will be able to better prevent wire faults.