Driving 12vDC Solenoids

I've been searching and reading about various circuits to drive solenoids, but still have a couple questions.

The solenoids I want to drive are on a vehicle, so 12vDC (~14v with engine running). They are rated at 1.6 amps, but obviously the driving circuit should be oversized. Also, I want to drive them with a PWM signal. These solenoids control a hydraulic valve that will steer the vehicle, so only one will be on at a time.

Initially I wanted to use some solid state relays, but it appears they don't do switching fast enough for PWM to really work right.

I have since started looking into the transistor circuits, such as:

Using a common ground between the arduino circuit and the solenoids is fine for this application.

I see that the TIP120 (rated at 5A) should be sufficient for the load I have, but will need to have a decent heat sink attached to it.

What I'm curious about is the protection diode - how many amps does that need to be rated at?

-Lance

What makes you think driving magnetic valves with PWM is a good thing ?

Because that is exactly what they are designed for. It is a proportional hydraulic valve, so the stronger the magnetic field, the more open the valve is, and the more oil it flows.

That piece of information is vital.

how many amps does that need to be rated at?

I would use one that was at least twice the rating of the coil.

As it is only pulse current rating that needs to be this big a diode with a smaller continuous current rating could be used, see the data sheet of the diode you want to use.

Initially I wanted to use some solid state relays, but it appears they don't do switching fast enough for PWM to really work right.

Huh? I thought solid state relays switch mush faster than magnetic relays.

I thought solid state relays switch mush faster than magnetic relays

They are but we are not talking about a magnetic relay here, we are talking of a magnetic solenoid that proportionally opens with varying voltages.

I'm using a TIP120 w/ a 1N4001 diode to drive the pwm idle valve on my car. I'm also using an IRLZ44 to drive the purge control solenoid, with a 1N4002 diode. This is commonly used for boost control solenoids:

http://www.msextra.com/manuals/MS_Extra_Hardware_Manual_files/boostoutput.jpg

Both components are mounted on a heatsink, but since neither run at 100% dc they don't get terribly hot. In fact, the TIP120 isn't actually mounted on a heatsink right now....

Thanks for the insight, guys. I connected the solenoid up to a test circuit today, controlled by a TIP120, with a 1N4004 parallel to the solenoid. After a minute of use, the TIP120 was warm to the touch (no heat sink), and the diode was still room temp. At 100% PWM duty cycle, I was seeing 1 volt of drop across the TIP120. At ~1.5 amps, it was creating 1.5 watts of heat.

I plan to replace the TIP120 with a FDP6030BL mosfet, which has a RDSon of 0.018 ohms. I think that should allow me to power the solenoid without a heat sink. At a typical 1.5 amps, the mosfet should produce 0.04 watts of heat. Even at a worse case 5 amp load, it would only have to dissipate 0.45 watts of heat.

I'm having trouble finding a diode with a 5+ amp rating. Any recommendations?

I'm having trouble finding a diode with a 5+ amp rating. Any recommendations?

A 1N4001 has a peak current rating of 30A that should be enough.

Oh, OK. Now I see the note in your first post about it being a pulse current. Must have missed that before. Thanks.