สารบัญ:

Arduino - Balance - หุ่นยนต์ทรงตัว - วิธีทำ: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino - Balance - หุ่นยนต์ทรงตัว - วิธีทำ: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino - Balance - หุ่นยนต์ทรงตัว - วิธีทำ: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino - Balance - หุ่นยนต์ทรงตัว - วิธีทำ: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 3ข้อควรรู้ก่อนเริ่มทำหุ่นยนต์ - สำหรับผู้เริ่มต้น 2024, พฤศจิกายน
Anonim
Image
Image

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

ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น

การประกอบหุ่นยนต์
การประกอบหุ่นยนต์

บอร์ด Arduino (อูโน่) --

MPU-6050 GY521 แอค+ไจโร --

DC 6V 210RPM Encoder Gear ชุดมอเตอร์ --

ตัวขับมอเตอร์ L298N --

ปุ่มสวิตช์ --

ชุดน๊อตสกรูน๊อตเกลียวหกเหลี่ยม M3 --

แผ่นอะคริลิ Perspex --

แบตเตอรี่ลิเธียมไอออน+เครื่องชาร์จ 3.7v 18650 --

แบตเตอรี่ 9V --

สายจัมเปอร์ --

ปืนกาวร้อน --

Arduino Starter Kit และอุปกรณ์ (อุปกรณ์เสริม): Arduino Board & SCM Supplies #01 --

บอร์ด Arduino & อุปกรณ์ SCM #02 --

Arduino Basic Learning Starter Kit #01 --

Arduino Basic Learning Starter Kit #02 --

Arduino Basic Learning Starter Kit #03 --

ชุดเริ่มต้น Mega 2560 พร้อมบทช่วยสอน --

ชุดโมดูลเซนเซอร์สำหรับ Arduino #01 --

ชุดโมดูลเซนเซอร์สำหรับ Arduino #02 --

ขั้นตอนที่ 2: การประกอบหุ่นยนต์

การประกอบหุ่นยนต์
การประกอบหุ่นยนต์
การประกอบหุ่นยนต์
การประกอบหุ่นยนต์
การประกอบหุ่นยนต์
การประกอบหุ่นยนต์
  • เจาะแผ่นอะครีลิคทั้งสี่มุม (ภาพที่ 1 และ 2)
  • ระหว่างแผ่นอะครีลิคแต่ละแผ่นจะมีขนาดประมาณ 8 cantimeters / 3.15 นิ้ว (ภาพที่ 3)
  • ขนาดหุ่นยนต์ (โดยประมาณ) 15 ซม. x 10 ซม. x 20 ซม. (ภาพที่ 4)
  • มอเตอร์กระแสตรงและล้อจะถูกวางไว้ที่กึ่งกลาง (เส้นกึ่งกลาง) ของหุ่นยนต์ (ภาพที่ 5)
  • L298N Motor Driver จะถูกวางไว้ที่กึ่งกลางชั้นแรก (เส้นกึ่งกลาง) ของหุ่นยนต์ (ภาพที่ 6)
  • บอร์ด Arduino จะถูกวางไว้ที่ชั้นสองของหุ่นยนต์
  • โมดูล MPU6050 จะถูกวางไว้ที่ชั้นบนสุดของหุ่นยนต์ (ภาพที่ 7)

ขั้นตอนที่ 3: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

ทดสอบ MPU6050 และตรวจสอบว่าใช้งานได้! เชื่อมต่อ MPU6050 tot กับ Arduino ก่อนและทดสอบการเชื่อมต่อโดยใช้รหัสในบทช่วยสอนด้านล่าง daha ควรแสดงบนจอภาพแบบอนุกรม

บทแนะนำสอนการใช้งาน - MPU6050 GY521 6 Axis Accelerometer+Gyro

บทช่วยสอน YouTube - MPU6050 GY521 6 แกนมาตรความเร่ง + Gyro

โมดูล L298N สามารถให้ +5V ที่จำเป็นสำหรับ Arduino ได้ตราบใดที่แรงดันไฟฟ้าอินพุตอยู่ที่ +7 V หรือมากกว่า อย่างไรก็ตาม ฉันเลือกที่จะมีแหล่งพลังงานแยกต่างหากสำหรับมอเตอร์

ขั้นตอนที่ 4: การปรับสมดุลทำงานอย่างไร

การปรับสมดุลทำงานอย่างไร?
การปรับสมดุลทำงานอย่างไร?
การปรับสมดุลทำงานอย่างไร?
การปรับสมดุลทำงานอย่างไร?
การปรับสมดุลทำงานอย่างไร?
การปรับสมดุลทำงานอย่างไร?
  • เพื่อให้หุ่นยนต์มีความสมดุล มอเตอร์ต้องรับมือกับการตกของหุ่นยนต์
  • การดำเนินการนี้ต้องการคำติชมและองค์ประกอบการแก้ไข
  • องค์ประกอบป้อนกลับคือ MPU6050 ซึ่งให้ทั้งความเร่งและการหมุนในแกนทั้งสามที่ Arduino ใช้เพื่อทราบทิศทางปัจจุบันของหุ่นยนต์
  • องค์ประกอบที่ถูกต้องคือการรวมกันของมอเตอร์และล้อ
  • หุ่นยนต์ที่ทรงตัวได้นั้นเป็นลูกตุ้มคว่ำ
  • สามารถปรับสมดุลได้ดีขึ้นหากจุดศูนย์กลางมวลสูงกว่าเมื่อเทียบกับเพลาล้อ
  • นี่คือเหตุผลที่ฉันวางก้อนแบตเตอรี่ไว้ด้านบน
  • อย่างไรก็ตาม ความสูงของหุ่นยนต์นั้นถูกเลือกโดยพิจารณาจากความพร้อมของวัสดุ

ขั้นตอนที่ 5: ซอร์สโค้ดและไลบรารี

ซอร์สโค้ดและไลบรารี
ซอร์สโค้ดและไลบรารี
ซอร์สโค้ดและไลบรารี
ซอร์สโค้ดและไลบรารี

โค้ดที่พัฒนาขึ้นสำหรับหุ่นยนต์บาลานซ์นั้นซับซ้อนเกินไป แต่ไม่จำเป็นต้องกังวล เราจะเปลี่ยนข้อมูลบางส่วนเท่านั้น

เราต้องการห้องสมุดภายนอกสี่แห่งเพื่อให้หุ่นยนต์ทรงตัวทำงานได้

  • ไลบรารี PID ทำให้ง่ายต่อการคำนวณค่า P, I และ D
  • ไลบรารี LMotorController ใช้สำหรับขับเคลื่อนมอเตอร์สองตัวด้วยโมดูล L298N
  • ไลบรารี I2Cdev และไลบรารี MPU6050_6_Axis_MotionApps20 ใช้สำหรับอ่านข้อมูลจาก MPU6050

ดาวน์โหลดห้องสมุด

พีไอดี --

LMotorController --

I2Cdev --

MPU6050 --

รับซอร์สโค้ด -

PID คืออะไร?

  • ในทฤษฎีการควบคุม การรักษาตัวแปรบางอย่าง (ในกรณีนี้คือตำแหน่งของหุ่นยนต์) ให้คงที่จำเป็นต้องมีตัวควบคุมพิเศษที่เรียกว่า PID
  • P สำหรับสัดส่วน I สำหรับอินทิกรัลและ D สำหรับอนุพันธ์ แต่ละพารามิเตอร์เหล่านี้มี "กำไร" ซึ่งปกติเรียกว่า Kp, Ki และ Kd
  • PID ให้การแก้ไขระหว่างค่าที่ต้องการ (หรืออินพุต) กับค่าจริง (หรือเอาต์พุต) ความแตกต่างระหว่างอินพุตและเอาต์พุตเรียกว่า "ข้อผิดพลาด"
  • ตัวควบคุม PID ช่วยลดข้อผิดพลาดให้เป็นค่าที่น้อยที่สุดโดยการปรับเอาต์พุตอย่างต่อเนื่อง
  • ในหุ่นยนต์ปรับสมดุลตัวเองของ Arduino ซอฟต์แวร์จะตั้งค่าอินพุต (ซึ่งเป็นความลาดเอียงที่ต้องการเป็นองศา)
  • MPU6050 อ่านความเอียงปัจจุบันของหุ่นยนต์และป้อนไปยังอัลกอริธึม PID ซึ่งทำการคำนวณเพื่อควบคุมมอเตอร์และทำให้หุ่นยนต์อยู่ในตำแหน่งตั้งตรง

PID ต้องการให้ค่า Kp, Ki และ Kd ที่ได้รับ "ปรับ" เป็นค่าที่เหมาะสมที่สุด

เราจะปรับค่า PID ด้วยตนเองแทน

  1. ทำให้ Kp, Ki และ Kd เท่ากับศูนย์
  2. ปรับ Kp Kp น้อยเกินไปจะทำให้หุ่นยนต์ล้มลง (การแก้ไขไม่เพียงพอ) Kp มากเกินไปจะทำให้หุ่นยนต์เคลื่อนที่ไปมาอย่างดุเดือด Kp ที่ดีพอจะทำให้หุ่นยนต์เคลื่อนที่ไปมาเล็กน้อย (หรือแกว่งเล็กน้อย)
  3. เมื่อตั้งค่า Kp แล้ว ให้ปรับ Kd ค่า Kd ที่ดีจะลดการสั่นลงจนกว่าหุ่นยนต์จะเกือบคงที่ นอกจากนี้ ปริมาณ Kd ที่เหมาะสมจะทำให้หุ่นยนต์ยืนแม้จะถูกผลัก
  4. สุดท้าย ตั้งค่า Ki หุ่นยนต์จะสั่นเมื่อเปิดเครื่องแม้ว่า Kp และ Kd จะถูกตั้งค่าไว้ แต่จะเสถียรในเวลา ค่า Ki ที่ถูกต้องจะย่นระยะเวลาที่หุ่นยนต์ใช้ในการทำให้เสถียร

คำแนะนำเพื่อผลลัพธ์ที่ดีกว่า

ฉันแนะนำให้คุณสร้างเฟรมหุ่นยนต์ที่คล้ายกันโดยใช้วัสดุที่ใช้ในโครงการนี้เพื่อให้ซอร์สโค้ดสำหรับ Balance Robot ทำงานได้อย่างเสถียรและมีประสิทธิภาพ

ขั้นตอนที่ 6: สำหรับการสนับสนุน

สำหรับการสนับสนุน
สำหรับการสนับสนุน
  • คุณสามารถสมัครรับข้อมูลจากช่อง YouTube ของฉันสำหรับบทแนะนำและโครงการเพิ่มเติม
  • นอกจากนี้คุณยังสามารถสมัครรับการสนับสนุน ขอขอบคุณ.

เยี่ยมชมช่อง YouTube ของฉัน -

แนะนำ: