Enkel Arduino metalldetektor: 8 trinn (med bilder)
Enkel Arduino metalldetektor: 8 trinn (med bilder)
Anonim

*** Det er lagt ut en ny versjon som er enda enklere: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ ***

Metaldeteksjon er en flott tidligere tid som får deg utendørs, oppdager nye steder og kanskje finner noe interessant. Sjekk dine lokale forskrifter om hvordan du skal handle i tilfelle et eventuelt funn, spesielt i tilfelle av farlige gjenstander, arkeologiske relikvier eller gjenstander med betydelig økonomisk eller følelsesmessig verdi.

Instruksjoner for DIY -metalldetektorer er mange, men denne oppskriften er spesielt i den forstand at den krever svært få komponenter i tillegg til en Arduino -mikrokontroller: en felles kondensator, motstand og diode danner kjernen, sammen med en søkespole som består av rundt 20 viklinger av elektrisk ledende kabel. Lysdioder, en høyttaler og/eller hodetelefon blir deretter lagt til for å signalisere tilstedeværelsen av metall i nærheten av søkespolen. En ekstra fordel er at alle kan drives fra en enkelt 5V strøm, for hvilken en vanlig 2000mAh USB -strøm er tilstrekkelig og vil vare i mange timer.

For å tolke signalene og for å forstå hvilke materialer og former detektoren er følsom for, hjelper det virkelig å forstå fysikken. Som en tommelfingerregel er detektoren følsom for objekter på avstand eller dybde opp til radius av spolen. Den er mest følsom for objekter der en strøm kan strømme i spolens plan, og responsen vil tilsvare området til strømløkken i objektet. Således vil en metallskive i spolens plan gi en mye sterkere respons enn den samme metallskiven vinkelrett på spolen. Objektets vekt spiller ingen rolle. Et tynt stykke aluminiumsfolie orientert i spolens plan vil gi en mye sterkere respons enn en tungmetallbolt.

Trinn 1: Arbeidsprinsipp

Arbeidsprinsipp
Arbeidsprinsipp

Når elektrisitet begynner å strømme gjennom en spole, bygger det opp et magnetfelt. I følge Faradays induksjonslov vil et magnetfelt i endring resultere i et elektrisk felt som motsetter seg endringen i magnetfeltet. Dermed vil en spenning utvikle seg over spolen som er imot strømøkningen. Denne effekten kalles selvinduktans, og induktansenheten er Henry, hvor en spole på 1 Henry utvikler en potensialforskjell på 1V når strømmen endres med 1 ampere per sekund. Induktansen til en spole med N viklinger og en radius R er omtrent 5µH x N^2 x R, med R i meter.

Tilstedeværelsen av et metallisk objekt nær en spole vil endre induktansen. Avhengig av metalltypen kan induktansen enten øke eller redusere. Ikke-magnetiske metaller som kobber og aluminium i nærheten av en spole reduserer induktansen, fordi et magnetfelt i endring vil forårsake virvelstrømmer i objektet som reduserer intensiteten til det lokale magnetfeltet. Ferromagnetiske materialer, for eksempel jern, nær en spole øker induktansen fordi de induserte magnetfeltene stemmer overens med det eksterne magnetfeltet.

Målingen av induktansen til en spole kan dermed avsløre tilstedeværelsen av metaller i nærheten. Med en Arduino, en kondensator, en diode og en motstand er det mulig å måle induktansen til en spole: å gjøre spolen til en del av et høypass-LR-filter og mate dette med en blokkbølge, vil det bli opprettet korte pigger ved hver overgang. Pulslengden til disse piggene er proporsjonal med spolenes induktans. Faktisk er den karakteristiske tiden for et LR -filter tau = L/R. For en spole med 20 viklinger og en diameter på 10 cm, L ~ 5µH x 20^2 x 0,05 = 100µH. For å beskytte Arduino mot overstrøm er minimum motstand 200Ohm. Vi forventer dermed pulser med en lengde på omtrent 0,5 mikrosekund. Disse er vanskelige å måle direkte med høy presisjon, gitt at klokkefrekvensen til Arduino er 16MHz.

I stedet kan den stigende pulsen brukes til å lade en kondensator, som deretter kan leses ut med Arduino -analog til digital konvertert (ADC). Den forventede ladningen fra en 0,5 mikrosekundpuls på 25mA er 12,5nC, noe som gir 1,25V på en 10nF kondensator. Spenningsfallet over dioden vil redusere dette. Hvis pulsen gjentas noen ganger, stiger ladningen på kondensatoren til ~ 2V. Dette kan leses opp med Arduino ADC ved hjelp av analogRead (). Kondensatoren kan deretter raskt tømmes ved å endre avlesningspinnen til utgang og sette den til 0V i noen få mikrosekunder. Hele målingen tar omtrent 200 mikrosekunder, 100 for lading og tilbakestilling av kondensatoren og 100 for ADC -konverteringen. Presisjonen kan forbedres sterkt ved å gjenta målingen og gjennomsnittsresultatet: å ta gjennomsnittet på 256 målinger tar 50 ms og forbedrer presisjonen med en faktor 16. 10-biters ADC oppnår presisjonen til en 14-biters ADC på denne måten.

Denne måling som er oppnådd er svært ikke -lineær med spolenes induktans og er derfor ikke egnet til å måle den absolutte verdien av induktansen. For metalldeteksjon er vi imidlertid bare interessert i små relative endringer av spoleinduktansen på grunn av nærvær av metaller i nærheten, og for denne metoden er perfekt egnet.

Kalibreringen av målingen kan gjøres automatisk i programvare. Hvis man kan anta at det for det meste ikke er metall i nærheten av spolen, er et avvik fra gjennomsnittet et signal om at metall har kommet nær spolen. Ved å bruke forskjellige farger eller forskjellige toner kan du skille mellom en plutselig økning eller en plutselig nedgang i induktansen.

Trinn 2: Nødvendige komponenter

Elektronisk kjerne:

Arduino UNO R3 + prototypeskjerm ELLER Arduino Nano med 5x7cm prototypebrett

10nF kondensator

Liten signaldiode, f.eks. 1N4148

220 ohm motstand

For strøm:

USB strømbank med kabel

For visuell utgang:

2 lysdioder i forskjellige farger f.eks. blått og grønt

2 220Ohm motstander for å begrense strømmen

For lydutgang:

Passiv summer

Mikrobryter for å deaktivere lyd

For utgang til øretelefoner:

Hodetelefonkontakt

1 kOhm motstand

Hodetelefoner

For enkelt å koble til/fra søkespolen:

2-pinners skrueterminal

For søkespolen:

~ 5 meter tynn elektrisk kabel

Struktur for å holde spolen. Må være stiv, men trenger ikke å være sirkulær.

For strukturen:

1 meter pinne, f.eks. Tre, plast eller selfie -pinne.

Trinn 3: Søkespolen

Søkespolen
Søkespolen

For søkespolen viklet jeg rundt 4 meter strandet tråd rundt en pappsylinder med en diameter på 9 cm, noe som resulterte i omtrent 18 viklinger. Kabeltypen er irrelevant, så lenge den ohmiske motstanden er minst ti ganger mindre enn verdien av R i RL -filteret, så sørg for å holde deg under 20 ohm. Jeg målte 1 Ohm, så det er trygt. Bare det å ta en halvfabrikat på 10 meter med tilkoblingstråd fungerer også!

Trinn 4: En prototypeversjon

En prototypeversjon
En prototypeversjon
En prototypeversjon
En prototypeversjon
En prototypeversjon
En prototypeversjon
En prototypeversjon
En prototypeversjon

Gitt det lille antallet eksterne komponenter, er det fullt mulig å montere kretsene på det lille brødbrettet til et prototypeskjold. Det endelige resultatet er imidlertid ganske omfangsrikt og ikke veldig robust. Bedre er å bruke en Arduino nano og lodde den med ekstra komponenter på et 5x7cm prototypebrett, (se neste trinn)

Bare 2 Arduino -pinner brukes til selve metalldeteksjonen, en for å gi pulser til LR -filteret og en for å lese av spenningen på kondensatoren. Pulsing kan utføres fra hvilken som helst utgangspinne, men avlesningen må gjøres med en av de analoge pinnene A0-A5. 3 pinner til brukes for 2 lysdioder og for lydutgang.

Her er oppskriften:

  1. På brødbrettet kobler du 220Ohm -motstanden, dioden og 10nF -kondensatoren i serie, med den negative terminalen til dioden (den svarte linjen) mot kondensatoren.
  2. Koble A0 til motstand (enden er ikke koblet til dioden)
  3. Koble A1 til der tverrpunktet til dioden og kondensatoren
  4. Koble kondensatorens ikke-tilkoblede terminal til jord
  5. Koble den ene enden av spolen til motstandsdiodens tverrpunkt
  6. Koble den andre enden av spolen til jord
  7. Koble en LED med den positive terminalen til pin D12 og den negative terminalen gjennom en 220Ohm motstand til jord
  8. Koble den andre lysdioden med den positive terminalen til pin D11 og den negative terminalen gjennom en 220Ohm motstand til jord
  9. Du kan også koble til en passiv summerhodetelefon eller høyttaler mellom pinne 10 og jord. En kondensator eller motstand kan legges til i serie for å redusere volumet

Det er alt!

Trinn 5: En loddet versjon

En loddet versjon
En loddet versjon
En loddet versjon
En loddet versjon

For å ta metalldetektoren utenfor, vil det være nødvendig å lodde den. Et vanlig 7x5 cm prototypebrett som passer godt til en Arduino nano og alle nødvendige komponenter. Bruk samme skjema som i forrige trinn. Jeg syntes det var nyttig å legge til en bryter i serie med summeren for å slå av lyden når det ikke er nødvendig. En skrueterminal gjør det mulig å prøve forskjellige spoler uten å måtte lodde. Alt drives av 5V som følger med (mini- eller mikro-USB) porten på Arduino Nano.

Trinn 6: Programvaren

Den brukte Arduino -skissen er vedlagt her. Last opp og kjør den. Jeg brukte Arduino 1.6.12 IDE. Det anbefales å kjøre det med debug = true i begynnelsen, for å justere antall pulser per måling. Det beste er å ha en ADC -avlesning mellom 200 og 300. Øk eller reduser antall pulser i tilfelle spolen gir drastisk forskjellige målinger.

Skissen gjør en slags selvkalibrering. Det er tilstrekkelig å la spolen være stille vekk fra metaller for å få den til å gå stille. Sakte driv i induktansen vil bli fulgt, men plutselige store endringer vil ikke påvirke det langsiktige gjennomsnittet.

Trinn 7: Monter den på en pinne

Montere den på en pinne
Montere den på en pinne
Montere den på en pinne
Montere den på en pinne

Siden du ikke vil foreta skattejaktene som kryper over gulvet, bør treplaten, spolen og batteriet monteres på enden av en pinne. En selfie-stick er ideell for dette, siden den er lett, sammenleggbar og justerbar. Min 5000mAh powerbank passet tilfeldigvis på selfiepinnen. Brettet kan deretter festes med kabelbånd eller elastikk, og spolen kan på samme måte være til enten batteriet eller pinnen.

Trinn 8: Slik bruker du det

For å etablere referansen er det tilstrekkelig å la spolen være ~ 5 sekunder unna metaller. Når spolen kommer i nærheten av et metall, begynner den grønne eller blå LED -en å blinke, og det blir pipelyder i summeren og/eller hodetelefonene. Blå blink og pip med lav tone indikerer tilstedeværelsen av ikke-ferromagnetiske metaller. Grønne blink og pip med høy tone indikerer tilstedeværelsen av ferromagnetiske metaller. Vær oppmerksom på at når spolen holdes i mer enn 5 sekunder i nærheten av metallet, vil den ta denne avlesningen som en referanse, og begynne å pipe når detektoren tas bort fra metallet. Etter noen sekunder med piping i luften blir det stille igjen. Blinkfrekvensen og pipene indikerer signalets styrke. God jakt!