I've read about how metal detectors work, and what I learnt here on EE.SE and other articles, the main principle is that ferrous metal will increase the inductance of the search coil, while non ferrous metal will decrease it.

Changing the inductance changes the frequency of the oscillation, which you can tell by comparing it to some other frequency such as some internal oscillator.

However I do have a metal detector, and it does not indicate the difference between iron and other metals at all. I read that you can learn to distinguish object by sound. But the sound produced will no longer show in which direction has the search coil shifted, this information is lost since phase shift is only a thing if you are comparing two frequencies, not hearing sound that their difference produces.

Is there a technical challenge to filtering out ferrous/non ferrous metal when detecting metals? I was looking into making a simple detector with arduino and if there's such challenge I'd like to be aware of it.

  • \$\begingroup\$ You might have a pulse induction detector and these types don't discriminate as far as I remember please confirm your tech. \$\endgroup\$ – Andy aka Feb 14 at 13:11
  • \$\begingroup\$ I guess I'll need to read up more on that. If you could answer why pulse induction does not discriminate (from technical perspective) that would basically be answer to my question. \$\endgroup\$ – Tomáš Zato - Reinstate Monica Feb 14 at 13:56

If you could answer why pulse induction does not discriminate (from technical perspective) that would basically be answer to my question.

A pulse induction metal detector uses a single coil and a transmit/receive switch to connect said coil to either a transmit pulse or a receive amplifier. In some respects it’s like radar.

What you get coming back from a metal or conductive target is a kind of reflection and that reflected signal doesn’t carry much in the way of phase information that would otherwise be used to discriminate between ferrous or non ferrous metals.

Another type of detector is called “inductive balance” and it usually uses one transmit coil and two receive coils wound antiphase. When there is nothing to detect, the signals in the receive coils cancel to zero but, because the transmit coil is (usually) a constant sine wave, you can glean phase information from the signal and decide if the phase change corresponds to ferrous or non ferrous metal. There are other variants that offset the balance of the receive coils and apply a threshold detector for discrimination AND another variant pulse the transmit coil but, because it is resonant tuned, the resulting sine wave can Also be used in a phase discrimination circuit to differentiate ferrous and non ferrous metal.

The simplest detector is the BFO type. It stands for best frequency oscillator and uses one coil that is frequency shifted higher or lower in the presence of metal. A high shift represents a reduction in coil inductance due to non ferrous metal being present and vice versa for ferrous.

Regards sensitivity in good ground conditions, the pulse induction is best and is often used by gold diggers in the dry soil or sand in Australia. But, it’s easily swamped by mineralisation in the ground whereas the inductive balance would win because has the best chance of discriminating against this type of terrain.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.