สารบัญ:

Prototype Camera Stabilizer (2DOF): 6 ขั้นตอน
Prototype Camera Stabilizer (2DOF): 6 ขั้นตอน

วีดีโอ: Prototype Camera Stabilizer (2DOF): 6 ขั้นตอน

วีดีโอ: Prototype Camera Stabilizer (2DOF): 6 ขั้นตอน
วีดีโอ: ROBOTICS | Miniature 3-axis robotic arm 2024, กรกฎาคม
Anonim
ตัวป้องกันภาพสั่นไหวแบบต้นแบบ (2DOF)
ตัวป้องกันภาพสั่นไหวแบบต้นแบบ (2DOF)

ผู้เขียน:

Robert de Mello e Souza, เจค็อบ แพกซ์ตัน, มอยเซส ฟาเรียส

รับทราบ:

ขอบคุณมากสำหรับ California State University Maritime Academy, โครงการ Engineering Technology และ Dr. Chang-Siu ที่ช่วยให้เราประสบความสำเร็จกับโครงการของเราในช่วงเวลาที่ซับซ้อนเช่นนี้

บทนำ:

อุปกรณ์กันสั่นของกล้องหรือกิมบอลของกล้องเป็นอุปกรณ์ยึดที่ป้องกันการสั่นของกล้องและการเคลื่อนไหวอื่นๆ ที่ไม่สมควร หนึ่งในระบบกันสั่นแห่งแรกที่เคยคิดค้นใช้โช้คอัพ/สปริงเพื่อรองรับการเปลี่ยนแปลงอย่างกะทันหันในการเคลื่อนไหวของกล้อง สารเพิ่มความคงตัวประเภทอื่นใช้ไจโรสโคปหรือจุดศูนย์กลางเพื่อทำงานเดียวกันนี้ให้สำเร็จ อุปกรณ์เหล่านี้ทำให้การเคลื่อนไหวที่ไม่ต้องการมีเสถียรภาพในแกนหรือขนาดที่แตกต่างกันถึงสามแกน ซึ่งรวมถึงแกน x, y และ z ซึ่งหมายความว่าเหล็กกันโคลงสามารถลดการเคลื่อนไหวในสามทิศทางที่แตกต่างกัน: ม้วน, ขว้าง, และหันเห โดยปกติจะทำได้โดยใช้มอเตอร์ 3 ตัวที่ควบคุมด้วยระบบควบคุมอิเล็กทรอนิกส์ซึ่งแต่ละอันจะตอบโต้กับแกนที่ต่างกัน

เราสนใจโครงการนี้เป็นพิเศษด้วยเหตุผลหลายประการ พวกเราทุกคนสนุกกับกิจกรรมกลางแจ้งต่างๆ เช่น สโนว์บอร์ดและกีฬาอื่นๆ การรับฟุตเทจคุณภาพสูงของกิจกรรมเหล่านี้เป็นเรื่องยากเนื่องจากต้องใช้การเคลื่อนไหวจำนวนมาก เราสองคนเป็นเจ้าของกล้องกันสั่นของจริงที่ซื้อมาจากร้าน ดังนั้นเราจึงต้องการตรวจสอบสิ่งที่ต้องใช้เพื่อสร้างอะไรแบบนั้น ในชั้นเรียนในห้องปฏิบัติการและการบรรยายของเรา เราได้เรียนรู้เกี่ยวกับวิธีการโต้ตอบกับเซอร์โวมอเตอร์โดยใช้ Arduino การเข้ารหัสที่จำเป็นในการทำให้มันใช้งานได้ และทฤษฎีเบื้องหลังวงจรอิเล็กทรอนิกส์เพื่อช่วยเราออกแบบวงจร

