Maker.io main logo

DIY Sensitive STM32 Pulse Indiction Metal Detector (Arduino IDE)

2023-05-05 | By Mirko Pavleski

License: Attribution-Share Alike Metal Stock Arduino ARM mbed

This time I will show you how to make a sensitive Pulse Induction metal detector which is based on ARM STM32 microcontroller, which has significantly better features than Arduino and is also cheaper. It can detect a metal coin at a distance of 30cm, and big metal object at a distance of more than 80 cm.

 

The positive thing is that you can install an Arduino bootloader on it, after that you can use it as a regular Arduino. This is my first project with this microcontroller and the experiences are very positive, and after flashing the bootloader there is no difference between STM and Arduino.

This time I will focus more on the project itself, but for how to install bootloader and sketch on STM32 you can find many tutorials and instructions, *** and I specifically used the tutorial from: https://www.instructables.com/Using-a-STM32-Like-an-Arduino-Tutorial-STM32F103C8/ The project is taken from the cxem.net site, in that there is a small error in the given schematic, and instead of the B9 pin, B8 should be used. I have corrected that in the schemаtic diagram given below. Also, the original project uses STM32F103C8, but the metal detector works quite fine with STM32F103C6, which is a cheaper version of the original.

pic2

So, the device is relatively simple to make and consists of the following components:

  • STM32F103C8T6 microcontroller
  • TL072 Operational amplifier IC
  • three Transistors BC847 or similar
  • power mosfet IRF740
  • 7805 Regulator
  • Rotary encoder
  • Buzzer
  • WS2812 led strip with 8 LEDs
  • resistors and capacitors

pic3

I made this device for testing purposes on a universal PCB.

As a power source, I use three Li-Ion cells connected in series (about 12V), and 7805 regulator for powering microcontroller.

pic5

The indication is made on a WS2812B module of eight LEDs and a buzzer. The control is carried out using the rotary encoder. When the power is turned on, the search coil must be moved away from metal objects, as the sensitivity is automatically adjusted.

pic5

Further, the sensitivity of the metal detector is adjusted manually by rotating the encoder knob. There is also a menu mode. The first press on the encoder knob enters the LED brightness adjustment mode. Second press, buzzer on/off mode. Third press, targe detection depth adjustment mode. The fourth press, we enter the adjustment mode for large or small objects. The fifth press, exit the menu mode and auto-adjust the sensitivity.

pic6

The coil is wound with wire 0.7 mm, with a 20 cm diameter, and consist of 25 turns, but as you can see, during the testing I used a sensor consisting of two serially connected coils with a diameter of 12 and 23 cm, each containing 20 windings.

pic7

It is very important to mention that when the device is switched on, it is automatically calibrated, so there must not be any metal objects near the coil at that time. On the video you can see how the device works in real conditions in the air, and a brief description of the method of manufacturing the metal detector.

pic8

 

 

制造商零件编号 STM32F103C8T6
IC MCU 32BIT 64KB FLASH 48LQFP
STMicroelectronics
制造商零件编号 TL072CP
IC OPAMP JFET 2 CIRCUIT 8DIP
Texas Instruments
制造商零件编号 BC847CW,115
TRANS NPN 45V 0.1A SOT323
Nexperia USA Inc.
制造商零件编号 1426
ADDRESS LED MODULE SERIAL RGB
Adafruit Industries LLC
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum