สารบัญ:

ตัวเลื่อนกล้องติดตามวัตถุพร้อมแกนหมุน พิมพ์ 3 มิติและสร้างขึ้นบนตัวควบคุมมอเตอร์ DC RoboClaw และ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)
ตัวเลื่อนกล้องติดตามวัตถุพร้อมแกนหมุน พิมพ์ 3 มิติและสร้างขึ้นบนตัวควบคุมมอเตอร์ DC RoboClaw และ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ตัวเลื่อนกล้องติดตามวัตถุพร้อมแกนหมุน พิมพ์ 3 มิติและสร้างขึ้นบนตัวควบคุมมอเตอร์ DC RoboClaw และ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ตัวเลื่อนกล้องติดตามวัตถุพร้อมแกนหมุน พิมพ์ 3 มิติและสร้างขึ้นบนตัวควบคุมมอเตอร์ DC RoboClaw และ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: DIY Object tracking camera slider tutorial. 3D printed + built around the Arduino & RoboClaw 2024, กรกฎาคม
Anonim
Image
Image
การออกแบบฮาร์ดแวร์ + บิลด์ + การพิมพ์ 3 มิติ
การออกแบบฮาร์ดแวร์ + บิลด์ + การพิมพ์ 3 มิติ

โครงการฟิวชั่น 360 »

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

โปรเจ็กต์ทั้งหมดสร้างขึ้นจากชิ้นส่วนที่คุณสามารถพิมพ์ 3 มิติได้ และโค้ดจะทำงานบนบอร์ด Arduino ยอดนิยม ไฟล์โครงการทั้งหมด เช่น ไฟล์ CAD และโค้ดสามารถดาวน์โหลดได้ด้านล่าง

ไฟล์พิมพ์ CAD/ 3D มีให้ที่นี่

มีไฟล์รหัส Arduino ที่นี่

โปรเจ็กต์นี้หมุนรอบมอเตอร์ DC แบบมีแปรง 2 ตัวและตัวควบคุม Basic Micro Roboclaw Motor ตัวควบคุมมอเตอร์นี้สามารถเปลี่ยนมอเตอร์ DC แบบมีแปรงถ่านให้เป็นเซอร์โวประเภทที่เหนือกว่าด้วยความแม่นยำของตำแหน่งที่เหลือเชื่อ แรงบิดมหาศาล และการหมุน 360 องศาเต็มรูปแบบ เพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง

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

วัสดุ-

  • เกลียวเกลียว m10 ยาว 2x1 เมตร ใช้ต่อทุกส่วน
  • 8x M10 น๊อตเพื่อยึดชิ้นส่วนเข้ากับแกนเกลียว
  • แท่งเหล็กเรียบ 8 มม. ยาว 95 ซม. 2x 95 ซม. สำหรับตัวเลื่อนเลื่อนขึ้น
  • ตลับลูกปืน lm8uu 4x สำหรับตัวเลื่อนเพื่อเลื่อนบนแท่งเหล็กอย่างราบรื่น
  • น็อต m3 ยาว 4x10 มม. สำหรับติดตั้งมอเตอร์
  • 2 x ตลับลูกปืนสเก็ตบอร์ด (เส้นผ่านศูนย์กลางภายนอก 22 มม. เส้นผ่านศูนย์กลางภายใน 8 มม.) สำหรับแกนหมุน
  • แบริ่ง 1x 15 มม. สำหรับด้านคนขี้เกียจ
  • สลักเกลียว m4 ยาว 1x4 ซม. พร้อมน็อตล็อค m4 สำหรับติดตั้งแบริ่งคนเดินเตาะแตะกับชิ้นส่วนที่พิมพ์ 3 มิติของคนขี้เกียจ
  • เฟือง 20 ฟันที่มีเส้นผ่านศูนย์กลางภายใน 4 มม. สำหรับมอเตอร์ตัวเลื่อน รอกที่แน่นอนนั้นไม่สำคัญนักเนื่องจากมอเตอร์กระแสตรงของคุณควรได้รับการปรับให้เข้ากับแรงบิดที่เพียงพอ เพียงให้แน่ใจว่าเป็นสนามเดียวกันกับเข็มขัดของคุณ
  • เข็มขัด GT2 ยาว 2 เมตร คุณสามารถใช้เข็มขัดชนิดใดก็ได้อีกครั้งตราบเท่าที่มันตรงกับระดับฟันรอกของคุณ

อิเล็กทรอนิกส์

  • 2 * มอเตอร์ DC แบบมีเกียร์พร้อมตัวเข้ารหัส (ตัวหนึ่งควบคุมการเคลื่อนที่ด้านข้าง ในขณะที่อีกตัวควบคุมแกนหมุน) นี่คือสิ่งที่ฉันใช้ เพิ่มเติมเกี่ยวกับเรื่องนี้ในส่วนอิเล็กทรอนิกส์ของคู่มือ
  • ตัวควบคุมมอเตอร์ DC RoboClaw (ฉันใช้คอนโทรลเลอร์ 15Amp คู่เพราะอนุญาตให้ฉันควบคุมมอเตอร์ทั้งสองด้วยคอนโทรลเลอร์เดียว)
  • Arduino ใด ๆ ฉันใช้ Arduino UNO
  • แบตเตอรี่/ แหล่งพลังงาน (ฉันใช้แบตเตอรี่ LiPo 7.4V 2 เซลล์)
  • หน้าจอ (สำหรับแสดงเมนู หน้าจอที่รองรับ U8G ไหนๆ ก็ใช้งานได้ ผมใช้หน้าจอ OLED 1.3 นิ้วนี้)
  • ตัวเข้ารหัส Rotatry (สำหรับการนำทางและกำหนดค่าตัวเลือกในเมนู)
  • ปุ่มกดแบบกายภาพ (สำหรับกระตุ้นการเคลื่อนไหวของตัวเลื่อน)

ขั้นตอนที่ 1: การออกแบบฮาร์ดแวร์ + บิลด์ + การพิมพ์ 3 มิติ

อิเล็กทรอนิกส์
อิเล็กทรอนิกส์

ต่อไปเรามาดูอุปกรณ์อิเล็กทรอนิกส์กัน อุปกรณ์อิเล็กทรอนิกส์เป็นที่ที่โครงการนี้มีความยืดหยุ่นมาก

เริ่มต้นด้วยแกนหลักของโครงการนี้ - มอเตอร์ DC แบบมีแปรง 2 ตัว

ฉันเลือกมอเตอร์กระแสตรงแบบมีแปรงถ่านด้วยเหตุผลบางประการ

  1. มอเตอร์แบบมีแปรงถ่านจะต่อสายและใช้งานได้ง่ายกว่ามากเมื่อเทียบกับสเต็ปเปอร์มอเตอร์
  2. มอเตอร์ DC แบบมีแปรงจะเบากว่ามอเตอร์ DC มาก ซึ่งมีความสำคัญเป็นพิเศษสำหรับมอเตอร์แกนหมุน เนื่องจากมอเตอร์นั้นเคลื่อนที่ไปทางด้านข้างกับกล้องและทำให้เบาที่สุดเท่าที่จะเป็นไปได้เป็นสิ่งสำคัญในการป้องกันมอเตอร์ตัวเลื่อนของกล้องหลักที่รับภาระมากเกินไป

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

สิ่งนี้นำเราไปสู่ตัวควบคุมการเคลื่อนไหว RoboClaw ตัวควบคุมมอเตอร์ DC แบบคู่ของ Roboclaw motor ใช้คำสั่งง่ายๆ จาก Arduino ของคุณผ่านคำสั่งโค้ดง่ายๆ และทำการประมวลผลหนักๆ และการจ่ายพลังงานทั้งหมดเพื่อให้มอเตอร์ของคุณทำงานได้ตามที่ตั้งใจไว้ Arduino สามารถส่งสัญญาณไปยัง Roboclaw ผ่าน PWM, แรงดันอนาล็อก, อนุกรมอย่างง่ายหรืออนุกรมแพ็คเก็ต แพ็คเก็ตซีเรียลเป็นวิธีที่ดีที่สุด เนื่องจากช่วยให้คุณได้รับข้อมูลกลับมาจาก Roboclaw ซึ่งจำเป็นสำหรับการติดตามตำแหน่ง ฉันจะเจาะลึกลงไปในส่วนซอฟต์แวร์/การเขียนโปรแกรมของ Roboclaw ในขั้นตอนต่อไป (การเขียนโปรแกรม)

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

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

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

ขั้นตอนที่ 3: ตั้งโปรแกรมตัวเลื่อนกล้อง

ตั้งโปรแกรมตัวเลื่อนกล้อง
ตั้งโปรแกรมตัวเลื่อนกล้อง
ตั้งโปรแกรมตัวเลื่อนกล้อง
ตั้งโปรแกรมตัวเลื่อนกล้อง

การเข้ารหัสเป็นความท้าทายที่ยากที่สุดของโครงการนี้ คุณเห็นไหมว่าตั้งแต่เริ่มต้น ฉันต้องการให้ตัวเลื่อนควบคุมได้จากหน้าจอ ในการทำให้โปรเจ็กต์นี้เข้ากันได้กับหน้าจอต่างๆ ให้ได้มากที่สุด ฉันต้องใช้ U8Glib Library สำหรับ Arduino ห้องสมุดนี้รองรับมากกว่า 32 หน้าจอ อย่างไรก็ตาม ไลบรารี่ U8Glib ใช้วงแหวนรูปภาพเพื่อวาดเมนูบนหน้าจอ ซึ่งขัดแย้งกับความสามารถของ Arduino ในการรวบรวมข้อมูลเกี่ยวกับตำแหน่งของกล้องไปพร้อม ๆ กัน ซึ่งจำเป็นสำหรับฟังก์ชันการคำนวณมุมกล้อง). U8Glib2 มีทางเลือกอื่นแทนการวนรอบรูปภาพโดยใช้สิ่งที่เรียกว่าตัวเลือกบัฟเฟอร์แบบเต็มหน้า แต่ไลบรารี่ใช้หน่วยความจำมากเกินไป และทำให้ยากที่จะใส่โค้ดที่เหลือให้พอดีกับข้อจำกัดด้านหน่วยความจำของ Arduino Uno ซึ่งหมายความว่าฉันติดอยู่กับ U8G และต้องแก้ไขปัญหาด้วยการป้องกันไม่ให้หน้าจออัปเดตทุกครั้งที่ตัวเลื่อนเคลื่อนที่และ Arduino จำเป็นต้องรวบรวมข้อมูลตำแหน่งจาก Roboclaw ฉันยังถูกบังคับให้ทริกเกอร์ตัวเลื่อนเพื่อเริ่มเคลื่อนออกจากลูปเมนูเมื่อเข้าสู่เมนูย่อย ฉันจะอยู่ในลูปรูปภาพ และตัวเลื่อนจะไม่ทำงานตามที่ตั้งใจไว้ ฉันยังหลีกเลี่ยงปัญหานี้ด้วยการให้ปุ่มทางกายภาพแยกต่างหากเรียกการเคลื่อนไหวของตัวเลื่อน

ต่อไป เรามาพูดถึงองค์ประกอบการติดตามการหมุนกัน ส่วนนี้ดูเหมือนจะซับซ้อนมากในการผสานรวม แต่จริงๆ แล้วค่อนข้างง่าย การใช้งานนี้อยู่ภายใต้ฟังก์ชัน 'motor()' ภายในโค้ด Arduino ของฉัน ขั้นตอนแรกคือสร้างตาราง 2 มิติและตัดสินใจว่าจะวางวัตถุที่คุณต้องการติดตามไว้ที่ใด จากนั้นคุณสามารถวาดรูปสามเหลี่ยมไปยังตำแหน่งปัจจุบันของคุณได้ คุณสามารถรับตำแหน่งปัจจุบันของคุณจากค่าตัวเข้ารหัสของมอเตอร์ หากคุณต้องการกำหนดค่าตำแหน่งของวัตถุที่กำลังติดตามเป็นซม./มม. คุณจะต้องแปลค่าตัวเข้ารหัสของคุณเป็นค่าซม./มม. สามารถทำได้โดยเลื่อนตัวเลื่อนกล้อง 1 ซม. และวัดค่าที่เพิ่มขึ้นของตัวเข้ารหัส คุณสามารถป้อนค่านี้ที่ด้านบนของโค้ดภายใต้ตัวแปร encoder_mm

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

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

รหัส Arduino เพื่อย้าย Roboclaw ไปยังตำแหน่งที่แน่นอนมีดังนี้:

roboclaw. SpeedAccelDeccelPositionM1(ที่อยู่, 'ความเร็ว', 'การเร่งความเร็ว', 'การชะลอตัว', 'ตำแหน่งที่คุณต้องการไป', 1);

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

RoboClaw ยังให้ความสามารถในการปรับแต่งปัจจัยอื่นๆ เช่น การเร่งความเร็ว การชะลอตัว และค่า PID สิ่งนี้ยังช่วยให้ฉันสามารถเคลื่อนที่แกนหมุนได้อย่างราบรื่น โดยเฉพาะอย่างยิ่งเมื่อมุมเปลี่ยนแปลงเพียงเล็กน้อยและเพิ่มการกระตุกโดยไม่มีค่า PID 'D' สูง คุณยังสามารถปรับแต่งค่า PID ของคุณโดยอัตโนมัติผ่านแอปเดสก์ท็อปของ Roboclaw

ขั้นตอนที่ 4: การใช้งานตัวเลื่อนกล้อง

การใช้งานตัวเลื่อนกล้อง
การใช้งานตัวเลื่อนกล้อง

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

ตรวจสอบให้แน่ใจว่าเมื่อคุณใช้ตัวเลื่อนกล้องเสร็จแล้ว กล้องจะอยู่ที่ตำแหน่ง 'บ้าน': ด้านข้างของแถบเลื่อนที่เริ่มทำงาน เหตุผลก็คือตัวเข้ารหัสของมอเตอร์ไม่ใช่ตัวเข้ารหัสแบบสัมบูรณ์ หมายความว่า Roboclaw/Arduino ไม่สามารถบอกได้ว่าตัวเข้ารหัสอยู่ที่ไหน พวกเขาสามารถบอกได้เพียงว่าตัวเข้ารหัสเปลี่ยนแปลงไปมากเพียงใดตั้งแต่เปิดเครื่องครั้งล่าสุด ซึ่งหมายความว่าเมื่อคุณปิดตัวเลื่อนกล้อง ตัวเลื่อนจะ 'ลืม' ตำแหน่งตัวเลื่อนและรีเซ็ตตัวเข้ารหัสเป็น 0 ดังนั้น หากคุณปิดตัวเลื่อนจากอีกด้านหนึ่ง เมื่อคุณเปิดเครื่อง ตัวเลื่อนจะ พยายามขยับให้ไกลกว่าขอบแล้วชนเข้ากับผนังตัวเลื่อน พฤติกรรมของตัวเข้ารหัสนี้เป็นสาเหตุที่ทำให้กล้องรีเซ็ตมุมการหมุนหลังจากเลื่อนกล้องทุกครั้ง แกนหมุนยังป้องกันตัวเองจากการชนจนสุดระยะการเคลื่อนที่

คุณสามารถแก้ไขได้โดยเพิ่ม end-stop และขั้นตอน homing เมื่อคุณบูตเครื่อง นี่คือสิ่งที่เครื่องพิมพ์ 3 มิติใช้

ขั้นตอนที่ 5: ความคิดสุดท้าย + การปรับปรุงในอนาคต

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

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

สุดท้ายนี้ หากฉันสร้างเวอร์ชัน 2.0 ต่อไปนี้คือการปรับปรุงบางอย่างที่ฉันจะทำ

  1. อัตราทดเกียร์สูงขึ้นสำหรับมอเตอร์แกนหมุน อัตราทดเกียร์ที่สูงขึ้นหมายความว่าฉันสามารถเคลื่อนที่เล็กๆ ได้แม่นยำยิ่งขึ้น นี่เป็นสิ่งสำคัญอย่างยิ่งเมื่อกล้องอยู่ห่างจากวัตถุของคุณและมุมกล้องของคุณเปลี่ยนแปลงช้ามาก ปัจจุบัน มอเตอร์ของฉันไม่ได้ตั้งเกียร์ไว้สูงเกินไป และอาจส่งผลให้มีการเคลื่อนไหวกระตุกเล็กน้อยเมื่อตัวเลื่อนกล้องทำงานช้าเกินไปหรือเมื่อมีการเปลี่ยนแปลงมุมการหมุนเพียงเล็กน้อย การเพิ่มค่า PID 'D' ที่สูงช่วยให้ฉันกำจัดสิ่งนี้ได้ แต่มีต้นทุนความแม่นยำในการติดตามวัตถุที่ต่ำกว่าเล็กน้อย
  2. ความยาวโมดูลาร์ นี่เป็นเป้าหมายที่ยาก แต่ฉันชอบให้ตัวเลื่อนกล้องมีความยาวแบบแยกส่วน ซึ่งหมายความว่าคุณสามารถแนบแทร็กที่ยาวกว่าเพื่อให้กล้องเลื่อนไปมาได้อย่างง่ายดาย สิ่งนี้ค่อนข้างยากเนื่องจากจะต้องจัดแนวทั้งสองอย่างสมบูรณ์แบบและค้นหาวิธีการทำงานของระบบสายพาน อย่างไรก็ตาม มันจะเป็นการอัพเกรดที่ยอดเยี่ยม!
  3. การเคลื่อนไหวแบบกำหนดเอง คีย์เฟรม ฉันอยากจะแนะนำแนวคิดของการเคลื่อนไหวคีย์เฟรมในแถบเลื่อนกล้องนี้ คีย์เฟรมเป็นเทคนิคที่ใช้กันทั่วไปในการผลิตวิดีโอและเสียง มันจะเปิดใช้งานการเคลื่อนไหวของกล้องที่ไม่เป็นเชิงเส้น โดยที่กล้องไปที่ตำแหน่ง รอ จากนั้นย้ายไปยังตำแหน่งอื่นด้วยความเร็วที่ต่างกัน รอ จากนั้นไปที่ตำแหน่งที่สาม ฯลฯ
  4. บลูทูธ/การควบคุมโทรศัพท์ไร้สาย คงจะดีมากถ้าสามารถกำหนดค่าพารามิเตอร์ของตัวเลื่อนกล้องแบบไร้สายและสามารถปรับใช้ตัวเลื่อนกล้องในตำแหน่งที่เข้าถึงได้ยาก แอพโทรศัพท์ยังสามารถเปิดโอกาสในการรวมคีย์เฟรมตามที่กล่าวไว้ในย่อหน้าสุดท้าย

เพียงเท่านี้สำหรับบทช่วยสอนนี้ อย่าลังเลที่จะถามคำถามใด ๆ ในส่วนความคิดเห็นด้านล่าง

สำหรับเนื้อหาและบทช่วยสอนอิเล็กทรอนิกส์เพิ่มเติม คุณสามารถดูช่อง YouTube ของฉันได้ที่นี่

แนะนำ: