Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
1,26 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP THIẾT KẾ, CHẾ TẠO MƠ HÌNH VÀ MƠ PHỎNG ROBOT LÀM VIỆC TRONG NHÀ KÍNH Họ tên sinh viên: NGUYỄN ĐỨC TÀI TRƯƠNG VĂN CƯỜNG Ngành: CƠ ĐIỆN TỬ Niên khóa: 2007-2011 Tháng 06 năm 2011 THIẾT KẾ, CHẾ TẠO MƠ HÌNH VÀ MƠ PHỎNG ROBOT LÀM VIỆC TRONG NHÀ KÍNH TÁC GIẢ NGUYỄN ĐỨC TÀI – TRƯƠNG VĂN CƯỜNG Khóa luận tốt nghiệp đệ trình đáp ứng yêu cầu cấp Kỹ sư ngành Cơ Điện Tử Giáo viên hướng dẫn: TS NGUYỄN VĂN HÙNG - Th.S TƯỞNG PHƯỚC THỌ Tháng 06 năm 2011 i LỜI CẢM ƠN Em xin trân trọng cảm ơn tất quý thầy trường Đại học Nơng Lâm TP.Hồ Chí Minh q Thầy Cơ khoa Cơ Khí - Công Nghệ trang bị cho em kiến thức quý báu giúp đỡ em suốt trình học tập trường Em xin chân thành cảm ơn thầy cô môn Cơ Điện Tử giúp đỡ em nhiệt tình thời gian thực Đề tài Em xin bày tỏ biết ơn chân thành thầy Nguyễn Văn Hùng thầy Tưởng Phước Thọ tận tình hướng dẫn em suốt trình làm Luận văn tốt nghiệp Đặc biệt, em xin cảm ơn quý thầy cô hội đồng dành thời gian nhận xét góp ý để luận văn em hoàn thiện Cuối cùng, em xin gửi lời cảm ơn đến người thân bạn bè động viên, ủng hộ tạo cho em điều kiện thuận lợi suốt q trình hồn thành luận văn Thành Phố Hồ Chí Minh, ngày tháng 06 năm 2011 Sinh viên thực NGUYỄN ĐỨC TÀI – TRƯƠNG VĂN CƯỜNG ii TÓM TẮT Từ lúc đời đến nay, Robot nhanh chóng phát triển liên tục ngành cơng nghiệp Trong khoảng hai thập kỷ nay, Robot bắt đầu chiếm ý phát triển ngành nông nghiệp Nhằm phục vụ sản xuất nông nghiệp đặt biệt nhà kính Với mục đích thiểu lao động thủ công nông nghiệp, tăng suất, bảo vệ người nông dân khỏi tác hại từ sản xuất nông nghiệp Chúng tiến hành nghiên cứu, thiết kế chế tạo mơ hình Robot hoạt động nhà kính Mơ hình chế tạo thiết kế hoạt động hệ trục toa độ Oxyz điều khiển vi điều khiển giao tiếp với máy tính Kết chúng tơi thiết kế mơ hình Robot bật tự do, di chuyển đường ray treo phía trên, điều khiển tay tự động Đây mơ hình thiết kế Robot treo trần phục vụ nhà kính nước ta nhằm phục vụ sản xuất công nghệ cao Nó khắc phục khuyết điểm khơng gian làm việc mơ hình Robot phun thuốc sinh học (đường ray đặt phía dưới) Do thời gian thực hiện, mức độ rộng lớn đề tài, nên dù cố gắng phương án giải tốn chúng em chắn khơng thể tránh khỏi thiếu sót Chúng em mong nhận đóng góp ý kiến q thầy/cơ bạn bè để đề tài em hoàn thiện iii MỤC LỤC Trang LỜI CẢM ƠN ii TÓM TẮT iii MỤC LỤC iv DANH SÁCH CÁC CHỬ VIẾT TẮT vii DANH SÁCH CÁC HÌNH viii DANH SÁCH CÁC BẢNG ix Chương MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Mục đích Chương TỔNG QUAN 2.1 Sơ lược robot 2.2 Bậc tự Robot 2.3 Hệ toạ độ 2.4 Cấu trúc robot 2.4.2 Kết cấu tay máy 2.4.3 Vi điều khiển PIC 16F887 2.4.4 Giới thiệu động RC Servo .11 2.4.5 RC servo MG 995R 13 2.4.6 Tổng quan Matlab 14 Chương NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 17 3.1 Phương tiện thực 17 3.1.1 Thiết bị phần cứng 17 3.1.2 Thiết bị phần mềm 17 3.2 Phương pháp thực 17 3.2.1 Nghiên cứu lý thuyết 17 3.2.2 Bố trí phần cứng 18 iv 3.2.3 Phương tiện thiết kế driver 18 3.2.4 Phần mềm điều khiển robot .19 3.2.5 Phần mềm mô robot .19 4.1 Tính tốn thiết kế mơ hình robot 22 4.1.1 Yêu cầu thiết kế 22 4.1.2 4.2 Tính tốn động lực học tay máy 24 4.2.1 Tính tốn thiết kế động học thuận .24 4.2.2 Tính tốn thiết kế động học ngược 28 4.3 Tính tốn động lực học quỹ đạo robot 29 4.3.1 Tính tốn thiết kế động học ngược 29 4.3.2 Tính tốn quỹ đạo chuyển động robot 32 4.4 Thiết kế truyền thông mã hóa liệu hệ thống 35 4.4.1 Phương pháp truyền thông 35 4.4.2 Cổng giao tiếp USB to COM 36 4.4.3 Mã hóa liệu 37 4.5 Thiết kế phần mềm điều khiển 38 4.5.1 Yêu cầu thiết kế phần mềm .38 4.5.2 Chương trình phần mềm 39 4.5.3 Xuất tập tin lưu trữ 41 4.6 Driver điều khiển .42 4.7.1 Kết chế tạo 44 4.7.2 Kết khảo nghiệm sai số góc quay .46 4.7.3 Kết khảo nghiệm điều khiển DC 48 4.8 4.7 Mơ hình cấu tạo robot 22 Thiết kê phần mềm mô hệ thống 50 4.8.1 Chương trình mơ 50 4.6.4 Mô chế độ điều khiển tay 51 4.6.5 Mô điều khiển tự động 52 Nhận xét kết thiết kế, chế tạo ý tưởng 54 4.7.1 Phần khí 54 v 4.7.2 Phần mạch điều khiển .54 4.7.3 Phần mềm điều khiển 54 4.7.4 Phần mềm mô 55 Chương KẾT LUẬN VÀ ĐỀ NGHỊ 56 TÀI LIỆU THAM KHẢO .58 PHỤ LỤC 59 Phụ lục Quy tắc động học thuận - Qui Tắc Denavit-Hartenberg 59 Phụ lục Các sơ đồ mạch điện 61 Phụ lục số đoạn code 62 vi DANH SÁCH CÁC CHỮ VIẾT TẮT VB – Visual Basis CMOS – Complementary Metal-Oxide-Semiconductor COM – Communications MATLAB – RC Radio controled ProE – Pro – Engineer DH Denavit-Hartenberg – – Matrix Laboratory vii DANH SÁCH CÁC HÌNH Trang Hình 2.1: Hình 2.2: Hình 2.3: Hình 2.4: Hình 2.5: Hình 2.6: Hình 2.7: Hình 2.8: Hình 3.1: Hình 3.2: Hình 4.1: Hình 4.2: Hình 4.3: Hình 4.4: Hình 4.5: Hình 4.6: Hình 4.7: Hình 4.8: Hình 4.9: Hình 4.10: Hình 4.11: Hình 4.12: Hình 4.13: Hình 4.14: Hình 7.1: Hình 7.2 Hình 7.3 Toạ độ suy rộng Robot Qui tắc bàn tay phải Cấu tạo tổng quát Robot .6 Sơ đồ khối vi điều khiển PIC 16F887 (nguồn Microchip) .10 Cấu trúc bên RC servo 12 Tín hiệu điều khiển động RC .13 RC servo MR 995R 14 Giao diện Matlab .15 Sơ đồ khối Robot 19 Sơ đồ khối liên kết Pro E Matlab 20 Mơ hình robot 23 Hệ trục tọa độ robot 25 Đồ thị đặc tính quỹ đạo .34 Mô hình truyền thơng nối tiếp 35 Sơ đồ khối giao tiếp USB to COM 36 Giải thuật truyền liệu 38 Giao diện phần mềm 41 Sơ đồ chức phần mềm 40 Sơ đồ khối điều khiển động DC 42 Không gian làm việc cánh tay robot .45 Sơ đồ xác định vị trí cơng tắc hành trình 48 Biểu đồ thời gian trạng thái “1” .50 Giao diện mô Robot 50 Giải thuật mô chạy tọa độ điểm 53 Biểu diển trục DH 60 Sơ đồ mạch Driver RC 61 Sơ đồ nguyên lý mạch nguồn 62 viii DANH SÁCH CÁC BẢNG Trang Bảng 4.1: Bảng 4.2: Bảng 4.3: Bảng 4.4: Bảng 4.5: Bảng 4.6: Bảng 4.7: Bảng 4.8: Bảng 4.9: Bảng 4.10: Bảng thông số robot 24 Bảng DH tổng quát 25 Bảng DH cánh tay robot .27 Bảng trạng thái điều khiển động DC 43 Bảng kết đo góc quay 46 Bảng kết đo góc quay 47 Bảng kết đo góc quay 47 Bảng kết khảo nghiệm DC (đơn vị thời gian (s)) .48 Bảng thời gian trạng thái mức “0” 49 Bảng thời gian trang thái mức “1” .49 ix TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt TS Nguyễn Tiến Dũng Trần Thế San, 2003 Cơ sở nghiên cứu sáng tạo Robot NXB Thống Kê, Tp HCM, 423 trang Nguyễn Văn Hùng 2007, Kỹ thuật lập trình ứng dụng, ĐH Nơng Lâm TP.HCM, 200 trang Nguyễn Hoàng Hải, Nguyễn Khắc Kiểm, Nguyễn Trung Dũng Trần Hà Đức, 2003 Lập trình MATLAB dành cho sinh viên kỹ thuật NXB Khoa Học Kỹ Thuật, Hà Nội, 308 trang Tài liệu tiếng Anh Data sheet linh kiện điện tử - Nguồn internet http://www.alldatasheet.com/ Dogan Ibrahim, 2008 Newnes Advanced PIC.Microcontroller Projects in C Mar Newnes, USA , 534 pages Patrick Marchand and O Thomas Holland, 2003 Graphics and GUIs with MATLAB CHAPMAN and HALL/CRC, USA, 524 pages Trang 58 PHỤ LỤC Phụ lục Quy tắc động học thuận - Qui Tắc Denavit-Hartenberg Bước 1: Xác định trục khớp đặt tên tương ứng z0 z n1 Bước 2: Xác lập hệ tọa độ Đặt gốc hệ tọa độ điểm trục z0 Các trục x0 y0 chọn thỏa qui tắc tam diện thuận Lặp i 1, , n lần thực bước đến bước Bước 3: Xác định gốc Oi giao điểm đường vng góc chung zi zi1 với zi Nếu zi giao với zi1 , đặt Oi giao điểm Nếu zi song song với zi1 , đặt Oi vị trí zi cho thuận tiện Bước 4: Xác định xi dọc theo đường vng góc chung zi1 zi qua Oi , theo hướng vng góc với mặt phẳng tạo zi1 zi zi 1 zi giao Bước 5: Xác định yi thỏa qui tắc tam diện thuận Bước 6: Xác định hệ tọa độ tác động cuối on xn yn zn Giả sử khớp n khớp quay, đặt zn a dọc theo hướng z n1 Xác định gốc On zn cho thuận tiện, thường tâm kẹp hay đầu dụng cụ mà tay máy phải mang Đặt yn s theo hướng kẹp đặt xn theo s x a Nếu dụng cụ kẹp không đơn giản đặt xn yn tạo thành tam diện thuận Bước 7: Lập bảng tham số ch khâu robot : khoảng cách theo phương xi từ Oi đến giao điểm trục xi z i1 di : khoảng cách theo phương zi 1 từ Oi1 đến giao điểm trục xi z i1 , d i thay đổi khớp i khớp trượt i : góc quay quanh trục xi từ z i1 đến z i Trang 59 i : góc quay quanh trục z i1 từ xi1 đến xi Bước 8: Từ ma trận biến đổi Ai cách thay tham số vào Bước 9: Tính Tn0 A1 An Ma trận cho ta biết vị trí hướng hệ tọa độ dụng cụ gắn khâu cuối Hình 7.1: Biểu diển trục DH Trang 60 Phụ lục Các sơ đồ mạch điện Hình 7.2 Sơ đồ mạch Driver RC Trang 61 Hình 7.3 Sơ đồ nguyên lý mạch nguồn Hình 7.4 Sơ đồ ngun lý mạch cơng suất DC Phụ lục số đoạn code Mô Matlab Trang 62 Từ phầm mềm Matlab đọc file lưu lệnh set(handles.axes1,'visible','on') [fout1,vout1,cout1]=rndread('giantruot1.slp'); [fout2,vout2,cout2]=rndread('thanhtruot.slp'); [fout3,vout3,cout3]=rndread('khopquay1.slp'); [fout4,vout4,cout4]=rndread('khopquay2.slp'); [fout5,vout5,cout5]=rndread('canhtay4.slp'); Xác lập biến thông số p1=patch('faces',fout1,'vertices',vout1); p2=patch('faces',fout2,'vertices',vout2); p3=patch('faces',fout3,'vertices',vout3); p4=patch('faces',fout4,'vertices',vout4); p5=patch('faces',fout5,'vertices',vout5); Thiết lập thông số set(p1,'facec','flat'); set(p2,'facec','flat'); set(p3,'facec','flat'); set(p4,'facec','flat'); set(p5,'facec','flat'); set(p1, 'FaceVertexCData', cout1); set(p2, 'FaceVertexCData', cout2); set(p3, 'FaceVertexCData', cout3); set(p4, 'FaceVertexCData', cout4); set(p5, 'FaceVertexCData', cout5); Trang 63 set(p1, 'EdgeColor','none') set(p2, 'EdgeColor','none') set(p3, 'EdgeColor','none') set(p4, 'EdgeColor','none') set(p5, 'EdgeColor','none') nv1=T1*vout1; set(p1,'vertices',nv1(1:3,:)'); nv2=T1*T2*vout2; set(p2,'vertices',nv2(1:3,:)'); nv3=T1*T2*T3*vout3; set(p3,'vertices',nv3(1:3,:)'); nv4=T1*T2*T3*T4*vout4; set(p4,'vertices',nv4(1:3,:)'); nv5=T1*T2*T3*T4*T5*vout5; set(p5,'vertices',nv5(1:3,:)'); Code VB: Private RunCT As Long Private HomeX, HomeY, HomeZ, HomeTTD, En As Byte '================chuong trinh chinh================================ '===================Chay chuong trinh========================= Private Sub CmdBreak_Click() Timer1.Enabled = False End Sub Trang 64 Private Sub CmdHome_Click() If Ctchinh.msCom.Checked = False Then Dim lenh As Integer lenh = MsgBox(" Ban chua mo cong COM Ban co muon mo cong COM? ", vbExclamation + vbOKCancel, "Canh Bao") If lenh = vbOK Then COM.Show If lenh = vbCancel Then Exit Sub End If Call TRUYEN(1, Val(HomeX)) Call TRUYEN(2, Val(HomeY)) Call TRUYEN(3, Val(HomeZ)) Call TRUYEN(4, 0) Timer1.Enabled = False End Sub Private Sub CmdPlay_Click() If msCom.Checked = False Then Dim lenh As Integer lenh = MsgBox(" Ban chua mo cong COM Ban co muon mo cong COM? ", vbExclamation + vbOKCancel, "Canh Bao") If lenh = vbOK Then COM.Show If lenh = vbCancel Then Exit Sub Else Timer1.Enabled = True End If End Sub Trang 65 Private Sub CmdStop_Click() Timer1.Enabled = False RunCT = Lbvitri.Caption = "Oxyz" & RunCT End Sub Private Sub CmdDulieu_Click() Time.AddItem ntime.Text Ox.AddItem nOx.Text Oy.AddItem nOy.Text Oz.AddItem nOz.Text TTD.AddItem nTTD.Text Dtc.AddItem nDTC.Text End Sub ' hien tuong on com Private Sub MSComm1_OnComm() Dim Tam As Byte Tam = Val(Asc(MSComm1.Input)) If Tam = 15 Then If DKdiem.Cttd.Value = Then Timer1.Enabled = True En = End If End Sub Trang 66 '============= Chuong trinh phu=================================== Private Sub msThoat_Click() Dim lenh As Integer lenh = MsgBox(" Ban co chac chan thoat khoi chuong trinh?", vbQuestion + vbYesNo, "Thoat") If lenh = vbYes Then Unload Me End End If End Sub Private Sub msThongTin_Click() ThongTin.Show End Sub Private Sub msXoaDS_Click() Time.Clear Ox.Clear Oy.Clear Oz.Clear TTD.Clear Dtc.Clear End Sub Trang 67 Private Sub msLoad_Click() Nhap.Show End Sub Private Sub msDown_Click() Xuat.Show End Sub Private Sub msCom_Click() COM.Show End Sub Private Sub msDkdiem_Click() DKdiem.Show End Sub Private Sub msfile1_Click() Call Load(msfile1.Caption) End Sub Private Sub msfile2_Click() Call Load(msfile2.Caption) End Sub Private Sub msfile3_Click() Call Load(msfile3.Caption) End Sub Private Sub msfile4_Click() Trang 68 Call Load(msfile4.Caption) End Sub ' ======chuong trinh con========================== Private Sub Load(diachi As String) Dim ExcelApp As Excel.Application 'Khai bao trinh ung dung Excel Dim ExcelBook As Excel.Workbook 'khai bao book Excel Dim iSheetsPerBook As Integer 'khai bao sheet Excel Dim I As Integer Set ExcelApp = New Excel.Application 'Tao mot trinh ung dung Excel Set ExcelBook = ExcelApp.Workbooks.Open(diachi) Set ExcelSheet = ExcelBook.Worksheets(1) 'Lam viec voi sheet With Ctchinh Time.Clear Ox.Clear Oy.Clear Oz.Clear TTD.Clear End With I=1 Do While CStr(ExcelSheet.Cells(I, 1).Value) "" With Ctchinh Time.AddItem CStr(ExcelSheet.Cells(I, 1).Value) Ox.AddItem CStr(ExcelSheet.Cells(I, 2).Value) Oy.AddItem CStr(ExcelSheet.Cells(I, 3).Value) Trang 69 .Oz.AddItem CStr(ExcelSheet.Cells(I, 4).Value) TTD.AddItem CStr(ExcelSheet.Cells(I, 4).Value) End With I=I+1 Loop ExcelApp.Quit 'thoat khoi excel End Sub ' -Truyen du lieu Private Sub TRUYEN(DC As Integer, DATA As Integer) Dim s As Byte Dim Dulieu As Integer Ctchinh.MSComm1.Output = Chr(DC + 192) ' truyen cong com For s = To 10 Next s If DC = Then Ctchinh.MSComm1.Output = Chr(DATA) ' truyen cong com Else Dulieu = CInt(DATA * 180 / 140) If Dulieu > 180 Then Dulieu = 180 Ctchinh.MSComm1.Output = Chr(Dulieu) ' truyen cong com End If End Sub Private Sub TruyenTH(a As Integer, b As Integer, c As Integer, d As Integer, e As String) Dim s As Byte Trang 70 Dim x, y, z As Integer If (d < 10) And (d > 0) And (En = 0) Then En = '================================ Call TRUYEN(4, d) End If x=a Call TRUYEN(1, a) For s = To 10 Next s y=b Call TRUYEN(2, b) For s = To 10 Next s z=c Call TRUYEN(3, c) For s = To 10 Next s ' mo dau cong tac If e = "M" Then Call TRUYEN(4, 11) For s = To 10 Next s End If ' dong dau cong tac Trang 71 If e = "D" Then Call TRUYEN(4, 12) For s = To 10 Next s End If En = '================================ End Sub ' Private Sub Timer1_Timer() Call TruyenTH(Val(Ox.List(RunCT)), Val(Oy.List(RunCT)), Val(Oz.List(RunCT)), Val(TTD.List(RunCT)), Dtc.List(RunCT)) 'If En = Then Exit Sub '================================ If Val(Time.List(RunCT)) > Then Timer1.Interval = Val(Time.List(RunCT)) * 1000 RunCT = RunCT + Lbvitri.Caption = "Oxyz" & RunCT If Time.List(RunCT) = "" Then RunCT = End Sub Trang 72 ... điều khiển PIC 16F887 Những tính - ROM : 128 kbytes - SRAM: 368bytes - EEPROM : 256bytes - 35 ngõ I/O - 160 ghi vào mở rộng - định thời bit - 1bộ định thời 16 bit - Bộ dao động nội RC tần số 31kHz,... 1MHz, MHz, MHz, MHz - ADC 14 kênh với độ phân giải 10 bit - kênh PWM bit - Chế độ chụp 16 bit Với mode khác - Chế độ so sánh 16 bit - Bộ so sánh tương tự lựa chọn ngõ vào - Một khối USART lập... USART lập trình Chuẩn giao tiếp RS - 232, RS - 485 - Khối truyền nhận nối tiếp SPI Trang - Khối truyền nhận nối tiếp I2C - Khối giao tiếp nối tiếp dãy TWI - Lựa chọn tần số hoạt động phần mềm