Dither for PWM circuit driving a proportional solenoid

Hi guys,

First of all I’d like to say that I have seen the same or similar questions asked in many forums but nobody has ever come up with a concrete solution or posted anything about the results of trying out the various suggestions given to them. So here I am still trying to figure things out so please help me out. And now to my problem

I am planning to proportionally drive a solenoid of the following specs: 24VDC,1.19A 28.5W resistance 20.2ohms ±5% at 20C

I’m planning to use the arduino to accomplish this. I’m aware of the whole concept of dither which is necessary to avoid stiction in the solenoid valve. As most of you will be aware of, we cannot freely choose the pwm frequency in the arduino but are restricted to a few discrete frequency values of which only 30.5Hz (Pin 3,9,10,11), 61Hz (pin 5,6) and 122Hz (Pin 3,9,10,11) are below 200Hz. I found optimal dither at 122Hz which is okay. ( A tiny part of the project is taken care of)

But I can’t use the the dither signal alone to drive the solenoid due to obvious reasons as it is not possible for the dither signal to form a constant amplitude since the PWM frequency has to be continuously adjusted as a function of the stipulated desired current value and in the process the amplitude and the frequency of the dither will signal change accordingly. In other words i need the dither to be a constant while i’ll still be able to change the average current in the solenoid to manipulate the spool proportionally.

Then I stumbled upon a concept of superimposing the dither ( low frequency signal ) on a high frequency PWM signal.

But i do not know how to do this. Some smart guy by the name of Drazzy suggested in an old arduino forum :“You could put source of a small MOSFET on one pin, and gate on the other…”. If i got him right he means using one MOSFET at a lower frequency to switch another MOSFET at a higher frequency (or the other way around? i’m confused:| ).

I also came across a website that talked about combining PWM outputs. Dual PWM Circuits | Open Music Labs
Is there anyway that i can use this in this application in context?

Either way could someone shed some light on this. will this work practically? what would be the circuit like? Any useful information is welcome. Any other ways to achieve the same are also welcome.

Help a friend and thank you in advance :slight_smile:

That's a long explanation of a problem which may not exist.

Lots of motors and solenoids have stiction. You need to drive them strongly to kick them into motion and then you can reduce the drive to the actual level that you want it to run continuously. So you give it 50% PWM (or whatever you like, based on experiment) for 10-100 milliseconds. Then back off to the PWM level you want.

Just do the experiment to find out how much kick and how long you need to kick it.

If you're trying to drive the solenoid to a specific position, like a linear actuator, then you may need feedback control to measure the position and change the PWM output to drive towards the desired position. This is called PID control. Look it up.

We have discussed constant current drivers for proportional valves a couple of times in this forum.

Below is one such circuit, which uses a control voltage to determine the coil current (in this case, 5V in results in about 450 mA). You could dither the control voltage in a variety of ways.

If you use PID control, you can tune it so the control voltage "automatically" oscillates, but the frequency would be difficult to control.

cc_driver.png

cc_driver.png

Thanks guys, I will try the suggestions and post the results in the days to come