Best motor type for creating a sense of recoil


I'm creating a shotgun-type controller for virtual reality applications. I am interested in creating a sense of recoil when the trigger is pulled. I understand that it is not possible to get anywhere near the power of actual gun blow back. I simply want to know which motor type (and possible size) to use to be able to create something that just gives a sense of the gun reacting to the firing mechanism.

I have seen som examples of arcade guns using 12v solenoids the simulate this phenomenon. I wondering if there are alternate approaches to do something similar? Other motor types (maybe vibrations units)?

As the controller (shotgun dummy) will be fairly large in relation to arcade handguns, I'm thinking the force will have to be larger in order to even be felt(?).

Any ideas are more than welcome. Thanks.

Wind up a spring.
Release on a trigger pull
YouTube coil gun.
Newtons law of motion apply.

Perhaps a compressed air source (gas bottle), and a solenoid valve that pushes a piston weight within a short cylinder.

A solenoid is made just like a motor with a magnet and a coil so there's probably no advantage to using a regular motor and then converting to linear motion.

But, winding a spring is an interesting idea because you can accumulate and store energy over time and release it all at once.

Compressed air could be great but of course you need a source of compressed air or you'd have to re-fill a tank periodically.

Spring would be the simplest and lightest idea.

Yes, I have also considered a spring but this will require a manual compression, right? I think compressed air is interesting but the setup has to be fairly maintenance free and simple.

Would it be possible to compress the spring with a rotary motion such as when reloading a break action shotgun (e.g. side-by-side or over-under)?

spring could be compressed/streteched by a gear motor.

break action air rifles have been around since I was a child.

What would the firing rate be that needs the feel of recoil?
1 round a second, 10 rounds a second, 100 rounds a second?

Tom.... :grinning: :+1: :coffee: :australia:

The trouble with solenoids is that they usually have a quick 'pull' and a quick 'release'. Using one would create a kind of double-recoil: one forward, and one backward.

You ideally need to pull the recoil weight backwards against a spring smoothly and relatively slowly, so you don't feel in through the gun. Then release it instantaneously so the spring makes the weight fly into the stop, creating the recoil effect.

I would engineer this as follows (although I would need my workshop tools). I would put a spiral ramp on the end of a geared motor, and use that to "prime" the recoil weight. Stop the motor just before the end of the ramp - it is now in the "primed" position. To create the recoil, drive the motor just far enough for the weight to fall off the end of the ramp. I would probably use two position detectors on the spiral ramp so I know when to stop the motor after priming, and after "dropping". Alternatively, just make it prime immediately after dropping the weight, in which case you only need one sensor, at the end of priming.

It might be quite cool to have a motor running as the gun fires - like that one in 'Predator'.


The operating principle, not an engineering drawing! :laughing:

The recoils force is exactly 1/2 the force created by the shotgun cartridge being fired. 1/2 the energy is applied to the shot, 1/2 the energy is applied to the gun.

Yeah I have been thinking of a similar solution. Something like this:

But with the piston and spring reversed and in the stock of the gun instead.

You can also try to look at airsoft guns with blowback. You may be able to find a cheap one and modify it or find some inspiration from them:)

Good luck!

That's exactly what I did :slight_smile: The diagram from the reply I made above actually resemble how airsoft guns create linear force. Thanks!

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.