สารบัญ:

เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino: 9 ขั้นตอน
เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino: 9 ขั้นตอน

วีดีโอ: เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino: 9 ขั้นตอน

วีดีโอ: เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino: 9 ขั้นตอน
วีดีโอ: EP 27. Arduino ฉบับไวจนไฟลุก !! - สาระเดฟ ใน 3 นาที 2024, พฤศจิกายน
Anonim
เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino
เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino
เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino
เครื่องทดสอบอุปกรณ์อัตโนมัติด้วย Arduino

นี่อาจดูไม่มากนัก แต่นี่อาจเป็นสิ่งที่มีประโยชน์มากที่สุดที่ฉันเคยสร้างกับ Arduino เป็นเครื่องทดสอบอัตโนมัติสำหรับผลิตภัณฑ์ที่ฉันขายชื่อว่า Power Blough-R ไม่เพียงแต่ช่วยประหยัดเวลาฉันเท่านั้น (ขณะนี้ช่วยฉันได้อย่างน้อย 4 ชั่วโมงและเพิ่มขึ้นเรื่อยๆ) แต่ยังทำให้ฉันมั่นใจมากขึ้นว่าผลิตภัณฑ์ทำงานได้ 100% ก่อนส่งออก

Power Blough-R ซึ่งออกเสียงว่า "Power Blocker" (เป็นการเล่นชื่อของฉันซึ่งออกเสียงว่า "ล็อก" อย่างน่าประหลาดใจ!) มีไว้เพื่อแก้ปัญหาด้านพลังงานป้อนกลับที่คุณมักพบเมื่อใช้ octoprint กับเครื่องพิมพ์ 3 มิติ

หากต้องการใช้เครื่องมือทดสอบ คุณเพียงแค่วาง Power Blough-R ลงในส่วนหัว USB แล้วกดปุ่มรีเซ็ตบน Arduino Nano ผู้ทดสอบจะดำเนินการผ่านชุดการทดสอบ และจะระบุว่าอุปกรณ์ผ่านการทดสอบหรือไม่ผ่านโดยใช้ไฟ LED ในตัวของ Nano (ทึบสำหรับผ่าน กะพริบหากล้มเหลว)

เมื่อคุณมีสิ่งที่ต้องทำมากมาย การหาวิธีลดเวลาต่อหน่วยอาจมีผลกระทบอย่างมาก การใช้เครื่องทดสอบนี้ช่วยลดเวลาที่ใช้ในการทดสอบหน่วยจากประมาณ 30 วินาทีเป็น 5 วินาที แม้ว่า 25 วินาทีจะฟังดูไม่มากนัก แต่เมื่อคุณมี 100s ของสิ่งเหล่านี้ที่ต้องทำก็เพิ่มขึ้น!

ฉันคิดว่าสิ่งที่น่าประทับใจที่สุดที่ฉันสามารถพูดได้เกี่ยวกับมันคือ เครื่องมือนี้ทำให้ฉันใช้เวลาทดสอบ Power Blough-R สั้นกว่าการเปิดถุงป้องกันไฟฟ้าสถิตย์ที่ส่งมาถึงสองเท่า!

คุณอาจไม่จำเป็นต้องสร้างอุปกรณ์ที่แน่นอนนี้ แต่หวังว่าบางสิ่งที่ฉันทำอาจเป็นประโยชน์กับคุณ

ขั้นตอนที่ 1: ดูวิดีโอ

Image
Image

สิ่งที่ฉันกล่าวถึงในบทความนี้ส่วนใหญ่มีอยู่ในวิดีโอนี้ ดังนั้นโปรดตรวจสอบว่าวิดีโอเป็นของคุณหรือเปล่า!

ขั้นตอนที่ 2: The Power Blow-R

The Power Blow-R
The Power Blow-R

Power Blough-R คืออะไรและทำหน้าที่อะไร?

หากคุณเคยใช้ Octoprint กับเครื่องพิมพ์ 3 มิติ มักมีปัญหาที่หน้าจอเครื่องพิมพ์ของคุณถูกเปิดไว้โดยพลังงาน USB จากราสเบอร์รี่ pi แม้ว่าเครื่องพิมพ์จะปิดอยู่ แม้ว่านี่จะไม่ใช่จุดจบของโลก แต่ก็อาจสร้างความรำคาญได้มากโดยเฉพาะในห้องมืด

Power Blough-R เป็น PCB แบบธรรมดาที่มีขั้วต่อ USB ตัวผู้และตัวเมียอยู่ แต่ไม่ได้เชื่อมต่อกับสาย 5V

มีวิธีอื่นในการแก้ปัญหานี้ บางคนตัดสาย 5V ของสาย USB หรือติดเทปทับขั้วต่อ 5V แต่ฉันต้องการหาวิธีที่เรียบง่ายและมีประสิทธิภาพเพื่อให้ได้ผลลัพธ์เดียวกันโดยไม่ทำอันตรายใดๆ สาย USB!

หากคุณสนใจ Power BLough-R มีจำหน่ายแล้ว:

  • ใน Tindie Store ของฉัน (Kit หรือ Assembled)
  • TH3dstudio.com (ประกอบ)

(เช่นเดียวกับ BTW โพสต์นี้ไม่ได้รับการสนับสนุนและฉันไม่มีส่วนเกี่ยวข้องกับ TH3D นอกเหนือจากการจัดหา Power Blough-Rs ฉันไม่ได้รับอะไรเพิ่มเติมสำหรับการรวมลิงก์ไปยัง TH3D หรือเป็นบทความ / วิดีโอที่เคยพูดถึง เป็นส่วนหนึ่งของข้อตกลงเดิม)

ขั้นตอนที่ 3: ความเป็นมา: คำสั่งซื้อครั้งใหญ่

ความเป็นมา: การสั่งซื้อครั้งใหญ่
ความเป็นมา: การสั่งซื้อครั้งใหญ่
ความเป็นมา: การสั่งซื้อครั้งใหญ่
ความเป็นมา: การสั่งซื้อครั้งใหญ่

ฉันขาย Power Blough-Rs ที่ร้าน Tindie ของฉัน ส่วนใหญ่เป็นชุดอุปกรณ์ แต่สำหรับอันที่ฉันขายประกอบ ฉันจะทดสอบมันด้วยมัลติมิเตอร์ In จะทดสอบการเชื่อมต่อที่ดีระหว่างอินพุตและเอาต์พุตของกราวด์ D- และ D+ และ 5V นั้นไม่ได้เชื่อมต่อและทดสอบบริดจ์

การดำเนินการนี้จะใช้เวลาประมาณ 30 วินาทีหรือมากกว่านั้น และมีแนวโน้มมากที่ฉันจะทำผิดพลาดหากฉันไม่ระวังให้มาก แต่สำหรับจำนวนชิ้นส่วนประกอบที่ฉันขาย มันไม่ใช่ข้อผูกมัดเรื่องเวลามากนัก

แต่ฉันโพสต์รูปภาพของ Power Blough-R บน reddit ย่อยการพิมพ์ 3 มิติ และ Tim จาก TH3DStudio.com ติดต่อฉันเพื่อสอบถามเกี่ยวกับการสั่งสินค้าบางชิ้นเพื่อสต็อกในร้านของเขาเพื่อทดลองใช้ ฉันพูดอย่างมั่นใจและถามว่าเขากำลังมองหาเท่าไหร่ ฉันคาดว่าเขาจะพูด 10 หรือ 20 แต่เขาบอกว่ามาเริ่มที่ 100 กันเถอะ….

แทบจะเป็นไปไม่ได้เลยสำหรับฉันที่จะทดสอบอุปกรณ์ 100 เครื่องด้วยมัลติมิเตอร์อย่างมั่นใจ ดังนั้นฉันจึงรู้ว่าฉันต้องทำอะไรกับมัน!

ขั้นตอนที่ 4: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์

ฉันใช้วิธีที่ง่ายที่สุดในการประกอบสิ่งนี้ในขณะที่ฉันถูกกดดันเล็กน้อยสำหรับเวลา! มันเป็นงานสร้างราคาถูกจริงๆ (น้อยกว่า ~ $ 5 สำหรับทุกอย่าง)

  • Arduino Nano (อันนี้มี micro USB แต่อะไรก็ได้)*
  • ขั้วต่อสกรูนาโน*
  • ฝ่าวงล้อม USB ชาย *
  • ฝ่าวงล้อม USB หญิง *
  • บางสาย

การชุมนุมนี้ไม่มีอะไรมาก ประสานหมุดส่วนหัวเข้ากับนาโนหากยังไม่ได้เชื่อมและเสียบเข้ากับขั้วต่อสกรู

ควรบัดกรีสายไฟ 5 เส้นเข้ากับช่อง USB ตัวผู้และตัวเมีย หมายเหตุสำหรับลวดป้องกัน ตัวเมียไม่มีแผ่นสำหรับสิ่งนี้ ดังนั้นฉันจึงบัดกรีมันที่ด้านข้างของตัวเชื่อมต่อ สายไฟเหล่านี้สามารถถอดออกที่ปลายอีกด้านแล้วขันเข้ากับขั้วสกรูได้ (อย่าลืมปล่อยให้หย่อนบ้างเพื่อให้เสียบเข้าและถอดอุปกรณ์ได้ง่ายขึ้น)

สำหรับขั้วต่อตัวผู้ฉันใช้หมุดต่อไปนี้

  • GND > 2
  • D+ > 3
  • D- > 4
  • VCC > 5
  • โล่ > 10

สำหรับขั้วต่อตัวเมียฉันใช้:

  • GND > 6
  • D+ > 7
  • D- > 8
  • VCC > 9
  • โล่ > 11

*ลิงค์พันธมิตร

ขั้นตอนที่ 5: ซอฟต์แวร์

ซอฟต์แวร์
ซอฟต์แวร์

ก่อนอื่น คุณจะต้องดาวน์โหลด Arduino IDE และตั้งค่าหากคุณยังไม่มี

คุณสามารถหยิบภาพสเก็ตช์ที่ฉันใช้ออกจาก Github แล้วอัปโหลดไปยังบอร์ดได้ เมื่อเสร็จแล้วคุณก็ไปได้ดี!

เมื่อเริ่มต้น ภาพสเก็ตช์จะดำเนินการผ่านชุดการทดสอบ หากการทดสอบทั้งหมดผ่าน ระบบจะตั้งค่า LED ในตัวเป็นเปิด หากมีข้อผิดพลาดใด ๆ ไฟ LED ในตัวจะกะพริบ อุปกรณ์จะส่งสาเหตุของความล้มเหลวไปยังจอภาพแบบอนุกรมด้วย แต่ฉันไม่ได้ใช้คุณสมบัตินี้จริงๆ

ร่างดำเนินการผ่านการทดสอบต่อไปนี้

การทดสอบเบื้องต้น:

เพื่อตรวจสอบว่าหมุดตัวเมียกำลังอ่านตามที่คาดไว้โดยไม่สนใจหมุดตัวผู้ ดูขั้นตอนเกี่ยวกับลอจิก Tri-state สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

การทดสอบหลัก:

การทดสอบนี้จะตรวจสอบว่า GND, D+, D- และ Shield เชื่อมต่ออยู่ในขณะที่สาย 5V ถูกบล็อก นี่คือการตรวจสอบการทำงานหลักของ Power Blough-R ซึ่งจะผ่านทุกอย่างยกเว้นสาย 5V

การทดสอบสะพาน:

เพื่อตรวจสอบว่าไม่มีหมุดใดเชื่อมต่อกัน ดังนั้นมันจึงก้าวผ่านแต่ละพิน ตั้งค่าเอาต์พุต แล้วตรวจสอบว่าพินอื่นๆ ทั้งหมดไม่ได้รับผลกระทบจากสิ่งนี้

ในไม่กี่ขั้นตอนถัดไป ฉันจะพูดถึงคุณลักษณะ/แนวคิดบางอย่างที่ใช้ในการทดสอบ

ขั้นตอนที่ 6: INPUT_PULLUP

นี่เป็นสิ่งที่มีประโยชน์มากซึ่งจะช่วยให้คุณประหยัดตัวต้านทานเพิ่มเติม (ต่อพิน) ในโครงการของคุณ มีประโยชน์อย่างยิ่งเมื่อคุณใช้ปุ่มต่างๆ

เมื่อตั้งค่าพินเป็น INPUT_PULLUP โดยทั่วไปจะเชื่อมต่อพินกับ VCC ด้วยตัวต้านทาน 10k หากไม่มีตัวต้านทานแบบดึงขึ้น (หรือแบบดึงลง) สถานะเริ่มต้นของพินจะถือว่าลอยตัว และคุณจะได้รับค่าที่ไม่สอดคล้องกันเมื่อคุณอ่านพิน เนื่องจากมีค่าค่อนข้างสูงสำหรับตัวต้านทาน สถานะของพินจึงเปลี่ยนแปลงได้ง่ายโดยใช้ระดับตรรกะที่แตกต่างกันกับพิน (เช่น เมื่อกดปุ่ม มันจะเชื่อมต่อพินกับกราวด์ และพินจะอ่านค่า LOW

ฉันตั้งค่าโหมดพินของพิน FEMALE ให้เป็น INPUT_PULLUP ดังนั้นฉันจึงมีจุดอ้างอิงว่าพินนั้นควรเป็นอย่างไร (สูง) ตราบใดที่พินนั้นไม่มีแรงภายนอก ตลอดการทดสอบ พิน MALE ถูกตั้งค่าเป็น LOW และเมื่อควรเชื่อมต่อทั้งสอง เราคาดว่าพิน FEMALE จะต่ำ

ขั้นตอนที่ 7: ลอจิกไตรสถานะ

Image
Image

สำหรับการทดสอบครั้งแรก ฉันต้องการตรวจสอบระดับตรรกะของหมุดตัวเมีย โดยไม่สนใจหมุดตัวผู้โดยพื้นฐานแล้ว

นี่อาจดูเหมือนเป็นปัญหาเพราะหมุด MALE จะต้องมีระดับตรรกะบางอย่างที่จะส่งผลกระทบใช่ไหม?

ที่จริงแล้ว พินของไมโครคอนโทรลเลอร์ส่วนใหญ่มีสิ่งที่เรียกว่าลอจิก Tri-state ซึ่งหมายความว่ามี 3 สถานะที่สามารถอยู่ใน: HIGH, LOW และ HIGH-IMPEDENCE

อิมพีเดนซ์สูงทำได้โดยการตั้งค่าพินเป็นอินพุต มันเทียบเท่ากับการใส่ตัวต้านทาน 100 Mega OHM ที่ด้านหน้าของพิน ซึ่งจะตัดการเชื่อมต่อจากวงจรของเราได้อย่างมีประสิทธิภาพ

ลอจิก Tri-state เป็นหนึ่งในคุณสมบัติหลักใน Charlie-plexing ซึ่งเป็นวิธีมหัศจรรย์ในการจัดการกับ LED แต่ละดวงโดยใช้พินจำนวนน้อยกว่า ดูวิดีโอด้านบนหากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Charlie-plexing

ขั้นตอนที่ 8: ทดสอบเครื่องทดสอบ

บทสรุป
บทสรุป

นี่เป็นขั้นตอนที่สำคัญจริงๆ เพราะถ้าคุณไม่ทดสอบว่าผู้ทดสอบจับสถานการณ์เชิงลบ คุณมั่นใจได้เลยว่าเมื่อการทดสอบผ่าน แสดงว่าอุปกรณ์ทำงานตามที่ตั้งใจไว้

หากคุณคุ้นเคยกับการทดสอบหน่วยในการพัฒนาซอฟต์แวร์ นี่จะเทียบเท่ากับการสร้างสถานการณ์การทดสอบเชิงลบ

เพื่อทดสอบสิ่งนี้ ฉันได้สร้างกระดานสองสามกระดานที่มีข้อผิดพลาด:

  • บัดกรีส่วนหัว USB ที่ด้านผิดของบอร์ด ส่วนหัว USB จะพอดี แต่สายกราวด์จะไม่เชื่อมต่อและสาย 5V จะเป็น (น่าเสียดายที่รายการนี้ไม่ได้สร้างขึ้นโดยเจตนา ซึ่งพิสูจน์ให้เห็นถึงความจำเป็นของผู้ทดสอบ!)
  • บริดจ์สองพินโดยตั้งใจเพื่อทดสอบโค้ดการทดสอบบริดจ์

ขั้นตอนที่ 9: สรุป

ดังที่ได้กล่าวไว้ในตอนต้นของบทความนี้ สิ่งนี้น่าจะเป็นประโยชน์ที่สุดที่ฉันได้สร้างด้วย Arudino

เนื่องจากคำสั่งซื้อดั้งเดิม Tim สั่ง Power BLough-R อีก 200 ตัว และในขณะที่ประหยัดเวลานั้นได้รับการชื่นชมอย่างมาก ความมั่นใจที่ทำให้ผลิตภัณฑ์ทำงานได้อย่างสมบูรณ์คือสิ่งสำคัญที่ฉันชอบ

อันที่จริงสำหรับคำสั่ง 200 อัน ภรรยาของฉันทำการทดสอบทั้งหมดโดยพื้นฐานแล้ว เธอชอบความรวดเร็วในการใช้งานและความเรียบง่ายของตัวบ่งชี้ผ่าน/ไม่ผ่าน

หวังว่าจะมีสิ่งที่เป็นประโยชน์ในการเรียนรู้จากคู่มือนี้ หากคุณมีคำถามใด ๆ โปรดถามด้านล่าง!

ทั้งหมดที่ดีที่สุด, Brian

  • YouTube
  • ทวิตเตอร์
  • ทินดี้

แนะนำ: