Kazalo:

Arduino detektor impulzne indukcije - LC -past: 3 koraki
Arduino detektor impulzne indukcije - LC -past: 3 koraki

Video: Arduino detektor impulzne indukcije - LC -past: 3 koraki

Video: Arduino detektor impulzne indukcije - LC -past: 3 koraki
Video: Build Your Own Induction Heater! Transform Ordinary Materials into Red-Hot Wonders #jlcpcb 2024, November
Anonim
Arduino detektor impulzne indukcije - LC -past
Arduino detektor impulzne indukcije - LC -past

Med iskanjem nadaljnjih idej za preprost detektor kovin Ardino Pulse Induction z samo eno napajalno napetostjo sem naletel na domačo stran podjetja Teemo:

www.digiwood.ee/8-electronic-projects/2-metal-detector-circuit

Ustvaril je preprost detektor impulzne indukcije po principu LC-Trap. Podobna vezja je TechKiwiGadgets objavil tukaj na Instructable. Razen tega, da vezje Teemo uporablja notranje primerjalnike mikrokrmilnika PIC, zato potrebuje manj zunanjih komponent

Zato sem bil izzvan, da za to shemo uporabim Arduino namesto krmilnika PIC in poglej, kako daleč lahko pridem.

1. korak: Shema

Shematično
Shematično
Shematično
Shematično
Shematično
Shematično

Shema Arduino je nekoliko bolj zapletena, saj Arduino ne dovoljuje usmerjanja notranjega analognega signala na vhod primerjalnika. To dodaja dve komponenti za preprost razdelilnik napetosti. To vodi v zasnovo z 12 zunanjimi komponentami (brez zvočnika in 16 -palčnega LCD -zaslona) v primerjavi z 9 v zasnovi preklopne tuljave.

Načelo delovanja sheme je zelo dobro razloženo na spletnem mestu Teemo. V bistvu se tuljava napaja in nato izklopi. Po izklopu bosta tuljava in kondenzator vzporedno ustvarila blaženo nihanje. Na frekvenco in upadanje nihanja vpliva kovina v bližini tuljave. Za več podrobnosti o vezju glejte stran Teemo ali TechKiwi tukaj na Instructables.

Kot v detektorju impulzne indukcije z zvitkom uporabljam notranji primerjalnik in možnost sprožitve prekinitve za pridobivanje signala iz tuljave.

V tem primeru bom dobil več prekinitev, saj napetost niha okoli referenčne napetosti, nastavljene na primerjalniku. Na koncu nihanja se bo napetost na tuljavi ustalila okoli 5V, vendar ne ravno. Za napetost okoli 4,9 voltov sem izbral razdelilnik napetosti z 200 ohmi in 10 k ohmi

Za zmanjšanje kompleksnosti shem sem uporabil D4 in D5 za zagotovitev GND (za 10k upor) in 5V (za upor 220 Ohm). Zatiči so nastavljeni ob zagonu detektorja.

V tej različici sem dodal povezavo zvočnikov z uporabo večtonskega programa za glasnost, kot je opisano v Kako programirati detektor kovin na osnovi Arduino. To omogoča razlikovanje lastnosti cilja in občutek moči signala. Zvočnik lahko povežete z dodatnim 5 -polnim priključkom. Preostali 3 zatiči glave bodo uporabljeni za potisne gumbe (izvedba).

2. korak: Programiranje

Programiranje
Programiranje
Programiranje
Programiranje
Programiranje
Programiranje

Zdaj, ko je vezje zasnovano in prototip izdelan, je čas, da poiščemo ustrezen pristop za odkrivanje kovin.

1. Štetje impulzov

Štetje impulzov nihanja do njegovega popolnega razpada je ena ideja.

Če je v bližini tuljave kovina, se količina nihanja zmanjša. V tem primeru je treba referenčno napetost primerjalnika nastaviti na raven, da je zadnji impulz komaj še izmerjen. Torej, če se kaj zazna, ta utrip takoj izgine. To je bilo nekoliko problematično.

Vsak val nihanja ustvari dve prekinitvi. Eden med spuščanjem navzdol in en nazaj navzgor. Če želite referenčno napetost nastaviti točno na greben nihajnega vala, mora biti čas med spuščanjem navzdol in navzgor čim krajši (glej sliko). Na žalost tukaj nastajajo težave zaradi režima okolja Arduino.

Vsak sprožilec prekinitvenih klicev za to kodo:

ISR (ANALOG_COMP_vect) {

Toggle1 = Toggle0 // shrani zadnjo vrednost Toggle0 = TCNT1; // dobimo novo vrednost}

Ta koda traja nekaj časa (če se prav spomnim, je približno 78 navodilnih ciklov približno 5 mikrosekund pri 16 MHz). Zato je najmanjša zaznavna razdalja med dvema impulzoma točno čas, ki ga potrebuje ta koda. Če se čas med dvema sprožilcema skrajša (glej sliko), ne bo zaznan, saj se koda v celoti izvede pred zaznavanjem drugega prekinitve

To vodi do izgube občutljivosti. Hkrati sem opazil, da je dušenje nihanj zelo občutljivo na kakršne koli zunanje vplive, zato je ta pristop skupaj nekoliko otežen.

2. Merjenje frekvence

Drug način odkrivanja kovin je merjenje frekvence nihanja. To ima veliko prednost v primerjavi z merjenjem dušenja nihanja, saj sprememba frekvence omogoča razlikovanje kovine. Če je v bližini tuljave železov material, se bo frekvenca upočasnila, v primeru, da je v bližini tuljave žlahtna kovina, pa se bo frekvenca povečala.

Najlažji način za merjenje frekvence je merjenje količine impulzov, potem ko tuljave začnejo nihati. Časovno obdobje med začetnim in zadnjim impulzom, deljeno s skupno količino izmerjenih impulzov, je frekvenca. Žal je zadnjih nekaj nihanj precej nesimetričnih. Ker prisotnost kovine vpliva tudi na upadanje nihanja, so zadnja nihanja še bolj nesimetrična, odčitke težko razlagamo. Na sliki je to prikazano s prehodom 1 do 1 'in 2 do 2'.

Boljši način je torej uporaba nekaterih prejšnjih impulzov za merjenje frekvence. Zanimivo sem med preskušanjem ugotovil, da so nekateri impulzi bolj občutljivi kot drugi. Nekje pri 2/3 nihanj je dobra točka za pridobivanje podatkov.

Obdelava podatkov

Začetna koda, ki temelji na zanki (), ki kliče po funkciji pulse () za določanje časa tuljave. Čeprav rezultati niso bili slabi, sem imel potrebo po izboljšanju časa. V ta namen sem ustvaril kodo, ki temelji na časovniku, kar vodi do ločenega inštruktabilnega programa za programiranje detektorja kovin na osnovi Arduina. Ta navodila podrobno razlagajo časovni razpored, izhod LCD podatkov itd

1. LCD

Prvi pristop je bil meriti 10 impulzov in nato prikazati vrednosti na LCD -prikazovalniku. Ko sem ugotovil, da je prenos podatkov I2C prepočasen, sem spremenil kodo, da posodobim samo en znak na impulz.

2. Pristop minimalne vrednosti

Za večjo stabilnost odčitkov sem napisal rutino serijskega izhoda za boljši občutek merjenih podatkov. Tam je postalo očitno, da čeprav je bila večina odčitkov nekoliko stabilna, nekatera niso! Nekateri odčitki "istega" nihajnega impulza so bili tako daleč narazen, da bi pri vsakem pristopu za analizo premika v frekvenci uničili vsak pristop.

Da bi to nadomestil, sem ustvaril "mejo", znotraj katere so bile vrednosti vredne zaupanja. I. e. ko so bile vrednosti več kot 35 ciklov časovnika1 oddaljene od pričakovane vrednosti, so bile te vrednosti prezrte (podrobno razloženo v navodilu "Kako programirati detektor kovin na osnovi Arduina")

Ta pristop se je izkazal za zelo stabilnega.

3. Napetost

Prvotna zasnova Teema se napaja pod 5 voltov. Ker so bile moje domneve "več voltov = več moči = več občutljivosti", sem enoto na začetku napajal z 12V. To je povzročilo segrevanje MOSFET -a. To segrevanje je nato povzročilo splošno premikanje izmerjenih vrednosti, kar je povzročilo pogosto ponovno uravnoteženje detektorja. Z znižanjem napetosti na 5V bi lahko toplotno proizvodnjo MOSFET -a zmanjšali na raven, pri kateri ni bilo opaziti skoraj nobenega odmika odčitkov. Tako je bilo vezje še preprostejše, saj regulator napetosti na vozilu Arduina ni bil več potreben.

Za MOSFET sem sprva izbral IRL540. Ta MOSFET je združljiv z logično stopnjo, vendar ima največjo nazivno napetost 100V. Upal sem, da se bo boljša zmogljivost spremenila v IRL640 z 200V napetostmi. Žal so bili rezultati enaki. Tako bo delo opravil IRL540 ali IRL640.

3. korak: Končni rezultati

Končni rezultati
Končni rezultati
Končni rezultati
Končni rezultati
Končni rezultati
Končni rezultati

Prednost detektorja je, da razlikuje med dragocenimi in železovimi materiali. Pomanjkljivost je, da občutljivost s to preprosto shemo ni tako dobra. Za primerjavo zmogljivosti sem uporabil iste reference kot za detektor Flip-Coil. Verjetno dobro za nekatere natančne točke, vendar najverjetneje razočaranje za resnično iskanje.

Tu je lahko prvotna zasnova s krmilnikom PIC bolj občutljiva, saj deluje na 32 MHz namesto na 16 MHz terforja, kar zagotavlja višjo ločljivost za zaznavanje premikov v frekvenci.

Rezultati so bili doseženi z uporabo tuljave s 48 zavoji na 100 mm.

Kot vedno odprto za povratne informacije

Priporočena: