สารบัญ:

Ball Balancer และ PID Fiddler: 7 ขั้นตอน (พร้อมรูปภาพ)
Ball Balancer และ PID Fiddler: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Ball Balancer และ PID Fiddler: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Ball Balancer และ PID Fiddler: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: PID Balance+Ball | full explanation & tuning 2024, กรกฎาคม
Anonim
Ball Balancer และ PID Fiddler
Ball Balancer และ PID Fiddler
Ball Balancer และ PID Fiddler
Ball Balancer และ PID Fiddler

โครงงานนี้นำเสนอสำหรับผู้ที่มีประสบการณ์ในการใช้ Arduino ความรู้เดิมเกี่ยวกับการใช้เซอร์โว, จอแสดงผล OLED, หม้อ, ปุ่ม, การบัดกรีจะเป็นประโยชน์ โครงการนี้ใช้ชิ้นส่วนที่พิมพ์ 3 มิติ

Ball Balancer เป็นอุปกรณ์ทดสอบ PID สำหรับทดลองปรับแต่ง PID PID Fiddler เป็นรีโมทสำหรับปรับจูน PID

PID จะใช้เมื่อคุณต้องการการควบคุมการเคลื่อนไหวมากขึ้น ตัวอย่างที่ดีคือหุ่นยนต์ทรงตัว หุ่นยนต์จำเป็นต้องทำการปรับเปลี่ยนเล็กน้อยเพื่อรักษาสมดุล และตอบสนองอย่างรวดเร็วเพื่อจับตัวเองหากพบการกระแทกหรือแรงกด สามารถใช้ PID เพื่อปรับการตอบสนองของมอเตอร์ล้อเพื่อรักษาสมดุล

PID ต้องการข้อมูลย้อนกลับจากเซ็นเซอร์ หุ่นยนต์ทรงตัวใช้ไจโรและมาตรความเร่งในการวัดมุมสัมบูรณ์ของหุ่นยนต์ เอาต์พุตของเซ็นเซอร์ถูกใช้โดย PID เพื่อควบคุมมอเตอร์เพื่อรักษาสมดุล

เหตุใดฉันจึงสร้างบาลานเซอร์ลูกบอลที่น่าเบื่อ แน่นอนว่ามันเจ๋ง แต่หุ่นยนต์ที่ทรงตัวจะพลิกคว่ำเมื่อไม่ได้ปรับแต่งอย่างถูกต้อง หุ่นยนต์ปรับสมดุลไม่ใช่อุปกรณ์ที่ดีที่สุดสำหรับการทดลองปรับแต่ง PID บาลานเซอร์ของลูกบอลมีความเสถียรมากกว่ามากและเป็นเครื่องมือภาพที่ดีในการดูเอฟเฟกต์ของการปรับ PID ความรู้ที่ได้จากการปรับจูนบาลานเซอร์สามารถนำไปใช้กับการปรับแต่งหุ่นยนต์ทรงตัวได้

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

ฉันใช้ไลบรารี Arduino PID

PID Fiddler คือสิ่งที่ฉันใช้เพื่อปรับแต่งค่า PID คุณไม่จำเป็นต้องมี แต่มันช่วยได้ PID Fiddler อยู่ห่างไกลจาก Ball Balancer โดยจะเชื่อมต่อด้วยสายไฟเพียงสองเส้นเท่านั้น และสามารถเชื่อมต่อและตัดการเชื่อมต่อได้ในขณะที่ Ball Balancer กำลังทำงาน เมื่อคุณพบค่าที่ดีที่สุดแล้ว ค่าต่างๆ จะถูกฮาร์ดโค้ดลงในโครงร่างโครงการของคุณ

ความพยายามพิเศษในการทำให้ PID Fiddler ได้ผลตอบแทนทันเวลาที่ใช้ในการปรับแต่งการเปลี่ยนแปลง PID คุณสามารถเห็นผลการเปลี่ยนแปลงของคุณได้อย่างรวดเร็ว และสามารถนำกลับมาใช้ใหม่ได้ในโครงการในอนาคตที่ใช้ PID ไม่ต้องพูดถึงมันสนุกที่จะสร้าง และดูเท่!

