جدول المحتويات:

كرونوغراف بندقية الهواء ، كرونوسكوب. طباعة ثلاثية الأبعاد: 13 خطوة
كرونوغراف بندقية الهواء ، كرونوسكوب. طباعة ثلاثية الأبعاد: 13 خطوة

فيديو: كرونوغراف بندقية الهواء ، كرونوسكوب. طباعة ثلاثية الأبعاد: 13 خطوة

فيديو: كرونوغراف بندقية الهواء ، كرونوسكوب. طباعة ثلاثية الأبعاد: 13 خطوة
فيديو: NEW: FX Airguns Radar Wireless Mini Pocket Chronograph - Arrows CO2 Airsoft - Air Rifle Power Test 2024, شهر نوفمبر
Anonim
Image
Image
ميزة
ميزة

مرحباً بالجميع ، اليوم سنعيد النظر في مشروع قمت به في عام 2010. كرونوغراف بندقية هوائية. سيخبرك هذا الجهاز بسرعة القذيفة. بيليه ، بي بي أو حتى كرة بلاستيكية بي بي لينة الهواء.

في عام 2010 اشتريت بندقية هوائية من أجل المتعة. كان يضرب العلب ، الزجاجات ، الهدف. أعلم أن سرعة هذا السلاح كانت بحد أقصى 500 قدم / ثانية. لأنه قانون كندا. تتوفر بعض بنادق الهواء الأقوى ولكنك تحتاج إلى الحصول على ترخيص ولا يمكنك شراء تلك الأشياء في Walmart.

الآن لدي هذا الترخيص ، يمكنني شراء واحدة أخرى. لكن القصة القصيرة ، كانت البندقية نفسها متاحة للولايات المتحدة بسرعة 1000 قدم / ثانية. ماذا او ما!؟ نفس البندقية؟ نعم … في كندا ، هناك ثقب في السكتة الدماغية والربيع أكثر نعومة.

أول شيء يجب القيام به هو ملء الحفرة. هذا ما فعلته مع جندى. الشيء التالي الذي يجب فعله هو طلب زنبرك بديل. لكن انتظر … ما هي السرعة الحالية للعبتي الجديدة؟ هل الربيع ضروري حقا؟ لا أعلم وأريد أن أعرف. اريد ان اعرف الان ولكن كيف؟

لهذا السبب قمت بهذا المشروع. كل ما احتاجه هو جهازي استشعار ، وشاشة uC ، ونحن في العمل.

في الأسبوع الماضي ، رأيت الكرونوغراف الأزرق القديم الخاص بي على أحد الرفوف وتحدثت إلى نفسي: "لماذا لا تشارك هذا الكرونوغراف وأقوم بعمل تعليمات به؟" وبالمناسبة ، يمكننا زيادة الدقة وإضافة مؤشر البطارية. ضع زر 1 بدلاً من 2 للتشغيل / الإيقاف. جبل كل سطح. نحن الآن في عام 2020!

إذن ها هو … لنبدأ!

الخطوة 1: الميزة

-سرعة بيليه

-سرعة

تشغيل -20 ميجا هرتز ، دقة هائلة

-إيقاف التشغيل تلقائيًا

عرض جهد البطارية

-مخطط متاح

-PCB المتاحة

-قائمة الأجزاء المتاحة

-STL المتاحة

-كود C متاح

الخطوة الثانية: نظرية التشغيل والدقة

-لدينا uC يعمل بسرعة 20 ميجا هرتز. المذبذب المستخدم هو TCX0 + -2.5 جزء في المليون

-لدينا مستشعران على بعد 3 بوصات من بعضهما البعض.

- أصابت المقذوفة جهاز الاستشعار الأول. بدء العد uC (timer1)

- أصابت المقذوفة المستشعر الثاني. جامعة كاليفورنيا توقف العد.

-uC تحقق قيمة timer1 ، قم بإجراء العمليات الحسابية وعرض السرعة والسرعة.

أنا أستخدم مؤقت 16 بت 1 + علامة تجاوز السعة tov1. إجمالي 17 بت لـ 131071 "tic" للعد الكامل.

1/20 ميجا هرتز = 50 نانو ثانية. كل عرة هي 50 نانو ثانية

131071 x 50 ns = 6.55355 مللي ثانية للقيام 3 بوصات.

6.55355 مللي ثانية × 4 = 26.21 مللي ثانية للقيام 12 بوصة.

1 / 26.21 مللي ثانية = 38.1472637 قدم / ثانية

هذه هي أبطأ سرعة يمكن للجهاز قياسها.

لماذا 20 ميجا هرتز؟ لماذا لا تستخدم 8 ميجا هرتز الداخلية أو حتى الكريستال؟

كان جهازي الأول يستخدم المذبذب الداخلي. كان يعمل ولكن هذا لم يكن دقيقًا بدرجة كافية. الاختلاف ضخم جدًا. الكرستال أفضل ولكن درجة الحرارة تختلف في التردد. لا يمكننا عمل جهاز قياس دقيق مع ذلك. أيضًا ، كلما كان التردد مرتفعًا ، سيتم احتساب المزيد من التشنجات اللاإرادية لنفس السرعة. سيكون من الأفضل أخذ العينات بدقة جيدة جدًا. لأن التشنج اللاإرادي غير قابل للقسمة ، فإن الخسارة تكون قليلة إذا كانت دورة العمل سريعة.

عند 20 ميغا هرتز لدينا خطوات 50 نانوثانية. هل نعرف مدى دقة 50 نانوثانية لمقذوف بسرعة 38 قدم / ثانية.

قسمة 38.1472637 قدم / ثانية على 131071 = 0 ، 000291042 قدم

0 ، 0003880569939956207 قدم × 12 = 0 ، 003492512 بوصة

1/0 ، 003492512 = 286.37 ". بعبارة أخرى. عند 50 قدمًا / ثانية لدينا دقة + - 1/286" أو + - 0 ، 003492512 بوصة

ولكن إذا كان المذبذب الخاص بي هو الأسوأ ويعمل بسرعة 20 ميجاهرتز + 2.5 جزء في المليون ، فهل هذا جيد؟ هيا نكتشف…

2.5 جزء في المليون من 20000000 هو: (20000000/1000000) × 2.5 = 20000050 هرتز

لذلك أسوأ سيناريو لدينا 50 ساعة أخرى على 20 ميجا هرتز. إنها 50 ساعة في 1 ثانية. كم عدد التشنجات اللاإرادية على timer1 إذا كانت الحبيبات تقوم بنفس السرعة (38.1472637 قدم / ثانية أو 6.55 مللي ثانية)؟

1/20000050 = 49.999875 نانو ثانية

49.999875 نانوثانية × 131071 = 6 ، 553533616 مللي ثانية

6، 553533616 مللي ثانية × 4 = 26.21413446 مللي ثانية

1 / 26.21413446 مللي ثانية = 38.14735907 قدم / ثانية

إذن لدينا 38.14735907 قدم / ثانية بدلاً من 38.1472637 قدم / ثانية

نحن نعلم الآن أن 2.5 جزء في المليون لا يؤثر على النتيجة.

هنا بعض الأمثلة على السرعات المختلفة

لـ 1000 قدم / ثانية

1000 قدم / ثانية × 12 هي 12000 بوصة / ثانية

1 ثانية مقابل 12000 "كم من الوقت يجب القيام به 3"؟ 3 × 1/12000 = 250 ثانية أمريكية

250 us / 50 ns = 5000 tic.

سيكون Timer1 عند 5000

uC قم بالحسابات ويتم عرض 1000 قدم / ثانية. حتى الان جيدة جدا

ل 900 قدم / ثانية

900 قدم / ثانية 10800 بوصة / ثانية

3 × 1/10800 = 277.77 دولار أمريكي

277 ، 77 نانوثانية / 50 نانوثانية = 5555 ، 5555 تك

المؤقت 1 سيكون في 5555

uC قم بالحسابات و 900 ، سيتم عرض 09 بدلاً من 900

لماذا ا ؟ لأن المؤقت 1 عند 5555 و 0 ، ضاع 5555. لا يمكن تقسيم Tic on timer.

لدينا خطأ لـ 0 ، 09 على 900 قدم / ثانية

0، 09 / 900x100 = 0، 01٪ خطأ فقط

بالنسبة إلى 1500 قدم / ثانية ، يبلغ 1500 قدم / ثانية 18000 بوصة / ثانية ، 3 × 1/10800 = 166.66 دولارًا أمريكيًا

166.66 us / 50 ns = 3333.333 tic Timer 1 سيكون عند 3333

uC قم بالحساب وسيتم عرض 1500.15 بدلاً من 1500 يكون.15 / 1500x100 = 0 ، 01٪

ل 9000 قدم / ثانية

9000 × 12 = 180000 بوصة / ثانية

3 × 1/180000 = 27.7777 دولار أمريكي

27.77 دولارًا أمريكيًا / 50 نانو ثانية = 555 ، 555

Timer1 سيكون في 555 و 4 / (1 / 555x50ns) سيتم عرضه 9009 ، 00 سيتم عرض

الخطأ هنا 9 أقدام / ثانية على 9000 = 0 ، 1٪

كما ترون٪ خطأ يرتفع عندما تكون السرعة أعلى. لكن ابق <0.1٪

هذه النتائج جيدة جدا.

لكن الدقة ليست خطية. عند 10000 قدم / ثانية يكون 0 ، 1٪. الجديد الجيد هو أننا لا نختبر أبدًا حبيبة تبلغ 10 آلاف قدم / ثانية.

شيء آخر يجب مراعاته. عند حدوث مقاطعة ، تقوم uC دائمًا بإنهاء التعليمات الأخيرة قبل الدخول في المقاطعة. هذا أمر طبيعي وكل جامعة كاليفورنيا تفعل هذا. إذا كنت ترميز arduino ، في C أو حتى المجمع. في معظم الأوقات سوف تنتظر في حلقة دائمة … لتنتظر. المشكلة هي أننا في حلقة نقضي دورتين. عادة هذا ليس مهما. لكن في حالتنا. نعم ، كل التشنجات اللاإرادية مهمة. لنلق نظرة على حلقة لا نهائية:

المجمع:

حلقة:

حلقة rjmp

في ج:

بينما (1) {}

في الواقع ، يستخدم المترجم C تعليمات RJMP. RJMP عبارة عن دورتين.

هذا يعني أنه إذا حدثت المقاطعة للدورة الأولى ، فإننا نفقد دورة واحدة (التشنج اللاإرادي) (50 نانو ثانية).

طريقتي لإصلاح ذلك هي إضافة العديد من التعليمات nop في الحلقة. NOP هي دورة واحدة.

حلقة:

لا

لا

لا

لا

لا

حلقة rjmp

إذا حدثت المقاطعة بناءً على تعليمات nop. نحن بخير. إذا حدث ذلك في الدورة الثانية لتعليمات rjmp فنحن بخير. ولكن إذا حدث ذلك في الدورة الأولى لتعليمات rjmp ، فسوف نفقد عرة واحدة ، نعم إنها 50 نانوثانية فقط ولكن كما ترون أعلاه ، فإن 50 نانوثانية على 3 بوصات ليست شيئًا. لا يمكننا تصحيح هذا عن طريق البرنامج لأننا لا نعرف بالضبط متى تحدث المقاطعة. لهذا السبب سترى في الكود الكثير من التعليمات nop. الآن أنا متأكد من أن المقاطعة ستقع بناءً على تعليمات nop. إذا قمت بإضافة 2000 nop ، فسيكون لدي 0 ، 05٪ لتسقط على تعليمات rjmp.

شيء آخر يجب مراعاته. عندما تحدث المقاطعة. يقوم المترجم بالعديد من عمليات الدفع والسحب. لكنه دائمًا نفس الرقم. حتى الآن يمكننا القيام بتصحيح البرنامج.

لنستنتج من هذا:

دقة الحبيبات بمتوسط 1000 قدم / ثانية هي 0 ، 01٪

أكثر دقة 100 مرة من 1٪ الأخرى في السوق. التردد أعلى ومع TCXO أكثر دقة

على سبيل المثال ، 1٪ من 1000 قدم / ثانية أكثر أو أقل من 10 قدم / ثانية. إنه فرق كبير.

الخطوة 3: قائمة التخطيط والأجزاء

قائمة التخطيطي والأجزاء
قائمة التخطيطي والأجزاء

هنا قمت بتنفيذ دارة الضغط على زر التشغيل / الإيقاف. (انظر تعليمي الأخير) هذه الدائرة سهلة الاستخدام وتعمل بشكل جيد للغاية.

أنا أستخدم atmega328p. هذا واحد مبرمج في C.

العرض هو معيار 2 خط متوافق مع شاشات الكريستال السائل HD44780. تم استخدام وضع 4 بت.

يتم استخدام منظم 3.3 فولت لتوفير الجهد لـ TCXO 20 ميجا هرتز.

D1 للإضاءة الخلفية LCD. اختياري. ستستمر البطارية لفترة أطول إذا لم تقم بتثبيت D1.

جميع المقاومات والأغطية عبارة عن حزمة 0805

C1.1 فائق التوهج 25 فولت

C2 1uf 16v

C3 2.2 فائق التوهج 10 فولت

C4.1uf

C5.1uf

C6.1uf

C7 1uf

C8.1uf

C9.1uf

C10.1 ف

D1 1n4148 SM SOT123

D2 5.1 فولت SOT123

IC1 ATMEGA328p

IC2 MIC5225-5.0YM5-TR TPS70950DBVT SOT23-DBV

OSC1 TXETDCSANF-20.000000

R1 1 م

R2 1 م

R4 2.2 ك

R5160

R6160

R7 1 م

R8 1 م

U1 MIC5317-3.3 MIC5317 SOT23-5

U2 DMG6601LVT DMG6601LVT SOT23-6

عرض شاشة ال سي دي 2 خط HD44780. لا حاجة لشراء وحدة i2c.

المستشعرات:

2x باعث OP140A

عدد 2 ريسيفر OPL530

جهاز التشفير: PEC11R-4215K-S0024 * لا تنس إضافة مقاومات 4x 10k و 2x.01uf لعمل مرشح التشفير. انظر الصورة أدناه

الخطوة 4: ملف جربر PCB

ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور
ملف جربر ثنائي الفينيل متعدد الكلور

هنا ملفات جربر

الخطوة 5: قم بتلحيم Pcb

جندى الكمبيوتر الشخصي الخاص بك
جندى الكمبيوتر الشخصي الخاص بك
جندى الكمبيوتر الشخصي الخاص بك
جندى الكمبيوتر الشخصي الخاص بك
جندى الكمبيوتر الشخصي الخاص بك
جندى الكمبيوتر الشخصي الخاص بك

بمساعدة تخطيطية ، قم بتلحيم كل مكوناتك على لوحة الدوائر المطبوعة. كل جزء أو مكتوب على ثنائي الفينيل متعدد الكلور ، r1 ، r2… وهلم جرا.

لم أقم بتثبيت D1. هذا هو للضوء الخلفي LCD. إنه جميل ولكن عمر البطارية يتأثر. لذلك اخترت إبقاء الإضاءة الخلفية لشاشات الكريستال السائل مطفأة.

الخطوة 6: برمجة Atmega328p

برمجة Atmega328p
برمجة Atmega328p

تحقق هنا في الخطوة 12 لبرمجة atmega328p. أقدم هنا ملف.hex لهذا الغرض.

هنا هو برنامج avrdude جاهز لبرمجة ملف دفعي. انقر فقط على برنامج usbasp.bat وسيتم تثبيت usbasp بشكل صحيح. كل شيء سيتم تلقائيا بما في ذلك الصمامات بت.

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

في هذا المشروع ، أشارك أيضًا الكود المصدري للغة C. اعلم أن بعض الملاحظات الواردة فيه يمكن أن تكون باللغة الفرنسية. https://1drv.ms/u/s! AnKLPDy3pII_vXUMXHdxajwGRFJx؟

الخطوة 7: شاشة LCD

عرض شاشات الكريستال السائل
عرض شاشات الكريستال السائل
عرض شاشات الكريستال السائل
عرض شاشات الكريستال السائل

قم بتثبيت بعض الأشرطة وتوصيل ثنائي الفينيل متعدد الكلور وشاشات الكريستال السائل معًا

الخطوة 8: ملف STL

ملف المحكمة الخاصة بلبنان
ملف المحكمة الخاصة بلبنان
ملف المحكمة الخاصة بلبنان
ملف المحكمة الخاصة بلبنان
ملف المحكمة الخاصة بلبنان
ملف المحكمة الخاصة بلبنان

ملف stl

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

هناك حاجة إلى الدعم للحاوية وأنبوب الاستشعار وحامل البندقية.

لقد قمت جميعًا بالطباعة على ارتفاع 0.2 مم.

الخطوة 9: التشفير الدوار

مشفر دوار
مشفر دوار
مشفر دوار
مشفر دوار
مشفر دوار
مشفر دوار

هذا المشفر الدوار متصل بموصل isp. يتم استخدامه لتغيير وزن الحبيبات وتشغيل وإيقاف تشغيل الجهاز.

vcc isp pin 2 (سحب المقاوم)

محطة A (أصفر) انتقل إلى ISP pin 1

المحطة الطرفية B (باللون الأخضر) انتقل إلى ISP pin 3

المحطة الطرفية C (gnd) isp pin 6

أقوم بإضافة صورتين لمعرفة الفرق بين الحصول على مرشح مقابل عدم وجود مرشح. يمكنك أن ترى بسهولة الفرق بين الاثنين.

يذهب زر الضغط إلى موصل ثنائي الفينيل متعدد الكلور SW.

الخطوة 10: أنبوب الاستشعار

أنبوب الاستشعار
أنبوب الاستشعار
أنبوب الاستشعار
أنبوب الاستشعار
أنبوب الاستشعار
أنبوب الاستشعار

الأهمية:

يجب أن يكون أنبوب المستشعر أسود ويجب إخفاء جهاز الاستقبال

كانت محاولاتي الأولى الحصول على أنبوب أحمر جميل. لكن هذا صعب! لم يكن يعمل على الإطلاق. اكتشفت أن الضوء الخارجي كان واردًا ، وكان جهاز استشعار البلاستيك وجهاز الاستقبال قيد التشغيل دائمًا.

للحصول على نتيجة جيدة لم يكن لدي خيار لتغيير اللون إلى الأسود.

تثبيت جهاز الاستقبال في الأعلى. وإخفاء البلاستيك الشفاف بالطلاء الأسود أو الشريط أو العلكة والسيليكون الأسود.

قم بتثبيت الباعث في الأسفل.. تحقق باستخدام قلم إذا كانت المستشعرات تستجيب بشكل جيد. ربما تحتاج فتحة الباعث إلى التوسيع قليلاً. سوف يعتمد على معايرة الطابعة الخاصة بك.

لدي أيضًا نتيجة أفضل في الظل. تجنب أشعة الشمس المباشرة.

الخطوة 11: بديل أنبوب الاستشعار

بديل أنبوب الاستشعار
بديل أنبوب الاستشعار
بديل أنبوب الاستشعار
بديل أنبوب الاستشعار

إذا لم يكن لديك طابعة ثلاثية الأبعاد ، فيمكنك فعل الشيء نفسه باستخدام أنبوب نحاسي. سوف تعمل بشكل جيد للغاية. الشيء الصعب الذي يجب القيام به هو الثقب على بعد 3 بوصات بالضبط ويجب محاذاة جهاز الاستقبال والباعث.

الخطوة 12: بيليه على راسم الذبذبات والمعايرة

بيليه على راسم الذبذبات والمعايرة
بيليه على راسم الذبذبات والمعايرة

هذا هو حقيقي بيليه يمر رمى الأنبوب. المجس 1 باللون الأصفر هو المستشعر 1. المجس 2 اللون الأرجواني هو المستشعر 2.

الوقت / div يساوي 50 دولارًا أمريكيًا.

يمكننا عد 6 أقسام من 50us. 50 دولارًا × 6 = 300 دولارًا (لمدة 3 بوصات). 300 لنا × 4 = 1.2 مللي ثانية لكل قدم واحد

1 / 1.2 مللي ثانية = 833.33 قدم / ثانية

يمكننا أيضًا أن نرى أن المستشعر عادة عند 5 فولت. وهل يمكننا منع ضوء الباعث ، ينخفض المستشعر إلى 0.

إنها الطريقة التي يبدأ بها ويوقف كونتره (timer1)

ولكن لمعرفة ما إذا كانت السرعة دقيقة بالضبط ، كنت بحاجة إلى طريقة لقياس ذلك.

لإجراء معايرة البرنامج واختبار دقة هذا الجهاز ، استخدمت مذبذبًا مرجعيًا بسرعة 10 ميجا هرتز. انظر GPSDO الخاص بي على تعليمات أخرى.

أطعم atmega328 آخر بهذه 10 ميجا هرتز. وقم ببرمجة هذا في المجمع لإرسال نبضتين لي في كل مرة أضغط فيها على زر لمحاكاة الحبيبات. تمامًا كما رأينا في الصورة ، ولكن بدلاً من ذلك ، كان لدينا بيليه حقيقي ، فقد كانت جامعة كاليفورنيا أخرى ترسل لي نبضتين.

في كل مرة يتم فيها الضغط على زر الضغط ، يتم إرسال نبضة واحدة و 4 مللي ثانية بالضبط بعد إرسال نبضة أخرى.

بهذه الطريقة ، سأكون قادرًا على موازنة برنامج التحويل البرمجي لعرض 1000 قدم / ثانية دائمًا.

الخطوة 13: المزيد …

أكثر…
أكثر…
أكثر…
أكثر…

هذا هو أول نموذج لي لعام 2010.

لأي أسئلة أو تقرير خطأ يمكنك مراسلتي عبر البريد الإلكتروني. الإنجليزية أو الفرنسية. سأبذل قصارى جهدي للمساعدة.

موصى به: