กลับไปหน้ารวมไฟล์
scara-arm-controlled-by-joystick-ac32f2.md

โปรเจกต์นี้มันเริ่มต้นตอนที่เราคิดจะสร้างแขนกลจิ๋วๆ ใช้ 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"
  • การวินิจฉัยการขับเคลื่อนแรงบิดสูง:
    • การตรวจสอบกระแสของ DS3218MG: ข้อต่อฐานต้องรับแรงเฉื่อยจากการหมุนค่อนข้างมาก ระบบจึงใช้เซอร์โวแรงบิดสูง (20kg/cm) เพื่อรักษาความแม่นยำของตำแหน่งภายใต้ภาระที่เปลี่ยนแปลง การจัดการพลังงานเป็นเรื่องสำคัญ อาร์เรย์ DS3218MG คู่ต้องใช้แหล่งจ่ายไฟกระแสสูงแยกต่างหาก เพื่อป้องกันไม่ให้ Arduino Uno ไฟตก (brownout)

ประกอบชิ้นส่วน

เทคนิคการประกอบ รูในชิ้นส่วนที่พิมพ์ 3D มักจะเล็กเกินไปสำหรับฮีทเซ็ตอินเสิร์ต (ขึ้นอยู่กับเส้นผ่านศูนย์กลางภายนอกของมันนะ ดังนั้นแนะนำให้ใช้อินเสิร์ตขนาดเส้นผ่านศูนย์กลาง 3.5 มม.) ดังนั้นคุณอาจต้องใช้สว่านเจาะชิ้นส่วนที่พิมพ์ให้รูลึกและกว้างพอดีกับอินเสิร์ตของคุณ ในกรณีของเรา รูที่ฟลานจ์ก็เล็กเกินไปด้วย เลยต้องใช้ดอกสว่าน 3 มม. เจาะเพิ่ม

การประกอบชิ้นส่วนทั้งหมดของหุ่นยนต์ Scara ตัวนี้ไม่ยากเลย นี่คือขั้นตอนหลัก:

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

  2. วางลูกเหล็กลงไปในเบ้าของมัน แล้วค่อยวาง "แขน" ลงไปทับ (ทำสองขั้นตอนนี้ (4-5) ซ้ำสำหรับส่วน "ตัวจ่ายลูก" ด้วยนะ)

  1. ยึดเซอร์โว DS3218MG อีกตัวเข้ากับส่วน "ตัวจ่ายลูก" ด้วยสกรู M4 สี่ตัว
  2. วางเซอร์โว 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. (แปลไทยให้ก็ได้นะ แต่ชื่อบทความมันเท่ดี เก็บไว้แบบนี้แหละ สู้งานนะน้อง!)

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
  - "1x Ultimaker Cura"
author: "EnricoTesta2002"
category: "Motors & Robotics"
components:
  - "1x Tactile Switch, Top Actuated"
  - "1x Solder Wire, Lead Free"
  - "1x Machine Screw, M3"
  - "1x DS3218MG Servo"
  - "1x Drill / Driver, 20V"
  - "1x HC-05 Bluetooth Module"
  - "1x Machine Screw, M4"
  - "1x Jumper wires (generic)"
  - "1x 3D Printer (generic)"
  - "1x Multitool, Screwdriver"
  - "1x Arduino UNO"
  - "1x Breadboard (generic)"
  - "1x SG90 Micro-servo motor"
  - "1x Heat Inserts"
  - "1x Analog joystick (Generic)"
  - "1x Resistor 10k ohm"
  - "1x Hot glue gun (generic)"
  - "1x Soldering iron (generic)"
description: "โปรเจคนี้คือ SCARA arm ที่เราควบคุมด้วย Joystick แบบตึงๆ แล้วมันยังส่งค่าตำแหน่งไปให้เราเห็นผ่าน Bluetooth module อีกด้วย วัยรุ่นสายช่างต้องจัดไป!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1/rbParLP/gSYvDMafjvPVAuHtF2t/fzSFhBEQWScjwDd6e1We+JUjV6LNE/sxwaEkQ8f3oBx1Zz6fnWpwhxuUn6jHFH5SzvkNp/0578vCdSx18KRmKJaKy"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/scara-arm-controlled-by-joystick-ac32f2_cover.jpg"
lang: "en"
likes: 5
passwordHash: "5dac7a9231ec3329935607ac91abd92915e86bbe50eed1eb5b38600a08899d96"
price: 699
seoDescription: "SCARA Arm project controlled by Joystick and sending position via Bluetooth Module."
tags:
  - "vallauri"
  - "robot"
  - "vallauri"
  - "arduino"
  - "arm"
  - "arduino"
title: "SCARA Arm โยกสะบัดด้วย Joystick งานง่ายแต่หล่อ!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/odhzglLJJUI"
views: 11072