Բովանդակություն:
Video: Arduino- ի վրա հիմնված իմպուլսային ինդուկցիայի դետեկտոր - LC -Trap: 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Պարզապես Ardino Pulse Induction մետաղական դետեկտորի համար լրացուցիչ գաղափարներ փնտրելիս, միայն մեկ մատակարարման լարմամբ, ես հանդիպեցի Teemo- ի գլխավոր էջին.
www.digiwood.ee/8-electronic-projects/2-metal-detector-circuit
Նա ստեղծեց պարզ Pulse Induction դետեկտոր ՝ օգտագործելով LC-Trap սկզբունքը: Նմանատիպ սխեմաները տեղադրվել են այստեղ Instructable by TechKiwiGadgets կայքում: Հաշվի առնելով, որ Teemo- ի սխեման օգտագործում է PIC միկրոկառավարիչի ներքին համեմատիչները, ուստի ավելի քիչ արտաքին բաղադրիչների կարիք ունի
Այսպիսով, ինձ մարտահրավեր նետեցին այս սխեմատիկ պատկերի համար օգտագործել Arduino- ն PIC- վերահսկիչի փոխարեն և տեսնել, թե որքան հեռու կարող եմ հասնել:
Քայլ 1: Սխեմատիկ
Arduino- ի սխեման մի փոքր ավելի բարդ է, քանի որ Arduino- ն թույլ չի տալիս ներքին անալոգային ազդանշանը ուղարկել համեմատիչի մուտքին: Սա ավելացնում է երկու բաղադրիչ `պարզ լարման բաժանարարի համար: Սա հանգեցնում է 12 արտաքին բաղադրիչներով դիզայնի (բաց թողնելով բարձրախոսը և 16x2 LCD- ը) ՝ Flip Coil- ի դիզայնի 9 -ի համեմատ:
Սխեմատիկայի աշխատանքի սկզբունքը շատ լավ բացատրված է Teemo- ի կայքում: Հիմնականում կծիկն սնվում է, այնուհետև անջատվում: Անջատվելուց հետո կծիկն ու կոնդենսատորը զուգահեռ կստեղծեն թուլացած տատանում: Տատանման հաճախականությունը և քայքայումը կախված են մետաղից ՝ կծիկի հարևանությամբ: Շղթայի լրացուցիչ մանրամասների համար տե՛ս Teemo- ի կամ TechKiwi- ի էջը ՝ այստեղ ՝ Instructables:
Ինչպես Flip Coil Pulse Induction դետեկտորում, ես օգտագործում եմ ներքին համադրիչը և հնարավորությունը ՝ անջատիչ հրահրելու համար ՝ կծիկից ազդանշան ստանալու համար:
Այս դեպքում ես կստանամ բազմաթիվ ընդհատումներ, քանի որ լարումը տատանվում է համեմատիչում տեղադրված հղման լարման շուրջ: Տատանման վերջում կծիկի լարումը կկարգավորվի 5 Վ -ի սահմաններում, բայց ոչ ճշգրիտ: Ես ընտրեցի 200 Օմ և 10 Կ Օմ լարման անջատիչ ՝ մոտ 4,9 վոլտ լարման հասնելու համար
Սխեմաների բարդությունը նվազեցնելու համար ես օգտագործել եմ D4 և D5 ՝ GND (10k Resistor- ի համար) և 5V (220 Օմ դիմադրության համար) ապահովելու համար: Կապերը տեղադրվում են դետեկտորի գործարկման սկզբում:
Այս տարբերակում ես ավելացրեցի բարձրախոսների միացում ՝ օգտագործելով ձայնի վերահսկման բազմաշերտ գնահատիչը, ինչպես նկարագրված է Ինչպես ծրագրավորել Arduino- ի վրա հիմնված մետաղական դետեկտորը: Սա թույլ է տալիս տարբերակել թիրախի հատկությունները, ինչպես նաև զգալ ազդանշանի ուժի նկատմամբ: Բարձրախոսը կարող է միացվել լրացուցիչ 5 փին վերնագրին: Վերնագրի մնացած 3 կապերը կօգտագործվեն սեղմման կոճակների համար (պետք է իրականացվեն):
Քայլ 2: mingրագրավորում
Այժմ, երբ շղթան նախագծված է և նախատիպը կառուցված է, ժամանակն է գտնել մետաղը հայտնաբերելու համապատասխան մոտեցում:
1. Իմպուլսների հաշվարկ
Տատանումների իմպուլսների հաշվարկը մինչև այն ամբողջությամբ քայքայելը մեկ գաղափար է:
Եթե կծիկին մոտ մետաղ կա, ապա տատանումների քանակը նվազում է: Այս դեպքում համեմատիչի լարման լարումը պետք է սահմանվի այնպիսի մակարդակի, որ վերջին զարկերակը հազիվ թե դեռ չափված լինի: Այսպիսով, ինչ -որ բան հայտնաբերելու դեպքում այս զարկերակն անմիջապես անհետանում է: Սա մի փոքր խնդրահարույց էր:
Տատանման յուրաքանչյուր ալիք ստեղծում է երկու ընդհատում: Մեկը իջնելիս և մեկը վեր բարձրանալիս: Տատանման ալիքի գագաթնակետին հղումային լարումը ճշգրտորեն սահմանելու համար իջնելու և բարձրանալու միջև ընկած ժամանակը պետք է լինի հնարավորինս կարճ (տես նկարը): Unfortunatelyավոք, այստեղ Arduino միջավայրի գերբեռնվածությունը խնդիրներ է ստեղծում:
Այս կոդի համար ընդմիջման յուրաքանչյուր ձգան զանգում է.
ISR (ANALOG_COMP_vect) {
Toggle1 = Toggle0 // պահպանել վերջին արժեքը Toggle0 = TCNT1; // ստանալ նոր արժեք}
Այս կոդը որոշ ժամանակ է պահանջում (եթե ճիշտ եմ հիշում, մոտ 78 հրահանգների ցիկլը կախարդը կազմում է մոտ 5 միկրովայրկյան @ 16 ՄՀց): Հետևաբար, երկու իմպուլսի միջև նվազագույն հայտնաբերելի հեռավորությունը հենց այս կոդի տևողությունն է: Եթե երկու գործարկիչների միջև ընկած ժամանակահատվածը կարճանա (տես նկարը), այն աննկատ կմնա, քանի որ ծածկագիրը ամբողջությամբ կատարված է մինչև երկրորդ ընդհատումը հայտնաբերելը:
Սա հանգեցնում է զգայունության կորստի: Միևնույն ժամանակ, ես նկատեցի, որ տատանումների թուլացումը շատ զգայուն է ցանկացած արտաքին ազդեցության նկատմամբ, դրանով իսկ ընդհանուր առմամբ մի փոքր դժվարացնելով այս մոտեցումը:
2. Հաճախականության չափում
Մետաղի հայտնաբերման մեկ այլ եղանակ է տատանումների հաճախականության չափումը: Սա մեծ առավելություն ունի տատանումների թուլացումը չափելու համեմատ, քանի որ հաճախականության փոփոխությունը թույլ է տալիս մետաղի խտրականություն դնել: Այն դեպքում, երբ կծիկի մոտ կա գունավոր նյութ, հաճախականությունը կդանդաղի, եթե կծիկի մոտ թանկարժեք մետաղ կա, հաճախականությունը կաճի:
Հաճախականությունը չափելու ամենահեշտ ձևն այն է, որ կծիկներն սկսեն տատանվելուց հետո չափել իմպուլսների քանակը: Սկզբի և վերջին զարկերակի միջև ընկած ժամանակահատվածը, որը բաժանված է չափված իմպուլսների ընդհանուր քանակով, հաճախականությունն է: Unfortunatelyավոք, վերջին մի քանի տատանումները բավականին անհամաչափ են: Քանի որ մետաղի առկայությունը նույնպես ազդում է տատանումների քայքայման վրա, վերջին տատանումները նույնիսկ ավելի անհամաչափ են, ընթերցումները դժվար է մեկնաբանել: Նկարում սա ցուցադրվում է 1 -ից 1 'և 2 -ից 2' խաչմերուկներով:
Հետևաբար, ավելի լավ միջոց է օգտագործել որոշ ավելի վաղ իմպուլսներ `հաճախականությունը չափելու համար: Փորձարկման ընթացքում, հետաքրքիր է, ես պարզեցի, որ որոշ իմպուլսային իմպուլսներ ավելի զգայուն են, քան մյուսները: Տատանումների 2/3 -ում ինչ -որ տեղ լավ կետ է տվյալների ձեռքբերման համար:
Տվյալների մշակում:
Սկզբնական ծածկագիրը հիմնված է օղակի () վրա, որը պահանջում է իմպուլս () ֆունկցիա ՝ կծիկի ժամանակը որոշելու համար: Թեև արդյունքները վատը չէին, ես ցանկություն ունեի բարելավել ժամանակը: Որպեսզի դա անեմ, ես ստեղծեցի լիովին ժամանակաչափի վրա հիմնված կոդ, որը հանգեցրեց առանձին անստույտիկ Ինչպես ծրագրավորել Arduino- ի վրա հիմնված մետաղական դետեկտոր: Այս հրահանգը մանրամասն բացատրում է ժամանակը, տվյալների ճռճռման LCD ելքը և այլն
1. LCD- ը
Առաջին մոտեցումը 10 իմպուլսի չափումն էր, այնուհետև LCD- ի արժեքների ցուցադրումը: Երբ պարզեցի, որ I2C տվյալների փոխանցումը չափազանց դանդաղ էր, ես փոխեցի ծածկագիրը ՝ մեկ զարկերակին միայն մեկ նիշ թարմացնելու համար:
2. Նվազագույն արժեքի մոտեցում
Ընթերցումների կայունությունը հետագայում բարելավելու համար ես գրեցի հաջորդական ելքային ռեժիմ `չափված տվյալների նկատմամբ ավելի լավ զգալու համար: Այնտեղ ակնհայտ դարձավ, որ չնայած ընթերցումների մեծ մասը որոշ չափով կայուն էին, որոշները `ոչ: «Նույն» տատանումների զարկերակի որոշ ընթերցումներ այնքան հեռու էին միմյանցից, որ դա կփլուներ յուրաքանչյուր մոտեցում ՝ հաճախականության փոփոխությունը վերլուծելու համար:
Սա փոխհատուցելու համար ես ստեղծեցի «սահման», որի սահմաններում արժեքը վստահելի էր: I. ե. երբ արժեքները ակնկալվող արժեքից ավելի քան 35 ցիկլ ժամանակաչափ 1 հեռու էին, այդ արժեքներն անտեսվում էին (մանրամասն բացատրվում է «Ինչպես ծրագրավորել Arduino- ի վրա հիմնված մետաղական դետեկտորը» հրահանգով)
Այս մոտեցումն ապացուցեց, որ շատ կայուն է:
3. Լարման
Teemo- ի օրիգինալ դիզայնը սնուցվում է 5 վոլտից ցածր: Քանի որ իմ ենթադրությունները «ավելի շատ վոլտ = ավելի շատ ուժ = ավելի զգայունություն» էին, ես սկզբում միացրեցի սարքը 12 Վ լարման միջոցով: Սա հանգեցրեց MOSFET- ի տաքացմանը: Այս տաքացումն այնուհետև հանգեցրեց չափված արժեքների ընդհանուր շեղման, ինչը հանգեցրեց դետեկտորի հաճախակի հավասարակշռման: 5V- ի լարման իջեցման միջոցով MOSFET- ի ջերմային արտադրությունը հնարավոր կլինի նվազագույնի հասցնել այնպիսի մակարդակի, որտեղ ընթերցումների գրեթե ոչ մի շեղում չի նկատվում: Սա էլ ավելի պարզեցրեց միացումը, քանի որ Arduino- ի ինքնաթիռի լարման կարգավորիչն այլևս անհրաժեշտ չէր:
MOSFET- ի համար ես սկզբում ընտրեցի IRL540- ը: Այս MOSFET- ը տրամաբանական մակարդակի հետ համատեղելի է, բայց ունի առավելագույն լարման գնահատական ov 100V- ից: Ես հույս ունեի, որ ավելի լավ կատարում կփոխվի IRL640- ի ՝ 200 Վ վարկանիշով: Unfortunatelyավոք, արդյունքները նույնն էին: Այսպիսով, կամ IRL540- ը, կամ IRL640- ը կանի այդ աշխատանքը:
Քայլ 3: Վերջնական արդյունքներ
Դետեկտորի առավելությունն այն է, որ այն տարբերակում է թանկարժեք և գունավոր նյութերը: Թերությունն այն է, որ այս պարզ սխեմատիկայով զգայունությունն այնքան էլ լավը չէ: Կատարումը համեմատելու համար ես օգտագործեցի նույն հղումները, ինչ Flip-Coil դետեկտորի դեպքում: Հավանաբար լավ է որոշ ճշգրիտ որոշումների համար, բայց, ամենայն հավանականությամբ, հիասթափեցնող է իրական որոնման համար:
Այստեղ PIC կարգավորիչի բնօրինակը կարող է ավելի զգայուն լինել, քանի որ այն աշխատում է 32 ՄՀց հաճախականությամբ, փոխարենը 16 ՄՀց հաճախականությամբ, որն ապահովում է հաճախականության փոփոխությունների հայտնաբերման ավելի բարձր լուծաչափ:
Արդյունքները հասել են 48 պտույտ @ 100 մմ պտույտ օգտագործելով:
Ինչպես միշտ, բաց է հետադարձ կապի համար
Խորհուրդ ենք տալիս:
LDR- ի վրա հիմնված լույսի ցուցիչ/դետեկտոր `3 քայլ
LDR- ի վրա հիմնված լույսի ցուցիչ/դետեկտոր. Լույսի տվիչներն ու դետեկտորները չափազանց օգտակար են միկրոկոնտրոլերների և ներդրված համակարգերի համար, ինչպես նաև ինտենսիվության մոնիտորինգ: Նման սենսորներից ամենապարզ և ամենաէժանը LDR- ն է: LDR կամ թեթև կախյալ դիմադրիչները հեշտությամբ կարող են օգտագործվել
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
Գնահատման վրա հիմնված առիթմիայի դետեկտոր Arduino- ի միջոցով. 7 քայլ
Arduino- ի միջոցով օգտագործվող ռիթմի ռիթմի դետեկտոր. Սրտի ռիթմի խանգարումներն ամեն տարի տառապում են մոտ չորս միլիոն ամերիկացիների (Տեխասի սրտի ինստիտուտ, պարբ. 2): Թեև յուրաքանչյուր սիրտ ռիթմի և փոխարժեքի փոփոխություններ է ունենում, սրտի քրոնիկ առիթմիաները կարող են մահացու լինել իրենց զոհերի համար: Շատ սրտի ռիթմեր
DIY Arduino- ի վրա հիմնված իմպուլսային ինդուկցիոն մետաղադետեկտոր `5 քայլ
DIY Arduino- ի վրա հիմնված իմպուլսային ինդուկցիայի մետաղական դետեկտոր. Սա համեմատաբար պարզ մետաղական դետեկտոր է `գերազանց կատարումներով
Arduino- ի վրա հիմնված իմպուլսային ինդուկցիայի դետեկտոր - մատով խփել. 5 քայլ (նկարներով)
Arduino- ի վրա հիմնված իմպուլսային ինդուկցիայի դետեկտոր - Flip Coil: Գաղափարը Նախկինում տարբեր արդյունքներ ունեցող մետաղական դետեկտորներ կառուցելով, ես ուզում էի ուսումնասիրել Arduino- ի հնարավորություններն այդ ուղղությամբ: Կան մի քանի լավ օրինակներ, թե ինչպես կարելի է Arduino- ով մետաղական դետեկտորներ կառուցել, ոմանք այստեղ որպես ուսանելի