Home Programs Arduino metal detector with discrimination. One of the simple metal detectors with the Megatron discriminator

Arduino metal detector with discrimination. One of the simple metal detectors with the Megatron discriminator

Its peculiarity is that the device is made in the form of a glove; there is both an electronic part and a search coil. The metal detector was created to search the house for lost small metal items, for example, earrings, rings and other things. However, based on this scheme, you can make a classic metal detector for outdoor work. To manufacture the device, you will need a minimum of materials; the lion's share of tasks is solved by the Arduino microcontroller.

The power of the metal detector is small, but for domestic purposes it is quite enough.


Materials and tools for manufacturing:
- Arduino UNO microcontroller;
- 28 gauge wire (diameter 0.32mm);
- one switch;
- piezo buzzer;
- two 10K resistors;
- one 1.2K resistor;
- two 100n capacitors;
- two 22n capacitors;
- one transistor type BC547;
- 9V battery;
- construction gloves.

You will also need plywood, wood glue, a soldering iron with solder, stranded wire, a breadboard and other little things.

Metal detector manufacturing process:

Step one. Making a coil
To make a reel, you need to cut out the base, the body. The author cuts a coil of plywood on a machine, its diameter is 6 inches. The result is two rings, which are subsequently glued together with wood glue. After drying, the coil is carefully treated with sandpaper so that it is smooth. After the base is made, the wire can be wound onto it. In total, you need to make 30 turns of wire, leaving an end at least 5 inches long for connection. You need to wind the wire tightly, this will ensure high-quality operation of the coil. The coil can be wrapped with electrical tape or tape over the wire for better fixation.





Step two. Assembling the circuit on a breadboard
To make sure that the coil is assembled correctly and the entire system works correctly, it must first be assembled on a breadboard, and only then soldered. The order of connection is not important, the author started with a transistor, then came resistors and capacitors. After this, the “male and female” connectors on the Arduino board were connected.












After this you can connect the coil. Since the wire has a varnish coating, it must be scraped off at the ends with sandpaper or a sharp knife. You need to achieve good contact. The coil is connected using “male and female” connectors. After assembling all the elements into the controller, you can download the firmware and check how everything works in practice.

Step three. Installing firmware and checking the system
Next you need to download the firmware to the controller. You may also need to make some adjustments in the code in order for the metal detector to work correctly. Once the code is uploaded, you can start testing. You need to connect a 9V power source to the system and turn off the switch. If the metal detector is working, you can start soldering all the elements on the board.


Step four. Circuit soldering
Everything is assembled on a piece of PCB, the contacts are soldered together using pieces of wire. If necessary, you can make a special board for the device using etching. You can see in more detail how the circuit is assembled in the photo.





Step five. The final stage of assembly
To secure the board, the author uses a piece of plywood. It should be sized to fit the Arduino controller and printed circuit board. The edges need to be sanded to make them smooth. In order to glue the elements to the plywood, you can use double-sided tape. Glue and any other fastening methods will also work.

A metal detector is a device used to detect the presence of metal in some proximity to that metal detector without touching the metal itself. Such devices are widely used to search for metal objects in the ground, for example, mines, treasures with precious metals, antiques and other things. The non-contact detection process used in the metal detector is explained using the inductive sensing method. The basic concept is that the presence of metal can change the inductance of the inductor (coil). Thus, the electronic filling of the metal detector simply determines the inductance of the coil, which probes the surface under study, and, thanks to a speaker or other interface device, notifies the user about a metal object nearby.



Metal detectors at official points of sale are not as cheap as we would like. But today, thanks to the development of amateur radio technology, you can make a metal detector yourself using Arduino.


Essentially, using Arduino, you can create a simple inductance meter, that is, a device that can be used to measure the unknown inductance of a coil. This project uses a conventional resonant circuit in which a capacitor and inductor are connected in parallel. The natural resonant frequency of an LC circuit changes depending on the presence of metal in the vicinity of the coil. To obtain a signal acceptable for reading from the resonant circuit, the LM339 comparator is used. Since the oscillation from the LC circuit will always be in the form of a sine wave, this project uses a comparator based zero crossing detector to convert the sine wave into square wave frequency pulses so that the Arduino board can measure the period of these pulses, and based on the data obtained, period to notify about the presence of metal near the device. Thanks to the pulseIn() function built into the Arduino IDE, you can measure the time period of a pulse. For example, pulse = pulseIn(11, HIGH, 5000). In this case, the function returns the period of time during which the pulse remained high on line 11. The third parameter is optional; it sets the wait time before the pulse appears on the specified line.


The Arduino-based metal detector circuit is shown below.




double pulse; void setup() ( pinMode(11,INPUT); pinMode(13,OUTPUT); pinMode(8,OUTPUT); ) void loop() ( digitalWrite(13,HIGH); delayMicroseconds(5000); digitalWrite(13,LOW) ; delayMicroseconds(100); pulse = pulseIn(11,HIGH,5000); if(pulse > 920) ( tone(8, 1); delay(3000); noTone(8); )

The information is provided for educational purposes only.
The site administrator is not responsible for the possible consequences of using the information provided.

Fee Arduino can be used in a pulse metal detector ( Pulse Induction Metal Detector (PI)) both as a pulse generator and for processing and displaying results.

You can read more about the operating principles of an analog pulse metal detector.

My pulsed metal detector on Arduino - FoxyPI project

version 1 (FoxyPI v1) (obsolete)
What's new: first version.
GNU General Public License v3.0, available at Github in the repository https://github.com/Dreamy16101976/foxyPIv1.

Prototype testing video:
https://youtu.be/VWCA6jYK5tY

version 2 (FoxyPI v2) (obsolete)

What's new:

  • added averaging of the analyzed coil pulse duration using the "moving average" algorithm ( moving average, M.A.);
  • added the ability to configure the duration of pulses, intervals between them, delay time and the width of the moving average window using the menu, as well as saving settings in EEPROM;
  • added a change in signal tone when the coil pulse duration changes;
  • added dynamic mode of operation of the metal detector;
  • driver modified MOSFET;
  • The “+5 V” and “+12 V” switches are combined, and the free switch is used to control the backlight LCD-screen;
  • LEDs have been added to indicate signal strength.

Sketch source code license:proprietary .


Hex
-file
firmware FoxyPI(version 2.11) for - .
How to flash hex-file to board Arduino, I described.

Field testing and search(03/26/2016) - https://youtu.be/Xk4X6O1646M
Prototype testing(4.01.2016) - https://youtu.be/ikJbqUCbyvw

Metal detector circuit (version 2):

version 3 (FoxyPI v3)

What's new:

  • to determine the signal level, it is not a comparator that is used, as in the previous version, but an ADC Arduino;
  • two search modes - dynamic and static (switching between modes by long pressing the button);
  • signal integration is used to increase stability;
  • emulation of the integrator and high-pass filter is performed;
  • menu items changed;
  • holding the button when turning it on causes you to enter the settings menu;
  • pressing the button starts/stops balancing;
  • two levels of audio and visual indication are used instead of four.

There is no target discrimination in this version.

Metal detector circuit (version 3):

  • elements associated with the use of a comparator are excluded - R5, R6;
  • To increase the gain of the op-amp, the resistor value was changed R3 at 320 kOhm (composed of two resistors with nominal values ​​of 220 kOhm and 100 kOhm);
  • The microcontroller power supply circuit has been changed.

In a metal detector circuit two "lands" isolated from each other - analog (ground icon) and digital (housing icon).

Sketch source code license : proprietary.


Hex
-file
firmware FoxyPI -

Elf-file firmware FoxyPI(version 3.3 dated 04/16/2019, first available firmware version 3.3) for -

How to flash hex-file to board Arduino, I described.


Video of "air" tests in dynamic mode (04/07/2019, version 3.2) - https://youtu.be/HzIiA9ws0Ak
Video of “aerial” and “underground” tests in dynamic mode (04/11/2019, version 3.3) - https://youtu.be/GwRvhjCmOE4
Video of "air" tests in static mode (04/13/2019, version 3.3) - https://youtu.be/1ulevNWBZ9A

Appearance of the electronic unit:


view from above:
1 - LCD-screen
2 - LED
3 - piezodynamic
4 - control button
5 - LCD screen backlight switch
6 - power switch
7 - LEDs indicating signal strength

The metal detector is transported disassembled into three parts - electronics and power units with a handle, a rod, a reel with wire:

Appearance of the assembled metal detector:

Operating a metal detector

Turning on and starting the metal detector

When you turn on the power of the metal detector (switch 6), the countdown first starts:


To navigate between menu items, a short press of the button (4) is required (the green LED lights up), and to select a menu item, a long press of the button (4) is required (the red LED lights up):

To move between parameter values ​​for the selected menu item, a short press of the button (4) is required (the green LED lights up), and to select a parameter value, a long press of the button (4) is required (the red LED lights up):

To exit the menu, select " EXIT":

After the countdown is completed, a message with the device designation and software version number ("FoxyPI v3.x"), a logo is displayed on the display (1), and a sound signal with a changing tone sounds from the piezo speaker (3), corresponding to different signal levels and accompanied by blinking LEDs :

Detecting targets using a metal detector

Then, if no menu entry is selected, the current device settings are displayed:

L - pulse duration (μs, us)
R - pulse repetition rate (pulse/s, pps)
I - integrator coefficient
F - filter coefficient
S - sound (on/off, ON /OFF )

Then balancing is performed ( zeroing) in static mode:

The metal detector operates in two modes:

  • static mode (static/non-motion mode) (default) - the signal level is taken into account, does not require constant movement of the coil (can be used to clarify the location of the target ( pinpointing), and as the main search mode);
  • dynamic mode(dynamic/motion mode) - the dynamics of signal changes is taken into account; during the search process, the coil must be move above the ground surface

When balancing it is advisable move coil (similar to the actions when searching - this is especially important when balancing in dynamic mode). Auto balancing is required over a clean area of ​​soil(not over the target) and does not contain minerals. You can read about the interfering influence of soil on a pulsed metal detector.

It is important to try to move ( sweep) coil parallel to the surface of the earth, otherwise due to the influence of the Earth's magnetic field some voltage will be induced on the coil ( EFE -earth field effect), which can cause false signals: even just moving the coil above the ground:

If the search coil is moved incorrectly, the magnetic flux $\Phi$ through it changes:

This is explained by the fact that the magnetic flux is determined by the expression:
$\Phi = (B\, S\, sin\, \alpha)$, where $B$ is the induction of the Earth's magnetic field, $S$ is the cross-sectional area of ​​the coil, $\alpha$ is the angle between the plane of the coil and the direction of the field lines Earth's magnetic field.
In the above figure, in the first position of the coil, the magnetic flux is zero, and when moving it acquires a non-zero value. Due to a change in the magnetic flux through the coil, according to the law of electromagnetic induction, an EMF is induced in it, which distorts the received signal.

Inaccurate movement of the coil increases the signal level by 4000...5000, and vigorous movement of the coil from horizontal to vertical position - by 15000...20000.

During the auto-balancing process, the optimal initial delay and duration of the analyzed signal are set, and the dynamics of the signal (in dynamic mode) or the signal level (in static mode) are assessed, while updating the “zero” level is accompanied by a short sound signal. When updating is stopped, balancing can be stopped by pressing button (4). You can also start/stop balancing during operation by pressing button (4). After auto-balancing is completed, a short sound signal is given and the “zero” value (maximum, in conventional units) is displayed.

After this, the main operating cycle of the metal detector starts, and the current mode is displayed on the screen ( MODE ) detector operation, ZERO - the value of the “zero” level specified during balancing (for static mode, typical values 120 000 - 125 000 , when the pulse duration changes from 150 to 250 μs, it changes slightly), and RX - starting and ending points (range) of the analyzed signal (typical values ​​- 16...43, , when the pulse duration changes from 150 to 250 μs, they change slightly) for a pulse duration of 150 μs) (switching between modes is performed by long pressing the button (4)):

Signs of trouble(zero level/range)

  • break in the coil - 12250 / 3...4 or 23000 / 2...4
  • non-inductive coil (replacement with a 10 Ohm resistor) - 23000 / 0...2 or 1...3

An example of the spread of initial “zero” levels:

111289 111701 111762 111819 112029
111907 112067 111871 111827 111625

When a metal “target” object is detected, a sound signal of changing tone sounds and the green LED (2), as well as the green or red LEDs (7), light up. The nature of the audiovisual indication changes in accordance with the dynamics (in dynamic mode) or level (in static mode) of the recorded RX-impulse:

LEDs Static mode Dynamic mode
no target no target
weak signal level signal level decreases
average signal level signal level increases
strong signal level -

Electronic devices operating nearby may interfere with the operation of the metal detector:

