โปรเจกต์นี้มันเริ่มต้นตอนที่เราคิดจะสร้างแขนกลจิ๋วๆ ใช้ Arduino Uno ควบคุมด้วยปุ่มกด (สำหรับสั่งเซอร์โวปล่อยลูกเหล็ก) กับจอยสติ๊ก (ข้างในมีโพเทนชิโอมิเตอร์สองตัว แต่ละตัวคุมเซอร์โวตัวนึง) เราไปเห็นไอเดียจากในเน็ต เลยตัดสินใจทำแขนกลแบบที่มันไม่ธรรมดาไปหน่อย: แขนแบบ SCARA นี่แหละ
ภาพรวมโปรเจกต์
"SCARA-Link" คือการสำรวจใช้งานจริงของ Planar Robotic Kinematics และ Velocity-Based Control แบบจัดเต็ม สถาปัตยกรรม SCARA (Selective Compliance Assembly Robot Arm) เป็นมาตรฐานในอุตสาหกรรมสำหรับงานหยิบ-วาง เพราะมันแข็งแรงในแนวตั้งและเร่งความเร็วในแนวนอนได้เร็ว โปรเจกต์นี้เราสร้างระบบ SCARA แบบโมดูลาร์ ใช้เซอร์โวแรงบิดสูง DS3218MG เพื่อให้ได้การเคลื่อนที่เชิงมุมที่แม่นยำ ควบคุมผ่านจอยสติ๊กอนาล็อกด้วยเทคนิคการเพิ่มค่าแบบค่อยเป็นค่อยไป
ล้วงลึกเทคนิค
- SCARA Kinematics & กลไกข้อต่อ:
- โมเดล 2-DOF แบบระนาบ: หุ่นยนต์ประกอบด้วยข้อต่อหลักที่หมุนได้สองจุด (ฐานและข้อศอก) ทำงานในระนาบแนวนอนเดียวกัน การออกแบบนี้ช่วยลดภาระจากแรงโน้มถ่วงบนเซอร์โว ทำให้ได้ความเร็วและน้ำหนักบรรทุกที่สูงกว่าเมื่อเทียบกับแขนแนวตั้ง 6 แกน
- ความแข็งแรงแบบเลือกได้: การออกแบบเน้นความแข็งแรงตามแนวแกน ด้วยการใช้ลูกปืนเหล็กและฮีทเซ็ตอินเสิร์ตในโครงสร้างที่พิมพ์ 3D ระบบจึงได้ความมั่นคงทางกลที่จำเป็นสำหรับงานที่ต้องทำซ้ำได้ (เช่น ปล่อยลูกเหล็กลงช่องที่กำหนด)
- การแปลงสัญญาณจอยสติ๊กเป็นความเร็วแบบเพิ่มค่า:
- อัลกอริทึม Delta-Step: แทนที่จะจับคู่มุมโดยตรง (ซึ่งอาจทำให้การเคลื่อนไหวกระตุก) SCARA-Link จะมองจอยสติ๊กเป็นอินพุตความเร็ว เมื่อโพเทนชิโอมิเตอร์ถึงขีดจำกัด (สุดขั้ว) เฟิร์มแวร์จะเพิ่มค่าเป้าหมายมุมของเซอร์โวทีละ 5° โดยใช้ตัวจับเวลา
millis()แบบไม่บล็อก ซึ่งทำให้ผู้ควบคุมสามารถบังคับแขนปลายได้ลื่นไหลแบบ "Smooth Pursuit"
- อัลกอริทึม Delta-Step: แทนที่จะจับคู่มุมโดยตรง (ซึ่งอาจทำให้การเคลื่อนไหวกระตุก) SCARA-Link จะมองจอยสติ๊กเป็นอินพุตความเร็ว เมื่อโพเทนชิโอมิเตอร์ถึงขีดจำกัด (สุดขั้ว) เฟิร์มแวร์จะเพิ่มค่าเป้าหมายมุมของเซอร์โวทีละ 5° โดยใช้ตัวจับเวลา
- การวินิจฉัยการขับเคลื่อนแรงบิดสูง:
- การตรวจสอบกระแสของ DS3218MG: ข้อต่อฐานต้องรับแรงเฉื่อยจากการหมุนค่อนข้างมาก ระบบจึงใช้เซอร์โวแรงบิดสูง (20kg/cm) เพื่อรักษาความแม่นยำของตำแหน่งภายใต้ภาระที่เปลี่ยนแปลง การจัดการพลังงานเป็นเรื่องสำคัญ อาร์เรย์ DS3218MG คู่ต้องใช้แหล่งจ่ายไฟกระแสสูงแยกต่างหาก เพื่อป้องกันไม่ให้ Arduino Uno ไฟตก (brownout)
ประกอบชิ้นส่วน
เทคนิคการประกอบ รูในชิ้นส่วนที่พิมพ์ 3D มักจะเล็กเกินไปสำหรับฮีทเซ็ตอินเสิร์ต (ขึ้นอยู่กับเส้นผ่านศูนย์กลางภายนอกของมันนะ ดังนั้นแนะนำให้ใช้อินเสิร์ตขนาดเส้นผ่านศูนย์กลาง 3.5 มม.) ดังนั้นคุณอาจต้องใช้สว่านเจาะชิ้นส่วนที่พิมพ์ให้รูลึกและกว้างพอดีกับอินเสิร์ตของคุณ ในกรณีของเรา รูที่ฟลานจ์ก็เล็กเกินไปด้วย เลยต้องใช้ดอกสว่าน 3 มม. เจาะเพิ่ม
การประกอบชิ้นส่วนทั้งหมดของหุ่นยนต์ Scara ตัวนี้ไม่ยากเลย นี่คือขั้นตอนหลัก:
- พิมพ์ชิ้นส่วนพลาสติกของ Scara ด้วยเครื่องพิมพ์ 3D (เราใช้เครื่องพิมพ์แบบคาร์ทีเซียน) ;


- ติดตั้งฮีทเซ็ตอินเสิร์ต (วิธีที่ง่ายที่สุดคือใช้หัวแร้งร้อนๆ จี้ใส่เข้าไป) ;
- ใส่เซอร์โว DS3218MG ตัวแรกในชิ้นส่วน "Base" แล้ววางชิ้นส่วน "Top" ลงไป จากนั้นยึดชิ้นส่วนเหล่านี้ด้วยสกรู M4x10 (สำหรับเซอร์โว) และสกรู M4x20 (สำหรับชิ้นส่วน "Top") ;


ยึดฟลานจ์เข้ากับด้านล่างของชิ้นส่วน "Arm" ด้วยสกรูและน็อต M3x15 จำนวนสี่ชุด (น็อตจะอยู่ระหว่างเซอร์โวกับฟลานจ์) จากนั้นใส่แหวนรองและสกรู M3x15 เข้าไปในรูตรงกลาง ;
วางลูกเหล็กลงไปในเบ้าของมัน แล้วค่อยวาง "แขน" ลงไปทับ (ทำสองขั้นตอนนี้ (4-5) ซ้ำสำหรับส่วน "ตัวจ่ายลูก" ด้วยนะ)


- ยึดเซอร์โว DS3218MG อีกตัวเข้ากับส่วน "ตัวจ่ายลูก" ด้วยสกรู M4 สี่ตัว
- วางเซอร์โว SG90 (คว่ำหน้าลง) บนตัวยึดของตัวจ่ายลูก แล้วตรึงมันด้วยกาวร้อน


วิศวกรรมและการนำไปใช้
- ลอจิสติกส์การประกอบแมคคาทรอนิกส์:
- ขั้นตอน 1: ความแข็งแรงของโครงสร้าง ชิ้นส่วนที่พิมพ์ 3D จะเสริมความแข็งแรงด้วย Heat-set Inserts ขนาด M3/M4 เพื่อให้จุดเชื่อมต่อระหว่างข้อต่อทนทาน
- ขั้นตอน 2: การตั้งศูนย์ข้อต่อ ข้อต่อแต่ละข้อจะถูกปรับเทียบไปยังตำแหน่ง "โฮม" ที่รู้ค่า ($0^{\circ}$) ในระหว่างการเริ่มต้นระบบ เพื่อให้มั่นใจว่าการแปลงค่าจลนศาสตร์มีความแม่นยำ
- ขั้นตอน 3: พายโหลดของเอ็นด์เอฟเฟกเตอร์ ไมโครเซอร์โว SG90 จะถูกติดตั้งในลักษณะคว่ำหน้าเพื่อขับกลไกการจ่ายลูก ซึ่งจะถูกกระตุ้นโดยสวิตช์แบบกดอิสระอีกตัวหนึ่ง
- สะพานส่งข้อมูลระยะไกลผ่านบลูทูธ:
- โมดูล HC-05 จะส่งพิกัดของข้อต่อ $(\theta_1, \theta_2)$ แบบเรียลไทม์ไปยังเทอร์มินอลปลายทาง สายข้อมูลนี้ช่วยให้สามารถบันทึกการเคลื่อนไหวของหุ่นยนต์แบบ "กล่องดำ" ได้ ซึ่งจะเป็นพื้นฐานสำหรับการเล่นซ้ำเส้นทางอัตโนมัติในอนาคต
หลักการทำงาน
หลักการทำงานของ Scara ตัวนี้ค่อนข้างง่าย ในจอยสติกจะมีโพเทนชิโอมิเตอร์สองตัว (มีปุ่มด้วย แต่ในโปรเจคนี้เราตัดสินใจใช้แยกต่างหาก) และในกลไกทั้งหมดของหุ่นยนต์จะมีเซอร์โวสามตัว (ใหญ่และแรงสองตัว กับตัวเล็กหนึ่งตัว) ดังนั้นเราจึงตัดสินใจขับเซอร์โว DS3218MG แต่ละตัวด้วยโพเทนชิโอมิเตอร์หนึ่งตัว และขับเซอร์โวอีกตัวด้วยปุ่ม: กล่าวให้เจาะจงคือ ทุกครั้งที่โพเทนชิโอมิเตอร์ตัวใดตัวหนึ่งหมุนไปถึงขอบสุด เซอร์โวที่ควบคุมโดยมันจะหมุน 5° ไปทางขวาหรือซ้าย (ขึ้นอยู่กับด้านที่โพเทนชิโอมิเตอร์หมุนไปถึง) และทุกครั้งที่กดปุ่ม เซอร์โวตัวเล็กก็จะปล่อยลูกเหล็กออกมา

สรุปสั้นๆ แต่อัดแน่น
SCARA-Link นี่แหละที่แสดงให้เห็นพลังของ Industrial Robotic Abstraction (การทำให้หุ่นยนต์อุตสาหกรรมเป็นแบบนามธรรม) อย่างชัดเจน! ถ้าน้องๆ จับจุดเรื่อง Incremental Joint Interpolation (การคำนวณจุดต่อข้อต่อแบบเพิ่มทีละนิด) และ Selective Compliance Forensics (การวิเคราะห์การยืดหยุ่นแบบเจาะจง) ให้แตก สิ่งที่ตามมาคือการสร้างแพลตฟอร์มระบบอัตโนมัติระดับเทพ ที่พร้อมรับมือกับงานบนระนาบที่ซับซ้อนได้ทั้งเร็วและแม่นยำจัดไปวัยรุ่น!
Planar Precision: Mastering SCARA kinematics through joystick forensics. (แปลไทยให้ก็ได้นะ แต่ชื่อบทความมันเท่ดี เก็บไว้แบบนี้แหละ สู้งานนะน้อง!)