โปรเจกต์ CNC Flatbed Pen Plotter
CNC plotter ราคาประหยัดที่ควบคุมโดยตรงด้วย G-code ผ่าน CAM software ของตัวเองบน PC โปรเจกต์นี้เป็นส่วนหนึ่งของ graduation project ของฉัน
CNC plotter ราคาประหยัดที่ควบคุมโดยตรงด้วย G-code ผ่าน CAM software ของตัวเองบน PC โปรเจกต์นี้เป็นส่วนหนึ่งของ graduation project ของฉัน
Project Supporter Team
โพสต์โดย
ฉันตัดสินใจที่จะสร้าง flatbed pen plotter สำหรับโปรเจกต์จบการศึกษาของฉันในเดือนตุลาคม 2016 หลังจากที่ได้ใช้เวลาคิดมาพอสมควรแล้ว
แนวคิดเบื้องหลังการสร้างนี้คือการพิมพ์ภาพวาดขนาด A4 ที่แม่นยำด้วยปากกาแทบทุกชนิด: ดินสอ, ปากกาลูกลื่น, ปากกาเมจิก และอื่นๆ
Flatbed plotter จำเป็นต้องมี linear actuators ในทั้ง 3 แกน ตอนแรกฉันคิดถึงเรื่องสายพาน (belts) แต่กลับกลายเป็นว่าพวกมันมีราคาแพงเกินไปสำหรับโปรเจกต์ของฉัน นั่นคือเหตุผลที่ฉันคิดว่าไม่มีอะไรที่จะสร้างได้เร็วกว่าและเคลื่อนที่ได้แม่นยำไปกว่า lead screw ซึ่งช่วยเน้นเรื่องความคุ้มค่าทางเศรษฐกิจในการติดตั้ง เนื่องจากตัวเลือกอย่างสายพานและเฟือง (cogs) ในภูมิภาคของเรานั้นหาได้ค่อนข้างยากกว่า
ตั้งแต่นั้นมา ฉันก็ได้เข้าใจว่า motors และ drivers ตัวไหนที่น่าซื้อมาใช้งานมากกว่ากัน นั่นคือ 28BYJ-48 และ PCB ที่ใช้ชิป ULN2003A จนได้ข้อสรุปว่าฉันต้องซื้อพวกมันมาทดสอบ และฉันยังได้เรียนรู้อีกว่าเราจำเป็นต้อง ระวังผู้ผลิตที่ไม่น่าเชื่อถือ
ฉันไม่ค่อยชอบ switching power supply (เหมือนที่ใช้ใน PC) สักเท่าไหร่ เพราะเรื่องขนาด, น้ำหนัก และผลกระทบจากคลื่นแม่เหล็กไฟฟ้า มันเหมาะสำหรับจ่ายไฟให้สิ่งประดิษฐ์ขนาดใหญ่ แต่ไม่จำเป็นสำหรับ CNC plotter ขนาดเล็กของฉัน เมื่อสรุปกระแสสูงสุดสำหรับ motors แล้ว การใช้ portable 1 A power supply ก็เพียงพอ ดังนั้นฉันจึงสามารถเชื่อมต่อเข้ากับ Arduino’s DC jack ได้อย่างง่ายดาย เยี่ยมเลย!
ตัว 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° พอดี บางทีการใช้งานไปนานๆ หลายชั่วโมงอาจจะเผยให้เห็นธาตุแท้ของเจ้าสัตว์ประหลาดตัวนี้ก็ได้
อย่างแรกเลย แล้วเรื่องการดัดแปลง (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 ทำงานพร้อมกันทั้ง 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 หลายตัวได้ในเวลาเดียวกัน
ฉันคิดเรื่องการใช้ nut ตัวเมียแบบยาวเพื่อใช้เป็น threaded bushing แกน (Shaft) ของ motor มีรัศมี 5 มม. มันสามารถเข้าไปในรูเกลียว M6 และยึดไว้ด้วยสกรู (M3) ตัวเล็กๆ สองตัว ดังนั้นจงเตรียมตัวที่จะเจาะรูเกลียวเหล่านี้ในตัว nut และเมื่อยึด nut เข้ากับ shaft แล้ว เราก็จะหมุน M6 threaded rod เข้าไปในนั้น
แต่ฉันต้องหยุดไว้เพียงเท่านี้ก่อน เพราะเราจำเป็นต้องคำนึงถึงขั้นตอนการเตรียมการบางอย่าง เช่น การจัดวางตำแหน่งน้ำหนัก (ที่จะถูกเคลื่อนที่ไปตามแกน), การสร้างราง (railway) และตัวยึดอื่นๆ บนฐาน ทั้งตัวสำหรับยึด motor และตัวรองรับที่ส่วนปลาย
มันถูกตั้งใจให้เป็นแรงบันดาลใจสำหรับผู้เริ่มต้น (เช่นเดียวกับฉัน) ขอบคุณที่ให้ความสนใจ!
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมินราคาอัตโนมัติ + Reference Code
กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ
ส่งข้อมูลเรียบร้อย
ขั้นตอนต่อไป: กดปุ่มด้านล่าง ระบบจะคัดลอกข้อความพร้อม Reference Code ให้ แล้วพาไปหน้า LINE ทันที เอาข้อความนั้นส่งใน LINE เพื่อให้ทีมงานดึงข้อมูลจากฟอร์มนี้มาต่อได้เลย
Reference Code
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย