Mini cnc กับการติดตั้งบอร์ด Mach3 USB Controller
แทนบอร์ดแบบ Port Parallel ที่ล้าสมัย
www.gpsteawthai.com/index.php/topic,7600.0.htmlเนื่องจากมีการเปลี่ยนบอร์ดใหม่ จึงจำเป็นต้องเก็บข้อมูลการตั้งค่าการต่อสายไว้ดูอ้างอิง
การติดตั้งไดร์เวอร์ usb คลิกตรงนี้ ไม่ได้หมูแบบเซียนไอทีเน็ตเวิร์คคิดนะครับ เดี๋ยวจะหาว่าไม่บอก...!!??
งานเลี้ยงย่อมมีวันเลิกลา เช่นกัน เทคโนโลยีการส่งข้อมูลระหว่างคอมพิวเตอร์ไปหาเครื่อง cnc ก็ต้องมีการพัฒนาจากการส่งข้อมูลจากพอร์ทขนานแบบเก่าไปสู่แบบ USB1. เนื่องจากการรับส่งข้อมูลพอร์ทขนาน (พอร์ทปริ้นเตอร์) 25 Pin มันมีในคอมพิวเตอร์รุ่นเก่า และการส่งข้อมูลที่ทำได้สมบูรณ์มีเฉพาะรุ่นเท่านั้น หรือต้องเข้าไปปรับแต่งในวินโดว์ค่อนข้างมาก ทำให้ไม่สะดวกต่อการทำงาน ซึ่งคนดูแลต้องแม่นในการแก้ไขปรับแต่ง
ซึ่งการส่งข้อมูลแบบนี้ ที่บอร์ดอินเตอร์เฟซไม่ต้องมีวงจรอะไรเลย จากคอมพิวเตอร์ส่งอะไรมา ระบบสมองกลของ cnc ก็รับแล้วไปแปลงค่าทำงานได้เลย
2. ต่อมาก็มีการพัฒนามาสู่แบบ USB และมีผู้ผลิตคิดค้นการส่งข้อมูลบอร์ดและไดร์เวอร์ให้ทำงานด้วยกันได้แบบน่าจะสมบูรณ์ที่สุดในยุคปัจจุบัน
ให้ภาพด้านล่างมันเล่าเรื่องละกันเนอะ...ฮา

01. เจ้าบอร์ดพอร์ทขนาน หรือบอร์ด Port Parallel สีเขียวๆนั่นแหละครับ บนนั้นมันไม่มีอะไรนอกจากลายวงจรมาหาขั้วต่อสายไปใช้งาน ไอ้แสบนี่แหละครับเจ้าปัญหา เพราะคนเขียนโปรแกรมสั่งการให้เครื่อง CNC มันทำงาน มันดันสั่งให้มาโผล่ที่พอร์ทนี้ ซึ่งพอร์ทนี้เดิมๆ มันเอาไว้ต่อกับเครื่องปริ้นเตอร์ (รุ่นเก่าๆ) ไอ้นี่แหละที่จะถูกถอดทิ้ง

02.

03.

04. หม้อแปลงไฟฟ้าขนาดใหญ่ 3 ลูก
1. ลูกขวาสุดที่แขวนผนัง ลูกใหญ่ขนาดชามข้าว แปลงไฟจาก 220V. ลงมาเหลือ 75VAC เพื่อเอาไปจ่ายให้ไดเวอร์สเต็ปมอเตอร์ ในการทำหน้าที่ขยับแต่ละส่วนไปมา
2. ตัวซ้าย 2 ตัวติดกัน มันใหญ่ขนาดแกลลอนน้ำมันเครื่อง 5 ลิตร แปลงไฟ 220V ขึ้นไปเป็น 400V แล้วทำการขนานกันเพื่อให้ได้กระแสสูงกว่า 10A แล้วไปจ่ายให้เครื่องอินเวอร์เตอร์แปลงเป็น 3 เฟส แล้วจ่ายต่อไปยังมอเตอร์ใหญ่สุด คือมอเตอร์สปินเดิ้ลที่มีกำลังถึง 3.3 Kw. ที่ทำหน้าที่กัดชิ้นงาน

05. ก็ต้องมาหาข้อมูลว่าเจ้าพอร์ทขนาน หรือ
Port Parallel นี้ในแต่ละขาของมันหน้าที่ทำงานของมันแบบไหน รับ/ส่งอะไรออกขาไหน ต้องมีข้อมูลให้แม่น ไม่งั้นเวลาตัดเปลี่ยนงานจะงอก

