สารบัญ:
วีดีโอ: SCISSOR DRIVER SERVO Hat: 4 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โปรเจ็กต์การพิมพ์ 3 มิติและเซอร์โวมอเตอร์แบบง่ายๆ นี้สร้างบรรยากาศที่ดีให้กับซีโมน เกิร์ตซ์ ผู้ผลิตที่ยอดเยี่ยมที่เพิ่งได้รับการผ่าตัดเอาเนื้องอกในสมองออก อุปกรณ์กรรไกรนั้นขับเคลื่อนด้วยไมโครเซอร์โวมอเตอร์และไมโครคอนโทรลเลอร์ Trinket ที่ใช้รหัส Arduino เล็กน้อย และใช้พลังงานจากก้อนแบตเตอรี่ 3xAAA โครงการนี้เป็นความร่วมมือกับ Leslie Birch!
ฉันจำลองแผ่นฐานและฐานยึดมอเตอร์โดยใช้ Tinkercad ซึ่งเป็นเครื่องมือสร้างแบบจำลอง 3 มิติที่ฟรีและใช้งานง่าย ซึ่งมีแผงส่วนประกอบอิเล็กทรอนิกส์ทั่วไปในตัว ฉันสามารถลากไมโครเซอร์โวออกมาแล้วจำลองฐานให้พอดีกับมัน และดูว่ามันจะเข้ากับกลไกกรรไกรได้อย่างไร
งูกรรไกรออกแบบโดย ricswika บน Thingiverse และง่ายต่อการนำเข้าไปใน Tinkercad และปรับเปลี่ยนที่จับและปลายกริปเปอร์ให้พอดีกับชิ้นส่วนฐานของเรา
สำหรับโครงการนี้ คุณจะต้อง:
- ไมโครเซอร์โวมอเตอร์
- หมวกโง่
- ลูกกอล์ฟพลาสติก
- ลวดเหล็กพร้อมเครื่องตัดที่เหมาะสม
- เข็มและด้ายเย็บผ้า
- กรรไกร
- Trinket 5V microntroller
- ที่ใส่แบตเตอรี่ 3xAAA
- ท่อหดความร้อน
- หัวแร้งและหัวแร้ง
- ช่วยเหลือเครื่องมือมือที่สาม
- เครื่องปอกสายไฟ
- ฟลัชใบมีดแนวทแยง
- สายเชื่อมต่อตัวเมียหรือหมุดส่วนหัวบางส่วน (สำหรับเชื่อมต่อกับขั้วต่อเซอร์โวมาตรฐาน)
- กาวร้อน
เพื่อให้ทันกับสิ่งที่ฉันทำอยู่ ติดตามฉันบน YouTube, Instagram, Twitter, Pinterest และสมัครรับจดหมายข่าวของฉัน ในฐานะที่เป็น Amazon Associate ฉันได้รับรายได้จากการซื้อที่เข้าเงื่อนไขที่คุณทำโดยใช้ลิงก์พันธมิตรของฉัน
ค้นหาวงจรนี้ใน Tinkercad
ไดอะแกรมและการจำลองแสดงไมโครคอนโทรลเลอร์ Attiny85 แบตเตอรี่และเซอร์โวของ Trinket คลิกเริ่มการจำลองเพื่อเรียกใช้โค้ดและดูการหมุนของเซอร์โว
Tinkercad Circuits เป็นโปรแกรมฟรีบนเบราว์เซอร์ที่ให้คุณสร้างและจำลองวงจรได้ เหมาะอย่างยิ่งสำหรับการเรียนรู้ การสอน และการสร้างต้นแบบ
ขั้นตอนที่ 1: โมเดล Tinkercad
ฉันอัปโหลดโมเดลงูกรรไกรพื้นฐานลงใน Tinkercad แล้วแก้ไขโดยลากรูปร่างรูออกจากแผงด้านข้างแล้วจัดรูปแบบให้ครอบคลุมที่จับแต่ละอันและกริปเปอร์ที่ส่วนท้าย จากนั้นจัดกลุ่มรูด้วยรูปร่างดั้งเดิม จากนั้นฉันก็สร้างแถบใหม่ที่ปลายฐานและรูสำหรับติดลูกกอล์ฟพลาสติกตลอดจนกับฐาน/เซอร์โว
ชิ้นส่วนฐานถูกจำลองขึ้นใหม่ทั้งหมดโดยใช้ส่วนประกอบวงจรในตัวของ Tinkercad ฉันลากไมโครเซอร์โวมอเตอร์ออกจากแผงส่วนประกอบอิเล็กทรอนิกส์และจำลองรอบๆ เพื่อสร้างอินเทอร์เฟซสำหรับยึดมอเตอร์และติดงูกรรไกร ฉันยังเจาะรูที่ฐานสำหรับเย็บติดหมวกด้วย
คุณสามารถคัดลอกการออกแบบ Tinkercad นี้และส่งออกแต่ละชิ้นเพื่อพิมพ์ด้วยตัวเอง งูกรรไกรแนวตั้งมีไว้เพื่อการสาธิต อย่าพยายามพิมพ์ส่วนที่ซ้ำกันนี้ =D
การเปิดเผยข้อมูล: ในขณะที่เขียนบทความนี้ ฉันเป็นพนักงานของ Autodesk ซึ่งทำให้ Tinkercad
ขั้นตอนที่ 2: ประกอบกลไก 3D และเซอร์โว
เราใช้ลวดเหล็กแข็งเพื่อเชื่อมด้านคงที่ของงูกรรไกรเข้ากับฐานและส่วนที่เคลื่อนที่ไปยังเซอร์โว หลังจากดัดมุมเป็นเส้นเล็กแล้ว เราใช้ลูกปัดเครื่องประดับและกาวร้อนเล็กน้อยเพื่อยึดปลายอีกด้านของ "เพลา" ของเราไว้ เซอร์โวมอเตอร์เองนั้นถูกยึดไว้ด้วยลวดเดียวกันมากกว่าและกาวร้อนเล็กน้อย เราต้องทำการทดลองกับการวางตำแหน่งของเซอร์โวฮอร์นเพื่อให้ช่วงการเคลื่อนที่ของมันทับซ้อนกับช่วงของงูกรรไกร
ขั้นตอนที่ 3: วงจรและรหัส Arduino
การเชื่อมต่อวงจรมีดังนี้:
- Trinket BAT+ สำหรับกำลังเซอร์โวมอเตอร์
- Trinket GND กับกราวด์เซอร์โวมอเตอร์
- Trinket pin #0 ถึงสัญญาณเซอร์โวมอเตอร์
- กำลังไฟของก้อนแบตเตอรี่ 3xAAA (สายสีแดง) ไปยัง Trinket BAT+ (ที่ด้านล่างของบอร์ด)
- กราวด์ก้อนแบตเตอรี่ 3xAAA (สายสีดำ) ถึง Trinket GND (ที่ด้านล่างของบอร์ด)
รหัส Arduino สำหรับโครงการนี้มาจากตัวอย่าง SoftServo ในบทช่วยสอน Trinket Servo คุณจะต้องติดตั้งไลบรารี SoftServo เพื่อใช้งาน ซึ่งคุณสามารถทำได้โดยค้นหาใน Library Manager (Sketch -> Include Libraries -> Manage Libraries…) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการติดตั้งและการใช้ไลบรารีโค้ดใน Arduino โปรดดูคลาส Instructables Arduino ฟรีของฉัน บทที่ 4
/*******************************************************************
ภาพร่าง SoftServo สำหรับ Adafruit Trinket (0 = ศูนย์องศา เต็ม = 180 องศา) ไลบรารีที่ต้องการคือไลบรารี Adafruit_SoftServo ที่ https://github.com/adafruit/Adafruit_SoftServo ไลบรารีเซอร์โว Arduino IDE มาตรฐานจะไม่ทำงานกับไมโครคอนโทรลเลอร์ AVR 8 บิต เช่น Trinket และ Gemma เนื่องจาก ความแตกต่างในฮาร์ดแวร์ตัวจับเวลาและการเขียนโปรแกรมที่มีอยู่ เราเพียงแค่รีเฟรชโดย piggy-backing บนตัวนับ timer0 millis() ฮาร์ดแวร์ที่จำเป็นรวมถึงไมโครคอนโทรลเลอร์ Adafruit Trinket เซอร์โวมอเตอร์ตามที่เขียนไว้ นี่เป็นเฉพาะสำหรับ Trinket แม้ว่าควรเป็น Gemma หรือบอร์ดอื่น ๆ (Arduino Uno ฯลฯ) อย่างเหมาะสม การแมปพิน Trinket: BAT+ Gnd Pin #0 การเชื่อมต่อ: Servo+ - Servo1 ************************************ *************************************/ #include // SoftwareServo (ทำงานบนพินที่ไม่ใช่ PWM) // เราสาธิตเซอร์โวสองตัว ! #define SERVO1PIN 0 // สายควบคุมเซอร์โว (สีส้ม) บน Trinket Pin #0 int pos = 40; // ตัวแปรเพื่อเก็บตำแหน่งเซอร์โว Adafruit_SoftServo myServo1; // สร้างการตั้งค่าโมฆะของวัตถุเซอร์โว () {// ตั้งค่าการขัดจังหวะที่จะรีเฟรชเซอร์โวให้เราโดยอัตโนมัติ OCR0A = 0xAF; // ตัวเลขใดๆ ก็ใช้ได้ TIMSK |= _BV(OCIE0A); // เปิดการขัดจังหวะการเปรียบเทียบ (ด้านล่าง!) myServo1.attach(SERVO1PIN); // แนบเซอร์โวกับพิน 0 บน Trinket myServo1.write (pos); // บอกเซอร์โวให้ไปที่ตำแหน่งต่อความล่าช้าของการเล่นโวหาร (15); // รอ 15ms เพื่อให้เซอร์โวไปถึงตำแหน่ง } void loop() { for(pos = 40; pos =40; pos-=3) // เปลี่ยนจาก 180 องศาเป็น 0 องศา { myServo1.write (pos); // บอกให้เซอร์โวไปที่ตำแหน่งในตัวแปร 'pos' delay(15); // รอ 15 มิลลิวินาทีเพื่อให้เซอร์โวไปถึงตำแหน่ง } } // เราจะใช้ประโยชน์จากตัวจับเวลามิลลิวินาที () ในตัวที่ดับไป // เพื่อติดตามเวลา และรีเฟรชเซอร์โวทุกๆ 20 มิลลิวินาที ตัวนับ uint8_t ผันผวน = 0; สัญญาณ (TIMER0_COMPA_vect) { // สิ่งนี้ถูกเรียกทุก ๆ 2 มิลลิวินาทีตัวนับ += 2; // ทุกๆ 20 มิลลิวินาที รีเฟรชเซอร์โว! ถ้า (ตัวนับ >= 20) { ตัวนับ = 0; myServo1.refresh(); } }