หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ CNC Flatbed Pen Plotter

CNC plotter ราคาประหยัดที่ควบคุมโดยตรงด้วย G-code ผ่าน CAM software ของตัวเองบน PC โปรเจกต์นี้เป็นส่วนหนึ่งของ graduation project ของฉัน

โปรเจกต์ CNC Flatbed Pen Plotter
PS

Project Supporter Team

โพสต์โดย

Igor Krymov (Contributor), Anatoliy Proshutinskiy (Contributor), Sergey Filippov (Contributor), Anton Uzlov (Contributor)
36,845 ถูกใจ

รายการอุปกรณ์และเครื่องมือ

1x M6 Metalworking Drill Tap
-
1x M5 Metal Drill Bit
-
1x Angle Grinder
-
1x Electric Drill
-
40x 20cm Male-to-Female Jumper Wire Cable 2.54mm
🛒 สั่งซื้อ
1x 5V 1.2A AC-to-DC Adapter
-
1x M3 Metalworking Drill Tap
-
1x M2 Metal Drill Bit
-
1x Universal breadboard SYB-46
🛒 สั่งซื้อ
4x M6 Coupling Nut 10 mm Long
-
4x Stepper Motor 28BYJ-48 - 5V
🛒 สั่งซื้อ
1x Cut-off Wheel
-
1x Mechanical Pencil 0.5 mm
-
4x Driver PCB based on ULN2003A
🛒 สั่งซื้อ
1x Vernier Caliper
-
1x M6 Threaded Rod
-
20x 20cm Male-to-Male Jumper Wire Cable 2.54mm
🛒 สั่งซื้อ
1x Solid (metallic or wooden) flat weight with size of 1" approx.
-

รายละเอียดและวิธีทำ

ฉันตัดสินใจที่จะสร้าง flatbed pen plotter สำหรับโปรเจกต์จบการศึกษาของฉันในเดือนตุลาคม 2016 หลังจากที่ได้ใช้เวลาคิดมาพอสมควรแล้ว

แนวคิดเบื้องหลังการสร้างนี้คือการพิมพ์ภาพวาดขนาด A4 ที่แม่นยำด้วยปากกาแทบทุกชนิด: ดินสอ, ปากกาลูกลื่น, ปากกาเมจิก และอื่นๆ

Flatbed plotter จำเป็นต้องมี linear actuators ในทั้ง 3 แกน ตอนแรกฉันคิดถึงเรื่องสายพาน (belts) แต่กลับกลายเป็นว่าพวกมันมีราคาแพงเกินไปสำหรับโปรเจกต์ของฉัน นั่นคือเหตุผลที่ฉันคิดว่าไม่มีอะไรที่จะสร้างได้เร็วกว่าและเคลื่อนที่ได้แม่นยำไปกว่า lead screw ซึ่งช่วยเน้นเรื่องความคุ้มค่าทางเศรษฐกิจในการติดตั้ง เนื่องจากตัวเลือกอย่างสายพานและเฟือง (cogs) ในภูมิภาคของเรานั้นหาได้ค่อนข้างยากกว่า

ตั้งแต่นั้นมา ฉันก็ได้เข้าใจว่า motors และ drivers ตัวไหนที่น่าซื้อมาใช้งานมากกว่ากัน นั่นคือ 28BYJ-48 และ PCB ที่ใช้ชิป ULN2003A จนได้ข้อสรุปว่าฉันต้องซื้อพวกมันมาทดสอบ และฉันยังได้เรียนรู้อีกว่าเราจำเป็นต้อง ระวังผู้ผลิตที่ไม่น่าเชื่อถือ

Power supply

ฉันไม่ค่อยชอบ switching power supply (เหมือนที่ใช้ใน PC) สักเท่าไหร่ เพราะเรื่องขนาด, น้ำหนัก และผลกระทบจากคลื่นแม่เหล็กไฟฟ้า มันเหมาะสำหรับจ่ายไฟให้สิ่งประดิษฐ์ขนาดใหญ่ แต่ไม่จำเป็นสำหรับ CNC plotter ขนาดเล็กของฉัน เมื่อสรุปกระแสสูงสุดสำหรับ motors แล้ว การใช้ portable 1 A power supply ก็เพียงพอ ดังนั้นฉันจึงสามารถเชื่อมต่อเข้ากับ Arduino’s DC jack ได้อย่างง่ายดาย เยี่ยมเลย!

ทำไมฉันถึงเลือก 28BYJ-48 - 5V?

ตัว unipolar stepper motor นี้สามารถรวมเข้ากับเครื่อง CNC ได้ง่าย โดยแรงดัน 5V นั้นใช้งานได้ดีกับ Power supply ทั่วไป

28BYJ-48 ประกอบด้วยขดลวด 4 ชุด ซึ่งควรควบคุมตามลำดับ A-AB-B-BC-C-CD-D-DA หรือในทางกลับกันสำหรับการหมุนทวนเข็มนาฬิกา โหมดการเคลื่อนที่นี้เรียกว่า half-step เพราะ Shaft จะถูกทำให้เป็นแม่เหล็กโดยใช้สองเฟสสลับกับหนึ่งเฟสต่อเนื่องกันไป

จากการหาข้อมูลช่วยให้พบว่ากระแสสูงสุดสำหรับขดลวดที่ความเร็วสูงคือ 200 mA และตอนหยุดนิ่งคือ 250 mA สมมติว่า motors ทั้ง 4 ตัวหยุดทำงานพร้อมกัน จะได้ 4 × 250 mA = 1 A ซึ่ง Power supply ทั่วไปสามารถรับมือได้สบาย คุณยังสามารถหยุดจ่ายไฟให้ motors ได้เมื่อไม่ได้ขยับพวกมัน

motors รุ่น 28BYJ-48 บางตัวมีชุดเกียร์ทด (reductor) ที่คุณภาพต่ำ เพราะอย่างที่รู้กันว่ามันคือเฟืองพลาสติก (cogs) แต่หลังจากลองหมุนดู 5 นาที ก็พบว่าตัวที่ฉันมีนั้นมีชุดเกียร์ทดที่ค่อนข้างดี โดยจำนวน steps ต่อการหมุนหนึ่งรอบที่ความเร็วคงที่นั้นทำมุมได้ 360° พอดี บางทีการใช้งานไปนานๆ หลายชั่วโมงอาจจะเผยให้เห็นธาตุแท้ของเจ้าสัตว์ประหลาดตัวนี้ก็ได้

ทำไมฉันถึงเลือก driver PCB ที่ใช้ชิป ULN2003A?

อย่างแรกเลย แล้วเรื่องการดัดแปลง (hacking) จาก unipolar เป็น bipolar 28BYJ-48 ตามที่มีคนแนะนำล่ะ โดยการตัดการเชื่อมต่อทองแดงตรงกลางที่มาจากสายไฟสีแดงใต้ฝาพลาสติก? มันไม่ใช่ไอเดียที่แย่เลย คุณจะได้รับความเร็วที่เพิ่มขึ้นอย่างมาก! แต่มันผิดไปจากวัตถุประสงค์ของ motor ตัวนี้ ซึ่งสุดท้ายแล้วจะต้อง ใช้ H-bridge ICs อย่างน้อย 3 ตัว (เช่น L293D หรือ SN754410NE) นอกจากนี้ยังมี driver สมัยใหม่อย่าง A4988 ที่มี H-bridge สำหรับ microstepping ด้วย

Board ที่กล่าวมาข้างต้นนั้นราคาไม่ได้ถูกเหมือนขนม เพราะพวกมันมีระบบ switching ที่ซับซ้อนซึ่งใช้สำหรับขับเคลื่อน 4-wire bipolar motors

ดังนั้น ฉันจึง หลีกเลี่ยง งานเหล่านั้นและเลือกที่จะคงทุกอย่างไว้ "ตามสภาพเดิม" และซื้อ PCBs ที่ใช้ ULN2003A มาแทน พวกมันราคาแค่ตัวละ $0.88 แต่คุณอาจจะเลือกใช้ H-bridges ก็ได้ ซึ่งก็น่าจะเจ๋งดีเหมือนกัน

การทดสอบ motors

ณ ตอนนี้ ฉันได้สั่งให้ motors ทำงานพร้อมกันทั้ง 2 ทิศทางแล้ว ทุก driver PCB จะแปลงสัญญาณ digital input 4 สัญญาณ ให้เป็น output แรงดันสูงและกระแสสูงสำหรับขดลวดของ motor ในการควบคุมทั้ง 3 แกน เราจะใช้ 12 digital pins บนตัว controller สิ่งที่น่าสนใจคือ Arduino Uno มี pins ทั้งหมด 14 pins แต่ 2 pins ถูกเชื่อมต่อไว้สำหรับการสื่อสารแบบ serial ดังนั้นเราจึงสามารถใช้งานได้พอดีที่ 12 pins

สำหรับ axis X เราจำเป็นต้องเคลื่อนที่แกนในจุดที่ Y เริ่มต้นและจุดที่ Y สิ้นสุดไปพร้อมๆ กันเพื่อชดเชยแรงกด ดังนั้นจึงมี 2 stepper motors สำหรับ axis X ซึ่งแต่ละตัวก็จะมี driver board แยกจากกัน

PCBs เหล่านี้ใช้สัญญาณ input เดียวกัน (จาก digital pins 2, 3, 4, 5) นั่นคือจุดที่ breadboard สามารถช่วยในการเชื่อมต่อแบบขนานได้ นอกจากนี้ Universal breadboard ยังมีประโยชน์อย่างมากสำหรับการเชื่อมต่อเข้ากับ GND และแรงดันไฟฟ้าภายนอกด้วย

ในแต่ละ Y and Z axes จะใช้ stepper motor เพียงแกนละหนึ่งตัวเท่านั้น โดย Y ใช้ digital pins 6, 7, 8, 9 และ Z ใช้ 10, 11, 12, 13 ลำดับสัญญาณ digital ทั้งหมดถูกสร้างขึ้นโดยไลบรารี AccelStepper ซึ่งตัวนี้ค่อนข้างตรงไปตรงมาในการควบคุม stepper motors และหนึ่งในคุณสมบัติที่ดีที่สุดของมันคือสามารถสร้างสัญญาณสำหรับ motors หลายตัวได้ในเวลาเดียวกัน

การติดตั้ง lead screws

ฉันคิดเรื่องการใช้ nut ตัวเมียแบบยาวเพื่อใช้เป็น threaded bushing แกน (Shaft) ของ motor มีรัศมี 5 มม. มันสามารถเข้าไปในรูเกลียว M6 และยึดไว้ด้วยสกรู (M3) ตัวเล็กๆ สองตัว ดังนั้นจงเตรียมตัวที่จะเจาะรูเกลียวเหล่านี้ในตัว nut และเมื่อยึด nut เข้ากับ shaft แล้ว เราก็จะหมุน M6 threaded rod เข้าไปในนั้น

แต่ฉันต้องหยุดไว้เพียงเท่านี้ก่อน เพราะเราจำเป็นต้องคำนึงถึงขั้นตอนการเตรียมการบางอย่าง เช่น การจัดวางตำแหน่งน้ำหนัก (ที่จะถูกเคลื่อนที่ไปตามแกน), การสร้างราง (railway) และตัวยึดอื่นๆ บนฐาน ทั้งตัวสำหรับยึด motor และตัวรองรับที่ส่วนปลาย

โปรเจกต์นี้ถูกยกเลิกแล้ว

มันถูกตั้งใจให้เป็นแรงบันดาลใจสำหรับผู้เริ่มต้น (เช่นเดียวกับฉัน) ขอบคุณที่ให้ความสนใจ!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: cnc-flatbed-pen-plotter-944ccd
2450 บาท
PromptPay QR Code

ประเมินราคาอัตโนมัติ + Reference Code

อยากได้งานคล้ายโปรเจคนี้ ให้ AI ประเมินราคาก่อน

กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ

คำถามให้ AI ประเมินแม่นขึ้น

หลังส่งฟอร์ม ระบบจะโชว์ Reference Code ให้ copy แล้วกด Add LINE เพื่อคุยต่อ ข้อมูลส่วนตัวจะไม่ถูกส่งเข้า GA4

รีวิวจากคนใช้งานจริง

รีวิวจากลูกค้าและคนที่เคยใช้งาน

ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย

กำลังโหลดรีวิว...