สารบัญ:
- ขั้นตอนที่ 1: หลักการทำงาน:
- ขั้นตอนที่ 2: บอร์ดของ Motion Controller
- ขั้นตอนที่ 3: รหัส Arduino
- ขั้นตอนที่ 4: รหัส Arduino 1 - ตำแหน่งหน้าแรกของราง
- ขั้นตอนที่ 5: Arduino Code 2 - ปุ่มกดแบบ Dual Function
- ขั้นตอนที่ 6: รหัส Arduino 3 – โหมดทาส
- ขั้นตอนที่ 7: รหัส Arduino 4 – Quad Ramping
- ขั้นตอนที่ 8: รหัส Arduino 5 – การผสานรวมกับ LRTimelapse Pro-Timer
- ขั้นตอนที่ 9: Arduino Code 6 – ตัวแปรและค่าของการตั้งค่า
- ขั้นตอนที่ 10: คำสองสามคำเกี่ยวกับรถไฟ
วีดีโอ: Motion Control Slider สำหรับ Time Lapse Rail: 10 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
คำแนะนำนี้จะอธิบายวิธีสร้างมอเตอร์ไทม์แลปส์โดยใช้สเต็ปมอเตอร์ที่ขับเคลื่อนโดย Arduino เราจะเน้นที่ Motion Controller เป็นหลักซึ่งขับเคลื่อนสเต็ปมอเตอร์ สมมติว่าคุณมีรางที่ต้องการใช้มอเตอร์อยู่แล้ว
ตัวอย่างเช่น เมื่อทำการรื้อเครื่องจักร ฉันพบรางสองรางที่สามารถแปลงเป็นรางไทม์แลปส์ได้ รางหนึ่งใช้สายพานเพื่อขับเคลื่อนตัวเลื่อนและอีกรางหนึ่งใช้สกรู รูปภาพในคำแนะนำนี้แสดงรางที่ขับเคลื่อนด้วยสกรู แต่หลักการเดียวกันนี้ใช้กับรางที่ขับเคลื่อนด้วยสายพาน มีเพียงไม่กี่พารามิเตอร์ที่ต้องเปลี่ยนระหว่างการทดสอบเดินเครื่อง
ขั้นตอนที่ 1: หลักการทำงาน:
สำหรับการถ่ายภาพเหลื่อมเวลา ฉันใช้ Intervalometer ที่เรียกว่า LRTimelapse Pro-Timer ซึ่งออกแบบโดย Gunther Wegner นี่คือโอเพ่นซอร์ส Intervalometer คุณภาพสูงสำหรับช่างภาพไทม์แลปส์ มาโคร และแอสโทร ที่คุณสามารถสร้างได้ด้วยตัวเอง กุนเธอร์ ขอขอบคุณสำหรับเครื่องมือที่ยอดเยี่ยมนี้ที่คุณทำให้ชุมชนไทม์แลปส์ใช้งานได้ (สำหรับข้อมูลเพิ่มเติม โปรดดูที่ lrtimelapse-pro-timer-free)
ฉันเพิ่งเพิ่มรหัสเพื่อควบคุมสเต็ปเปอร์มอเตอร์
หลักการทำงาน: Time Lapse Rail ทำงานในโหมด Slave วิธีนี้ค่อนข้างน่าเชื่อถือ หมายความว่าฉันกำลังใช้ LRTimelapse Pro-Timer Intervalometer เพื่อตั้งค่าจำนวนช็อตและช่วงเวลาระหว่างช็อต เครื่องวัดระยะห่างจะส่งสัญญาณไปที่กล้องเพื่อลั่นชัตเตอร์ หลังจากถ่ายภาพแล้ว กล้องจะส่งสัญญาณกลับไปที่ตัวควบคุมการเคลื่อนไหวเพื่อเลื่อนแถบเลื่อนของรางในลำดับการย้าย/ถ่าย/เคลื่อนที่ สัญญาณเพื่อเริ่มซีเควนซ์มาจากแฟลชฮอทชูของกล้อง แฟลชของกล้องถูกตั้งค่าเป็น Rear-curtain Synchro ดังนั้นสัญญาณจะถูกส่งไปยังตัวควบคุมการเคลื่อนไหวเมื่อม่านของกล้องปิดลง ซึ่งหมายความว่าตัวเลื่อนจะเคลื่อนที่เมื่อปิดชัตเตอร์เท่านั้น ดังนั้นจะทำงานโดยไม่คำนึงถึงความยาวของการเปิดรับแสง
วัสดุ: ต้องใช้สายเคเบิลสองเส้นจากตัวควบคุมการเคลื่อนไหวไปยังกล้อง (เฉพาะรุ่นของกล้อง) 1) สายเคเบิลลั่นชัตเตอร์ของกล้องพร้อมแจ็ค 2.5 มม. และ 2) อะแดปเตอร์เสียบปลั๊กร้อนพร้อมสายเสียบแฟลช PC Sync แบบเสียบกับตัวผู้พร้อมสาย 3.5 มม. แจ็ค
ขั้นตอนที่ 2: บอร์ดของ Motion Controller
ฮาร์ดแวร์: การเคลื่อนที่ของตัวเลื่อนใช้สกรูที่เชื่อมต่อกับ NEMA 17 Stepper motor สเต็ปเปอร์มอเตอร์ขับเคลื่อนโดย EasyDriver ที่ควบคุมโดย Arduino UNO ในการใช้คอนโทรลเลอร์กับพาวเวอร์แบงค์อื่น (ตั้งแต่ 9v ถึง 30v) ฉันได้เพิ่มโมดูลแหล่งจ่ายไฟที่เข้ากันได้กับ LM2596 DC-DC Arduino เพื่อปรับแรงดันไฟฟ้า ดู “Arduino Wiring. PDF” ที่แนบมาด้วย
สายเคเบิลลั่นชัตเตอร์ของกล้องถูกเสียบเข้ากับคอนโทรลเลอร์โดยใช้แจ็ค 2.5 มม. แจ็คต่อสายตามแผนผังที่พบใน ลั่นชัตเตอร์. PDF” ที่แนบมา สายเคเบิลของ Hot Shoe Adapter เสียบเข้ากับคอนโทรลเลอร์โดยใช้แจ็ค 3.5 มม. การมี 2 ขนาดที่แตกต่างกันจะช่วยหลีกเลี่ยงการเสียบสายเคเบิลเข้ากับพอร์ตที่ไม่ถูกต้อง
ขั้นตอนที่ 3: รหัส Arduino
ก่อนการเข้ารหัส คุณควรแยกความแตกต่างระหว่างการกระทำต่างๆ ที่คุณต้องการทำให้สำเร็จ Arduino อนุญาตให้ใช้สิ่งที่เรียกว่าเป็นโมฆะ โมฆะเป็นส่วนหนึ่งของโปรแกรม (บรรทัดของรหัส) ที่สามารถเรียกได้ตลอดเวลาตามความจำเป็น ดังนั้น การดำเนินการแต่ละอย่างบนช่องว่างที่แยกจากกันทำให้โค้ดมีการจัดระเบียบและทำให้การเข้ารหัสง่ายขึ้น
Sketch Logics.pdf ที่แนบมาแสดงการกระทำที่ฉันต้องการบรรลุและตรรกะที่อยู่เบื้องหลัง
ขั้นตอนที่ 4: รหัส Arduino 1 - ตำแหน่งหน้าแรกของราง
โมฆะแรกใช้เพื่อส่งรางไปยังตำแหน่งโฮมเมื่อสตาร์ทคอนโทรลเลอร์
ตัวควบคุมมีสวิตช์สลับทิศทาง เมื่อสตาร์ทเครื่อง ตัวเลื่อนจะเคลื่อนที่ไปในทิศทางที่เลือกโดยปุ่มสลับ จนกว่าจะถึงสวิตช์จำกัดที่ส่วนท้ายของราง จากนั้นจะเคลื่อนกลับตามระยะทางที่ผู้ใช้กำหนด (นี่คือ 0 หรือค่าที่ตรงกับปลายด้านตรงข้ามของราง) นี่คือตำแหน่งเริ่มต้นสำหรับตัวเลื่อน
โมฆะนี้ได้รับการทดสอบโดยใช้รหัสที่พบในไฟล์แนบที่เรียกว่า BB_Stepper_Rail_ini.txt
ขั้นตอนที่ 5: Arduino Code 2 - ปุ่มกดแบบ Dual Function
โมฆะที่สองใช้เพื่อเลื่อนตัวเลื่อนด้วยตนเอง สิ่งนี้มีประโยชน์เมื่อคุณตั้งค่ากล้องของคุณโดยให้ครอบคลุมก่อนที่จะเริ่มลำดับไทม์แลปส์
ตัวควบคุมมีปุ่มกดที่มีสองฟังก์ชัน: 1) กดสั้นๆ (น้อยกว่าหนึ่งวินาที) เลื่อนตัวเลื่อนตามจำนวนที่ผู้ใช้กำหนด 2) กดยาว (มากกว่าหนึ่งวินาที) เลื่อนตัวเลื่อนไปที่ตรงกลางหรือปลายราง ทั้งสองฟังก์ชันจะส่งตัวเลื่อนไปในทิศทางที่เลือกโดยสวิตช์สลับ
โมฆะนี้ได้รับการทดสอบโดยใช้รหัสที่พบในไฟล์แนบที่เรียกว่า BB_Dual-function-push-button.txt
ขั้นตอนที่ 6: รหัส Arduino 3 – โหมดทาส
ช่องว่างที่สามใช้เพื่อเลื่อนตัวเลื่อนตามจำนวนที่กำหนดหลังจากการยิงแต่ละครั้ง แฟลชกล้องต้องตั้งค่าเป็น "ม่านหลัง" ในตอนท้ายของการถ่ายภาพ สัญญาณแฟลชจะถูกส่งจากแฟลชฮอทชูไปยังคอนโทรลเลอร์ สิ่งนี้จะเริ่มต้นลำดับและเลื่อนตัวเลื่อนตามจำนวนที่กำหนด ระยะทางสำหรับการเคลื่อนไหวแต่ละครั้งคำนวณโดยการหารความยาวของรางด้วยจำนวนช็อตที่เลือกใน LRTimelapse Pro-Timer อย่างไรก็ตาม ระยะสูงสุดสามารถกำหนดได้เพื่อหลีกเลี่ยงการเคลื่อนไหวอย่างรวดเร็วเมื่อจำนวนช็อตต่ำ
โมฆะนี้ได้รับการทดสอบโดยใช้รหัสที่พบในไฟล์แนบที่เรียกว่า Slave mode.txt
ขั้นตอนที่ 7: รหัส Arduino 4 – Quad Ramping
โมฆะที่สี่เป็นตัวเลือกที่เพิ่มเข้ามาเพื่อการผ่อนคลายที่ราบรื่นยิ่งขึ้น หมายความว่าระยะทางของการเคลื่อนไหวแต่ละครั้งจะค่อยๆเพิ่มขึ้นตามค่าที่ตั้งไว้และเมื่อสิ้นสุดรางจะลดลงในลักษณะเดียวกัน ส่งผลให้เมื่อดูลำดับเหลื่อมเวลาสุดท้าย การเคลื่อนไหวของกล้องจะเร็วขึ้นที่จุดเริ่มต้นของรางและช้าลงที่ปลายราง เส้นโค้งการเร่งความเร็ว Quad ทั่วไปจะแสดงในรูปภาพที่แนบมา (การค่อยๆ เข้าและออก) สามารถกำหนดระยะห่างของทางลาดได้
ฉันทดสอบอัลกอริธึมใน Excel และได้ตั้งค่าเส้นโค้งการเร่งความเร็วและการชะลอตัวตามภาพที่แนบมา โมฆะนี้ได้รับการทดสอบโดยใช้รหัสที่พบในไฟล์แนบที่เรียกว่า BB_Stepper_Quad-Ramping-calculation.txt
หมายเหตุ: ไม่ควรใช้การไล่ระดับแบบสี่เลนกับการไล่ระดับแสงแบบ Bulb โดยที่ความยาวการเปิดรับแสงเปลี่ยนไปหรือการเพิ่มช่วงห่างระหว่างช่วงภาพที่เปลี่ยน
ขั้นตอนที่ 8: รหัส Arduino 5 – การผสานรวมกับ LRTimelapse Pro-Timer
LRTimelapse Pro-Timer เป็น Open Source DIY Intervalometer ฟรีสำหรับช่างภาพไทม์แลปส์ มาโคร และแอสโตร ซึ่ง Gunther Wegner เปิดให้ชุมชนช่างภาพไทม์แลปส์ใช้งานได้ หลังจากสร้างยูนิตสำหรับกล้องของฉันแล้ว ฉันพบว่ามันดีมากจนฉันเริ่มคิดว่าจะขับรถรางอย่างไร LRTimelapse Pro-Timer 091_Logics.pdf ที่แนบมานี้เป็นคู่มือสั้นๆ ที่แสดงวิธีการไปยังส่วนต่างๆ ของโปรแกรม
BB_Timelapse_Arduino-code.pdf ที่แนบมาแสดงโครงสร้างของ LRTimelapse Pro-Timer Free 0.91 และเส้นสีเขียวของโค้ดที่ฉันเพิ่มเพื่อใช้งานตัวเลื่อน
BB_LRTimelapse_091_VIS.zip มีโค้ด Arduino หากคุณต้องการลองใช้
เอกสาร BB_LRTimer_Modif-Only.txt ที่แนบมาแสดงรายการส่วนเพิ่มเติมที่ฉันทำกับ Pro-Timer ทำให้ง่ายต่อการรวมเข้ากับ Pro-Timer เวอร์ชันใหม่เมื่อ Gunther เปิดให้ใช้งาน
ขั้นตอนที่ 9: Arduino Code 6 – ตัวแปรและค่าของการตั้งค่า
ระยะพิทช์ของสกรูอาจแตกต่างกันไป หรือหากใช้สายพาน ระยะพิทช์ของสายพานและจำนวนฟันบนรอกก็อาจแตกต่างกันเช่นกัน นอกจากนี้ จำนวนขั้นต่อการหมุนของสเต็ปเปอร์มอเตอร์และความยาวของรางอาจแตกต่างกัน ส่งผลให้จำนวนขั้นในการข้ามความยาวของรางเปลี่ยนจากรางหนึ่งไปอีกรางหนึ่ง
ในการปรับคอนโทรลเลอร์ให้เข้ากับรางต่างๆ ตัวแปรบางตัวสามารถปรับได้ในโปรแกรม:
- คำนวณจำนวนขั้นที่สอดคล้องกับความยาวของรางระหว่างลิมิตสวิตช์ ป้อนค่าในตัวแปร: endPos แบบยาว (เช่น ค่านี้คือ 126000 สำหรับรางที่ขับเคลื่อนด้วยสกรูที่แสดงในคำแนะนำนี้)
- ในการดูองค์ประกอบเฟรมที่จุดเริ่มต้น ตรงกลาง และจุดสิ้นสุดของรางเมื่อใช้เอฟเฟกต์การขยาย ฉันใช้ตัวเลือกการกดแบบยาวกับปุ่มกด ป้อนจำนวนขั้นตอนที่ตรงกับตรงกลางของรางในตัวแปร: midPos แบบยาว (เช่น ค่านี้คือ 63000 สำหรับรางที่ขับเคลื่อนด้วยสกรูที่แสดงในคำแนะนำนี้)
- ใน LRTimelapse Pro-Timer คุณต้องป้อนจำนวนภาพที่คุณต้องการถ่าย โปรแกรมแบ่งความยาวของรางด้วยตัวเลขนี้ หากคุณถ่ายภาพ 400 ภาพและรางของคุณคือ 1 เมตร การเคลื่อนไหวของตัวเลื่อนแต่ละตัวจะเท่ากับ 1,000:400= 2.5 มม. สำหรับ 100 ภาพ ค่าจะเป็น 10 มม. นี่มากเกินไปสำหรับการย้ายครั้งเดียว ดังนั้นคุณอาจตัดสินใจที่จะไม่ใช้รางของคุณเต็มความยาว ป้อนการเคลื่อนไหวสูงสุดที่อนุญาตในตัวแปร: const int maxLength (เช่น ค่านี้คือ 500 สำหรับรางที่ขับเคลื่อนด้วยสกรูที่แสดงในคำแนะนำนี้)
- เมื่อกดปุ่มน้อยกว่าหนึ่งวินาที มันจะเลื่อนตัวเลื่อนตามระยะทางที่กำหนดซึ่งสามารถตั้งค่าได้ในตัวแปร: int inchMoveval (เช่น ค่านี้คือ 400 สำหรับรางที่ขับเคลื่อนด้วยสกรูที่แสดงในคำแนะนำนี้)
- Quad Ramping ช่วยให้เข้าและออกได้อย่างราบรื่น คุณสามารถเลือกได้ว่าทางลาดจะอยู่ที่จุดเริ่มต้นและจุดสิ้นสุดของรางเท่าใด ค่านี้ป้อนเป็นเปอร์เซ็นต์ของความยาวของรางในตัวแปร: อัตราส่วนลอย (เช่น 0.2 = 20% ของความยาวของราง)
ขั้นตอนที่ 10: คำสองสามคำเกี่ยวกับรถไฟ
รางมีความยาวหนึ่งเมตร มันทำจากตัวเลื่อนแบริ่งเชิงเส้นโหลดหนักที่ยึดติดกับแถบการอัดรีดอลูมิเนียมแบบ slotted ฉันซื้อแถบอัดรีดและอุปกรณ์เสริมจาก RS.com (ดูรูปที่แนบ rs items.jpg) รางมีสี่ขา แต่ยังสามารถติดตั้งบนขาตั้งกล้องได้ด้วยสกรูมาตรฐาน
Spanning: หัวบอลของขาตั้งกล้อง (ตามภาพที่แนบ) ติดตั้งอยู่บนตัวเลื่อน แขนเล็ก ๆ เชื่อมต่อหัวกับสกรู หากคุณเลื่อนสกรูออกจากรางด้านหนึ่ง คุณจะได้มุมระหว่างสกรูกับราง เมื่อตัวเลื่อนเคลื่อนไปตามรางจะทำให้เกิดการหมุนของหัวบอล หากคุณไม่ต้องการคลี่คลายสกรูให้ขนานกับราง
คอนโทรลเลอร์ติดตั้งอยู่บนตัวเลื่อน ฉันเลือกตัวเลือกนั้น - แทนที่จะใช้ตัวควบคุมที่ปลายด้านหนึ่งของราง - เพื่อหลีกเลี่ยงไม่ให้สายเคเบิลหลายเส้นวิ่งไปตามราง ฉันมีสายเคเบิลเพียงเส้นเดียวระหว่างพาวเวอร์แบงค์กับคอนโทรลเลอร์ สายเคเบิลอื่นๆ ทั้งหมด ไปที่สเต็ปมอเตอร์ ลิมิตสวิตช์ สายชัตเตอร์ไปยังกล้อง และสายซิงโครจากกล้องทั้งหมดจะเคลื่อนที่พร้อมกับคอนโทรลเลอร์
สกรูกับเข็มขัด: สำหรับการถ่ายภาพเหลื่อมทั้งสองแบบทำงานได้ดี สายพานช่วยให้เคลื่อนที่ได้เร็วกว่าเมื่อเทียบกับสกรู ซึ่งอาจเป็นประโยชน์ในกรณีที่คุณต้องการเปลี่ยนรางให้กลายเป็นตัวเลื่อนวิดีโอ ข้อดีอย่างหนึ่งของการออกแบบสกรูคือ เมื่อคุณวางรางในแนวตั้งหรือทำมุม ในกรณีที่ไฟฟ้าดับ ตัวเลื่อนจะอยู่นิ่งและจะไม่ตก ฉันขอแนะนำอย่างยิ่งให้ระมัดระวังเมื่อคุณทำสิ่งเดียวกันกับรางที่ขับเคลื่อนด้วยสายพาน ในกรณีที่ไฟดับหรือหากพลังงานหมด กล้องจะเลื่อนลงไปที่ด้านล่างของรางโดยยอมรับความเสี่ยงเอง!
แนะนำ:
กันน้ำ Raspberry Pi Powered Wifi DSLR Webcam สำหรับ Time Lapses: 3 ขั้นตอน (พร้อมรูปภาพ)
กันน้ำ Raspberry Pi Powered Wifi DSLR Webcam สำหรับ Time Lapses: ฉันเป็นคนดูดเพื่อดูพระอาทิตย์ตกจากที่บ้าน มากเสียจนฉันได้รับ FOMO เล็กน้อยเมื่อพระอาทิตย์ตกดินและฉันไม่ได้อยู่บ้านเพื่อดู เว็บแคม IP ให้คุณภาพของภาพที่น่าผิดหวัง ฉันเริ่มมองหาวิธีนำกล้อง DSLR ตัวแรกกลับมาใช้ใหม่: Cano
Flipperkonsole สำหรับ PC Flipper / Pinball Console สำหรับ PC Pinballs: 9 ขั้นตอน
Flipperkonsole สำหรับ PC Flipper / Pinball Console สำหรับ PC Pinballs: ใช้งานได้กับ USB พื้นฐาน เกมสำหรับ PC-Flipperkästen Die Spannungsversorgung erfolgt über das USB Kabel. Implementiert sind die beiden Flipper Buttons และ ein Startbutton Zusätzlich ist ein stossen von unten, von links และ von rechts implem
3ft DIY Actobotics Slider สำหรับ EMotimo Spectrum: ตอนที่ III: 6 ขั้นตอน (พร้อมรูปภาพ)
3ft DIY Actobotics Slider สำหรับ EMotimo Spectrum: ตอนที่ III: นี่คือส่วนที่ III ของตัวเลื่อนที่สร้างโดยที่ฉันใช้มอเตอร์ตัวเลื่อนสำหรับไทม์แลปส์และลำดับวิดีโอโดยใช้ eMotimo Spectrum ST4 รูปภาพเดียวกันบางส่วนจากขั้นตอนที่ 1 ถูกทำซ้ำที่นี่ ดังนั้นคุณจึงไม่ต้องสลับไปมาระหว่างเธรดการสร้าง
3.3V Mod สำหรับ Ultrasonic Sensors (เตรียม HC-SR04 สำหรับ 3.3V Logic บน ESP32/ESP8266, Particle Photon ฯลฯ): 4 ขั้นตอน
3.3V Mod สำหรับ Ultrasonic Sensors (เตรียม HC-SR04 สำหรับ 3.3V Logic บน ESP32/ESP8266, Particle Photon, ฯลฯ.): TL;DR: บนเซนเซอร์ ตัดร่องรอยไปที่ Echo pin จากนั้นเชื่อมต่อใหม่โดยใช้ a ตัวแบ่งแรงดันไฟฟ้า (Echo trace -> 2.7kΩ -> Echo pin -> 4.7kΩ -> GND) แก้ไข: มีการถกเถียงกันว่า ESP8266 นั้นทนทานต่อ GPIO 5V จริงหรือไม่ใน
Arduino Time Lapse Slider: 3 ขั้นตอน (พร้อมรูปภาพ)
Arduino Time Lapse Slider: ดังนั้นฉันจึงมองหาการสร้างวิดีโอไทม์แลปส์ด้วยกล้อง dslr ของฉัน และได้เห็นหลายคนใช้กลไกตัวเลื่อนเพื่อเพิ่มมิติอื่น ฉันดูที่จะซื้อหนึ่งอัน แต่มีราคาแพงเล็กน้อยที่จะซื้อเพียงเพื่อ "จุ่มนิ้วเท้าลงไปในน้ำ" ดังนั้นเ