สารบัญ:
- ขั้นตอนที่ 1: การออกแบบฮาร์ดแวร์
- ขั้นตอนที่ 2: การเลือกมอเตอร์ที่เหมาะสม
- ขั้นตอนที่ 3: การสร้างฐาน
- ขั้นตอนที่ 4: การประกอบฮาร์ดแวร์
- ขั้นตอนที่ 5: อุปกรณ์อิเล็กทรอนิกส์
- ขั้นตอนที่ 6: ซอฟต์แวร์และอินเทอร์เฟซแบบอนุกรม
- ขั้นตอนที่ 7: บทสรุป
วีดีโอ: Q-Bot - Open Source Rubik's Cube Solver: 7 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ลองนึกภาพว่าคุณมีลูกบาศก์รูบิคที่มีสัญญาณรบกวน คุณรู้หรือไม่ว่าปริศนาดังกล่าวสร้างจากยุค 80 ที่ทุกคนมี แต่ไม่มีใครรู้วิธีแก้ปัญหาจริงๆ และคุณต้องการนำมันกลับคืนสู่รูปแบบเดิม โชคดีที่ทุกวันนี้หาคำแนะนำในการแก้ปัญหาได้ง่ายมาก ดังนั้น ดูวิดีโอออนไลน์เพื่อเรียนรู้วิธีพลิกด้านเพื่อให้คุณมีความสุข หลังจากทำไปสองสามครั้ง คุณจะรู้ว่ามีบางอย่างที่ขาดหายไป รูภายในที่ไม่สามารถเติมได้ วิศวกร/ผู้ผลิต/แฮ็กเกอร์ในตัวคุณไม่สามารถพอใจกับการแก้ปัญหาที่น่าทึ่งด้วยวิธีง่ายๆ เช่นนี้ จะดีกว่าไหมถ้าคุณมีเครื่องจักรที่แก้ปัญหาให้คุณ หากคุณสร้างบางสิ่งที่เพื่อนของคุณทุกคนจะต้องทึ่ง? ฉันสามารถรับประกันได้ว่ามันไม่ได้ดีไปกว่าการดูสิ่งที่คุณสร้างทำสิ่งมหัศจรรย์และไขลูกบาศก์รูบิค มาร่วมผจญภัยไปกับผมบนเส้นทางสุดอัศจรรย์ของการสร้าง Q-Bot ซึ่งเป็น Cube Solver ของ Rubik แบบโอเพ่นซอร์สที่ไม่มีวันทำลายสถิติโลกได้อย่างแน่นอน แต่จะทำให้คุณมีความสุขได้เป็นชั่วโมงๆ (แน่นอนว่าหลังจากผ่านความผิดหวังมาหมดแล้ว ระหว่างการก่อสร้าง)
ขั้นตอนที่ 1: การออกแบบฮาร์ดแวร์
ตัวแก้ไขที่สมบูรณ์ได้รับการออกแบบด้วย CAD ใน Catia วิธีนี้จะพบข้อผิดพลาดในการออกแบบส่วนใหญ่และแก้ไขก่อนการผลิตส่วนประกอบทางกายภาพใดๆ ตัวแก้ปัญหาส่วนใหญ่พิมพ์ 3 มิติใน PLA โดยใช้เครื่องพิมพ์ prusa MK3 นอกจากนี้ มีการใช้ฮาร์ดแวร์ต่อไปนี้:
- แท่งอลูมิเนียม 8 มม. 8 ชิ้น (ความยาว 10 ซม.)
- ตลับลูกปืนเชิงเส้น 8 ตัว (LM8UU)
- เข็มขัดเวลา GT2 6 มม. น้อยกว่า 2 ม. + รอกบางส่วน
- 6 NEMA 17 สเต็ปปิ้งมอเตอร์แบบไบโพลาร์
- 6 ตัวขับสเต็ปของ Polulu 4988
- Arudino Mega เป็นผู้ควบคุมโครงการ
- แหล่งจ่ายไฟ 12 V 3A
- ตัวแปลง step down เพื่อจ่ายไฟให้กับ arduino. อย่างปลอดภัย
- สกรูและขั้วต่อบางตัว
- ไม้อัดสำหรับฐาน
คำอธิบายฮาร์ดแวร์
ส่วนนี้อธิบายสั้น ๆ ว่า Q-Bot ทำงานอย่างไรและมีการใช้ส่วนประกอบที่กล่าวถึงข้างต้นอย่างไร ด้านล่างนี้ คุณสามารถดูการเรนเดอร์โมเดล CAD ที่ประกอบอย่างสมบูรณ์ได้
Q-bot ทำงานโดยติดมอเตอร์สี่ตัวเข้ากับ Rubik's Cube โดยตรงด้วยกริปเปอร์แบบพิมพ์ 3 มิติ ซึ่งหมายความว่าสามารถหมุนซ้าย ขวา ด้านหน้าและด้านหลังได้โดยตรง หากจำเป็นต้องหมุนด้านบนหรือด้านล่าง จะต้องหมุนลูกบาศก์ทั้งหมดและต้องย้ายมอเตอร์สองตัวออกไป ซึ่งทำได้โดยติดมอเตอร์จับยึดแต่ละตัวเข้ากับแคร่เลื่อนที่ขับเคลื่อนด้วยสเต็ปเปอร์มอเตอร์อีกตัวและสายพานราวลิ้นพร้อมระบบรางเชิงเส้น ระบบรางประกอบด้วยลูกปืน 8 ลูกสองตัวที่ติดตั้งอยู่ในโพรงในรางเลื่อน และรางเลื่อนทั้งหมดบนเพลาอะลูมิเนียม 8 มม. 2 ตัว ด้านล่าง คุณจะเห็นส่วนประกอบย่อยของแกนตัวแก้หนึ่งแกน
โดยพื้นฐานแล้วแกน x และแกน y จะเหมือนกัน โดยต่างกันที่ความสูงของจุดยึดของสายพานเท่านั้น เพื่อไม่ให้เกิดการชนกันระหว่างสายพานทั้งสองเมื่อประกอบเข้าด้วยกันจนสุด
ขั้นตอนที่ 2: การเลือกมอเตอร์ที่เหมาะสม
แน่นอนว่าการเลือกมอเตอร์ที่เหมาะสมเป็นสิ่งสำคัญมากในที่นี้ ส่วนหลักคือต้องแข็งแรงพอที่จะหมุนลูกบาศก์ของรูบิคได้ ปัญหาเดียวที่นี่คือไม่มีผู้ผลิตลูกบาศก์ของ Rubik ให้คะแนนแรงบิด ดังนั้น ฉันจึงต้องด้นสดและวัดผลของตัวเอง
โดยทั่วไปแล้ว แรงบิดถูกกำหนดโดยแรงที่ตั้งฉากกับตำแหน่งของจุดหมุนที่ระยะทาง r:
ดังนั้น ถ้าฉันสามารถวัดแรงที่ใช้กับลูกบาศก์ได้ ฉันก็คำนวณแรงบิดได้ ซึ่งเป็นสิ่งที่ฉันทำ ฉันหนีบลูกบาศก์ของฉันกับชั้นวางในลักษณะที่ด้านเดียวเท่านั้นที่สามารถเคลื่อนที่ได้ ที่เชือกผูกรอบลูกบาศก์และถุงที่ติดอยู่ที่ด้านล่าง ตอนนี้เหลือแค่เพิ่มน้ำหนักในกระเป๋าอย่างช้าๆ จนกว่าลูกบาศก์จะเปลี่ยน เนื่องจากไม่มีตุ้มน้ำหนักที่แม่นยำ ฉันจึงใช้มันฝรั่งแล้วตวงหลังจากนั้น ไม่ใช่วิธีการทางวิทยาศาสตร์ส่วนใหญ่ แต่เนื่องจากฉันไม่ได้พยายามหาแรงบิดขั้นต่ำจึงค่อนข้างเพียงพอ
ฉันวัดสามครั้งและใช้ค่าสูงสุดเพื่อความปลอดภัย น้ำหนักที่ได้คือ 0.52 กก. เพราะเซอร์ไอแซก นิวตัน เราจึงรู้ว่าแรงเท่ากับมวลคูณความเร่ง
ความเร่งในกรณีนี้คือความเร่งโน้มถ่วง ดังนั้นแรงบิดที่ต้องการจึงถูกกำหนดโดย
การเสียบค่าทั้งหมดเข้าไป รวมถึงครึ่งหนึ่งของเส้นทแยงมุมของลูกบาศก์ของรูบิก ในที่สุดก็เผยให้เห็นแรงบิดที่ต้องการ
ฉันใช้สเต็ปเปอร์มอเตอร์ที่สามารถใช้ได้ถึง 0.4Nm ซึ่งอาจจะเกินความสามารถ แต่ฉันต้องการความปลอดภัย
ขั้นตอนที่ 3: การสร้างฐาน
ฐานประกอบด้วยกล่องไม้ที่เรียบง่ายและมีอุปกรณ์อิเล็กทรอนิกส์ที่จำเป็นทั้งหมด มีปลั๊กสำหรับเปิดและปิดเครื่อง ไฟ LED เพื่อระบุว่าเปิดอยู่หรือไม่ พอร์ต USB B และเต้ารับสำหรับเสียบแหล่งจ่ายไฟ สร้างโดยใช้ไม้อัดขนาด 15 มม. สกรูบางตัวและกาวเล็กน้อย
ขั้นตอนที่ 4: การประกอบฮาร์ดแวร์
ด้วยชิ้นส่วนที่จำเป็นทั้งหมด รวมถึงฐาน Q-bot ก็พร้อมที่จะประกอบ ชิ้นส่วนที่กำหนดเองได้รับการพิมพ์ 3 มิติและปรับแต่งตามความจำเป็น คุณสามารถดาวน์โหลดไฟล์ CAD ทั้งหมดได้ที่ส่วนท้ายของ ible นี้ การประกอบรวมถึงการติดตั้งชิ้นส่วนที่พิมพ์ 3 มิติทั้งหมดเข้ากับชิ้นส่วนที่ซื้อมา การต่อสายเคเบิลของมอเตอร์ และการขันชิ้นส่วนทั้งหมดเข้ากับฐาน นอกจากนี้ ฉันสวมปลอกหุ้มสายมอเตอร์เพื่อให้ดูเรียบร้อยขึ้นเล็กน้อย และเพิ่มตัวเชื่อมต่อ JST ที่ปลายสาย
เพื่อเน้นย้ำถึงความสำคัญของฐานที่ฉันสร้าง นี่คือภาพก่อนและหลังของลักษณะการประกอบ การจัดเตรียมทุกอย่างให้เรียบร้อยอาจสร้างความแตกต่างอย่างมาก
ขั้นตอนที่ 5: อุปกรณ์อิเล็กทรอนิกส์
สำหรับอุปกรณ์อิเล็กทรอนิกส์ โครงการนี้ค่อนข้างง่าย มีแหล่งจ่ายไฟหลัก 12V ที่สามารถจ่ายกระแสไฟได้ถึง 3A ซึ่งให้กำลังแก่มอเตอร์ โมดูลแบบสเต็ปดาวน์ใช้เพื่อจ่ายไฟให้กับ Arduino อย่างปลอดภัย และชิลด์แบบกำหนดเองสำหรับ Arduino ได้รับการออกแบบให้มีไดรเวอร์สเต็ปเปอร์มอเตอร์ทั้งหมด ไดรเวอร์ทำให้การควบคุมมอเตอร์ง่ายขึ้นมาก การขับสเต็ปเปอร์มอเตอร์จำเป็นต้องมีลำดับการควบคุมเฉพาะ แต่ด้วยการใช้ตัวขับมอเตอร์ เราเพียงแค่ต้องสร้างพัลส์สูงสำหรับแต่ละขั้นตอนที่มอเตอร์จะหมุน นอกจากนี้ ตัวเชื่อมต่อ jst บางตัวยังถูกเพิ่มเข้ากับชิลด์เพื่อให้การเชื่อมต่อมอเตอร์ทำได้ง่ายขึ้น ชิลด์สำหรับ Arduino ถูกสร้างขึ้นอย่างแน่นหนาบนชิ้นส่วนของ perfboard และหลังจากตรวจสอบให้แน่ใจว่าทุกอย่างทำงานได้ตามที่ควรจะเป็นซึ่งผลิตโดย jlc pcb
นี่คือก่อนและหลังของต้นแบบและ pcb ที่ผลิตขึ้น
ขั้นตอนที่ 6: ซอฟต์แวร์และอินเทอร์เฟซแบบอนุกรม
Q-Bot แบ่งออกเป็นสองส่วน ในอีกด้านหนึ่งมีฮาร์ดแวร์ที่ควบคุมโดย Arduino ในทางกลับกันมีซอฟต์แวร์ที่คำนวณเส้นทางการแก้สำหรับคิวบ์ตามช่วงชิงปัจจุบัน เฟิร์มแวร์ที่ทำงานบน Arduino นั้นเขียนขึ้นเอง แต่เพื่อให้คำแนะนำนี้สั้น ฉันจะไม่ลงรายละเอียดใด ๆ เกี่ยวกับมันที่นี่ หากคุณต้องการดูและลองเล่นดู ลิงก์ไปยังที่เก็บ git ของฉันจะมีให้ที่ส่วนท้ายของเอกสารนี้ ซอฟต์แวร์ที่คำนวณโซลูชันทำงานบนเครื่อง windows และเขียนโดยเพื่อนร่วมงานของฉัน ลิงก์ไปยังซอร์สโค้ดของเขาอีกครั้งสามารถพบได้ที่ส่วนท้ายของ ible นี้ ทั้งสองส่วนสื่อสารกันโดยใช้อินเทอร์เฟซแบบอนุกรมอย่างง่าย จะคำนวณโซลูชันตามอัลกอริทึมแบบสองเฟสของ Kociemba ซอฟต์แวร์แก้ไขจะส่งคำสั่งที่ประกอบด้วยสองไบต์ไปยังตัวแก้ปัญหาและรอให้คำสั่งส่งคืน 'ACK' วิธีนี้จะสามารถทดสอบและแก้จุดบกพร่องของโปรแกรมแก้ปัญหาได้โดยใช้จอภาพแบบอนุกรมอย่างง่าย ชุดคำสั่งที่สมบูรณ์สามารถพบได้ด้านล่าง
คำสั่งให้หมุนมอเตอร์แต่ละตัวสำหรับขั้นตอนเดียวเป็นวิธีแก้ปัญหาสำหรับปัญหาที่สเต็ปเปอร์บางตัวจะสุ่มกระโดดเล็กน้อยเมื่อเปิดเครื่อง เพื่อชดเชยสิ่งนี้ สามารถปรับมอเตอร์ให้อยู่ในตำแหน่งเริ่มต้นก่อนกระบวนการแก้ไข
ขั้นตอนที่ 7: บทสรุป
หลังจากแปดเดือนของการพัฒนา การสบถ กดปุ่มคีย์บอร์ด และเต้น Q-bot ในที่สุดก็ถึงจุดที่ไขลูกบาศก์รูบิคตัวแรกได้สำเร็จ ต้องแทรกการแย่งชิงคิวบ์ลงในซอฟต์แวร์ควบคุมด้วยตนเอง แต่ทุกอย่างทำงานได้ดี
ฉันเพิ่มเมานต์สำหรับเว็บแคมในอีกสองสามสัปดาห์ต่อมา และวิทยาลัยของฉันก็ปรับซอฟต์แวร์ให้อ่านลูกบาศก์โดยอัตโนมัติจากภาพที่ถ่าย อย่างไรก็ตาม ยังไม่ได้ทดสอบให้ดีและยังต้องการการปรับปรุงบางอย่าง
หากคำแนะนำนี้จุดประกายความสนใจของคุณ อย่าลังเลและเริ่มสร้าง Q-bot เวอร์ชันของคุณเอง มันอาจจะดูน่ากลัวในตอนแรก แต่มันคุ้มค่ามากสำหรับความพยายาม และถ้าฉันทำได้ คุณก็ทำได้
ทรัพยากร:
รหัสที่มาของเฟิร์มแวร์:
github.com/Axodarap/QBot_firmware
รหัสที่มาของซอฟต์แวร์ควบคุม
github.com/waldhube16/Qbot_SW
แนะนำ:
Rubik's Cube Blindfolded Solver แบบเรียลไทม์โดยใช้ Raspberry Pi และ OpenCV: 4 ขั้นตอน
Rubik's Cube Blindfolded Solver แบบเรียลไทม์โดยใช้ Raspberry Pi และ OpenCV: นี่เป็นเครื่องมือคิวบ์รูบิครุ่นที่ 2 ที่สร้างขึ้นสำหรับการแก้ผ้าปิดตา เวอร์ชันที่ 1 ได้รับการพัฒนาโดย javascript คุณสามารถเห็นโปรเจ็กต์ RubiksCubeBlindfolded1 ซึ่งต่างจากเวอร์ชันก่อนหน้า เวอร์ชันนี้ใช้ไลบรารี OpenCV เพื่อตรวจจับสีและเ
Easy Tilt-Based Color Changing Wireless Rubik's Cube Lamp: 10 ขั้นตอน (พร้อมรูปภาพ)
Easy Tilt-Based Color Changing Wireless Rubik's Cube Lamp: วันนี้เราจะสร้างโคมไฟทรงลูกบาศก์ของ Rubik สุดเจ๋ง ซึ่งจะเปลี่ยนสีตามด้านที่หงายขึ้น ลูกบาศก์ทำงานโดยใช้แบตเตอรี่ LiPo ขนาดเล็กที่ชาร์จด้วยสายเคเบิลไมโครยูเอสบีมาตรฐาน และในการทดสอบของฉัน แบตเตอรี่มีอายุการใช้งานหลายวัน นี้
Arduino Mega Stepper Shield สำหรับ Rubiks Cube Solver: 4 ขั้นตอน
Arduino Mega Stepper Shield สำหรับ Rubiks Cube Solver: เมื่อไม่นานมานี้ ฉันกำลังทำงานกับเครื่องที่จะแก้ปัญหา Rubiks Cube 3x3 ที่มีสัญญาณรบกวนโดยอัตโนมัติ คุณสามารถดูคำแนะนำของฉันได้ที่นี่ ในโครงการใช้ไดรเวอร์ stepper จาก polulu เพื่อขับเคลื่อนมอเตอร์หกตัว เพื่อสองให้เชื่อมต่อ d เหล่านี้
ARS - Arduino Rubik Solver: 13 ขั้นตอน (พร้อมรูปภาพ)
ARS - Arduino Rubik Solver: ARS เป็นระบบที่สมบูรณ์ในการแก้ลูกบาศก์ของ Rubik: ใช่ หุ่นยนต์อีกตัวหนึ่งที่ใช้แก้ลูกบาศก์!ARS เป็นโครงการโรงเรียนระยะเวลาสามปีที่สร้างด้วยชิ้นส่วนที่พิมพ์ 3 มิติและโครงสร้างการตัดด้วยเลเซอร์: Arduino ได้รับลำดับที่ถูกต้องที่สร้างขึ้น โดยโซฟาทำที่บ้าน
Apple G4 Cube Case Mod Rubik Style Hackintosh: 15 ขั้นตอน (พร้อมรูปภาพ)
Apple G4 Cube Case Mod Rubik Style Hackintosh: G4 cube ดั้งเดิมมีโปรเซสเซอร์ PowerPC 450Mhz และ RAM สูงสุด 1.5gb Apple ผลิตลูกบาศก์ G4 ตั้งแต่ปี 2000 ถึง 2001 ในราคาประมาณ 1,600 เหรียญสหรัฐ มันรัน Mac OS 9.04 ถึง OS X 10.4 (PowerPC ไม่ใช่ Intel) ขนาดประมาณ 7.5 x 7.5 x 10 นิ้ว มีเ