Trường đại học Bách Khoa Hà Nội Khoa Công Nghệ Thông Tin Báo cáo bài tập lớn Môn : Thiết bị ngoại vi và giao diện Nội dung : Ô tô dò đường Thầy giáo : Bùi Quốc Anh Sinh viên : Mai Thành Trung Lớp : Tin 6 – K46 Điện thoại : 8693471 Mail : maithanhtrung@hinet.net.vn Em xin cảm ơn anh Trần Trung Hiếu đã giúp đỡ em bước đầu làm quen với lĩnh vực mới này. M M ụ ụ c c l l ụ ụ c c Mục lục 2 Phần 1 Nguyên tắc chung 2 Phần 2 Cấu tạo 3 2.1 Vật liệu – linh kiện 3 2.2 Phía cảm biến 3 2.3 Phía động cơ 6 2.4 Phía điều khiển 7 Phần 3 Lập trình cho 89C51 8 Phần 4 Thực nghiệm và đánh giá 10 4.1 Thực nghiệm 10 4.2 Một số hình ảnh ô tô 10 4.3 Kết quả thực nghiệm 10 4.4 Đề nghị cải tiến 11 P P h h ầ ầ n n 1 1 N N g g u u y y ê ê n n t t ắ ắ c c c c h h u u n n g g 1 Đường đi được vạch sẵn với chiều dài mặt cắt ngang xác định. Đường đi được đặt trên nền có vật liệu khác loại. Nếu đường đi là vật liệu phản quang thì nền không phản quang và ngược lại. Ô tô sử dụng các LED hồng ngoại chiếu xuống mặt đường đi hoặc nền. Ánh sáng hồng ngoại sẽ phản xạ lại khi gặp vật liệu phản quang. S ử dụng các bộ thu các ánh sáng hồng ngoại phản quan này , ô tô xác định được trạng thái của mình trên mặt đường: lệch trái hoặc phải so với mặt đường, còn hoặc không còn trên mặt đường, …; từ đó đưa ra quyết định điều khiển tương ứng. LineFolowedCar 001 – 2005 Ver 1.00 2 P P h h ầ ầ n n 2 2 C C ấ ấ u u t t ạ ạ o o 2.1 Vật liệu – linh kiện 2 • 2 x động cơ một chiều (DC motor) • 3 x cặp thu phát hồng ngoại (φ 3 mm) • 1 x IC LM324N • 1 x IC 89C51 • 3 x R270 Ω • 3 x R10 kΩ • 1 x R8.2 kΩ • 1 x biến trở 20 kΩ • 4 x transitor PNP • 8 x transitor NPN • 1 x thạch anh 12 MHz • 2 x C30 pF (tụ sứ). • 1 x C10 µF (tụ hoá). • Giấy gói quà đề làm đường đi. 2.2 Phía cảm biến Ô tô sử dụng 3 cảm biến đặt thẳng hàng theo chiều nằm ngang: • Hai cảm biến hai bên gọi là cảm biến trái và cảm biến phải. Hai cảm biến này dùng để kiểm tra xem ô tô có đi lệch khỏi đường không. • Một cảm biến ở chính giữa gọi là cảm biến giữa. Cảm biến này xác định xem ô tô có còn ở trên đường đi không. Hình 2.1 Các cảm biến Dựa vào các cảm biến, ô tô xác định xem mình đang lệnh về phía bên nào của đường để có sự điều chỉnh tay lái tương ứng. Hoặc xác định xem ô tô có còn ở trên đường không để quyết định đi tiếp hoặc dừng lại. Phía cảm biến sử dụng ba cảm biến. Vị trí của các cảm biến được đặt ở phía trước mũi xe. Tại vị trí đó, các cảm biến đượ c bố trí như hình sau và như hình Hình 2.1. LineFolowedCar 001 – 2005 Ver 1.00 3 Hình 2.2 Vị trí bố trí các cảm biến LineFolowedCar 001 – 2005 Ver 1.00 4 Hình 2.3 Sơ đồ phía cảm biến Mỗi cảm biến bao gồm hai cặp thu phát hồng ngoại (φ = 3 mm). Mỗi cặpthu phát hồng ngoại được nối với một bộ so sánh như hình bên. Khi gặp vật liệu phản quang, mỗi đầu ra của cảm biến sẽ có tín hiệu tích cực. Biến trở 20kΩ được sử dụng để điều chỉnh độ nhạy của cảm bi ến. LineFolowedCar 001 – 2005 Ver 1.00 5 2.3 Phía động cơ Ô tô sử dụng hai động cơ môt chiều (DC). Một động cở điều khiển quay trái, phải; và một động cơ đầy, điều khiển tiến, dừng. Quay trái Quay phải Trạng thái 0 0 Đi thẳng 1 0 Quay trái 0 1 Quay phải Lùi Tiến Trạng thái 0 0 Dừng 0 1 Tiến 1 0 Lùi Hình 2.4 Sơ đồ nối động cơ Mỗi động cơ được nối với một mạch cầu transitor. Chiều quay của mỗi động cơ được điều khiển bằng cách đưa điện áp vào hai chân điều khiển. Hai chân điện áp này có mức điện áp khác nhau hoặc cùng bằng 0V, nhưng không bao giờ cùng ở mức tích cực. Trong bài này, chân lùi của động cơ đầy luôn được đặt ở mức tích cực thấp 0V, động c ơ không bao giờ đi lùi LineFolowedCar 001 – 2005 Ver 1.00 6 2.4 Phía điều khiển Phía điều khiển sử dụng vi điều khiển 89C51 như hình dưới để điều khiển phía động cơ làm cho ô tô quay trái, phải, đi thẳng hoặc dừng lại; tuỳ theo các tín hiệu nhận được ở phía cảm biến. Hình 2.5 Sơ đồ nối chân 89C51 Tuỳ theo các tín hiệu từ các đầu phía cảm biến: phải, trái, và giữa. 89C2051 điều khiển hai động cơ thông qua các chân tiến, dừng, quay trái, và quay phải. LineFolowedCar 001 – 2005 Ver 1.00 7 P P h h ầ ầ n n 3 3 L L ậ ậ p p t t r r ì ì n n h h c c h h o o 8 8 9 9 C C 5 5 1 1 Nếu sử dụng đường đi làm bằng vật liệu phản quang, nền bằng vật liệu không phản quang; quy tắc điều khiển của động cơ như trong bảng sau. Cảm biến Động cơ Trái phải giữa quay trái quay phải tiến Ý nghĩa 0 0 0 0 0 0 Không tìm thấy đường Æ Dừng xe 0 0 1 0 0 1 Xe không bị lệch với đường Æ Đi thẳng 0 1 x 0 1 1 Xe bị lệch về phía trái Æ Rẽ phải 1 0 x 1 0 1 Xe bị lệch về phía phải Æ Rẽ trái 1 1 x 0 0 1 Đi thẳng Đoạn chương trình sau thực hiện việc điều khiển như bảng trên. Chương trình được viết và dịch bằng Prog – Studio 5 của Batronix. ;==================================================================== ; Chuc nang : Dieu khien o duong (so do mach di kem) ; Lap trinh : Mai Thanh Trung ; ; Vat lieu nen : Khong phan quang ; Vat lieu duong : Phan quang ; ; Noi dung : ; Neu sensor trai = 1 => Re trai va tien ; Neu sensor phai = 1 => Re phai va tien ; Neu sensor trai va phai tat ; Neu sensor giua = 0 => Dung xe (khong tim thay duong) ; Neu sensor giua = 1 => Tien thang ; ;=================================================================== INCLUDE 89C2051.mc LeftSensor EQU P3.0 ; sensor trai RightSensor EQU P3.3 ; sensor phai ForwardSensor EQU P3.1 ; sensor giua LeftPin EQU P1.2 ; chan re trai RightPin EQU P1.3 ; chan re phai ForwardPin EQU P1.0 ; chan tien ORG 0H ; Bat dau chuong trinh ; Khoi dong ; Quy dinh P3 lam cong vao va P1 lanm cong ra MOV A, #0FFH MOV P3, A ; P3 lam cong vao MOV A, #00H ; ban dau dong co dung yen MOV P1, A ; ; Tao cac gia tri ban dau CLR LeftPin ; Chan re trai 0 CLR RightPin ; Chan re phai 0 CLR ForwardPin ; Chan di thang 0 ; Vong lap lien tuc kiem tra trang thai va dieu khien robot LineFolowedCar 001 – 2005 Ver 1.00 8 CHECK_STATE: ; dau vong lap ; Su dung loai duong khong phan quang, vat lieu co phan quang ; Kiem tra trang thai cua xe JB LeftSensor, TURN_LEFT ; Neu sensor trai bat thi re trai JB RightSensor, TURN_RIGHT ; Neu sensor phai bat thi re phai JB ForwardSensor, FORWARD ; Neu sensor giua khong bat thi dung xe HALT: ; Dung xe CLR LeftPin ; Chan re trai 0 CLR RightPin ; Chan re phai 0 CLR ForwardPin ; Chan di tien 0 SJMP CHECK_STATE TURN_LEFT: ; Re trai JB RightSensor, FORWARD ; Neu cam bien phai cung dang bat ; thi di thang CLR RightPin SETB LeftPin ; Chan re trai 1 SETB ForwardPin ; Chan di thang 1 SJMP CHECK_STATE TURN_RIGHT: ; Re phai CLR LeftPin SETB RightPin ; Chan re phai 1 SETB ForwardPin ; Chan di thang 1 SJMP CHECK_STATE FORWARD: ; Di tien CLR LeftPin ; Chan re trai 0 CLR RightPin ; Chan re phai 0 SETB ForwardPin ; Chan di thang 1 SJMP CHECK_STATE SJMP CHECK_STATE ; Ve dau vong lap END_CHECK_STATE: END ; Dung chuong trinh LineFolowedCar 001 – 2005 Ver 1.00 9 P P h h ầ ầ n n 4 4 T T h h ự ự c c n n g g h h i i ệ ệ m m v v à à đ đ á á n n h h g g i i á á 4.1 Thực nghiệm Để tăng tính đơn giản, giảm nhẹ phần cơ khí, có thể tận dụng ôtô điều khiển từ xa của Trung Quốc vì đã có sẵn phần mạch điều khiển động cơ và phần cơ khí, vỏ xe đã được làm sẵn rất đẹp. Đường đi có thể được cắt từ giấy gói quà có bề mặt phản quan tốt hoặc làm bằng một đường kẻ sơn trằng. 4.2 Một số hình ảnh ô tô 4.3 Kết quả thực nghiệm • Góc rẽ cố định: tuỳ thuộc vào cấu tạo tay lái. Hình trên góc rẽ chỉ được khoảng 0 0 - 15 0 • Đặc biệt trên nền ma sát lớn sẽ khó quay tay lái. LineFolowedCar 001 – 2005 Ver 1.00 10 4.4 Đề nghị cải tiến • Tăng số lượng cảm biến để nhận diện đường chính xác hơn. • Không sử dụng mô hình động cơ điều khiển tay lái; thay vào đó sử dụng hai động cơ điều khiển hai bánh độc lập Æ tăng tính linh hoạt của ô tô (Xe ba bánh) - Sẽ bàn tiếp trong các phiên bản sau. LineFolowedCar 001 – 2005 Ver 1.00 11 . t t ắ ắ c c c c h h u u n n g g 1 Đường đi được vạch sẵn với chiều dài mặt cắt ngang xác định. Đường đi được đặt trên nền có vật liệu khác loại. Nếu đường đi là vật liệu phản quang thì nền. quan này , ô tô xác định được trạng thái của mình trên mặt đường: lệch trái hoặc phải so với mặt đường, còn hoặc không còn trên mặt đường, …; từ đó đưa ra quyết định điều khiển tương ứng. LineFolowedCar. Công Nghệ Thông Tin Báo cáo bài tập lớn Môn : Thiết bị ngoại vi và giao diện Nội dung : Ô tô dò đường Thầy giáo : Bùi Quốc Anh Sinh viên : Mai Thành Trung Lớp : Tin 6 – K46 Điện thoại :