interference from LCD-TV (felt at a distance of up to a meter):

Interference from CFLs (felt near the lamp):

Interference from the magnetic field of a transformer connected to the network manifests itself in the form of a trill - very frequent operations:

During operation, the device must be located at a distance from working televisions, computers, power transformers, CFLs!

Setting up a metal detector

If, when turning on, you hold down the button (4) until the countdown begins, you then enter a menu that allows you to change the settings of the metal detector.

Menu structure (default settings are highlighted):

  • PULSE LEN- pulse length (100/ 150 /200/250 us)
  • PULSE FREQ- pulse repetition rate (10/20/30/40/50/60/70/ 80 /90/100 pps)
  • INTEGRATOR K- integrator coefficient (5/ 10 /20/30/40/50)
  • FILTER K- filter coefficient (10/20/30/40/50/60/70/ 80 /90/100/110/120/130/140/150/160/170/180 /190/200)
  • SOUND- sound ( ON/OFF)
  • EXIT- exit the menu

A short press on the button (4) goes to the next menu item, and a long press goes to the values ​​of the selected setting.
A short press will move to the next possible value, and a long press will save the current value and go to the top level of the menu (to the list of settings).

After selection EXIT exits the menu and saves the settings in EEPROM.

Metal detector testing

To test the metal detector during assembly, you can load Arduino test firmware (for version 3):

Hex-file test firmware FoxyPI -

Elf-file test firmware FoxyPI(version 3.T dated 04/24/2019) for -

In test mode, after switching on, the metal detector generates a current pulse with a duration of 150 μs in the search coil, and then registers and displays the received signal on the screen. When the button is pressed, a new pulse is generated, etc.

Examples of signals:
1 - without a target, 2 - with a target:

Metal detector tests

I conduct metal detector tests on a cleared earthen area:

Targets

Various targets are used for testing:


1 - aluminum plate from a hard drive (thickness 1.3 mm, outer diameter 3.75 inches, hole diameter 1 inch)
2 - Russian coin of 5 rubles made of cupronickel-clad copper (diameter 25 mm, weight 6.45 grams)
3 - gold ring

Target detection ranges "in the air":

It is curious that when two plates (targets 1) are superimposed on each other, the detection range is decreasing!

As the battery voltage decreases, the detection range decreases noticeably:
In foreign metal detectors, the UK 10 pence coin is often used as a test target - 10p with a diameter of 24.5 mm, which was previously (until January 2012) made of copper-nickel alloy (copper 75%, nickel 25%):
An analogue of such a coin is the US 25 cent coin. - 25 US cent ( U.S. quarter) diameter 24.26 mm thickness 1.75 mm weighing 5.67 grams:
The declared detection depth of such coins for various metal detectors ( max. depth for a US quarter):
Altai Treasure Seeker 2 hobby metal detector- 15 cm;
Prestige Metal Detector- 16 cm;
Supereye S3000 Metal Detector- 18 cm;
EE Treasure Hunter- 20 cm.

Detection ranges of massive targets in static mode:

Products made of powdered iron and many ferrite parts (1) are not detected by the metal detector, but some ferrite products (2) are detected inside the coil at a distance of several cm from the winding:

When the ferrite magnet moves quickly inside the coil, false alarms occur:

The result of the first search in the garden with FoxyPI v3.3 (04/21/2019):

The result of the second search in the garden with FoxyPI v3.3 (04/27/2019):

And here are more finds, but after electrolytic purification (more on that below):

You can read about some interesting finds.

Cleaning finds from rust

The finds found are often covered with a layer of rust (iron oxide Fe 2 O 3).
Several methods can be used to clean rust from finds:

chemical method- the use of a chemical that converts rust into an easily removable (loose) state:

  • oxalic acid;
  • orthophosphoric acid.

electrolytic method - most effective, used to remove dirt and corrosion products, including in archaeology:

Two cleaning modes are possible - anodic(the object being cleaned is an anode, cleaning is carried out by oxygen bubbles) and cathode(the object being cleaned is the cathode, and the cleaning effect is provided by hydrogen bubbles, which are released twice as much as oxygen during the anodic process - a similar process is used to produce hydrogen)

Below I will describe the cathodic cleaning method I use.

A plastic or glass (non-corrosion) container is filled:
2% (according to other sources, 5 - 10%) aqueous solution of alkali - caustic soda NaOH;
an aqueous solution of soda ash Na 2 CO 3(1 tablespoon per three liters of water, but I use a more saturated solution):

One electrode (anode) is a plate made of steel, including stainless steel, sheet iron, aluminum or brass; sometimes carbon electrodes are also used. I use stainless steel:

Note.
A stainless steel anode releases toxic substances, brass promotes the release of copper at the cathode, and an aluminum anode wears out quickly.

The anode and cathode are lowered into the solution, the “+” of the power source is connected to the anode, and the “-” is connected to the part to be cleaned (I wrap the item to be cleaned with copper wire). The process of electrolysis of water begins, accompanied by the release of gas bubbles and the formation of rust flakes (at the cathode - the object being cleaned - hydrogen bubbles are released that destroy rust: 4H 2 0 + 4e - = 4OH + 2H 2).

There is also an alternative description of the reaction during cathodic cleaning:
4H + + 4e - = 2H 2 (but in this case an acidic environment is required to form a sufficient number of hydrogen ions).

During the process, rust begins to accumulate near the anode:

At the end of the process, the entire container is filled with rust particles:

Rust covers the anode during the electrolysis process:

Litmus paper immersed in a solution shows the reaction to an alkaline environment:

After the cleaning process is completed, the part being cleaned is covered with a loose layer of contamination, which is removed with a metal brush:

After electrolytic cleaning, the find looks like this:

Oscillograms

Using a laboratory bench as a digital oscilloscope, I took a series of oscillograms:

laboratory stand -

search coil voltage -

Metal detector device

Design

Barbell

For the metal detector rod, I used a PVC pipe with a diameter of 25 mm and a wall thickness of 1.6 mm ( PN16):

Lever

The metal detector handle is attached to the pipe on which the electronic unit and power supply are mounted using a compression fitting:

The electronic unit

I used a junction box as the housing for the electronic unit of the metal detector. Tyco with degree of protection IP55(from water and dust) made of PVC with ten inputs with a diameter of 30 mm.

View inside the electronic unit:


The electronic unit is fixed to the PVC pipe using U-shaped holders, which are fixed with nylon ties:

power unit

