Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
2,1 MB
Nội dung
DKS GROUP http://www dks.com.vn Robocon tổ chức từ năm 2002.Cuộc thi hút nhiều bạn sinh viên có niềm đam mê khoa học kĩ thụât.Cuộc thi đem lại cho DKS GROUP http://www dks.com.vn nhiều kiến thức kĩ thuật ,rèn luyện đức tính kiên trì ,bền bỉ ,dám đối mặt với gian khổ Hơn ,cuộc thi để lại kỉ niệm đẹp thời sinh viên Giáo trình biên soạn nhằm giúp bạn có nhìn tổng quan robot ,sự định hướng cụ thể kinh nghiệm quý báu tham gia robocon Giáo trình gồm : Bài 1: Giới thiệu Robot Các Modul robot Bài 2: Mạch điều khiển robot tay Bài 3: Mạch cảm biến dị đường Bài 4: Mạch cơng suất điều khiển động Bài 5: Mạch vi điều khiển Bài 6: Lập trình kỹ thuật dị đường Bài 7: Lập trình thao tác khác chiến thuật Bài 8: Chương trình hồn thiện cho robot tự động Toàn học thực hành mạch robot thật.Sử dụng mạch điện robot đội BK-FIRE DKS GROUP http://www dks.com.vn Bài giới thiệu cho bạn cách tổng quan robot modul robot số kinh nghiệm làm robocon 1.1.Giới thiệu robot 1.1.1.Những hình ảnh robot thi robocon Hình 1.1.BK-FIRE 2005 (Robot tự động) Hình 1.2.BK-FIRE 2005 (Robot tay) Hình 1.3 FXR 2004 (robot tự động) DKS GROUP http://www dks.com.vn Hình 1.4.BKPRO 2006 DKS GROUP http://www dks.com.vn 1.1.2.Các modul robot Trong robocon ,có loại robot robot tự động robot điều khiển tay Robot bao gồm phần :Cơ khí ,mạch điện tử lập trình + Cơ khí : DKS GROUP http://www dks.com.vn Phần bao gồm kết câú khí robot Phần năm thay đổi tuỳ thuộc vào đề thi.Đây phần thể ý tưởng bạn.Khi có ý tưởng độc đáo ,một kết cấu khí tốt ,bạn có nhiều hội dành chiến thắng.Trong thi robocon ,ý tưởng đóng vai trị quan trọng Do ,khi thiết kế khí ,tồn đội cần phải họp bàn kĩ lưỡng để đưa giải pháp thiết kế khí tối ưu nhất.Để thiết kế khí ,các bạn dung phần mềm thiết kế khí chuyên dụng Solid work ,Autocad Hình 1.3.Cơ cấu bánh xích Hình 1.4.Cơ cấu khí nén DKS GROUP http://www dks.com.vn Cơ cấu khí nén BK-FIRE sử dụng thi robocon 2005 Từ ,cơ cấu nhiều đội sử dụng thành công FAS-01 ,BK-FIRE (2006) + Mạch điện tử Mạch điện tử robot đóng vai trị mạch máu thể người Nó đóng vai trị kết nối toàn phận khác robot thành thể thống Mạch điện tử robot bao gồm phần : - Mạch vi điều khiển (8051 ,PIC ,AVR) đóng vai trị não robot điều khiển toàn hoạt động robot theo chương trình lập sẵn - Mạch sensor đóng vai trị giác quan robot để giúp robot nhận dạng mơi trường xung quanh để gửi tín hiệu vi điều khiển - Mạch công suất điều khiển động ,dùng để điều khiển cấu robot - Mạch chiến thuật thi đấu :cho phép người sử dụng tuỳ ý lựa chon chiến thuật sân thi đấu Hình 1.5.Mạch điện tử robocon (FXR) DKS GROUP http://www dks.com.vn Hình 1.6.Mạch robot (BK-PRO 2006) +Lập trình Chương trình robot giống não thể người ,robot hoạt động có chương trình cài đặt sẵn cho nó.Các chiến thụât thi đấu ,đường chạy robot người lập trình qêt đinh Hai ngơn ngữ sử dụng nhiều robocon C ASM Tuy nhiên ,ngôn ngữ C sử dụng nhiều C có cấu trúc dễ debug lỗi đặc biệt thuận tiện DKS GROUP http://www dks.com.vn làm chương trình lớn (Các chương trình robocon phức tạp) Để robot hoạt động tốt ,cần phải có phối hợp chặt chẽ phần ,mạch ,và lập trình Nếu phận khơng tốt ,thì robot khơng hoạt động 1.2.Một số kinh nghiệm tham gia robocon 1.2.1.Tổ chức đội hình Một đội robot bao gồm đến 10 người ,và thường chia thành nhóm -Nhóm khí :Thiết kế ,gia cơng khí (3-4 người) -Nhóm mạch điện tử :Thiết kế ,làm mạch cho robot (2-3 người) -Nhóm lập trình: Lập trình ,test robot (3 người) Người đội trưởng phải có trách nhiệm phân cơng rõ ràng công việc cho người ,các thành viên phải nghiêm túc chấp hành tránh tượng chê ỳ ,ỷ lại 1.2.2.Mua sắm thiết bị linh kiện Đội robot phải có định hướng rõ ràng ,làm robot cần có phương tiện ,địa điểm mua hàng cụ thể Cơng cụ khí :Khoan máy ,cưa máy ,cưa tay ,đinh rút : Địa điểm :Chợ giời (Phố Huế) Công cụ điện tử :Mỏ hàn ,hút thiếc ,đồng hồ điện tử.v.v.v Địa điểm :Trần Cao Vân ,17 Hàn Thuyên ,70 Hàng Trống ,269 Đội Cấn 1.2.3.Tìm kiếm tài trợ Để làm robot ,bạn phải tốn nhiều tiền (trung bình từ 20 đến 30 triệu nhiều nữa) Với điều kiện sinh viên ,các bạn khó có số tiền ,Do ,bạn cần phải tìm kiếm nhà tài trợ từ doanh nghiệp.Tuy nhiên để xin tài trợ ,bạn cần phải có phương án kế hoạch cụ thể ,hay mối quan hệ khác -Địa số doanh nghiệp bạn xin tài trợ a) Cơng ty Elcom 18 Nguyễn Chí Thanh b) Cơng ty cổ phần kỹ thuật SEEN (Từ Liêm) c) Công ty Ameco (Tầng tồ nhà sơng đà Phương Liệt) Robot điều khiển tay phần thiếu robocon Trong số trận đâú ,robot tay có vai trò hỗ trợ cho robot tự DKS GROUP http://www dks.com.vn động Đôi ,robot tay giúp thay đổi cục diện sân.Mạch điều khiển robot tay phần lớn mạch relay điều khiển động 2.1.Chức mạch điều khiển tay Mạch điều khiển tay dùng để điều khiển động robot tay.Việc điều khiển động bao gồm chức sau - Điều khiển động quay ngược (robot lùi ) - Điều khiển động quay xuôi (robot tiến ) - Dừng động (dừng robot) Relay dùng robot tay loại relay OMRON ,dịng lớn Hình 2.1.Role omron 2.2.Ngun tắc hoạt động mạch điều khiển robot tay Mạch sử dụng relay điều khiển động ,cấp nguồn cho relay thứ động quay phải ,cấp nguồn cho relay thứ động đảo chiều Sơ đồ mạch điều khiển tay 10 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn MAIN: ;MOV P0,QPHAI_C JB STARTB,MAIN LAP_CHINH: MOV A,P1 ANL A,#00001111B MOV P0,A LJMP LAP_CHINH EXIT: NODO: SJMP NODO ;============================================= ============================================= ================================= DEMNGATU: INC R0 ;LCALL STOP_ALL ; LCALL TRE_2S CJNE R0,#2,TIEP1 LCALL DUNG_NGATU LCALL TRE_QUAY LCALL QUAYPHAI TIEP1: CJNE R0,#10,TIEP2 LCALL DUNG_NGATU LCALL TRE_QUAY LCALL QUAYphai TIEP2: CJNE R0,#15,DITIEP LCALL DUNG_NGATU LCALL TRE_QUAY LCALL QUAYTRAI HERE20: SJMP HERE20 DITIEP: TREQUAVACH: LCALL TRE0 ;CHO THOI GIAN TRE DI DI QUA VACH NGANG TROVE: RET ;TRO VE CHUONG TRINH ;================================== 56 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn LAYQUA: LCALL STOP_ALL ;KEPQUA SETB MKEP_EN LCALL TRE_quay CLR MKEP_EN ;NANG QUA SETB MNANG_EN DOINANG: JB CT_NANG,DOINANG CLR MNANG_EN ;NHA QUA SETB MKEP_DIR SETB MKEP_EN LCALL TRE_quay CLR MKEP_EN CLR MKEP_DIR ;HA TAY ; SETB MNANG_DIR ; SETB MNANG_EN ; DOIHA: JB CT_HATAY,DOIHA ; CLR MNANG_EN ; CLR MNANG_DIR RET ;================================ DUNG_NGATU: LAPNT: JB P1.4,THOATNT MOV A,P1 ANL A,#00001111B MOV P0,A LJMP LAPNT THOATNT: LCALL STOP_ALL LCALL TRE_QUAY MOV P0,#00111111B DOINT: JNB P1.4, DOINT LCALL STOP_ALL MOV P0,#01011111B ;TINH CHINH LCALL STOP_ALL 57 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn RET ;================================== QUAYTRAI: MOV P0,#00101111B ;QUAYTRAI LCALL TRE_QUAY LAPQT: MOV A,p1 ORL A,#11111001B CJNE A,#11111111B,LAPQT LCALL STOP_ALL LCALL TRE_100 MOV P0,#00011111B ;QUAYPHAI LAPQT2: MOV A,p1 ORL A,#11111001B CJNE A,#11111111B,LAPQT2 LCALL STOP_ALL LCALL TRE_QUAY LCALL TRE_QUAY RET ;============================================= ============ QUAYPHAI: MOV P0,#00011111B ;QUAYTRAI LCALL TRE_QUAY LAPQP: MOV A,p1 ORL A,#11111001B CJNE A,#11111111B,LAPQP LCALL STOP_ALL LCALL TRE_100 MOV P0,#00101111B ;QUAYPHAI LAPQP2: MOV A,p1 ORL A,#11111001B CJNE A,#11111111B,LAPQP2 LCALL STOP_ALL LCALL TRE_QUAY LCALL TRE_QUAY 58 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn RET ;============================================= ==== NGATT1: RETI STOP_ALL: MOV P0,#0FFH RET ;====================CAC THU TRE================ TRE0: ;THU TUC DE TAO TRE QUA VACH NGANG NGA TU mov r7,#50 again0: mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) setb tr0 wait0: MOV A,P1 ANL A,#00001111B MOV P0,A jnb tf0,wait0 clr tr0 clr tf0 djnz r7,again0 RET TRE_500: ; 1s mov r7,#50 again_1S: mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) setb tr0 wait_1S: jnb tf0,wait_1S clr tr0 clr tf0 djnz r7,again_1S RET TRE_QUAY: ; MOV R7,#100 again: mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) 59 TUC DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn setb tr0 wait: jnb tf0,wait clr tr0 clr tf0 djnz r7,again RET TRE_100: ; MOV R7,#10 again: mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) setb tr0 wait: jnb tf0,wait clr tr0 clr tf0 djnz r7,again RET TRE_2S: ; 1s mov r7,#200 again_2S: mov TH0,#HIGH(-10000) mov TL0,#LOW(-10000) setb tr0 wait_2S: jnb tf0,wait_2S clr tr0 clr tf0 djnz r7,again_2S RET END 6.3.Kĩ thuật dò đường Bài học nêu lên phương pháp lập trình dị đường robocon Việc lập trình dò đường robot thực chất việc xử lý tín hiệu từ sensor đưa lệnh điều khiển động để đảm bảo cho robot bám theo vạch trắng sân.Khi lập trình ,các bạn phải xác định đuợc tất trường hợp xảy sensor ,từ đưa tín hiệu điều khiển động hợp lý Quay sensor ,ta có sơ đồ bố trí sensor | | 60 | | Vạch trắng DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn | O |O O | O| O O (sensor) sensor 2,3,4,5 dùng để bám đường.Khi sân thi đấu ,giả sử robot lệch sang phải sensor chạm vạch trắng ,sensor chạm ,bạn phải điều chỉnh cho động phải quay nhanh ,động trái chậm lại hay dừng để robot quay lại vị trí.Tương tự ,khi robot lệch sang trái ,bạn điều khiển tuơng tự vậy.Bằng cách xử lý ,bạn giúp cho robot bám đường cách hiệu Khi gặp ngã tư ,hai sensor ngồi 1,6 chạm vạch trắng ,có mức tín hiệu đưa vào vi điều khiển Bạn cần lập trình đếm số lần mức tín hiệu vào vi điều khiển để từ suy ngã tư robot 6.4.Kĩ thuật chống nhiễu Như học sensor ,khi thi đấu ảnh hưởng đèn cao áp sân gây nhiễu lên sensor dẫn tới việc nhận biết tín hiệu sai.Để chống nhiễu ,bạn sử dụng chương trình để xử lý Có nhiều trường hợp nhiễu nên sensor nhận nhầm vạch trắng.Do ,bạn phải để vi điều khiển kiểm tra thành nhiều lần Mã nguồn void golong(unsigned char songatu) { unsigned char d=0; unsigned char dem=0; motor(forward); while (1) { if ((out_left==nen)&&(out_right==nen)) motor(forward); if ((out_left==nen)&&(out_right==vach)) { motor(right_stop); motor(left_go); } if ((out_right==nen)&&(out_left==vach)) { motor(left_stop); motor(right_go); } 61 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn // bat nga tu if ((out_left==vach)&&(out_right==vach)) { while ((LEFT==vach)&&(RIGHT==vach)) { d++; if (d==100) { dem++; d=0; if (dem9) select=0; h_thi(select); delay(12000); } } }//end void h_thi(unsigned char so) { if (so==0) {P0_3=0;P0_2=0;P0_1=0;P0_0=0;} else if (so==1) {P0_3=0;P0_2=0;P0_1=0;P0_0=1;} else if (so==2) {P0_3=0;P0_2=0;P0_1=1;P0_0=0;} else if (so==3) {P0_3=0;P0_2=0;P0_1=1;P0_0=1;} 65 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn else if (so==4) {P0_3=0;P0_2=1;P0_1=0;P0_0=0;} else if (so==5) {P0_3=0;P0_2=1;P0_1=0;P0_0=1;} else if (so==6) {P0_3=0;P0_2=1;P0_1=1;P0_0=0;} else if (so==7) {P0_3=0;P0_2=1;P0_1=1;P0_0=1;} else if (so==8) {P0_3=1;P0_2=0;P0_1=0;P0_0=0;} else if (so==9) {P0_3=1;P0_2=0;P0_1=0;P0_0=1;} } b) Sơ đồ dùng LCD VCC g n o c _ d el ur _t d el R_SIP10 SW2_cong Jum_cong P0.5 SW3_tru P0.6 Jum_tru EA P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 10 VCC RESISTOR SIP 10 VCC U1 r et n e _ d el Enter e ci o h c _ d el P0.7 P3.3 Choice D1 LCD2x16 VCC 15 16 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 39 38 37 36 35 34 33 32 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P1.0/T2 P1.1/T2-EX P1.2 P1.3 P1.4/SS P1.5/MOSI P1.6/MISO P1.7/SCK AT89S8252 A K P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 LCD Display 2x16 EA RST D d E N d EWS GV V RR E DDDDDDDD 31 40 VCC EA/VPP RST C_nhieu 104 1 1 VCC 4 0 2 2 2 2 P P P P P P P P P P VCC T E S E R _ C47u m o 0 66 SW_reset R_RESET P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD ALE/PROG PSEN XTAL2 XTAL1 D N G VCC P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 21 22 23 24 25 26 27 28 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 10 11 12 13 14 15 16 17 RX TX IR P3.3 D0 D1 D2 D3 30 29 C1_ZTA 33 18 19 ZTA 12M C2_ZTA 33 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn Sơ đồ thay led LCD Nhìn chung dung LCD để hiển thị chiến thuật thi đấu chuyên nghiệp (vi hiển thị chữ ) nhiên , dung LCD tốn khơng thật hiệu Vì ,tốt bạn nên sử dụng led để hiển thị chiến thuật thi đấu /******************************/ // LCD void lenh () { RS=0; EN=1; delay (50); EN=0; delay (100); } void ghi () { RS=1; } EN=1; delay (50); EN=0; void LCDwrite(unsigned char c) { P2=c; ghi(); } void LCDputs(unsigned char *s,unsigned char row) { unsigned char len; if(row==1) { P2=0x80;lenh (); } else { P2=0xC0; lenh ();} len=strlen(s); while(len!=0) { LCDwrite(*s); s++; len ; } } void LCDcontrol(unsigned char dk) 67 delay (100); DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn { P2=dk; lenh (); } void init_LCD () { delay(400); LCDcontrol(0x38); //LCD dong _ 5x7 LCDcontrol(0x0C); //bat hien thi, tat tro LCDcontrol(0x01); //xoa man hinh } /*****************************/ void keyboard() { unsigned char key=0; unsigned char test=0; LCDcontrol(0x01); choice=enter=1; LCDputs("Robot Ready",1); delay(100000); LCDcontrol(0x01); LCDputs("1:Golong 2:Around ",1); LCDputs("3:Turn left 4:Turn right",2); delay(100000); LCDcontrol(0x01); while(1) { LCDputs("1: 2: 3: 4:”,2); while(choice==0) { delay(10000); key++; LCDcontrol(0x01); if (key==1)LCDputs("1 ",1); if (key==2)LCDputs("2 ",1); if (key==3)LCDputs("3 ",1); if (key==4)LCDputs("4 ",1); LCDputs("1:C 2:S 3:D 4:E",2); if (key>4) { LCDputs("0 ",1);key=0;} 68 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 } if (key==1)while(enter==0) if (key==2)while(enter==0) if (key==3)while(enter==0) if (key==4)while(enter==0) if (test==1) break; http://www dks.com.vn golongr(); Around(); left(); test=1; }//while(1) } // keyboard Ở ,chúng ta hoàn thiện robot hoàn chỉnh để thi đấu Chúng ta sử dụng robot hình 69 DKS GROUP Nguyen Manh Truong Mobi : 0988857861 http://www dks.com.vn Robot hình robot đội tham gia thi robocon 2007.Chúng ta sử dụng robot để thực hành Phần mạch robot ,chúng ta sử dụng mạch điều khiển động relay Như hình Đây mạch điều khiển đội BK-FIRE năm 2005 ,robot hoạt động hiệu Đấu nối sensor hình ,lắp đặt mạch sensor vào phần đế robot Robot sử dụng ắc quy 24V DC để cấp nguồn.Mạch sử dụng sensor xếp thành hàng ngang để bám đường ,6 động điều khiển cấu Sau lắp đặt mạch sensor ,đấu nối động Ta lập trình cho để robot bám theo vạch trắng có sẵn Trong thực hành ,chúng ta sử dụng vi điều khiển 89c52 để điều khiển robot Đây tồn code chương trình bám đường robot.(viết ASM) 70 ... sensor phía dùng để bám đường.Đây cách mà BK-FIRE sử dụng thi robocon năm 2005 3.4.Cơng tắc hành trình Cơng tắc hành trình sử dụng nhiều robocon Cơng tắc hành trình thường lắp đặt cấu phía ,như cấu... cứng Nhìn chung , thi robocon ,ngôn ngữ C sử dụng nhiều ưu điểm nó .Giáo trình hướng dẫn bạn lập trình ngơn ngữ C 6.2.Mã nguồn robocon Xin giới thiệu đoạn mã nguồn đội CIRTECH-45 BKHN năm 2004 /*... sử dụng nhiều robocon C ASM Tuy nhiên ,ngôn ngữ C sử dụng nhiều C có cấu trúc dễ debug lỗi đặc biệt thuận tiện DKS GROUP http://www dks.com.vn làm chương trình lớn (Các chương trình robocon phức