กลับไปหน้ารวมไฟล์
otto-diy-with-ir-remote-c1e7d0.md

ภาพรวมโปรเจค

"Otto-Link" นี่แหละคือการศึกษาอย่างเจาะลึกในเรื่อง การวิเคราะห์การเดินสองขา (Bipedal Gait Forensics) และ การวินิจฉัยด้วยระบบสื่อสารอินฟราเรด (Infrared Telemetry Diagnostics) เอามาจากโครงสร้างโอเพ่นซอร์ส Otto DIY นี่แหละ แต่พี่อัพเกรดมันด้วยการสร้างระบบสั่งการแบบไมโครคอนโทรลเลอร์คู่เฉพาะกิจขึ้นมา แยกส่วนรับคำสั่ง (จอยสติ๊ก) ออกจากตัวปฏิบัติการ (หุ่นยนต์) ซะเลย ทำให้ Otto-Link จำลองการทำงานของระบบควบคุมไร้สายระดับมืออาชีพได้เลย โปรเจคนี้จะพาน้องไปสำรวจความซับซ้อนของการประสานงาน ที่เปลี่ยนการหมุนเซอร์โวธรรมดาๆ ให้กลายเป็นท่าทางการเดินที่มั่นคงและเป็นจังหวะได้

บทนำ

ในรายงานนี้เราจะอธิบายการทำงานของหุ่นยนต์สองขาที่ขับเคลื่อนโดยไมโครคอนโทรลเลอร์และควบคุมด้วยรีโมท ซึ่งสามารถเดินและหมุนตัวได้

เป้าหมาย

เครื่องจักรและโปรเจคต้องมีคุณสมบัติตามนี้: • ใช้บอร์ดไมโครคอนโทรลเลอร์ Arduino (UNO, Leonardo, 101); • ต้องใช้เซ็นเซอร์อินพุตอย่างน้อย 1 ตัว; • สร้างเอาต์พุตที่เชื่อมต่อกับโลกจริงอย่างน้อย 1 อย่าง ซึ่งอาจเป็นแบบภาพ (LED, หน้าจอ) หรือแบบกายภาพ (มอเตอร์ที่เคลื่อนไหว); • ใช้อุปกรณ์ที่ไม่ได้สอนในห้องเรียนอย่างน้อย 1 ชิ้น อาจเป็นเซ็นเซอร์หรือมอเตอร์พร้อมบอร์ดขับ

โปรเจคที่เราตัดสินใจสร้างคือหุ่นยนต์ของเล่นสองขา (เอาโปรเจคโอเพ่นซอร์ส "Otto DIY" มาเป็นตัวอย่าง) ที่สามารถเดินและหมุนตัวได้โดยใช้บอร์ด Arduino ซึ่งถูกควบคุมด้วยสัญญาณอินฟราเรดที่ส่งมาจากบอร์ด Arduino อีกอัน (ที่จะทำหน้าที่เป็นรีโมทคอนโทรล)

วัสดุที่ใช้

ชิ้นส่วนที่จำเป็นสำหรับการสร้างโปรเจคมีดังนี้:

  • ไมโครคอนโทรลเลอร์ 2 ตัว (Arduino UNO, Elegoo Nano);
  • มิโครเซอร์โว SG90 4 ตัว;
  • LED อินฟราเรด;
  • ตัวรับสัญญาณอินฟราเรด VS1838B;
  • โมดูลจอยสติ๊ก;
  • ตัวต้านทาน 100Ω;
  • บอร์ดขยายสำหรับ Arduino nano;
  • สายจัมเปอร์;
  • ชิ้นส่วน PLA (ได้จากการพิมพ์ 3D)

ไฟล์แบบร่าง 3D ของชิ้นส่วนที่พิมพ์นั้นดาวน์โหลดมาจากเว็บไซต์ “Thingiverse” เนื่องจาก “Otto DIY” เป็นโปรเจคโอเพ่นซอร์ส เซอร์โวและตัวรับสัญญาณอินฟราเรดไม่ต้องใช้ตัวต้านทานเพิ่ม เพราะมีอยู่ในตัวอุปกรณ์แล้ว เพื่อให้การเดินสายไฟในตัวหุ่นยนต์ง่ายขึ้น เราจึงติดตั้ง Elegoo Nano ไว้บนบอร์ดขยาย

ลงลึกเทคนิคและหลักการทำงาน

