Giáo Trình Robocon, Nhiều tác giả, PDF, 70 trang, 2 MB
NỘI DUNG:
Robocon đã được tổ chức từ năm 2002.Cuộc thi này đã cuốn hút rất nhiều bạn sinh viên có niềm đam mê khoa học kĩ thụât.Cuộc thi này đã đem lại cho 1 DKS GROUP http://www. dks.com.vn chúng ta rất nhiều những kiến thức về 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 nữa ,cuộc thi đã để lại những kỉ niệm đẹp về một thời sinh viên. Giáo trình này được biên soạn nhằm giúp các bạn có được một cái nhìn tổng quan về robot ,sự định hướng cụ thể và những kinh nghiệm quý báu khi tham gia robocon Giáo trình gồm 8 bài : Bài 1: Giới thiệu về Robot Các Modul của robot. Bài 2: Mạch điều khiển robot bằng 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 cơ . Bài 5: Mạch vi điều khiển. Bài 6: Lập trình và kỹ thuật dò đường . Bài 7: Lập trình các thao tác khác và chiến thuật. Bài 8: Chương trình hoàn thiện cho một robot tự động Toàn bộ các bài học đều được thực hành trên mạch và robot thật.Sử dụng mạch điện và robot của đội BK-FIRE. 2 DKS GROUP http://www. dks.com.vn Bài này sẽ giới thiệu cho các bạn một cách tổng quan về robot và các modul của robot cũng như một số kinh nghiệm khi làm robocon. 1.1.Giới thiệu về robot 1.1.1.Những hình ảnh về robot trong các cuộc thi robocon Hình 1.1.BK-FIRE 2005 (Robot tự động) 3 Hình 1.2.BK-FIRE 2005 (Robot bằng tay) Hình 1.3. FXR 2004 (robot tự động) DKS GROUP http://www. dks.com.vn 4 Hình 1.4.BKPRO 2006 DKS GROUP http://www. dks.com.vn 1.1.2.Các modul trong robot Trong robocon ,có 2 loại robot là robot tự động và robot điều khiển bằng tay. Robot bao gồm 3 phần chính :Cơ khí ,mạch điện tử và lập trình + Cơ khí : 5 DKS GROUP http://www. dks.com.vn Phần này bao gồm các kết câú cơ khí của robot .Phần này mỗi năm đều thay đổi tuỳ thuộc vào đề thi.Đây chính là phần thể hiện ý tưởng của bạn.Khi có một ý tưởng độc đáo ,một kết cấu cơ khí tốt ,bạn sẽ có nhiều cơ hội dành chiến thắng.Trong cuộc thi robocon ,ý tưởng đóng vai trò rất quan trọng .Do đó ,khi thiết kế cơ khí ,toàn đội cần phải họp bàn kĩ lưỡng để đưa ra một giải pháp thiết kế cơ khí tối ưu nhất.Để thiết kế cơ khí ,các bạn có thể dung các phần mềm thiết kế cơ khí chuyên dụng như Solid work ,Autocad. Hình 1.3.Cơ cấu bánh xích . 6 Hình 1.4.Cơ cấu khí nén DKS GROUP http://www. dks.com.vn Cơ cấu khí nén được BK-FIRE sử dụng đầu tiên trong cuộc thi robocon 2005 .Từ đó ,cơ cấu này đã được rất nhiều đội sử dụng và đã rất thành công như FAS-01 ,BK-FIRE (2006). + Mạch điện tử Mạch điện tử trong robot đóng vai trò như những mạch máu trong một cơ thể người .Nó đóng vai trò kết nối toàn bộ những bộ phận khác trong robot thành một thể thống nhất. Mạch điện tử trong robot bao gồm các phần chính : - Mạch vi điều khiển (8051 ,PIC ,AVR) đóng vai trò như bộ não của robot điều khiển toàn bộ hoạt động của robot theo chương trình lập sẵn. - Mạch sensor đóng vai trò như các giác quan của robot để giúp robot nhận dạng môi trường xung quanh để gửi tín hiệu về vi điều khiển. - Mạch công suất điều khiển động cơ ,dùng để điều khiển các cơ cấu của robot - Mạch chiến thuật thi đấu :cho phép người sử dụng có thể tuỳ ý lựa chon chiến thuật khi ở trên sân thi đấu. Hình 1.5.Mạch điện tử trong robocon (FXR) 7 DKS GROUP http://www. dks.com.vn 8 +Lập trình Chương trình trong robot giống như bộ não của một cơ thể người ,robot chỉ hoạt động được khi có chương trình cài đặt sẵn cho nó.Các chiến thụât thi đấu ,đường chạy của robot là do người lập trình quýêt đinh .Hai ngôn ngữ được sử dụng nhiều trong robocon đó là C và ASM .Tuy nhiên ,ngôn ngữ C được sử dụng nhiều nhất vì C có cấu trúc dễ debug lỗi và đặc biệt thuận tiện Hình 1.6.Mạch robot (BK-PRO 2006) DKS GROUP http://www. dks.com.vn khi làm những chương trình lớn (Các chương trình trong robocon rất phức tạp). Để một robot có thể hoạt động tốt ,cần phải có sự phối hợp chặt chẽ giữa các phần cơ khi ,mạch ,và lập trình .Nếu một bộ phận không tốt ,thì robot sẽ không hoạt động được. 1.2.Một số kinh nghiệm khi tham gia robocon. 1.2.1.Tổ chức đội hình. Một đội robot bao gồm 7 đến 10 người ,và thường được chia thành 3 nhóm -Nhóm cơ khí :Thiết kế ,gia công cơ 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 từng người ,các thành viên phải nghiêm túc chấp hành tránh hiện 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ó những phương tiện gì ,địa điểm mua hàng cụ thể. Công cụ 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 rất nhiều tiền (trung bình từ 20 đến 30 triệu và có thể nhiều hơn nữa) .Với điều kiện sinh viên ,các bạn rất khó có thể có được số tiền như thế ,Do đó ,bạn cần phải tìm kiếm các nhà tài trợ từ các doanh nghiệp.Tuy nhiên để xin được tài trợ ,bạn cần phải có phương án kế hoạch cụ thể ,hay những mối quan hệ khác. -Địa chỉ một số doanh nghiệp các bạn có thể 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 1 toà nhà sông đà Phương Liệt) Robot điều khiển bằng tay là một phần không thể thiếu được trong robocon .Trong một số trận đâú ,robot bằng tay có vai trò hỗ trợ cho robot tự 9 DKS GROUP http://www. dks.com.vn động .Đôi khi ,robot bằng tay đã giúp thay đổi cục diện trên sân.Mạch điều khiển robot bằng tay phần lớn là mạch relay điều khiển động cơ. 2.1.Chức năng của mạch điều khiển bằng tay Mạch điều khiển bằng tay dùng để điều khiển các động cơ của robot bằng tay.Việc điều khiển động cơ bao gồm các chức năng sau - Điều khiển động cơ quay ngược (robot lùi ) - Điều khiển động cơ quay xuôi (robot tiến ) - Dừng động cơ (dừng robot) Relay được dùng trong robot bằng tay là loại relay OMRON ,dòng lớn 2.2.Nguyên tắc hoạt động mạch điều khiển robot bằng tay Mạch này sử dụng 2 relay điều khiển 1 động cơ ,cấp nguồn cho relay thứ 1 thì động cơ quay phải ,cấp nguồn cho relay thứ 2 thì động cơ đảo chiều. Sơ đồ mạch điều khiển bằng tay 10 Hình 2.1.Role omron DKS GROUP http://www. dks.com.vn 11 Bạn thiết kế một mạch điều khiển sử dụng các nút bấm để đóng mở các relay ,mạch rất đơn giản và hiệu quả.Tuy nhiên ,làm như vậy sẽ không thẩm mỹ và bất tiện .Do đó bạn có thể thiết kế bộ điều khiển bằng gamepad PS 2 để điều khiển . (Phần này có tham khảo tài liệu trên mạng) Gamepad cho Robot điều khiển bằng tay chia làm 2 loại : điều khiển từ xa bằng hồng ngoại và điều khiển qua dây cáp. Nếu dùng các mạch thu phát hồng ngoại thông thường thì tính ổn định khi thi đấu không cao (!), tốt nhất nên dùng Vi xử lí (VXL) để thu phát theo tần số riêng của mình (như POL chẳng hạn). Điều khiển qua dây cáp mang tính ổn định rất cao, ở đây chúng tôi đề cập tới cách sử dụng gamepad qua dây cáp. 1.Sử dụng gamepad playstation của SONY. Kết nối trực tiếp vào Vi xử lí. Rất gọn khi thiết kế phần cứng, tuy nhiên chúng ta nên kèm theo nút Reset VXL trên gamepad để tăng tính ổn định. Đây là phương pháp sử dụng của đội FXR. 2.Cải tạo phần mạch của 1 gamepad bất kì: Trong mạch của các gamepad bất kì, các nút nhấn được thiết kế như là các công tắc hành trình (tức là có 1 điểm chung nối mass). + Cắt bỏ đường mạch in nối các nút nhấn với phần điều khiển của gamepad. + Sử dụng các nút nhấn như là các công tắc hành trình độc lập. a. Truyền nối tiếp : DKS GROUP http://www. dks.com.vn 12 Theo cách xử lí này chúng ta chỉ sử dụng cáp 4 sợi : +5v, mass, TXD, RXD. Cách xử lí này vẫn chưa ổn định tuyệt đối nhưng sử dụng ít Port VXL. Nên kèm theo nút Reset VXL trên gamepad để tăng tính ổn định. Đây là phương pháp Basic Bot sử dụng năm 2003 và 2004. b. Truyền song song : Thực chất ta nối tất cả các nút nhấn xuống thẳng mạch điều khiển, khi đó các nút nhấn đóng vai trò như là những công tắc hành trình. Phương pháp này rất ổn định, tuy nhiên nhược điểm là rất tốn Port VXL (mỗi nút nhấn ứng với 1 Port). Cách khắc phục nhược điểm trên : Sử dụng mạch dồn kênh 16 sang 1. DKS GROUP http://www. dks.com.vn 13 Phương pháp này giảm bớt được đáng kể số lượng Port VXL, tính ổn định cao. Thiết kế mạch robot bằng tay kiểu bán tự động đã được FXR sử dụng trong cuộc thi robocon 2004 rất thành công (đoạt chức vô địch ) Bài học này giới thiệu về mạch cảm biến trong robocon.Mạch cảm biến đóng vai trò như "mắt " của robot giúp cho robot có khả năng nhận biết được môi trường xung quanh (vạch trắng ,chướng ngại vật ) để từ đó có biện pháp xử lý. Trong mạch cảm biến ,các bạn có thể sử dụng các loại led thu phát hồng ngoại hoặc quang trở .Led thu phát hồng ngoại có giá thành rẻ (2500 /cặp). Hình 2.1.Sensor hồng ngoại. Đối với robot công nghiệp ,bạn có thể sử dụng những loại cảm biến công nghiệp của các hãng Omron ,hay Siemens.Các loại cảm biến này có độ nhạy cao và khả năng chống nhiễu tốt.Tuy nhiên giá thành rất đắt (hàng trăm đô),cho nên sử dụng chúng trong robocon thì không phù hợp .Bạn hoàn toàn có thể tự chế tạo mạch sensor cho mình. Hình 2.2.Một số sensor dùng trong công nghiệp DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 3.1.Mạch sensor phát thẳng. 14 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 3.1.1.Sơ đồ nguyên lý C D V 5 P 0 _ 2 C D V 5 P 0 _ 2 R44 R GND GND -+ I I 15 R44 R D7 LED D7 LED 2 U11A 2 1 U11F 2 U11A 2 1 U11F 1 74LS14 1 74LS14 1 74LS14 3 1 74LS14 R43 R 3 C31 CAP NP R43 C31 R CAP NP U10A U10A 1 1 4 11 4 11 -+ 3 2 LM324 BIEN_TRO_1 3 2 LM324 BIEN_TRO_1 N 1 _ N 1 _ 3.1.2.Sơ đồ mạch in DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 3.1.3.Nguyên lý hoạt động. Trong sơ đồ nguyên lý trên ,cặp led thu phát được đặt sát nhau ,một chân của led thu được đưa và LM324 .LM324 là IC khuếch đại so sánh ,mục đích khuyếch đại tín hiệu từ sensor .Tín hiệu ra từ LM324 được đưa và IC 7414 (Triger inverter) để đảo mức tín hiệu ,tín hiệu ra được đưa vào chân của vi điều khiển.Chiết áp đóng vai trò chỉnh độ nhạy của sensor ,đèn led có tác dụng báo hiệu khi sensor gặp vạch trắng. Khi hoạt động ,led phát chiếu tia hồng ngoại xuống sân thi đấu ,khi chùm tia hồng ngoại chiếu xuống nền đen , led phát không nhận được chùm phản xạ nên không dẫn ,điện trở bằng vô cùng ,tín hiệu ra LM324 là mức 1 ,qua 7414 bị đảo mức tín hiệu về 0 (led báo sang ,tín hiệu vào vi điều khiển là mức 0).Tương tự ,khi robot gặp nền trắng ,mức tín hiệu ngược lại ,led báo tắt ,tín hiệu vào vi điều khiển mức 1. 3.1.4.Ưu nhược điểm Mạch sensor phát thẳng có ưu điểm là đơn giản ,dễ chế tạo ,tiết kiệm chi phí .Tuy nhiên ,nhược điểm của mạch sensor phát thẳng là khả năng chống nhiễu kém .Khi trên sân thi đấu ,ánh sáng đèn cao áp sẽ ảnh hưởng đến khả năng hoạt động của sensor .Do đó ,sensor phải được che chắn kĩ lưỡng để khỏi ảnh hưởng đến khả năng hoạt động của sensor (đặt trong hộp kín ,hoặc bọc băng dính đen các sensor). 3.2.Mạch sensor phát xung 16 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 Đặc điểm của mạch sensor phát xung đó là khả năng chống nhiễu tốt ,không bị ảnh hưởng bởi các điều kiện bên ngoài như ánh sáng.Tuy nhiên ,mạch phát xung có nhược điểm là phức tạp ,không tiện lợi 5VVDK R3.1 17 5VVDK + - RLED1 2.2K 5VVDK 22K C1.1 U1A 1nF 3 4 4 U1D LED1 THU1 2 LM324 1 12 + R1.1 22K R2.1 14 13 LM324 - VDK1 104 100K COMPA 1 1 C2.1 COMPB 1 1 5VVDK Trên thực tế ,trong các cuộc thi robocon đa số các đội sử dụng mạch sensor phát thẳng .Bởi vì mạch sensor phát thẳng tương đối đơn giản ,dễ sử dụng 3.3.Bố trí sensor Trên robot ,về nguyên tắc ,sử dụng nhiều sensor thì khả năng bám đường càng tốt .Tuy nhiên ,trên thực tế bạn chỉ cần sử dụng 6 đến 8 sensor là DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 đủ.Cách bố trí sensor sẽ tuỳ thuộc vào ý tưởng và chất lượng các loại động cơ bạn sử dụng trong robot. Xin giới thiệu 2 phương pháp bố trí sensor trên robot a) Sử dụng 6 sensor xếp thành hàng ngang. | | | | Vạch trắng | | O O |O O| O O (sensor) 1 2 3 4 5 6 Cách này thích hợp đối với việc sử dụng các loại động cơ có độ hãm tốt ,quay ngã tư quay bằng 1 bánh (bánh quay ,bánh dừng).Trong cách bố trí này ,sensor 2,3,4,5 được sử dụng để bám đường ,hai sensor ngoài cùng 1 và 6 được dùng để đếm ngã tư và quay phải ,quay trái.Phương pháp bố trí sensor này đã được FXR sử dụng năm 2004 và đã đoạt chức vô địch. a) Sử dụng 8 sensor | | | | Vạch trắng | | O O |O O| O O (sensor) 2 3 4 5 | | | | O O Cách này thường được áp dụng với các loại động cơ có độ hãm kém ,quay ngã tư bằng 2 bánh.( 2 bánh quay ngược chiều nhau).Ở sơ đồ trên ,2 sensor được lắp ở phía dưới đế của robot để bắt ngã tư ,còn 6 sensor phía trên dùng để bám đường.Đây là cách mà BK-FIRE sử dụng trong cuộc thi robocon năm 2005. 3.4.Công tắc hành trình Công tắc hành trình được sử dụng khá nhiều trong robocon .Công tắc hành trình thường được lắp đặt ở các cơ cấu phía trên ,như cơ cấu truyền động ,gắp quà ,bỏ bóng. Hình 3.3.Công tắc hành trình 18 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 Công tắc hành trình có 3 chân : Ở dạng thường đóng ,thường mở. Một chân tín hiệu được nối đất hoặc VCC , một chân được nối với vi điều khiển. Trong robocon ,việc bố trí công tắc hành trình cần phải linh hoạt ,khéo léo để phát huy tối đa khả năng nhận biết của robot. 3.5.Encoder Một công nghệ mới đã được một số đội robot áp dụng trong những năm gần đây là sử dụng các bộ encoder . Cơ sở của phương pháp này là sử dụng đặc tính độ dài quãng đường đi được và sai số chuyển động giữa hai bánh của động cơ nhờ khai thác tính chất của bộ mã hoá xung vòng quay (Rotary encoder). Bộ encoder thực chất là một đĩa có đục lỗ có gắn cặp sensor thu phát ở 2 bên .Bộ encoder được gắn trên bánh xe hoặc trên động cơ của robot Nguyên tắc hoạt động của encoder Gồm một bộ thu phát hông ngoại và một đĩa cho chia lỗ được đặt giữa hệ thống thu phát này. Đĩa được gắn trên trục của động cơ hoặc trục chuyển 19 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 động. Quá trình đĩa chuyển động làm cho phần photo sensor thay đổi trạng thái và tạo ra một chuỗi các xung vuông trên đầu ra. Đây là thông số kĩ thuật quan trọng của một encoder. Tuỳ theo số lỗ trên đĩa mà số xung tạo ra trong một vòng quay của đĩa khác nhau. Số lượng xung càng lớn nghĩa là số lỗ càng nhiều trên một vòng tròn 360. Nghĩa là ta càng có thể điều khiển chính xác. Và dĩ nhiên bộ encoder càng đắt tiền. Chúng ta có thể thấy có nhiều loại encoder dùng từ trường hoặc trên đĩa có nhiều vòng lỗ nhưng tôi giới thiệu loại phổ dụng và đơn giản nhất là sử dụng ánh sáng như trên. Trong thực tế chúng ta có thể thấy các bộ encoder trên các động cơ DC chứ không chỉ là các thành phần độc lập. Việc lựa chọn và sử dụng hai loại encoder này đều có những ưu và nhược điểm riêng mà tôi không đề cập ở đây. Hình dạng các encoder : Khi robot muốn dịch chuyển theo một quỹ đạo xác định cần căn cứ vào hai trạng thái cơ bản đó là quãng đường đã đi được của hai bánh (tham chiếu với chương trình, và hướng chuyển động), Sai số quãng đường giữa hai động cơ. 20 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 Phương pháp này thể hiện đặc tính rất mềm dẻo khi phải chuyển hướng vì có thể xoay robot một góc bất kì ra khỏi quỹ đạo chính. Encoder thường có 6 dây (hoặc 4 dây tùy loại ) bao gồm 2 dây nguồn ,2 dây tín hiệu A và B và dây pha Z.2 dây tín hiệu A và B cho phép bạn xác định số vòng quay của động cơ ,vận tốc và chiều quay của động cơ.Để lập trình xử l tín hiệu encoder ,bạn có thể nối 2 dây tín hiệu A và B vào 2 chân timer hoặc ngắt ngoài của vi điều khiển,thiết lập vi điều khiển ở chế độ counter ,vi điều khiển sẽ đếm xung từ vi điều khiển. Bạn có thể tham khảo code dưới đây void ngat0(void) interrupt 1 // ngat bo dinh thoi 0 { if (kt0==0) // bit nay set de dung trong luc quay va di lap ma { P1_2=1; P1_3=1; P1_0=1; P1_1=1; } if (kt0==1) // bit nay xoa de bam xung dinh thoi new { TR0=0; if (dem_trai==tocdo_trai) { P1_2=~P1_2;tocdo_trai=10-tocdo_trai;dem_trai=0;} dem_trai++; TR0=1; } if (kt0==2) // dung cho bamxung quay { TR0=0; TH0=0xFF; TL0=0x47; d2++; TR0=1; } 21 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 } // quay dung bo lap ma void quayphai(unsigned char bytecao,unsigned char bytethap) { TMOD=0x55;// dem su kien P1_2=1; P1_3=0; P1_0=0; P1_1=1; delay(500); P1_0=1; kt0=0;// bit nay set de chuong trinh ngat kiem tra lua chon TH0=bytecao; TL0=bytethap; // 230 XUNG TR0=1; while(1) { if (P1_3==1) break; } } void ngat1(void) interrupt 3 // ngat bo dinh thoi 1 { if (kt1==0) // dung de di lap ma { P1_0=1; P1_1=1; P1_2=1; P1_3=1; } if (kt1==1) // bam xung dinh thoi kieu moi { TR1=0; if (dem_phai==tocdo_phai) { P1_0=~P1_0;tocdo_phai=10-tocdo_phai;dem_phai=0;} dem_phai++; TR1=1; 22 DKS GROUP http://www. dks.com.vn Nguyen Manh Truong Mobi : 0988857861 } } // quay dung bo lap ma void quaytrai(unsigned char bytecao,unsigned char bytethap) { TMOD=0x55; //khoi dong bo dinh thoi dem su kien kt1=0; P1_0=1; P1_1=0; P1_2=0; P1_3=1; delay(500); P1_2=1; TH1=bytecao; TL1=bytethap; TR1=1; while(1) { if (P1_1==1) break; } } void quay(unsigned char status ,unsigned char bytecao ,unsigned char bytethap) { if (status==turn_right) quayphai(bytecao,bytethap); if (status==turn_left) quaytrai(bytecao,bytethap); } void delay (unsigned long time) { unsigned long i; for (i=0;i
XEM VÀ TẢI VỀ:
[linkxem]https://drive.google.com/file/d/1y-gaYx0QFr2JWwU_VegCRF-uPRw8fHk6/preview[/linkxem][linktai]https://drive.google.com/file/d/1y-gaYx0QFr2JWwU_VegCRF-uPRw8fHk6/view[/linktai]