Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
*** Daha sadə olan yeni bir versiya yayımlandı: https://www.instructables.com/Minimal-Arduino-Metal-Detector/ ***
Metal algılama, sizi açıq havaya çıxaran, yeni yerlər kəşf edən və bəlkə də maraqlı bir şey tapan böyük bir keçmiş vaxtdır. Nəhayət, təhlükəli obyektlər, arxeoloji qalıqlar və ya əhəmiyyətli iqtisadi və ya emosional dəyərə malik əşyalar aşkar edildikdə necə davranacağınıza dair yerli qaydalarınızı yoxlayın.
DIY metal detektorları üçün təlimatlar çoxdur, lakin bu resept xüsusi olaraq bir Arduino mikro nəzarətçisinə əlavə olaraq çox az komponent tələb edir: ümumi bir kondansatör, rezistor və diod, təxminən 20 -dən ibarət bir axtarış bobini ilə birlikdə nüvəni təşkil edir. elektrik keçirən kabelin sarımları. Axtarış bobininin yaxınlığında metal varlığını bildirmək üçün LEDlər, dinamik və/və ya qulaqlıq əlavə olunur. Əlavə bir üstünlük, hamısının ümumi bir 2000 mAh USB gücünün kifayət olduğu və bir neçə saat davam edəcək tək bir 5V gücündən istifadə oluna bilməsidir.
Siqnalları şərh etmək və detektorun hansı materiallara və formalara həssas olduğunu anlamaq həqiqətən fizikanı anlamağa kömək edir. Bir qayda olaraq, detektor, rulonun radiusuna qədər olan məsafədə və ya dərinlikdə olan cisimlərə həssasdır. Bobin müstəvisində cərəyanın axa biləcəyi cisimlərə ən həssasdır və cavab o cisimdəki cərəyan döngəsinin sahəsinə uyğun olacaq. Beləliklə, bobin müstəvisindəki bir metal disk, bobinə dik olan eyni metal diskdən daha güclü bir reaksiya verəcəkdir. Obyektin çəkisi çox da önəmli deyil. Bir bobin müstəvisinə yönəldilmiş nazik bir alüminium folqa parçası, ağır metal cıvatadan daha güclü bir reaksiya verəcəkdir.
Addım 1: İş prinsipi
Elektrik bir bobin içindən axmağa başlayanda bir maqnit sahəsi meydana gətirir. Faraday induksiya qanununa görə, dəyişən maqnit sahəsi maqnit sahəsindəki dəyişikliyə qarşı çıxan bir elektrik sahəsi ilə nəticələnəcək. Beləliklə, bobində cərəyanın artmasına qarşı çıxan bir gərginlik yaranacaq. Bu təsirə öz-özünə indüktans deyilir və indüktans vahidi Henry-dir, burada 1 Henry bobini cərəyan saniyədə 1 Amper dəyişəndə 1V potensial fərq yaradır. N sarımlı və R radiuslu bir bobinin endüktansı təxminən 5µH x N^2 x R, metrdə R ilə.
Bobin yaxınlığında metal bir cismin olması onun endüktansını dəyişəcək. Metalın növündən asılı olaraq endüktans ya arta bilər, ya da azalda bilər. Bir bobin yaxınlığındakı mis və alüminium kimi qeyri-maqnitli metallar endüktansı azaldır, çünki dəyişən maqnit sahəsi cisimdə yerli maqnit sahəsinin intensivliyini azaldan cərəyanlara səbəb olacaqdır. Bir bobinin yanındakı dəmir kimi ferromaqnit materiallar, induktiv maqnit sahələri xarici maqnit sahəsi ilə hizalandığı üçün onun endüktansını artırır.
Bir bobinin endüktansının ölçülməsi, yaxınlıqdakı metalların varlığını göstərə bilər. Bir Arduino, bir kondansatör, bir diod və bir rezistor ilə bir bobinin endüktansını ölçmək mümkündür: bobini yüksək ötürücü LR filtrinin bir hissəsinə çevirmək və onu bir blok dalğası ilə qidalandırmaqla hər yerdə qısa sünbüllər yaranacaq. keçid. Bu sünbüllərin nəbz uzunluğu bobinin endüktansı ilə mütənasibdir. Əslində, LR filtrinin xarakterik vaxtı tau = L/R -dir. 20 sarımlı və diametri 10 sm olan bir bobin üçün L ~ 5µH x 20^2 x 0.05 = 100µH. Arduino'yu həddindən artıq cərəyandan qorumaq üçün minimum müqavimət 200 Ohm -dir. Beləliklə, təxminən 0,5 mikrosaniyə uzunluğunda impulslar gözləyirik. Arduinonun saat tezliyinin 16MHz olduğunu nəzərə alaraq bunları yüksək dəqiqliklə ölçmək çətindir.
Bunun əvəzinə yüksələn nəbz, bir kondansatörü doldurmaq üçün istifadə edilə bilər, sonra Arduino analoqu ilə rəqəmsal çevrilənə (ADC) oxuna bilər. 25mA olan 0,5 mikrosaniyəlik bir nəbzdən gözlənilən yük 12.5nC -dir, bu da 10nF kondansatördə 1.25V verir. Diodun üzərindəki gərginliyin azalması bunu azaldacaq. Pulse bir neçə dəfə təkrarlanırsa, kondansatördəki yük ~ 2V -ə yüksəlir. Bunu analogRead () istifadə edərək Arduino ADC ilə oxumaq olar. Kondansatör daha sonra oxuma pinini bir neçə mikrosaniyə 0V olaraq təyin edərək tez boşaldıla bilər. Bütün ölçmə təxminən 200 mikrosaniyəni, kondansatörün doldurulması və sıfırlanması üçün 100 və ADC çevrilməsi üçün 100 çəkir. Ölçməni təkrarlamaq və nəticəni ortalamaqla dəqiqliyi çox artırmaq olar: ortalama 256 ölçü götürmək 50ms çəkir və dəqiqliyi 16 qat artırır. 10-bit ADC bu yolla 14-bit ADC-nin dəqiqliyinə nail olur.
Alınan bu ölçü, bobinin endüktansı ilə çox qeyri -xətti və buna görə də endüktansın mütləq dəyərini ölçmək üçün uyğun deyil. Ancaq metal aşkarlanması üçün yalnız yaxınlıqdakı metalların olması səbəbindən bobin endüktansının kiçik nisbi dəyişiklikləri ilə maraqlanırıq və bunun üçün bu üsul mükəmməl uyğun gəlir.
Ölçmənin kalibrlənməsi proqramda avtomatik olaraq edilə bilər. Çox vaxt bobinin yanında heç bir metal olmadığını düşünə biləriksə, ortalamadan bir sapma metalın bobinə yaxınlaşdığını göstərən bir siqnaldır. Fərqli rənglərin və ya fərqli tonların istifadəsi, endüktansın birdən -birə artması və ya qəfil azalması arasında fərq qoymağa imkan verir.
Addım 2: Tələb olunan komponentlər
Elektron nüvəsi:
Arduino UNO R3 + prototip qalxanı və ya 5x7 sm prototip lövhəsi olan Arduino Nano
10nF kondansatör
Kiçik siqnal diodu, məsələn. 1N4148
220 ohm müqavimət
Güc üçün:
USB kabel bankı
Vizual çıxış üçün:
Müxtəlif rəngli 2 LED mavi və yaşıl
Cərəyanları məhdudlaşdırmaq üçün 2 220 Ohm rezistor
Səs çıxışı üçün:
Passiv səs siqnalı
Səsləri söndürmək üçün mikrosxem
Qulaqlıq çıxışı üçün:
Qulaqlıq konnektoru
1kOhm müqavimət
Qulaqlıq
Axtarış bobinini asanlıqla bağlamaq/ayırmaq üçün:
2 pinli vintli terminal
Axtarış bobini üçün:
~ 5 metr nazik elektrik kabeli
Bobini tutacaq quruluş. Sərt olmalıdır, ancaq dairəvi olması lazım deyil.
Quruluş üçün:
1 metrlik çubuq, məsələn ağac, plastik və ya selfie çubuğu.
Addım 3: Axtarış Bobini
Axtarış bobini üçün 9 sm diametrli bir karton silindrinin ətrafında ~ 4 m telli tel qoydum və nəticədə təxminən 18 sarım meydana gəldi. Kabelin növü əhəmiyyətsizdir, çünki ohmik müqavimət RL filtrindəki R dəyərindən ən azı on dəfə kiçikdir, buna görə 20 Ohm -dən aşağı qaldığınızdan əmin olun. 1 Ohm ölçdüm, bu təhlükəsizdir. Yalnız yarı bitmiş 10 metrlik bir bağlama telinin alınması da işləyir!
Addım 4: Prototip versiyası
Az sayda xarici komponent nəzərə alınmaqla, prototip qalxanın kiçik çörək taxtasına sxemləri yerləşdirmək mükəmməl mümkündür. Ancaq son nəticə olduqca böyükdür və çox da güclü deyil. Arduino nano istifadə etmək və onu 5x7 sm ölçüdə prototip lövhəsində əlavə komponentlərlə lehimləmək daha yaxşıdır (növbəti addıma baxın)
Faktiki metal aşkarlanması üçün yalnız 2 Arduino sancağı istifadə olunur, onlardan biri LR filtrinə puls vermək, digəri isə kondansatördəki gərginliyi oxumaq üçün. Pulse hər hansı bir çıxış pinindən edilə bilər, ancaq oxunuş A0-A5 analog pinlərindən biri ilə edilməlidir. 2 LED və səs çıxışı üçün daha 3 pin istifadə olunur.
Budur resept:
- Çörək taxtasında, 220Ohm müqavimətini, diodu və 10nF kondansatörünü, diodun mənfi ucu (qara xətt) ilə kondansatörə doğru bağlayın.
- A0 -u rezistora qoşun (ucu diodla əlaqəli deyil)
- A1-i diodun və kondansatörün kəsişmə nöqtəsinə bağlayın
- Kondansatörün bağlı olmayan terminalını yerə bağlayın
- Bobinin bir ucunu rezistor-diodun kəsişmə nöqtəsinə bağlayın
- Bobinin digər ucunu yerə bağlayın
- Müsbət terminalı olan bir LED -i D12 pininə və mənfi terminalını 220 Ohm rezistor vasitəsilə yerə bağlayın
- Müsbət terminalı olan digər LED -i D11 pininə və mənfi terminalını 220 Ohm rezistor vasitəsilə yerə bağlayın
- İsteğe bağlı olaraq, pin 10 ilə şüa arasına passiv bir səs siqnalı qulaqlıq və ya dinamik bağlayın. Səs həcmini azaltmaq üçün bir kondansatör və ya rezistor ardıcıl olaraq əlavə edilə bilər
Hamısı budur!
Addım 5: Lehimli bir versiya
Metal detektorunu çölə çıxarmaq üçün onu lehimləmək lazımdır. Ümumi 7x5 sm ölçüdə prototip lövhəsi rahat bir Arduino nano və bütün lazımi komponentlərə uyğundur. Əvvəlki addımda olduğu kimi eyni sxemləri istifadə edin. Lazım olmadıqda səsi söndürmək üçün səs siqnalı ilə birlikdə bir keçid əlavə etməyi faydalı hesab etdim. Vidalı bir terminal, lehimləmədən fərqli rulonları sınamağa imkan verir. Hər şey Arduino Nanonun (mini və ya mikro-USB) portuna verilən 5V ilə təchiz edilmişdir.
Addım 6: Proqram təminatı
İstifadə olunan Arduino eskizi burada əlavə edilmişdir. Yükləyin və işə salın. Arduino 1.6.12 IDE istifadə etdim. Ölçmə başına puls sayını tənzimləmək üçün əvvəlində debug = true ilə işlətmək tövsiyə olunur. Ən yaxşısı, 200 ilə 300 arasında bir ADC oxunuşuna sahib olmaqdır. Bobininizin fərqli oxunuşlar verməsi halında puls sayını artırın və ya azaldın.
Eskiz bir növ özünü kalibr edir. Bobinin metaldan uzaq olması üçün onu sakit buraxmaq kifayətdir. İndüktansda yavaş sürüşmələr təqib ediləcək, ancaq ani böyük dəyişikliklər uzunmüddətli ortalamaya təsir etməyəcək.
Addım 7: Bir çubuğa quraşdırın
Zəmində sürünərək xəzinə ovlamaq istəmədiyiniz üçün üç lövhə, rulon və batareya çubuğun ucuna quraşdırılmalıdır. Yüngül, yığıla bilən və tənzimlənə bilən bir selfie çubuğu bunun üçün idealdır. 5000 mAh güc bankım selfie çubuğuna sığdı. Lövhə daha sonra kabel bağları və ya elastiklərlə bağlana bilər və bobin də eyni şəkildə ya batareyaya, ya da çubuqa bağlana bilər.
Addım 8: Necə istifadə olunur
İstinad yaratmaq üçün bobini metallardan ~ 5s uzaqda saxlamaq kifayətdir. Sonra, bobin bir metala yaxınlaşdıqda, yaşıl və ya mavi LED yanıb sönməyə başlayacaq və səs siqnalı və/və ya qulaqlıqlarda bip səsi çıxacaq. Mavi flaşlar və aşağı səs siqnalları ferromaqnit olmayan metalların olduğunu göstərir. Yaşıl işıqlar və yüksək səs siqnalları ferromaqnit metalların olduğunu göstərir. Diqqət yetirin ki, bobin 5 saniyədən çox metalın yanında saxlanıldıqda, bu oxunuşa istinad olaraq baxılacaq və detektor metaldan götürüldükdə bip səsi gəlməyə başlayacaq. Havada bir neçə saniyə səsləndikdən sonra yenidən sakitləşəcək. Flaşların və səs siqnallarının tezliyi siqnalın gücünü göstərir. Xoşbəxt ov!