Hacking a metal detector

I purchased a metal detector with the intent of having it "read" by an Uno. The detector is great and I am happy with it.

The cable to the double D coils at the foot has 5 wires: red, black, green , yellow and white. I tapped into all 5 with my 100MHz oscilloscope in every different combination while running the device and passing metal near it by hand. The onboard speaker confirms it is working just fine as I probe each two wire combon with my scope: but I see a clean sine wave (approx. 13KHz) no matter what two wired i tap into with my probe.

The picture on the oscilloscope does not change. I was hoping to see some sort of delta that the Uno could then detect, but the picture on the scope stays the same even though the speaker clearly indicates metal near by when I wave a wrench with my hand.

Any suggestions?

Thank you in advance.

I guess you see small differences between the signals of the different wires when you detect metal. I wouldn't expect to get a signal detectable by the Arduino from these wires. What do you want to read by the UNO? Just the detection of metal. Then try to get a signal from the speaker output or maybe an LED or something similar.

That is what I did originally (a kludge off the audio output). I was hoping for an more elegant way of doing it.

A schematic of the metal detector would help a lot. The reason you did not see the signal change on your scope is it is measuring a phase shift not an amplitude change.

I don't have a schematic. The board has a lot of SMA components though.

SMA to me is semi-precision coaxial RF connectors. SMD is surface mounted devices which is what I think you are talking about. If the audio is fixed you can use a tone detector chip to determine if the signal is on or off.

one coil generates a magnetic field. the other coil senses a magnetic field, and is wired 180 degrees - one half cycle - out of phase with the generated field

these are fed to a summing amp, which adds them together. if you put on the headphones you hear nothing, because the identical 180 degree out of phase coil voltages cancel each other. The Balance control is set to null out any differences.

if the coils pass over a metallic object, that object affects the transmitted magnetic field, and that affects the sensing coil. the received magnetic field is delayed, and you no longer have a balanced input to the summing amp. what you hear is the difference caused by that delay

different materials delay the received magnetic field for different time intervals, measured in degrees of phase variation. this is how the controller in the metal detector can discriminate between different metals

what you need is a 2 or more channel scope that can be triggered by the channel connected to the sending coil. if you trigger from the sending coil, the receiving coil will be 180 degrees out of phase with the sending coil in free air, and out of phase when in proximity to metal.

1 Like

Yeh Gil, I stand corrected: SMD. I looked in eBay for a tone detector and did not come up with much that was practical / affordable with a Uno. Any suggestions? Thank you.

Thank you. I was hoping to have a simpler solution. I have my kluge that works off the speaker but as mentioned it is an indirect kluge.

1 Like

An old part that works great is the LM567. You can search for a module with that chip. Try this search term: arduino module with lm567

Thank you!!

1 Like

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