การพัฒนาห่นุ ยนต์แขนกลแบบ 4 DOF A Development to Robot arm 4 DOF นาย ชนาธปิ กีรตวิ ศนิ รหัสนักศึกษา 6014631005 โครงงานวจิ ยั นี้เป็นสว่ นหนึ่งของการศึกษาตามหลกั สตู ร วิทยาศาสตรบณั ฑติ สาขาวชิ าวทิ ยาการคอมพวิ เตอร์ คณะวิทยาการคอมพิวเตอรแ์ ละเทคโนโลยสี ารสนเทศ มหาวิทยาลัยราชภัฏรำไพพรรณี ปกี ารศกึ ษา 2562
การพัฒนาห่นุ ยนต์แขนกลแบบ 4 DOF A Development to Robot arm 4 DOF นาย ชนาธปิ กีรตวิ ศนิ รหัสนักศึกษา 6014631005 โครงงานวจิ ยั นี้เป็นสว่ นหนึ่งของการศึกษาตามหลกั สตู ร วิทยาศาสตรบณั ฑติ สาขาวชิ าวทิ ยาการคอมพวิ เตอร์ คณะวิทยาการคอมพิวเตอรแ์ ละเทคโนโลยสี ารสนเทศ มหาวิทยาลัยราชภัฏรำไพพรรณี ปกี ารศกึ ษา 2562
สารบัญ ค สารบัญ หน้า สารบัญภาพ ค สารบัญตาราง ง บทท่ี 1 บทนำ ช 1 1.1 ความเป็นมาและความสำคญั 1 1.2 วตั ถุประสงค์ของโครงการวิจัย 1 1.3 ขอบเขตของโครงการ 2 1.4 ประโยชน์ทคี่ าดวา่ จะได้รับ 2 1.5 ระยะเวลาในการดำเนนิ การ 2 1.6 อปุ กรณห์ รือเคร่ืองมือท่ีใช้ 2 บทท่ี 2 ทฤษฎแี ละงานวิจัยทเี่ กีย่ วขอ้ ง 4 2.1 หุ่นยนตแ์ ขนกล 4 2.2 ทฤษฎีจลนศาสตรข์ องหุน่ ยนต์ จลนศาสตร์ 8 2.3 สเต็ปปงิ มอเตอร์ 12 2.4 บอรด์ ไมโครคอนโทรลเลอร์ Arduino 16 2.5 3D Printer 23 บทที่ 3 วธิ ีการดำเนินการวิจยั 34 3.1 ผงั การทำงาน 34 3.2 ออกแบบวงจรควบคุมหนุ่ ยนต์แขนกล 36 3.3 สูตรทใ่ี ชใ้ นการคำนวณ 46 3.4 การออกแบบและสรา้ งห่นุ ยนตแ์ ขนกล 48 3.5 ขน้ั ตอนการทดสอบ 54 บรรณานุกรม 59
ง สารบญั ภาพ หน้า 4 ภาพท่ี 2.1 หนุ่ ยนตค์ ารท์ เี ซยี น (Cartesian Robot) 5 ภาพที่ 2.2 หนุ่ ยนต์ทรงกระบอก (Cylindrical Robot) 6 ภาพที่ 2.3 หนุ่ ยนตท์ รงกลม (Spherical Robot) 7 ภาพที่ 2.4 ห่นุ ยนตข์ ้อตอ่ (Articulated Robot) 7 ภาพท่ี 2.5 หุ่นยนต์สกาลา่ (Scara Robot) 9 ภาพท่ี 2.6 แผนภาพแขนกล 3 แกน 3 ก้านต่อ (link) ท่ีเคลอ่ื นทใ่ี นแนวระนาบ x - y 10 ภาพท่ี 2.7 ภาพฉายแขนกลเมื่อมองด้านบน (Top view) ในแนวระนาบ x – y 10 ภาพที่ 2.8 แผนภาพของแขนกล 4 แกน 4 กา้ นตอ่ ที่เคล่ือนทีใ่ นแนวระนาบ x – y – z 12 ภาพท่ี 2.9 โครงสร้างของสเต็ปปงิ มอเตอรช์ นดิ ยนู ิโพลาร์แบบ Common ภายใน 13 ภาพที่ 2.10 โครงสร้างของสเตป็ ปงิ มอเตอรช์ นดิ ยนู ิโพลาร์แบบ Common ภายนอก 13 ภาพท่ี 2.11 โครงสร้างของสเตป็ ปิงมอเตอรช์ นิดไบโพลาร์ 16 ภาพที่ 2.12 วงจรขับสเตป็ ปงิ มอเตอร์ชนิดยูนิโพลาร์โดยใช้ไอซเี บอร์ ULN2003 17 ภาพท่ี 2.13 บอร์ด Arduino Uno R3 18 ภาพท่ี 2.14 บอร์ด Arduino Uno SMD 33 20 ภาพที่ 2.15 บอร์ด Arduino Mega 2560 20 ภาพท่ี 2.16 บอร์ด Arduino Leonardo 21 ภาพที่ 2.17 บอร์ด Arduino Mini 05 21 ภาพที่ 2.18 บอร์ด Arduino Pro Mini 328 3.3V 22 ภาพท่ี 2.19 บอร์ด Arduino Pro Mini 328 5V 22 ภาพที่ 2.20 บอร์ด Arduino Ethernet with Poe Module 23 ภาพที่ 2.21 บอร์ด Arduino Ethernet without PoE Module 23 ภาพที่ 2.22 บอร์ด Arduino Due 25 ภาพที่ 2.23 มอเตอร์ขบั ดนั เส้นพลาสติกมายังหวั ฉดี 25 ภาพท่ี 2.24 หลักการทำงานของ FDM Printer แบบสองหัวฉีด 26 ภาพที่ 2.25 FDM 3D Printer ชนดิ Cartesian ยหี่ อ้ Ultimaker 27 ภาพที่ 2.26 FDM 3D Printer ชนิด Cartesian ย่หี อ้ PRUSA 28 ภาพที่ 2.27 FDM 3D Printer ชนดิ Delta
สารบญั ภาพ(ตอ่ ) จ ภาพท่ี 2.28 เคร่ืองพิมพ์ วตั ถุดบิ ทใ่ี ชพ้ ิมพ์ และชน้ิ งานท่ีพิมพ์แลว้ หน้า ภาพท่ี 2.29 เคร่ืองพิมพ์และชนิ้ งานทีพ่ มิ พแ์ ล้ว 30 ภาพที่ 2.30 เครื่องพิมพแ์ ละชิน้ งานท่ีพมิ พ์แลว้ 31 ภาพที่ 2.31 การทำงานของระบบ Poly Jet 32 ภาพที่ 2.32 การทำงานของระบบ LOM 33 ภาพท่ี 3.1 ผังการทำงานของหนุ่ ยนต์แขนกล 33 ภาพที่ 3.1 ผังการทำงานของหนุ่ ยนตแ์ ขนกล 35 ภาพที่ 3.2 วงจรขับ สเตป็ เปอรม์ อเตอรโ์ ดยใชไ้ ดรเ์ วอร์ A4988 35 ภาพท่ี 3.3 โคด้ ตัวอย่างการควบคมุ สเต็ปเปอร์มอเตอร์ 36 ภาพท่ี 3.4 ทศิ ทางการไหลของอากาศ 38 ภาพท่ี 3.5 การเช่ือมต่อของป๊ัมสุญญากาศ 39 ภาพท่ี 3.6 โคดตัวอย่างการควบคมุ ปมั๊ สญุ ญากาศ 40 ภาพที่ 3.7 วงจรควบคุมจอ LCD 40 ภาพท่ี 3.8 โคด้ ตัวอย่างการควบคุมจอแอลซีดี 41 ภาพท่ี 3.9 การเช่อื มต่อของเซนเซอรว์ ดั ระยะทางกบั บอร์ด 43 ภาพที่ 3.10 โค้ดตวั อยา่ งการควบคุมเซนเซอร์ 44 ภาพที่ 3.11 การเช่ือมต่ออุปกรณต์ ่าง ๆ เขา้ กบั บอร์ดชิว Rams 1.4 44 ภาพที่ 3.12 แผนภาพแขนกล 4 แกน 4 ก้านต่อ 45 ภาพท่ี 3.13 โครงสร้างโดยรวมของแขนกล 47 ภาพท่ี 3.14 ฐานของแขนกล 48 ภาพท่ี 3.15 ฐานท่ีใชห้ มุน 49 ภาพที่ 3.16 ชิ้นส่วนทต่ี ดิ กบั แกนทใี่ ช้หมุนของสเต็ปเปอร์มอเตอร์ 50 ภาพที่ 3.17 ช้ินส่วนทต่ี ิดกับตัวสเตป็ เปอร์มอเตอร์ 50 ภาพท่ี 3.18 ส่วนของมอื จับวัตถุ 51 ภาพท่ี 3.19 ปลอกยึดแกนสเตป็ เปอรม์ อเตอร์ 51 ภาพท่ี 3.20 แท่งคาร์บอน 52 ภาพที่ 3.21 ฐานหมุน 52 53
สารบัญภาพ(ต่อ) ฉ ภาพที่ 3.22 แขนกลด้านหน้าซา้ ย หน้า ภาพที่ 3.23 แขนกลด้านบน 53 ภาพท่ี 3.24 แขนกลด้านหลังขวา 54 ภาพที่ 3.25 แขนกลดา้ นขวา 54 ภาพท่ี 3.26 กระดานทดสอบหุ่นยนตแ์ ขนกล 55 55
ช สารบญั ตาราง หน้า 2 ตารางท่ี 1.1 ระยะเวลาการทำงาน 14 ตารางที่ 2.1 ขน้ั ตอนการทางานแบบเวฟ (wave) 15 ตารางที่ 2.2 ขน้ั ตอนการทางานแบบ 2 เฟส (2 Phase) 15 ตารางท่ี 2.3 ขน้ั ตอนการทางานแบบครงึ่ สเตป็ 37 ตารางที่ 3.1 ความหมายของแตล่ ะขาการเชอ่ื มตอ่ 37 ตารางที่ 3.2 การเลือกสเตป็ การหมุน 56 ตารางท่ี 3.3 ตัวอย่างการหาค่าความคลาดเคล่อื นที่พกิ ัด (10, 30) 57 ตารางท่ี 3.4 ตัวอยา่ งการหาค่าความคลาดเคล่ือนที่พกิ ัด (-10, 30) 57 ตารางที่ 3.5 ตัวอย่างการหาเปอรเ์ ซน็ ตก์ ารหยิบวัตถุท่ีมีภาพทรงสเ่ี หลี่ยม 58 ตารางท่ี 3.6 ตัวอยา่ งการหาเปอร์เซ็นตก์ ารหยิบวตั ถุทม่ี ีภาพทรงส่เี หลี่ยม (ต่อ) 58 ตารางที่ 3.7 ตวั อยา่ งการหาเปอร์เซน็ ตก์ ารหยิบจบั วตั ถุที่มีนำ้ หนัก 500 กรัม 59 ตารางท่ี 3.8 ตวั อยา่ งการหาเปอร์เซน็ ต์การหยบิ จบั วตั ถทุ ่ีมีน้ำหนกั 500 กรัม (ต่อ)
บทท่ี 1 บทนำ 1.1 ความเปน็ มาและความสำคญั แขนกลในวงการอุตสาหกรรมในปจั จบุ ันมีส่วนช่วยในการผลิตอุปกรณ์ตา่ ง ๆ ในส่วนที่มนุษย์ ไม่สามารถทำได้หรือในงานที่ต้องทำซ้ำ ๆ กันตลอดเวลา งานที่เป็นอันตรายและงานที่หนักเกินกว่า มนุษย์จะทำได้ เช่น งานขัดแยกสินค้า งานเชื่อมโลหะ งานที่ประกอบที่ต้องการความละเอียด จึงทำ ให้ดา้ นอตุ สาหกรรมมีความต้องการใช้แขนกลเข้ามาช่วยในงานต่าง ๆ มากยิง่ ข้ึน หุ่นยนต์อตุ สาหกรรมจะเป็นการทำงานเลยี นแบบร่างกายของมนุษย์ โดยจะเลยี นแบบเฉพาะ ส่วนของร่างกายที่จะนำไปใช้ประโยชนใ์ นอุตสาหกรรม น่ันคอื ช่วงแขนของมนุษย์ ดงั นั้นจึงมีการเรียก หุ่นยนต์อุตสาหกรรมด้วยคำว่า “แขนกล” ซึ่งก็หมายถึงหุ่นยนต์อุตสาหกรรมที่ทำงานเปรียบเสมือน กับแขนของมนุษย์ โดยทั่วไปแขนกลที่ใช้ในอุตสาหกรรมมีอยู่หลากหลายชนิดด้วยกัน ขึ้นอยู่กับ ลักษณะการทำงาน ซึ่ง สามารถแบ่งออกเป็น 5 ชนิด คือ หุ่นยนต์คาร์ทีเซียน (Cartesian Coordinated Robot) หุ่นยนต์ทรงกระบอก (Cylindrical Coordinated Robot) หุ่นยนต์ทรงกลม (Spherical Coordinated Robot) หุ่นยนต์ข้อต่อ (Articulated Mainpulator) และหุ่นยนต์สกาล่า (Scara Robot) การพัฒนาของเทคโนโลยีจนถึงปัจจุบัน ทำให้หุ่นยนต์สามารถทำงานได้หลายภาพ แบบ เพื่อตอบสนองกับภาคอุตสาหกรรมที่ตอ้ งการกำลังการผลิตที่มากขึ้น ซึ่งหุ่นยนต์ก็สามารถตอบ โจทย์นี้ได้ดี ซึ่งในปัจจุบันนี้ราคาแขนกลในภาคอุตสาหกรรมที่มีคุณภาพมีราคาตั้งแต่ 20,000 บาท ขนึ้ ไป ซ่งึ ยากต่อการนำมาใชใ้ นภาคอตุ สาหกรรมขนาดเลก็ หรือธรุ กจิ ประกอบการขนาดเลก็ ดังนั้นในโครงงานนี้ จึงทำเพื่อที่จะศึกษาวิธีการควบคุมแขนกลและออกแบบชุดจำลองแขน กล ซึ่งเป็นแขนกลประเภท Articulated Arm (Revolute) ซึ่งเป็นแขนกล 4 แกน ที่ใช้สเต็ปมอเตอร์ ในการควบคุมการเคลื่อนไหวของแตล่ ะแกน และไดอ้ อกแบบชุดควบคุมแขนกลโดยเลือกใช้ Arduino มาใช้ในการเขียนโปรแกรมควบคุมแขนกล จึงทำให้มีต้นทุนที่ต่ำลงผู้ประกอบการกิจการขนาดเล็กมี โอกาสทีจ่ ะสามารถใช้แขนกลในการประกอบธุรกจิ ตา่ ง ๆ ได้ 1.2 วัตถปุ ระสงค์ของโครงการวจิ ัย 1.2.1 เพื่อให้ได้ห่นุ ยนตแ์ ขนกลที่มปี ระสิทธภิ าพ
2 1.2.2 เพือ่ ให้ไดห้ ่นุ ยนตแ์ ขนกลท่มี รี าคาย่อมเยาว์ 1.3 ขอบเขตโครงการ 1.3.1 แขนกลจะมที ง้ั หมด 4 จดุ หมุน 1.3.2 ใช้ Arduino เป็นตัวควบคมุ 1.3.3 ขอบเขตของการทำงานของแขนกลไม่เกิน 75 เซนติเมตร 1.3.4 สามารถหยิบจับวัตถทุ ี่ขนาดไมเ่ กนิ 10 * 10 * 10 เซนติเมตร 1.3.5 สามารถหยบิ วัตถุได้ไมเ่ กิน 500 กรัม 1.4 ประโยชนท์ ่ีคาดวา่ จะได้รับ 1.4.1 ได้หุ่นยนต์แขนกลท่ีมีประสิทธภิ าพ 1.4.2 ไดห้ ุ่นยนตแ์ ขนกลที่มรี าคายอ่ มเยาว์ 1.5 ระยะเวลาในการดำเนนิ การ ตารางท่ี 1.1 แสดงระยะเวลาการทำงาน 1.6 อุปกรณ์หรอื เครอ่ื งมือท่ใี ช้ 1.6.1.ฮารด์ แวร์
3 1) สเต็ปเปอรม์ อเตอร์ (Stepper Motor Nema 17) แรงบดิ 30 N.cm 1.4A 2) ไดรเ์ วอร์ A4988 3) บอร์ด Arduino MEGA 2560 4) จอแอลซีดี LCD 12864 Control Panel 5) แหล่งจ่ายไฟ Switching Power Supply 150W 12V 12.5A 6) เครื่องพิมพ์ 3 มิติ 7) แทง่ คารบ์ อนขนาด 5 mm 8) ปม๊ั สญุ ญากาศ (vacuum Pump) DC 6V 9) หัวตอ่ ท่อสุญญากาศ (vacuum) 2 ทาง ยาว 73mm 10) เซนเซอรว์ ัดระยะทาง E18-D80NK 1.6.2. ซอฟต์แวร์ 1) โปรแกรมแก้ไขโคด Arduino IDE 2) โปรแกรมพมิ พ์ชิ้นงาน 3 มิติ Slic3r 3) โปรแกรมออกแบบแขนกล Design Spark Mechanical 4.0
บทท่ี 2 แนวคิดและทฤษฎีทเี่ กีย่ วข้อง ในบทนี้จะกล่าวถงึ ทฤษฎีต่าง ๆ และอุปกรณ์ในการสร้างเพื่อให้ได้หุ่นยนต์แขนกลขึ้นมา ซ่ึง มีรายละเอยี ดดงั นี้ 2.1 หุน่ ยนตแ์ ขนกล การพัฒนาของเทคโนโลยีในปัจจุบันทำให้หุ่นยนต์สามารถทำงานได้หลายภาพแบบ เพื่อ ตอบสนองกับความต้องการของภาคอุตสาหกรรมที่กำลังต้องการกำลังผลิตที่มากขึ้น ซึ่งหุ่นยนต์ก็ สามารถตอบโจทย์ได้ตามความต้องการมากที่สุด คำว่า Robot มีที่มาจากภาษาเช็ก (Czech) ที่มี ความหมายว่า คนงานที่มีพละกำลังและได้มีการให้คำจำกัดความของหุ่นยนต์ว่า “แขนกลที่ถูก ออกแบบใหท้ ำหน้าทีห่ ลายอยา่ ง หรือทำงานพร้อม ๆ กันในเวลาเดยี วโดยมีการโปรแกรมการเคล่ือนที่ ให้เปลี่ยนแปลงได้ตามลักษณะงานทตี่ ้องการ” โดยสถาบันหุน่ ยนต์แห่งอเมรกิ า (Robot Institute of America) ในปัจจุบันหุ่นยนต์ที่นำมาใช้งานมีอยู่หลายชนิดขึ้นอยู่กับลักษณะการทำงาน สามารถแบ่ง ออกเป็น 5 ชนดิ โดยมรี ายละเอียดดังน้ี 2.1.1 หนุ่ ยนต์คารท์ เี ซียน (Cartesian Robot) ภาพที่ 2.1 แสดงลักษณะของหุ่นยนต์คาร์ทีเซียน ที่มีลักษณะการเคลื่อนที่ในแนว พิกัดคารท์ ีเซยี น ซ่ึงก็คือ เคลอื่ นทีเ่ ป็นเสน้ ตรงตามแนวแกน X, Y, Z ภาพท่ี 2.1 หุ่นยนต์คาร์ทเี ชยี น (Cartesian Robot) (ที่มา : รังสดิ ง หงสห์ ริ ัญ์ , และอ่ืน ๆ (2557))
5 ขอ้ ดีของหุ่นยนต์คาร์ทีเชยี น 1) เคลอ่ื นท่ีเป็นแนวเส้นตรงทง้ั 3 มิติ 2) การเคลื่อนทีส่ ามารถทำความเขา้ ใจได้งา่ ย 3) โครงสร้างแข็งแรงตลอดการเคลือ่ นที่ ขอ้ เสยี ของหุ่นยนต์คาร์ทเี ชยี น 1) ต้องการพนื้ ท่ีติดต้งั มาก บริเวณท่หี ่นุ ยนต์เขา้ ไปทำงานจะเล็กกวา่ ขนาดของ ตัวหุน่ ยนต์ 2.1.2 หนุ่ ยนต์ทรงกระบอก (Cylindrical Robot) ภาพท่ี 2.2 แสดงลกั ษณะของหุ่นยนต์ทรงกระบอก ท่ีมีลักษณะการเคลื่อนท่ีในแนว เส้นตรง 2 แกน คือ แกน Y และ Z โดยฐานของหุ่นยนต์สามารถหมุนได้รอบเป็นวงกลม (Rotation Axes) ซึ่งจะสามารถพบ เจอหุ่นยนต์ชนิดนี้ได้บ่อยครั้งในงานก่อสร้างอาคารสูงๆ ทั่วไป เช่น เครน สำหรบั สร้างตกึ สงู (Tower Cane) เป็นตน้ ภาพที่ 2.2 หุน่ ยนตท์ รงกระบอก (Cylindrical Robot) (ท่ีมา : รงั สิดง หงสห์ ิรัญ์ , และอ่นื ๆ (2557)) ขอ้ ดีของหุ่นยนต์ทรงกระบอก 1) มสี ่วนประกอบไม่ซบั ซ้อน 2) การเคลอ่ื นทส่ี ามารถเข้าใจได้ง่าย 3) สามารถเข้าไปในบรเิ วณทเี่ ปน็ ช่องหรอื โพลงไดง้ ่าย ขอ้ เสยี ของหนุ่ ยนต์ทรงกระบอก 1) มพี ้นื ที่ทำงานจำกดั 2.1.3 หุ่นยนต์ทรงกลม (Spherical Robot)
6 ภาพที่ 2.3 แสดงลักษณะของหุ่นยนต์ทรงกลม ซึ่งจะมีแกนทั้งหมด 3 แกน โดยมี ลักษณะการเคลื่อนที่ในแนวเส้นตรง 1 แกน (One Linear Axis) ส่วนอีก 2 แกนที่เหลือจะสามารถ เคลอ่ื นทีแ่ บบหมนุ (Revolute) เหมาะสำหรบั ลกั ษณะงานทเ่ี คลอ่ื นท่ีในแนวตงั้ เพียงเล็กน้อย เชน่ งาน เชื่อมจุด (Spot Welding) เป็นต้น ภาพท่ี 2.3 หนุ่ ยนตท์ รงกลม (Spherical Robot) (ทม่ี า : รังสิดง หงส์หิรัญ์ , และอืน่ ๆ (2557)) ข้อดีของหนุ่ ยนต์ทรงกลม 1) มีปรมิ าตรการทำงานมากขึ้นเน่ืองจากการหมุนของแกนท่ี 2 2) สามารถจับชิ้นงานบนพน้ื ได้สะดวก ของหุน่ ยนต์ทรงกลม 1) มีระบบพิกดั และสว่ นประกอบท่ีซบั ซ้อน 2) การเคลอ่ื นทแ่ี ละระบบควบคุมมคี วามซับซอ้ น 2.1.4 หุ่นยนตข์ อ้ ต่อ (Articulated Robot) ภาพที่ 2.4 แสดงลักษณะของหุ่นยนต์ข้อต่อ ซึ่งจะมีลักษณะการเคลื่อนท่ีเหมือนกับ แขนมนุษย์โดยทุกแกนจะเคลื่อนที่แบบหมุนที่ประกอบไปด้วยข้อต่อต่าง ๆ เช่น หัวไหล่ ท่อนแขน และข้อมือ เนื่องจากแต่ละแกนสามารถเคลื่อนไหวได้อิสระ ทำให้หุ่นยนต์ชนิดนี้สามารถใช้งานได้ กว้างขวาง เช่น งานเชื่อม (Welding) งานขนย้ายวัสดุ (Material Handling) และงานประกอบ ชน้ิ สว่ น (Assembly) เป็นต้น
7 ภาพท่ี 2.4 หุ่นยนต์ข้อต่อ (Articulated Robot) (ทีม่ า : รงั สิดง หงส์หริ ญั ์ , และอ่นื ๆ (2557)) ข้อดีของหุน่ ยนต์ขอ้ ต่อ 1) มคี วามยดื หยนุ่ สูงในการเข้าไปยังจดุ ตา่ ง ๆ 2) มีพน้ื ท่ีทำงานมาก ข้อเสียของหุ่นยนต์ข้อต่อ 1) มรี ะบบพกิ ัดที่ซับซ้อน 2) การเคลอ่ื นที่และระบบควบคุมทำความเขา้ ใจได้ยาก 3) โครงสร้างไม่ม่ันคงตลอดช่วงการเคลอื่ นท่ี 2.1.5 หุน่ ยนตส์ กาลา่ (Scara Robot) ภาพที่ 2.5 แสดงลกั ษณะของหุ่นยนต์สการา่ ที่มลี ักษณะการเคลื่อนท่จี ะเปน็ เส้นตรง 1 แกน และ อีก 2 แกนจะเคลื่อนที่แบบหมุน ซึ่งจะคล้ายกับหุ่นยนต์แบบทรงกระบอก แต่จะมี โครงสร้างต่างกัน และเนื่องจากการเคลื่อนที่ขึ้นลงได้รวดเร็วจึงเหมาะกับงานประเภทที่ต้องอาศัย ความรวดเร็วและแม่นยำ เช่น งานประกอบชิ้นส่วนอิเลก็ ทรอนิกส์ งานบรรจุภัณฑ์ (Packaging) เป็น ตน้ ภาพท่ี 2.5 หุ่นยนต์สกาล่า (Scara Robot) (ทีม่ า : รังสดิ ง หงสห์ ริ ัญ์ , และอื่น ๆ (2557))
8 ขอ้ ดีของหนุ่ ยนต์สกาลา่ 1) สามารถเคลื่อนทใ่ี นแนวระนาบและข้นึ ลงไดร้ วดเรว็ 2) มีความแมน่ ยำสูง ขอ้ เสยี ของหนุ่ ยนตส์ กาล่า 1) มพี ืน้ ที่ทำงานจำกัด 2) ไม่สามารถหมนุ ในลักษณะมุมต่าง ๆ ได้ 3) สามารถยกน้ำหนักได้ไม่มากนัก 2.2 ทฤษฎจี ลนศาสตร์ของหุ่นยนต์ ทฤษฎีจลนศาสตร์ของหุ่นยนต์จลนศาสตร์ หรือที่เรียกว่า Kinematics เป็นการศึกษาการ เคลื่อนที่ที่เกี่ยวข้องกับตำแหน่ง (Position) ความเร็ว (Velocity) และความเร่ง (Accelerate) ของ วัตถุ จลนศาสตร์ของแขนกล คือ การศึกษาทางด้านเรขาคณิตโดยเฉพาะการเคลื่อนที่ของแขนกลใน หุ่นยนต์โดยไม่คิด แรง ภาพร่าง ขนาด และน้ำหนัก การศึกษาจะคำนวณหา ตำแหน่ง ความเร็ว และ ความเร่งของการเคลื่อนไหวของแขนกลผ่านระบบก้านโยง (Linkages) หรือกลไก (ไกรวุฒิ หลักคา, 2549) จลนศาสตรส์ ำหรบั หุ่นยนตน์ ้นั แบง่ เปน็ 2 แบบ คอื 2.2.1 จลนศาสตร์แบบไปข้างหน้า (Forward Kinematics) จลนศาสตร์แบบไปข้างหน้าบางครั้งเรียกว่า จลศาสตร์ทางตรง (Direct Kinematics) จะเป็นการคำนวณหาตำแหน่งส่วนปลายของแขนกล (End Effectors) จากมุมของข้อ ต่อ (Joint Angle) หรือมุม ก้านต่อ (Link) ของแขนกลที่เคลื่อนที่ไป สำหรับตำแหน่งส่วนปลายของ แขนกลจะใช้ระบบพิกัด (Coordinate System) ในการอ้างอิง ซึง่ โดยทวั่ ไปนั้นระบบพิกัดคาร์ทีเซียน (Cartesian Coordinate System) มักจะนิยมนำมาใช้อ้างอิงในการวิเคราะห์ เพื่อหาความสัมพันธ์ ระหว่างมุมของข้อต่อกับตำแหน่งส่วนปลายของแขนกล การวิเคราะห์จลนศาสตร์แบบไปข้างหน้า สำหรับแขนกลที่เคลือ่ นที่ในระนาบ สามารถทำได้โดยใช้ วิธีการทางเรขาคณติ ซึ่งง่ายต่อการวิเคราะห์ โดยมองทุกก้านต่อให้อยู่ในระนาบเดียวกัน ภาพที่ 2.6 แสดง แผนภาพของแขนกลที่กำหนดให้ เคลือ่ นทใี่ นระนาบ x - y เมอื่ ทำการวเิ คราะห์หาตำแหน่งส่วนปลายของแขนกล ซ่งึ ก็คือตำแหนง่ ปลาย สุดของก้านต่อที่ 3 (l3) จากมุมของข้อต่อทั้ง 3 แกน (l1, l2, l3) จะได้สมการการเคลื่อนที่แบบ จลนศาสตรแ์ บบไปขา้ งหนา้ ดงั สมการที่ (2.1) สมการที่ (2.2) และ สมการท่ี (2.3) x = l1 cos(θ1) + l2 cos(θ1 + θ2) + l3 cos(θ1 + θ2 + θ3) (2.1) y = l1 sin(θ1) + l2 sin(θ1 + θ2) + l3 sin(θ1 + θ2 + θ3) (2.2) ∅ = θ1 + θ2 + θ3 (2.3)
9 โดยที่ x คือ ระยะของตำแหน่งส่วนปลายแขนกลในแนวแกน x y คอื ระยะของตำแหน่งสว่ นปลายแขนกลในแนวแกน y l1 คอื ความยาวของกา้ นต่อที่ 1 l2 คอื ความยาวของก้านต่อที่ 2 l3 คือ ความยาวของกา้ นต่อที่ 3 θ1 คอื มมุ การเคล่ือนท่ขี องก้านต่อที่ 1 อา้ งอิงกับแกน x θ2 คอื มุมการเคล่ือนทข่ี องกา้ นตอ่ ท่ี 2 อ้างอิงกบั กา้ นต่อที่ 1 θ3 คอื มุมการเคล่ือนที่ของกา้ นตอ่ ท่ี 3 อา้ งอิงกบั ก้านต่อที่ 2 ∅ คอื มมุ การสว่ นปลายแขนกลอา้ งอิงกบั แกน x ภาพท่ี 2.6 แผนภาพแขนกล 3 แกน 3 กา้ นต่อ (link) ที่เคลอื่ นทีใ่ นแนวระนาบ x - y (ที่มา : รังสดิ ง หงสห์ ริ ัญ์ , และอ่ืน ๆ (2557)) 2.2.2 จลนศาสตร์แบบผกผัน (Inverse Kinematics) จลนศาสตร์แบบผกผัน (Inverse Kinematics) การคำนวณค่าตัวแปรของแต่ละข้อ ต่อ โดยกำหนดตำแหน่งที่ปลายของแขนกล วิธีการคำนวณจลนศาสตร์แบบผกผันนี้ ในบางครั้งมีได้ หลายคำตอบ (Several Solution) หรือไม่สามารถหาคำตอบ (No Answer) ได้ การคำนวณนี้ ค่อนข้างยุ่งยากกว่าการคำนวณจลนศาสตร์แบบไปข้างหน้า ซึ่งคำตอบของวิธกี ารคำนวณจลนศาสตร์ ผกผันนี้อาจเป็นได้ 2 ภาพแบบคือ แบบปิด (Closed Form) และแบบคำนวณซ้ำเชิง ตัวเลข (Numerical Iterative Form) โดยวิธีการแบบปิดนั้นสามารถหาคำตอบให้อยู่ในภาพของฟังก์ชันซ่ึง ง่าย ต่อการคำนวณหาค่า เพราะสามารถแทนค่าในตัวแปรของฟังก์ชัน โดยความยาวของแต่ละก้าน
10 โยงและตำแหน่งเป้าหมายของหุ่นยนต์ถูกให้มาทำให้สามารถคำนวณหามุมของแต่ละข้อต่อได้ วิธีนี้ สามารถประยกุ ต์ใชใ้ นงานท่ีรตู้ ำแหน่งเริ่มต้น และตำแหนง่ สดุ ท้ายของปลายแขนกล เช่น การหยิบจับ วัตถุของแขนกลในงานอุตสาหกรรม ซึ่งวิธีการแบบปิดนั้นในการหาคำตอบ สามารถทำได้ 2 วิธี คือ วธิ กี ารพชี คณติ และวิธีเรขาคณิตสว่ นวธิ ีการ แบบคำนวณซ้ำเชงิ ตัวเลขน้ันใชว้ ธิ ีสมมตุ ิค่าตัวเลขเร่ิมต้น แล้วทำซ้ำไป จนกวา่ ค่านน้ั ไม่มีการเปล่ียนแปลง ภาพที่ 2.7 ภาพฉายแขนกลเมอ่ื มองด้านบน (Top View) ในแนวระนาบ x – y (ทีม่ า : รังสิดง หงสห์ ริ ัญ์ , และอนื่ ๆ (2557)) ภาพที่ 2.8 แผนภาพของแขนกล 4 แกน 4 กา้ นต่อท่ีเคลือ่ นท่ใี นแนวระนาบ x – y – z (ทีม่ า : รังสิดง หงส์หิรัญ์ , และอนื่ ๆ (2557))
11 การวิเคราะห์จลนศาสตร์แบบผกผันจะใช้วิธีเรขาคณิต เพื่อหามุมของข้อต่อทั้ง 4 แกน (θ1, θ2, θ3, θ4) ท่เี คล่อื นที่ในระนาบ x-y-z ภาพที่ 2.7 แสดงภาพฉายของแขนกลบนระนาบ x- y ใช้ในการวิเคราะห์หามุมของข้อต่อที่ 1 (θ1) โดยไม่สนใจความสูงในแนวแกน z ภาพที่ 2.8 แสดง แผนภาพของแขนกลเมื่ออยู่ในระนาบ x - y - z ใช้ในการวเิ คราะห์หามมุ ของข้อต่อที่ 2 (θ2) ข้อต่อท่ี 3 (θ3) และขอ้ ตอ่ ท่ี 4 (θ4) ซึง่ จะได้สมการการเคลือ่ นท่แี บบจลนศาสตรแ์ บบผกผนั ดังสมการท่ี (2.4) สมการท่ี (2.5) สมการที่ (2.6) และ สมการที่ (2.7) θ1 = tan−1 (y) (2.4) x (2.5) (2.6) θ3 = cos−1 (d2−l22−l32) −2∗ l2∗l3 θ2 = (180O − θ3 − ∝2) + (180O − ∝1) θ4 = 180O − ∝2 − ∝1 (2.7) เมือ่ d = √z2 + (r − l4)2 (2.8) (2.9) r = √x2 + y2 (2.10) z α1 = cos−1 (d) (2.11) α2 = cos−1 (l22−−2 l32 − d2 ∗ l3 ∗ d) โดย x คือ ระยะของตำแหนง่ สว่ นปลายแขนกลในแนวแกน x y คอื ระยะของตำแหน่งสว่ นปลายแขนกลในแนวแกน y z คือ ระยะของตำแหน่งสว่ นปลายแขนกลในแนวแกน z d คอื ระยะจากมมุ θ2 กับมุม θ4 r คอื ระยะจากมมุ θ2 ถงึ วตั ถุ l1 คือ ความยาวก้านต่อที่ 1 l2 คือ ความยาวก้านตอ่ ที่ 2 l3 คอื ความยาวก้านตอ่ ที่ 3 l4 คือ ความยาวก้านตอ่ ท่ี 4 θ1 คอื มมุ การเคลื่อนที่ของก้านต่อท่ี 1 อ้างอิงกบั แกน x θ2 คอื มุมการเคลื่อนที่ของกา้ นตอ่ ที่ 2 อ้างอิงกับแนวระนาบ x – y θ3 คือ มุมการเคลื่อนทีข่ องก้านต่อท่ี 3 อา้ งอิงกับกา้ นต่อท่ี 2 θ4 คอื มมุ การเคล่ือนท่ีของก้านต่อท่ี 4 อา้ งอิงกบั ก้านต่อที่ 3
12 2.3 สเต็ปเปอร์มอเตอร์ สเต็ปเปอร์มอเตอร์ (Stepping Motor) มีความแตกต่างจากมอเตอร์ทั่วไป คือ เมื่อป้อน กำลังไฟฟา้ เข้าไปจะหมุนไปเพยี งเล็กนอ้ ย สเต็ปปิงมอเตอร์จึงเปน็ มอเตอร์ทเ่ี หมาะสมสำหรับใช้ในงาน ควบคุมการหมุนที่ต้องการตำแหน่งและทิศทางที่แน่นอน สเต็ปปิงมอเตอร์จะขับเคลื่อนทีละขั้น (Step) มีตั้งแต่ 100 ถึง 400 สเต็ปต่อรอบ หรือหมุนสเต็ปละ 0.9 องศาม, 1.8 องศา, 3.6 องศา, 5 องศา, 7.5 องศา และ 15 องศา ซึ่งขึ้นอยู่กับคุณสมบัติแต่ละชนิดของสเต็ปปิงมอเตอร์ตังนั้น ๆ และ ยังสามารถใชโ้ ปรแกรมให้หมุนเปน็ ระยะทางไมโครเมตรได้ 2.3.1 ชนิดของสเต็ปเปอร์มอเตอร์ ปจั จบุ ันสเตป็ เปอร์มอเตอร์ได้แบ่งออกเป็น 2 แบบ คอื แบบ 2 เฟส และแบบ 5เฟส ทั้งสองแบบมีข้อแตกต่างกันที่โครงสร้าง แต่ผู้เขียนจะกล่าวถึงเฉพาะสเต็ปปิงมอเตอร์แบบ 2 เฟส เท่านน้ั สเต็ปปิงมอเตอร์แบบ 2 เฟสแบ่งเป็นชนิดยนู โิ พล่าร์ (Unipolar) และชนิดไบโพลาร์ (Bipolar) แต่ละชนดิ มีรายละเอยี ดดังน้ี ชนิดยูนิโพลาร์ โครงสร้างของสเต็ปเปอร์มอเตอร์ชนิดยูนิโพลาร์จะมีจุดต่อที่เป็นจุด สำหรับไฟฟ้าบวกจำนวน 1 เส้น และสายสำหรับต่อผ่านอุปกรณ์สวิตช์ลงกราวด์อีก 4 เส้น ดังนั้นจึงมี สายสำหรับต่อมาใช้งาน 5 เส้น (สำหรับ Common ภายใน) และ 6 เส้น (สำหรับ Common ภายนอก) ดงั แสดงในภาพ 2.9 และ 2.10 ตามลำดบั ภาพท่ี 2.9 โครงสรา้ งของสเต็ปเปอรม์ อเตอรช์ นดิ ยนู ิโพลาร์แบบ Common ภายใน (ที่มา : วทิ ยาลัยสารพดั ชา่ งนครราชสีมา (2563))
13 ภาพท่ี 2.10 โครงสร้างของสเตป็ เปอรม์ อเตอร์ชนดิ ยูนิโพลาร์แบบ Common ภายนอก (ที่มา : วิทยาลัยสารพัดชา่ งนครราชสมี า (2563)) ชนิดไบโพลาร์ สเต็ปเปอร์มอเตอร์ชนดิ ไบโพลาร์จะไม่มีจุดต่อสำหรบั ตอ่ ไฟฟ้าบวกแต่ จะ ใช้การกระตนุ้ ผ่านเฟสแต่ละเฟสของเตป็ ปิงมอเตอร์ ดงั น้ันจึงมีสายตอ่ ออกมาใช้งานจำนวน 4 เส้น โครงสรา้ งของของสเตป็ ปงิ มอเตอร์ชนิดไบโพลาร์ แสดงในภาพที่ 12.3 ภาพที่ 2.11 โครงสรา้ งของสเตป็ ปงิ มอเตอร์ชนิดไบโพลาร์ (ที่มา : วทิ ยาลัยสารพดั ช่างนครราชสมี า (2563)) 2.3.2 การสงั่ งานควบคมุ การหมนุ ของสเต็ปมอเตอร์ การควบคุมและสั่งงานให้สเต็ปมอเตอร์ทางาน ไปทีละสเต็ปสามารถทาได้โดยการ จ่ายกาลังไฟไปยังขดลวด ในแต่ละขอบนสเตอร์ โดยการป้อนจะทาในลักษณะเป็นลาดับหรือเรียกว่า
14 ซีเควนเวียลในลูปที่ถูกต้อง ซึ่งจะแบบ ได้เป็น 3 ภาพแแบ คือ แบบเวฟ (Wave) แบบ 2 เฟส (2 Phase) และแบบครง่ึ สเตป็ (Half Step) ทัง้ 3 แบบนก้ี ็จะมีข้อดีและขอ้ เสยี ต่างกนั ออกไป 1) แบบเวฟ (Wave) จะเป็นการกระตุ้นแบบที่ง่ายที่สุด ซึ่งจะทาการกระตุ้นขดลวดทีละขดใน เวลาหนึ่ง ๆ เรียงกันไป ตัวอย่างเช่น ขดที่ 1, 2, 3, 4, 1, 2, 3, 4 เป็นลาดับอย่างนี้ หรือ ขด 1, 4, 3, 2, 1, 4, 3, 2 เป็นลาดับกันไป ทั้งนี้ขึ้นอยู่กับทิศทางที่ต้องให้สเต็ปเปอร์มอเตอร์หมุนไป วงจรที่นามา กระตุ้นนั้นจะมีราคาค่อนข้างจะถูกกว่าและง่ายกว่า สามารถเขียนขั้นตอนการทางานเป็นตาราง ออกมาไดด้ ังน้ี ตารางที่ 2.1 ขน้ั ตอนการทางานแบบเวฟ (Wave) 2) แบบ 2 เฟส (2 Phase) แบบนี้ก็จะคล้ายกับการกระตุ้นในแบบเวฟแต่จะต่างกันตรงที่ แบบ 2 เฟส จะกระตุ้นทีละ 2 ขด ที่อยู่ใกล้กันใน เวลาเดียวกัน และจะเรียงลาดับกันไป ดังเช่นแบบเดียวกับแบบ เวฟครับ จะยกตัวอย่างการกระตุ้นขดลวดในลักษณะ ซีเควนให้ดูดังนี้ 12, 23, 34, 41, 12, 23, 34 , 41 เรียงลาดับกันไปเรื่อย ๆ หรือจะเป็น 14, 43, 32, 21, 14, 43, 32, 21 เรียงกันไปเรื่อย ๆ เช่นกนั ถ้าจะมากลา่ วถงึ ขอ้ ดขี ้อเสียของแบบ 2 เฟส แล้วมดี ังนี้ ข้อดี การที่จะเพิ่มจานวนขดลวดที่ถูกกระตุ้นจะทาให้แรงบิดได้มากกว่า แบบเวฟ ซ่ึงโรเตอร์จะหมุนดว้ ยแรง ดงึ แบบเตม็ แรงจาก ทงั้ 2 ขดลวดทกี่ ระตนุ้ พรอ้ มกัน ขอ้ เสยี แบบ 2 เฟส จะกระตุน้ ขดลวดนั้นต้องใช้กาลังไฟมากขน้ึ เป็น 2 เท่า ของแบบเวฟ สามารถเขียนลาดับการกระตุ้นของขดลวดแบบ 2 เฟส ได้ดังในตาราง ต่อไปน้ี
15 ตารางที่ 2.2 ข้ันตอนการทางานแบบ 2 เฟส(2 Phase) 3) แบบครงึ่ สเตป็ แบบนี้แบบภาพแบบผสมผสานของการกระตุ้นระหวา่ ง แบบเวฟ กับ แบบ 2 เฟส เพื่อให้จานวนรอบของสเต็ปให้ มากขึ้นเป็น 2 เท่า ซึ่งในระบบนี้จะทาการกระตุ้นขดลวดเรียง กันไปเรื่อย ๆ เป็นลาดับ ดังจะยกตัวอย่างต่อไปนี้ 1, 12, 2, 23, 3, 34, 4, 41, 1, 12, 2, 23, 3, 34, 4, 41, 1 เป็นลาดับอยู่อย่างนี้เรื่อยไปครับ ถ้าเราจะกลับทิศทางการหมุนก็จะได้เป็นดังนี้ 1, 41, 4, 43, 3, 32, 2, 21, 1, 41, 4, 43, 3, 32, 2, 21, 1 เป็นลาดบั ข้อดี การกระตุ้นแบบนี้จะให้แรงบิดที่เพิ่มมากขึ้น เนื่องจากช่วงสเต็ปที่มี ระยะสนั้ ลงอีกประการหน่ึงแตล่ ะ สเตป็ เกดิ แรงดงึ จากขดลวด 2 ขดท่ีถูกกระตุน้ พร้อมกนั เป็นผลให้ค่า ตาแหน่งความถกู ต้องมากขน้ึ ไปดว้ ย ข้อเสีย ต้องจ่ายกาลังไฟเป็น 2 เท่าของแบบเวฟหรือจะใช้เท่ากับแบบ 2 เฟส นั้นเอง ดงั น้นั สามารถนาลาดบั การทางานของ แบบครง่ึ เฟส ในภาพของตารางได้ดังน้ี ตารางที่ 2.3 ขน้ั ตอนการทางานแบบครึง่ สเต็ป
16 ทั้งหมดนี้ก็เป็นพื้นฐานของความรู้ด้านสเต็ปมอเตอร์เพื่อที่จะนาให้สามารถนาไปประกอบกับ การใช้ ทาโครงงานตา่ ง ๆ ในงานอนิ เทอรเ์ ฟส 2.3.3 วงจรขับสเตป็ ปงิ มอเตอร์ วงจรขับสเต็ปปิงมอเตอร์ที่ใช้กับสเต็ปปิงมอเตอร์ชนิดยูนิโพลาร์เป็นวงจรสวิตช์ อิเล็กทรอนิกส์ที่ต่อวงจรลงกราวค์ (ขณะ ON) และตัดวงจรที่ต่อลงกราวค์ (ขณะ OFF) ดังนั้นวงจร ขับสเต็ปปิงมอเตอร์ชนิดยูนิโพลาร์ เป็นวงจรอินเวิร์สเตอร์กับสัญญาณอินพุต กล่าวคือเมื่ออินพุตมี ระดับลอจิก 1 เอาต์พุตจะเป็น 0 ถ้าหากอินพุตเป็น 0 เอาต์พุตจะเป็น 1 วงจรที่นำมาใช้อาจจะสร้าง จาก FET หรอื Transistor หรอื ไอซเี บอร์ ULN2003, ULN2008 วงจรขบั สเตป็ ปงิ มอเตอร์ชนิดยูนิโพ ลาร์ที่ใช้ไอซี ULN2003 แสดงในภาพที่ 12.4 ไอซีเบอร์ ULN2003 จะมีคุณสมบัติเป็นไอซีขับกระแส สูงแบบ Open Collector สามารถใช้แรงดันไฟฟ้าได้ตั้งแต่ 5-35 โวลต์จ่ายกระแสได้สูงถึง 500 mA ต่อขาและมีไดโอดที่ป้องกนั กระแสย้อนกลบั อยู่ภายใน ภาพท่ี 2.12 วงจรขับสเต็ปปิงมอเตอร์ชนิดยนู โิ พลาร์โดยใช้ไอซีเบอร์ ULN2003 (ที่มา : วทิ ยาลัยสารพดั ช่างนครราชสีมา (2563)) 2.4 บอรด์ ไมโครคอนโทรลเลอร์อาดูโน่ (Arduino) บอร์ด อาดูโน่ (Arduino) เป็นบอร์ดไมโครคอนโทรลเลอร์ท่ีใช้ไมโครคอนโทรลเลอร์ เอวีอาร์ ขนาดเล็กเป็นตัวประมวลผลและสั่งงาน เหมาะสำหรับการนำไปใช้ในการศึกษาเรียนรู้ระบบ ไมโครคอนโทรลเลอร์ และนำไปประยุกต์ใช้งานเกี่ยวกับการควบคุมอุปกรณ์ อินพุต/เอาต์พุต ต่าง ๆ ได้มากมาย ทั้งในแบบที่เป็นการทำงานตัวเดียวอิสระ หรือเชื่อมต่อสั่งงานร่วมกับอุปกรณ์อื่น ๆ เช่น คอมพิวเตอร์ ทั้งนี้ก็เนื่องมาจากว่า อาดูโน่ (Arduino) สนับสนุนการเชื่อมต่อกับอุปกรณ์ อินพุต/ เอาต์พุต ต่าง ๆ ได้มากมาย ทั้งแบบ ดิจิตอล และ อนาล็อก เช่น การรับค่าจากสวิตช์หรืออุปกรณ์ ตรวจจบั (Sensor) แบบตา่ ง ๆ รวมไปถงึ การควบคุมอปุ กรณ์ เอาตพ์ ุต ตา่ ง ๆ ต้งั แต่ แอลซีดี หลอดไฟ มอเตอร์ รีเลย์ เป็นต้น โดยระบบฮาร์ดแวร์ของ อาดูโน่ (Arduino) สามารถสร้างและประกอบขึ้นใช้
17 งานไดเ้ อง ในกรณีทผ่ี ู้ใชพ้ อมีความรดู้ ้านอเิ ลก็ ทรอนิกส์อยบู่ า้ ง หรือสามารถซ้ือแผงวงจรสำเร็จภาพท่ีมี การผลิตออกจำหน่าย กันในราคาที่ไม่แพง สำหรับเรื่องของโปรแกรมที่จะใช้เป็นเครื่องมือในการ พัฒนาน้นั สามารถดาวโหลดมาใช้กันได้ฟรโี ดยไมเ่ สยี ค่าใช้จา่ ยใด ๆ โดย อาดูโน่ (Arduino) มีจุดเด่น ในเรื่องของความง่ายต่อการพัฒนาโปรแกรมและมีเอกสารข้อมูลรวมทั้งตัวอย่างต่าง ๆ ให้ใช้เป็น แนวทางในการศึกษาเรียนรู้เป็นจำนวนมาก เนื่องจาก อาดูโน่ (Arduino) เป็นระบบการพัฒนา ไมโครคอนโทรลเลอร์แบบ โอเพ่นซออร์ส (Open Source) ซึ่งมีการตีพิมพ์เอกสารต่าง ๆ ที่เกี่ยวขอ้ ง ออกมาเผยแพร่ให้ได้รับรู้เป็นระยะ ๆ รวมทั้งการเปิดเผย Source Code และตัวอย่างต่าง ๆ ให้ผู้ใช้ นำไปใช้งาน หรอื พฒั นาดัดแปลงตอ่ ยอดไดโ้ ดยไมเ่ สยี ค่าใช้จา่ ย ดว้ ยเหตุนีจ้ งึ มีผูค้ นท่ัวไปให้ความสนใจ และนำไปศึกษาทดลองใช้งานกันมากมาย มีการนำไปดัดแปลงและสร้างเป็นโครงงานแบบต่าง ๆ กัน เป็นจำนวนมาก จงึ เปน็ ประโยชน์อย่างย่ิงสำหรับผเู้ ริ่มต้นท่ีสามารถนำเอาตวั อย่างและโครงงานต่าง ๆ ที่คนอื่นทำไว้แล้วมาใช้อ้างอิงเป็นแนวทางในการศึกษาเรียนรู้ได้โดยง่าย และที่สำคัญคือ ไม่เสีย คา่ ใชจ้ า่ ย (เอกชัย มะการ, 2552, หน้า 1-2) ประเภทของบอรด์ อาดโู น่ (Arduino) บอร์ด อาดูโน่ (Arduino) มีหลายรุน่ หลายประเภท ดังตอ่ ไปนี้ 2.4.1 บอร์ด Arduino Uno R3 บอร์ด อาดูโน่ยูโนอ่ าร์ 3 (Arduino Uno R3) เป็นบอรด์ ท่ีไดร้ ับความนยิ มมากทส่ี ุด เนื่องจากมีราคาถูก มี โปรเจค (Project) และ ไลเบอร่ี (Library) สนบั สนุนมากมาย และมขี ้อดีคอื ถ้า ไมโครคอนโทรลเลอรเ์ สยี ผ้ใู ช้งานสามารถซื้อมาเปลี่ยนเองใหมไ่ ด้งา่ ย ซง่ึ สะดวกต่อการใชง้ าน ภาพที่ 2.13 บอร์ด Arduino Uno R3 (ท่มี า : บรษิ ทั วนี สั ซัพพลาย (2563))
18 2.4.2 บอรด์ Arduino Uno SMD 33 บอร์ด อาดูโน่ยูโน่เอสเอ็มดี 33 (Arduino Uno SMD 33) มีคุณสมบัติ และการ ทำงานเหมือนกับบอร์ด อาดูโน่ยูโน่อาร์ 3 (Arduino Uno R3) ทุกประการแต่จะแตกต่างกันตรงท่ี แพคเกต (Package) ของ MCU บอร์ด Arduino Uno SMD จะ มี MCU เป็น Package SMD ส่วน Arduino UNO R3 จะมี MCU เปน็ Package DIP ภาพท่ี 2.14 บอร์ด Arduino Uno SMD 33 (ทมี่ า : บริษทั วนี ัส ซัพพลาย (2563)) 2.4.3 บอรด์ Arduino Mega 2560 บอร์ด Arduino Mega 2560 R3 เป็นบอรด์ Arduino ทีม่ ขี า I/O มากกวา่ Arduino Uno R3 ถูกเอาไปใช้ในงานต่าง ๆ เช่น งานท่ตี อ้ งการรับสัญญาณจากเซนเซอร์ (Sensor) หรอื ควบคมุ เซอร์โวมอเตอร์หลายๆ ตัว เนื่องจากบอร์ด Arduino Uno R3 มีขา I/O ไม่เพียงพอที่จะสามารถ รองรับได้ และบอร์ด Mega 2560 R3 มีข้อท่ีเด่นกว่า Arduino Uno R3 อีกข้อหนึ่งคือมี หน่วยความจำแบบ แฟลช (Flash) มากกว่า ทำให้สามารถเขียนโค้ดโปรแกรมเข้าไปได้มากกว่าใน ความเร็วของ MCU ที่เท่ากัน Arduino Mega 2560 เป็นบอร์ดไมโครคอนโทรลเลอร์ท่ีทำงานบน พ้นื ฐานของ ATmega2560 ซ่งึ ประกอบด้วย 1) 54 digital input/output pins (15pin สามารถใชเ้ ป็น PWM output ได)้ 2) 16 analog inputs 3) 4 UARTS 4) 16 MHz crystal oscillator (กรองความถ่ใี ห้กบั บอรด์ ไมโครคอนโทรเลอร์) 5) USB connection 6) ช่องเสียบแหล่งจา่ ย
19 7) ICSP header :In-Circuit Serial Programming (สว่ นทีเ่ ปน็ AVR ขนาดเลก็ สำหรับการโปรแกรม Arduino ซ่ึงประกอบดว้ ย MOSI, MISO, SCK, RESET, VCC, GND 8) ป่มุ กด reset 9) VIN เปน็ input voltage ของบอร์ด Arduino โดยใช้แหลง่ จ่ายจากภายนอก 10) 5V เปน็ output pin ท่ีควบคุมกระแสไฟ 5 โวลต์ จากบอร์ด 11) 3.3V เปน็ 3.3 volt supply ที่สร้างขนึ้ จากเรกกวิ เลเทอะบนบอร์ด และให้ กระแสไดส้ ูงสดุ 50 mA 12) GND เปน็ ground pin 13) IOREF เปน็ pin ท่ใี ห้ แรงดนั ไฟฟา้ กับไมโครคอนโทรลเลอร์ เพ่ือเลือกค่า แรงดันใหก้ ับ shield ทีม่ าเช่ือมตอ่ กบั บอร์ด โดยบอร์ดน้ีมที กุ ส่ิงทไี่ มโครคอนโทรลเลอรจ์ ำเป็นต้องใชอ้ ย่างการต่อไฟเลย้ี งสามารถ ทำไดท้ งั้ การเช่อื มตอ่ เข้ากบั USB cable หรือ จา่ ยไฟด้วย AC-DC adapter หรอื การใช้แบตเตอรี่ ซึ่ง Mega เป็นบอรด์ ทเี่ ขา้ กนั ได้กับ shield ทอี่ อกแบบมาเพื่อ Arduino Duemilanove หรอื Diecimila Arduino Mega นี้มีความแตกต่างจากบอร์ดอื่น คือ ไม่ใช้ FTDI USB-to-Serial driver chip แตจ่ ะมี ATmega16U2 เขา้ มาเป็นโปรแกรมแปลง USB-to-SerialPower Arduino Mega สามารถรับแหล่งจ่ายโดยการเชื่อมต่อ Micro USB Connector หรอื จาก Power Supply จากภายนอกได้โดยแหลง่ พลงั งานจะถูกเลอื กโดยอัตโนมตั ิ แหล่งจ่ายจากภายนอกสามารถมาได้จาก AC-to-DC Adapter หรือจากแบตเตอรี่ โดยต่อเข้ากับ 2.1mm Center-Positive Plug ไปยงั ชอ่ งเสยี บแหล่งจ่าย และการต่อเขา้ กับแบตเตอรี่ สามารถทำได้โดยการต่อเข้ากบั GND และ Vin Pin ของ Power Connecter บอร์ดสามารถทำงานได้ในช่วงแรงดัน 6 ถึง 20 โวลต์ ถ้าแหล่งจ่ายมีค่าต่ำกว่า 7 โวลต์ อาจส่งผลให้ 5V Pin มีแรงดันที่ต่ำกว่า 5โวลต์ และบอร์ดอาจจะไม่เสถียร แต่ถ้าหากแรงดันมี ค่าสูงกว่า 12 โวลต์ อาจส่งผลให้บอร์ดร้อนเกินไปและอาจทำให้บอร์ดเสียหายได้ ดังนั้นช่วงแรงดันที่ เหมาะสมกบั บอร์ดคือ 7 โวลต์ ถงึ 12 โวลต์ หน่วยความจำ 256 KB (8 KB ใช้สำหรับ Bootloader) นอกจากนี้ยังมีอีก 8 KB สำหรบั SRAM และ 4 KB สำหรบั EEPROM การส่งข้อมูลในแต่ละพินทั้ง 54 พินบนบอร์ด Arduino Mega สามารถเป็นได้ท้ัง อนิ พุท และ เอาตพ์ ุท โดยจะทำงานท่แี รงดนั 5 V และให้กระแสสูงสุด 40 mA
20 ภาพท่ี 2.15 บอรด์ Arduino Mega 2560 (ทีม่ า : บริษทั วีนัส ซพั พลาย(2563)) 2.4.4 บอรด์ Arduino Leonardo จากภาพที่ 2.17 คือบอร์ด Arduino Leonardo ซึ่งจะทำงานคล้ายกับบอร์ด Arduino Uno R3 แต่มี MCU เป็น ATmega32U4 มีโมดูลพอร์ต USB มาด้วยบนชิป แตกต่างจาก บอร์ด Arduino UNO R3 หรือ Arduino Mega 2560 ที่ต้องใช้ชิป ATmega16U2 ร่วมกับ Atmega328 ในการเช่อื มตอ่ กับพอรต์ USB ภาพที่ 2.16 บอร์ด Arduino Leonardo (ทีม่ า : บรษิ ัท วนี สั ซัพพลาย(2563)) 2.4.5 บอรด์ Arduino mini 05 จากภาพที่ 2.18 คือ บอร์ด Arduino Mini 05 ซึ่งเป็นบอร์ด Arduino ขนาดเล็กท่ี ใช้ MCU เบอร์ เดียวกับบอร์ด Arduino UNO R3 (เบอร์ ATmega328) แต่แตกต่างตรงที่บอร์ด Arduino Mini 05 จะไม่มี พอร์ต USB มาให้ ผู้ใช้งานต้องต่อกับบอร์ด USB to Serial Converter เพ่ิม เม่อื ต้องการโปรแกรมบอร์ด
21 ภาพที่ 2.17 บอร์ด Arduino Mini 05 (ท่มี า : บรษิ ัท วนี ัส ซัพพลาย (2563)) 2.4.6 บอรด์ Arduino Pro Mini 328 3.3V จากภาพที่ 2.19 คือ บอร์ด Arduino Pro Mini 328 3.3V ซึ่งเป็นบอร์ด Arduino ขนาดเล็ก ท่ี ใช้ MCU เบอร์ ATmega328 ซึ่งจะคล้ายกับบอร์ด Arduino Mini 05 แต่บนบอร์ดจะมี Regulator 3.3 V ชดุ เดียวเท่านั้น ระดับแรงดันไฟที่ขา I/O คอื 3.3V ภาพท่ี 2.18 บอร์ด Arduino Pro Mini 328 3.3V (ทีม่ า : บรษิ ัท วีนัส ซพั พลาย (2563)) 2.4.7 บอร์ด Arduino Pro Mini 328 5V จากภาพที่ 2.20 คือ บอร์ด Arduino Pro Mini 328 5V ซึ่ง เป็นบอร์ด Arduino ขนาดเล็ก ท่ี ใช้ MCU เบอร์ ATmega328 เช่นเดียวกับบอร์ด Arduino Mini 05 แต่บนบอร์ดจะมี Regulator 5V ชดุ เดียว เทา่ น้นั ระดับแรงดนั ไฟที่ขา I/O คอื 5V
22 ภาพท่ี 2.19 บอรด์ Arduino Pro Mini 328 5V (ทมี่ า : บริษทั วนี ัส ซัพพลาย (2563)) 2.4.8 Arduino Ethernet with Poe Module จากภาพที่ 2.21 คือ บอร์ด Arduino Ethernet with Poe Module ซึ่งเป็นบอร์ด Arduino ที่ ใช้ MCU เบอร์เดียวกับ Arduino Uno SMD ในบอร์ดมีชิป Ethernet และช่องสำหรับ เสียบ SD Card รวมทั้ง โมดูล POE ทำให้บอร์ดนี้สามารถใช้แหล่งจ่ายไฟจากสาย LAN ได้โดยตรง โดยไม่ต้องตอ่ Adapter เพิม่ แตบ่ อร์ด Arduino Ethernet with PoE Module นีจ้ ะไมม่ ีพอร์ต USB ทำให้เวลาโปรแกรมตอ้ งตอ่ บอรด์ USB to Serial Converter เพม่ิ เติม ภาพท่ี 2.20 บอรด์ Arduino Ethernet with Poe Module (ทีม่ า : บรษิ ทั วีนสั ซพั พลาย (2563)) 2.4.9 บอร์ด Arduino Ethernet without PoE Module จากภาพท่ี 2.22 คือ บอร์ด Arduino Ethernet without PoE Module ซึ่งบอรด์ นี้ จะตัดโมดูล POE ออกไป ต้องใช้ไฟจากพอร์ต Power Jack เท่านั้น คุณสมบัติอื่น ๆ จะเหมือนกับ บอรด์ Arduino Ethernet with PoE Module
23 ภาพท่ี 2.21 บอร์ด Arduino Ethernet without PoE Module (ที่มา : บริษัท วีนสั ซัพพลาย (2563)) 2.4.10 บอร์ด Arduino Due จากภาพที่ 2.23 คือ บอร์ด Arduino Due ซึ่งเป็นบอร์ด Arduino ที่เปลี่ยนชิป MCU ใหม่ ซึ่งจากเดิมเป็นตระกูล AVR เปลี่ยนเป็นเบอร์ AT91SAM3X8E (ตระกูล ARM Cortex- M3) แทน ทำให้การประมวลผลเร็วขึ้น แต่ยังคงภาพแบบโค้ดโปรแกรมของ Arduino ที่ง่ายอยู่ ข้อ ควรระวัง เนื่องจาก MCU เป็นคนละเบอร์กับ Arduino Uno R3 อาจะทำให้บอร์ด Shield บางตัว หรือ Library ใช้ร่วมกันกับบอร์ด Arduino Leonardo ไม่ได้ ผู้ใช้งานจำเป็นต้องตรวจสอบก่อนใช้ งาน ภาพท่ี 2.22 บอร์ด Arduino Due (ท่ีมา : บรษิ ัท วีนสั ซพั พลาย (2563)) 2.5 3D Printer 3D Printer สว่ นใหญจ่ ะใชห้ ลักการทำงานเดียวกนั คือ พมิ พ์ 2 มิติแต่ละชน้ั ในแนวระนาบกับ พื้นโลก X, Y ก่อน ส่วนที่พิมพ์ก็คือภาพตัดขวางของวัตถุนั้น ๆ เอง เมื่อพิมพ์ในด้าน 2 มิติเสร็จแล้ว เครื่อง 3D Printer จะเลื่อนฐานพมิ พ์ไปพิมพ์ชั้นถัดไป จากนั้นจะพิมพ์ทับไปเรื่อย ๆ หลายร้อยหลาย
24 พันชั้น จนออกมาเปน็ ภาพรา่ ง 3 มิติการเลอ่ื นขน้ึ หรอื ลง (เลือ่ นในแนวแกน Z) ของฐานพมิ พ์ทำให้เกิด มิติที่ 3 ซงึ่ วัสดุ ทนี่ ำมาใช้ในการพมิ พช์ ้ินงานของ 3D Printer นน้ั แตกตา่ งกันออกไปตามประเภทของ เครื่องพิมพ์ โดยปกติแล้วความละเอียดในการพิมพ์ชิ้นงานของเครื่อง 3D Printer จะใช้หน่วยวัดเป็น ไมครอน เชน่ 100 Micron (0.1mm) ต่อช้นั ซงึ่ หมายความวา่ ในแตล่ ะชน้ั นัน้ จะพมิ พใ์ ห้มีขนาดความ สูงประมาณ 0.1mm ดังนั้นหากโมเดลมีความสูง 10mm เครื่องพิมพ์จะต้องพิมพ์ทั้งหมด 100 ช้ัน หากพิมพ์ที่ความละเอียด 50 Micron เครื่องจะพิมพ์ทั้งหมด 200 ชั้น ซึ่งความละเอียด 50 Micron นั้นทำให้ได้ผลงานที่มีความละเอียด และความสวยงามมากกว่า แต่ต้องใช้ระยะเวลาที่เพิ่มมากขึ้น ประมาณเท่าตัวไฟล์งานที่ใช้กับเครื่อง 3D Printer นั้นเป็นไฟล์ 3 มิติ แทนที่จะเป็นภาพภาพเหมือน ในเครื่องพิมพ์บนกระดาษทั่วไป 3D File นี้อาจสร้างจากโปรแกรม เช่น AutoCAD, Solid Work, 3Ds Max, Zbrush, Maya, SketchUp และ Adobe Photoshop ประเภทของ 3D Printer นัน้ สามารถแบง่ ออกไดต้ ามกระบวนการพิมพแ์ ละวัสดุที่ใชด้ งั นี้ 2.5.1 ระบบฉดี เส้นพลาสติก (FDM หรอื FFF) FDM (Fused Deposition Modeling) หรือ FFF เป็นเครื่องพิมพ์ 3 มิติ ที่นิยมใช้ กันมากที่สุดใน ปัจจุบัน เนื่องจากมีจำหน่ายตามท้องตลาดและมีราคาถูก โดยมีหลักการทำงานคือ การหลอมเส้นพลาสติกใหก้ ลายเป็นของเหลวแลว้ ฉีดออกมาเปน็ เสน้ ผ่านหัวฉดี (Nozzle) คลา้ ยกับปืน กาวที่ใช้กันทั่วไป เครื่อง FDM 3D Printer จะวาดเส้นพลาสติกที่ถูกฉีดออกมาเป็นภาพร่างใน แนวแกนระนาบก่อนเมื่อเสร็จชั้นหนึ่งแลว้ ก็จะพิมพ์ ในชั้นต่อ ๆ ไป จนครบหลายร้อย หรือหลายพนั Layer ก็จะได้ชิ้นงานตามที่ได้ออกแบบไว้ FDM Printer ใช้ได้กับงานทุกประเภท ชิ้นงานที่พิมพ์ สามารถนำมาขัด แต่ง หรือเจาะได้และนำมาใช้งานได้จริง เช่น ใช้เป็นชิ้นส่วนในเครื่องจักร เครื่อง FDM Printer สามารถใชว้ สั ดุไดห้ ลากหลาย และหาได้ง่ายตาม ท้องตลาด เช่น เส้น PLA, ABS, PET, Nylon, Wood (พลาสติกผสมไม)้ , Bronze (พลาสตกิ ผสมทองเหลือง) เป็นตน้ เครอ่ื งพมิ พ์สามมิติระบบ FDM นน้ั มกี ารใช้แพร่หลายที่สุดในโลก และขยายวงกว้าง มากขึ้นเร่ือย ๆ เน่อื งจากมรี าคาถูกและหาซื้อไดง้ ่าย ราคาเริ่มตน้ อย่ทู ี่หลักหม่นื บาทไปจนถึงหลักแสน บาท สามารถใช้ได้กับ วัสดุได้หลากหลายชนิดเปลี่ยนไปตามเส้นพลาสติกที่ใช้ปัจจุบันเครื่องพิมพ์ 3 มิตใิ นท้องตลาด เป็นเครอ่ื ง ระบบ FDM กวา่ 80-90 เปอร์เซน็ ต์
25 ภาพท่ี 2.23 มอเตอรข์ บั ดนั เสน้ พลาสตกิ มายังหัวฉีด (ทม่ี า : บรษิ ัท นีโอเทค, และอนื่ ๆ (2563)) ภาพที่ 2.24 หลกั การทำงานของ FDM Printer แบบสองหัวฉดี (ท่ีมา : บริษทั นีโอเทค, และอืน่ ๆ (2563)) หลักการทำงานของเครื่องระบบ FDM คือการ “ฉีดและวาดเส้นพลาสติกออกมา เปน็ วตั ถุ” ส่วนของหวั ฉดี ทำหนา้ ทีฉ่ ีดเสน้ พลาสติกออกมา โดยท่หี วั ฉีดจะมฮี ที เตอร์ทำความร้อนให้ถึง จุดที่เส้นพลาสตกิ ละลายเปน็ นำ้ แลว้ จึงฉดี ผ่านหวั ฉดี ออกมา โดยปกตหิ ัวฉดี จะมีรูขนาด 0.4 mm และ มีมอเตอร์สำหรบั ควบคุมหัวฉดี หรือฐานพิมพ์ให้เคลื่อนท่ี และพิมพไ์ ปทีละชน้ั จนออกมาเป็นช้ินงานขึ้น ภาพ เครอื่ งพมิ พ์มีความสามารถทำงานทีซ่ ับซ้อนได้ เช่น ประแจเลอ่ื นท่ีพิมพ์เพียงครั้งเดยี วโดยไม่ต้อง
26 มาประกอบอีกในภายหลัง เครื่องรับคำสั่ง GCode ซึ่งเป็นภาษาเดียวกับการส่ังงานเครือ่ ง CNC หรือ Milling ในโรงงาน อุตสาหกรรม โดยโปรแกรมสำหรับการสร้าง GCode นั้นมีให้เลือกใช้งาน หลากหลาย เช่น Cura, Simplify3D, MakerWare, Sli3r, Repetier เป็นต้น เริ่มต้นเมื่อทำการเปิด โมเดลขึ้นมาและกำหนดค่าที่ต้องการพิมพ์โปรแกรมจะทำการสไลดว์ ตั ถุออกเป็นชั้น เครื่องจะพิมพ์ที ละชัน้ ชั้นท่เี ครือ่ งพมิ พ์ๆ นั้นเปน็ Cross Section ของวตั ถนุ ั้นเอง ประเภทของเครื่อง FDM/FFF 3D Printer เครอ่ื งพมิ พ์ FDM น้นั มีอยหู่ ลายชนดิ แตช่ นดิ ทนี่ ิยมมีดงั ต่อไปนี้ 1) เคร่ืองพิมพ์ FDM ชนิด Cartesian เป็นเครื่องพิมพ์ที่พบเห็นทั่วไปใน ท้องตลาดเครื่องจะพิมพ์จาก Fix แกน ในแกนหนึ่งด้วยการเคลื่อนที่ของหัวฉีด ตัวอย่างที่พบเห็นได้ ง่ายที่สุดคือยี่ห้อ MakerBot หรือ Ultimaker มีการ Fix การเคลื่อนที่ของหัวฉีดในแกน X, Y เท่าน้ัน คือวงิ่ ได้ซ้ายขวา/หน้าหลงั สว่ นฐานพิมพ์นนั้ จะเคล่อื นทใ่ี น แกนแนว Z คือเคลอ่ื นที่ขึ้นลง ภาพท่ี 2.25 FDM 3D Printer ชนดิ Cartesian ยี่ห้อ MakerBot (ทม่ี า : บรษิ ัท นโี อเทค, และอน่ื ๆ (2563)) เครอ่ื งพมิ พ์อกี แบบทไ่ี ดร้ ับความนิยมเช่นเดยี วกัน คือ เคร่อื ง PRUSA หรือ เคร่ืองแบบ REPRAP ซงึ่ จะ มีการเคลื่อนที่ของหัวฉีดในแนวแกน X คือซ้ายขวา และฐานพิมพ์ในแกน Y คือหน้าหลัง เมื่อพิมพ์ เสรจ็ ในชั้นหน่ึง แล้วเคร่ืองจะยกหัวฉดี ทัง้ ชดุ ข้ึนในแนวแกน Z เพอ่ื พิมพ์ในชั้นตอ่ ไป
27 ภาพที่ 2.26 FDM 3D Printer ชนดิ Cartesian ย่หี อ้ PRUSA (ที่มา : บรษิ ทั นโี อเทค, และอนื่ ๆ (2563)) ขอ้ ดี เครื่องพิมพ์ค่อนข้างจะมีความเสถียรมากกว่าเนื่องจากการเคลื่อนที่ ของหัวฉีดจะเคลื่อนที่อยู่ในแนว 1 หรือ 2 แกนในรางสไลด์ (ตามทฤษฎีแล้วจะพิมพ์ได้นิ่งกว่า FDM ระบบอ่ืน ๆ แตท่ ง้ั นท้ี ้ังนัน้ ขึ้นอยู่กับผู้ผลติ แต่ละย่หี ้อด้วย) ขอ้ เสยี หากเครื่องพิมพม์ ีขนาดใหญข่ นึ้ จะผลติ คอ่ นขา้ งยากและมีน้ำหนกั มาก 2) เคร่ืองพิมพ์ FDM ชนิด Delta เครื่องพิมพ์ระบบนี้มีจุดสังเกตได้ง่ายที่สุด คือ มีแกนเสาอยู่ 3 เสา เครื่อง Delta นั้นจะมีฐานพิมพ์อยู่กับที่หัวฉีดจะเคลื่อนที่อย่างอิสระทั้งสาม แกน X, Y, Z โดยควบคุมการเคลื่อนที่ของหัวฉีดด้วย การทำงานสัมผัสกันของมอเตอร์ทั้งสามตัว เครอื่ งระบบนีส้ ามารถสรา้ งให้มีขนาดใหญม่ าก ๆ ได้
28 ขอ้ ดี สามารถสรา้ งเครือ่ งให้พิมพช์ น้ิ งานไดง้ ่าย มีนำ้ หนักน้อย และมีต้นทุนใน การผลติ ทตี่ ำ่ ขอ้ เสยี คุณภาพงานลดลงเมื่ออยู่ห่างจากจุดศูนย์กลาง (กลางฐานจะพิมพ์ ชน้ิ งานได้ดกี วา่ ส่วนท่หี ่างจากจดุ กึ่งกลาง) ภาพที่ 2.27 FDM 3D Printer ชนิด Delta (ท่ีมา : บริษทั นโี อเทค, และอื่น ๆ (2563)) วัสดุของเครื่อง FDM/FFF 3D Printer โดยทั่วไปแล้วจะเป็นพลาสติกเส้นซึ่งมีให้ เลือกใช้งานอยู่ 2 ขนาดคือ 1.75 mm และ 3.0 mm โดยเส้นพลาสติกนั้นจะทำมาในภาพแบบม้วน ปจั จุบันมเี สน้ พลาสตกิ ให้ เลือกใช้งานมากกวา่ 50 ชนิดในทอ้ งตลาด เช่น PLA (Polylactic Acid) เป็นเส้นพลาสติกที่ผลิตจากวัตถุดิบธรรมชาติ เช่น กาก พืชผล ทางการเกษตร ข้าวโพด มันสำปะหลัง พลาสติกชนิดนี้เหมาะกับการใช้กับ 3D Printer เกือบ
29 ทกุ ชนิด เนอ่ื งจาก คอ่ นข้างปลอดภัย ไม่มกี ลน่ิ พลาสติกไหม้ หดตัวนอ้ ย ไม่จำเป็นต้องใช้ฐานทำความ รอ้ น แตม่ ขี อ้ เสีย อยู่บา้ งในเร่อื งทนความร้อนได้ไมส่ งู นัก ABS (Acrylonitrile Butadiene Styrene) เป็นพลาสติกที่ใช้กันอย่างแพร่หลายใน อุปกรณ์ เครื่องใช้ในบ้าน เช่น ขันน้ำถังน้ำ หรือของเล่นที่เรารู้จักกันดียี่ห้อ Lego ข้อดีคือ ทนต่อ สภาพแวดล้อมได้ดี แต่มีข้อเสียค่อนข้างมาก คือ พิมพ์ได้ยาก เนื่องจากมีอัตราการหดตัวสงู ต้องเปิด ฐานทำความร้อน พิมพแ์ ล้วมกี ลิน่ พลาสติกไหม้ Dissolvable filament หรือเส้นพลาสติกที่ละลายออกได้ใช้ในการพิมพ์ในส่วน Support ต้อง ใชก้ ับเครื่องพมิ พ์ FDM ที่มีหัวต้งั แต่ 2 หัวขึ้นไป พลาสติกทพ่ี มิ พ์นจ้ี ะถูกละลายออกไป หลังการพิมพ์ชิ้นงาน เสร็จ (โดยทั่วไปนั้นเครื่องพิมพ์ที่มีราคาสูงจะมีสองหัวฉีด เพื่อให้อีกหัวหนึ่งทำ หน้าท่ีพิมพ์ Dissolvable Filament) อื่น ๆ นอกจากเส้นพลาสตกิ ที่กล่าวไว้ข้างต้นแล้วยังมเี ส้นพลาสติกให้เลือกใช้อกี หลากหลาย ชนิด เช่น เส้นไม้ (Wood Filament) เส้นผสมทองเหลือง (Bronze Filament) เส้นผสมทองแดง (Copper Filament), Nylon, PETG, Rubber etc. ข้อดี 1) มีราคาถูกที่สุด สามารถซื้อหาได้ทั่วไป เนื่องจากต้นทุกการผลิตถูก แล้ว ส่วนมากเป็น Open source จึงซื้อหาได้ทั่วไปงานที่พิมพ์ออกมาสามารถใช้งานรับแรง หรือขัดแต่ง และสามารถนำช้นิ ส่วนที่พิมพไ์ ปเป็นสว่ น ประกอบในเครื่องจักรได้ 2) มีวัสดุให้เลือกใช้งานหลายชนิดเนื่องจากเป็นที่นิยมจึงมีหลายบริษัทผลิต เส้นพลาสติกหลากหลายชนิด (ควรดูคณุ สมบัตแิ ละข้อมูลจำเพาะพิเศษสำหรับเส้นพลาสติกชนิดนนั้ ๆ ด้วย) 3) ใช้งานง่ายและต้นทุนวัสดุสิ้นเปลืองต่าง ปัจจุบันมีโปรแกรมสำหรับเคร่อื ง FDM ให้เลือกใช้มากมายการใชง้ านคอ่ นข้างง่าย ข้อเสีย 1) ความละเอียดในการพิมพ์ อาจจะสู้ระบบอื่นไม่ได้ เนื่องจากการพิมพ์เกิด จากการฉีดเส้นพลาสติกออกมา ขนาดหัวฉีดที่นิยมคือ 0.4 mm แต่ถึงอย่างไรชิ้นงานที่ได้ยังคงเป็น เปน็ เสน้ อยู่ แมจ้ ะพิมพท์ ี่ความ ละเอยี ดสงู แลว้ กต็ าม 2) หากเทียบขนาดของชิ้นงานและความละเอียดที่เท่ากัน ระบบ FDM ถือว่า ใชเ้ วลาในการพิมพส์ งู กวา่ ระบบอ่ืน 3) ไม่สามารถพิมพ์งานที่ละเอยี ดมากได้อกี ทงั้ ผิวของช้นิ งานท่ีพิมพ์ออกมานั้น ยงั เป็นรองระบบอนื่ อยู่
30 2.5.2 ระบบถาดเรซิ่น (SLA หรือ DLP) SLA หรือระบบ DLP น้ันมหี ลกั การทำงานเหมือนกนั กลา่ วคือ เครือ่ งระบบนจ้ี ะฉาย แสงไปตัวถาด ที่ใส่เรซิ่นความไวแสงไว้ (Photo Resin/Photopolymer) เมื่อเรซิ่นถูกแสงจะแข็งตัว เฉพาะจดุ ที่โดนแสง จงึ ใช้ หลักการแข็งตัวของเรซ่ินน้ีในการทำช้ินงานให้เกดิ ภาพร่างขึ้นมา เมื่อทำให้ เกิดภาพร่างขึ้นในชั้นหนึ่ง ๆ แล้วเครื่องก็จะเริ่มทำให้แข็งเป็นภาพร่างในชั้นต่อไปจนเกินเป็นชิ้นงาน วัตถุที่จับต้องได้ ระบบ SLA (Stereo lithography) และ DLP (Digital Light Processing) มีความ แตกต่างกันที่ต้นกำเนิดของแสงระบบ SLA ใช้แหล่งกำเนิดเส้นด้วยแสงเลเซอร์ ดังนั้น เครื่องจะทำ การยิงแสงเลเซอร์ไปที่เรซิ่นโดยวาดเส้นเลเซอร์ไปเรื่อย ๆ ถ้าต้องการพิมพ์ชิ้นงานขนาดใหญ่จะใช้ ระยะเวลาในการวาดนาน ส่วนระบบ DLP นั้นจะใช้โปรเจคเตอร์ DLP Project ฉายภาพ ซึ่งภาพที่ ฉายนั้นจะครอบคลุมทั้งเลเยอร์ ทำให้ระบบ DLP นั้นใช้เวลาในการพิมพ์น้อยกว่าและระยะเวลาไม่ ขึ้นกับจำนวนชิ้นงานบนฐานพิมพ์เนื่องจากไม่ต้องวาดทีละเส้น การพิมพ์ระบบถาดเรซิ่นนี้ส่วนใหญ่ เป็นการสร้างชิ้นงานที่มีขนาดเล็กและต้องการความละเอียดที่สูง จึงเหมาะกับธุรกิจประเภท เครื่องประดับ Jewelry งานหล่อ ชิ้นส่วนขนาดเล็กในงานอุตสาหกรรม ออกแบบ ผลิตภัณฑ์งาน โมเดลฟีกเกอร์ หรือแมก้ ระท่ังงานพระเครื่อง ภาพที่ 2.28 แสดงเครื่องพิมพ์ วตั ถดุ บิ ท่ีใช้พิมพ์ และชิน้ งานทพ่ี ิมพ์แลว้ (ทีม่ า : บรษิ ัท นีโอเทค, และอ่ืน ๆ (2563)) เคร่ืองพิมพ์แบบ SLA หรือ DLP นั้นมีหลกั การทำงานเชน่ เดยี วกนั คือการฉายแสงไป ยังเรซิ่นที่ไวต่อแสง และแข็งตัวเมื่อโดนแสงที่ย่านความถี่เฉพาะตัว ขึ้นภาพจากน้ำเรซิ่น (Photopolymer Resin) เปน็ วตั ถแุ ข็งตวั ข้อดี 1) งานท่สี รา้ งออกมามีความละเอยี ดสูง 2) มวี สั ดุใหเ้ ลอื กใช้งานหลากหลาย
31 3) ความเร็วในการพมิ พ์สูงกวา่ ระบบ FDM ขอ้ เสยี 1) ใช้งานยงุ่ กวา่ ระบบ FDM เนอ่ื งจากเป็นของเหลว 2) มีความจำกัดทางด้านขนาดของชิ้นงานซึ่งเหมาะแก่การพิมพ์ ชิ้นงานขนาดเล็กเท่านน้ั 3) มีค่าใช้จ่ายที่สูงโดยราคา Resin นั้นตกกรัมละ 6-10 บาท ขึ้นอยู่ กับชนดิ ของ Resinเครือ่ งพมิ พ์ 3 มิติระบบเรซน่ิ นนั้ มคี ณุ สมบัตเิ ดน่ ในเรื่องของการเก็บรายละเอียดได้ ดีมากท่สี ดุ เมอ่ื เปรยี บกบั เคร่อื งพิมพ์ 3 มิตทิ ุกชนิดในตลาด อยา่ งไรกต็ ามระบบน้ีสามารถพิมพ์ 2.5.3 ระบบผงยปิ ซมั่ + สี Ink Jet (Powder 3D Printer หรอื Color Jet Printing) Powder 3D Printer หรือ ระบบแป้ง เป็นระบบใช้ผงยิปซั่ม/ผงพลาสติก เป็น ตัวกลางในการขึ้นชิ้นงาน โดยเครื่องจะทำงานคล้ายระบบ Inkjet แต่แทนที่จะพิมพ์ไปบนกระดาษ เครื่องจะพิมพ์ลงไปบนผงยิปซั่มโดยจะพิมพ์สีลงไปเหมือนกันต่างกันที่ระบบจะฉีด Blinder หรือกาว ลงไปด้วยใน การผสานผงเข้าด้วยกันเป็นภาพร่างเมื่อสร้างเสร็จในชั้นหนึ่งเครื่องจะเกลี่ยผงยิปซั่มมา ทับเป็นชั้นบาง ๆ ในชั้นต่อไป เพื่อเตรียมพร้อมให้เครื่องพิมพ์สี และ Blinder อีกครั้ง Powder Printer ภาพท่ี 2.29 แสดงเครื่องพิมพแ์ ละชนิ้ งานที่พิมพ์แล้ว (ทม่ี า : บรษิ ัท นีโอเทค, และอื่น ๆ (2563)) เคร่ืองระบบนมี้ จี ุดเดน่ มากคือ สามารถพิมพ์สไี ดส้ มจรงิ เคร่ืองพมิ พ์ Inkjet โดยทวั่ ไป จึงเหมาะในกับ งานศิลปะ โมเดลคนเหมือนจริง หุ่นจำลอง หรือชิ้นงานที่ต้องการเห็นสีสันที่สมจริง แต่มีข้อเสียคือ งานที่ได้นั้น ความเปราะเหมือนกับปูนพลาสเตอร์ คือหล่นแล้วแตกรวมทั้งค่อนข้าง สกปรกเน่อื งจากเปน็ ผง ทำให้เกดิ ฝุ่นผงเยอะยากในการทำความสะอาด 2.5.4 ระบบหลอมผงพลาสติก ผงโลหะเซรามกิ (SLS)
32 ระบบ SLS หรือ Selective Laser Sintering เป็นระบบที่มีหลักการทำงานคล้าย ระบบ SLA แต่มีจุดที่แตกตา่ งกันคือ วิธีการทำให้เรซิ่นแข็งตัวโดยการฉายเลเซอร์นั้น ระบบ SLS จะยิงเลเซอรไ์ ปโดยตรงบนผงวสั ดุความร้อนจากเลเซอร์ดังกลา่ วจะทำใหผ้ งวัสดหุ ลอมละลายเป็น เนอ้ื เดียวกนั ภาพที่ 2.30 เคร่อื งพมิ พ์และชน้ิ งานที่พิมพ์แลว้ (ท่ีมา : บรษิ ทั นโี อเทค, และอ่ืน ๆ (2563)) กระบวนการเริ่มจากถาดที่ใส่ผงวัสดุ เช่น ผงทองเหลือง เครื่องจะเริ่มยิงเลเซอร์ ความเข้มขน้ สงู ไปยัง ผงทองเหลอื งในถาด เมอื่ ยิงไปยังตำแหนง่ ใดผงทองเหลืองจะหลวมรวมเป็นภาพ รา่ งท่ตี ำแหน่งน้นั ๆ พอพิมพ์ เสรจ็ ในเลเยอรห์ นึ่ง ๆ แลว้ เครื่องจะเกล่ียผงทองเหลืองบาง ๆ มาทับใน ชั้นต่อไป เพอ่ื เร่ิมกระบวนการยิงเลเซอร์เพื่อหลอมละลายใหม่ทำไปซ้ำไปเร่ือย ๆ หลายรอ้ ย หลายพัน ช้นั จนเกิดมาเป็นวตั ถุทีต่ ้องการ SLS Printer ข้อดี สามารถผลิตช้นิ งานออกมาเป็นโลหะ หรือพลาสติกพเิ ศษ โดยใช้ผงของ วัสดุนน้ั ไดเ้ ลย แต่ เครือ่ งมีราคาทสี่ งู มาก 2.5.5 ระบบ Poly Jet ใช้หลักการเดียวกับเครื่องพิมพ์แบบ Inkjet กล่าวคือ แทนที่จะพ่นแม่สีออกมาบน กระดาษ เครื่องแบบ Poly Jet จะมีหัวฉีด Jet พ่นเรซิ่นออกมาแล้วฉายให้แข็งโดยแสง UV อีกรอบ ทำไปที่ละชั้นเรื่อยจนออกมา ภาพร่างชิ้นงาน 3 มิติ เครื่องระบบนี้จะมีความแม่นยำสูง แต่มีราคา คอ่ นข้างแพง
33 ภาพที่ 2.31 การทำงานของระบบ Poly Jet (ท่ีมา : บรษิ ัท นีโอเทค, และอืน่ ๆ (2563)) 2.5.6 Laminated Object Manufacturing (LOM) เป็นการใชว้ สั ดทุ ่ีเป็นแผ่นบาง ๆ คล้ายกระดาษ และมีสารยดึ ติดท่ีหน้าหน่ึงของแผ่น โดยจะดึงวัสดุเขา้ สู่เครื่องตัดด้วยเลเซอร์เป็นชัน้ ต่อชั้นขึ้นไป วัสดุที่จะขึน้ ภาพจะอยูใ่ นกลุ่มของเทอร์ โมพลาสติก (พวี ซี ี) โลหะทีเ่ ปน็ เหลก็ และไม่ใชเ่ หลก็ ภาพท่ี 2.32 การทำงานของระบบ LOM (ท่มี า : บริษัท นโี อเทค, และอื่น ๆ (2563))
บทที่ 3 วธิ ีการดำเนนิ การวจิ ัย ในบทนี้จะกล่าวถึงวิธีการดำเนินการวิจัยตลอดจนขั้นตอนการทำงานต่าง ๆ ของแขนกล ใน ส่วนวงจรควบคุมผวู้ จิ ัยไดใ้ ช้บอรด์ Arduino MEGA 2560 R3 ในการประมวลผลและส่ังการทำงานใน ส่วนต่าง ๆ ของแขนกล และส่วนประกอบของแขนกลเป็นอุปกรณ์ที่ประกอบด้วยกลไกและฟังก์ชัน การทำงานหลายส่วนทำงานสัมพันธ์กันเพื่อให้ สามารถหยบิ จบั วัตถุตามความต้องการของผ้ใู ช้ โดยได้ สร้างแขนกลชนิด หุ่นยนต์ข้อต่อ (Articulated Robot) 4 ข้อต่อ ซึ่งมีการ เคลื่อนตำแหน่งของมือจบั ในแกน X Y และ Z 3.1 ผังการทำงาน(Sequence Diagram) โดยผังการทำงานของหุ่นยนตแ์ ขนกลน้ัน จะสามารถแบ่งเปน็ คลาสต่าง ๆ ได้ ดงั ภาพท่ี 3.1 ภาพท่ี 3.1 ผงั การทำงานของหุน่ ยนต์แขนกล
36 โดยผู้ใช้งานเริ่มกดปุ่มเพื่อกรอกพิกัด x1, y1 และ x2, y2 โดยค่า z1 ผู้วิจัยจะกำหนดไว้ให้มี ค่าความสูงในระดับหนึ่ง และ z2 นั้นจะเป็นค่าระยะห่างจาก z1 ถึงวัตถุ เพราะวัตถุแต่ละอย่างน้ัน อาจจะมคี วามสงู ทแี่ ตกตา่ งกัน หลังจากนั้นจะนำค่าพกิ ัด x1, y1, z1 และ x2, y2, z1 ไปคำนวณตาม สูตรทฤษฎจี ลนศาสตร์ของหนุ่ ยนต์แขนกลเพ่ือให้ได้ค่ามมุ องศาของแต่ละแกน แลว้ นำค่ามุมองศาของ พิกัด x1, y1, z1 ที่ได้หลังจากการคำนวณไปสั่งการให้สเต็ปเปอร์มอเตอร์หมุนเพื่อให้มือจับของ หุ่นยนต์แขนกลไปท่ีพิกัด x1, y1, z1 หลังจากน้ันบอรด์ จะสั่งให้หาค่าพิกดั z2 โดยสั่งการให้เซนเซอร์ วัดระยะทางวัดระยะห่างของมือจับแขนกลถึงพ้ืนพิวของวัตถุชิ้นนั้น เมื่อทราบค่า z2 แล้ว จึงนำค่า x1, y1, z2 ไปคำนวณใหม่เพื่อให้ได้ค่ามุมองศาของแขนกลที่มือจับอยู่บนพ้ืนพิวของวัตถุชิ้นนั้น ๆ แล้วนำค่าที่ได้มาสั่งให้สเต็ปเปอร์มอเตอร์หมุนเพื่อให้มือจับแขนกลอยู่บนพ้ืนพิวของวัตถุชิ้นนั้น ๆ หลังจากนั้นจะสั่งให้ปั๊มสุญญากาศทำงานเพื่อจับวัตถุชิ้นนั้น แล้วจึงเคลื่อนย้ายวัตถุชิ้นนั้นไปที่พิกัด x2, y2 ,z1 แล้วต่อด้วย พิกดั x2, y2, z2 3.2 ออกแบบวงจรควบคุมหุ่นยนต์แขนกล ในการควบคุมหนุ่ ยนตแ์ ขนกลให้ทำงานได้นน้ั จะต้องมีวงจรควบคุมการทำงานซ่ึงประกอบไป ด้วยส่วนต่าง ๆ ดังนี้ 3.1.1 วงจรควบคมุ สเต็ปเปอรม์ อเตอร์ (Stepper Motor) หุ่นยนต์แขนกลอัตโนมัติที่สร้างขึ้นน้ี ใช้สเต็ปเปอร์มอเตอร์เป็นอุปกรณ์ต้นกำลังใน การขบั เคล่ือนข้อต่อและก้านต่อของหนุ่ ยนต์ โดยจะใชส้ เตป็ เปอร์มอเตอร์ท้ังหมด 4 ตัว ติดต้ังตามจุด หมุนหรือข้อต่อต่าง ๆ โดยเหตุผลที่เลือกใช้สเต็ปเปอร์มอเตอร์เนื่องจาก มีความเสถียรในการใช้งาน ดังน้ันจงึ จำเป็นทตี่ ้องมีส่วนของวงจรทีใ่ ชใ้ นการขบั เคล่ือนสเตป็ เปอร์มอเตอร์โดยในงานวิจัยนี้ได้ใช้ไดร์ เวอร์ A4988 ในการขบั เคลือ่ น สเตป็ เปอรม์ อเตอร์ การตอ่ วงจรขบั สเต็ปเปอร์มอเตอรโ์ ดยใช้ไดร์เวอร์ A4988 รวมกัน แสดงได้ในภาพท่ี 3.2 ภาพท่ี 3.2 วงจรขับ สเต็ปเปอรม์ อเตอร์โดยใชไ้ ดร์เวอร์ A4988
37 จากภาพที่ 3.2 แสดงวงจรขับ สเต็ปเปอร์มอเตอร์ โดยใช้ไดร์เวอร์ A4988 และ แหล่งจ่ายไฟขนาด 8-35 โวลต์ เพื่อจ่ายไฟให้กับ สเต็ปเปอร์มอเตอร์ และใช้ไมโครคอนโทรลเลอร์ ควบคุมการทำงานและจ่ายไฟให้กับ ไดร์เวอร์ A4988 โดยแต่ละขาจะมีการเชื่อมต่อดังตารางที่ 3.1 และการกำหนดสเตป็ ท่ีจะใหห้ มุนจะกำหนดตามตารางท่ี 3.2 ตารางท่ี 3.1 ความหมายของแต่ละขาการเชื่อมต่อ ขาท่ใี ชใ้ นการเชอ่ื มต่อ ความหมาย VMOT / GND ไฟล้ยี งของสเต็ปเปอรม์ อเตอร์ ตั้งแต่ 8 – 35 V 2B ส่งข้อมลู ไปยงั สายไฟของสเต็ปเปอร์ เส้น 2B 2A สง่ ขอ้ มลู ไปยังสายไฟของสเต็ปเปอร์ เส้น 2A 1A ส่งขอ้ มูลไปยังสายไฟของสเต็ปเปอร์ เส้น 1B 1A ส่งขอ้ มูลไปยงั สายไฟของสเต็ปเปอร์ เส้น 1A VDD / GND ไฟเล้ียง logic 3 – 5.5 V DIR กำหนดทศิ ทางการหมุน STEP ควบคุมการหมนุ Sleep การเข้าสู่ Sleep Mode Reset กำหนดจุดเรมิ่ แรก MS1 / MS2 / Ms3 ปรบั Step resolution Enable Output Disable/Enable ตารางที่ 3.2 การเลือกสเต็ปการหมนุ MS1 MS2 MS3 สเต็ปการหมนุ (Resolution) LOW LOW LOW Full Step (1 step) HIGH LOW LOW Half Step (1/2 step) LOW HIGH LOW Quarter Step (1/4 step) HIGH HIGH LOW Eight Step (1/8 Step) HIGH HIGH HIGH Sixteenth Step(1/16 step) จากตารางท่ี 3.2 แสดงสเตป็ การหมุนตัวอย่าง สเต็ปเปอรม์ อเตอร์หมุนสเต็ปละ 1.8 องศา ถ้าอย่ใู นสเต็ปการหมุนที่ Full Step 1 สเตป็ การหมนุ จะหมนุ 1.8 องศา ถ้าอยูใ่ นสเต็ปการ หมุน Half 1 สเต็ปการหมุนจะหมุน 0.9 องศา ถ้าอยู่ในสเต็ปการหมุน Quarter Step 1 สเต็ป
38 การหมนุ จะหมนุ 0.45 องศา ถ้าอยู่ในสเตป็ การหมนุ Eight Step 1 สเตป็ การหมุนจะหมนุ 0.225 องศา ถา้ อยู่ในสเต็ปการหมนุ Sixteenth Step 1 สเต็ปการหมุนจะหมุน 0.1125 องศา 1 #define sterPin 2 2 #define dirPin 3 3 #define stepsPerRevolution 200 4 void setup() 5{ 6 pinMode(sterPin,OUTPUT); 7 pinMode(dirPin,OUTPUT); 8} 9 void loop (){ 10 digitalWrite(dirPin,HIGH); 11 for(int i = 0 ; I < stepsPerRevolution ; i++) 12 { 13 digitalWrite(sterPin , HIGH); 14 delayMicroseconds(500); 15 digitalWrite(sterPin , LOW); 16 delayMicroseconds(500); 17 } 18 Delay(1000); 19 digitalWrite(dirPin,LOW); 20 for(int i = 0 ; I < stepsPerRevolution ; i++) 21 { 22 digitalWrite(sterPin , HIGH); 23 delayMicroseconds(500); 24 digitalWrite(sterPin , LOW); 25 delayMicroseconds(500); 26 } 27 } ภาพท่ี 3.3 โค้ดตวั อย่างการควบคุมสเตป็ เปอร์มอเตอร์
39 จากภาพท่ี 3.3 โคด้ ตวั อยา่ งข้างตน้ อธิบายข้นั ตอนไดด้ ังนี้ ขั้นตอนที่ 1 จากบรรทัดที่ 1 - 3 เป็นการกำหนด ตัวแปร เพื่อให้มีการเชื่อมต่อกับ ขาของบอร์ด โดยใชค้ ำสง่ั #define ชอ่ื ตวั แปร ขาที่จะใชใ้ นการเช่ือมตอ่ ข้ันตอนท่ี 2 จากบรรทดั ที่ 6 -7 เปน็ การกำหนดขาทจ่ี ะใชใ้ นการส่งข้อมลู ออกโดยใช้ คำสงั่ pinMode (ขาทจ่ี ะใช้งาน,กำหนดใหม้ ีการส่งขอ้ มลู ออก) ขัน้ ตอนท่ี 3 จากบรรทัดที่ 10 และ 19 เปน็ การกำหนดให้สเต็ปเปอร์มอเตอร์หมุนไป ในทิศทางใดโดยการจา่ ยกระแสไฟเข้าไปในขา dir ของไดร์เวอร์ A4988 ให้โดยใช้คำสั่ง digitalWrite (ขาที่ใช้เชื่อมต่อ, สั่งให้มีกระแสไฟหรือไม่); (ถ้าต้องการให้มีกระแสไฟ จะใช้ คำสั่ง HIGH ถ้าไม่ ต้องการให้มีกระแสไฟจะใช้คำสั่ง LOW) โดยถ้ามีกระแสไฟจะหมุนตามเข็มนาฬิกา และถ้าไม่มี กระแสไฟจะหมุนทวนเขม็ นาฬกิ า ขนั้ ตอนที่ 4 จากบรรทัดท่ี 11 และ 20 เป็นการกำหนดสเต็ปการหมนุ โดยใชฟ้ ังก์ชนั for(); ขั้นตอนที่ 5 จากบรรทัดที่ 13 – 16 และ 22 – 25 เป็นจ่ายไฟเพื่อให้สเต็ปเปอร์ มอเตอร์หมุน 1 สเต็ปโดยใช้ระยะเวลาในการหมุนครึ่งวินาทีแล้วหยุดการจ่ายไฟเพื่อให้สเต็ปเปอร์ มอเตอร์หยุดทำงานเป็นระยะเวลาครึ่งวินาที โดยใช้คำสั่ง digitalWriter (เลขขา STEP ของไดร์เวอร์ a4988, สั่งให้มีกระแสไฟหรือไม่); (ถ้าต้องการให้มีกระแสไฟ จะใช้ คำสั่ง HIGH ถ้าไม่ต้องการให้มี กระแสไฟจะใช้คำสั่ง LOW) เพื่อสั่งการทำงานของสเต็ปเปอร์มอเตอร์ และคำสั่ง Delay (500); (โดย 1000 จะเทา่ กับ 1 วนิ าที) 3.1.2. วงจรควบคมุ ปั๊มสญุ ญากาศ (Vacuum Pump) ในการหยิบจับวัตถุผู้วิจัยได้ใช้การดูดสุญญากาศโดยใช้ปั๊มสุญญากาศในการดูด อากาศและใช้ตวั กำเนดิ ความดนั สญุ ญากาศ (Vacuum Ejector) เพื่อให้เกิดสุญญากาศ ดังภาพท่ี 3.4 ภาพท่ี 3.4 แสดงทิศทางการไหลของอากาศภายในตวั กำเนิดความดันสุญญากาศ (ท่ีมา : บริษทั นวิ แอนไฮด์ (2563))
40 โดย ตัวกำเนิดความดันสุญญากาศ (Vacuum Ejector) อาศัยหลักการที่ทำให้เกิด สุญญากาศตรงบริเวณคอคอดที่เป็นเสมือนท่อ 3 แยก ท่อเวนทูรี (Venturi) ที่อยู่ภายในตัวกำเนิด ความดันสุญญากาศตัว (Vacuum Ejector) โดยบริเวณนี้เหมือนทาง 3 แพร่งในภาพข้างต้น ลมเข้า มาทางท่ี 1 และ เม่อื ลมไหลเข้ามาเรว็ ในคอคอด ของตวั กำเนิดความดันสุญญากาศ เช่น พ้ืนท่ีหน้าตัด ที่ลมไหลผ่านลดลง 900% ความเร็วลมจะมากขึ้น 900% เช่นกัน พื้นที่ลดลง 9 เท่า ความเร็วลมที่ เพิ่มขน้ึ 9 เทา่ ทำให้ลมท่ีไหลผ่านที่ Venturi จะปัน่ ป่วนอยา่ งมาก (Turbulence) โดยลมจะไหลออก อย่างรวดเร็วไปสู่ทางออก ซึ่งมีขนาดใหญ่ที่อยู่ตรงข้ามกับทางเข้าที่ 2 บริเวณทาง 3 แพร่ง ที่อยู่ ภายใน Venturi กจ็ ะเกิดสญุ ญากาศ ดดู อากาศจากทางเข้าที่ 1 ทางเขา้ ที่ 2 จะไปต่อกับลูกยางดูดจับ ชิน้ งาน ฯลฯ ในงานจบั และวาง ภาพท่ี 3.5 แสดงการเชอ่ื มต่อของปั๊มสุญญากาศ (vacuum pump) จากภาพที่ 3.5 แสดงการเชื่อมต่อของปั๊มสุญญากาศ (vacuum pump) กับบอร์ด Arduino MEGA โดยที่ขาข้างหนึ่งของปั๊มสุญญากาศเชื่อมต่อกับ GND ของบอร์ด Arduino MEGA และขาอกี ข้างหน่ึงของปมั๊ สญุ ญากาศเช่ือมต่อกับช่องสญั ญาณที่ 7 1 #define VacuumPump 7 2 void setup() { 3 pinMode(VacuumPump, OUTPUT); 4} 5 void loop() { 6 digitalWrite(VacuumPump, HIGH); 7 Delay(5000); 8 digitalWrite(VacuumPump, LOW); 9} ภาพท่ี 3.6 แสดงโค้ดตวั อย่างการควบคมุ ปั๊มสุญญากาศ
41 จากภาพท่ี 3.6 โค้ดตัวอย่างข้างต้น อธิบายขนั้ ตอนได้ดังนี้ ข้ันตอนที่ 1 จากบรรทัดท่ี 1 เปน็ การกำหนด ตัวแปร เพื่อใหม้ กี ารเช่อื มต่อกบั ขา ของบอร์ด โดยใชค้ ำสง่ั #define VacuumPump 7 (โดย VacuumPump คือ ชื่อตัวแปร และ 7 คือ ขาที่จะใช้ในการเชื่อมต่อ) ขั้นตอนที่ 2 จากบรรทัดที่ 3 เป็นการกำหนดขาที่จะใช้ในการส่งข้อมูลออกโดยใช้ คำสงั่ pinMode (ขาท่จี ะใชง้ าน,กำหนดใหม้ กี ารส่งขอ้ มูลออก) ขั้นตอนที่ 3 จากบรรทัดที่ 6-8 เป็นการสั่งให้ปั๊มสุญญากาศทำงานโดยใช้คำสั่ง digitalWrite (ขาที่เชื่อมต่อ, สั่งให้มีกระแสไฟหรือไม่); (ถ้าต้องการให้มีกระแสไฟ จะใช้ คำสั่ง HIGH ถ้าไม่ต้องการให้มีกระแสไฟจะใช้คำสั่ง LOW) และให้ทำงานค้างไว้เป็นระยะเวลา 5 วินาที โดยใช้ คำส่งั Delay(5000); แลว้ จะหยุดการทำงาน 3.1.3. วงจรควบคมุ จอ LCD ผู้วจิ ัยได้ใชจ้ อ LCD เพ่อื ติดต่อสื่อสารระหว่างผใู้ ชแ้ ละหนุ่ ยนตแ์ ขนกลอัตโนมตั ิ โดย ผู้ใชจ้ ะกรอกพิกัด x1,y1 และ x2,y2 ใหก้ บั หุ่นยนตแ์ ขนกลอตั โนมัติ โดยมวี งจรควบคมุ ดังภาพที่ 3.7 ภาพท่ี 3.7 วงจรควบคุมจอ LCD (ท่มี า ครูทันพงษ์ ภรู่ กั ษ์(2563)) ในการควบคุมหรือสั่งงาน โดยทั่วไปจอ LCD จะมีส่วนควบคุม (Controller) อยู่ใน ตัว ผู้ใช้สามารถส่งรหัสคำสั่งสำหรับควบคุมการทำงานของจอ LCD (I2C) เช่นเดียวกันกับจอ LCD แบบธรรมดา หรือ คือรหัสคำสั่งที่ใช้ในการควบคุมนั้นเหมือนกัน แต่ต่างกันตรงท่ีภาพแบบในการ รับส่งข้อมูล ในที่นี้มีการส่งข้อมูลภาพแบบ I2C ที่ใช้ขาเพียง 4 ขาที่ใช้ในการเชื่อมต่อเท่านั้น ในการ ควบคุมหรือสั่งงานจอ LCD Controller ของจอนี้เป็น Hitachi เบอร์ HD44780 และขาในการ เชอ่ื มตอ่ ระหวา่ ง LCD กบั Arduino มีดงั น้ี - GND เป็นกราวดใ์ ช้ต่อระหวา่ ง Ground ของ Arduino กับ LCD - VCC เปน็ ไฟเลี้ยงวงจรทป่ี อ้ นให้กบั LCD ขนาด +5VDC
42 - VO ใช้ปรบั ความสวา่ งของหน้าจอ LCD - RS ใชบ้ อกให้ LCD Controller ทราบว่า Code ที่ส่งมาทางขา Data เป็นคำสง่ั หรอื ข้อมูล - R/W ใช้กำหนดวา่ จะอ่านหรือเขียนข้อมลู กับ LCD Controller - E เป็นขา Enable หรอื Chips Select เพ่ือกำหนดการทำงานใหก้ ับ LCD Controller - DB0-DB7 เป็นขาสัญญาณ Data ใช้สำหรับเขียนหรืออ่านข้อมูล/คำสั่ง กับ LCD Controller วิธีการสั่งงานจะแตกต่างกันไปโดย LCD Controller สามารถรับรหัสคำสั่งจาก Arduino ได้จากสัญญาณ RS R/W และ DB0-DB7 ในขณะที่สัญญาณ E มีค่า Logic เป็น “1” ซึ่ง สัญญาณเหล่านี้จะใช้ร่วมกันเพื่อกำหนด เป็นรหัสคำสั่งสำหรับสั่งงาน LCD โดยหน้าที่ของแต่ละ สญั ญาณสรปุ ได้ดังน้ี - E เปน็ สญั ญาณ Enable เม่ือมีค่าเปน็ “1” เป็นการบอกให้ LCD ทราบว่าอุปกรณ์ ภายนอกต้องการติดต่ออ่านหรอื เขยี นข้อมลู “0” ให้ LCD ไม่สนใจสัญญาณ RS R/W และ DB7-DB0 - RS เปน็ สญั ญาณสำหรับกำหนดให้ LCD ทราบวา่ อุปกรณภ์ ายนอกต้องการติดต่อ กบั LCD ในขณะนัน้ เปน็ รหสั คำสง่ั หรือข้อมลู - R/W เปน็ สัญญาณสำหรับบอกให้ LCD ทราบว่าอุปกรณ์ภายนอกต้องการอา่ น หรอื เขียนกับ LCD โดยถ้า R/W = “0” หมายถึง เขยี น และ R/W = “1” หมายถึง อา่ น - DB0-DB7 เป็นสัญญาณแบบ 2 ทิศทาง โดยจะสัมพันธ์กับสัญญาณ R/W ใช้ สำหรับรับคำสั่งและข้อมูล ระหว่างแอลซีดีกับอุปกรณ์ภายนอก โดยถ้า R/W = “0” สัญญาณ DB7- DB0 จะส่งจากอุปกรณ์ภายนอกมาที่ LCD แต่ถ้า R/W = “1” สัญญาณ DB7-DB0 จะส่งจาก LCD ไปยงั อุปกรณภ์ ายนอก
43 1 #include<LiquidCrystal.h> 2 LiquidCrystal lcd(12,11,5,4,3,2); 3 void setup(){ 4 lcd.begin(16,2); 5} 6 void loop(){ 7 lcd.setCursor(0,0); 8 lcd.print(“inFunction”); 9 delay(5000); 10 lcd.clear(); 11 } ภาพที่ 3.8 แสดงโคด้ ตวั อยา่ งการควบคมุ จอแอลซีดี จากภาพท่ี 3.8 โค้ดตัวอย่างข้างต้น อธบิ ายขน้ั ตอนได้ดังนี้ ขั้นตอนที่ 1 บรรทดั ที่ 1 เปน็ การเรยี กใช้ไลเบอร์ร่ชี องจอแอลซีดี โดยใชค้ ำส่ัง #include<LiquidCrystal.h > ขั้นตอนที่ 2 บรรทัดที่ 2 เป็นการกำหนดขาที่จะใช้รับส่งข้อมูลจากจอแอลซีดีกับ บอร์ด โดยใช้คำส่ัง LiquidCrystal lcd(12,11,5,4,3,2); (โดย lcd คือ ชื่อตัวแปร และ ตัวเลข คือ ขา ท่ีใช้ในการเชื่อมต่อ) ข้นั ตอนที่ 3 บรรทัดที่ 4 เป็นการกำหนดขนาดจอแอลซดี ี โดยใชค้ ำสัง่ lcd.begin (ขนาดกวา้ ง X ยาว); ขั้นตอนที่ 4 บรรทัดที่ 7 – 11 เป็นการเซ็ตตำแหน่งเคอร์เซอร์ไปที่ตำแหน่งที่ 0,0 โดยใชค้ ำส่งั lcd.setCursor (ตำแหน่งของแถว, ตำแหน่งคอลัมน์); แลว้ ให้แสดงผลคำว่า inFunction โดยใช้คำสั่ง lcd.print (“ข้อความ”); แล้วหน่วงการทำงานเป็นระยะเวลา 5 วินาที โดยใช้คำสั่ง Delay(1000); (โดย 1000 จะเทา่ กบั 1วินาที) แลว้ ลบออกโดยใช้คำสัง่ ชือ่ ตัวแปร.clear (); 3.1.4. วงจรควบคมุ เซนเซอร์วดั ระยะทาง ในการหยิบจับวัตถแุ ต่ละอย่างจะมีความสงู ที่แตกต่างกนั ผูว้ ิจัยจึงได้ใช้เซนเซอร์วัด ระยะมาใช้ในการวัดระยะทางจากมือจบั ถงึ วตั ถุ โดยมวี งจรควบคุม ดงั ภาพท่ี 3.9
44 ภาพท่ี 3.9 แสดงการเชอ่ื มต่อของเซนเซอร์วัดระยะทางกับบอรด์ (ทม่ี า : 14code (2563)) จากภาพที่ 3.9 แสดงการเชอื่ มตอ่ ของเซนเซอรว์ ัดระยะทางกบั บอรด์ โดยท่ีมกี าร เชือ่ มตอ่ ดงั นี้ - สายสีเหลอื ง สายรับขอ้ มูลต่อเข้ากบั บอรด์ ขาที่ D5 - สายสีดำ ตอ่ เข้ากบั GND - สายสแี ดง ต่อเข้ากับ +5Vcd 1 #define Sensor 2 2 Void setup(){ 3 pinMode(Sensor,INPUT); 4 Serial.begin(9600); 5} 6 Void loop(){ 7 int l = digitalRead(Sensor); 8 Serial.print(“obstacle detected = ”); 9 Serial.println(l); 10 Delay(1000); 11 } ภาพท่ี 3.10 แสดงโคด้ ตวั อย่างการควบคุมเซนเซอร์
Search