Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
2,51 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN (KHĨA LUẬN) TỐT NGHIỆP THIẾT KẾ VÀ THI CƠNG MƠ HÌNH CÁNH TAY ROBOT BẬC TỰ DO Giảng viên hướng dẫn Sinh viên thực Lớp Khoá : : : : Th.S TRẦN VIẾT THẮNG PHẠM NHẬT TÚ 08DD3N 08 TP Hồ Chí Minh, tháng 07 năm 2009 Lời cảm ơn Em xin chân thành cảm ơn tất Thầy Cô Giáo nhà trường, thầy cô Khoa ĐiệnĐiện tử trường Đại HọcTơn Đức Thắng tận tình dạy dỗ em suốt năm qua Em xin bày tỏ lòng biết ơn sâu sắc Thầy Nguyễn Viết Thắng, người nhiệt tình hướng dẫn, tạo diều kiện thuận lợi để em hoàn thành luận án Xin cảm ơn bạn góp ý, giúp đỡ tơi lúc thực luận án NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN …… 000 …… Ngày tháng năm 2009 NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN …… 000 …… Ngày tháng năm 2009 MỤC LỤC CHƯƠNG : TÌM HIỂU VỀ ROBOT VÀ CÁNH TAY MÁY 11 1.1.LỊCH SỬ PHÁT TRIỂN ROBOT 11 1.2.ỨNG DỤNG CỦA ROBOT 13 1.3.MỘT SỐ HÌNH ẢNH TAY MÁY 14 CHƯƠNG : TÌM HIỂU VỀ VĐK PIC 16F877A VÀ PIC 16F876A 16 2.1.SƠ ĐỒ CHÂN 16 2.1.1.PIC 16F876A 16 2.1.2.PIC 16F877A 16 2.2.MỘT VÀI THÔNG SỐ VỀ PIC16F877A VÀ PIC16F876A 17 2.3.SƠ ĐỒ KHỐI 18 2.3.1.PIC 16F876A 18 2.3.2 PIC 16F877A 19 2.4.TỔ CHỨC BỘ NHỚ 20 2.4.1.BỘ NHỚ CHƯƠNG TRÌNH 20 2.4.2.BỘ NHỚ DỮ LIỆU 20 2.4.3 CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT 22 2.4.4 THANH GHI MỤC ĐÍCH CHUNG GPR 24 2.4.5 STACK 24 2.5.CÁC CỔNG XUẤT NHẬP 24 2.5.1.PORT A 25 2.5.2.PORT B 25 2.5.3.PORT C 26 2.5.1.PORT D 26 2.5.1.PORT E 26 2.6.PWM 27 2.7.GIAO TIẾP USART BẤT ĐỒNG BỘ 29 2.7.1.TRUYỀN DỮ LIỆU 29 2.7.2.NHẬN DỮ LIỆU 31 CHƯƠNG : MỘT VÀI LINH KIỆN KHÁC 34 3.1 I2C SERIAL EEPROM FM24C256 34 3.2 IC 74HC74 37 3.3.TRANSITOR CÔNG SUẤT TIP122 38 3.4.OPTO TLP521 38 CHƯƠNG : LÝ THUYẾT THUẬT TÓAN PID 39 CHƯƠNG : MƠ HÌNH CÁNH TAY MÁY 42 CHƯƠNG : MẠCH ĐIỀU KHIỂN CÁNH TAY MÁY 43 6.1.SƠ ĐỐ NGUYÊN LÝ 43 6.1.1.MẠCH ĐIỀU KHIỂN 43 6.1.2.MẠCH CÔNG SUẤT 45 6.2.NGUYÊN LÝ HOẠT ĐỘNG 47 6.3.MẠCH IN 48 6.3.1.MẠCH ĐIỀU KHIỂN 48 6.3.2.MẠCH CÔNG SUẤT 49 CHƯƠNG : LƯU ĐỒ GIÀI THUẬT ĐIỀU KHIỂN 50 7.1.LƯU ĐỒ GIÀI THUẬT CHO PIC16F877A 50 7.2.LƯU ĐỒ GIẢI THUẬT CHO PIC16F876A 53 CHƯƠNG : CHƯƠNG TRÌNH CCS C CHO VĐK PIC 58 8.1.CHƯƠNG TRÌNH CHO PIC16F877A 58 8.2.CHƯƠNG TRÌNH CHO PIC16F876A 66 8.2.1.CHƯƠNG TRÌNH CHO KHỚP 66 8.2.2.CHƯƠNG TRÌNH CHO KHỚP 73 8.2.3.CHƯƠNG TRÌNH CHO KHỚP 80 DANH MỤC CÁC HÌNH VẼ H1.Robot hàn điểm H2.Robot hàn hồ quang H3.Cánh tay robot Nasa H4.Robot gắp vật H5 Bộ nhớ chương trình H6.Bộ nhớ liệu H7.Sơ đồ khối hoạt động PWM H8.Giản đồ xung PWM H9 Sơ đồ khối khối truyền liệu USART H10.Sơ đồ khối khối nhận liệu USART H11 Điều kiện START STOP H12 Hoạt động ghi byte vào EEPROM H13 Hoạt động ghi chuỗi byte vào EEPROM H14 Hoạt động đọc byte số liệu từ EEPROM H15.Sơ đồ khối hệ thống sử dụng PID DANH MỤC TỪ VIẾT TẮT VĐK : Vi điều khiển PIC : Programable Intelligent Computer PID :Proportional Intergrate Derivative LỜI MỞ ĐẦU Trong lĩnh vực kĩ thuật , robot cơng nghiệp ngày có nguồn gốc từ hai lĩnh vực kĩ thuật đời sớm cấu điều khiển xa(Teleoperators) máy công cụ điều khiển số (NC – Numberically Controlled Machine Tool) Các cấu điều khiển từ xa ( hay thiết bị điều khiển chủ - tớ) phát triển mạnh chiến tranh giới lần nhằm nghiên cứu vật liệu phóng xạ người điều khiển tách biệt khỏi khu vực phóng xạ tường có vài cửa quan sát để nhìn thấy cơng việc bên Các cấu điều khiển từ xa thay cho cánh tay người thao tác ,nó gồm kẹp bên (tớ) hai tay cầm bên (chủ) Cả hai, tay cầm kẹp nối với cấu bậc tự để tạo vị trí hướng tuỳ ý tay cầm kẹp.Cơ cấu dùng để điều khiển kẹp theo chuyển động tay cầm Trong năm sau , việc nâng cao tính hoạt động robot khơng ngừng phát tiển Các robot trang bị thêm loại cảm biến khác dể nhận biết môi trường xung quanh ,cùng với thành tựu to lớn lĩnh vực tin hocđiện tử tạo hệ robot với nhiều tính đặc biệt ,số lượng robot ngày gia tăng ,giá thành ngày giảm Nhờ ,robot cơng nghiệp có vị trí quan trọng dây chuyền sản xuất đại Ngày nay, Robot phát triển rộng rãi toàn giới với kĩ thuật ngày hoàn thiện Robot ứng dụng vào nhiều lĩnh vực đời sống mang lai hiệu cao công việc Đặc biệt cánh tay máy ứng dụng vào công nghiệp giúp giải phóng sức lao động người, giảm giá thành sản phẩm, tăng sức cạnh tranh cho doanh nghiệp Đây đề tài nghiên cứu luận văn Luận văn trình bày lý thuyết mô hình cánh tay robot bậc tự Vì thực thời gian ngắn nên dù cố gắng luận văn hẳn nhiều hạn chế sai sót Chúng mong nhận góp ý quý thầy cô bạn bè 10 int8 s[3],n,w,v,w1,v1,st,t,l; int16 g,k,r,a; float p,max=10125,min=8100; //………………….chương trình kiểm tra lỗi…………… // void data() { int8 b; v=0; if (cl==1) v=1; s[n]=getc(); for (b=0;bg) { v=(int8)(250*abs(p)/max); if (l==2) l=1; } } //………………….chương trình xử lý xung từ encoder…………… // 74 #int_ext void ngat() { if (input(pin_b2)==1) k=k+1; if(input(pin_b1)==1) k=k-1; if (g==k) { w=0; v=0; p=0; r=0; t=0; st=4; disable_interrupts(int_ext); } } //………………….chương trình thu liệu từ master…………… // void demthu() { int8 t1=0; output_high(pin_a3); data(); if (input(pin_a2)==0) t=t+1; if (t==3) t1=1; if (t==4) t1=1; if ( v==0 && t1==1) 75 { n=n+1; if ( n==2) { output_high(pin_c4); g=make16(s[0],s[1]); n=0; } output_low(pin_a3); } if (t1==0) output_low(pin_a3); if(t==7) { st=160; t=0; v=0; output_high(pin_a3); disable_interrupts(int_rda); } } //………………….chương trình ngắt thu…………… // #int_rda void nhap() { demthu(); } //………………….chương trình chính…………… // void main() { 76 int8 s1=0; t=0; n=0; w=0; v=0; v1=0; w1=0; r=0; k=0; g=0; p=0; l=3; st=0; set_tris_b(0x0f); set_tris_a(0x07); set_tris_c(0xc0); output_low(pin_c4); output_high(pin_a3); output_high(pin_c2); output_low(pin_c1); enable_interrupts(int_rda); enable_interrupts(global); while(input(pin_b3)==1) // kiểm tra vitrí // continue; output_high(pin_c1); output_low(pin_a3); while (input(pin_a2)==1) continue; output_high(pin_a3); ext_int_edge(0,h_to_l); enable_interrupts(int_ext); while(input(pin_a1)==0) // kiểm tra chế độ (ghi rom hay chạy tự động) // { if (input(pin_a0)==0&& s1==0) // kiểm tra nút nhấn ghi // 77 { s1=160; disable_interrupts(int_ext); xuat(); } if (input(pin_a0)==1) s1=0; enable_interrupts(int_ext); continue; } output_low(pin_a3); setup_timer_2 ( T2_DIV_BY_1,255, 1); while (true) { if( st ==160) // kiểm tra điều kiện để bắt đầu xuất xung điều khiểm động // { delay_ms(1); if (g>k || gk || g