06. นี่แหละครับ ผมต้องมานั่งไล่วงจรมันทั้งระบบ ไม่ใช่หมูๆนะครับ เพราะเครื่อง cnc ของผมมันไม่ใช่เครื่องขนาดเล็กหิ้วย้ายไปไหนง่ายๆแต่มันใหญ่และมีน้ำหนักเป็นตันนะครับ โต๊ะกว้าง 160 ซม. ยาว 280 ซม. (พื้นที่ทำงานบนโต๊ะ 120 ซม. x 240 ซม.) โครงสร้างเป็นเหล็กกล่องหนา 8 มม. ไอ้ความใหญ่นี่แหละ มันจึงไล่ระบบไฟฟ้าไม่ใช่ง่ายๆ เพราะสายควบคุมมันยาวขดไปมาบนรางกระดูกงูกว่า 20 เมตร ไหนจะมีระบบสายน้ำมันหล่อลื่น สายน้ำหล่อเย็นสารพัด
เห็นสายต่อไม่กี่เส้นแค่นี้แหละ แต่ระบบที่รออยู่ปลายสายพวกนี้ถือว่ามันอัจฉริยะมาก คำสั่งที่มันรับจากคอมพิวเตอร์แล้วส่งผ่านไปแต่ละส่วนของเครื่องจักรให้ทำงานสัมพันธ์กัน ยืนดูเครื่องมันทำงานแล้วทึ่งมาก
และการส่งสัญญาณแบบขนานนี่แหละบางคำสั่งมันไม่ยอมทำงานหรือเพี้ยนไปเลย ในกรณีที่เครื่องคอมพิวเตอร์เป็นพวกค่ายยี่ปุ่นแปลกแต่จริง นี่แหละปัญหาของคนมีเครื่อง cnc เลยหล่ะ
Parallel Port หรือพอร์ตขนาน เดิมเรียกว่า Printer Port เนื่องจากจะมีการนำพอร์ตขนาน มาใช้งานติดต่อกับเครื่องพรินเตอร์เป็นหลักโดยที่พอร์ตขนานนั้น สามารถให้ความเร็วในการส่งผ่านข้อมูลได้รวดเร็วกว่าพอร์ตอนุกรม และยังสามารถส่งข้อมูลขนาน 8 บิตออกไปได้โดยตรง
พอร์ตขนานของเครื่องคอมพิวเตอร์ประกอบ ด้วยสัญญาณทั้งหมด 25 เส้นสัญญาณ (DB25) โดยสัญญาณจะแบ่งออกได้เป็น 3 กลุ่มใหญ่ๆ ตามลักษณะหน้าที่ของสัญญาณ ประกอบด้วย
1) Data Register (Data bus) จำนวน 8 เส้น (ขา 2-9)
2) Control Register จำนวน 4 เส้น (ขา 1,14,16,17)
3) Status Register จำนวน 5 เส้น (ขา 10-13,15)
Data Register (Data bus) จะมีอยู่ 8 ขา ตั้งแต่ขาที่ 2 ถึงขาที่ 9 บางทีมักถูกเรียกว่า Data Register ซึ่ง Register ตัวนี้จะส่งค่าได้อย่างเดียว ไม่สามารถรับค่าได้
Status Register เป็นพอร์ตที่อ่านได้อย่างเดียวไม่สามารถเขียนข้อมูลได้ พอร์ตนี้จะมีสัญญาณเข้าอยู่ 5 สัญญาณ (ขา 10-13,15) และสัญญาณ IRQ กับสัญญาณสงวนไว้อีกสองบิต โดยสัญญาณ Busy จะ Active Low
ลักษณะ การทำงานของแต่ละบิตใน Status Register มี ดังนี้
- Bit7 Busy เมื่อ Active หมายถึงพรินเตอร์จะไม่รับข้อมูล
- Bit6 nAck เมื่อ Active หมายถึงพรินเตอร์พร้อมที่จะทำงาน (Active Low)
- Bit5 Paper End เมื่อ Active หมายถึงพรินเตอร์ไม่มีกระดาษ
- Bit4 Select เมื่อ Active หมายถึงเลือกพรินเตอร์
- Bit3 nError เมื่อ Active หมายถึงพรินเตอร์เกิดข้อผิดพลาด (Active Low)
- Bit2, Bit1, Bit0 ไม่ใช้
Control Register เป็น พอร์ตที่ใช้ในการควบคุมพรินเตอร์ สัญญาณในกลุ่มนี้จะ Active Low ยกเว้นสัญญาณ Initialize เท่านั้นที่ไม่ถูก Invert ลักษณะการทำงานของแต่ละบิตใน Control Register มีดังนี้
- Bit3 nSelect Printer เมื่อ Active หมายถึงเลือกพรินเตอร์
- Bit2 nInitialize เมื่อ Active หมายถึงรีเซ็ตพรินเตอร์
- Bit1 nAuto Feed เมื่อ Active หมายถึงพรินเตอร์กระทำ Line Feed
- Bit0 nStrobe เมื่อ Active หมายถึงการบอกให้พรินเตอร์ทราบว่ามีข้อมูลเข้ามาแล้ว

07. จากข้อ6 สัญญาณบางขาก็ส่งผ่านมาหาบอร์ดนี้ เพื่อส่งต่อสัญญาณไปหาจุดอื่น บอร์ดนี้จะเห็นว่าเป็นส่งผ่านสัญญาณทางแสงนะครับ เพื่อไม่ให้ระบบไฟฟ้าเชื่อมถึงกัน เป็นไปได้ว่าต้องการลดสัญญาณรบกวน ที่จะไปทำให้เครื่องจักรทำงานไม่ราบเรียบ ซึ่งผมก็จะต้องไล่วงจร และเขียนวงจรขึ้นมาใหม่ เพื่อดูว่ามันรับ/ส่งสัญญาณกันแบบไหน
(ใครที่จะใช้บอร์ดนี้ อุปกรณ์ทั้ง 3 วงจร เหมือนกัน แค่สลับที่กัน ดูตามภาพด้านบนได้เลย ) พอเปลี่ยนมาใส่บอร์ดแบบ USB ก็มีแนวโน้มว่าจะปลดบอร์ดนี้ทิ้งไป เพราะไล่วงจรดูแล้วบนบอร์ดใหม่มันมีอุปกรณ์พวกนี้วางใส่มาให้แล้ว จึงหมดความจำเป็น 
08.1 ไอ้บอร์ดแดงนี่แหละครับ ที่จะมาแทนในภาพข้อ 6 บอร์ดนี้มันจะส่งสัญญาณมาแบบ USB ทำให้ข้อจำกัดต่างๆมันหมดไป และเราก็สามารถใช้คอมพิวเตอร์สั่งการได้แทบทุกยี่ห้อ
การสั่งการจากคอมพิวเตอร์ เราจะมีการติดตั้งโปรแกรมควบคุมเครื่องจักรชื่อ Mach3 เข้าไป และทำการเซ็ตป้อนค่าของสเต็บมอเตอร์แต่ละตัว/แต่ละขนาด แม้ขนาดวงพูลเล่สายพานยังต้องป้อนให้ระบบรู้ เพราะค่าทุกอย่างระบบควบคุมมันจะเอาไประมวลผลว่า เช่น ให้เครื่องวิ่งไปบนราง 50.95 ซม. ระบบสั่งการมันจะสั่งให้มอเตอร์หมุนกี่รอบ แบบนี้ครับ มันต้องเป๊ะ
เรียกว่าความผิดพลาดวัดกันเป็นระดับไมโครมิล แบบนั้นเลย
ไฟเลี้ยงบอร์ดมาจาก 2 ส่วน คือ1. ไฟเลี้ยง 5 โวลท์ มาจากสาย USB
เอาไปเลี้ยง
ไอซีชิป U1 และ
ไอซี U2C และไอซีตัวหลังนี้จะเป็นตัวสั่งการแกน X,Y,Z,A โดยผ่านโมดูลไดร์เวอร์สเต็ปมอเตอร์ก็จะมีตัวโฟโต้คับเปิ้ลขวางอยู่ ถ้าบอร์ดทำงานจะมีไฟแสดงสีแดง LD1 กระพริบโชว์
2. ไฟเลี้ยงบอร์ด 24 โวลท์ ที่ขา
24V (+) และ
DCM (-)ตรงนี้ส่วนมากเอาไปเลี้ยงพวกโฟโต้คับเปิ้ลเบอร์ EL357N และ
ไอซี U2B เอาง่ายๆคือครึ่งด้านซ้ายของบอร์ดจะใช้ไฟนี้ไปเลี้ยง
พูดง่ายๆบอร์ดนี้มันค่อนข้างป้องกันตนเองจากแรงดันภายนอกไม่ให้มาทำอันตรายซีพียู U1 ที่เป็นหัวใจของมันได้เลย โดยจะมีตัวโฟโต้คับเปิ้ลมาต่อขวางในทุกส่วนที่ไปเชื่อมโยงกับจุดอื่น Download
Driver Mach3 USB 4 Axis 100KHz. Smooth Stepper Motion Controller
Link 1
Link 2
ลิ้งนี้มีครบเลย Driver+Manual
การติดตั้งไดร์เวอร์ คลิกตรงนี้

08.2

08.3

08.4

09. นี่ครับ สายสัญญาณที่ต่อจากบอร์ดแดง (USB MOTIN CARD) มันไปไหนบ้าง ของจริงวุ่ยวายกว่านี้เยอะครับ
สำหรับสำหรับพอร์ทสื่อสารเดิมแบบ Parallel รุ่นเก่า (พอร์ทปริ้นเตอร์) พอร์ทสื่อสารมันใช้เลข 1 ครับ
การ์ดคอนโทรล Mach3 USB 4 Axis 100KHz. รุ่นนี้ พอร์ทสื่อสารมันใช้เลข 3 (ย้ำว่าเลข3) ไอ้เลขพอร์ทนี่แหละที่ผมงมโข่งเดามั่วอยู่ 5 วัน มันไม่ยอมทำงาน แต่ลองใส่ 0-9 มันทำงานที่เลข 3 แต่ไม่ได้คิดว่าต้องป้อนเลข 3 ทุกจุด
ฉะนั้นภาพตั้งแต่ 18-30 ใช้งานตรงไหนให้ใส่เลข 3 ที่ช่อง Port #, Step port หรือ Dir Port
ส่วนช่องที่มีคำว่า ..Pin.. ของ Input หรือ Output ใส่เลข 1-4 ที่เราต่อใช้งาน

10. นี่ครับ สายสัญญาณที่ต่อจากบอร์ดแดง (USB MOTIN CARD) มันไปไหนบ้าง ของจริงวุ่ยวายกว่านี้เยอะครับ

11. รูปแบบการต่อสายไปหาตัวไดร์เวอร์สเต็ปมอเตอร์

12. รูปแบบการต่อสายไปหาตัวไดร์เวอร์สเต็ปมอเตอร์ ซึ่งเจ้าสเต็บมอเตอร์จะรับสัญญาณไปจากคอมพิวเตอร์ว่าแกนของตนเองจะวิ่งเดินหน้า/ถอยหลังระยะเท่าไร การสั่งงานมันจะส่งสัญญาณไฟฟ้าแบบพัลส์ครับ

13. นี่ครับรูปร่างเจ้าตัวไดร์เวอร์มอเตอร์แบบสเต็ป เครื่องจักรทำงานผิดพลาดหรือเที่ยงตรงก็ฝากความหวังไว้ที่เจ้านี่แหละครับ ถ้ารับคำสั่งมาแล้วว่าให้เคลื่อนที่ 0.8 มิล แต่พ่อเล่นวิ่งไป 0.98 มิล ถือว่างานงอกแล้วครับ แต่ใช่ว่าจะไปโทษเจ้านี่อย่างเดียวไม่ได้ ต้องดูด้วยว่าเราป้อนข้อมูลตัวมันให้โปรแกรมควบคุมถูกต้องหรือปล่าว
(On ขา 3, 7, 8)

14.

15. รูปแบบการต่อสายไฟไปหาสเต็ปมอเตอร์แต่ละแบบ

16. รูปแบบการต่อสายไฟไปหาสเต็ปมอเตอร์แต่ละแบบ

17. หลังจากต่อสายต่างๆ ตรวจทานให้แน่ใจว่าไม่มีอะไรผิดพลาด เราก็มาดูการป้อนค่าในแต่ละส่วนของโปรแกรม Mach3 ที่ใช้ควบคุมเครื่องจักร บางเงื่อนไขเป็นค่าจากโรงงานเราไม่จำเป็นต้องไปยุ่ง

18. นี่แหละครับ ตั้งแต่ภาพนี้เป็นต้นไปให้ดูคำว่า Step pin นั่นคือขาควบคุมที่มาจาก ข้อ 6 นั่นแหละครับ ว่าเราเอามาสั่งงานที่ไหน หน้าที่ของมันทำอะไร

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31.

32.

33.

34.

35.

36.

37.

38.

39.

40.

41.

42.

43.

44. การตั้งค่า Steps per คือค่าของจำนวนพัลส์ที่ทำให้มอเตอร์สเต็ปหมุน 1 รอบ (เครื่องของใครของมันนะครับ)
X = 178
Y = 178
Z = 320 (จะเยอะสักนิดเพราะมีพูลเล่ ทดรอบตัวใหญ่)
ส่วนภาพบางภาพเราจะไม่อธิบายนะครับว่าหมายถึงอะไร เพราะเราบอกแล้ว เราทำอะไว้ช่วยจำครับ ก่อนที่จะรื้อระบบมัน และอีกอย่างเอาไว้ดู ว่าครั้งนึงเราเคยรื้อมันด้วยตัวเอง
เนื่องจากการเปลี่ยนระบบครั้งนี้ ทำให้เราได้ข้อมูลการเซ็ตตั้งค่าอะไรเยอะมาก และอีกไม่นานผมจะสั่งชุดคิทขนาดเล็กมาประกอบเอาไว้ทำงานเล็กๆ เช่น กัดป้ายโลหะติดหน้าอก ทำของชำร่วย สารพัด