विषयसूची:

एयर राइफल क्रोनोग्रफ़, क्रोनोस्कोप। ३डी प्रिंटेड: १३ चरण
एयर राइफल क्रोनोग्रफ़, क्रोनोस्कोप। ३डी प्रिंटेड: १३ चरण

वीडियो: एयर राइफल क्रोनोग्रफ़, क्रोनोस्कोप। ३डी प्रिंटेड: १३ चरण

वीडियो: एयर राइफल क्रोनोग्रफ़, क्रोनोस्कोप। ३डी प्रिंटेड: १३ चरण
वीडियो: 🇮🇳airguns chronograph meter🇮🇳 2024, जुलाई
Anonim
Image
Image
विशेषता
विशेषता

हाय सब लोग, आज हम 2010 में मेरे द्वारा किए गए एक प्रोजेक्ट पर फिर से विचार करेंगे। एक एयर राइफल क्रोनोग्रफ़। यह उपकरण आपको प्रक्षेप्य की गति बताएगा। पेलेट, बीबी या यहां तक कि एयर सॉफ्ट बीबी प्लास्टिक बॉल।

2010 में मैंने मनोरंजन के लिए एक एयर राइफल खरीदी। डिब्बे, बोतलें मार रहा था, निशाना लगा रहा था। मुझे पता है कि इस बंदूक की गति अधिकतम 500 फीट/सेकेंड थी। क्योंकि यह कनाडा का कानून है। कुछ मजबूत एयर राइफल उपलब्ध हैं, लेकिन आपके पास लाइसेंस होना चाहिए और आप वॉलमार्ट में उन चीजों को नहीं खरीद सकते।

अब मेरे पास यह लाइसेंस था, मैं दूसरा खरीद सकता था। लेकिन छोटी कहानी, वही बंदूक अमेरिका के लिए 1000 फीट/सेकेंड पर उपलब्ध थी। क्या!? वही बंदूक? हाँ… कनाडा में, स्ट्रोक में छेद होता है और वसंत नरम होता है।

सबसे पहले छेद को भरना है। मैंने सोल्डर के साथ यही किया। अगली बात यह थी कि एक प्रतिस्थापन वसंत का आदेश दिया जाए। लेकिन रुकिए… मेरे नए खिलौने की वर्तमान गति क्या है? क्या वसंत वास्तव में आवश्यक है? मैं नहीं जानता और मैं जानना चाहता हूं। मैं अभी जानना चाहता हूं लेकिन कैसे?

इसलिए मैंने यह प्रोजेक्ट किया है। मुझे बस 2 सेंसर, एक यूसी और एक डिस्प्ले की जरूरत थी और हम व्यवसाय में हैं।

पिछले हफ्ते, मैंने एक शेल्फ पर अपना पुराना नीला क्रोनोग्रफ़ देखा और मैं खुद से बात करता हूँ: "क्यों न इसे साझा करें और इसके साथ एक निर्देशयोग्य करें?" और वैसे, हम सटीकता बढ़ा सकते हैं और बैटरी संकेतक जोड़ सकते हैं। चालू/बंद करने के लिए 2 के बजाय 1 बटन लगाएं। सभी सतह माउंट। अब हम 2020 में हैं!

तो यह है… चलिए शुरू करते हैं!

चरण 1: फ़ीचर

गोली की गति

-वेग

-20 मेगाहर्ट्ज चल रहा है, विशाल सटीकता

-स्वतः बंद

-बैटरी वोल्टेज प्रदर्शित

-योजनाबद्ध उपलब्ध

-पीसीबी उपलब्ध

-भागों की सूची उपलब्ध

-एसटीएल उपलब्ध

-सी कोड उपलब्ध

चरण 2: संचालन और सटीकता का सिद्धांत

- हमारे पास 20 मेगाहर्ट्ज पर यूसी चल रहा है। इस्तेमाल किया जाने वाला थरथरानवाला एक TCX0 +-2.5 पीपीएम. है

-हमारे पास एक दूसरे से 3 इंच की दूरी पर 2 सेंसर हैं।

- प्रक्षेप्य ने पहले सेंसर को मारा। यूसी गिनती शुरू (टाइमर 1)

- प्रक्षेप्य दूसरे सेंसर से टकराया। यूसी गिनती बंद करो।

-यूसी टाइमर 1 मान की जांच करें, गणित करें और गति और वेग प्रदर्शित करें।

मैं 16 बिट टाइमर1 + ओवरफ्लो फ्लैग tov1 का उपयोग कर रहा हूं। एक पूर्ण गणना के लिए १३१०७१ "टिक" के लिए कुल १७ बिट।

1/20 मेगाहर्ट्ज = 50 एनएस। प्रत्येक टिक 50ns. है

१३१०७१ x ५० एनएस = ६.५५३५५ एमएस ३ इंच करने के लिए।

6.55355 एमएस x 4 = 26.21 एमएस 12 इंच करने के लिए।

१/२६.२१ एमएस = ३८.१४७२६३७ फीट/सेक

यह सबसे धीमी गति है जिसे डिवाइस माप सकता है।

20 मेगाहर्ट्ज क्यों? आंतरिक 8 मेगाहर्ट्ज या यहां तक कि एक क्रिस्टल का उपयोग क्यों नहीं करते?

मेरा पहला उपकरण आंतरिक थरथरानवाला का उपयोग कर रहा था। काम कर रहा था लेकिन यह काफी सटीक नहीं था। भिन्नता बहुत बड़ी है। एक क्रिस्टल बेहतर है लेकिन तापमान अलग-अलग आवृत्ति है। हम उसके साथ एक सटीक माप उपकरण नहीं कर सकते। साथ ही, जितनी अधिक आवृत्ति होगी, उतनी ही गति के लिए अधिक टिक की गणना की जाएगी। बहुत अच्छी सटीकता के लिए नमूना लेना बेहतर होगा। क्योंकि एक टिक विभाज्य नहीं है, यदि कर्तव्य चक्र तेज है तो नुकसान कम है।

20 मेगाहर्ट्ज पर हमारे पास 50 एनएस के चरण हैं। क्या हम जानते हैं कि 38 फीट/सेकेंड पर प्रक्षेप्य के लिए यह 50 एनएस कितना सटीक है।

38.1472637 ft/s 131071 = 0, 000291042 फीट. से विभाजित करें

0, 0003880569939956207 फीट x 12 = 0, 003492512 इंच

1/0, 003492512 = 286.37 "। दूसरे शब्दों में। 50 फीट/सेकेंड पर हमारे पास +- 1/286" या +- 0, 003492512 इंच की सटीकता है

लेकिन अगर मेरा थरथरानवाला सबसे खराब है और 20 मेगाहर्ट्ज +2.5 पीपीएम पर चल रहा है तो क्या यह ठीक है? चलो पता करते हैं…

20 000 000 का 2.5 पीपीएम है: (20000000/1000000) x 2.5 = 20000050 हर्ट्ज

तो सबसे खराब स्थिति हमारे पास 20 मेगाहर्ट्ज पर 50 और घड़ी है। यह 1 सेकंड पर 50 घड़ी है। टाइमर 1 पर कितने टिक अधिक हैं यदि पेलेट समान गति (38.1472637 फीट/सेकेंड या 6.55ms) कर रहा है?

१/२००००५० = ४९.९९९८७५ एनएस

४९.९९९८७५ एनएस x १३१०७१ = ६, ५५३५३३६१६ एमएस

६, ५५३५३३६१६ एमएस x ४ = २६.२१४१३४४६ एमएस

१/२६.२१४१४१३४४६ एमएस = ३८.१४७३५९०७ फीट/सेक

तो हमारे पास 38.1472637 फीट/सेकेंड के बजाय 38.14735907 फीट/एस है

अब हम जानते हैं कि 2.5 पीपीएम परिणाम को प्रभावित नहीं करता है।

यहाँ विभिन्न गति के कुछ उदाहरण दिए गए हैं

1000 फीट/सेकेंड के लिए

1000 फीट/एस x 12 12000 इंच/सेकेंड है

12000 के लिए 1 सेकंड "कितना समय 3 करना है"? ३x१/१२००० = २५० यूएस सेकंड

250 यूएस / 50 एनएस = 5000 टिक।

Timer1 5000. पर होगा

यूसी गणित करता है और 1000 फीट/एस प्रदर्शित होता है। अब तक सब ठीक है

900 फीट/सेकेंड के लिए

९०० फीट/सेकंड १०८०० /s. है

3x1/10800 = 277.77 यूएस

२७७, ७७ एनएस / ५० एनएस = ५५५५, ५५५५ टीआईसी

टाइमर 1 5555. पर होगा

यूसी गणित करते हैं और 900 के बजाय 900, 09 प्रदर्शित किया जाएगा

क्यों ? क्योंकि टाइमर 1 5555 पर है और 0, 5555 खो गया है। टाइमर पर टिक विभाज्य नहीं हैं।

हमारे पास 900 फीट/सेकेंड पर 0, 09 की त्रुटि है

0, 09/900x100 = 0, 01% त्रुटि केवल

१५०० ft/s१५०० ft/s के लिए १८००० /s ३x१/१०८० =166.66 हमें

१६६.६६ यूएस / ५० एनएस = ३३३३.३३३ टिक टाइमर १ ३३३३. पर होगा

यूसी गणित करते हैं और 1500 के बजाय 1500.15 प्रदर्शित किया जाएगा यह.15/1500x100 = 0, 01% है

९००० फीट/सेकेंड के लिए

९००० x १२ = १८०००० इंच/सेक

३x१/१८०००० = २७.७७७७ यूएस

27.77 यूएस / 50 एनएस = 555, 555

Timer1 555 पर होगा और 4/(1/555x50ns) 9009 प्रदर्शित होगा, 00 प्रदर्शित होगा

यहां ९००० = ०, १% पर ९ फीट/सेकेंड की त्रुटि है

जैसा कि आप देख सकते हैं कि गति अधिक होने पर % त्रुटि बढ़ रही है। लेकिन रहें <0.1%

वे परिणाम बहुत अच्छे हैं।

लेकिन सटीकता रैखिक नहीं है। 10000 फीट/सेकेंड पर यह 0, 1% है। अच्छी बात यह है कि हम कभी भी १०,००० फीट/सेकेंड के पेलेट का परीक्षण नहीं करते हैं।

एक और बात ध्यान में रखनी है। जब कोई रुकावट आती है, तो UC हमेशा इंटरप्ट में प्रवेश करने से पहले अंतिम निर्देश समाप्त कर देता है। यह सामान्य है और सभी यूसी ऐसा करते हैं। यदि आप arduino को C या असेंबलर में कोड करते हैं। अधिकांश समय आप हमेशा के लिए लूप में प्रतीक्षा करेंगे… प्रतीक्षा करने के लिए। समस्या यह है कि एक लूप में हम 2 चक्र खर्च करते हैं। आम तौर पर यह महत्वपूर्ण नहीं है। लेकिन हमारे मामले में। हाँ, प्रत्येक टिक महत्वपूर्ण है। आइए एक अनंत लूप देखें:

असेंबलर:

कुंडली:

आरजेएमपी लूप

सी में:

जबकि (1){}

वास्तव में सी संकलक rjmp निर्देश का उपयोग करते हैं। आरजेएमपी 2 चक्र है।

इसका मतलब है कि यदि पहले चक्र में रुकावट आती है, तो हम एक चक्र (टिक) (50ns) खो देते हैं।

इसे ठीक करने का मेरा तरीका लूप में कई एनओपी निर्देश जोड़ना है। एनओपी 1 चक्र है।

कुंडली:

नहीं

नहीं

नहीं

नहीं

नहीं

आरजेएमपी लूप

यदि व्यवधान एक एनओपी निर्देश पर होता है। हम ठीक हैं। अगर यह आरजेएमपी निर्देश के दूसरे चक्र पर होता है तो हम ठीक हैं। लेकिन अगर यह rjmp निर्देश के पहले चक्र पर होता है, तो हम एक टिक खो देंगे। हाँ यह सिर्फ ५० ns है लेकिन जैसा कि आप ऊपर देख सकते हैं, ५० ns पर ३ इंच कुछ भी नहीं है। हम सॉफ़्टवेयर द्वारा इसे ठीक नहीं कर सकते क्योंकि हम नहीं जानते कि वास्तव में रुकावट कब होती है। यही कारण है कि कोड में आपको बहुत सारे एनओपी निर्देश दिखाई देंगे। अब मुझे पूरा यकीन है कि व्यवधान एक एनओपी निर्देश पर पड़ेगा। अगर मैं 2000 एनओपी जोड़ रहा हूं तो मेरे पास आरजेएमपी निर्देश पर गिरने के लिए 0, 05% है।

एक और बात ध्यान में रखनी है। जब व्यवधान होता है। कंपाइलर कई पुश और पुल करता है। लेकिन यह हमेशा एक ही नंबर होता है। तो अब हम एक सॉफ्टवेयर सुधार कर सकते हैं।

इस पर निष्कर्ष निकालने के लिए:

१००० फीट/सेकेंड के औसत पेलेट के लिए शुद्धता ०,०१% है

बाजार पर अन्य 1% की तुलना में 100x अधिक सटीक। आवृत्ति अधिक है और टीसीएक्सओ के साथ, अधिक सटीक है।

उदाहरण के लिए, 1000 फीट/सेकेंड का 1% कम या ज्यादा 10 फीट/सेकेंड है। यह बहुत बड़ा अंतर है।

चरण 3: योजनाबद्ध और भागों की सूची।

योजनाबद्ध और भागों की सूची।
योजनाबद्ध और भागों की सूची।

यहां मैंने अपना एक पुश बटन ऑन/ऑफ सर्किट लागू किया। (मेरा अंतिम निर्देश देखें) यह सर्किट बहुत काम का है और बहुत अच्छा काम करता है।

मैं एक atmega328p का उपयोग कर रहा हूँ। यह सी में प्रोग्राम किया गया है।

डिस्प्ले एक मानक 2 लाइन एलसीडी HD44780 संगत है। 4 बिट मोड का उपयोग किया जाता है।

TCXO 20mhz को वोल्टेज प्रदान करने के लिए 3.3v रेगुलेटर का उपयोग किया जाता है।

D1 LCD बैकलाइट के लिए है। वैकल्पिक। यदि आप D1 स्थापित नहीं करते हैं तो बैटरी अधिक समय तक चलेगी।

सभी प्रतिरोधक और कैप 0805 पैकेज हैं

C1.1uf 25v

C2 1uf 16v

C3 2.2uf 10v

C4.1uf

C5.1uf

C6.1uf

C7 1uf

C8.1uf

C9.1uf

C10.1uf

D1 1n4148 एसएम SOT123

D2 5.1v SOT123

IC1 ATMEGA328p

IC2 MIC5225-5.0YM5-TR TPS70950DBVT SOT23-DBV

OSC1 TXETDCSANF-20.000000

R1 1M

R2 1M

R4 2.2k

R5 160

R6 160

R7 1M

R8 1M

U1 MIC5317-3.3 MIC5317 SOT23-5

U2 DMG6601LVT DMG6601LVT SOT23-6

एलसीडी 2 लाइन HD44780 प्रदर्शित करें। i2c मॉड्यूल खरीदने की कोई आवश्यकता नहीं है।

सेंसर:

2x एमिटर OP140A

2x रिसीवर OPL530

एनकोडर: PEC11R-4215K-S0024 * एन्कोडर फ़िल्टर करने के लिए 4x 10k रेसिस्टर्स और 2x.01uf जोड़ना न भूलें। नीचे चित्र देखें

चरण 4: पीसीबी गेरबर फ़ाइल

पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल
पीसीबी Gerber फ़ाइल

यहाँ gerber फ़ाइलें हैं

चरण 5: अपने पीसीबी को मिलाएं

सोल्डर योर पीसीबी
सोल्डर योर पीसीबी
सोल्डर योर पीसीबी
सोल्डर योर पीसीबी
सोल्डर योर पीसीबी
सोल्डर योर पीसीबी

योजनाबद्ध मदद से, पीसीबी पर अपने सभी घटकों को मिलाप करें। पीसीबी, r1, r2… और इतने पर प्रत्येक भाग या लिखा हुआ।

मैंने D1 स्थापित नहीं किया है। यह एलसीडी बैक-लाइट के लिए है। यह सुंदर है लेकिन बैटरी जीवन प्रभावित होता है। इसलिए मैं एलसीडी को बैक-लाइट बंद रखना चुनता हूं।

चरण 6: Atmega328p की प्रोग्रामिंग करना

Atmega328p प्रोग्रामिंग
Atmega328p प्रोग्रामिंग

atmega328p प्रोग्राम करने के लिए चरण 12 पर यहां देखें। मैं इसके लिए यहां.hex फ़ाइल प्रदान करता हूं।

यहाँ बैच फ़ाइल प्रोग्राम करने के लिए तैयार avrdude प्रोग्राम है। केवल प्रोग्राम usbasp.bat पर क्लिक करें और आपका usbasp सही तरीके से इंस्टॉल हो गया है। फ्यूज बिट सहित सब कुछ अपने आप हो जाएगा।

1drv.ms/u/s!AnKLPDy3pII_vXaGPIZKMXxaXDul?e…

इस परियोजना में मैं सी स्रोत कोड भी साझा कर रहा हूं। ध्यान रखें कि इसमें कुछ नोट फ्रेंच में हो सकते हैं।https://1drv.ms/u/s!AnKLPDy3pII_vXUMXHdxajwGRFJx?e…

चरण 7: एलसीडी डिस्प्ले

एलसीडी प्रदर्शन
एलसीडी प्रदर्शन
एलसीडी प्रदर्शन
एलसीडी प्रदर्शन

कुछ टेप स्थापित करें और पीसीबी और एलसीडी को एक साथ कनेक्ट करें

चरण 8: एसटीएल फ़ाइल

एसटीएल फ़ाइल
एसटीएल फ़ाइल
एसटीएल फ़ाइल
एसटीएल फ़ाइल
एसटीएल फ़ाइल
एसटीएल फ़ाइल

एसटीएल फ़ाइल

1drv.ms/u/s!AnKLPDy3pII_vgezy0i0Aw3nD-xr?e…

संलग्नक, सेंसर पाइप और राइफल धारक के लिए समर्थन की आवश्यकता है।

मैंने सभी को.2 मिमी ऊंचे पर प्रिंट किया है।

चरण 9: रोटरी एनकोडर

रोटरी कोडित्र
रोटरी कोडित्र
रोटरी कोडित्र
रोटरी कोडित्र
रोटरी कोडित्र
रोटरी कोडित्र

यह रोटरी एनकोडर आईएसपी कनेक्टर से जुड़ा है। इसका उपयोग पेलेट वजन को बदलने और डिवाइस को चालू और बंद करने के लिए किया जाता है।

vcc isp pin 2 (पुल अप रेसिस्टर)

टर्मिनल ए (पीला) आईएसपी पिन पर जाएं 1

टर्मिनल बी (हरा) आईएसपी पिन पर जाएं 3

टर्मिनल सी (जीएनडी) आईएसपी पिन 6

मैं एक फिल्टर बनाम कोई फिल्टर नहीं होने के बीच अंतर देखने के लिए 2 चित्र जोड़ रहा हूं। आप दोनों में अंतर आसानी से देख सकते हैं।

पुश बटन पीसीबी एसडब्ल्यू कनेक्टर पर जाता है।

चरण 10: सेंसर पाइप

सेंसर पाइप
सेंसर पाइप
सेंसर पाइप
सेंसर पाइप
सेंसर पाइप
सेंसर पाइप

जरूरी:

सेंसर पाइप काला होना चाहिए और सेंसर रिसीवर छिपा होना चाहिए।

मेरा पहला प्रयास एक सुंदर लाल पाइप बनाने का था। लेकिन यह मुश्किल है! यह बिल्कुल काम नहीं कर रहा था। मुझे लगा कि बाहर की रोशनी आ रही है, प्लास्टिक फेंक दें और रिसीवर सेंसर हमेशा चालू रहता है।

अच्छा परिणाम पाने के लिए मेरे पास रंग बदलकर काला करने का कोई विकल्प नहीं था।

शीर्ष पर रिसीवर स्थापित करें। और स्पष्ट प्लास्टिक को काले रंग, टेप या गोंद, काले सिलिकॉन से छिपाएं।

नीचे की तरफ एमिटर लगाएं.. अगर सेंसर अच्छी तरह से प्रतिक्रिया कर रहे हैं तो पेन से जांच लें। हो सकता है कि एमिटर के छेद को थोड़ा बड़ा करने की जरूरत पड़े। यह आपके प्रिंटर कैलिब्रेशन पर निर्भर करेगा।

मेरे पास छाया में भी बेहतर परिणाम है। सीधी धूप से बचें।

चरण 11: सेंसर पाइप वैकल्पिक

सेंसर पाइप वैकल्पिक
सेंसर पाइप वैकल्पिक
सेंसर पाइप वैकल्पिक
सेंसर पाइप वैकल्पिक

यदि आपके पास 3D प्रिंटर नहीं है, तो आप तांबे के पाइप से भी ऐसा कर सकते हैं। के लिए बहुत अच्छा काम करेगा। करने के लिए मुश्किल काम ठीक 3 इंच का छेद है और रिसीवर और एमिटर को संरेखित किया जाना चाहिए।

चरण 12: ऑसिलोस्कोप और कैलिब्रेशन पर एक गोली।

ऑसिलोस्कोप और कैलिब्रेशन पर एक गोली।
ऑसिलोस्कोप और कैलिब्रेशन पर एक गोली।

यह एक असली गोली है जो पाइप को फेंक देती है। जांच 1 पीला सेंसर 1 है। जांच 2 बैंगनी सेंसर 2 है।

समय/डिव 50 यूएस है।

हम 50us के 6 भाग गिन सकते हैं। 50 यूएस x 6 = 300 यूएस (3 इंच के लिए)। १ फीट. के लिए ३०० यूएस x ४ = १.२ एमएस

1/1.2ms= ८३३.३३ फ़ीट/सेकंड

हम यह भी देख सकते हैं कि सेंसर सामान्य रूप से 5v पर है। और क्या हम एमिटर लाइट को ब्लॉक कर सकते हैं, सेंसर 0 पर गिर जाता है।

यह वह तरीका है जिससे यूसी शुरू होता है और उसका मुकाबला बंद हो जाता है (टाइमर 1)

लेकिन यह जानने के लिए कि क्या गति सटीक थी, मुझे इसे मापने का एक तरीका चाहिए था।

सॉफ़्टवेयर अंशांकन करने और इस उपकरण की सटीकता का परीक्षण करने के लिए, मैंने 10 मेगाहर्ट्ज संदर्भ थरथरानवाला का उपयोग किया। अन्य निर्देश पर मेरा GPSDO देखें।

मैं इस 10 मेगाहर्ट्ज के साथ एक और atmega328 खिलाता हूं। और हर बार जब मैं एक गोली अनुकरण करने के लिए एक बटन दबाता हूं तो मुझे 2 दालें भेजने के लिए इसे असेंबलर में प्रोग्राम करें। ठीक वैसे ही जैसे हमने तस्वीर में देखा था, लेकिन असली पेलेट के बजाय यह एक और यूसी था जो मुझे 2 दालें भेज रहा था।

हर बार पुश बटन दबाने पर 1 पल्स भेजी जाती थी और दूसरी पल्स भेजने के ठीक 4 एमएस बाद।

इस तरह, मैं सॉफ़्टवेयर कंपाइलर को हमेशा 1000 फीट/एस प्रदर्शित करने के लिए संतुलित करने में सक्षम हूं।

चरण 13: अधिक…

अधिक…
अधिक…
अधिक…
अधिक…

यह 2010 का मेरा पहला प्रोटोटाइप है।

किसी भी प्रश्न या त्रुटि रिपोर्ट के लिए आप मुझे ईमेल कर सकते हैं। अंग्रेजी या फ्रेंच। मैं मदद करने की पूरी कोशिश करूंगा।

सिफारिश की: