Sadržaj:
Video: Arduino detektor impulsne indukcije - LC -zamka: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Dok sam tražio daljnje ideje za jednostavan detektor metala Ardino Pulse Induction sa samo jednim naponom napajanja, naišao sam na početnu stranicu Teema:
www.digiwood.ee/8-electronic-projects/2-metal-detector-circuit
Napravio je jednostavan detektor pulsne indukcije pomoću LC-Trap principa. Slični sklopovi objavljeni su ovdje na Instructable od strane TechKiwiGadgets. Osim što Teemo krug koristi unutarnje usporedbe PIC mikrokontrolera, pa mu je potrebno manje vanjskih komponenti
Tako da sam bio izazov da za ovu shemu koristim Arduino umjesto PIC-kontrolera i pogledam koliko daleko mogu doći.
Korak 1: Shematski prikaz
Arduino shema je malo složenija jer Arduino ne dopušta usmjeravanje unutarnjeg analognog signala na ulaz komparatora. Ovo dodaje dvije komponente za jednostavan razdjelnik napona. To dovodi do dizajna s 12 vanjskih komponenti (izostavljajući zvučnik i 16x2 LCD), u usporedbi s 9 dizajna preklopne zavojnice.
Princip rada sheme vrlo je dobro objašnjen na web stranici Teema. U osnovi se zavojnica napaja, a zatim isključuje. Nakon isključivanja, zavojnica i kondenzator paralelno će stvoriti prigušeno osciliranje. Na frekvenciju i opadanje titranja utječe metal u blizini zavojnice. Za dodatne pojedinosti o krugu pogledajte stranicu Teema ili TechKiwi -a ovdje na Instructables.
Kao i u detektoru impulsne indukcije sa preklopnom zavojnicom, koristim unutarnji usporednik i mogućnost pokretanja prekida radi dobivanja signala iz zavojnice.
U ovom slučaju dobit ću više prekida jer napon oscilira oko referentnog napona postavljenog na usporedniku. Na kraju titranja, napon na zavojnici će se smiriti oko 5V, ali ne točno. Odabrao sam razdjelnik napona s 200 ohma i 10 k ohma da dobijem napon od oko 4,9 volti
Da bih smanjio složenost shema, koristio sam D4 i D5 za osiguranje GND (za 10k otpornik) i 5V (za otpornik od 220 Ohma). Igle se postavljaju pri pokretanju detektora.
U ovoj verziji dodao sam vezu zvučnika pomoću višetonske aplikacije za kontrolu glasnoće kako je opisano u Kako programirati detektor metala na bazi Arduina. To omogućuje razlikovanje svojstava cilja, kao i osjećaj za jačinu signala. Zvučnik se može povezati s dodatnim 5 -polnim zaglavljem. Preostala 3 pina zaglavlja koristit će se za gumbe (koje će se implementirati).
Korak 2: Programiranje
Sada kada je sklop osmišljen i prototip izgrađen, vrijeme je za pronalaženje odgovarajućeg pristupa za otkrivanje metala.
1. Brojanje impulsa
Brojanje impulsa oscilacije sve dok se potpuno ne raspadne jedna je ideja.
Ako u blizini zavojnice postoji metal, količina oscilacija se smanjuje. U tom slučaju referentni napon komparatora treba postaviti na razinu na kojoj se posljednji impuls jedva još uvijek mjeri. Dakle, u slučaju da se nešto otkrije, ovaj puls odmah nestaje. Ovo je bilo pomalo problematično.
Svaki val oscilacije stvara dva prekida. Jedan pri spuštanju i jedan prema gore. Da biste referentni napon postavili točno na vrh oscilacijskog vala, vrijeme između spuštanja i podizanja mora biti što je moguće kraće (vidi sliku). Nažalost, ovdje troškovi okoline Arduina stvaraju probleme.
Svaki okidač prekida poziva za ovaj kôd:
ISR (ANALOG_COMP_vect) {
Toggle1 = Toggle0 // spremi zadnju vrijednost Toggle0 = TCNT1; // dobiti novu vrijednost}
Ovaj kôd traje neko vrijeme (ako se dobro sjećam, oko 78 ciklusa instrukcija koje su oko 5 mikrosekundi na 16 MHz). Stoga je minimalna detektibilna udaljenost između dva impulsa točno vrijeme potrebno ovom kodu. Ako vrijeme između dva okidača postane kraće (vidi sliku), ono će ostati neotkriveno, jer se kôd u potpunosti izvršava prije otkrivanja drugog prekida
To dovodi do gubitka osjetljivosti. Istodobno sam primijetio da je prigušenje oscilacija vrlo osjetljivo na bilo koje vanjske utjecaje, pa je ovaj pristup ukupno malo otežan.
2. Mjerenje frekvencije
Drugi način otkrivanja metala je mjerenje učestalosti oscilacija. To ima veliku prednost u usporedbi s mjerenjem prigušenja oscilacija jer promjena frekvencije omogućuje diskriminaciju metala. U slučaju da se u blizini zavojnice nalazi željezni materijal, frekvencija će se usporiti, u slučaju da se u blizini zavojnice nalazi plemeniti metal, frekvencija će se povećati.
Najjednostavniji način mjerenja frekvencije je mjerenje količine impulsa nakon što zavojnice počnu oscilirati. Vremensko razdoblje između početka i posljednjeg impulsa podijeljeno s ukupnom količinom izmjerenih impulsa je frekvencija. Nažalost, posljednjih nekoliko oscilacija prilično je nesimetrično. Budući da prisutnost metala također utječe na opadanje oscilacija, posljednje oscilacije su još nesimetričnije, očitavanja je teško interpretirati. Na slici je ovo prikaz s prijelazima 1 do 1’i 2 do 2’.
Bolji način je stoga upotrijebiti neke ranije impulse za mjerenje frekvencije. Zanimljivo je da sam tijekom testiranja otkrio da su neki impulsi osjetljiviji od drugih. Negdje na 2/3 oscilacija dobra je točka za prikupljanje podataka.
Obrada podataka
Početni kod koji se temelji na loop () pozivanju funkcije pulse () za mjerenje vremena zavojnice. Iako rezultati nisu bili loši, imao sam želju poboljšati vrijeme. Da bih to učinio, stvorio sam kôd temeljen na potpuno vremenskom rasporedu, što je dovelo do zasebnog instuctable načina programiranja detektora metala na bazi Arduina. Ova instrukcija detaljno objašnjava vrijeme, LCD izlaz podataka itd
1. LCD
Prvi pristup bio je mjerenje 10 impulsa, a zatim prikazivanje vrijednosti na LCD -u. Kako sam otkrio da je prijenos podataka I2C prespor, promijenio sam kôd da ažuriram samo jedan znak po impulsu.
2. Pristup minimalne vrijednosti
Kako bih dodatno poboljšao stabilnost očitanja, napisao sam rutinu serijskog izlaza kako bih bolje osjetio mjerene podatke. Tamo je postalo očito da, iako je većina očitanja bila donekle stabilna, neka nisu! Neka očitanja "istog" oscilacijskog impulsa bila su toliko udaljena da bi uništila svaki pristup analiziranju promjene frekvencije.
Kako bih to nadoknadio, stvorio sam "granicu" unutar koje su vrijednosti pouzdane. I. e. kada su vrijednosti bile udaljene više od 35 ciklusa timera1 od očekivane vrijednosti, te su vrijednosti zanemarene (detaljno objašnjeno u uputama "Kako programirati detektor metala na bazi Arduina")
Ovaj pristup pokazao se vrlo stabilnim.
3. Napon
Izvorni dizajn Teema ima napajanje ispod 5 volti. Kako su moje pretpostavke bile "više volti = veća snaga = veća osjetljivost", napajao sam jedinicu u početku s 12V. To je rezultiralo zagrijavanjem MOSFET -a. Ovo zagrijavanje tada je rezultiralo općim pomakom izmjerenih vrijednosti, što je dovelo do čestih ponovnih balansiranja detektora. Smanjivanjem napona na 5V, proizvodnja topline MOSFET -a mogla bi se svesti na razinu na kojoj se gotovo ne opažaju pomaci očitanja. To je krug učinilo još jednostavnijim jer regulator napona na ploči Arduina više nije bio potreban.
Za MOSFET sam prvotno odabrao IRL540. Ovaj MOSFET je kompatibilan s logičkom razinom, ali ima maksimalni napon od 100V. Nadao sam se boljim performansama promjenom na IRL640 s 200V napona. Nažalost, rezultati su bili isti. Dakle, IRL540 ili IRL640 će obaviti posao.
Korak 3: Konačni rezultati
Prednost detektora je u tome što razlikuje dragocjeni i željezni materijal. Nedostatak je to što osjetljivost s ovom jednostavnom shemom nije tako dobra. Za usporedbu performansi koristio sam iste reference kao i za detektor Flip-Coil. Vjerojatno dobro za neke precizne točke, ali najvjerojatnije razočaravajuće za pravo traženje.
Ovdje bi originalni dizajn s PIC kontrolerom mogao biti osjetljiviji jer radi na 32MHz umjesto na 16MHz terfora koji pruža veću rezoluciju za otkrivanje pomaka u frekvenciji.
Rezultati su postignuti korištenjem zavojnice s 48 zavoja na 100 mm.
Kao i uvijek, otvoren za povratne informacije
Preporučeni:
Arduino detektor otvorenih prozora - za zimu: 6 koraka
Arduino detektor otvorenih prozora - za zimu: vani postaje hladno, ali ponekad mi treba malo svježeg zraka u sobama. Otvaram prozor, izlazim iz sobe, zatvaram vrata i želim se vratiti za 5 do 10 minuta. I nakon nekoliko sati sjetim se da je prozor otvoren … Možda znate da
Jednostavan Arduino detektor metala: 8 koraka (sa slikama)
Jednostavan Arduino detektor metala: *** Objavljena je nova verzija koja je još jednostavnija: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ *** Otkrivanje metala sjajna je prošlost ste na otvorenom, otkrivate nova mjesta i možda pronađete nešto zanimljivo. Provjeriti te
DIY Arduino pin pointer detektor metala: 3 koraka
DIY Arduino Pin Pointer detektor metala: Tradicionalni detektor metala može locirati ukopan predmet i dati vam grubu lokaciju objekta koji je pod zemljom Pinpointer vam omogućuje da odredite lokaciju objekta, napravite manju rupu prilikom kopanja i izvadite predmet . Također, može
Arduino detektor impulsne indukcije - preklopna zavojnica: 5 koraka (sa slikama)
Arduino detektor s impulsnom indukcijom - Flip Coil: IdeaHaving je izgradio neke detektore metala u prošlosti s različitim rezultatima. Htio sam istražiti mogućnosti Arduina u tom smjeru. Postoje neki dobri primjeri kako izgraditi detektore metala s Arduinom, neki ovdje kao uputstvo
IOT detektor dima: Ažurirajte postojeći detektor dima s IOT -om: 6 koraka (sa slikama)
IOT detektor dima: Ažurirajte postojeći detektor dima s IOT -om: Popis suradnika, izumitelj: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Nadzornik: dr. Chia Kim Seng Zavod za mehatroničko i robotsko inženjerstvo, Fakultet elektrotehnike i elektronike, Sveučilište Tun Hussein Onn Malezija. Distributer