Sisukord:
Video: Arduino baasil impulssinduktsiooni detektor - LC -lõks: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Otsides täiendavaid ideid lihtsa, ainult ühe toitepingega metallidetektori Ardino Pulse Induktsiooni kohta, sattusin Teemo kodulehele:
www.digiwood.ee/8-electronic-projects/2-metal-detectorcircuit
Ta lõi lihtsa impulssinduktsiooni detektori, kasutades LC-Trap põhimõtet. Sarnased ahelad postitasid TechKiwiGadgets saidile Instructable. Välja arvatud see, et Teemo vooluahel kasutab PIC -mikrokontrolleri sisemisi komparaatoreid, vajades seega vähem väliseid komponente
Nii et mul oli väljakutse kasutada selle skeemi jaoks PIC-kontrolleri asemel Arduino ja vaadata, kui kaugele ma jõuan.
Samm: skemaatiline
Arduino skeem on natuke keerulisem, kuna Arduino ei võimalda sisemist analoogsignaali suunata võrdlusseadme sisendisse. See lisab lihtsa pingejaoturi jaoks kaks komponenti. See toob kaasa disaini, millel on 12 välist komponenti (jättes välja kõlari ja 16x2 LCD -ekraani), võrreldes 9 Flip Coil -disainiga.
Skeemi tööpõhimõtet on Teemo veebisaidil väga hästi selgitatud. Põhimõtteliselt on mähis toide ja seejärel välja lülitatud. Pärast väljalülitamist tekitavad mähis ja kondensaator paralleelselt summutatud võnkumise. Võnkumise sagedust ja lagunemist mõjutab pooli läheduses olev metall. Ahela kohta lisateabe saamiseks vaadake Teemo või TechKiwi lehte siin Instructables.
Nagu Flip Coil Impulsi induktsioonianduris, kasutan sisemist võrdlusvahendit ja võimalust käivitada katkestus, et saada mähiselt signaal.
Sel juhul saan mitu katkestust, kuna pinge võngub võrdlevas seadistatud võrdluspinge ümber. Võnkumise lõppedes langeb pinge mähisel umbes 5 V, kuid mitte täpselt. Valisin 200 oomi ja 10 k oomi pingejaoturi, et saada umbes 4,9 volti pinge
Skeemide keerukuse vähendamiseks kasutasin D4 ja D5, et saada GND (10 k takisti jaoks) ja 5 V (220 oomi takisti jaoks). Tihvtid on seatud detektori käivitamisel.
Selles versioonis lisasin kõlariühenduse, kasutades helitugevuse abil reguleeritavat mitme tooni rakendust, nagu on kirjeldatud jaotises Arduino -põhise metallidetektori programmeerimine. See võimaldab sihtmärgi omadusi eristada ja signaali tugevust tunda. Kõlari saab ühendada täiendava 5 -kontaktilise päisega. Päise ülejäänud 3 tihvti kasutatakse nuppude jaoks (tuleb rakendada).
2. samm: programmeerimine
Nüüd, kui vooluahel on kavandatud ja prototüüp valmis, on aeg leida sobiv meetod metalli tuvastamiseks.
1. Impulsside lugemine
Üks idee on võnkeimpulsside loendamine kuni täieliku lagunemiseni.
Kui mähise lähedal on metalli, väheneb võnkumine. Sel juhul tuleks võrdlusseadme võrdluspinge seada tasemele, kus viimane impulss on vaevalt veel mõõdetud. Nii et kui midagi avastatakse, kaob see impulss kohe. See oli natuke problemaatiline.
Iga võnkumise laine tekitab kaks katkestust. Üks laskudes alla ja teine tagasi üles. Võrdluspinge täpselt võnkumislaine haripunkti seadmiseks peaks aeg alla ja üles tõusmise vahel olema võimalikult lühike (vt pilti). Kahjuks tekitab siin probleeme Arduino keskkonna üldkulud.
Iga katkestuse käivitaja nõuab seda koodi:
ISR (ANALOG_COMP_vect) {
Toggle1 = Lülita0 // salvesta viimane väärtus Toggle0 = TCNT1; // hankige uus väärtus}
See kood võtab natuke aega (kui ma õigesti mäletan, siis umbes 78 juhendamistsüklit, mille sagedus on umbes 5 mikrosekundit @ 16 MHz). Seetõttu on minimaalne tuvastatav kaugus kahe impulsi vahel täpselt see aeg, mis sellel koodil kulub. Kui kahe päästiku vaheline aeg lüheneb (vt pilti), jääb see märkamatuks, kuna kood on enne teise katkestuse tuvastamist täielikult täidetud
See toob kaasa tundlikkuse vähenemise. Samal ajal märkasin, et võnkumiste summutamine on väga tundlik igasuguste välismõjude suhtes, muutes selle lähenemisviisi kokku pisut keeruliseks.
2. Sageduse mõõtmine
Teine võimalus metalli tuvastamiseks on võnkumissageduse mõõtmine. Sellel on võnkumise summutuse mõõtmisega võrreldes suur eelis, kuna sageduse muutus võimaldab metalli eristada. Juhul, kui mähise lähedal on must materjal, aeglustub sagedus, kui mähise lähedal on väärismetalli, suureneb sagedus.
Lihtsaim viis sageduse mõõtmiseks on impulsside mõõtmine pärast mähiste võnkumist. Ajavahemik alguse ja viimase impulsi vahel jagatuna mõõdetud impulsside koguhulgaga on sagedus. Kahjuks on viimased võnkumised üsna ebasümmeetrilised. Kuna metalli olemasolu mõjutab ka võnkumise lagunemist, on viimased võnked veelgi ebasümmeetrilisemad, on näitu raske tõlgendada. Pildil on see näidatud ristumistega 1 kuni 1 'ja 2 kuni 2'.
Seetõttu on parem viis sageduse mõõtmiseks kasutada mõningaid varasemaid impulsse. Testimise ajal sain huvitaval kombel teada, et mõned impulssimpulsid on tundlikumad kui teised. Kuskil 2/3 võnkumistest on hea koht andmete hankimiseks.
Andmete töötlemine
Esialgne kood, mis põhineb silmusel (), mis nõuab mähise ajastamiseks impulsi () funktsiooni. Kuigi tulemused polnud halvad, tekkis mul soov ajakava parandada. Selleks lõin täielikult taimeripõhise koodi, mis viis eraldi installimatu Arduino -põhise metallidetektori programmeerimise juurde. Selles juhendis selgitatakse üksikasjalikult ajastust, andmete krigistavat LCD -väljundit jne
1. LCD
Esimene lähenemisviis oli mõõta 10 impulssi ja seejärel kuvada väärtused LCD -ekraanil. Kuna sain teada, et I2C andmeedastus oli liiga aeglane, muutsin koodi, et värskendada ainult ühte märki impulsi kohta.
2. Minimaalse väärtuse meetod
Lugemiste stabiilsuse parandamiseks kirjutasin jadaväljundi rutiini, et saada paremini mõõdetud andmeid. Seal selgus, et kuigi enamik näiteid olid mõnevõrra stabiilsed, mõned mitte! Mõned "sama" võnkumisimpulsi näidud olid üksteisest nii kaugel, et see hävitaks iga lähenemisviisi sageduse muutuse analüüsimiseks.
Selle kompenseerimiseks lõin "piiri", mille piires väärtus oli usaldusväärne. I. e. kui väärtused olid oodatavast väärtusest enam kui 35 taimeritsükli1 kaugusel, ignoreeriti neid väärtusi (üksikasjalikult selgitatud juhendis "Kuidas programmeerida Arduino -põhist metallidetektorit")
See lähenemine osutus väga stabiilseks.
3. Pinge
Teemo esialgne disain töötab alla 5 volti. Kuna minu eeldused olid “rohkem volte = rohkem võimsust = rohkem tundlikkust”, toitsin seadme alguses 12 V toitega. Selle tulemusena kuumutati MOSFET. Selle kuumutamise tulemuseks oli mõõdetud väärtuste üldine triiv, mis viis detektori sagedase uuesti tasakaalustamiseni. Vähendades pinget 5 V -ni, saaks MOSFET -i soojusenergia minimeerida tasemele, kus näitude triivimist peaaegu ei täheldatud. See muutis vooluringi veelgi lihtsamaks, kuna Arduino pardapingeregulaatorit polnud enam vaja.
MOSFETi jaoks valisin esialgu IRL540. See MOSFET ühildub loogikatasandiga, kuid selle maksimaalne pinge on 100 V. Lootsin paremat jõudlust, muutudes 200V nimivõimsusega IRL640 -ks. Kahjuks olid tulemused samad. Seega teeb seda tööd kas IRL540 või IRL640.
3. samm: lõpptulemused
Detektori eeliseks on see, et see eristab vääris- ja mustmaterjali. Puuduseks on see, et selle lihtsa skeemi tundlikkus pole nii hea. Toimivuse võrdlemiseks kasutasin samu viiteid nagu Flip-Coil detektoril. Tõenäoliselt sobib mõnele täpsustamisele, kuid tõelisele otsimisele tõenäoliselt pettumus.
Siin võib algne disain koos PIC -kontrolleriga olla tundlikum, kuna see töötab 32 MHz sageduse 16 MHz asemel, pakkudes kõrgemat eraldusvõimet sageduse muutuste tuvastamiseks.
Tulemused saavutati, kasutades mähist 48 pööret @ 100 mm.
Nagu alati, ole avatud tagasisidele
Soovitan:
DIY Lab - HD -tsentrifuug Arduino baasil: 3 sammu
DIY Lab - HD Centrifuge Arduino Põhineb: PT // Construimos uma centrífuga utilizando um HD velho com control of velocidade baseado em Arduino. ET // Ehitasime tsentrifuugi, kasutades vana HD -d koos kiiruse reguleerimisega, mis põhineb Arduino -l
Kana ukseuks - Arduino baasil: 5 sammu (piltidega)
Chicken Coop Door - Arduino Põhineb: kõigepealt on minu emakeel hollandi keel, nii et vabandage võimalike kirjavigade pärast. Kui midagi pole selge, jätke kommentaaridesse sõnum. See on minu esimene arduino projekt. Kuna mu naine oli väsinud iga päev käsitsi avama kapiukse
Raudtee automaatne skeem, mis sõidab kahe rongiga (V2.0) - Arduino baasil: 15 sammu (piltidega)
Raudtee automaatne skeem, mis sõidab kahe rongiga (V2.0) | Arduino baasil: Raudteemudelite paigutuse automatiseerimine Arduino mikrokontrollerite abil on suurepärane võimalus ühendada mikrokontrollerid, programmeerimine ja mudeli raudtee ühendamine üheks hobiks. Saadaval on hulk projekte rongi iseseisva sõitmise kohta raudteemudelil
DIY Arduino baasil impulssinduktsiooni metallidetektor: 5 sammu
DIY Arduino baasil impulssinduktsiooni metallidetektor: see on suhteliselt lihtne metallidetektor, millel on suurepärased omadused
Arduino baasil impulssinduktsiooni detektor - klapp: 5 sammu (piltidega)
Arduino -põhine impulssinduktsiooniandur - klapprull: idee Kui varem ehitasin mõned metallidetektorid erinevate tulemustega, tahtsin uurida Arduino võimalusi selles suunas. Mõned head näited selle kohta, kuidas Arduino abil metallidetektori ehitada, on mõned siin õpetlik