
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12



แรงจูงใจและแนวคิดโดยรวม:
ในฐานะนักฟิสิกส์ในการฝึก ฉันรู้สึกสนใจและพยายามทำความเข้าใจระบบทางกายภาพโดยธรรมชาติ ฉันได้รับการฝึกอบรมให้แก้ปัญหาที่ซับซ้อนโดยแยกย่อยเป็นส่วนประกอบพื้นฐานและจำเป็นที่สุด จากนั้นจึงสร้างปัญหาขึ้นมาใหม่ แม้ว่าฉันจะได้เรียนรู้กลศาสตร์และแม่เหล็กไฟฟ้าจากหลักการแรก แต่ฉันก็ยังไม่ได้ใช้มันในการใช้งานทางกายภาพบางอย่าง ในที่สุดฉันก็จะได้รับโอกาสนี้โดยการสร้างหุ่นยนต์ที่ใช้ทฤษฎีการควบคุมอัตโนมัติเพื่อปรับสมดุลลูกบอลบนแพลตฟอร์มที่แบนราบและมีการควบคุมอย่างเต็มที่ด้วยตัวมันเอง!
ในวิธีการนี้ ซึ่งมีไว้สำหรับแฮ็กเกอร์ โปรแกรมเมอร์ หรือวิศวกรที่เชี่ยวชาญทางเทคนิค เราจะใช้ Arduino Uno เป็นแพลตฟอร์มไมโครคอนโทรลเลอร์ของเรา วงจรป้อนกลับแบบปิดจะเริ่มต้นขึ้นเมื่อสัมผัสได้ถึงตำแหน่งของลูกปืนโลหะแข็งที่วางอยู่บนหน้าจอตัวต้านทานแบบสัมผัสที่แบน ซึ่งจะดึงกลับตำแหน่งทันทีของลูกบอล ตำแหน่งนี้จะถูกป้อนเข้าสู่คอนโทรลเลอร์แบบสัดส่วน-อินทิกรัล-อนุพันธ์ (PID) ซึ่งเราได้ตั้งโปรแกรมไว้ใน Arduino Uno ฉันได้สร้างรหัสนี้ให้เป็นโอเพ่นซอร์สและเชื่อมโยงในโครงการ ผู้ควบคุมได้รับมอบหมายให้นำลูกบอลกลับคืนสู่ตำแหน่งที่ผู้ใช้เลือกไว้บนโต๊ะ แม้ว่าจะมีการรบกวนอย่างมาก แพลตฟอร์มรองรับโครงสร้างที่เราจะใช้เรียกว่า "แพลตฟอร์มสจ๊วต" และได้รับการสนับสนุนโดยแท่งเชื่อมต่ออิสระ 6 อันที่ขับเคลื่อนด้วยเซอร์โวมอเตอร์ซึ่งจะให้อิสระสูงสุดหกองศา การแปล X, Y และ Z, ม้วน, ขว้างและหันเห (การหมุนรอบแกน X, Y และ Z ตามลำดับ) การสร้างและเขียนโปรแกรมแพลตฟอร์มที่เคลื่อนที่ได้สูงเช่นนี้ทำให้เกิดความท้าทาย ดังนั้นสำหรับโครงการนี้ เราจะเรียกเฉพาะระดับความอิสระและระดับความอิสระเท่านั้น ปล่อยให้ส่วนอื่นๆ เป็นการอัพเกรดฟังก์ชันการทำงานที่เป็นทางเลือก หากผู้ใช้ต้องการ พร้อมกับแพลตฟอร์มที่เคลื่อนลูกบอลไปยังชุดของตำแหน่งคงที่ที่ผู้ใช้กำหนดไว้ โปรแกรมเมอร์ขั้นสูงจะพบว่ามันง่ายที่จะปรับปรุงโปรแกรมและเพิ่มความสวยงามโดยการแทนที่ตำแหน่งคงที่ที่ผู้ใช้กำหนดของเราด้วยการติดตามกึ่งต่อเนื่องของผู้ใช้ เส้นทางที่กำหนด เช่น รูปที่แปด วิถีวงกลม ชื่อของคุณในรูปแบบตัวสะกด หรือสตรีมสดของสไตลัสหรือนิ้วของใครบางคนที่ฉันโปรดปรานบนอุปกรณ์มือถือของพวกเขาเอง! แฮ็คอย่างมีความสุข!
ขั้นตอนที่ 1: รับวัสดุ



วัสดุที่จำเป็น:
1. แผ่นอะคริลิก 1/4" และ 1/8" สองสามแผ่น
2. 6 - เซอร์โวมอเตอร์ (เราใช้เซอร์โว HS5485HB)
3. 6 - ก้านสูบเกลียว (ปรับได้)
4. 6 - แขนเซอร์โวอาร์ม CNC Machined พร้อมรูหลายรูสำหรับการปรับ
5. 12 - ปลายก้านร่วม Heim
6. 6 - แท่ง (ปรับได้)
7. 1- 17” Five Wire Resistive Touch Screen Panel USB kit (ตำแหน่งสัมผัสของลูกปืน)
ขั้นตอนที่ 2: เตรียมวัสดุ



วิธีที่ดีที่สุดในการตัดอะคริลิกคือการใช้กล้องเลเซอร์ การเข้าถึงอันใดอันหนึ่งอาจทำได้ยาก ดังนั้น อะครีลิคจึงสามารถตัดได้อย่างง่ายดายโดยใช้เครื่องมือตัดใดๆ ที่คุณคุ้นเคย ผ่านการฝึกอบรมอย่างเหมาะสม และสามารถทำงานได้อย่างปลอดภัย ถ้าฉันทำสิ่งนี้ที่บ้าน ฉันจะใช้เลื่อยฉลุมือ รูปร่างโดยรวมของแพลตฟอร์มสจ๊วตไม่จำเป็นต้องตรงกับแบบจำลองที่ฉันสร้างขึ้น อย่างไรก็ตาม ฉันต้องการชี้ให้เห็นโอกาสง่ายๆ สองสามข้อ อย่างแรก การทำแผนที่ระดับความอิสระของพิทช์และการหมุนจะง่ายกว่ามากโดยใช้สามฐาน แทนที่จะเป็นสองมาตรฐาน ทำได้โดยทำให้การยึดแท่งเชื่อมต่อกับแท่นจริงเป็นรูปสามเหลี่ยมด้านเท่า วิธีนี้ช่วยให้คุณละเลยความยุ่งยากทั้งหมดในการค้นหาองศาพิทช์และการหมุนขององศาอิสระ (DOF) ตั้งแต่เริ่มต้น แต่เรากลับใช้ "พื้นฐาน" ที่ไม่ขึ้นกับเชิงเส้น 3 แบบ ซึ่งเป็นเพียงแผนที่ของมุมนั้นของสามเหลี่ยมที่กำลังขึ้น นี่อาจเป็นเรื่องยากสำหรับคุณหรือฉันในการเขียนพิกัดบนพื้นฐานนี้ แต่รหัสสามารถจัดการการพึ่งพาอาศัยกันของพื้นฐานเหล่านี้ได้อย่างง่ายดาย สมมติฐานที่เข้าใจง่ายนี้เป็นกุญแจสำคัญในการละเลยความซับซ้อนทั้งหมดของเรขาคณิต ดูภาพกราฟิก MS Paint และภาพไวท์บอร์ดสำหรับรายละเอียด
เมื่อตัดชิ้นส่วนแล้ว คุณจะต้องเจาะรูทั้งหมด ซึ่งเป็นที่ที่ก้านสูบและข้อต่อลูกของคุณเชื่อมต่อ ระมัดระวังในการจับคู่ขนาดรูกับฮาร์ดแวร์ที่เหมาะสมที่คุณใช้ นี่เป็นสิ่งสำคัญที่จะทำให้รัดที่คุณเลือกทำงาน ขนาดรูขึ้นอยู่กับขนาดก๊อกที่คุณต้องการสำหรับสกรูของคุณ ในการดำเนินการนี้ ให้ค้นหาข้อมูลอ้างอิงออนไลน์สำหรับขนาดการแตะ ระยะพิทช์ และประเภทเธรดที่ต้องการ (แบบละเอียดเทียบกับหลักสูตร) ขอแนะนำคอร์สเกลียวสำหรับอะครีลิค แต่ถ้าคุณต้องใช้ด้ายละเอียดก็ควรจะใช้ได้ดีเพราะที่เราใช้อยู่แล้ว ตอนนี้ถึงเวลาที่จะย้ายไปประกอบ
ขั้นตอนที่ 3: ประกอบวัสดุ




ประกอบวัสดุตามข้อกำหนดอย่างระมัดระวัง ระมัดระวังเป็นพิเศษอย่าดึงสกรูออก เมื่อเสร็จแล้ว คุณจะต้องเปลี่ยนฮาร์ดแวร์โดยปรับขนาดและเจาะรูที่ใหญ่ขึ้นแล้วเคาะ มิฉะนั้นคุณจะต้องตัดอะครีลิกชิ้นใหม่ทั้งหมด ข้อสังเกตที่ควรระวังด้วยหน้าจอสัมผัสแบบ resistive มันเปราะบาง!!! เป็นชั้นกระจกบางๆ โปรดทราบว่าเราประสบอุบัติเหตุด้วยตัวเอง
ขั้นตอนที่ 4: การเขียนโปรแกรม

การเขียนโปรแกรมอาจใช้เวลาสักครู่ นี่คือจุดที่ทักษะการเขียนโปรแกรมของคุณสามารถชำระได้อย่างแท้จริง คุณไม่จำเป็นต้องเขียนโค้ดตั้งแต่เริ่มต้น แต่ถ้าคุณสามารถหาซอร์สโค้ดที่มีความคิดเห็นและจัดระเบียบได้ดีเพื่อแก้ไข นั่นจะทำให้ชีวิตง่ายขึ้นมาก นี่คือลิงค์ไปยังซอร์สโค้ดของเรา: https://github.com/a6guerre/Ball-balanced-on-Stew… ช่วยตัวเองด้วย! มันไม่ได้ปรับให้เหมาะสมอย่างแน่นอน แต่ได้งานทำ! จำไว้ว่าเรากำลังใช้พื้นฐานที่ไม่ใช่แบบออร์โธแกนอล และไม่อิสระเชิงเส้นสามแบบแยกกันสำหรับแผนที่การควบคุม เราเพียงแค่อ่านทุกอย่างใน x, y และจับคู่กับ A, B และ C จากนั้นการตอบสนองนี้จะถูกปรับทั่วโลกเพื่อปรับว่าเราต้องการให้ระบบตอบสนองมากหรือน้อยเพียงใด
ขั้นตอนที่ 5: การทดสอบ

ที่นี่เราทดสอบระดับความเป็นอิสระ สังเกตว่า 3 พื้นฐานของเรานั้นให้ผลตอบแทนอย่างไร! ตัวอย่างเช่น เพื่อให้ได้ม้วน DOF เราเพียงแค่ลงไปหนึ่งหน่วยทางด้านซ้าย ในขณะที่ขึ้นไปหนึ่งหน่วยทางด้านขวา และในทางกลับกันสำหรับอีกทิศทางหนึ่ง สิ่งสำคัญคือต้องกรองสัญญาณรบกวนจากหน้าจอสัมผัสของคุณได้ดีเพียงพอ นี่เป็นสิ่งสำคัญในการมีข้อมูลที่ดีในการป้อน PID ของคุณ
ขั้นตอนที่ 6: ปรับแต่งและสนุก
ขั้นตอนการทดสอบเป็นเพียงเพื่อกำจัดข้อบกพร่องเท่านั้น ที่นี่ เราเน้นที่การปรับระบบควบคุมอย่างละเอียด วิธีนี้ทำได้ดีที่สุดด้วยอัลกอริธึมที่ตั้งไว้ล่วงหน้า สิ่งที่ฉันชอบคือการเข้าใกล้เหมือนปัญหาการดูดซับที่สำคัญ อะแฮ่ม! ฉันเป็นนักฟิสิกส์! ดังนั้นคุณจึงปิดระยะแดมเปอร์! คือเทอมอนุพันธ์ซึ่งทำหน้าที่เหมือนเทอมลาก ตอนนี้ลูกบอลจะสั่นอย่างรุนแรง! อย่างไรก็ตาม เป้าหมายคือการทำให้การสั่นใกล้เคียงกับฮาร์โมนิกมากที่สุดเท่าที่จะเป็นไปได้ ไม่เติบโตหรือเสื่อมสลาย ให้ดีที่สุดเท่าที่จะทำได้ เมื่อเสร็จแล้ว คุณเปิดเทอมอนุพันธ์ และปรับจนกว่าจะกลับสู่สมดุลโดยเร็วที่สุด นี่คือเวลาที่บรรลุการทำให้หมาด ๆ ที่สำคัญ อย่างไรก็ตาม หากวิธีนี้ใช้ไม่ได้ผล มีแผนการปรับแต่งอื่นๆ ที่ได้รับการพิสูจน์แล้วสำหรับระบบควบคุม PID ฉันพบสิ่งนี้บนวิกิพีเดีย ภายใต้ตัวควบคุม PID ขอบคุณมากสำหรับการดูโครงการของฉัน และโปรดติดต่อเราหากมีคำถามใดๆ เรายินดีที่จะตอบคำถามของคุณ หมายเหตุพิเศษ: ฉันต้องการชี้ให้เห็นว่าโครงการนี้ตั้งแต่ต้นจนจบเสร็จสิ้นโดย Miracle Max Guerrro และตัวฉันในเวลาไม่ถึงสี่สัปดาห์รวมทั้งรอสองสัปดาห์สำหรับหน้าจอใหม่ที่ติดอยู่ในศุลกากรหลังจากครั้งแรกของเรา แตกหัก. ดังนั้นโปรดยกโทษให้มันยังห่างไกลจากประสิทธิภาพที่สมบูรณ์แบบ แฮ็คอย่างมีความสุข!
แนะนำ:
หุ่นยนต์ปรับสมดุลตนเอง - อัลกอริธึมการควบคุม PID: 3 ขั้นตอน

หุ่นยนต์ปรับสมดุลตนเอง - อัลกอริธึมการควบคุม PID: โครงการนี้เกิดขึ้นเพราะฉันสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับอัลกอริธึมการควบคุมและวิธีการใช้ลูป PID ที่ใช้งานได้อย่างมีประสิทธิภาพ โครงการยังอยู่ในขั้นตอนการพัฒนาเนื่องจากยังไม่ได้เพิ่มโมดูล Bluetooth ซึ่งจะทำให้
ผู้ติดตาม PID Line Atmega328P: 4 ขั้นตอน

PID Line Follower Atmega328P: บทนำ คำสั่งนี้เกี่ยวกับการสร้าง Line Follower ที่มีประสิทธิภาพและเชื่อถือได้ด้วย PID (proportional-integral-derivative) Control (Mathematical) ที่ทำงานอยู่ในสมอง (Atmega328P) ผู้ติดตาม Line เป็นหุ่นยนต์อิสระที่ติดตามข
PID Controller VHDL: 10 ขั้นตอน

PID Controller VHDL: โครงการนี้เป็นโครงการสุดท้ายของฉันในการสำเร็จการศึกษาระดับปริญญาตรีเกียรตินิยมจาก Cork Institute of Technology บทช่วยสอนนี้แบ่งออกเป็นสองส่วน ส่วนแรกจะครอบคลุมเนื้อหาหลักของรหัส PID ซึ่งเป็นจุดประสงค์หลักของโครงการและส่วนที่สอง
ควบคุมอุณหภูมิที่บ้านด้วย PID และ Labview: 4 ขั้นตอน

ควบคุมอุณหภูมิหน้าแรกด้วย PID และ Labview: PID merupakan suatu sistem pengontrolan yang biasa digunakan pada dunia indusri yang telah bukti keandalannya disini kita akan mengimplementasikan kontrolloer PID pada pengatur suhu ruangan menggunakan labview
ทาวเวอร์คอปเตอร์พร้อมตัวควบคุม PID: 4 ขั้นตอน

Tower Copter พร้อม PID Controller: สวัสดีทุกคน ฉันชื่อวชิด กุรเนียวัน ปุตรา วันนี้ฉันจะแชร์โปรเจ็กต์ไมโครคอนโทรลเลอร์กับทีมของฉัน ทีมของฉันมี 4 คนรวมฉันด้วย พวกเขาคือ: 1 ฮวน แอนดรูว์ (15/386462 / SV / 09848)2. วชิต กุรณิวรรณบุตร (17/416821 / SV / 14559)3.