*หมายเหตุ: เนื่องจากสถานการณ์โควิด-19 เราไม่สามารถทำโครงการนี้ให้เสร็จสมบูรณ์ได้ทั้งหมด คำแนะนำนี้เป็นแนวทางสำหรับวงจรและรหัสที่จำเป็นสำหรับต้นแบบของโคลง เราตั้งใจที่จะดำเนินโครงการให้เสร็จเมื่อใดก็ตามที่โรงเรียนกลับมาเรียนต่อ และเราสามารถเข้าถึงเครื่องพิมพ์ 3 มิติได้อีกครั้ง เวอร์ชันที่สมบูรณ์จะมีวงจรแบตเตอรี่และตัวเรือนที่พิมพ์ 3 มิติพร้อมแขนกันโคลง (แสดงด้านล่าง) นอกจากนี้ โปรดทราบว่าการเปิดเซอร์โวมอเตอร์ออกจากแหล่งจ่ายไฟ Arduino 5v ถือเป็นการปฏิบัติที่ไม่ดี เราเพียงแค่ทำสิ่งนี้เพื่อให้สามารถทดสอบต้นแบบได้ แหล่งจ่ายไฟแยกต่างหากจะรวมอยู่ในโครงการสุดท้ายและแสดงในแผนภาพวงจรด้านล่าง

เสบียง

-Arduino UNO ไมโครคอนโทรลเลอร์

-เขียงหั่นขนม

- ชุดจัมเปอร์สายไฟ

-MPU6050 หน่วยวัดแรงเฉื่อย

-MG995 เซอร์โวมอเตอร์ (x2)

-LCD1602 โมดูล

-โมดูลจอยสติ๊ก

ขั้นตอนที่ 1: ภาพรวมโครงการ

Image
Image

ด้านบนเป็นวิดีโอของโครงการของเราและยังแสดงการสาธิตการทำงานอีกด้วย

ขั้นตอนที่ 2: ทฤษฎีและการปฏิบัติการ

แผนภาพสถานะ/ลอจิก
แผนภาพสถานะ/ลอจิก

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

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

ในรูปที่ 2 คุณสามารถเห็นมุมพิทช์ถูกควบคุมโดยเซอร์โวมอเตอร์แยกซึ่งทำหน้าที่ในลักษณะเดียวกันกับโรลเซอร์โวมอเตอร์

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

ในการสร้างเคสสำหรับเก็บอุปกรณ์ไฟฟ้าทั้งหมด เราได้ใช้ Computer-Aided Design (CAD) และจะใช้เครื่องพิมพ์ 3 มิติ เพื่อยึดส่วนประกอบทางไฟฟ้า เราได้ออกแบบตัวเครื่องที่จะทำหน้าที่เป็นที่จับด้วยเช่นกัน นี่คือตำแหน่งที่จะติดตั้งเซ็นเซอร์ IMU และจอยสติ๊ก สำหรับการควบคุมแบบสองแกน เราออกแบบตัวยึดสำหรับมอเตอร์

ขั้นตอนที่ 3: ไดอะแกรมสถานะ/ลอจิก

รหัสประกอบด้วยสามสถานะ ซึ่งแต่ละสถานะจะแสดงบนหน้าจอ LCD เมื่อ Arduino ได้รับพลังงาน หน้าจอ LCD จะพิมพ์ “Initializing…” และการสื่อสาร I2C จะเริ่มต้นด้วย MPU-6050 ข้อมูลเบื้องต้นจาก MPU-6050 จะถูกบันทึกเพื่อหาค่าเฉลี่ย หลังจากนั้น Arduino จะเข้าสู่โหมดควบคุมด้วยตนเอง ที่นี่ เซอร์โวมอเตอร์ทั้งสองสามารถปรับได้ด้วยตนเองด้วยจอยสติ๊ก หากกดปุ่มจอยสติ๊ก มันจะเข้าสู่สถานะ "ระดับอัตโนมัติ" และแพลตฟอร์มที่มีเสถียรภาพจะรักษาระดับที่สัมพันธ์กับโลก การเคลื่อนไหวใด ๆ ในทิศทางการหมุนหรือระยะพิทช์จะถูกต่อต้านโดยเซอร์โวมอเตอร์ ดังนั้นจึงรักษาระดับแพลตฟอร์มไว้ ด้วยการกดปุ่มจอยสติ๊กอีกครั้ง Arduino จะเข้าสู่ "Do Nothing State" ซึ่งเซอร์โวมอเตอร์จะถูกล็อค ในลำดับนั้น สถานะจะเปลี่ยนแปลงต่อไปทุกครั้งที่กดปุ่มจอยสติ๊ก

ขั้นตอนที่ 4: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

ภาพด้านบนแสดงแผนภาพวงจรโครงการของเราในโหมดปิด ไมโครคอนโทรลเลอร์ Arduino มีการเชื่อมต่อที่จำเป็นในการรัน MPU-6050 IMU, จอยสติ๊ก และจอ LCD เซลล์ LiPo เชื่อมต่อโดยตรงกับตัวเปลี่ยนและจ่ายพลังงานให้กับทั้งไมโครคอนโทรลเลอร์ Arduino และเซอร์โวมอเตอร์ทั้งสองตัว ระหว่างโหมดการทำงานนี้ แบตเตอรี่จะเชื่อมต่อแบบขนานกับการใช้สวิตช์แบบ 3-point double-throw (3PDT) สวิตช์ช่วยให้เราตัดการเชื่อมต่อโหลดขณะเชื่อมต่อเครื่องชาร์จและเปลี่ยนเซลล์จากชุดเป็นการกำหนดค่าแบบขนาน นอกจากนี้ยังช่วยให้ชาร์จแบตเตอรี่ได้พร้อมกัน

เมื่อสวิตช์ถูกพลิกไปที่โหมดเปิด เซลล์ 3.7v สองเซลล์จะให้พลังงานแก่ Arduino และเซอร์โวมอเตอร์ ระหว่างโหมดการทำงานนี้ แบตเตอรี่จะเชื่อมต่อแบบอนุกรมโดยใช้สวิตช์แบบ 3-point double-throw (3PDT) ซึ่งช่วยให้เราได้รับ 7.4v จากแหล่งพลังงานของเรา ทั้งหน้าจอ LCD และเซ็นเซอร์ IMU ใช้การสื่อสารแบบ I2C SDA ใช้เพื่อส่งข้อมูล ในขณะที่ SCL เป็นสัญญาณนาฬิกาที่ใช้ในการซิงโครไนซ์การถ่ายโอนข้อมูล เซอร์โวมอเตอร์มีสามลีดแต่ละตัว: กำลัง กราวด์ และข้อมูล Arduino สื่อสารกับเซอร์โวผ่านพิน 3 และ 5; หมุดเหล่านี้ใช้การปรับความกว้างพัลส์ (PWM) เพื่อส่งข้อมูลด้วยการเปลี่ยนภาพที่ราบรื่นยิ่งขึ้น

*วงจรชาร์จแบตเตอรี่มาจาก Adafruit.com

ขั้นตอนที่ 5: การก่อสร้าง

การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง
การก่อสร้าง

การออกแบบพื้นฐานของ gimbal ของกล้องนั้นค่อนข้างง่าย เนื่องจากเป็นเพียงแค่ด้ามจับและตัวยึดสำหรับกล้องเท่านั้น gimbal ประกอบด้วยมอเตอร์เซอร์โวสองตัวเพื่อต่อต้านการเคลื่อนไหวใด ๆ ในทิศทางการหมุนและระยะพิทช์ การใช้ Arduino Uno ต้องใช้พื้นที่จำนวนมาก ดังนั้นเราจึงเพิ่มตัวเรือนที่ด้านล่างของที่จับเพื่อเก็บส่วนประกอบทางไฟฟ้าทั้งหมด ตัวเครื่อง ที่จับ และเมาท์เซอร์โวมอเตอร์ทั้งหมดจะถูกพิมพ์ 3 มิติ ซึ่งช่วยให้เราสามารถลดต้นทุนและขนาดโดยรวมได้ เนื่องจากเราสามารถควบคุมการออกแบบได้อย่างเต็มที่ มีหลายวิธีที่เราสามารถออกแบบ gimbal ได้ แต่ปัจจัยที่สำคัญที่สุดที่ควรพิจารณาคือการหลีกเลี่ยงไม่ให้เซอร์โวมอเตอร์ตัวหนึ่งหมุนไปเป็นอีกตัวหนึ่ง ในต้นแบบนั้น เซอร์โวมอเตอร์หนึ่งตัวจะติดเข้ากับอีกตัวหนึ่งเป็นหลัก เมื่อเราเข้าถึงเครื่องพิมพ์ 3 มิติได้อีกครั้ง เราจะพิมพ์ 3 มิติที่แขนและแพลตฟอร์มที่แสดงด้านบน

*ออกแบบแขนและแท่นจาก

ขั้นตอนที่ 6: การค้นพบโดยรวมและการปรับปรุงที่อาจเกิดขึ้น

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

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

แนะนำ: