สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
คำแนะนำนี้แสดงวิธีการประสานชิ้นส่วนอิเล็กทรอนิกส์ใน PCB ของคุณโดยใช้ Robotic Arm
ความคิดของโปรเจ็กต์นี้เข้ามาในหัวฉันโดยบังเอิญเมื่อฉันกำลังค้นหาความสามารถต่างๆ ของแขนกลหุ่นยนต์ จากนั้นฉันก็พบว่ามีเพียงไม่กี่คนที่ครอบคลุมการใช้งานในส่วนนี้ (Automated Welding & Soldering Robotic Arm)
อันที่จริงฉันเคยมีประสบการณ์ในการสร้างโครงการที่คล้ายกันมาก่อน แต่คราวนี้โครงการมีประโยชน์และมีประสิทธิภาพมาก
ก่อนตัดสินใจเลือกรูปทรง ฉันเห็นแอปพลิเคชันและโครงการอื่นๆ มากมายโดยเฉพาะในด้านอุตสาหกรรม โครงการโอเพ่นซอร์สช่วยฉันได้มากในการค้นหารูปทรงที่เหมาะสมและเหมาะสม
นั่นเป็นเพราะวิทยาศาสตร์เบื้องหลังการให้อาหารทางสายตาสำหรับสมองของเรา
ขั้นตอนที่ 1: ออกแบบ
ตอนแรกฉันเห็นโครงการมืออาชีพมากมายที่ไม่สามารถดำเนินการได้เนื่องจากความซับซ้อนของโครงการ
จากนั้นฉันก็ตัดสินใจที่จะสร้างผลิตภัณฑ์ของตัวเองโดยได้รับแรงบันดาลใจจากโครงการอื่นๆ ดังนั้นฉันจึงใช้ Google Sketch up 2017 pro แต่ละส่วนได้รับการออกแบบให้ประกอบติดกันตามลำดับเฉพาะดังแสดงในภาพถัดไป
และก่อนประกอบ ฉันต้องทดสอบชิ้นส่วนและเลือกหัวแร้งที่เหมาะสม สิ่งนี้เกิดขึ้นได้โดยการวาดโครงงานตกแต่งเสมือนจริงเพื่อเป็นแนวทางสำหรับฉัน
ภาพวาดเหล่านี้แสดงรูปร่างขนาดอายุการตกแต่งจริงและขนาดที่ถูกต้องของแต่ละส่วนเพื่อเลือกหัวแร้งที่เหมาะสม
ขั้นตอนที่ 2: ชิ้นส่วนอิเล็กทรอนิกส์
1.สเต็ปเปอร์มอเตอร์ 28BYJ-48 พร้อมโมดูลไดรเวอร์ ULN2003
2. Arduino Uno R3
3. MG-90S ไมโครเมทัลเกียร์เซอร์โวมอเตอร์
4. I2C SERIAL LCD 1602 โมดูล
5.เขียงหั่นขนม
6.สายจัมเปอร์
7.ก้าวลงโมดูล
8. ไมโครเซอร์โวมอเตอร์เกียร์โลหะ
ขั้นตอนที่ 3: การใช้งานและการติดตั้ง
ระหว่างทำงาน เจออุปสรรค เราต้องประกาศให้ทราบ
1. แขนนั้นหนักเกินไปที่จะจับโดยสเต็ปเปอร์มอเตอร์ขนาดเล็ก และเราแก้ไขปัญหานี้ในรุ่นถัดไปหรือการพิมพ์ด้วยเลเซอร์
2. เนื่องจากตัวแบบทำมาจากวัสดุที่เป็นพลาสติก ความเสียดทานของฐานหมุนจึงสูงและการเคลื่อนไหวไม่ราบรื่น
ทางออกแรกคือการซื้อสเต็ปเปอร์มอเตอร์ที่ใหญ่กว่าซึ่งรับน้ำหนักและแรงเสียดทาน และเราออกแบบฐานใหม่เพื่อให้พอดีกับสเต็ปเปอร์มอเตอร์ที่ใหญ่กว่า
จริงๆ แล้วปัญหาคือภาพนิ่งและมอเตอร์ที่ใหญ่กว่านั้นไม่สามารถแก้ไขได้ และนั่นเป็นเพราะแรงเสียดทานระหว่างพื้นผิวพลาสติกสองอันข้างๆ เราไม่สามารถปรับหม้อเป็นเปอร์เซ็นต์ได้ ตำแหน่งการหมุนสูงสุดไม่ใช่กระแสสูงสุดที่คนขับสามารถให้ได้ คุณต้องใช้เทคนิคที่แสดงโดยผู้ผลิต ซึ่งคุณจะวัดแรงดันไฟฟ้าขณะหมุนหม้อ
จากนั้นฉันก็ใช้วิธีเปลี่ยนการออกแบบฐานทั้งหมดและวางเซอร์โวมอเตอร์ที่มีเฟืองโลหะติดตั้งกลไกเฟือง
3. แรงดันไฟฟ้า
บอร์ด Arduino สามารถจ่ายไฟได้ทั้งจากแจ็คไฟ DC (7 - 12V), ขั้วต่อ USB (5V) หรือพิน VIN ของบอร์ด (7-12V) การจ่ายแรงดันไฟฟ้าผ่านพิน 5V หรือ 3.3V จะข้ามตัวควบคุม และเราตัดสินใจซื้อสาย USB พิเศษที่รองรับ 5 โวลต์จากพีซีหรือแหล่งจ่ายไฟอื่นๆ
ดังนั้นสเต็ปเปอร์มอเตอร์และส่วนประกอบอื่นๆ จึงทำงานได้อย่างถูกต้องด้วยไฟเพียง 5 โวลต์ และเพื่อรักษาความปลอดภัยให้กับชิ้นส่วนจากปัญหาใดๆ เราจึงแก้ไขโมดูลสเต็ปดาวน์
โมดูลสเต็ปดาวน์คือบั๊กคอนเวอร์เตอร์ (สเต็ปดาวน์คอนเวอร์เตอร์) เป็นตัวแปลงไฟ DC-to-DC ซึ่งจะลดแรงดันไฟฟ้า (ในขณะที่เพิ่มกระแสไฟ) จากอินพุต (อุปทาน) ไปยังเอาต์พุต (โหลด) และยังรักษาเสถียรภาพ หรือแรงดันไฟฟ้า
ขั้นตอนที่ 4: การปรับเปลี่ยน
หลังจากการดัดแปลงบางอย่าง เราได้เปลี่ยนการออกแบบของรุ่นโดยลดขนาดของแขน และทำรูที่เหมาะสมสำหรับเฟืองเซอร์โวมอเตอร์ดังที่แสดง
และในขณะที่ทดสอบเซอร์โวมอเตอร์สามารถหมุนน้ำหนักได้อย่างถูกต้อง 180 องศา เนื่องจากแรงบิดที่สูงทำให้กลไกสามารถรองรับน้ำหนักที่หนักกว่าได้ แรงหมุนที่กลไกเซอร์โวสามารถส่งออกได้นั้นขึ้นอยู่กับปัจจัยการออกแบบ-แรงดันจ่าย ความเร็วของเพลา ฯลฯ
การใช้ I2c นั้นดีเพราะใช้เพียงสองพินเท่านั้น และคุณสามารถใส่อุปกรณ์ i2c หลายตัวบนสองพินเดียวกันได้ ตัวอย่างเช่น คุณสามารถมีกระเป๋าเป้สะพายหลัง LCD+LCD ได้ถึง 8 ใบบนหมุดสองอัน! ข่าวร้ายคือคุณต้องใช้พิน i2c ของ 'ฮาร์ดแวร์'
ขั้นตอนที่ 5: ที่ยึดหัวแร้งหรือกริปเปอร์
กริปเปอร์
ได้รับการแก้ไขโดยใช้มอเตอร์เซอร์โวแบบเฟืองโลหะเพื่อรับน้ำหนักของหัวแร้ง
servo.attach (9, 1000, 2000);
servo.write (จำกัด (มุม 10, 160));
ตอนแรกเรามีสิ่งกีดขวางที่ทำให้มอเตอร์สั่นและสั่น จนกระทั่งเราพบรหัสที่ยุ่งยากซึ่งทำให้นางฟ้าจำกัด
เนื่องจากเซอร์โวบางตัวไม่สามารถหมุนได้เต็มที่ 180 องศา หลายคนทำไม่ได้
ดังนั้นเราจึงเขียนการทดสอบเพื่อกำหนดว่าขีดจำกัดทางกลอยู่ที่ใด ใช้ servo.write Microseconds แทน servo.write ฉันชอบสิ่งนี้มากกว่าเพราะช่วยให้คุณใช้ 1,000-2000 เป็นช่วงฐาน และเซอร์โวจำนวนมากจะรองรับนอกช่วงนั้นตั้งแต่ 600 ถึง 2400
ดังนั้นเราจึงลองใช้ค่าต่างๆ กันและดูว่าคุณได้รับกระแสตอบรับจากที่ใดที่บอกว่าคุณถึงขีดจำกัดแล้ว จากนั้นให้อยู่ในขอบเขตเหล่านั้นเมื่อคุณเขียนเท่านั้น คุณสามารถตั้งค่าขีด จำกัด เหล่านั้นได้เมื่อคุณใช้ servo.attach (pin, min, max)
ค้นหาช่วงของการเคลื่อนไหวที่แท้จริงและตรวจดูให้แน่ใจว่าโค้ดไม่พยายามดันผ่านจุดสิ้นสุด ฟังก์ชัน constrain () Arduino มีประโยชน์สำหรับสิ่งนี้
และนี่คือลิงค์ที่คุณสามารถซื้อหัวแร้ง USB:
มินิ 5V DC 8W USB Power การประสาน ปากกาเหล็ก + สวิตช์แบบสัมผัส Stand Holder
ขั้นตอนที่ 6: การเข้ารหัส
Arduino ใช้ไลบรารี่
สภาพแวดล้อมสามารถขยายได้โดยใช้ไลบรารี เช่นเดียวกับแพลตฟอร์มการเขียนโปรแกรมส่วนใหญ่ ไลบรารี่มีฟังก์ชันเพิ่มเติมสำหรับใช้ในการสเก็ตช์ เช่น การทำงานกับฮาร์ดแวร์หรือการจัดการข้อมูล เพื่อใช้ห้องสมุดในแบบร่าง
#include AccelStepper.h
#รวม MultiStepper.h #รวม Servo.h #รวม Wire.h #รวม LiquidCrystal_I2C.h