0
\$\begingroup\$

I need to drive the 12V metering pump (a solenoid) of the heater in my campervan from an esp32 (because I'm trying to implement this).

The pulses have a frequency between 1 and 4Hz (approx.) I didn't measure the duration of the pulses but it should be around 100ms (maybe less, maybe more).

The switching must happen on the high side, I'm not good with electronics, so I thought I could just use this aliexpress module (an optocoupler driving a p-channel mosfet) the problem is it has no protection against short circuit and I wouldn't like to find my van burnt into ashes. Maybe just adding a fuse would be enough? (edit: and, of course, a flywheel diode).

I don't know the inductance of the solenoid, I measured 15Ohm across its terminals.

I also thought about using an automotive high side switch (e.g. the infineon bsp772, I have some spare tssop 8 breakout boards that I could use), that has integrated the driver circuitry as well as every kind of protection. I can find that IC on aliexpress too.

Which one is the best option? The aliexpress module with a fuse, the infineon part or something else (preferably not smd)?

Edit: I forgot to say that I tried to simulate the aliexpress module with ltspice, and, apart from the lack of protection, it seems OK to my untrained eye (but I chose an arbitrary value for the solenoid).

simulation result

Edit2: I ordered a BTS410E2 in a TO220 package from aliexpress (it's discontinued but at least it isn't smd) but I think I got a fake one.

\$\endgroup\$
10
  • \$\begingroup\$ I'm a little confused about what you're trying to do here. Are you trying to drive a pump or a solenoid? Saying, "metering pump (a solenoid)" suggests that you believe they are the same thing; they are not. Perhaps what you're trying to say is that there is an active pump and that you simply need to open a solenoid to let whatever fluid to pass? In that case, can you also explain why you're doing low frequency pulses for your solenoid? \$\endgroup\$ Commented Nov 4, 2024 at 17:42
  • \$\begingroup\$ No, the pump itself is a solenoid that moves a piston which, with each pulse/movement, pushes a tiny amount of fuel (e.g. 22ml every 1000 pulses). \$\endgroup\$ Commented Nov 4, 2024 at 17:48
  • \$\begingroup\$ Oh, and about the "why" it's explained in the first link, the heater itself is sending pulses to the pump to modulate the amount of fuel required depending on the setpoint and the current ambient temperature. The problem is that at high altitudes there's less oxygen so the amount of fuel must be reduced. They sell a kit with a second pump with a lower flow rate and a manual switch to use either one (below 1500m) or the other (over 1500m). What I want to do instead is to intercept the pulses from the heater and reduce the frequency (by 9% every 1000m). \$\endgroup\$ Commented Nov 4, 2024 at 18:05
  • \$\begingroup\$ Apologies. For some reason, I was associating a solenoid only as a solenoid valve... Sorry about that. I think what you're doing here is okay but as you can tell by your green waveform in your SPICE simulation, you're seeing a lot of ringing. I would put the solenoid and flywheel on the drain side of M1. Ironically, your D2 and D3 is not blocking out the ESD that you're trying to prevent. \$\endgroup\$ Commented Nov 4, 2024 at 18:14
  • \$\begingroup\$ They're already on the drain, but that doesn't worry me (I can remove the zener, D2, which would remove the spike and the ringing, but then the turn off time would be longer, I don't know if that's an issue). What really worries me is the possibility of a short circuit causing a fire, that's why I considered the infineon part with every kind of protection, but I don't know if it's really suitable (in theory it is but I couldn't find any application notes). There are similar parts from TI but the packaging is worse (since I'm not going do design a pcb) since they have an exposed pad. \$\endgroup\$ Commented Nov 4, 2024 at 18:22

1 Answer 1

1
\$\begingroup\$

A solid state relay used within its rating and driven by a MCU should be able to do this just fine. As you mentioned, don't forget about the flyback diode.

Example: Crydom 84137750

There are generics from china which are much cheaper.

Make sure to check the specs of whatever you buy to make sure you'll be within them.

This can be done cheaply using a PFET and a npn transistor, but you will need some electronics knowlage to pick the parts.

\$\endgroup\$
4
  • \$\begingroup\$ Basically that's what the aliexpress module does (a driver, in this case an optocoupler, and a p-channel mosfet), but in both cases there isn't protection against a short circuit. What do you think about the bsp772? \$\endgroup\$ Commented Nov 5, 2024 at 7:26
  • \$\begingroup\$ If you need short circuit protection just add a fuse. Avoid non-name fuses as they are often underrated (will pass way more current than they should). \$\endgroup\$ Commented Nov 5, 2024 at 15:06
  • \$\begingroup\$ That could work. Just make your circuit and then read through the datasheet to confirm you haven't exceeded any limits. One advantage of a puck SSR is that it's designed to be used stand alone. Using small ICs on breakout boards can sometimes be unreliable because they're not always designed for the the treats they will encounter while not tucked away on a PCB. For example, esd, or inductive kick from long wires. \$\endgroup\$ Commented Nov 5, 2024 at 15:09
  • \$\begingroup\$ In addition to the fuse, would it be a good idea to add a current sensing device (e.g an ac712 or an ina226, both available as modules on aliexpress) so I can detect an overcurrent condition and shut down the mosfet? This way I could assemble everything from modules, have a fast reaction in software and leave the fuse as a last resort protection. \$\endgroup\$ Commented Nov 7, 2024 at 9:45

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.