Slowing solenoid action?

Oct 26, 2019 33 Replies

Is it possible, perhaps using PWM, to slow down the action of a solenoid while still maintaining most of its force?



By way of background, I'm considering a solenoid for pressing a rather firm button. The only one I have at present that can do so reliably is a 24V type that delivers its press too fast and too noisily. Lower voltage types (already owned or researched on ebay or Amazon) seem too weak.



I'm recently into Arduino and am also considering the alternative of coding a sketch to do it with a small servo. The downside would be the extra mechanics.



Any other suggestions of applying a firm linear push over 2mm? Reversing it consistently, ready for the next application, is obviously required. Although an intermediate short spring might allow some tolerance.



Terry, East Grinstead, UK


To do that you have to modulate it based on the desired force, against what ever resistance. I would recommend a motor unless you have another reason f or not using one. With a simple solenoid you would probably need positional feedback. Not with a stepper motor.

You could do it with a control loop, but you'd need a linear encoder. Your idea of using a rotary model airplane servo gets my vote--all you need is a little metal arm to do the actual pushing.

Cheers

Phil Hobbs

(on the plane to Austin to visit #2 daughter, formerly known as Beautiful Layout Hunchback)

A little PWM could help a bit, but most solenoids are very nonlinear and have a strong positive-feedback snap effect. You'd have to modulate the PWM just right, to track the armature location open-loop, but that should be possible.

John Larkin Highland Technology, Inc lunatic fringe electronics

Speed, noise; those are mechanical considerations. So you either want a linear motor that's quieter, OR you can use a linkage (lever) to alter the speed/force, and a package to muffle the noise.

Usually, though, one would (for instance) try a solid-state approach for silence, like bypassing the button contacts with an optoisolator output, and driving an LED input to activate the circuit.

Thanks all, appreciate the fast feedback.

Floating another idea: start by applying the full 24V, to get it moving, but quickly reduce it and continue doing so at some fast rate. Say over 100-250 ms. Trial/error featuring heavily!

Not sure about the simplest circuit to crudely test that approach? Presumably power transistor with the solenoid between its collector and +24V, but what to feed its base (via Arduino) to rapidly reduce the load voltage?

Also tentatively considering idea of a small motor spinning a bolt with its threaded nut doing the push/pull. Or some cheap product that uses a motor to push a rod. I expect there must be various applications for that, such as opening a skylight or trapdoor, but not sure about smaller scale.

I have the servo rotor arm working over the angle required, but not yet done any of the fiddly work on transferring that to a simple push.

I have tried that, it didn't work at all well, the solenoid snapped over quickly.

How about a modified loudspeaker? That will move as slow as you like.

Cheers

Clive

Linear ramp-down should improve things. Unfortunately, reversing the drive to a solenois doesn't reverse the force?

Why not a foam pusher or something?

Declining duty cycle PWM.

Or use a stepper motor, smooth and quiet. There are also linear steppers, which is a stepper motor with a lead screw built in.

Ebay has some interesting things.

formatting link

So does Amazon. Search for linear stepper motor maybe.

John Larkin Highland Technology, Inc lunatic fringe electronics

while still

rm button.

delivers

researched

ng a sketch

it

ough an

What the others are saying is that a solenoid is usually a coil, a plunger and a spring. The plunger is held out of the coil by the spring and pulled in by current through the coil. When the current is applied the plunger s tarts moving but is accelerated pretty much the whole time it is moving. T he result is hits the stop pretty hard. I assume you have it hitting the b utton at the end of the stroke when activated, so it is moving pretty smart ly when it hits the button.

You can put something on the end of the plunger to provide some cushioning and let the plunger hit something else as a stop. So the cushion will hit the button before the plunger stops and the cushion will absorb the impact to the button. Felt pads may do well. The stop can even be somewhat flexi ble or have it's own cushion to prevent the bang when the plunger is activa ted.

It just seems like taking the hard route to deal with this electronically. Or are you designing something for a Tesla?

Perhaps the entire idea is overdesigned? They have a single device that wo uld seem to do what you want. It's called a relay, solenoid and switch bui lt into one unit. They generally work well and usually don't make a big no ise, rather gentle taps.

Rick C. - Get 1,000 miles of free Supercharging - Tesla referral code - https://ts.la/richard11209

Put the moving core in a tightly fitting tube,open at on end. When the core starts moving, air has to leak in, slowing the core.

On Oct 26, 2019, Terry Pinnell wrote (in article):

tton. The only one I have at present that can do so reliably is a 24V type that delivers its press too fast and too noisily. Lower voltage types (already owned or researched on ebay or Amazon) seem too weak.

n

What you probably want is what is called "indirect drive", which is that intermediate short spring, but used in a different way. In short, the solenoid compresses the spring until a drive ratchet falls into place. When the solenoid is turned off, the spring then pushes the button. The ratchet is reset somehow.

This approach is old school:

Joe Gwinn

You can do a nice trick:

Use your Arduino to apply the PWM that controls the current in the coil

Then measure the current in the coil, referenced to GND, with an ADC to find the peak to peak ripple

The peak peak current changes amplitude according to the inductance of the coil

Measure this amplitude 100 times per second

The coil inductance is related to the armature position, so now you have a feedback to control the rate of change of the duty cycle of the PWM which is controlled by your ramp

If the armature moves to fast, you will detect a sudden move in inductance change so you can dial down the PWM ramp

You can also just turn the coil on, and monitor the current in the coil. When the armature moves, the back EMF will make a kink in the current so you can reduce the PWM, but that is not closed loop like the previous solution listed above

Cheers

Klaus

In the solution, the PWM duty cycle needs to compensate the measured peak peak current

You can measure the dI/dt, that will be a more direct measurement

mechanically: attach a dashpot.

PWM or a voltage (or current) ramp into the solenoid could work, but the response may not be linear, most solenoids have positive magnetic fedback.

a servo or gear-motor with a cam or crank seems the easiest option but will be less durable than the solenoid.

replace (or parallel) the button with a relay is another option if you can access the inside of the device.

When I tried casting out nines I made a hash of it.

That's called a jackscrew, and is a recognised technique for building linear actuators, but most small stuff seems to be levers and cams

as I understand it most (automotive) central locking systems use rack and pinion actuators instead (but some are pneumatic)

maybe just put a roller (eg ball bearing) on the end of a short servo arm.

When I tried casting out nines I made a hash of it.

A inducter in series with the current to the solenoid ought to slow things down. It may not be feasible if the inductor is too large. How about a RC circuit feedirg the base of a transistor with solenoid connected to the collector ?

Changing the switch to one easier to press is probably the most reasonable solution.

Dan

d while still

firm button.

at delivers

or researched

ding a sketch

g it

though an

but quickly

rial/error

I used to do that

ably power

feed its

simple: drive the solenoid via a resistor to drop the v, and add a lytic ca p. When not energised the cap charges to full v, so the solenoid gets an in itial kick. With a microprocessor you could deliver 100% duty cycle then re duce it to less, no bulky parts.

ts threaded

a rod. I

light or

just bear in mind overshoot could produce destructive forces

one any of

Adding a rubber disc between solenoid armature & switch plus reducing v or duty cycle could both help with noise. Probably not enough. Rubber hardens in time of course, ssome materials like silicone less so.

NT

No solenoid.

Motor, gearbox, eccentric cam. Use motor speed and/or gearing to set operation parameters.

Jeff

On a sunny day (Sun, 27 Oct 2019 08:15:02 +0000) it happened Jeff Layman wrote in :

Piece of rubber between solenoid and button?

Wouldn't an eccentric cam on a motor be easier.

A crude way that might work is a chunky capacitor holding full voltage at the outset initially to get it moving and a lower sustain current through a resistor. Trial and error may be necessary.

Eccentric cam would be my choice.

Regards, Martin Brown

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required