ขั้นตอนที่ 1: Ball Balancer - อะไหล่

Ball Balancer - อะไหล่
Ball Balancer - อะไหล่
Ball Balancer - อะไหล่
Ball Balancer - อะไหล่
Ball Balancer - อะไหล่
Ball Balancer - อะไหล่

พบชิ้นส่วนที่พิมพ์ 3 มิติที่นี่:

(คำแนะนำในการประกอบมีอยู่ในคำแนะนำหลังการพิมพ์ในลิงก์ด้านบน)

มุมอะลูมิเนียม 1 - 1" x 1/8" ตัดให้ยาว 500 มม.

1 - Adafruit VL53L0X Time of Flight Distance Sensor:

1 - Hobby Servo พร้อมแตรควบคุม

1 - ลวดแข็งสำหรับเชื่อม (ประมาณ 7 มม.)

- อื่น ๆ. สกรูยึด

1- Arduino Uno

2 - ไฟ LED (แดง เขียว)

ตัวต้านทาน 3 - 330 โอห์ม

- อื่น ๆ. สายจัมเปอร์และเขียงหั่นขนม

- สีสเปรย์สีดำแบน

1 - ลูกปิงปองสีขาว

ขั้นตอนที่ 2: Ball Balancer - การประกอบ

Ball Balancer - การประกอบ
Ball Balancer - การประกอบ

ดูคำแนะนำในการประกอบ Ball Balancer ได้ที่นี่:

เคล็ดลับเพิ่มเติมบางประการ:

พ่นสีด้านในรางสีดำเรียบเพื่อลดข้อผิดพลาดจากเซ็นเซอร์

การเชื่อมโยง (แสดงในภาพด้านบน):

- ใช้ลวดแข็งที่มีความยาวประมาณ 7 มม. เพื่อเชื่อมระหว่างแตรควบคุมเซอร์โวกับขายึดเซนเซอร์

- ปรับระดับราง วางแตรควบคุมในแนวนอนที่จุดกึ่งกลางของการเคลื่อนที่ของเซอร์โว (ค่าเซอร์โว 90)

- งอห่วงเล็ก ๆ ที่ด้านบนของลวดและโค้งงอรูปตัว z ที่ด้านล่างของลวด

- ใส่ปลาย z ลงในแตรควบคุม ทำเครื่องหมายจุดที่กึ่งกลางของลูปบนฐานยึดเซนเซอร์

- เจาะรูเล็กๆ และใช้สกรูเล็กๆ ยึดสายไฟเข้ากับฐานยึดเซนเซอร์

ขั้นตอนที่ 3: การเดินสาย Ball Balancer & Arduino Sketch

การเดินสาย Ball Balancer & Arduino Sketch
การเดินสาย Ball Balancer & Arduino Sketch

ดูภาพด้านบนสำหรับการเดินสาย

ใช้แหล่งจ่ายไฟแยกต่างหากสำหรับเซอร์โว นี่อาจเป็นแหล่งจ่ายไฟแบบตั้งโต๊ะหรือชุดแบตเตอรี่ ฉันใช้ชุดจ่ายไฟแบบตั้งโต๊ะที่ 5V

PID Fiddler จะต่อด้วยสายไฟสองเส้น สายหนึ่งถึงพิน 1 (Serial RX) และอีกสายหนึ่งลงกราวด์

มีร่างภาพให้

Sketch Notes: ค่าที่ตั้งไว้จะเปลี่ยนจาก 200 มม. เป็น 300 มม. ทุกๆ 15 วินาที เป็นประโยชน์ในการใช้ Serial Monitor บน Arduino IDE เพื่อดูเอาต์พุตเซ็นเซอร์

ขั้นตอนที่ 4: PID Fiddler 2 - ชิ้นส่วน

PID Fiddler 2 - ชิ้นส่วน
PID Fiddler 2 - ชิ้นส่วน

พบโล่และปุ่มพิมพ์ 3 มิติที่นี่:

4 - 10 กระถางโคม

1- ปุ่มติดต่อชั่วขณะ:

1- Adafruit ขาวดำ 128x32 I2C OLED Graphic Display:

1- Arduino Uno

- อื่น ๆ. ปิงส่วนหัว (.1 นิ้ว), เทอร์มินัลบล็อก, ต่อสาย

ขั้นตอนที่ 5: Pid Fiddler 2 - การเดินสายไฟ การประกอบ และ Arduino Sketch

Pid Fiddler 2 - การเดินสายไฟ การประกอบ และ Arduino Sketch
Pid Fiddler 2 - การเดินสายไฟ การประกอบ และ Arduino Sketch
Pid Fiddler 2 - การเดินสายไฟ การประกอบ และ Arduino Sketch
Pid Fiddler 2 - การเดินสายไฟ การประกอบ และ Arduino Sketch

ใช้แผนภาพการเดินสายสำหรับการเดินสายโล่

เคล็ดลับการประกอบ:

- สำหรับเคล็ดลับในการทำแผงวงจรแบบกำหนดเอง โปรดดูคำแนะนำของฉัน:

- ส่วนหัวกาวซุปเปอร์กาวบนโล่ที่พิมพ์ 3 มิติ

- ฉันใช้ลวดพันลวด

- ใช้หม้อก้นสี่เหลี่ยมและตัดแถบยึดออก ติดกาวร้อนให้เข้าที่

- ส่วนประกอบถูกบัดกรี ใช้หัวต่อตัวเมียสำหรับ OLED และ OLED สามารถถอดและถอดออกได้อย่างง่ายดายเพื่อใช้ในโครงการอื่น

ร่างหมายเหตุ:

- เชื่อมต่อสายไฟจากแผงขั้วต่อ (ต่อกับพิน 2, TX) กับพิน 1 (อนุกรม RX) ของ Ball Balancer Arduino เชื่อมต่อสายไฟระหว่างแผงขั้วต่อ (กราวด์) กับกราวด์ของ Ball Balancer Arduino

- กดปุ่มค้างไว้ ปรับลูกบิดเพื่อปรับการตั้งค่า PID ปล่อยปุ่มเพื่อส่งค่าไปยัง Ball Balancer

ขั้นตอนที่ 6: การใช้ Ball Balancer และ PID Fiddler

เหลืออย่างเดียวคือเริ่มเล่นกับมัน!

- วางลูกบอลบนราง

- กดปุ่มบน PID Fiddler ค้างไว้ ตั้งค่า P, I และ D เป็นศูนย์, ST ถึง 200 เพื่อเริ่มต้น

- เซอร์โวจะหยุดตอบสนอง

- ตอนนี้เริ่มทดลองด้วยค่า P, I และ D ต่างๆ เพื่อดูว่าค่านี้ส่งผลต่อการตอบสนองและการเคลื่อนไหวของลูกบอลอย่างไร

- ลองเปลี่ยนค่าสำหรับ Sample Time (ST) เวลาตัวอย่างคือเวลาที่รวบรวมอินพุตเป็นมิลลิวินาที ค่าต่างๆ จะถูกนำมาเฉลี่ยในช่วงเวลาสุ่มตัวอย่าง เอาต์พุตเซ็นเซอร์ของชิ้นงานที่นิ่งจะแตกต่างกันไปเล็กน้อย หากเวลาตัวอย่างน้อยเกินไป เอาต์พุตของ PID จะ "กระวนกระวายใจ" PID กำลังพยายามแก้ไขสัญญาณรบกวนในการอ่านค่าของเซ็นเซอร์ การใช้ Sample Times ที่นานขึ้นจะทำให้สัญญาณรบกวนลดลง แต่เอาต์พุตของ PID จะกระตุก

ขั้นตอนที่ 7:

ไม่ได้ใช้

แนะนำ: