Einfacher Arduino-Metalldetektor - Gunook
Einfacher Arduino-Metalldetektor - Gunook
Anonim

*** Eine neue Version wurde veröffentlicht, die noch einfacher ist: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ ***

Metalldetektion ist ein großartiger Zeitvertreib, der Sie nach draußen bringt, neue Orte entdeckt und vielleicht etwas Interessantes findet. Informieren Sie sich in Ihren örtlichen Vorschriften über das Verhalten bei einem eventuellen Fund, insbesondere bei gefährlichen Gegenständen, archäologischen Relikten oder Gegenständen von erheblichem wirtschaftlichen oder emotionalen Wert.

Anleitungen für DIY-Metalldetektoren gibt es genug, aber dieses Rezept ist insofern besonders, als es neben einem Arduino-Mikrocontroller nur sehr wenige Komponenten benötigt: Ein gemeinsamer Kondensator, Widerstand und Diode bilden den Kern, zusammen mit einer Suchspule, die aus ca. 20 besteht Wicklungen von elektrisch leitenden Kabeln. LEDs, ein Lautsprecher und/oder Kopfhörer werden dann hinzugefügt, um das Vorhandensein von Metall in der Nähe der Suchspule zu signalisieren. Ein zusätzlicher Vorteil ist, dass alle mit einer einzigen 5V-Stromversorgung betrieben werden können, wofür eine übliche USB-Stromversorgung von 2000mAh ausreicht und viele Stunden hält.

Um die Signale zu interpretieren und zu verstehen, auf welche Materialien und Formen der Detektor empfindlich ist, ist es wirklich hilfreich, die Physik zu verstehen. Als Faustregel gilt, dass der Detektor auf Objekte in einer Entfernung oder Tiefe bis zum Radius der Spule empfindlich ist. Es reagiert am empfindlichsten auf Objekte, in denen ein Strom in der Ebene der Spule fließen kann, und die Reaktion entspricht der Fläche der Stromschleife in diesem Objekt. Somit gibt eine Metallscheibe in der Ebene der Spule eine viel stärkere Reaktion als dieselbe Metallscheibe senkrecht zur Spule. Das Gewicht des Objekts spielt keine große Rolle. Ein dünnes Stück Aluminiumfolie, das in der Ebene einer Spule ausgerichtet ist, gibt eine viel stärkere Reaktion als ein schwerer Metallbolzen.

Schritt 1: Funktionsprinzip

Arbeitsprinzip
Arbeitsprinzip

Wenn Strom durch eine Spule fließt, baut er ein Magnetfeld auf. Nach dem Faradayschen Induktionsgesetz führt ein sich änderndes Magnetfeld zu einem elektrischen Feld, das der Änderung des Magnetfelds entgegenwirkt. Somit entwickelt sich über der Spule eine Spannung, die der Stromerhöhung entgegenwirkt. Dieser Effekt wird Selbstinduktivität genannt, und die Einheit der Induktivität ist Henry, wobei eine Spule von 1 Henry eine Potenzialdifferenz von 1 V entwickelt, wenn sich der Strom um 1 Ampere pro Sekunde ändert. Die Induktivität einer Spule mit N Windungen und einem Radius R beträgt ungefähr 5µH x N^2 x R, wobei R in Metern angegeben wird.

Das Vorhandensein eines metallischen Objekts in der Nähe einer Spule ändert ihre Induktivität. Je nach Metallart kann die Induktivität entweder zunehmen oder abnehmen. Nichtmagnetische Metalle wie Kupfer und Aluminium in der Nähe einer Spule reduzieren die Induktivität, da ein sich änderndes Magnetfeld im Objekt Wirbelströme induziert, die die Intensität des lokalen Magnetfelds verringern. Ferromagnetische Materialien wie Eisen erhöhen in der Nähe einer Spule deren Induktivität, da die induzierten Magnetfelder sich mit dem externen Magnetfeld ausrichten.

Die Messung der Induktivität einer Spule kann somit das Vorhandensein von Metallen in der Nähe aufdecken. Mit einem Arduino, einem Kondensator, einer Diode und einem Widerstand ist es möglich, die Induktivität einer Spule zu messen: Wenn man die Spule Teil eines Hochpass-LR-Filters macht und diesen mit einer Blockwelle füttert, entstehen bei jedem. kurze Spitzen Überleitung. Die Impulslänge dieser Spitzen ist proportional zur Induktivität der Spule. Tatsächlich ist die charakteristische Zeit eines LR-Filters tau = L/R. Für eine Spule mit 20 Windungen und einem Durchmesser von 10 cm gilt L ~ 5µH x 20^2 x 0,05 = 100µH. Um das Arduino vor Überstrom zu schützen, beträgt der Mindestwiderstand 200 Ohm. Wir erwarten also Pulse mit einer Länge von etwa 0,5 Mikrosekunden. Diese sind schwer direkt mit hoher Präzision zu messen, da die Taktfrequenz des Arduino 16 MHz beträgt.

Stattdessen kann der ansteigende Impuls zum Laden eines Kondensators verwendet werden, der dann mit dem Arduino Analog-Digital-Converted (ADC) ausgelesen werden kann. Die erwartete Ladung von einem 0,5-Mikrosekunden-Impuls von 25 mA beträgt 12,5 nC, was bei einem 10 nF-Kondensator 1,25 V ergibt. Der Spannungsabfall über der Diode wird dies reduzieren. Wenn der Impuls einige Male wiederholt wird, steigt die Ladung des Kondensators auf ~ 2 V. Diese kann mit dem Arduino ADC mit analogRead() ausgelesen werden. Der Kondensator kann dann schnell entladen werden, indem der Auslese-Pin auf Ausgang geändert und für einige Mikrosekunden auf 0 V gesetzt wird. Die gesamte Messung dauert etwa 200 Mikrosekunden, 100 Mikrosekunden für das Laden und Zurücksetzen des Kondensators und 100 für die ADC-Wandlung. Durch Wiederholen der Messung und Mittelung des Ergebnisses lässt sich die Präzision stark steigern: Die Mittelung von 256 Messungen dauert 50 ms und verbessert die Genauigkeit um den Faktor 16. Der 10-Bit-ADC erreicht auf diese Weise die Genauigkeit eines 14-Bit-ADC.

Diese erhaltene Messung ist stark nichtlinear mit der Induktivität der Spule und daher nicht geeignet, den Absolutwert der Induktivität zu messen. Für die Metalldetektion interessieren uns jedoch nur winzige relative Änderungen der Spuleninduktivität aufgrund der Anwesenheit von Metallen in der Nähe, und dafür ist diese Methode perfekt geeignet.

Die Kalibrierung der Messung kann automatisch in der Software erfolgen. Wenn man davon ausgehen kann, dass sich die meiste Zeit kein Metall in der Nähe der Spule befindet, ist eine Abweichung vom Durchschnitt ein Signal dafür, dass sich Metall der Spule nähert. Durch die Verwendung unterschiedlicher Farben oder unterschiedlicher Töne kann zwischen einem plötzlichen Anstieg oder einem plötzlichen Abfall der Induktivität unterschieden werden.

Schritt 2: Erforderliche Komponenten

Elektronischer Kern:

Arduino UNO R3 + Prototypenschild ODER Arduino Nano mit 5x7cm Prototypenplatine

10nF Kondensator

Kleinsignaldiode, z. B. 1N4148

220-Ohm-Widerstand

Für die Macht:

USB-Powerbank mit Kabel

Zur visuellen Ausgabe:

2 LEDs unterschiedlicher Farbe z. B. Blau und Grün

2 220Ohm Widerstände zur Begrenzung der Ströme

Zur Tonausgabe:

Passiver Summer

Mikroschalter zum Deaktivieren des Tons

Für Kopfhörerausgang:

Kopfhöreranschluss

1kOhm Widerstand

Kopfhörer

So schließen Sie die Suchspule einfach an/ab:

2-polige Schraubklemme

Für die Suchspule:

~5 Meter dünnes Elektrokabel

Struktur zum Halten der Spule. Muss steif sein, muss aber nicht kreisförmig sein.

Zum Aufbau:

1-Meter-Stick, z. B. Holz-, Kunststoff- oder Selfie-Stick.

Schritt 3: Die Suchspule

Die Suchspule
Die Suchspule

Für die Suchspule habe ich ~4m Litze um einen Pappzylinder mit 9cm Durchmesser gewickelt, was ca. 18 Windungen ergibt. Die Art des Kabels spielt keine Rolle, solange der ohmsche Widerstand mindestens zehnmal kleiner ist als der Wert von R im RL-Filter, also achte darauf, dass du unter 20 Ohm bleibst. Ich habe 1 Ohm gemessen, das ist sicher. Es funktioniert auch, einfach eine halbfertige 10m-Rolle Anschlussdraht zu nehmen!

Schritt 4: Eine Prototypversion

Eine Prototyp-Version
Eine Prototyp-Version
Eine Prototyp-Version
Eine Prototyp-Version
Eine Prototyp-Version
Eine Prototyp-Version
Eine Prototyp-Version
Eine Prototyp-Version

Aufgrund der geringen Anzahl externer Komponenten ist es durchaus möglich, die Schaltung auf dem kleinen Steckbrett eines Prototyp-Shields zu montieren. Das Endergebnis ist jedoch eher sperrig und nicht sehr robust. Besser ist es, einen Arduino Nano zu verwenden und ihn mit den zusätzlichen Komponenten auf einer 5x7cm Prototypenplatine zu löten (siehe nächster Schritt)

Für die eigentliche Metallerkennung werden nur 2 Arduino-Pins verwendet, einer zum Bereitstellen der Impulse an das LR-Filter und einer zum Auslesen der Spannung am Kondensator. Das Pulsen kann von jedem Ausgangspin aus erfolgen, das Auslesen muss jedoch mit einem der analogen Pins A0-A5 erfolgen. 3 weitere Pins werden für 2 LEDs und für die Soundausgabe verwendet.

Hier ist das Rezept:

  1. Verbinden Sie auf dem Steckbrett den 220Ohm-Widerstand, die Diode und den 10nF-Kondensator in Reihe, mit dem Minuspol der Diode (der schwarzen Linie) zum Kondensator.
  2. Verbinden Sie A0 mit dem Widerstand (das Ende ist nicht mit der Diode verbunden)
  3. Verbinden Sie A1 mit dem Kreuzungspunkt der Diode und des Kondensators
  4. Verbinden Sie den nicht verbundenen Anschluss des Kondensators mit Masse
  5. Verbinden Sie ein Ende der Spule mit dem Widerstands-Dioden-Kreuzpunkt
  6. Verbinden Sie das andere Ende der Spule mit Masse
  7. Verbinden Sie eine LED mit ihrem Pluspol an Pin D12 und ihrem Minuspol über einen 220Ohm Widerstand an Masse
  8. Verbinden Sie die andere LED mit ihrem Pluspol mit Pin D11 und ihrem Minuspol über einen 220Ohm Widerstand mit Masse
  9. Schließen Sie optional einen passiven Summer-Kopfhörer oder Lautsprecher zwischen Pin 10 und Masse an. Ein Kondensator oder Widerstand kann in Reihe geschaltet werden, um die Lautstärke zu reduzieren

Das ist alles!

Schritt 5: Eine gelötete Version

Eine gelötete Version
Eine gelötete Version
Eine gelötete Version
Eine gelötete Version

Um den Metalldetektor nach draußen zu bringen, muss er gelötet werden. Ein gewöhnliches 7x5 cm Prototypenboard passt bequem zu einem Arduino Nano und allen benötigten Komponenten. Verwenden Sie die gleichen Schaltpläne wie im vorherigen Schritt. Ich fand es nützlich, einen Schalter in Reihe mit dem Summer hinzuzufügen, um den Ton auszuschalten, wenn er nicht benötigt wird. Eine Schraubklemme ermöglicht es, verschiedene Spulen auszuprobieren, ohne löten zu müssen. Alles wird über die 5V versorgt, die an den (Mini- oder Micro-USB) Port des Arduino Nano geliefert werden.

Schritt 6: Die Software

Die verwendete Arduino-Skizze ist hier beigefügt. Laden Sie es hoch und führen Sie es aus. Ich habe Arduino 1.6.12 IDE verwendet. Es wird empfohlen, es am Anfang mit debug=true auszuführen, um die Anzahl der Impulse pro Messung abzustimmen. Am besten ist es, einen ADC-Wert zwischen 200 und 300 zu haben. Erhöhen oder verringern Sie die Anzahl der Impulse, falls Ihre Spule drastisch unterschiedliche Messwerte liefert.

Die Skizze führt eine Art Selbstkalibrierung durch. Es reicht aus, die Spule abseits von Metallen ruhig zu lassen, damit sie leise wird. Langsamen Driften der Induktivität wird gefolgt, aber plötzliche große Änderungen werden den langfristigen Durchschnitt nicht beeinflussen.

Schritt 7: Montage auf einem Stick

Auf einem Stick montieren
Auf einem Stick montieren
Auf einem Stick montieren
Auf einem Stick montieren

Da Sie Ihre Schatzsuche nicht über den Boden kriechen möchten, sollten die drei Bretter, Spule und Batterie am Ende eines Stockes montiert werden. Ein Selfie-Stick ist dafür ideal, da er leicht, zusammenklappbar und verstellbar ist. Meine 5000mAh Powerbank passte zufällig auf den Selfie-Stick. Das Board kann dann mit Kabelbindern oder Gummibändern befestigt werden und die Spule kann ähnlich entweder am Akku oder am Stick befestigt werden.

Schritt 8: So verwenden Sie es

Um den Bezug herzustellen, reicht es aus, die Spule ~5s von Metallen entfernt zu lassen. Wenn sich die Spule dann einem Metall nähert, beginnt die grüne oder blaue LED zu blinken und im Summer und/oder Kopfhörer ertönen Signaltöne. Blaues Blinken und tiefe Pieptöne weisen auf das Vorhandensein von nicht ferromagnetischen Metallen hin. Grünes Blinken und hohe Pieptöne weisen auf das Vorhandensein von ferromagnetischen Metallen hin. Beachten Sie, dass, wenn die Spule länger als 5 Sekunden in der Nähe des Metalls gehalten wird, dieser Messwert als Referenz verwendet wird und ein Piepton beginnt, wenn der Detektor vom Metall entfernt wird. Nach einigen Sekunden Piepen in der Luft wird es wieder ruhig. Die Häufigkeit des Blinkens und der Pieptöne zeigen die Stärke des Signals an. Fröhliches Jagen!