Obsah:

Pulzný indukčný detektor na báze Arduino - pasca LC: 3 kroky
Pulzný indukčný detektor na báze Arduino - pasca LC: 3 kroky

Video: Pulzný indukčný detektor na báze Arduino - pasca LC: 3 kroky

Video: Pulzný indukčný detektor na báze Arduino - pasca LC: 3 kroky
Video: Porovnanie Minelab Gpx 4500 Pulse Detector a Adrenalin Visionary 2024, Júl
Anonim
Pulzný indukčný detektor na báze Arduino - LC -Trap
Pulzný indukčný detektor na báze Arduino - LC -Trap

Pri hľadaní ďalších nápadov na jednoduchý indukčný detektor kovov Ardino Pulse s iba jedným napájacím napätím som narazil na domovskú stránku Teemo:

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

Vytvoril jednoduchý pulzný indukčný detektor na princípe LC-Trap. Podobné obvody boli zverejnené tu na stránke Instructable od TechKiwiGadgets. Bez ohľadu na to, že obvod Teemo používa interné komparátory mikrokontroléra PIC, takže potrebuje menej externých komponentov

Preto som bol vyzvaný, aby som pre túto schému použil namiesto PIC-ovládača Arduino a zistil, ako ďaleko sa môžem dostať.

Krok 1: Schéma

Schematický
Schematický
Schematický
Schematický
Schematický
Schematický

Schéma Arduina je o niečo komplikovanejšia, pretože Arduino neumožňuje smerovať interný analógový signál na vstup komparátora. Tým sa pridajú dve zložky pre jednoduchý delič napätia. Výsledkom je dizajn s 12 externými komponentmi (vynechaním reproduktora a 16x2 LCD) v porovnaní s 9 prevedením Flip Coil.

Princíp fungovania schémy je veľmi dobre vysvetlený na webovej stránke Teemo. Cievka je v zásade napájaná a potom vypnutá. Po vypnutí cievka a kondenzátor paralelne vytvoria tlmené kmitanie. Frekvencia a rozpad oscilácie je ovplyvnená kovom v blízkosti cievky. Ďalšie podrobnosti o okruhu nájdete na stránke spoločnosti Teemo alebo TechKiwi tu na adrese Instructables.

Rovnako ako v indukčnom detektore Flip Coil Pulse používam interný komparátor a možnosť spustenia prerušenia na získanie signálu z cievky.

V tomto prípade dostanem viacnásobné prerušenia, pretože napätie osciluje okolo referenčného napätia nastaveného na komparátore. Na konci oscilácie sa napätie na cievke usadí okolo 5V, ale nie presne. Vybral som delič napätia s 200 Ohm a 10k Ohm, aby som získal napätie asi 4,9 voltu

Na zníženie zložitosti schém som použil D4 a D5 na zaistenie GND (pre odpor 10 k) a 5 V (pre odpor 220 ohmov). Kolíky sú nastavené pri spustení detektora.

V tejto verzii som pridal pripojenie reproduktora pomocou viactónového ovládania ovládaného hlasitosťou, ako je popísané v časti Ako naprogramovať detektor kovov na báze Arduina. To umožňuje rozlíšiť vlastnosti cieľa a získať pocit sily signálu. Reproduktor je možné pripojiť k dodatočnému 5 -pinovému konektoru. Zostávajúce 3 kolíky záhlavia budú použité na tlačidlá (budú implementované).

Krok 2: Programovanie

Programovanie
Programovanie
Programovanie
Programovanie
Programovanie
Programovanie

Teraz, keď je obvod navrhnutý a prototyp je zostavený, je načase nájsť vhodný prístup na detekciu kovu.

1. Počítanie impulzov

Počítanie impulzov kmitania, kým sa úplne nerozpadne, je jedna myšlienka.

Ak je v blízkosti cievky kov, množstvo oscilácie klesá. V tomto prípade by malo byť referenčné napätie komparátora nastavené na úroveň, na ktorej je posledný impulz sotva stále meraný. Takže v prípade, že je niečo zistené, tento impulz okamžite zmizne. Toto bolo trochu problematické.

Každá vlna oscilácie vytvára dve prerušenia. Jeden pri zostupe a jeden pri návrate hore. Na nastavenie referenčného napätia presne na vrchol oscilačnej vlny by mal byť čas medzi zostupom a stúpaním čo najkratší (pozri obrázok). Nanešťastie tu réžia prostredia Arduino spôsobuje problémy.

Každý spúšťač prerušenia vyžaduje tento kód:

ISR (ANALOG_COMP_vect) {

Toggle1 = Toggle0 // uloženie poslednej hodnoty Toggle0 = TCNT1; // získať novú hodnotu}

Tento kód nejaký čas trvá (ak si dobre pamätám, asi 78 inštrukčných cyklov, čo je asi 5 mikrosekúnd @ 16 MHz). Minimálna zistiteľná vzdialenosť medzi dvoma impulzmi je teda presne čas, ktorý tento kód trvá. Ak sa čas medzi dvoma spúšťačmi skráti (pozri obrázok), zostane nezistený, pretože kód sa úplne vykoná pred detekciou druhého prerušenia

To vedie k strate citlivosti. Zároveň som si všimol, že tlmenie kmitov je veľmi citlivé na akékoľvek vonkajšie vplyvy, čo celkovo robí tento prístup trochu ťažším.

2. Meranie frekvencie

Ďalším spôsobom detekcie kovu je meranie frekvencie kmitania. To má veľkú výhodu v porovnaní s meraním tlmenia kmitov, pretože zmena frekvencie umožňuje diskrimináciu kovu. V prípade, že sa v blízkosti cievky nachádza železný materiál, frekvencia sa spomalí, v prípade, že sa v blízkosti cievky nachádza drahý kov, frekvencia sa zvýši.

Najľahším spôsobom, ako zmerať frekvenciu, je zmerať množstvo impulzov potom, čo cievky začnú oscilovať. Frekvencia je časový úsek medzi štartom a posledným impulzom vydelený celkovým počtom nameraných impulzov. Bohužiaľ, posledných niekoľko kmitov je dosť nesymetrických. Pretože prítomnosť kovu tiež ovplyvňuje rozpad oscilácií, sú posledné kmity ešte nesymetrickejšie, údaje je ťažké interpretovať. Na obrázku je to znázornené krížením 1 až 1 ‘a 2 až 2‘.

Lepším spôsobom je preto použiť na meranie frekvencie niektoré staršie impulzy. Pri testovaní som zaujímavo zistil, že niektoré impulzy sú citlivejšie ako ostatné. Niekde na 2/3 oscilácií je dobrý bod na získanie údajov.

Spracovanie údajov

Počiatočný kód založený na slučke (), ktorá požaduje funkciu pulse () na načasovanie cievky. Aj keď výsledky neboli zlé, mal som nutkanie zlepšiť načasovanie. Aby som to mohol urobiť, vytvoril som kód založený na časovači, ktorý vedie k samostatnému nestabilnému programu Programovanie detektora kovov na báze Arduina. Tento návod podrobne vysvetľuje načasovanie, LCD výstup skresľujúci údaje atď

1. LCD

Prvý prístup bol zmerať 10 impulzov a potom zobraziť hodnoty na LCD. Keď som zistil, že prenos údajov I2C bol príliš pomalý, zmenil som kód na aktualizáciu iba jedného znaku na impulz.

2. Prístup s minimálnou hodnotou

Aby som ďalej zlepšil stabilitu nameraných údajov, napísal som rutinu sériového výstupu, aby som získal lepší pocit z nameraných údajov. Tam sa ukázalo, že aj keď väčšina čítaní bola do istej miery stabilná, niektoré nie! Niektoré hodnoty „rovnakého“oscilačného impulzu boli od seba tak ďaleko, že by zničilo každý prístup k analýze posunu frekvencie.

Aby som to kompenzoval, vytvoril som „hranicu“, v rámci ktorej bola hodnota dôveryhodná. Tj. keď boli hodnoty viac ako 35 cyklov časovača1 od očakávanej hodnoty, tieto hodnoty boli ignorované (podrobne vysvetlené v návode „Ako naprogramovať detektor kovov na báze Arduina“)

Tento prístup sa ukázal byť veľmi stabilný.

3. Napätie

Pôvodný dizajn Teemo je napájaný napätím pod 5 voltov. Keďže moje predpoklady boli „viac voltov = väčší výkon = väčšia citlivosť“, jednotku som na začiatku napájal 12V. Výsledkom bolo zahriatie MOSFETu. Toto zahriatie potom viedlo k všeobecnému posunu nameraných hodnôt, čo viedlo k častému vyvažovaniu detektora. Znížením napätia na 5 V bolo možné minimalizovať generovanie tepla MOSFET na úroveň, pri ktorej sa nepozoroval takmer žiadny posun hodnôt. Tým bol obvod ešte jednoduchší, pretože palubný regulátor napätia Arduina už nebol potrebný.

Pre MOSFET som pôvodne vybral IRL540. Tento MOSFET je kompatibilný s logickou úrovňou, ale má maximálne napätie 100 V. Dúfal som, že lepší výkon sa zmení na IRL640 s hodnotami 200 V. Výsledky boli bohužiaľ rovnaké. Takže buď IRL540 alebo IRL640 bude vykonávať svoju prácu.

Krok 3: Konečné výsledky

Konečné výsledky
Konečné výsledky
Konečné výsledky
Konečné výsledky
Konečné výsledky
Konečné výsledky

Výhodou detektora je, že rozlišuje medzi drahým a železným materiálom. Nevýhodou je, že citlivosť pri tejto jednoduchej schéme nie je taká dobrá. Na porovnanie výkonu som použil rovnaké referencie ako pre detektor Flip-Coil. Pravdepodobne to bude dobré na určité zameranie, ale s najväčšou pravdepodobnosťou na skutočné sklamanie.

Tu môže byť pôvodný dizajn s regulátorom PIC citlivejší, pretože beží na 32 MHz namiesto 16 MHz a poskytuje vyššie rozlíšenie na detekciu posunov frekvencie.

Výsledky boli dosiahnuté použitím cievky so 48 závitmi pri 100 mm.

Ako vždy, otvorte sa spätnej väzbe

Odporúča: