Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 90 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
90
Dung lượng
3,66 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ ĐỀ TÀI: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO Người hướng dẫn: TS LÊ HOÀI NAM Sinh viên thực hiện: NGUYỄN VĂN THÂN Số thẻ sinh viên: 101140164 Lớp: 14CDT1 Đà Nẵng, 6/2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP I Thông tin chung: Họ tên sinh viên: NGUYỄN VĂN THÂN Lớp: 14CDT1 Số thẻ SV: 101140164 Tên đề tài: Chế tạo robot delta gắp thả vật băng chuyền tốc độ cao Người hướng dẫn: LÊ HOÀI NAM II Nhận xét đồ án tốt nghiệp: Học hàm/ học vị: Tiến sĩ Về tính cấp thiết, sáng tạo ứng dụng đồ án: (điểm đánh giá tối đa 2đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Về kết giải nội dung nhiệm vụ yêu cầu đồ án: (điểm tối đa 4đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Về hình thức, cấu trúc, bố cục đồ án tốt nghiệp: (điểm đánh giá tối đa 2đ) ……………………………………………………………………………………… ……………………………………………………………………………………… NCKH: (nếu có báo khoa học ĐATN đề tài NCKH: cộng thêm 1đ) ……………………………………………………………………………………… ……………………………………………………………………………………… Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………………………………………………… ……………………………………………………………………………………… III Tinh thần, thái độ làm việc sinh viên: (điểm đánh giá tối đa 1đ) ……………………………………………………………………………………… ……………………………………………………………………………………… IV Đánh giá: Điểm đánh giá: /10 Đề nghị: Được bảo vệ đồ án/ Bổ sung thêm để bảo vệ/ Không bảo vệ Đà Nẵng, ngày tháng năm 2019 Người hướng dẫn TS Lê Hoài Nam ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP I Thông tin chung: Họ tên sinh viên: NGUYỄN VĂN THÂN Lớp: 14CDT1 Số thẻ SV: 101140164 Tên đề tài: Tên đề tài: Chế tạo robot delta gắp thả vật băng chuyền tốc độ cao Người phản biện: ………………………….………… Học hàm/ học vị: Tiến sĩ II Nhận xét, đánh giá đồ án tốt nghiệp: TT Điểm tối đa Các tiêu chí đánh giá Sinh viên có phương pháp nghiên cứu phù hợp, giải đủ nhiệm vụ đồ án giao 80 1a - Hiểu vận dụng kiến thức Toán khoa học tự nhiên vấn đề nghiên cứu 15 1b - Hiểu vận dụng kiến thức sở chuyên ngành vấn đề nghiên cứu 25 1c - Có kỹ vận dụng thành thạo phần mềm mơ phỏng, tính tốn vấn đề nghiên cứu 10 1d - Có kỹ đọc, hiểu tài liệu tiếng nước ứng dụng vấn đề nghiên cứu 10 1e - Có kỹ làm việc nhóm, kỹ giải vấn đề 10 1f - Đề tài có giá trị khoa học, cơng nghệ; ứng dụng thực tiễn: 20 2a - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích 15 2b - Thuyết minh đồ án khơng có lỗi tả, in ấn, định dạng Điểm lại 10 Kỹ viết: Điểm trừ Tổng điểm đánh giá: theo thang 100 Quy thang 10 (lấy đến số lẻ) - Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa: ……………………………………………………………………………………… - Ý kiến khác: ……………………………………………………………………………………… - Đề nghị: Được bảo vệ đồ án/ Bổ sung thêm để bảo vệ/ Không bảo vệ Đà Nẵng, ngày tháng Người phản biện năm 2019 TÓM TẮT Tên đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO Sinh viên thực hiện: NGUYỄN VĂN THÂN Số thẻ SV: 101140164 Lớp: 14CDT1 Nội dung đồ án trình bày sở lý thuyết tính tốn động học thuận ngược điều khiển robot Delta theo quỹ đạo có kết hợp xử lý ảnh Dựa phương pháp chế tạo mẫu robot trọng cơng nghiệp robot Delta theo dạng ba khớp xoay – 3RRR Chương 1: Tổng quan đề tài Chương cung cấp cho người đọc nhìn robot Delta, lợi so với robot khác ứng dụng cơng nghiệp giáo dục, đồng thời khái quát hệ thống robot với băng tải Đặt vấn đề xây dựng robot Delta công nghiệp Chương 2: Thiết kế khí robot Chương này, ta lựa chọn phương án thiết kế tính tốn dẫn động cho robot, giải toán động học thuận ngược robot song song Delta theo phương pháp hình học Chương 3: Hệ thống điều khiển Chương giải vấn đề điều khiển robot Delta cho với chức robot Chương 4: Chương trình điều khiển – Firmware Xây dựng chương trình điều khiển cho robot, tính toán quỹ đạo di chuyển cho robot theo Gcode gửi xuống Chương 5: Phần mềm điều khiển – Software Chương trình bày phương pháp xây dựng phần mềm biên soạn Gcode cho robot, xử lí ảnh để tính tốn quỹ đạo cho robot Delta theo yêu cầu Chương 6: Bộ điều khiển cầm tay – Controller Chương giúp xây dựng điều khiển cầm tay, giúp kết nối mô-đun robot với Cuối đánh giá kiểm tra sai sót rút kinh nghiệm để phát triển đề tài ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ CỘNG HỊA XÃ HÔI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Văn Thân Số thẻ sinh viên: 101140164 Lớp: 14CDT1 Khoa: Cơ Khí Ngành: Kỹ Thuật Cơ Điện Tử Tên đề tài đồ án: Chế tạo Robot Delta gắp thả vật băng chuyền tốc độ cao Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: …………………………………… …………………………………………… …… ………………………………………………………………………………………… ………………………………………………………………………………………… Nội dung phần thuyết minh tính tốn: Chương 1: Tổng quan đề tài Chương 2: Thiết kế khí robot Chương 3: Hệ thống điều khiển Chương 4: Chương trình điều khiển – Firmware Chương 5: Phần mềm điều khiển – Software Chương 6: Bộ điều khiển cầm tay – Controller Các vẽ, đồ thị ( ghi rõ loại kích thước vẽ ): - Bản vẽ 3D robot Delta(A0) Bản vẽ lắp robot Delta (A0) Sơ đồ tổng quan hệ thống (A0) Lưu đồ thuật toán (A0) Sơ đồ nối dây (A0) Họ tên người hướng dẫn: Phần/ Nội dung: TS Lê Hoài Nam Ngày giao nhiệm vụ đồ án: Ngày hồn thành đồ án: Trưởng Bộ mơn TS Võ Như Thành …… /01/2019 …… /06/2019 Đà Nẵng, ngày tháng Người hướng dẫn TS Lê Hồi Nam năm 2019 LỜI NĨI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu Có thể nói Robot mang tới cho sống người sống mới, cách trải nghiệm sống đơi cịn người bạn Những hãng Robot từ nước tiếng giới từ Đức, Nhật Bản, Nga, Hoa Kỳ ngày khẳng định diện robot phần không thiếu sống tương lai phía trước Nó xuất tất lĩnh vực từ khoa học vĩ mô vi mô ngày đa dạng Sau thời gian học tập rèn luyện, với hướng dẫn bảo tận tình thầy giáo TS Lê Hồi Nam, trợ giúp quý thầy cô mơn tài liệu có liên quan, mà em hồn thành xong đề tài Đề tài hồn thành xong, khơng thể tránh nhiều thiếu sót mong quý thầy cô giáo thông cảm bảo thêm để đề tài phát triển ứng dụng rộng rãi thực tế Em xin chân thành gửi lời cảm ơn đến quý thầy cô! Sinh viên thực Nguyễn Văn Thân i CAM ĐOAN Kính gửi: - Ban Giám hiệu Trường Đại học Bách khoa; - Khoa Cơ Khí Tơi tên : NGUYỄN VĂN THÂN Số thẻ sinh viên: 101140164 Lớp : 14CDT1 Khoa: Cơ Khí Đề tài: Chế tạo Robot Delta gắp thả vật băng chuyền tốc độ cao Tôi xin cam đoan đồ án tốt nghiệp thực không chép hay trùng với đề tài thực hiện, sử dụng tài liệu tham khảo nêu báo cáo Các số liệu, kết nêu đề tài trung thực Nếu sai, xin chịu hoàn toàn trách nhiệm Sinh viên thực Nguyễn Văn Thân ii MỤC LỤC Tóm tắt Nhiệm vụ đồ án Lời nói đầu cảm ơn Lời cam đoan liêm học thuật Mục lục i ii iii Danh sách bảng biểu, hình vẽ sơ đồ v Trang CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 GIỚI THIỆU CHUNG VỀ ROBOT DELTA 1.1.1 Khái niệm 1.1.2 Ứng dụng robot delta 1.2 TỔNG QUAN VỀ HỆ THỐNG ROBOT VÀ BĂNG TẢI 1.2.1 Các khối 1.2.2 Vấn đề giải CHƯƠNG 2: THIẾT KẾ CƠ KHÍ ROBOT 2.1 KẾT CẤU ROBOT 2.1.1 Lựa chọn cấu robot 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 Cơ cấu dẫn động robot Khớp cầu dẫn động 10 Khung đế cố định gá động bước 10 Đế di động cấu chấp hành 11 Hệ thống băng tải dẫn động cho băng tải 12 2.2 TỔNG QUAN MƠ HÌNH 13 2.3 ĐỘNG HỌC ROBOT DELTA 15 2.3.1 Động học thuận Robot 16 2.3.2 Động học ngược Robot 18 CHƯƠNG 3: HỆ THỐNG ĐIỀU KHIỂN 21 3.1 TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN 21 3.2 CÁC LINH KIỆN CHÍNH TRONG HỆ THỐNG 22 CHƯƠNG 4: CHƯƠNG TRÌNH ĐIỀU KHIỂN – FIRMWARE 25 4.1 LƯU ĐỒ THUẬT TOÁN 25 4.2 PHẦN MỀM LẬP TRÌNH 26 4.3 MỘT PHẦN ĐOẠN CODE QUAN TRỌNG TRONG FIRMWARE 26 iii 4.4 GCODE ĐIỀU KHIỂN ROBOT 29 CHƯƠNG 5: PHẦN MỀM ĐIỀU KHIỂN 30 5.1 KẾT NỐI 31 5.2 QUẢN LÝ GCODE 32 5.3 BỘ BIÊN SOẠN, BIÊN DỊCH VÀ XỬ LÝ TIẾN TRÌNH GCODE 33 5.4 BẢNG ĐIỀU KHIỂN TRỰC TIẾP 35 5.5 XỬ LÝ CAMERA 36 5.6 LƯU ĐỒ THUẬT TOÁN CỦA PHẦN MỀM 36 5.7 LẬP TRÌNH XỬ LÝ ẢNH CỦA PHẦN MỀM 37 CHƯƠNG 6: BỘ ĐIỀU KHIỂN CẦM TAY – CONTROLLER 39 6.1 SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN 39 6.2 LẬP TRÌNH CHO TAY CẦM 41 6.3 LƯU ĐỒ THUẬT TOÁN CỦA TAY CẦN ĐIỀU KHIỂN 42 6.4 CHỨC NĂNG VÀ CÁCH SỬ DỤNG 43 KẾT LUẬN 46 TÀI LIỆU THAM KHẢO 48 PHỤ LỤC 1: CHƯƠNG TRÌNH TRONG ROBOT DELTA – FIRMWARE 49 PHỤ LỤC 2: CHƯƠNG TRÌNH TRONG ĐIỀU KHIỂN CẦM TAY 56 iv DANH SÁCH CÁC BẢNG BIỂU, HÌNH VẼ VÀ SƠ ĐỒ Hình 1.1: Robot delta Hình 1.2: Robot delta phân loại sản phẩm Hình 1.3: Robot delta phục vụ giáo dục Hình 1.4: Các thành phần hệ thống robot Hình 2.1: Robot delta 3rus Hình 2.2: Robot delta 3pus thường dùng cho in3d Hình 2.3: Kết cấu robot delta Hình 2.4 :Robot delta ảnh thực tế Hình 2.5: Bộ truyền đai gt2 1:3 Hình 2.6: Khớp cầu robot delta 10 Hình 2.7: Khung đế cố định cho robot 10 Hình 2.8: Gá động bước truyền đai gt2 11 Hình 2.9: Đế di động cho robot delta 11 Hình 2.10: Giác hút vật thể 12 Hình 2.11: Băng tải sản phẩm 12 Hình 2.12: Động truyền động băng tải 13 Hình 2.13: Ảnh thực tế mơ hình robot delta 13 Hình 2.14: Ký hiệu kích thước robot delta 15 Hình 2.15: Các thơng số cần tính tốn 16 Hình 2.16: Chú thích giá trị dùng tính tốn 16 Hình 2.17: Kích thước động học 18 Hình 2.18: Kích thước mặt cố định để tính tốn 18 Hình 2.19: Kích thước mặt di động để tính tốn 19 Hình 3.1: Sơ đồ nối dây mạch điều khiển delta 21 Hình 3.2: Ảnh arduino nối dây thực tế 22 Hình 3.3: Sơ đồ mạch in mạch điều khiển 22 Hình 3.4: Hộp điều khiển đầu hút 23 Hình 3.5: Driver điều khiển băng tải 23 Hình 3.6: Encoder đọc tốc độ 24 Hình 4.1: Lưu đồ thuật tốn firmware 25 Hình 4.2: Giao diện phần mềm lập trình cho firmware 26 Hình 4.3: Đoạn chương trình setup timer 27 Hình 4.4: Đoạn chương trình tính động học ngược robot 27 Hình 4.5: Đoạn chương trình chọn góc sau tính ngược 28 v Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO if (StableButton.IsPressed(X_PIN)) { if (FunctionButton == X) { FunctionButton = H; lbNoticeManually->SetText(""); EncoderSwitch.Enable = false; TaskScheduler.Stop(EncoderSendGcode); TaskScheduler.Stop(EncoderLoad); } else { FunctionButton = X; EncoderSwitch.Enable = true; TaskScheduler.Resum(EncoderSendGcode); TaskScheduler.Resum(EncoderLoad); } } if (StableButton.IsPressed(Y_PIN)) { if (FunctionButton == Y) { FunctionButton = H; lbNoticeManually->SetText(""); EncoderSwitch.Enable = false; TaskScheduler.Stop(EncoderSendGcode); TaskScheduler.Stop(EncoderLoad); } else { FunctionButton = Y; EncoderSwitch.Enable = true; TaskScheduler.Resum(EncoderSendGcode); TaskScheduler.Resum(EncoderLoad); } } if (StableButton.IsPressed(Z_PIN)) { if (FunctionButton == Z) SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 65 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO { FunctionButton = H; lbNoticeManually->SetText(""); EncoderSwitch.Enable = false; TaskScheduler.Stop(EncoderSendGcode); TaskScheduler.Stop(EncoderLoad); } else { FunctionButton = Z; EncoderSwitch.Enable = true; TaskScheduler.Resum(EncoderSendGcode); TaskScheduler.Resum(EncoderLoad); } } if (StableButton.IsPressed(UP_PIN)) { LCDMenu.MoveCursorUp(); } if (StableButton.IsPressed(LE_PIN)) { LCDMenu.MoveCursorLeft(); } if (StableButton.IsPressed(RI_PIN)) { LCDMenu.MoveCursorRight(); } if (StableButton.IsPressed(DO_PIN)) { LCDMenu.MoveCursorDown(); } if (StableButton.IsPressed(EN_PIN)) { LCDMenu.Enter(); } if (StableButton.IsPressed(BA_PIN)) { LCDMenu.Return(); } SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 66 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO if (StableButton.IsPressed(SW_PIN)) { } } void SendHomeGCode() { if (Mode == HOME) { return; } for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = HOME; lbNoticeScan->SetText("-Homing "); lbNoticeManually->SetText("-Homing "); SerialCMD_COM[i]._Serial->println("G28"); } } } void SendChangeEGCode() { if (Mode == MOVE) { return; } if (EndEffect == VACCUM) { //Mode = MOVE; //lbNoticeScan->SetText("-Moving "); //lbNoticeManually->SetText("-Moving "); SendVaccumGcode(E_Delta); } } void SendVaccumGcode(bool value) { E_Delta = !E_Delta; SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 67 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO if (E_Delta == true) { for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { smChooseE->SetText("E:Vaccum O"); SerialCMD_COM[i]._Serial->println("G41 P0"); SerialCMD_COM[i]._Serial->println("G42 V0"); break; } } } else { for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { smChooseE->SetText("E:Vaccum F"); SerialCMD_COM[i]._Serial->println("G41 P1"); SerialCMD_COM[i]._Serial->println("G42 V1"); break; } } } } void SendMoveXGCode() { if (Mode == MOVE) { return; } String gcode = String("G01 X") + String(X_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = MOVE; SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 68 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO lbNoticeManually->SetText("-Moving "); SerialCMD_COM[i]._Serial->println(gcode); break; } } } void SendMoveYGCode() { if (Mode == MOVE) { return; } String gcode = String("G01 Y") + String(Y_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = MOVE; lbNoticeManually->SetText("-Moving "); SerialCMD_COM[i]._Serial->println(gcode); break; } } } void SendMoveZGCode() { if (Mode == MOVE) { return; } String gcode = String("G01 Z") + String(Z_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = MOVE; lbNoticeManually->SetText("-Moving "); SerialCMD_COM[i]._Serial->println(gcode); break; SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 69 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO } } } void GetDataFromEeprom() { //EEPROM.get(SEASON_ADDRESS, ProcessingSeason); } void SaveDataStructToEeprom() { //EEPROM.put(SEASON_ADDRESS, ProcessingSeason); } void ConfirmUsb() { Serial.println("YesController"); } void YesDeltaCom1() { if (Device[0] == NULL_DEVICE) { Device[0] = DELTA; } else if (SerialCMD_COM[0].IsForwardData == false) { SerialCMD_USB._Serial->println("YesDelta"); } } void YesConveyor1() { if (Device[0] == NULL_DEVICE) { Device[0] = CONVEYOR; } else if (SerialCMD_COM[0].IsForwardData == false) { SerialCMD_USB._Serial->println("YesConveyor"); } } SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 70 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO void Ok() { switch (Mode) { case FREE: break; case HOME: for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { SerialCMD_COM[i]._Serial->println("Position"); break; } } lbNoticeScan->SetText("-Home"); lbNoticeManually->SetText("-Home"); TaskScheduler.Resum(CheckTimeOutHomeLoad); Mode = FREE; break; case SET_VALUE: lbNoticeScan->SetText("-Set done"); lbNoticeManually->SetText("-Set done"); Mode = FREE; break; case MOVE: lbNoticeScan->SetText("-Finished"); if (FunctionButton == H || FunctionButton == E) { lbNoticeManually->SetText("-Finished"); } Mode = FREE; break; case LOAD: break; case AUTO: Mode = FREE; break; SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 71 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO default: break; } } void ScanningDevice() { if (Mode == SCAN) { return; } Mode = SCAN; lbNoticeScan->SetText("-Scanning "); for (uint8_t i = 0; i < 3; i++) { SerialCMD_COM[i].Enable = true; Device[i] = NULL_DEVICE; SerialCMD_COM[i]._Serial->println("Confirm"); } TaskScheduler.Resum(CheckTimeOutScan); } void LoadDevice() { if (Mode == LOAD) { return; } Mode = LOAD; lbNoticeScan->SetText("-Loadding "); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { LoadDelta(i); } else if (Device[i] == CONVEYOR) { LoadConveyor(i); } } SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 72 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO TaskScheduler.Resum(CheckTimeOutLoad); } void LoadDelta(uint8_t com) { SerialCMD_COM[com]._Serial->println("pullM03"); SerialCMD_COM[com]._Serial->println("pullM204"); SerialCMD_COM[com]._Serial->println("Position"); } void LoadConveyor(uint8_t com) { SerialCMD_COM[com]._Serial->println("Getspee"); } void CheckTimeOutScan() { TaskScheduler.Stop(CheckTimeOutScan); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == NULL_DEVICE) { lbDevice[i]->SetText(" "); SerialCMD_COM[i].Enable = false; } else if (Device[i] == DELTA) { lbDevice[i]->SetText("DELTA"); } else if (Device[i] == CONVEYOR) { lbDevice[i]->SetText("CONVE"); } } Mode = FREE; lbNoticeScan->SetText("-Scan done"); } void CheckTimeOutLoad() { TaskScheduler.Stop(CheckTimeOutLoad); UpdateLabelVelocity(); SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 73 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO UpdateLabelPosition(); Mode = FREE; lbNoticeScan->SetText("-Load done"); } void CheckTimeOutHomeLoad() { TaskScheduler.Stop(CheckTimeOutHomeLoad); UpdateLabelPosition(); } void EncoderSendGcode() { if (Mode == MOVE) { return; } int encoderBuffer = EncoderSwitch.GetValue(); if (encoderBuffer == 0) { return; } switch (FunctionButton) { case X: X_Delta = X_Delta + encoderBuffer; SendMoveX(); break; case Y: Y_Delta = Y_Delta + encoderBuffer; SendMoveY(); break; case Z: Z_Delta = Z_Delta + encoderBuffer; SendMoveZ(); break; default: break; } UpdateLabelPosition(); SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 74 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO } void SendMoveX() { String gcode = String("G01 X") + String(X_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = MOVE; SerialCMD_COM[i]._Serial->println(gcode); break; } } } void SendMoveY() { String gcode = String("G01 Y") + String(Y_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = MOVE; SerialCMD_COM[i]._Serial->println(gcode); break; } } } void SendMoveZ() { String gcode = String("G01 Z") + String(Z_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { Mode = MOVE; SerialCMD_COM[i]._Serial->println(gcode); break; } SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 75 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO } } void EncoderLoad() { int encoderBuffer = EncoderSwitch.GetPulse(); switch (FunctionButton) { case X: lbNoticeManually->SetText("-X desire: " + String(X_Delta + encoderBuffer)); break; case Y: lbNoticeManually->SetText("-Y desire: " + String(Y_Delta + encoderBuffer)); break; case Z: lbNoticeManually->SetText("-Z desire: " + String(Z_Delta + encoderBuffer)); break; default: break; } } void RunPointArray() { if (Mode == AUTO) { return; } PointDelta pointBuffer; pointBuffer = PointArray.operator[](IndexArray); X_Delta = pointBuffer.X_delta; Y_Delta = pointBuffer.Y_delta; Z_Delta = pointBuffer.Z_delta; E_Delta = pointBuffer.E_delta; SendMoveXYZEGCode(); Mode = AUTO; UpdateLabelPosition(); IndexArray++; if (IndexArray == PointArray.size()) { SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 76 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO IndexArray = 0; } } void SendMoveXYZEGCode() { String gcode = String("G01 X") + String(X_Delta) + String(" Y") + String(Y_Delta) + String(" Z") + String(Z_Delta); for (uint8_t i = 0; i < 3; i++) { if (Device[i] == DELTA) { SerialCMD_COM[i]._Serial->println(gcode); break; } } } void FunctionPen() { EndEffect = PEN; smChooseE->SetText("E:Pen"); LCDMenu.Return(); } void FunctionVaccum() { EndEffect = VACCUM; smChooseE->SetText("E:Vaccum"); LCDMenu.Return(); } void FunctionGrip() { EndEffect = GRIP; smChooseE->SetText("E:Grip"); LCDMenu.Return(); } void Function50mm() { vtX->Resolution = 50; vtY->Resolution = 50; SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 77 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO vtZ->Resolution = 50; vtM03->Resolution = 50; vtM204->Resolution = 50; vtSpeedConveyor->Resolution = 50; LCDMenu.Return(); } void Function10mm() { vtX->Resolution = 10; vtY->Resolution = 10; vtZ->Resolution = 10; vtM03->Resolution = 10; vtM204->Resolution = 10; vtSpeedConveyor->Resolution = 10; LCDMenu.Return(); } void Function1mm() { vtX->Resolution = 1; vtY->Resolution = 1; vtZ->Resolution = 1; vtM03->Resolution = 1; vtM204->Resolution = 1; vtSpeedConveyor->Resolution = 1; LCDMenu.Return(); } void SavePointAutoMenu() { PointDelta point; point.E_delta = E_Delta; point.X_delta = X_Delta; point.Y_delta = Y_Delta; point.Z_delta = Z_Delta; PointArray.push_back(point); String text = String("Point:") + String(PointArray.size()); lbNumberPoint->SetText(text); } SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 78 Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO void PlayAutoMenu() { if (PointArray.size() == 0) { return; } if (ftPlay->Text == "Run") { ftPlay->SetText("Stop"); TaskScheduler.Resum(RunPointArray); } else { ftPlay->SetText("Run"); TaskScheduler.Stop(RunPointArray); } } SVTH: NGUYỄN VĂN THÂN GVHD: TS LÊ HOÀI NAM 79 ... GVHD: TS LÊ HOÀI NAM Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO Hình 1.2: Robot Delta phân loại sản phẩm b) Robot delta giáo dục nghiên cứu Robot Delta khơng ứng dụng cơng... Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO Hình 2.3: Kết cấu robot Delta Cấu tạo Robot Delta 3RUS là: ● Bàn cố định, có đơng lắp cố định phía ● cánh tay chủ động gắng... Đề tài: CHẾ TẠO ROBOT DELTA GẮP THẢ VẬT TRÊN BĂNG CHUYỀN TỐC ĐỘ CAO Hình 2.4 :Robot Delta ảnh thực tế 2.1.2 Cơ cấu dẫn động robot Sử dụng phương pháp dẫn động dán tiếp thông hộp giảm tốc Ở đay