หุ่นยนต์สองขาตัวนี้เราใช้ไมโครคอนโทรลเลอร์ 2 ตัวนะน้อง ตัวแรกคือบอร์ด Elegoo Nano ที่ต่อกับโมดูลจอยสติกและ LED อินฟราเรด ทำหน้าที่เป็นรีโมทคอนโทรล: มันจะคำนวณตำแหน่งของจอยสติกเพื่อให้รู้ว่าหุ่นต้องไปทางไหน (แล้วก็จะส่งรหัสคำสั่งที่ถูกต้องออกไป) ไมโครคอนโทรลเลอร์ตัวที่สองคือ "สมอง" ของหุ่นยนต์: มันจะควบคุมการเคลื่อนที่ของเซอร์โวทั้ง 4 ตัว ตามสัญญาณอินฟราเรดที่ได้รับจากเซนเซอร์

  • กลไกการเคลื่อนที่ของหุ่นสองขา (Mechatronic Bipedal Kinematics):
    • แกะรอยจังหวะการก้าว (Gait-Cycle Forensics): หุ่นยนต์ใช้เซอร์โวขนาดเล็ก SG90 จำนวน 4 ตัวเพื่อให้เคลื่อนที่ได้ เซอร์โวสองตัวควบคุม "สะโพก" (การเคลื่อนที่ด้านข้าง) และอีกสองตัวควบคุม "ข้อเท้า" (การเอียงและทรงตัว) การเคลื่อนไหวต้องมีการเลื่อนเฟส (phase-shifting) ที่แม่นยำ: การ "ก้าว" หนึ่งครั้งทำได้โดยการเอียงจุดศูนย์ถ่วง (CoG) ไปที่เท้าหนึ่ง ในขณะที่สะโพกของขาอีกข้างหมุนไปข้างหน้า
    • การวินิจฉัยสมดุลแบบวนซ้ำ (Iterative Balance Diagnostics): ความมั่นคงของหุ่นรักษาไว้ได้ผ่านชุดของ "เส้นโค้งสมดุล" ที่โปรแกรมไว้ล่วงหน้า เฟิร์มแวร์จะคำนวณมุมเซอร์โวที่ต้องการ $(q_1, q_2, q_3, q_4)$ เพื่อให้แน่ใจว่าแกนแนวตั้งของหุ่นยนต์ยังคงอยู่ภายในพื้นที่รับน้ำหนักของขาที่กำลังยันอยู่ ป้องกันไม่ให้หุ่นล้มคว่ำระหว่างเดิน
  • แกะรอยคำสั่งโปรโตคอลอินฟราเรด (IR-Protocol command Forensics):
    • การจับมือกันของโปรโตคอล NEC (NEC Protocol Handshaking): รีโมทคอนโทรล (Arduino Uno) จะเข้ารหัสทิศทางจากจอยสติกเป็นเฟรมข้อมูลดิจิทัลอินฟราเรด พัลส์เหล่านี้จะถูกส่งผ่านคลื่นพาหะความถี่ 38kHz กระบวนการแกะรอยเกี่ยวข้องกับตัวรับสัญญาณ VS1838B ที่จะถอดรหัสพัลส์ที่ถูกมอดูเลตด้วยความกว้างพัลส์ (PWM) เหล่านี้กลับมาเป็นรหัสคำสั่งฐานสิบหก (เช่น 0xFF30CF สำหรับคำสั่ง "เดินหน้า")
    • ความสมบูรณ์ของสัญญาณ (Signal Integrity Harmonics): เพื่อป้องกันข้อมูลเสียหายจากสัญญาณรบกวนอินฟราเรดในสิ่งแวดล้อม ระบบนี้ใช้ตรรกะการตรวจสอบความถูกต้อง หุ่นยนต์จะเปลี่ยนจังหวะการเดินก็ต่อเมื่อรหัสที่ได้รับตรงกับบิตแมสก์ที่กำหนดไว้ล่วงหน้าเท่านั้น เพื่อให้แน่ใจว่าหุ่นจะตอบสนองต่อการควบคุมของเราได้อย่างแม่นยำ

วิศวกรรมและการนำไปใช้

  • การประสานงานของโหนดคู่ (Dual-Node Orchestration):
    • โหนดตัวส่ง (The Emitter Node): Arduino Uno จะตรวจสอบแรงดันจากโพเทนชิโอมิเตอร์ในจอยสติก ค่าแอนะล็อกเหล่านี้จะถูกแบ่งออกเป็นเซกเตอร์ของทิศทาง ซึ่งจะไปกระตุ้นลูปการส่งสัญญาณ IR
    • โหนดตัวปฏิบัติการ (The Executor Node): Arduino Nano (ซึ่งติดตั้งบนบอร์ดขยายเพื่อการส่งสัญญาณที่มีอิมพีแดนซ์ต่ำ) ทำหน้าที่เป็น "สมอง" มันจัดการบัสเซอร์โวกำลังสูง โดยใช้รูทีนที่ขับเคลื่อนด้วยอินเตอร์รัปต์เพื่ออ่านค่าจากตัวรับ IR ในขณะที่ยังคงสร้างพัลส์ PWM ที่ราบรื่นซึ่งจำเป็นสำหรับการเดินที่ไม่มีอาการสั่น (jitter)
  • การวิเคราะห์โครงสร้าง (Structural Forensics):
    • การวินิจฉัยการรับน้ำหนักของ PLA (PLA Load-Bearing Diagnostics): โครงหุ่นที่พิมพ์ 3D ให้ความแข็งแรงเชิงโครงสร้างที่จำเป็นสำหรับความมั่นคงของหุ่นสองขา การทดสอบภาคสนามชี้ให้เห็นว่าความคลาดเคลื่อนในการติดตั้งเซอร์โวต้องอยู่ภายใน 0.1 มม. เพื่อหลีกเลี่ยงการผิดแนวในแกนการเดิน ซึ่งไม่อย่างนั้นจะทำให้หุ่นเดินเอียงได้

การทำงานของอุปกรณ์ทั้งสองอธิบายได้ด้วยผังงานต่อไปนี้จัดไปวัยรุ่น

สรุปงาน

โปรเจกต์นี้สอนให้เรารู้จักแก้ปัญหาต่างๆ มากมาย (ตัวอย่างเช่น บอร์ด Elegoo nano ที่ไม่มีขาเชื่อมต่อในตัว ทำให้เราต้องบัดกรีขาทุกขาเองถึงจะใช้งานได้) นอกจากนั้น เรายังได้เรียนรู้การทำงานกับอุปกรณ์และเทคโนโลยีใหม่ๆ ที่ไม่เคยเรียนมาก่อน ซึ่งนี่แหละคือเป้าหมายหลักของแบบฝึกหัดนี้

Otto-Link แสดงให้เห็นถึงการผสานกันอย่างลงตัวของ Optical Telemetry และ Kinematic Control ด้วยการเชี่ยวชาญ IR-Protocol Forensics และ Mechatronic Gait Harmonics ทำให้เราสร้างหุ่นยนต์สองขาที่โต้ตอบได้อย่างมั่นคง ซึ่งพิสูจน์ให้เห็นถึงความยืดหยุ่นของระบบโอเพ่นซอร์ส Otto ในบริบททางการศึกษาและวิศวกรรมขั้นสูง


Kinetic Balance: Mastering bipedal kinematics through infrared forensics.

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

apps:
  - "1x Arduino IDE"
author: "momograma"
category: "Motors & Robotics"
components:
  - "1x Modulo Joystick"
  - "1x Jumper wires (generic)"
  - "1x Arduino Nano 33 IoT"
  - "1x Arduino UNO"
  - "1x Resistor 100 ohm"
  - "1x IR transmitter (generic)"
  - "1x IR receiver (generic)"
  - "4x SG90 Micro-servo motor"
  - "1x 3D Printer (generic)"
description: "ออตโต้ DIY คือหุ่นยนต์เดินสองขาเทพๆ ใช้ไมโครคอนโทรลเลอร์ขับมอเตอร์ ควบคุมด้วยรีโมตอินฟราเรด ให้มันเดินและหมุนตัวได้ตึงๆ งานง่ายแต่หล่อมาก!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/11795560-a68e-45eb-8310-a78efe2b1495.ino"
  - "https://projects.arduinocontent.cc/f99231e4-7df0-4437-81ff-326b9d935bf7.ino"
  - "https://projects.arduinocontent.cc/f99231e4-7df0-4437-81ff-326b9d935bf7.ino"
  - "https://projects.arduinocontent.cc/11795560-a68e-45eb-8310-a78efe2b1495.ino"
encryptedPayload: "U2FsdGVkX19hcE05nUD5U7qqAap8R3ahmJVUmGZDGH6lzvA+IqiN66Qsx6N66bRrejohAb+d5kvuULs1BO6QbvVKrCEnblSCjdG25oZ3dtE="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/otto-diy-with-ir-remote-c1e7d0_cover.jpg"
lang: "en"
likes: 2
passwordHash: "dca0310e53f402a6db874f4671804c39acefb949d4e45ddfebee25eaf91d02ab"
price: 299
seoDescription: "Build an Otto Diy bipedal robot controlled by Ir remote and microcontrollers. Learn to make it walk and turn."
tags:
  - "vallauri"
  - "remote control"
  - "robots"
title: "ออตโต้ DIY ตัวนี้มีรีโมต IR จัดไป วัยรุ่น!"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/Y-wWcmqOtHY"
views: 9138