ในบทความนี้เราจะมาดูกันว่าคุณสามารถสร้างโครโนกราฟอย่างง่าย ๆ จากชิ้นส่วนที่ราคาไม่แพง การปรับตัว จำเป็นเพื่อวัดความเร็วของกระสุนในปืนไรเฟิล ตัวเลขเหล่านี้มีความจำเป็นเพื่อกำหนดสภาพของปืนเพราะเมื่อเวลาผ่านไปบางส่วนของนิวเมติกก็เสื่อมสภาพและจำเป็นต้องเปลี่ยนใหม่
เราเตรียมวัสดุและเครื่องมือที่จำเป็น:
- Digispark จีน (ในเวลาที่ซื้อมันมีค่าใช้จ่าย 80 รูเบิล);
- ประเภทส่วนแสดงบน TM1637 (ราคา 90 รูเบิลเมื่อซื้อ);
- ไฟ LED อินฟราเรดและโฟโต้ทรานซิสเตอร์ (10 คู่) - ราคาอยู่ที่ 110 รูเบิล
- ตัวต้านทาน 220 โอห์มหนึ่งร้อยค่าใช้จ่าย 70 รูเบิล แต่จะต้องมีเพียงสองตัวเท่านั้น
นี่คือรายการทั้งหมดของรายการที่คุณจะต้องซื้อ อย่างไรก็ตามตัวต้านทานสามารถพบได้ในเครื่องใช้ไฟฟ้าในครัวเรือนเก่า คุณสามารถเดิมพันได้มากขึ้นที่มูลค่า แต่ไม่น้อยกว่า เป็นผลให้คุณสามารถเก็บรักษาไว้ภายใน 350 รูเบิล แต่นี่ก็ไม่มากนักเนื่องจากโครโนกราฟของโรงงานจะมีราคาอย่างน้อย 1,000 รูเบิลและการชุมนุมก็แย่กว่าเรามาก ทำที่บ้าน.
เหนือสิ่งอื่นใดคุณต้องตุนรายละเอียดเช่น:
- สายไฟ
- ชิ้นส่วนของท่อที่มีความยาวอย่างน้อย 10 ซม. (ท่อน้ำพลาสติกที่เหมาะสม)
- ทั้งหมดสำหรับการบัดกรี;
- มัลติมิเตอร์ (อุปกรณ์เสริม)
รายละเอียดสามข้อแรกที่อธิบายมีความแตกต่างของตัวเองดังนั้นจึงจำเป็นต้องพิจารณาแยกต่างหาก
Digispark
รายการนี้เป็นแผงวงจรขนาดเล็กที่เข้ากันได้กับ Arduinoบนกระดานเธอมี ATtiny85 วิธีการเชื่อมต่อองค์ประกอบนี้กับ Arduino IDE คุณสามารถอ่านได้คุณยังสามารถดาวน์โหลดไดรเวอร์ได้ที่นั่น
บอร์ดนี้มีหลายตัวเลือกหนึ่งใช้ microUSB และอื่น ๆ มาพร้อมกับตัวเชื่อมต่อ USB ซึ่งมีสายโดยตรงบนบอร์ด เนื่องจากความจริงที่ว่าผลิตภัณฑ์โฮมเมดไม่มีแหล่งจ่ายไฟส่วนบุคคลผู้เขียนเลือกเวอร์ชั่นแรกของบอร์ด หากคุณติดตั้งแบตเตอรี่หรือแบตเตอรี่ในผลิตภัณฑ์โฮมเมดสิ่งนี้จะเพิ่มราคาอย่างมากและจะไม่ส่งผลกระทบต่อการใช้งานจริง และเกือบทุกคนมีสายเคเบิลสำหรับชาร์จมือถือและพาวเวอร์แบงค์
สำหรับลักษณะพวกมันคล้ายกับ ATtiny85 นี่มันมีความสามารถมากมาย ไมโครคอนโทรลเลอร์ในโครโนกราฟตรวจสอบเซ็นเซอร์เท่านั้นและควบคุมการแสดงผล
หากคุณไม่เคยพบ Digispark มาก่อนความแตกต่างที่สำคัญที่สุดสามารถพบได้ในตาราง
สิ่งสำคัญคือต้องพิจารณาข้อเท็จจริงที่ว่าการกำหนดหมายเลขพินสำหรับฟังก์ชัน analogRead () มีความแตกต่าง และที่ขาที่สามเป็นตัวต้านทานแบบดึงขึ้นที่มีค่าเล็กน้อยที่ 1.5 kOhm เนื่องจากใช้ใน USB
บางคำเกี่ยวกับจอแสดงผล
ทุกคนสามารถใช้จอแสดงผลสำหรับโฮมเมด แต่ผู้เขียนเลือกใช้ตัวเลือกราคาถูก เพื่อให้อุปกรณ์มีราคาถูกลงคุณสามารถละทิ้งการแสดงผลได้อย่างสมบูรณ์ ข้อมูลสามารถส่งออกผ่านสายเคเบิลไปยังคอมพิวเตอร์ มันจะต้องการที่นี่ การแสดงผลที่เป็นปัญหาคือสำเนาของการแสดงผล
ลักษณะที่จอแสดงผลด้านหน้าและด้านหลังสามารถมองเห็นได้ในภาพถ่าย
เนื่องจากระยะทางระหว่างตัวเลขเหมือนกันเมื่อปิดเครื่องหมายโคลอนตัวเลขจะถูกอ่านโดยไม่มีปัญหา ไลบรารีมาตรฐานสามารถแสดงตัวเลขในช่วง 0-9 ตัวอักษรในช่วง a-f และยังมีโอกาสที่จะเปลี่ยนความสว่างของจอแสดงผลทั้งหมด สามารถตั้งค่าตัวเลขได้โดยใช้ฟังก์ชั่นการแสดงผล (int 0-3, int 0-15)
วิธีใช้จอแสดงผล
หากคุณพยายามทำมากกว่าค่าของ [0, 15] จอแสดงผลจะแสดงความสับสนซึ่งนอกเหนือจากสิ่งอื่นทั้งหมดนั้นไม่ใช่แบบคงที่ ดังนั้นในการแสดงตัวอักษรพิเศษเช่นดีกรีมินิส ฯลฯ คุณต้องใช้ทิงเกอร์
ผู้เขียนต้องการให้จอแสดงผลแสดงพลังงานที่เสร็จสิ้นของการบินของกระสุนซึ่งจะถูกคำนวณขึ้นอยู่กับความเร็วของกระสุนและมวลของกระสุน ค่าตามความคิดจะต้องแสดงตามลำดับ แต่เพื่อให้เข้าใจที่ควรสังเกตว่าควรจะสังเกตว่าควรใช้ตัวอักษร“ J” ใด ในกรณีที่รุนแรงคุณสามารถใช้โคลอนได้ แต่ผู้เขียนไม่ชอบมันและเขาปีนเข้าไปในห้องสมุด เป็นผลให้ฟังก์ชั่น setSegments (byte addr ข้อมูล byte) ถูกสร้างขึ้นบนพื้นฐานของฟังก์ชั่นการแสดงผลมันสว่างขึ้นส่วนที่เข้ารหัสในข้อมูลในจำนวนที่มีหมายเลข addr:
เซ็กเมนต์ดังกล่าวมีการเข้ารหัสค่อนข้างง่ายบิตที่มีนัยสำคัญน้อยที่สุดของข้อมูลรับผิดชอบส่วนบนจากนั้นตามเข็มนาฬิกาตามลำดับบิตที่ 7 จะรับผิดชอบเซ็กเมนต์กลาง อักขระ "1" เมื่อเข้ารหัสดูเหมือน 0b00000110 บิตที่สำคัญที่สุดอันดับที่แปดนั้นรับผิดชอบโคลอนมันถูกใช้ในหลักที่สองและส่วนอื่น ๆ ทั้งหมดจะถูกละเว้น จากนั้นผู้เขียนทำการรับรหัสโดยอัตโนมัติโดยใช้ Excel
ในที่สุดสิ่งที่เกิดขึ้นสามารถเห็นได้ในภาพถ่าย
ในที่สุดเซ็นเซอร์
ไม่มีข้อมูลที่ถูกต้องเกี่ยวกับเซ็นเซอร์มันเป็นที่รู้กันว่าพวกเขามีความยาวคลื่น 940 นาโนเมตรเท่านั้น ในระหว่างการทดลองพบว่าเซ็นเซอร์ไม่สามารถทนกระแสได้มากกว่า 40 mA สำหรับแรงดันไฟฟ้าไม่ควรสูงกว่า 3.3V สำหรับโฟโต้ทรานซิสเตอร์มันมีลำตัวที่โปร่งใสเล็กน้อยและตอบสนองต่อแสง
เราดำเนินการประกอบและกำหนดค่าโฮมเมด:
ขั้นตอนแรก การชุมนุม
ทุกอย่างเป็นไปอย่างเรียบง่าย จากหมุดทั้งหมดจำเป็นต้องใช้เฉพาะ P0, P1 และ P2 สองตัวแรกใช้สำหรับแสดงผลและจำเป็นต้องใช้ P2 สำหรับเซ็นเซอร์
อย่างที่คุณเห็นตัวต้านทานหนึ่งตัวถูกใช้เพื่อ จำกัด กระแสสำหรับ LED แต่ตัวที่สองดึง P2 ลงไปที่พื้น เนื่องจากความจริงที่ว่า phototransistor เชื่อมต่อแบบขนานเมื่อกระสุนผ่านด้านหน้าของ optocoupler ใด ๆ แรงดันไฟฟ้าใน P2 จะลดลง ในการกำหนดความเร็วในการบินของสัญลักษณ์แสดงหัวข้อคุณจำเป็นต้องทราบระยะห่างระหว่างเซ็นเซอร์วัดไฟกระชากสองครั้งและกำหนดเวลาที่เกิดขึ้น
เนื่องจากความจริงที่ว่าจะใช้พินเพียงอันเดียวจึงไม่สำคัญว่าจะต้องยิงจากด้านใด โฟโต้ทรานซิสเตอร์จะสังเกตเห็นกระสุน
รายละเอียดทั้งหมดที่ปรากฏในภาพถ่ายจะถูกรวบรวม ในการรวบรวมทุกสิ่งผู้เขียนตัดสินใจใช้ breadboard จากนั้นโครงสร้างทั้งหมดถูกปกคลุมด้วยกาวร้อนเพื่อความแข็งแรง เซ็นเซอร์จะถูกวางไว้บนท่อและสายไฟจะถูกบัดกรีด้วย
เพื่อป้องกันไม่ให้ไดโอดเต้นเป็นจังหวะเมื่อขับเคลื่อนโดยธนาคารพลังงานผู้เขียนติดตั้งอิเล็กโทรไลต์ที่ 100 mKf พร้อมกับ LED
มันเป็นสิ่งสำคัญที่จะต้องทราบว่าเลือกพิน P2 ด้วยเหตุผลความจริงก็คือใช้ P3 และ P4 ใน USB ดังนั้นตอนนี้ด้วยความช่วยเหลือของ P2 จึงมีโอกาสที่จะทำแฟลชโฮมเมดหลังจากประกอบ
P2 ยังเป็นอินพุตแบบอะนาล็อกดังนั้นจึงไม่จำเป็นต้องใช้อินเตอร์รัปต์ คุณสามารถวัดค่าที่อ่านได้ระหว่างค่าปัจจุบันและค่าก่อนหน้าหากความแตกต่างสูงกว่าค่าที่กำหนดจากนั้นในขณะนั้นกระสุนจะผ่านเข้าใกล้ optocoupler
ขั้นตอนที่สอง การแทรก
Prescaler เป็นตัวแบ่งความถี่ในกรณีมาตรฐานในบอร์ดเช่น Arduino มันคือ 128 ตัวเลขนี้มีผลต่อความถี่ของ ADC นั่นคือสำหรับค่าเริ่มต้น 16 MHz, 16/128 = 125 kHz ออกมา การทำสำเนาดิจิทัลแต่ละอันประกอบด้วยการปฏิบัติการ 13 ครั้งดังนั้นพินสามารถทำการสำรวจได้มากที่สุดด้วยความเร็ว 9600 kHz ในทางปฏิบัติมันไม่เกิน 7 kHz เป็นผลให้ช่วงเวลาระหว่างการวัดคือ 120 μsซึ่งมากเกินไปสำหรับงานที่ทำที่บ้าน หากกระสุนพุ่งด้วยความเร็ว 300 m / s มันจะเอาชนะเส้นทาง 3.6 ซม. ในช่วงเวลานี้นั่นคือผู้ควบคุมจะไม่สามารถสังเกตเห็นได้ เพื่อให้ทุกอย่างทำงานอย่างถูกต้องช่วงเวลาระหว่างการวัดควรมีอย่างน้อย 20 μs สำหรับสิ่งนี้ค่าตัวหารจะต้องเท่ากับ 16 ผู้เขียนทำแบ่ง 8 วิธีการทำเช่นนี้สามารถดูได้ด้านล่าง
เกิดอะไรขึ้นกับการเรียนรู้ระหว่างการทดสอบสามารถเห็นได้ในภาพถ่าย
ตรรกะของเฟิร์มแวร์มีหลายขั้นตอน:
- การวัดความแตกต่างของค่าบนพินก่อนและหลัง;
- หากความแตกต่างสูงกว่าขีด จำกัด การวนซ้ำจะหายไปและเวลาปัจจุบัน (micros ()) จะถูกจดจำ
- รอบที่สองทำงานคล้ายกับรอบแรกและมีตัวนับเวลาในรอบ
- หากตัวนับถึงค่าที่ตั้งไว้จะมีการส่งข้อความแสดงข้อผิดพลาดและการเปลี่ยนเป็นสถานะเริ่มต้น ในกรณีนี้วงจรจะไม่เข้าสู่ชั่วนิรันดร์หากกระสุนนัดที่สองไม่ได้ถูกเซ็นเซอร์ตรวจจับทันที
- หากตัวนับไม่ล้นและความแตกต่างของค่ามากกว่าขีด จำกัด เวลาปัจจุบันจะถูกวัด (micros ())
- ตอนนี้ขึ้นอยู่กับความแตกต่างของเวลาและระยะทางระหว่างเซ็นเซอร์คุณสามารถคำนวณความเร็วการบินของกระสุนและข้อมูลการแสดงผลบนหน้าจอ ถ้าอย่างนั้นมันก็เริ่มต้นใหม่อีกครั้ง
ขั้นตอนสุดท้าย การทดสอบ
หากทุกอย่างทำอย่างถูกต้องอุปกรณ์จะทำงานโดยไม่มีปัญหา ปัญหาเดียวคือการตอบสนองที่ไม่ดีต่อแสงจากหลอดฟลูออเรสเซนต์และหลอด LED ที่มีคลื่นความถี่ 40 kHz ในกรณีนี้อาจเกิดข้อผิดพลาดในอุปกรณ์
ผลงานโฮมเมดในสามโหมด:
หลังจากเปิดเครื่องแล้วจะมีคำทักทายจากนั้นหน้าจอจะเต็มไปด้วยแถบแสดงว่าอุปกรณ์กำลังรอการยิง
หากมีข้อผิดพลาดข้อความ“ Err” จะปรากฏขึ้นจากนั้นเปิดโหมดสแตนด์บาย
ถ้าอย่างนั้นการวัดความเร็วก็มาถึง
ทันทีหลังการยิงอุปกรณ์จะแสดงความเร็วของกระสุน (ระบุโดยสัญลักษณ์ n) จากนั้นข้อมูลเกี่ยวกับพลังงานของกระสุน (สัญลักษณ์ J) จะปรากฏขึ้น เมื่อจูลปรากฏขึ้นเครื่องหมายโคลอนก็จะปรากฏขึ้นเช่นกัน