Educate me. SSR/MOSFET or alternative that works with DC voltage.

So I'm a complete newb at this, but I'm quickly learning. I did some searching before posting, but like most topics that seem to pop up here, there are 30+ answers for a given question and one of never really claimed to be a definitive answer over the others.

I was originally using a mechanical relay module to cycle 12v on a project I've been working on. The problem is, that when I get down to 20 ms or so the relay would stick. I bought a solid state relay unaware that they are mainly for AC voltages. I wired up the power directly to the valve I'm controlling, and passed the ground through the relay (this is how the valve is setup in its original form, with a driver pulsing the ground.

I need to get down to ~5ms cycles but a solid state relay isn't going to work. The amperage will be 8-10A. I was recommended a few MOSFETs but things didn't go so well. I'm guessing they weren't up to the amperage and failed the first time I used them (I'm still not 100% sure how a MOSFET works, either).
After some digging, it seems I may need to wire a resistor in somewhere with the MOSFET?

So now the question. Is there a particular MOSFET I should be using for a 12v 10A circuit?
Is the programming the exact same as if I were using a relay, such as simply cycling a high/low on a digital output pin? Maybe a MOSFET module to simplify an install?

Sorry, didn't mean to post this here. I'll repost in General electronics if someone wants to delete this.

So I'm a complete newb at this, but I'm quickly learning. I did some searching before posting, but like most topics that seem to pop up here, there are 30+ answers for a given question and one of never really claimed to be a definitive answer over the others.

I was originally using a mechanical relay module to cycle 12v on a project I've been working on. The problem is, that when I get down to 20 ms or so the relay would stick. I bought a solid state relay unaware that they are mainly for AC voltages. I wired up the power directly to the valve I'm controlling, and passed the ground through the relay (this is how the valve is setup in its original form, with a driver pulsing the ground.

I need to get down to ~5ms cycles but a solid state relay isn't going to work. The amperage will be 8-10A. I was recommended a few MOSFETs but things didn't go so well. I'm guessing they weren't up to the amperage and failed the first time I used them (I'm still not 100% sure how a MOSFET works, either).
After some digging, it seems I may need to wire a resistor in somewhere with the MOSFET?

So now the question. Is there a particular MOSFET I should be using for a 12v 10A circuit?
Is the programming the exact same as if I were using a relay, such as simply cycling a high/low on a digital output pin? Maybe a MOSFET module to simplify an install?

Just click the 'report to moderator' under your post and ask it to be moved. If you already have posted a new question, do the same but ask this one to be deleted.

What where the MOSFETs?

ElCaron:
What where the MOSFETs?

IRF520
Someone had a ton of them so I tried them out. I didn't use any resistors.
I noticed that there are modules using this MOSFET I can get for $2 from Amazon, but if they can't handle the current it would be a waste.

I was recommended a few MOSFETs but things didn't go so well. I'm guessing they weren't up to the amperage and failed the first time I used them (I'm still not 100% sure how a MOSFET works, either).
After some digging, it seems I may need to wire a resistor in somewhere with the MOSFET?

[u]Here is a MOSFET driver circuit[/u].

  • You need a "logic level" MOSFET that can be controlled with 5V. Most MOSFETs require more than 5V to completely turn-on. If it doesn't turn-on fully it can overheat.

  • With 8 - 10A you'll need a heatsink.

  • Of course, make sure the MOSFET is rated for 10A or more. The more "safety margin" the better so I'd look for a MOSFET rated at 20A or more. (The voltage is no problem... any MOSFET can handle 12V.)

  • The resistor protects the Arduino from the MOSFET's capacitance when it's switched-on.

  • The diode protects everything from the motor's back-EMF when the motor is switched-off.

A MOSFET is the correct tool to use here, almost certainly an N-channel one. The following discussion assumes an N-channel MOSFET.

The key specs on a MOSFET are the on state resistance - Rds(on), rated maximum current and maximum power dissipation (you always should do the math with the Rds(on) and expected current to see how much power it will be dissipating as heat, and make sure that's viable), and the voltage required on the gate to turn it on (Vgs).

Typically you'll get a spec for Rds(on) at multiple voltages. "Standard voltage" MOSFETs need ~10v on the gate to turn completely on. These are awkward to use with arduino for obvious reasons. "Logic Level" MOSFETs require only 4.5v (or sometimes less!) on the gate to turn on and are what you should be using. Beware of unscrupulous EBay sellers claiming that standard voltage MOSFETs like the IRF520 on their breakout boards are logic level - always check the datasheet. If they do not give an Rds(on) spec for the voltage you're going to be putting on the gate or less, it is not an appropriate choice.

I normally recommend the IRF3708PBF as a decent power MOSFET - it has low Rds(on), can handle tens of amps, and comes in a TO-220 package, so you don't need to solder SMD parts to use it - and it works with gate voltages as low as 2.8v (albeit with reduced Rds(on)). I think that would be appropriate here.

Wire source to ground, drain to negative side of load, gate through a ~100 ohm resistor to the pin controlling it, and a 10k resistor between that pin and ground.

If you're doing fast PWM (definition of fast depends on the load, duty cycle, and other factors), switching losses can be significant, resulting in excessive heating of the MOSFET (due to conduction while it's between on and off, when resistance is higher). In that case, you can use a "gate driver" IC, designed to deliver very high (and very brief) pulses of current to the gate to minimize the time it spends between on and off; The FL3100 is an example of one of many gate driver ICs.

As it happens, I sell FL3100's paired with IRF3708's, as well as a few 4-channel breakout boards with high performance MOSFETs with and without an added gate driver in my Tindie store.

Threads merged.

DrAzzy:
A MOSFET is the correct tool to use here, almost certainly an N-channel one. The following discussion assumes an N-channel MOSFET. . . .

Thanks. That was very helpful to me as well.

DrAzzy:
A MOSFET is the correct tool to use here, almost certainly an N-channel one. The following discussion assumes an N-channel MOSFET.

The key specs on a MOSFET are the on state resistance - Rds(on), rated maximum current and maximum power dissipation (you always should do the math with the Rds(on) and expected current to see how much power it will be dissipating as heat, and make sure that's viable), and the voltage required on the gate to turn it on (Vgs).

Typically you'll get a spec for Rds(on) at multiple voltages. "Standard voltage" MOSFETs need ~10v on the gate to turn completely on. These are awkward to use with arduino for obvious reasons. "Logic Level" MOSFETs require only 4.5v (or sometimes less!) on the gate to turn on and are what you should be using. Beware of unscrupulous EBay sellers claiming that standard voltage MOSFETs like the IRF520 on their breakout boards are logic level - always check the datasheet. If they do not give an Rds(on) spec for the voltage you're going to be putting on the gate or less, it is not an appropriate choice.

I normally recommend the IRF3708PBF as a decent power MOSFET - it has low Rds(on), can handle tens of amps, and comes in a TO-220 package, so you don't need to solder SMD parts to use it - and it works with gate voltages as low as 2.8v (albeit with reduced Rds(on)). I think that would be appropriate here.

Wire source to ground, drain to negative side of load, gate through a ~100 ohm resistor to the pin controlling it, and a 10k resistor between that pin and ground.

If you're doing fast PWM (definition of fast depends on the load, duty cycle, and other factors), switching losses can be significant, resulting in excessive heating of the MOSFET (due to conduction while it's between on and off, when resistance is higher). In that case, you can use a "gate driver" IC, designed to deliver very high (and very brief) pulses of current to the gate to minimize the time it spends between on and off; The FL3100 is an example of one of many gate driver ICs.

As it happens, I sell FL3100's paired with IRF3708's, as well as a few 4-channel breakout boards with high performance MOSFETs with and without an added gate driver in my Tindie store.

Cycles are going to be no faster than 12ms, but with variable duty cycle. I imagine the highest the duty cycle will ever be is 80% on a 15ms duty cycle. Average is likely going to be 60% duty cycle of a 20ms cycle.

A module that is ready to go is best case scenario. Just point me in the right direction.

Check these :
https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=DC+SSR

outsider:
Check these :
Amazon.com : DC SSR

Half of the stuff that comes up there are AC relais ...

A MOSFET is in principle capable of switching 10A. A IRF3708 will dissipate around 1.2W. The TO-220 package can also deal with that in principle. According to the datasheet, the MOSFET will heat up to 75°C. Which would be fine (assuming a well ventilated case). You should add a small heatsink, though, just to be safe.
Alternatively, you can put two in parallel. (The total gate charge will then still only be equal to that of the popular IRLZ44N).

look for the DC in the output type column
ac-and-dc-output-solid-state-relays

Hi,
I understand you are trying to PWM a proportional valve.

Do you have the part number and spec of the decive, as they usually have a specific range of PWM frequency that they respond reliably too.

Because you are applying a high frequency switching waveform, the inductance of the valve coil comes into play.

Too low a frequency and you have a high current situation that may burn the coil out.
Too high a frequency and the inductance of the coil will cause too little current to flow and the valve will not lift.

There are specific MOSFET paks that are design for proportional valve operation.

Thanks.. Tom.. :slight_smile:

Not worried with burning it up. I can get the valve to actuate with as little as 5v straight from a digital pin on my arduino Nano, but I can only actuate one at a time this way and they don't seem to open very far. I'm actuating up to 16 at a time through this relay. They are supplied 12v-24v directly from a power source and then a controller takes care of grounding them to open them. Duty cycle down to 0.1% with an open time of less than 5 ms is typical, but it cases where extreme cooling is needed they will need to be open at a greater duty cycle. There isn't a datasheet for these anywhere, but since their normal operating range is 5ms to 20ms, and they will open one a time from an arduino digital i/o pin, I'm guessing that frequency or current aren't much of a factor here.

I simply need to be able to pulse the power OR ground faster than my mechanical relays can because they stick at high frequency.

HI,

They are supplied 12v-24v directly from a power source and then a controller takes care of grounding them to open them.

Well can you give us information about the controller and the valve please.
There may be an easier way to controll the valve.
The driver you have may be the solution.

Please data/specs on your valve and the controller.

Thanks.. Tom.. :slight_smile:

TomGeorge:
HI,Well can you give us information about the controller and the valve please.
There may be an easier way to controll the valve.
The driver you have may be the solution.

Please data/specs on your valve and the controller.

Thanks.. Tom.. :slight_smile:

Unfortunately there isn't a datasheet available for everything ever made.

I'm not using these in the same environment as they were intended. The controller is only capable of actuating ONE valve at a time. It is NOT open source in any way. There is ZERO way to configure it for the circumstances I need. The controller is completely irrelevant in every way other than me providing the info that the controller would simply control the ground for the valve to actuate it when needed.

Each valve is operated with a single coil/solenoid. Normal operating voltage is 12-24v. Coil resistance is ~14 ohms. They are able to be pulsed open down to 5ms with consistency although 2ms doesn't seem to be much of a problem. These are flowing water used to control extreme heat. They must be pulsed to keep temperate in a VERY specific range. I've been trying to use a PID for this and so far it seems to be working OK.

All I need is to pulse these faster than a mechanical relay can reliably do..... it doesn't have to be this difficult does it LOL. This is why the search was useless when I first set out to tackle this.

Hi,

All I need is to pulse these faster than a mechanical relay can reliably do.

Pulse what?

The controller is completely irrelevant in every way other than me providing the info that the controller would simply control the ground for the valve to actuate it when needed.

Exaclty, so how do you control the controller.

I think you have it in your head that you have to switch the positive side of the valve to control it, you don't have too.

You connect the positive side of the valve directly to positive supply, then control the controller that switches negative side of the valve to gnd.

Can you post a picture of the valve and controller please?

Can you please tell us your electronics, programming, Arduino, hardware experience?

Thanks.. Tom.. :slight_smile:

TomGeorge:
Hi,Pulse what?

Exaclty, so how do you control the controller.

I think you have it in your head that you have to switch the positive side of the valve to control it, you don't have too.

You connect the positive side of the valve directly to positive supply, then control the controller that switches negative side of the valve to gnd.

Can you post a picture of the valve and controller please?

Can you please tell us your electronics, programming, Arduino, hardware experience?

Thanks.. Tom.. :slight_smile:

Hexen:
I wired up the power directly to the valve I'm controlling, and passed the ground through the relay (this is how the valve is setup in its original form, with a driver pulsing the ground.

In my original post I said I'm feeding power directly to the valve and having the ground pulsed.

I don't understand why this is so complicated. I just need a DC relay that operates faster than a mechanical one. I tried searching before but every single post was full of people who wanted to make this so insanely complicated that a clear answer was never given.

I AM NOT IN ANY WAY GOING TO EVER USE ANY PART OF THE ORIGINAL CONTROLLER WITH THE VALVES. PLEASE UNDERSTAND THAT I AM TRYING TO SIMPLY PULSE A VALVE WITH AN ARDUINO. PLEASE STOP ASKING ABOUT THE ORIGINAL CONTROLLER.

The original controller is $25,000 unit designed to control MANY MANY input/outputs at once. The valve I'm trying to control is a small part of the equation. I want ZERO affiliation with the original controller in any way.

The valve is an industrial cooling valve. No part numbers. No data sheets. No manufacturer stamp. Its a 14 ohm coil that operates under 12v in most circumstances.