I use a distribution box to place the batteries. The power supply is secured to the PVC pipe using U-shaped holders, which are fixed with nylon ties.

Electronics

Microcontroller
I'm using a board Arduino Nano 3.0.

Version 3 is based on 8-bit AVR microcontroller ATmega328P(32 kBytes Flash, 2 kByte SRAM, 1 kByte EEPROM, 3 timers) (2nd version - on ATmega168), and the letter " P"denotes" picoPower".

Arduino pins:

conclusion Arduino appointment
D08 coil pulse generator signal output
D13 LED output
D11 output for connecting a piezo speaker
A00 ADC input - for limited and amplified signal from the search coil
A01 output for connecting green LED
A02 output for connecting a red LED
D02 button connection input
REF reference voltage input for ADC

Arduino resources:

To pair with USB-port on my board Arduino converter chip is used CH340G.

Power supplies

Microcontroller power supply

For food Arduino I use two lithium-ion batteries connected in series UltraFire ZX 18650 capacity 4200 mAh each:

The open circuit voltage of such a fully charged battery is 4.21 V, and at a load of 10 Ohms after 1 minute of operation it is 3.61 V.

The nominal voltage of such a battery is 7.4 V.

7.4V battery voltage is converted to 5V to power the board Arduino by using integral stabilizer 78L05(indicated in the diagram VR1):

Power supply

I use 10 size alkaline batteries as the power supply for the power section. A.A. (LR6).

I've rated some of the batteries I've used:

Battery Type No-load voltage, V Voltage
under load
(after 1 minute of operation), V
Camelion Plus Alkaline 1
... ... (10 ohms)

... ... (10 ohms)
Duracell Duralock (Alkaline) 2
1,54 1.47 (10 ohms)
Ermak (alkaline)
1,62 1.43 (10 ohms)
Energizer Max (Alkaline) 3
1,62 1,51 (10 ohms)
Energy(alkaline)
1,62 1.48 (10 ohms)

1 - nominal capacity is 2700 mAh (with continuous discharge up to 0.8 V with a current of 25 mA)
2 - technology allows you to retain charge during storage for up to 10 years,
The batteries have the inscription " ":

1 - batteries Duracell, produced using technology
2 - regular batteries Duracell
3 - according to the manufacturer:
rated internal resistance ( Nominal IR) - 150...300 mOhm;
diagram of capacitance versus discharge current:

To accommodate size batteries A.A. I use a 10 cell battery compartment:

The nominal voltage of such a battery is 15 V.

Coil L2 Designed to reduce interference caused by search coil current pulses. Diode VD3 Bypasses the battery for negative voltage surges that occur across the search coil inductance and protects against reverse battery polarity. Capacitor C1 large capacity is an energy storage device - plays an important role in generating current pulses in the coil.

To connect power supplies, use a four-pin connector on the side of the electronic unit housing:

1 - "+" batteries 15 V
2 - "-" batteries 15 V
3 - "-" batteries 7.4 V
4 - "+" batteries 7.4 V

Coil

Coil parameters

A search coil with an average diameter of $D$ = 25 cm (average radius $R$ = 12.5 cm) and a coil section radius of $a$ = 0.29 cm contains $w$ = 27 turns of enameled copper (resistivity $\rho $ = 0.0175 Ohm mm 2 /m) wires with a diameter of $d$ = 0.7 mm (wire radius $r$ = 0.35 mm, wire cross-sectional area $S$ = 0.385 mm 2):

The estimated coil resistance was $R = (\rho ((\pi D w) \over (S)))$ = 0.964 Ohm, and the measured one was $R$ = 1.3 Ohm:

There are several formulas for calculating the inductance of such a coil.

approximate formula:

$L = ((w^2)((\mu)_0)R[(ln(((8R) \over a)))-2])$ ,

where $a$ is the radius of the coil section.

This formula is given in the book [ F. W. Grover, Inductance Calculations: Working Formulas and Tables, New York: Dover, 1946].

For my reel:
$L$ = 440 µH .

more accurate formula:

$L = (((\mu)_0) \over (4 \pi)) (w^2) D \Phi $, where $\Phi$ is an auxiliary coefficient:
$\Phi = (2 \pi [((1 + (((\gamma)^2) \over 2))) (ln ((4 \over \gamma))) - 1.75 + (((\gamma ) ^2) \over 6) ] ) $, where $\gamma = (a \over D)$, $a$ is the radius of the coil section

This formula is used in the plugin multiloop for the program Coil32(http://coil32.net/multi-winding-round-loop.html) to calculate the inductance of a multi-turn round coil with a circular cross-section (eng. multi-winding round loop with round cross-section).

For my reel:
$\gamma$ = 0.0116;
$\Phi$ = 25.7;
$L$ = 468 µH .

integral formula:

$L = ((\mu)_0) (w^2) (\pi) R ((\int_0^(1-(a \over R))) B_(rel)((\rho)) (\rho) \, (d(\rho)) ) $,

where $B_(rel)((\rho)) = ( (1 \over \pi) (\int_0^(\pi)) ((1 - ((\rho) cos (\phi) )) \over (( (1+((\rho)^2)-2(\rho)cos(\phi)))^(3 \over 2))) \, d(\phi) )$ - relative magnetic induction in the plane of the coil on distance $(\rho) \over R$ compared to the induction at the center of the coil, $a$ is the cross-sectional radius of the coil

Magnetic field of the coil

When current $I$ flows through such a coil at a point on the coil axis located at a distance $z$ from the coil plane, a magnetic field is created, the strength of which is determined by the well-known expression:

$H = (w (I \over 2) ((R^2) \over (((R^2 + z^2))^(3 \over 2))))$

If we take the internal resistance of one battery as 0.3 Ohm, the emf as 1.45 V, then for ten batteries the total emf $E$ will be 14.5 V, and the total resistance $R$ of the circuit, taking into account the resistance of the search coil 1 Ohm, will be 4 Ohm. Taking the inductance of the coil equal to 450 μH, we find that for a pulse duration of $T$ equal to 150 μs, the current in the coil will reach the value $(E \over R) (1 - e^(-(T R)\over L)) = 2.7 A$.

Coil design

To protect the coil, you can use a corrugated hose for electrical wiring (usually gray) which is cut along:

A coil is inserted into it, and then it is held together with insulating tape. The coil is secured in the mounting box using hot melt adhesive and nylon ties.
The coil is secured to the rod using a compression fitting, the threaded part of which is screwed into a polypropylene tube with a diameter of 26 mm, fixed to the cover of the installation box using a nylon tie and hot glue:

To connect the coil, use a two-pin connector on the side of the case:

Generator
I use a digital output to output pulses D08, setting it as "output" (digital output D08 matches the output PB0 microcontroller ATmega) .
To speed things up I don't use the command digitalWrite, and direct recording to the port, which is approximately faster 10 times!

Correspondence between Arduino digital pins and ATmega port pins

digital output Arduino port pin ATmega
D00 PD0
D01 PD1
D02 PD2
D03 PD3
D04 PD4
D05 PD5
D06 PD6
D07 PD7
D08 PB0
D09 PB1
D10 PB2
D11 PB3
D12 PB4
D13 PB5

The generator's timing parameters are set through the settings menu when the device is turned on.

Power part

Since the voltage is MOSFET-e increases sharply when it is turned off (due to the inductance of the coil), then the transistor can go into avalanche breakdown mode (“ avalanche breakdown"). This occurs if the drain-source voltage $V_(DS)$ is at MOSFET-e exceeds its breakdown voltage $V_(DS (BR))$.
For modern transistors, operation in this mode is standard (they are marked as " Repetitive Avalanche Rated" or " 100% AVALANCE TESTED"). In this case, it is important to take into account such avalanche characteristics of the transistor as the maximum repeating avalanche current $I_(AR)$ and the maximum repeating avalanche breakdown energy $E_(AR)$.
It is necessary that the maximum current in the coil before switching off does not exceed the value $I_(AR)$, and the maximum energy stored in the coil does not exceed the value $E_(AR)$. The energy of the magnetic field of the coil is defined as $(E_M) = (((L (I^2)) \over (2)))$ (for example, for a coil with an inductance of $L$ = 700 μH with a current of $I$ = 3 A energy will be 3.2 mJ).

Parameters of some MOSFET:

Name $V_(DS (BR))$, V $I_(AR)$, A $E_(AR)$, mJ
IRF540 100 28 15
IRF740 400 10 13
IRF840 500 8 13
FQP12N60C 600 12 22,5

I use MOSFET IRF840, having the suitable characteristics:

Tsokolevka IRF840:

G- shutter, D- stock, S- source

During an avalanche breakdown of the transistor, the damped coil current passes through the drain-source section MOSFET-a - power battery”, which has low resistance, which leads to a slower attenuation of the current.

MOSFET driver

Control MOSFET carried out using an optocoupler PC817C(has a speed of 3...4 μs, withstands an output current of 50 mA and a voltage in the closed state of up to 35 V) and a discrete transistor circuit:

pinout PC817:

pinout BC547/BC557:

C- collector, B- base, E- emitter

A similar driver is described in the article http://radiohlam.ru/raznoe/driver_polevikov.htm.

I examined the characteristics of such a driver (when a 5 V voltage is applied to the optodriver LED through a 470 Ohm resistor):
current consumption in the “on” state ( MOSFET open) is very small, in "off" ( MOSFET closed) - changes from 5.8 to 12 mA as the supply voltage increases from 7 to 15 V; The driver output voltage is 12.15 / 1.83 V (on/off) with a supply voltage of 13 V.

Detector

The operation of a pulsed metal detector is based on the principle of electromagnetic induction - Electromagnetic Pulse Induction (EMI).

Detector diagram of my metal detector:

The signal from the search coil $L1$ is supplied through the current-limiting resistor $R2$ to diodes $VD1$ and connected in back-to-back parallel mode. $VD2$, limiting the signal value to ~ 1 V. This limitation does not introduce a noticeable error, since for detecting the “target” the “tail” of the signal is important, the voltage on which is small fractions of a volt (up to millivolts) - confirmed by modeling:

Such a weak signal needs to be amplified for reliable detection, for which I used an operational amplifier $OP1$ LM358N, connected according to a traditional non-inverting amplifier circuit. The gain is determined by the expression $1+ (R3 \over R4)$, with the indicated values ​​of the elements it is 570 .

Feature of the op amp LMx58 is the possibility of unipolar power supply ( single supply) - unlike, for example, LM318, LF356, LF357 no negative voltage source required.
Tsokolevka LM358N (N - V DIP-body):

Type of signal at the op-amp output:

To process the signal from the search coil I use a built-in microcontroller ATmega analog-to-digital converter.

To the reference input of the ADC VREF reference voltage is applied u ref, equal to 1.235 V, which is taken from the reference source LM385Z-1.2(the ADC operating mode is used EXTERNAL).
Tsokolevka LM385Z:

To the signal input of the ADC ADC In the operational amplifier-amplified signal voltage from the search coil is supplied, limited by diodes VD1 And VD2. The ADC samples the signal from the coil as a sequence of numbers ( fast-time signal) with values ​​0 (minimum level, 0 V)...1023 (maximum level u ref).

The presence of a target near the coil is manifested as follows:
(1023 - signal level corresponding to ADC overload)

  • point offset A right;
  • increasing interval A-B;
  • upward shift of the curve.

Compare this signal graph with the one above:

To determine the presence of a target, the sum ( slow-time signal) a given number of sampled signal levels located at equal intervals from each other, in a time “window” ( evaluation window). In this case, the values ​​located earlier than the starting point specified during balancing are not taken into account (to increase sensitivity).


Then the sequence of resulting total values ​​is integrated (the integrator is emulated in software). The filter parameter is the coefficient $K$, which is equal to the number of pulses per integrator time constant.
The signal level at the integrator output is analyzed in the static operating mode of the metal detector.

When the metal detector is operating in dynamic mode, the integration results additionally pass through a high-pass filter ( high-pass filter, HPF), which is emulated in software. The filter parameter is the coefficient $K$, which shows how many times the pulse repetition frequency is greater than the filter cutoff frequency.
The output of the filter produces a signal characterizing the dynamics of change RX-signal.

When the output signal exceeds the threshold - the “zero” level specified during balancing, a trigger is activated - the target is considered detected and an audiovisual indication is implemented.

Sound indication

I use a piezoelectric element from an autonomous fire detector for sound indication. The sound volume of the piezoelectric element depends in a very bizarre way on the frequency of the signal. I was able to find a set of frequencies 900 (weakest signal) - 1000 - 1100 (strongest signal), for which the sound volume increases. To control the sound of the piezoelectric element connected to pin 11 of the board, I use Arduino timer 2.

Silent mode (LED indication only) can be activated through the settings menu when the device is turned on.

Visual indication

For indication I use LCD- display from a mobile phone :

The display for this phone is monochrome with a resolution of 84×48:


Display controller - Philips PCD8544.
Display connection:

Display output Conclusion Arduino Display pin assignment
RST D10 display controller reset
CE (or CS) D09 Allowing data input to the display controller
DC D05 input mode - data/commands
Din D04 bus data SPI
CLK (or SCLK) D03 bus commands SPI
VCC * supply voltage (2.7 ... 3.3 V)
B.L. ** backlight
GND GND "Earth"

There are two display options LCD 5110- with blue (this is exactly what I use) or red textolite:

* controller supply voltage -
blue - strictly 3.3 V(can be connected to the output 3V3 Arduino)
red- according to some unverified According to information, it can withstand a supply voltage of 5 V (can be powered from the pins 5V or 3V3 Arduino)
** backlight supply voltage -
blue- the backlight pin can be supplied with 3.3 or 5 V voltage
red- ground is connected to the backlight pin (?)

The problem with such a display is the unreliable contact of the LCD panel with the printed circuit board via a connector ZEBRA, which can be eliminated, for example, by soldering a conductor that presses the panel to the board - as recommended:

If this problem is not corrected, it will cause the screen to go black, requiring reinitialization.

To work with such a display in Arduino I'm using the library Adafruit-PCD8544 from Adafruit Industries.

Switch (5) controls the screen backlight. In good ambient lighting, the display backlight can be omitted, as it consumes noticeable power.

Target discrimination

Eddy currents are attenuated due to the presence of electrical resistance at the “target”. This decay is described by the exponential law $i = k H_0 (e^( (-t) \over \tau))$. The coefficient $k$ is determined by the shape and size of the “target”. The time constant $\tau = (L G) = (L \over R)$, which determines the duration of the flow of eddy currents, is determined by the electrical conductivity of the target material $G$ (or resistance $R$) and its inductance $L$.
In the table I have given the relative electrical conductivity of various materials in relation to gold:

Eddy currents are used to study the properties of materials by measuring electrical conductivity because materials have unique conductivity values ​​depending on their composition and manufacturing method. The conductivity value of chemically pure copper at a temperature of 20 ºC is used as a standard - standard International Annealed Copper Standard (IACS) - resistivity 1.7241x10 -8 Ohm m or 5.8001x10 7 S/m (100% IACS). Iron, for example, has a conductivity value equal to 18% of the conductivity of copper.

As stated (for example, in an article by a researcher Reg Sniff), targets made of gold or thin foil have a very short time constant and eddy currents in them quickly decay, unlike targets made of iron, copper or silver.

The initial magnetic field strength $H_0$ is determined by the initial current in the coil and decreases according to the cubic law $1 \over (h^3)$ with distance from the coil. The magnitude of the magnetic field strength $H_0$ along the axis of the coil at a distance $z$ from its center, created by the current $I_0$, is determined by the expression: $(H_0) = ( (w (R^2) (I_0)) \over (2 ( (((R^2)+(z^2)))^(3 \over 2) ) ) )$.

Eddy currents create their own decaying magnetic field, which induces an exponentially decaying (with the same time constant $\tau$) voltage in the search coil. The magnitude of this voltage decreases as the sixth power of the distance $1 \over (h^6)$ as the “target” moves away from the coil. This leads to a lengthening of the voltage pulse on the search coil, which is recorded by the metal detector.

Additional analysis of the signal curve (voltage across the search coil) can be performed to discriminate (select different types) of targets.The slope of the curve at its beginning can be estimated by the ratio $K = ((x_t) \over (x_(t+(\Delta)t)))$ of sample values ​​separated, for example, by five intervals ($(\Delta)t=5$) . In this case, the time constant is determined by the expression: $(\tau) = (((\Delta)t) \over (ln K))$

To study eddy currents, software packages for modeling electromagnetic processes can be used. An example is the simulation of an electromagnetic brake using eddy currents in the COMSOL Multiphysics package (description - https://www.comsol.com/blogs/simulating-eddy-current-brakes/):

There are negative opinions regarding the possibility of effective discrimination for pulsed metal detectors.

"The most reliable discriminator is you, by digging the target!" (http://www.gold-prospecting-wa.com) - "The most reliable discriminator is you when digging up a target".

In the book " " authors Ahmet S. Turk, Koksal A. Hocaoglu, Alexey A. Vertiy

The following statements are given:


"The most important disadvantage of pulsed metal detectors is the inability to easily discriminate between different types of metals. ... If the size and depth of the detected metal objects are different and unknown, then in general impossible determine the type of metal."

As an example of a pulsed metal detector for which the ability to discriminate (ferromagnetic ( FERROUS)/non-ferromagnetic ( N-FERROUS) materials), you can give a model PULSE STAR II.
Features of discrimination in such a detector:

  • only possible for targets with a diameter of at least 10 cm (unlike VLF/TR-detectors that have the ability to discriminate even for small objects);
  • smaller objects are displayed as ferromagnetic;
  • Several small non-ferromagnetic objects appear as one large ferromagnetic object.

My article on Habré about the use of a neural network for discrimination in a pulsed metal detector - https://habr.com/ru/post/435884/

Work on the project continues

It was developed on the basis of the already known device "Terminator Pro". Its main advantage is high-quality discrimination, as well as low current consumption. Also, assembling the device will not be expensive, and it can work on any type of soil.

Here are brief characteristics of the device
According to the principle of operation, the metal detector is also pulse-balanced.
The operating frequency is 8-15 kHz.

As for the discrimination mode, it uses two-tone voice acting. When iron is detected, the device emits a low tone, and if non-ferrous metal is detected, the tone will be high.

The device is powered from a 9-12V source.

There is also the ability to adjust sensitivity and there is manual ground adjustment.

Well, now about the main thing, about the detection depth of the metal detector. The device is capable of detecting coins with a diameter of 25 mm at a distance of 35 cm in the air. A gold ring can be caught at a distance of 30 cm. The device detects a helmet at a distance of about 1 meter. The maximum detection depth is 150 cm. As for consumption, without sound it is about 35 mA.

Materials and tools for assembly:

- mini drill (the author has a homemade one from a motor);
- wire for winding the coil;
- four-core shielded cable;
- soldering iron with solder;
- materials for the manufacture of the body;
- printed circuit board;
- all the necessary radio components and their ratings can be seen in the photo of the diagram.


Metal detector manufacturing process:

Step one. Board manufacturing
The board is made by etching. Next, you can drill holes, their diameter is 0.8 mm. For these purposes, the author uses a small motor with a drill installed.






Step two. Board assembly
Assembly must begin by soldering the jumpers. After this, you can install panels under the microcircuits and solder other elements. For quality assembly, it is very important to have a tester that can measure the capacitance of capacitors. Since the device uses two identical amplification channels, the gain along them should be as close as possible to the same value, that is, be the same. Both channels of the same cascade must have the same readings when measured by the tester.

You can see what the already assembled circuit looks like in the photo. The author did not install a unit that determines the degree of battery discharge.








After assembly, the board must be checked with a tester. You need to connect power to it and check all strategically important inputs and outputs. Everywhere the power supply must be exactly the same as in the diagram.

Step three. Assembling the coil
The DD sensor is assembled according to the same principle as for all similar balancers. The transmitting coil is designated by the letters TX, and the receiving coil by RX. In total, you need to make 30 turns of wire folded in half. The wire used is enameled, with a diameter of 0.4 mm. Both the receiving and transmitting coils are formed by double wires, resulting in four wires at the output. Next, the tester needs to determine the arms of the windings and connect the beginning of one arm to the end of the other, as a result, the middle terminal of the coil is formed.

To fix the coil after winding, you need to wrap it well with thread and then soak it with varnish. After the varnish has dried, the coils are wrapped with electrical tape.

Subsequently, a screen of foil is made on top, between the beginning and the end you need to make a gap of about 1 mm to avoid a short-circuited turn.



The middle TX pin must be connected to the board ground, otherwise the generator will not start. As for the average RX output, it is needed for frequency adjustment. After adjusting the resonance, it needs to be insulated and the receiving coil turns into a regular one, that is, without a lead. As for the receiving coil, it is connected instead of the transmitting coil and set to 100-150 Hz lower than the transmitting coil. Each coil must be configured separately; when tuning, there should be no metal objects near the coil.

To balance, the coils are shifted, as can be seen in the photo. The balance should be within 20-30 mV, but not more than 100 mV.

The operating frequencies of the device range from 7 kHz to 20 kHz. The lower the frequency, the deeper the device will go, but at low frequencies the discrimination becomes worse. Conversely, the higher the frequency, the better the discrimination, but the smaller the detection depth. The golden mean can be considered a frequency of 10-14 kHz.

To connect the coil, a four-core shielded wire is used. the screen is connected to the body, two wires go to the transmitting coil and two to the receiving coil.

Once upon a time, having built several metal detectors of varying degrees of performance with my own hands, I wanted to study how the Arduino circuit works in this direction.

There are several good examples of how to assemble a metal detector with your own hands. However, they usually either require quite a lot of external components to process the analog signal, or the output sensitivity is quite weak.

When we think about pulsed metal detectors, the main topic is how to detect small voltage changes in the signals associated with the search coil. These changes are usually very small. The most obvious approach is to use the ATmega328 analog inputs. But looking at the specs, there are two main problems: they are mostly slow, and the resolution is (in most cases) low.

On the other hand, a microcontroller-based metal detector operates at 16 MHz and has pretty good timing capabilities, namely a resolution of 0.0625 µs when using the clock frequency. So, rather than using an analog input for readout, the simplest way to sense small dynamic voltage changes is to compare the change in voltage drop over time at a fixed reference voltage.

For this purpose, ATmega328 has suitable internal comparator features between D6 and D7. This comparator is capable of triggering an interrupt, allowing events to be processed accurately. Using this along with neatly coded timing routines like millis() and micos(), and using the ATmega328's much higher resolution internal timer, the Arduino is an excellent basis for this kind of metal detector.

So, speaking of the source code - a good start would be to program the internal comparator to "flip" the polarity of the inputs and use the internal counter as fast as possible to change the frequency of the changes.

The final code for Arduino:

// Defining all required pre variables etc. and setting up the registers unsigned char clockSelectBits = _BV(CS10); // no prescale, full xtal void setup() ( pinMode(6,INPUT); // + of the comparator - by setting them as INPUT, they are // set to high impedance pinMode(7,INPUT); // - of the comparator - by setting them as INPUT, they are // set to high impedance cli(); // stop interrupts TCCR1A = 0; // set entire TCCR1A register to 0 TCCR1B = 0; // same for TCCR1B TCNT1 = 0 ; // initialize counter value to 0; TCCR1B |= clockSelectBits; // sets prescaler and starts the clock TIMSK1 = _BV(TOIE1); // sets the timer overflow interrupt enable bit sei();<< ACD) | // Analog Comparator: Enabled (0 << ACBG) | // Analog Comparator Bandgap Select: AIN0 is applied to the positive input (0 << ACO) | // Analog Comparator Output: Off (1 << ACI) | // Analog Comparator Interrupt Flag: Clear Pending Interrupt (1 << ACIE) | // Analog Comparator Interrupt: Enabled (0 << ACIC) | // Analog Comparator Input Capture: Disabled (0 << ACIS1 | 0 << ACIS0 // interrupt on output toggle // (0 << ACIS1 | 1 << ACIS0 // reserved // (1 << ACIS1 | 0 << ACIS0 // interrupt on falling output edge // (1 << ACIS1 | 1 << ACIS0 // interrupt on rising input edge ; } // this routine is called every time the comparator creates an interrupt ISR(ANALOG_COMP_vect) { oldSREG=SREG; cli(); timeStamp=TCNT1; SREG = oldSREG; } // this routine is called every time there is an overflow in internal counter ISR(TIMER1_OVF_vect){ timer1_overflow_count++; } // this routine is used to reset the timer to 0 void resetTimer(void){ oldSREG = SREG; cli(); // Disable interrupts TCNT1 = 0; //initialize counter value to 0 SREG = oldSREG; // Restore status register TCCR1B |= clockSelectBits; // sets prescaler and starts the clock timer1_overflow_count=0; // resets overflow counter }

Of course, this idea is not entirely new. The bulk of this code may be different. Try searching other sources, such as TPIMD.

Step 1: Arduino Induction Detector Idea - Flip Coil


The idea is to use the Arduino as a pulse induction detector, just like the TPIMD, since the decay curve idea seems to work very well. The problem with pulsed induction detectors is that they usually require different voltages to operate. One voltage to power the coil and a separate voltage to process the decay curve. These two voltage sources always complicate the process of building pulsed induction detectors.

By considering the coil voltage in the PI detector, the resulting curve can be divided into two different stages. The first stage is the pulse itself, which powers the coil and creates a magnetic field (1). The second stage is a voltage decay curve, starting with a voltage peak and then rapidly changing to the "no-power" coil voltage(2).

The problem is that the coil changes its polarity after the pulse. If the pulse is positive (Var 1. in the attached figure) the decay curve is negative. If the pulse is negative, the decay curve will be positive (Var 2. in the attached figure).

To solve this basic problem, the coil needs to be "flip" electronically after the pulse. In this case, the pulse can be positive and the decay curve will also remain positive.

To do this, the coil must be isolated from Vcc and GND after the pulse. At this point, there is only current flowing through the snubber resistor. This isolated coil and snubber resistor system can be "targeted" to any reference voltage. This will theoretically create a combined positive curve (see bottom of drawing).

This positive curve can be used by a comparator to determine the point in time at which the decay voltage "crosses" the reference voltage. In case the treasure is near the coil, the attenuation curve and the time intercept of the reference voltage change change. This change can be detected.

After some experimentation I settled on the following scheme:

The circuit consists of an Arduino Nano module. This module controls the two MOSFETs that power the coil (at SV3) via D10. When the pulse at the end of D10 ends, both MOSFETs isolate the coil from 12V and GND.

The stored energy in the coil is released through resistor R2 (220 ohms). At the same time, resistor R1 (560 ohms) connects the first positive side of the coil to GND. This changes the negative attenuation curve across resistor R5 (330 ohms) to a positive curve. The diodes protect the input pin of the Arduino.

R7 is a voltage divider of about 0.04 V. Now the decay curve on D7 becomes more negative than 0.04 on D6, the interrupt is triggered, and the duration after the end of the pulse is maintained.

In the case of metal close to the coil, the decay curve lasts longer and the time between the end of the pulse and the interruption increases.

Step 2: Building a detector (layout)






The process of building a detector is quite simple. This can be done either on a breadboard (sticking to the original diagram) or by soldering parts on a printed circuit board.

The D13 LED on the Arduino Nano board is used as a metal indicator.

Using a breadboard is the fastest way to make a working detector. Some wiring needs to be done, but this can be done on a separate small breadboard. The pictures show this in 3 stages as the Arduino and MOSFETs hide some of the wires. During testing, I accidentally turned off the diodes without immediately noticing. This did not particularly affect the behavior of the detector. I left them in the PCB version.

The illustrations do not show connections to the 0.96 OLED display. This display is connected like this:

Vcc - 5V (at the Arduino pin, not the power supply!)
GND - GND
SCL - A5
SDA-A4

This OLED display is required for initial calibration of the detector. This is done by setting the correct voltage on PIN6 of the Arduino. This voltage should be around 0.04 V. The display helps you set the correct voltage.

The prototype version works very well, although it is probably not suitable for field use.

Step 3: PCB Design




As far as soldering goes, I don't really like the double sided high end PCB so I modified the circuit for single sided.

The following changes have been made:

  1. Diodes were excluded.
  2. A 10 ohm resistor has been added to the MOSFET contacts.
  3. The voltage divider supply voltage on D6 is set by a high level signal on D8
  4. The driver pin for MOSFETs has been changed.

In this way, a single-sided PCB can be created that can be soldered onto a universal PCB. Using this circuit you will get a working PI detector with 8-10 external components (depending on whether an OLED display and/or speaker is used).

Step 4: Set up and use the detector




If the detector is built correctly and the program is written in Arduino, the easiest (if not the only) way to configure the device is to use an OLED display. The display is connected to 5V, GND, A4, A5. The display should show "calibration" after the device is powered on. After a few seconds it should say “calibration complete” and the display should show three numbers.

The first number is the “reference value” specified during calibration. The second value is the last measured value, and the third value is the average of the last 32 measurements.

These three values ​​should be more or less the same (up to 1000 in my tests). The average should be more or less stable.

To begin the initial setup, there should be no metal near the coil.

Now the voltage divider (tuning resistor) should be adjusted so that the lower two values ​​are set to maximum while maintaining a stable reading. There is a critical setting where the average starts to give strange readings. Turn the trimmer to get stable values ​​again.

It may happen that the display freezes. Just hit the reset button and start again.

For my configuration (coil: 18 turns\20 cm) the stable value is about 630-650. After installation, press the reset button, the device will calibrate again and all three values ​​will be in the same range. If the metal is now brought near the coil, the LED on the Arduino board (D13) should light up. The included speaker makes a few clicks (there is room for improvement in the source code).

To avoid high expectations:

The detector detects some things, but it remains very simple and limited.

To give an idea of ​​the capabilities, I compared some other detectors with mine. The results are still quite impressive for a detector with 8 external elements, but are not up to par with professional equipment.

Looking at the scheme and program, I see a lot of room for improvement. The resistor values ​​were selected based on experience, the pulse time of 250 ms was chosen randomly, and so were the coil parameters.

Files

Step 5: Connecting a 16x2 Display



During testing, I realized that the I2C OLED display library was consuming too many resources, so I decided to use a 16x2 display with an I2C converter.

I have adapted the program for the LCD display, adding some useful features. The first line of the display now shows the signal level of the possible indication. The second line now shows two values. The first indicates the deviation of the current signal compared to the calibration value. This value should be "0". If this value is consistently negative or positive, the detector must be calibrated by pressing the reset button. Positive values ​​indicate metal near the coil.

The second value shows the actual delay value of the decay curve. This value is usually not that interesting, but it is necessary for the initial setup of the detector.

The program now allows you to track multiple pulse durations in a sequence (a means for experimentation/performance improvement). However, I didn't get any breakthrough, so the default is set to one pulse width.

Initial detector setup

When setting up the detector, the second value of the second line is important (the first can be ignored). Initially the value may be "unstable" (see picture). Turn the trim resistor until the value reaches a stable reading. Then rotate it to increase the value to its maximum stable value. Press the reset button to recalibrate and the detector is ready for use.

I got the impression that, having set the maximum stable value, I lost sensitivity to non-ferrous metals. So it might be worth experimenting with the settings to fix this.

Reels

I made 3 coils for further testing of the pulse metal detector circuit:

  • 1 -> 18 turns/ 200 mm
  • 2 -> 25 turns/100 mm
  • 3 -> 48 turns/100 mm

Interestingly, all the coils worked quite well, with almost the same performance (ruble coin at 40-50 mm in the air). This can be a very subjective observation.

New on the site

>

Most popular