Register location of bullet impact

Hi,

I would like to register the point of impact of a bullet shot by an airgun. Max power is 20 Joules at a minimum of 5 meters and a maximum of 20 meters.

I found a similar topic but that one was closed without a solution.

I prefer not to use impact sensor because the bullet needs to stay in the case without a chance of rebounding causing extra danger. Also, I might damage the sensors because of the power of the impact.

So, I came up with some ideas:

Paper PCB's:
Using a wire grid inside the paper cards to detect broken connections. It is simple, easy to detect and speed is not really an issue. Downside is that 2 shots closely to each other will result in an error. Also, the shot needs to be super clean to avoid shorts in the grid.

Light:
Creating a grid of light/laser and detect the passing of the bullit. Will the Arduino be fast enough to detect both X and Y axis when the bullet passes? Also, with what light source can I create a good resolution? bullet is 4.5mm in diameter.

Sound:

Record the sound of the impact from 4 sides and use the time difference to calculate the location. Should work but not very accurate?

Radar? (how)

Image recoqnition? (how)

oh, the target card is 14x14CM.

Any advice?

a camera looking at the target and identifying where new holes are ?
of course don't shoot the camera :slight_smile:

1 Like

Good one!

Can you point me in the direction of an example/Tuto?

Vibe sensors behind steel plate at the edges. Rigid plate will protect sensors. Compare arrival times of impacts at each sensor vs first sensor hit. Triangulation gives hit location. Pellets won't ricochet if plate is free hanging. Plate protects sensors, hanging cable hides wiring. This is sorta the "sound" approach but its the impact pulse giving a sharp off-the-scale spike.

I don't have one but it should not be too difficult to take a reference picture and compare with a new picture and spot differences in the bitmap

Thanks!

The steel backplate of the bullet catcher is at a slope. will that affect the results?

No.

a long as the geometry is just a constant angle between the target plane and back plane, you have a direct relationship in the ratio to the corners in the (X,Y) coordinate system and (X',Y') back plane one (ie if you are at x% of the bottom left corner in (X,Y) plane along the X axis, then you will be also at x% of the bottom left corner in (X', Y') along the X' axis)

Triangulation should also work with light or radar right? I just read that the arduino is fast enough for it.

thanks.

Means "no".

what's your point?

My view is that you can't do much with "no".

answers here are not only for OP but also for visitors with the same question.

  • visual learners might benefit from a visual representation to clear up their mind
  • mentioning ratio gives a hint on the formula to calculate the position of the hit

so I feel it's more compelling that a dry (even though accurate) "no"

It was a line from Pirates of the Caribbean, you missed the joke ...

I have worked this problem, I think the best solution are microphones or accelerometers at least 4 locations, both sensors pick up the same phenomenon as sound will travel faster through the solid backer board.

I built a system that triggers my Nikon digital SLR to take a picture of the target every time it "hears" one (acoustic mode) or "feels" the impact of a roll bullet on a steel target. It is easy to then see the impact of each shot the process could be automated quite easily using the OpenCV library and Python, on a PC or similar not an arduino. I use the system for 1,000 yard shooting so the chance of a bullet going in the same hole is very limited but that would be a problem for shooting at 200 yards and closer.

I used a XIAO BLE Sense, the onboard IMU and microphone at $15 with Arduino as an IDE made that an amazing match for a system like this, I have some PCB's that the XIAO can be plugged or soldered in and powered with a powerBank. I have found that breadboards and the motion that occurs when the circuit is attached to a chunk of steel that just got hit with a high energy bullet, I just have JLCPCB make a small batch for every iteration. I have used NANO RP**** Connect in the same way as the XIAO. The trigger system can be adapted for SONY and other digital cameras, I like DSLRs as there are amazing DSLR on the used market form under $200.

I don't have the camera protected against getting shot it is about 3 feet from the path of the bullet and it is doubtful that I will be that far off. If you are concerned you can easily protect the camera with sand or steel.

Lol not a reference I have !

One pirate explains he is but a 'simple pirate' and then says: "I'm disinclined to acquiesce to your request." and then explains "Means 'No'."

Thanks but that is way to big for my purpose. I am working with distances of 5 to 15/20M.

MadMark,

I am interested in the vibe sensor solution but I am a bit rusty on my math.

The box is 14x14CM. Sloped backplate as told.

How many vibe sensors should I mount to it? 4? In the middel of all sides?

What will be the output of these sensors and what does that tell me about the distance to the bullet?

Can you help me out a little?

Problem with light is sensor, not speed. grid needs to be same or less spacing as shot dia. So you'll need a BUNCH of highly directional (read lasers) and finickey to aim beams.

Radar's problem is you need two, one for X, another for Y and the RCS (Radar Cross Section) of a pellet is very small and, being round, is a specular reflector (appears as a point). The detection time is very short as well. How are you going to scan the beams in the transit time of a 750 fps pellet?

Vibe or sound sensor directly attached to target plate solves much.

Target backstop should be angled as shown, but detector should be FREE HANGING plate. Being free hanging, it won't ricochet because its free to move instead of resisting the round.

If the plate is firmly mounted, the vibrations you need to detect are severely dampened and detection complicated. If the plate is free hanging the impulse travels to the edges undamped and is stronger and easier to detect. Although the plate will continue to ring for a while, this doesn't mess with the triangulation because you're detecting relative arrival times.

Toward this end, I would poll it at the port level instead of at the digitalRead() level to prevent timing skew.