TRƯỜNG ĐẠI HỌC AN GIANG TRUNG TÂM TIN HỌC ------ ------
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
ROBOT TỰ HÀNH (SẢN PHẨM THAM GIA CUỘC THI THIẾT KẾ ROBOT TRÊN TRUYỀN HÌNH - ROBOCON 2005)
Chủ nhiệm đề tài: PHẠM MINH TÂN Long Xuyên, tháng 12 năm 2005 Trang 1
TRƯỜNG ĐẠI HỌC AN GIANG TRUNG TÂM TIN HỌC ------ ------
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
ROBOT TỰ HÀNH (SẢN PHẨM THAM GIA CUỘC THI THIẾT KẾ ROBOT TRÊN TRUYỀN HÌNH - ROBOCON 2005)
Chủ nhiệm đề tài: Phạm Minh Tân Các thành viên: Đỗ Thanh Cao Võ Văn Dễ Nguyễn Anh Minh Huỳnh Cao Thế Cường Long Xuyên, tháng 12 năm 2005 Trang 2
Robocon 2005
LỜI CẢM ƠN Robocon là cuộc thi thiết kế robot trên truyền hình hằng năm của các nước thuộc khu vực Châu Á – Thái Bình Dương. Ở Việt Nam, đài truyền hình Việt Nam VTV là đơn vị chịu trách nhiệm tổ chức tuyển chọn thành viên xuất sắc nhất để đi thi đấu với các nước bạn trong khu vực. Đây là lần đầu tiên trường Đại học An Giang tham gia cuộc thi này mà chúng tôi là những người đại diện thực hiện. Các thành viên trong đội đã cố gắng rất nhiều để hoàn thành một khối lượng lớn công việc trong một khoảng thời gian rất hạn hẹp. Xin chân thành cảm ơn các bạn cộng sự đã phối hợp rất nhiệt tình và có tinh thần trách nhiệm cao: 1. 2. 3. 4. 5.
Đỗ Thanh Cao Võ Văn Dễ Nguyễn Anh Minh Huỳnh Cao Thế Cường Trần Hồng Hải
- Kỹ sư Tin học, giảng viên Khoa KT-CN-MT - Sinh viên ngành Vật Lý - Sinh viên ngành Tin Học - Sinh viên ngành Tin Học - Sinh viên ngành Tin Học
6. Chế Lan Viên - Sinh viên ngành Tin Học Cùng những người thân, bạn bè, đồng nghiệp đã ủng hộ rất nhiệt tình về vật chất lẫn tinh thần cho chúng tôi. Chúng tôi cũng rất cảm ơn Ban Giám Hiệu nhà trường và các đơn vị trực thuộc (Khoa KT-CN-MT, Khoa NN-TNTN, Phòng KHTV, Phòng QTTB, Phòng HCTH, Phòng CTSV) đã quan tâm, khích lệ và tạo mọi điều kiện thuận lợi để chúng tôi tham gia cuộc thi này.
Trung tâm Tin học
Trang 3
Robocon 2005
LỜI MỞ ĐẦU Thiết kế robot là lĩnh vực hấp dẫn, thu hút nhiều đối tượng tham gia. Robocon là viết tắt của Robot Contest, chỉ những loại robot chuyên làm một số công việc nhất định như đá bóng, leo trèo, gắp đồ vật… Mỗi năm có một chủ đề khác nhau, vì vậy robot ở từng năm cũng khác nhau, có thiết kế và chức năng khác nhau tùy theo chủ đề. Để thiết kế được một con robot, ta cần rất nhiều kiến thức về vật lý, hóa học, điện, điện tử và cả mỹ thuật, hội họa… Vì vậy, robocon thực sự là một cuộc chơi của trí tuệ tổng hợp, có khả năng kích thích ý tưởng sáng tạo của những người tham gia. Chủ đề của cuộc thi lần này là “Lửa thiêng rực sáng Trường Thành”. Luật chơi yêu cầu người chơi thiết kế 2 loại robot: loại robot tự động và robot điều khiển bởi con người (gọi là robot “bằng tay”). Trên sân chơi có bố trí các cột tháp cao 1,2m tới 1,5m và các đài lửa cao 10cm, đường kính 60cm. Các robot tự động phải tìm cách đi từ nơi xuất phát đến các cột tháp và bỏ các quả bóng nhiên liệu (được chứa sẵn trên mình) vào các ngọn tháp. Các robot bằng tay thì phải tự đi lấy bóng và thả vào các đài lửa qua một đường dốc. Hai đội sẽ thi đấu với nhau trên cùng một sân đấu trong thời gian 3 phút, đội nào ghi nhiều điểm hơn sẽ chiến thắng. (Chi tiết về luật chơi xin tham khảo ở: http://www.vtv.org.vn/robocon) Rất nhiều những ý tưởng sáng tạo đã phát sinh và được ứng dụng trong quá trình chế tạo robot, nhưng do khuôn khổ hạn hẹp của bài báo cáo này nên không được nói hết ở đây. Bạn đọc có thể tham khảo thêm ở địa chỉ web site: http://staff.agu.edu.vn/pmtan, trong phân phục “Nghiên cứu khoa học”.
Trung tâm Tin học
Trang 4
Robocon 2005
TÓM TẮT NỘI DUNG CHÍNH CỦA ĐỀ TÀI Đề tài này nghiên cứu, thiết kế 2 loại robot theo yêu cầu thiết kế của cuộc thi “Thiết kế Robot – Robocon 2005” do đài truyền hình Việt Nam phát động. Việc nghiên cứu, thiết kế và thi công được trình bày trong ba phần sau: Phần A mô tả cách thiết kế robot tự động (không có sự điều khiển trực tiếp của con người từ bên ngoài). Các công đoạn thiết kế bao gồm: thiết kế phần cơ khí, phần điện – điện tử, lập trình điều khiển và trang trí. Phần B mô tả cách thiết kế robot “bằng tay” (cần có sự điều khiển của con người, hoạt động theo sự điều khiển của con người). Các công đoạn thiết kế cũng bao gồm: thiết kế phần cơ khí, phần điện – điện tử, lập trình điều khiển và trang trí robot. Phần C trình bày kết quả thực hiện đề tài: chúng tôi đã thiết kế được 3 con robot: 2 con “tự động” và 1 con “bằng tay”. Đội robocon đã bước lên sàn đấu Robocon khu vực phía Nam với hơn 80 đội đến từ các trường Đại học, Cao đẳng và Trung học chuyên nghiệp khác. Phần D trình bày những khả năng ứng dụng từ những ý tưởng và thiết kế có được của đề tài.
Trung tâm Tin học
Trang 5
Robocon 2005
MỤC LỤC Trang LỜI CẢM ƠN.........................................................................................................................................3 LỜI MỞ ĐẦU.........................................................................................................................................4 TÓM TẮT NỘI DUNG CHÍNH CỦA ĐỀ TÀI ...................................................................................5 MỤC LỤC...............................................................................................................................................6 DANH MỤC HÌNH ẢNH ......................................................................................................................7 DANH MỤC CHÚ THÍCH ...................................................................................................................7 DANH MỤC BẢNG BIỂU ....................................................................................................................7 PHẦN A THIẾT KẾ ROBOT TỰ ĐỘNG ...........................................................................................8 I. MÔ TẢ TỔNG QUÁT .................................................................................................................8 II. THIẾT KẾ PHẦN CƠ KHÍ .........................................................................................................9 1. Phần khung sàn .............................................................................................................9 2. Cơ cấu cánh tay.............................................................................................................9 3. Cột chứa bóng và cơ cấu đẩy bóng .............................................................................11 III. THIẾT KẾ PHẦN ĐIỆN, ĐIỆN TỬ..........................................................................................12 1. Bộ nguồn ổn áp có bảo vệ quá tải ...............................................................................12 2. Module công suất điều khiển động cơ ........................................................................12 3. Nhận diện vạch dẫn đường .........................................................................................14 4. Board mạch chủ ..........................................................................................................15 IV. THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN ....................................................................................17 1. Lưu đồ giải thuật tổng quát .........................................................................................17 2. Phương pháp điều biến độ rộng xung .........................................................................18 3. Bộ thông dịch cho phép thay đổi chiến thuật nhanh chóng, dễ dàng..........................19 4. Chương trình điều khiển .............................................................................................20 PHẦN B THIẾT KẾ ROBOT ĐIỀU KHIỂN BẰNG TAY..............................................................21 V. MÔ TẢ TỔNG QUÁT ...............................................................................................................21 VI. THIẾT KẾ PHẦN CƠ KHÍ .......................................................................................................22 1. Phần khung sàn ...........................................................................................................22 2. Cơ cấu lấy bóng vào và đẩy bóng ra ...........................................................................23 VII. THIẾT KẾ PHẦN ĐIỆN, ĐIỆN TỬ..........................................................................................23 1. Bộ nguồn ổn áp có bảo vệ quá tải ...............................................................................23 2. Module công suất điều khiển động cơ ........................................................................24 3. Module giao tiếp với GamePad ..................................................................................25 4. Board mạch chủ ..........................................................................................................26 VIII. THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN ....................................................................................27 1. Lưu đồ giải thuật tổng quát .........................................................................................27 2. Chương trình điều khiển .............................................................................................28 PHẦN C KẾT QUẢ THỰC HIỆN ĐỀ TÀI.......................................................................................29 PHẦN D NHỮNG KHẢ NĂNG ỨNG DỤNG CỦA ĐỀ TÀI ..........................................................30 PHỤ LỤC 1 DATASHEET CỦA MỘT SỐ LINH KIỆN CHỦ YẾU .............................................31 PHỤ LỤC 2 SƠ ĐỒ MẠCH THIẾT KẾ............................................................................................43 TÀI LIỆU THAM KHẢO ...................................................................................................................48
Trung tâm Tin học
Trang 6
Robocon 2005
DANH MỤC HÌNH ẢNH Trang Hình 1: Hình 2: Hình 3: Hình 4: Hình 5: Hình 6: Hình 7: Hình 8: Hình 9: Hình 10: Hình 11: Hình 12: Hình 13: Hình 14: Hình 15: Hình 16: Hình 17: Hình 18: Hình 19: Hình 20: Hình 21: Hình 22: Hình 23: Hình 24: Hình 25: Hình 26: Hình 27: Hình 28:
Cấu tạo khung sàn robot.........................................................................................................9 Cánh tay ở trạng thái thu gọn.................................................................................................9 Cánh tay ở trạng thái vươn tối đa. .........................................................................................9 Chi tiết kết cấu cánh tay. ......................................................................................................10 Chi tiết cơ cấu rút bóng (nhìn từ trên xuống).......................................................................10 Cột chứa bóng và cơ cấu đẩy bóng. .....................................................................................11 Cơ cấu đẩy bóng và cơ chế hoạt động của nó......................................................................11 Bộ nguồn ổn áp có bảo vệ quá tải. .......................................................................................12 Module công suất điều khiển động cơ (Minh họa trường hợp cặp 1-4 đóng, 2-3 tắt)..........13 Minh họa cách thức robot kiểm tra hướng đi. ......................................................................14 Thêm cảm biến phía sau giúp phát hiện hướng lệch nhanh chóng hơn. ..............................15 Sơ đồ khối bo mạch chủ và mối liên hệ với các module khác...............................................15 Sơ đồ nguyên lý bo mạch chủ. ..............................................................................................16 Lưu đồ máy trạng thái điều khiển robot tự động. .................................................................17 Minh họa phương pháp điều biến độ rộng xung...................................................................18 Minh họa giải thuật điều khiển động cơ theo phương pháp điều biến độ rộng xung. ..........18 Cấu tạo khung sàn và cơ cấu lấy bóng của robot bằng tay..................................................22 Minh họa hoạt động lấy bóng vào ........................................................................................23 Minh họa hoạt động đẩy bóng ra .........................................................................................23 Bộ nguồn cung cấp cho robot điều khiển bằng tay...............................................................23 Module công suất điều khiển động cơ (Minh họa trường hợp cặp 2-3 đóng, 1-4 tắt)..........24 Sơ đồ bố trí chân của đầu nối Gamepad. .............................................................................25 Hình dạng của Gamepad. .....................................................................................................25 Giản đồ xung truyền 1 byte dữ liệu giữa module giao tiếp và Gamepad. ............................25 Module giao tiếp với Gamepad. ...........................................................................................26 Board mạch chủ robot điều khiển bằng tay..........................................................................26 Sơ đồ nguyên lý board mạch chủ robot điều khiển bằng tay................................................27 Lưu đồ máy trạng thái điều khiển robot bằng tay. ...............................................................28
DANH MỤC CHÚ THÍCH Chú thích 1: Chú thích 2: Chú thích 3: Chú thích 4: Chú thích 5:
Trang Khung sàn robot tự động ..................................................................................... 9 Cơ cấu cánh tay ................................................................................................. 10 Cơ cấu rút bóng ................................................................................................. 10 Cột chứa bóng.................................................................................................... 11 Khung sàn robot điều khiển bằng tay ................................................................ 22
DANH MỤC BẢNG BIỂU Bảng 1: Bảng 2: Bảng 3: Bảng 4:
Trang Bảng liên hệ giữa tín hiệu điều khiển và chiều quay của động cơ ........................... 13 Bảng liên hệ giữa hướng lệch của robot với tín hiệu của các cảm biến vạch.......... 14 Bảng mô tả các chỉ thị của bộ thông dịch ................................................................ 19 Bảng mô tả chức năng các chân của Gamepad ....................................................... 25
Trung tâm Tin học
Trang 7
Robocon 2005
PHẦN A THIẾT KẾ ROBOT TỰ ĐỘNG I. MÔ TẢ TỔNG QUÁT Robot tự động là loại tự động hoàn toàn, không có sự điều khiển từ bên ngoài. Robot tự động ở trạng thái tĩnh có kích thước tối đa cho phép là 1m x 1m x 1,5m. Khi hoạt động có thể vươn cao tới 1,8m. Robot tự động được phép chất tối đa là 16 quả bóng nhiên liệu lên mình. Nhiệm vụ của robot là phải tự dò đường đi theo các vạch màu trắng trên sân để tìm đến các ngọn đuốc, rồi dùng cơ cấu gắp bóng hoặc đẩy bóng kết hợp với khả năng nhận diện màu sắc để đặt các quả bóng vào đúng ngăn có màu được chỉ định trên ngọn đuốc. Chúng tôi đã đề ra tư tưởng chủ đạo trong thiết kế robot tự động là: robot phải vững chắc (chống va chạm), thiết kế phải có hình dáng đặc trưng. Đây là lần đầu tiên trường Đại học An Giang “ra quân”, nên chúng tôi đã chọn dáng thiết kế theo hình con rồng (đặc trưng cho vùng đồng bằng sông Cửu Long của mình).
Trung tâm Tin học
Trang 8
Robocon 2005
II. THIẾT KẾ PHẦN CƠ KHÍ
1. Phần khung sàn Phần khung sàn được thiết kế đơn giản, kết cấu lắp ráp bằng vật liệu sắt V lổ. Hai bánh trước quay độc lập, trục cố định. Mỗi bánh được điều khiển bằng một động cơ riêng, có giảm tốc. Truyền động bằng bánh xích. Hai bánh sau dùng loại bánh xe quay tự do, quay được quanh trục đứng. 2
5
1
Chú thích 1: Khung sàn robot tự động 1. Khung sườn robot bằng sắt V-lổ.
Nhìn từ trên xuống
3
2. Bánh trước (φ=12mm).
4
3. Bánh sau (loại bánh xe quay quanh trục đứng). 4. Động cơ DC có giảm tốc. 5. Hệ truyền động bằng dây xích, bánh xích.
Nhìn mặt bên
Hình 1: Cấu tạo khung sàn robot.
Với thiết kế này, robot có thể đổi hướng rất linh hoạt nhờ sự thay đổi tốc độ và hướng quay của 2 bánh trước.
2. Cơ cấu cánh tay Ứng dụng nguyên lý đòn bẫy. Truyền động bằng hệ thống ròng rọc động. Cánh tay được thiết kế liên hoàn, chỉ cần 1 điểm tác dụng lực để nâng cánh tay.
Khớp động
Ròng rọc
Khớp động Dây không giãn, độ dài cố định
Khớp cứng Motor xoắn
Hình 2: Cánh tay ở trạng thái thu gọn.
Hình 3: Cánh tay ở trạng thái vươn tối đa.
Nguyên lý nâng cánh tay như sau (xem hình 4): motor (1) quay kéo dây (2) gây ra lực kéo (3), qua hệ thống ròng rọc động (4) kéo cánh giữa (5) quay lên quanh khớp động (6). Cánh giữa (5) chuyển động lên sẽ làm điểm trượt (8) chuyển động Trung tâm Tin học
Trang 9
Robocon 2005 theo. Do dây (7) không giãn, có độ dài cố định và trượt được trên điểm trượt (8) nên nó sẽ kéo điểm (9) xuống. Theo nguyên lý đòn bẫy, cánh trên (10) sẽ quay quanh khớp động (11). Như vậy, chỉ với lực kéo của motor xoắn, toàn bộ cánh tay sẽ được nâng lên và vươn dài tới mục tiêu cần thiết (như hình 3). 10
11
Chú thích 2: Cơ cấu cánh tay 1. Motor xoắn. 2. Dây kéo không giãn.
4
5
3. Hướng lực kéo. 4. Hệ ròng rọc động. 5. Đoạn giữa của cánh tay.
9
8
6. Khớp động. 6
7. Dây không giãn, độ dài cố định.
3
8. Điểm trượt (ròng rọc cố định).
2 7
9. Điểm nối dây (7) vào cánh trên (10). 1
10. Đoạn trên của cánh tay. 11. Khớp động.
Hình 4: Chi tiết kết cấu cánh tay.
Khi cần hạ cánh tay xuống, motor xoắn quay theo chiều ngược lại, nhờ trọng lực, cánh tay sẽ trở về vị trí ban đầu (như hình 2). Đoạn trên hết của cánh tay có gắn cơ cấu rút bóng để bắn quả bóng vào mục tiêu. Rổ đỡ bóng (1) là kết cấu khung uốn cong để giữ qủa bóng nhiên liệu, được gắn trên một ổ trượt (2). Rổ đỡ bóng được giữ thăng bằng nhờ một thanh ngang (4) tiếp xúc trượt với 2 thanh cố định hai bên. Lực rút được điều khiển bằng một motor nhỏ gắn ở đầu trên của cánh (6). Ở đây cũng dùng một hệ thống ròng rọc động để giảm tải cho motor kéo ổ trượt. 2
1
Chú thích 3: Cơ cấu rút bóng
3 6
1. Rổ đỡ bóng (không cho bóng rớt ngược lại phía sau). Phía dưới đáy rổ có gắn một công tắc chạm (hình chữ x). 2. Ổ trượt. 3. Thanh trục đỡ ổ trượt.
4
5
Hình 5: Chi tiết cơ cấu rút bóng (nhìn từ trên xuống).
4. Thanh ngang tiếp xúc với 2 cạnh bên, giữ cho rổ đỡ bóng không bị xoay. 5. Dây kéo ổ trượt. 6. Motor kéo ổ trượt.
Hoạt động của cơ cấu rút bóng như sau: ở vị trí hạ thấp, sau khi bóng nhiên liệu được đổ vào rổ đỡ bóng, cánh tay vươn cao tới vị trí cần thiết, motor kéo sẽ quay rút dây làm ổ trượt được kéo lên, kéo theo quả bóng nhiên liệu. Đến vị trí trên cùng, cơ cấu rút bóng dừng lại đột ngột, bóng sẽ văng ra ngoài do gia tốc. Sau khi rút bóng, motor kéo quay ngược lại, thả lỏng dây kéo, cơ cấu rút bóng sẽ trượt về vị trí cũ nhờ tác dụng của trọng lực. Trung tâm Tin học
Trang 10
Robocon 2005 Phía dưới rổ đỡ bóng có gắn một công tắc chạm dùng để nhận biết có bóng trong rổ hay chưa. Tín hiệu này sẽ giúp bộ điều khiển trung tâm làm dừng việc đẩy bóng trong cột chứa bóng lên và bắt đầu nâng cánh tay.
3. Cột chứa bóng và cơ cấu đẩy bóng Mỗi robot tự động được phép chứa tối đa 16 quả bóng. Quả bóng có đường kính 15cm, bằng chất liệu cao su. Theo tư tưởng chủ đạo đã đề ra, chúng tôi đã thiết kế cột chứa bóng đứng (hình 6). Cột chứa bóng (1) là kết cấu ống khung (frame), cố định vào sàn, đầu trên uốn cong sao cho khi bóng rơi ra ngoài sẽ đổ vào rổ đỡ bóng của cơ cấu cánh tay. Để giải quyết vấn đề ma sát giữa bóng cao su và thành cột (bằng nhôm), chúng tôi đã dùng các hạt cườm để chuyển ma sát trượt thành ma sát lăn. Chú thích 4: Cột chứa bóng
1
1. Thân cột chứa bóng. 2
2. Cơ cấu ống lồng nhau, làm thanh đở, dùng để đẩy bóng ra khỏi cột chứa. 3. Motor kéo cơ cấu đẩy bóng.
3
Hình 6: Cột chứa bóng và cơ cấu đẩy bóng.
Do bị giới hạn về độ cao, cột chứa bóng này chỉ chứa được tối đa 6 quả bóng. Cơ cấu đẩy bóng gồm thanh đỡ (2) và motor kéo (3). Thanh đỡ là cơ cấu 2 ống lồng nhau. Một đầu cố định vào cánh tay, đầu kia áp sát trục đứng của cột chứa bóng và di chuyển dọc theo trục này. Nhờ cơ cấu ống lồng nhau, thanh đỡ có thể thay đổi chiều dài tùy theo khoảng cách giữa 2 đầu mút. Công tắc chạm K2
Ròng rọc cố định
Thanh đỡ (2 ống lồng nhau) Trục đứng cố định Khớp xoay
Dây kéo Ròng rọc cố định
Motor kéo dây
Hình 7: Cơ cấu đẩy bóng và cơ chế hoạt động của nó.
Trung tâm Tin học
Trang 11
Robocon 2005 Đầu mút động được kéo bằng một động cơ, qua hệ truyền động dây kéo đổi hướng nhờ các ròng rọc. Phía trên cột chứa bóng có gắn một công tắc chạm (K2) đánh dấu điểm dừng cho cơ cấu rút bóng.
III. THIẾT KẾ PHẦN ĐIỆN, ĐIỆN TỬ
1. Bộ nguồn ổn áp có bảo vệ quá tải Trong bất kỳ hệ thống điện tử nào, nguồn điện đều có vai trò rất quan trọng, ảnh hưởng rất lớn tới tính ổn định của hệ thống. Trong ứng dụng đặc thù này, nguồn cung cấp cần đáp ứng các yêu cầu sau: - Có điện áp ra ổn định ở mức 5V để cung cấp cho các vi mạch số. - Nguồn công suất 14V, dòng cao, ổn định cung cấp cho các động cơ để giữ moment của động cơ không bị ảnh hưởng khi acquy giảm điện thế. Mạch thiết kế như sau: TIP122 T1
+14V
0.1/5W T2
R2 1K C1 104
6V
R1
C2383 Z1 15V6
U1 7805
12V
C2 4700uF
+
1 IN OUT 3 GND 2 C3 C4
104
1000uF
+5V +
C5 104
Hình 8: Bộ nguồn ổn áp có bảo vệ quá tải.
Phân tích: - IC ổn áp U1 và các tụ lọc nguồn C2, C3, C4, C5 tạo thành mạch ổn áp đầu ra 5V cung cấp cho các vi mạch TTL. - Mạch ổn áp công suất Z1, R2, T1 (Transistor loại Darlington) tạo điện áp ra ổn định 14V cung cấp cho các động cơ. Cặp R1, T2 tạo thành mạch bảo vệ quá tải bảo vệ T1 khi có ngắn mạch ngõ ra.
2. Module công suất điều khiển động cơ Module điều khiển động cơ được thiết kế theo dạng cầu đảo chiều để điều khiển động cơ quay theo 2 chiều khác nhau. Mỗi module điều khiển một động cơ. Mạch sử dụng các transistor công suất darlington tần số cao như sau: Trung tâm Tin học
Trang 12
Robocon 2005
+14V
T3
T1 A
R1
R5
220
220 OP1
C
OP3
R2 1K
R6 1K
M +14V B
R3
R4 1K
220
OP2
+14V
T2
T4
OP4
R7 1K
R8 220
D
Hình 9: Module công suất điều khiển động cơ (Minh họa trường hợp cặp 1-4 đóng, 2-3 tắt)
Phân tích: - 2 cặp transistor darlington công suất T1-T4 và T2-T3 ghép thành mạch cầu có thể cung cấp dòng theo 2 chiều cho motor M tùy theo các tín hiệu điều khiển thích hợp ở các chân A,B,C,D. Cặp T1,T3 dùng loại TIP125, cặp T2,T4 dùng loại TIP122 (chi tiết về cấu trúc bên trong các transistor này xin xem phần phụ lục). - Các opto Op1, Op2, Op3, Op4 (dùng loại P521) tạo thành mạch đóng, ngắt cách ly. - Mối liên quan giữa các tín hiệu điều khiển A,B,C,D (dạng TTL) và chiều quay của động cơ M được cho trong bảng sau: Bảng 1: Bảng liên hệ giữa tín hiệu điều khiển và chiều quay của động cơ
A 0 1 0 1 0 1 x
Trung tâm Tin học
B 0 0 1 0 1 1 x
C 0 0 1 1 0 x 1
D 0 1 0 0 1 x 1
Chiều quay của động cơ M Ngừng Quay theo chiều thuận Quay theo chiều nghịch Dừng cưỡng bức Dừng cưỡng bức Trạng thái cấm (x: logic 0 hoặc 1)
Trang 13
Robocon 2005
3. Nhận diện vạch dẫn đường Mặt sân màu xanh lá cây xậm có kẻ vạch dẫn đường màu trắng. Đặc điểm này cho phép dùng các cảm biến vạch sử dụng tia laser đỏ để nhận biết vì màu trắng phản xạ rất tốt ánh sáng đỏ, còn màu xanh lá hấp thụ gần như hoàn toàn ánh sáng đỏ. Trong thiết kế này ta sử dụng cảm biến vạch BF3-RX của Hàn Quốc (thông số kỹ thuật xin xem phần phụ lục). Loại cảm biến này có độ ổn định rất cao và khả năng chống nhiễu ánh sáng rất tốt. Đây là loại cảm biến được sử dụng rộng rãi trong các dây chuyền điều khiển tự động. Để nhận biết chính xác hướng lệch của robot, ta dùng 3 cảm biến vạch cho đầu trước. Robot
Cảm biến
Vạch trắng
Hướng tới Î Chạy thẳng
Î Lệch phải
Î Lệch trái
Hình 10: Minh họa cách thức robot kiểm tra hướng đi.
Với cách thiết kế này, thông tin về hướng đi được nhận biết bằng 3 bit theo thứ tự Trái-Giữa-Phải (L-C-R) như sau (quy ước thấy vạch là mức 1): Bảng 2: Bảng liên hệ giữa hướng lệch của robot với tín hiệu của các cảm biến vạch Giá trị L-C-R
Trung tâm Tin học
Thông tin
0-1-0
Đang đi thẳng
1-1-0
Hơi lệch phải
1-0-0
Quá lệch phải
0-1-1
Hơi lệch trái
0-0-1
Quá lệch trái
0-0-0
Ra khỏi vạch
1-1-1
Đi đến điểm giao hoặc vạch ngang
1-0-1
Đi đến điểm giao từ góc
Trang 14
Robocon 2005 Tính chính xác của việc nhận biết hướng đi sẽ càng tăng nếu ta dùng càng nhiều bộ cảm biến (cảm biến BF3-RX là loại rất đắc tiền, dùng càng nhiều cảm biến thì robot sẽ di chuyển càng chính xác như giá thành của robot sẽ tăng đáng kể). Để phát hiện xu hướng lệch kịp thời, ta gắn thêm phía đầu sau của robot 1 cảm biến vạch nữa. Khi robot có xu hướng lệch, cảm biến phía sau sẽ lệch khỏi vạch trước 3 cảm biến đầu, như vậy xu hướng lệch sẽ được phát hiện và điều chỉnh kịp thời hơn. Cảm biến phía sau
Hình 11: Thêm cảm biến phía sau giúp phát hiện hướng lệch nhanh chóng hơn.
4. Board mạch chủ Bo mạch chủ chứa bộ điều khiển trung tâm và các bộ đệm vào-ra. Robot sẽ cảm nhận các tác động bên ngoài thông qua các cảm biến, các công tắc chạm và sẽ có những ứng xử phù hợp với từng tình huống cụ thể theo chương trình định trước. Tín hiệu từ các công tắc chạm
Tín hiệu từ các cảm biến vạch
Các bộ đệm vào
Nguồn cung cấp
Các module công suất điều khiển động cơ
MCU (vi điều khiển)
Các bộ đệm ra
Hình 12: Sơ đồ khối bo mạch chủ và mối liên hệ với các module khác.
Bộ điều khiển trung tâm sử dụng vi điều khiển P89V51RD2 thuộc họ 8051 của hãng Philip (có datasheet kèm theo phần phụ lục). Các bộ đệm vào-ra sử dụng IC 74HC573. Bo mạch chủ nối với các module khác qua các bus dây. Sơ đồ nguyên lý thiết kế bo mạch chủ như sau:
Trung tâm Tin học
Trang 15
C3 10uF
+
R1 10K
9 1 2 3 4 5 6 7 8 10 11 12 13 14 15
VCC EA GND RESET P10 P11 P12 P13 P14 P15 P16 P17
P04 P05 P06 P07
35 34 33 32
WR0 P20 P21 P22 P23 P24 P25 P26 P27 ALE
P30 P31 P32 P33 P34 P35
PSEN P37-RD P36-WR
25 26 27 28
A12 A13 A14 A15
2 3 4 5 6 7 8 9
30 29 17 16
RD\ WR\
WR1
6 4 5
G1 G2A G2B
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
15 14 13 12 11 10 9 7
RD0\ RD1\ RD2\ RD3\ RD4\ RD5\ RD6\ RD7\
RD0\
1
6 4 5
G1 G2A G2B
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
15 14 13 12 11 10 9 7
WR0\ WR1\ WR2\ WR3\ WR4\ WR5\ WR6\ WR7\
Input[8..15]
A15 WR\
A B C
RD1\
2 3 4 5 6 7 8 9 1
74138
D0 D1 D2 D3 D4 D5 D6 D7
A0 A1 A2 A3 A4 A5 A6 A7 G0\ G1\
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
74244
18 16 14 12 9 7 5 3
WR0 WR1 WR2 WR3 WR4 WR5 WR6 WR7
RD2\
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 OC\
C
19 18 17 16 15 14 13 12 1
WR2
11
11
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 OC\
C
19 18 17 16 15 14 13 12 1
74573 IC5
C
74573
Input[16..23]
WR0\ WR1\ WR2\ WR3\ WR4\ WR5\ WR6\ WR7\
19 18 17 16 15 14 13 12
Vcc
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
OC\
IC12 2 4 6 8 11 13 15 17 1 19
C
2 3 4 5 6 7 8 9
IC7
IC11 1 2 3
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
OC\
11
D0 D1 D2 D3 D4 D5 D6 D7
IC4
74573
74138
A12 A13 A14
D0 D1 D2 D3 D4 D5 D6 D7
C
15 14 13 12 1
74573
2 3 4 5 6 7 8 9
19 18 17 16 15 14 13 12
WR3
11
11
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 OC\
C
19 18 17 16 15 14 13 12 12
74573
Vcc
IC8 2 3 4 5 6 7 8 9 1
D0 D1 D2 D3 D4 D5 D6 D7 OC\
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 C
74573
19 18 17 16 15 14 13 12
Input[24..31]
A15 RD\
A B C
Input[0..7]
1 2 3
A12 A13 A14
2 3 4 5 6 7 8 9
Q4 Q5 Q6 Q7 OC\
19 18 17 16
74573 IC3
IC6 IC10
11
21 22 23 24
Q0 Q1 Q2 Q3
Motor2 Motor1
Vcc
X2
D0 D1 D2 D3 D4 D5 D6 D7
Motor4 Motor3
40 31 20
2 3 4 5 6 7 8 9
39 38 37 36
Motor6 Motor5
18
IC2 P00 P01 P02 P03
X1
Motor8 Motor7
C2
IC1 19
P89V51RD2
C1
12MHz
Robocon 2005
11
Vcc
RD3\
IC9 2 3 4 5 6 7 8 9 1
D0 D1 D2 D3 D4 D5 D6 D7 OC\
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 C
74573
19 18 17 16 15 14 13 12 11
Vcc
Hình 13: Sơ đồ nguyên lý bo mạch chủ.
Phân tích: - IC1: chip vi điều khiển trung tâm P89V51RD2, điều khiển mọi hoạt động của robot. - IC2, IC3, IC4, IC5: bộ đệm ra, nối tới các module công suất điều khiển các động cơ. Với 4 bộ đệm 8 bit, mạch này có thể điều khiển 8 động cơ khác nhau. - IC6, IC7, IC8, IC9: các bộ đệm vào, dùng để nhận các tín hiệu từ các công tắc chạm và các cảm biến vạch. - IC10, IC11: giải mã địa chỉ. - IC12: bộ đệm đảo.
Trung tâm Tin học
Trang 16
Robocon 2005
IV. THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN
1. Lưu đồ giải thuật tổng quát Để điều khiển robot tự động, ta dùng phương pháp lập trình máy trạng thái. Điều kiện chuyển trạng thái có thể từ chương trình điều khiển chính hoặc từ các cảm biến vạch và các công tắc chạm chỉ vị trí cánh tay. Lưu đồ máy trạng thái tổng quát cho robot tự động như sau: Sẵn sàng ở vị trí khởi động
bắt đầu, đi theo chương trình
lệch trái
Điều chỉnh lệch hướng trái
lệch phải
Di chuyển theo hướng hiện tại
hết lệch
Điều chỉnh lệch hướng phải
hết lệch rẽ phải
rẽ trái đã rẽ phải
đã rẽ trái
Bánh trái quay lui, bánh phải quay tới
Bánh phải quay lui, bánh trái quay tới
có lệnh bắn bóng
đi tiếp hết bóng
Đẩy bóng
Dừng
bóng vào vị trí
Nâng cánh tay cánh tay về vị trí
Hạ cánh tay
rỗ về vị trí
Hạ rổ đỡ
cánh tay tới vị trí trên
Rút bóng
bóng văng ra ngoài
Hình 14: Lưu đồ máy trạng thái điều khiển robot tự động.
Trung tâm Tin học
Trang 17
Robocon 2005
2. Phương pháp điều biến độ rộng xung Để điều khiển tốc độ động cơ một cách linh hoạt, ta dùng phương pháp điều biến độ rộng xung. Dòng cấp cho động cơ không liên tục mà có dạng xung, giá trị trung bình của xung sẽ tỉ lệ với tốc độ động cơ. tc1
tc2
Tp
Tp
Hình 15: Minh họa phương pháp điều biến độ rộng xung.
Chu kỳ Tp không đổi, còn chu kỳ làm việc tc sẽ thay đổi. Chu kỳ làm việc tc tương ứng với việc động cơ được cấp nguồn. Như vậy, thay đổi chu kỳ làm việc tc sẽ làm thay đổi được tốc độ động cơ. (Theo hình minh họa, chu kỳ làm việc tc1 ứng với việc động cơ quay nhanh hơn chu kỳ làm việc tc2) Phương pháp điều biến độ rộng xung có thể được thực hiện bằng phần mềm (chạy theo ngắt thời gian của hệ thống) như sau: Động cơ vào chế độ hoạt động.
- Khởi động bộ đếm lùi với giá trị Tp. - Mở động cơ.
Y
Bộ đếm = 0? N Bộ đếm = tc?
N
Y Tắt động cơ
Hình 16: Minh họa giải thuật điều khiển động cơ theo phương pháp điều biến độ rộng xung.
Trung tâm Tin học
Trang 18
Robocon 2005
3. Bộ thông dịch cho phép thay đổi chiến thuật nhanh chóng, dễ dàng Robocon là cuộc thi đấu trí tuệ và công nghệ giữa các thành viên. Mỗi trận đấu có thể cần một chiến thuật khác nhau. Do đó, để có thể thay đổi chiến thuật (về đường đi, cách bỏ bóng…) một cách nhanh chóng, dễ dàng, tôi đã thiết kế một lớp ứng dụng cho phép điều khiển robot bằng các chỉ thị gợi nhớ. Dạng thức mỗi chỉ thị gợi nhớ như sau: byte[0]
byte[1]
byte[2]
byte[3]
byte[4]
byte[5]
byte[6]
Len
Func
Param1
Param2
Param3
Param4
…
(Len: chiều dài chuỗi mã lệnh; Func: mã lệnh; Param?: các tham số) Bảng sau liệt kê các mã gợi nhớ và tác dụng điều khiển của nó: Bảng 3: Bảng mô tả các chỉ thị của bộ thông dịch Mã lệnh hex (Func) 00 01
mt, sp
02
mt, act
03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17-1D 1E 1F
Tham số (Param)
idx, cntL, cntH sp sp
leftsp, rightsp leftsp, rightsp cntL, cntH AddrL, AddrH AddrL, AddrH AddrL, AddrH len len len len len
AddrL, AddrH
Trung tâm Tin học
Chức năng Không làm gì Đặt tốc độ sp cho motor mt Điều khiển motor mt. act=0: tắt; act=1:quay tới; act=2: quay lui; act=3: dừng cưỡng bức. Đặt bộ đếm lùi thứ idx giá trị cnt(16bit) Đặt tốc độ quy chuẩn sp cho motor trái Đặt tốc độ quy chuẩn sp cho motor phải Robot đi tới Robot đi lui Robot dừng lại Đặt tốc độ trái leftsp, phải rightsp rồi chạy tới Đặt tốc độ trái leftsp, phải rightsp rồi chạy lui Dừng bộ thông dịch trong khoảng thời gian cnt(16bit) Trở về từ một lời gọi hàm (RET) Gọi hàm có địa chỉ Addr (16bit) Nhảy tới địa chỉ Addr (16bit) Gọi hàm vi điều khiển tại địa chỉ Addr (16bit) Reset bộ đếm vị trí Chạy tới một đoạn len Quay trái một đoạn len Quay phải một đoạn len Quay lui trái một đoạn len Quay lui phải một đoạn len Bắn một quả bóng Chưa dùng (N/A) Lặp lại tại địa chỉ Addr (16bit) Chưa dùng
Trang 19
Robocon 2005
4. Chương trình điều khiển Chương trình điều khiển được viết bằng ngôn ngữ assemply cho họ 8051. Do chương trình nguồn dài hơn 4600 dòng mã, không tiện kèm theo bài báo cáo này. Nếu các bạn có quan tâm đến mã nguồn chi tiết, có thể tải về (download) từ địa chỉ website của tôi: http://staff.agu.edu.vn/pmtan, trong phân mục “Nghiên cứu khoa học”.
Trung tâm Tin học
Trang 20
Robocon 2005
PHẦN B THIẾT KẾ ROBOT ĐIỀU KHIỂN BẰNG TAY V. MÔ TẢ TỔNG QUÁT “Robot bằng tay” là loại robot do người chơi điều khiển thông qua một bộ điều khiển bằng tay (có dây nối hoặc bằng hồng ngoại). Robot bằng tay có kích thước tối đa cho phép là 1m x 1m x 1m2. Nhiệm vụ của robot bằng tay là phải tự đi lấy bóng nhiên liệu và bắn những trái bóng này vào các đài lửa xung quanh sân chơi. Robot bằng tay là loại ít bị va chạm nhưng cần phải gọn, nhẹ, di chuyển linh hoạt, ổn định và dễ điều khiển. Để điều khiển robot, ta sử dụng một gamepad loại thông dụng (của Sony) rồi thiết kế lại mạch giao tiếp và lập trình lại chức năng của các phím điều khiển (các loại gamepad đều thiết kế cho máy chơi game).
Trung tâm Tin học
Trang 21
Robocon 2005
VI. THIẾT KẾ PHẦN CƠ KHÍ
1. Phần khung sàn Phần khung sàn được thiết kế đơn giản, kết cấu lắp ráp bằng vật liệu sắt V lổ và nhôm. Hai bánh trước (3) quay tự do dùng loại bánh xe quay được quanh trục đứng. Hai bánh sau (2) quay độc lập với nhau, trục cố định. Mỗi bánh được điều khiển bằng một động cơ riêng (8), có giảm tốc. Truyền động bằng bánh răng (9). Phần khung được thiết kế rộng để chứa được nhiều bóng. 2
1
3
Chú thích 5: Khung sàn robot điều khiển bằng tay
4
1. Khung sàn robot. 2. Bánh sau, trục cố định. 3. Bánh trước quay tự do, quay quanh trục đứng.
5 11
4. Trục cuốn trước. 5. Trục cuốn sau.
8 9
6. Buli trục cuốn. 7. Motor kéo trục cuốn.
6
8. Motor kéo bánh sau. 9. Bánh răng hình nón. 10. Vỉ chứa bóng nhiên liệu. 7
10
11. Dốc định hướng bóng.
2
Nhìn mặt bên 8 4
5
7
10
Hình 17: Cấu tạo khung sàn và cơ cấu lấy bóng của robot bằng tay.
Phía dưới khung phía trước có gắn một vỉ chứa bóng (10), đầu trước có 2 dốc định hướng bóng ra (11). Nhờ 2 dốc này mà bóng đi ra sẽ được định hướng dễ dàng và chính xác.
Trung tâm Tin học
Trang 22
Robocon 2005
2. Cơ cấu lấy bóng vào và đẩy bóng ra Cơ cấu lấy bóng vào và đẩy bóng ra (xem hình 17) là một đôi trục cuốn (4,5) quay được cả 2 chiều nhờ motor kéo (7) và hệ thống truyền động bằng dây curoa. Nhờ cặp trục cuốn này, bóng được cuốn vào và đẩy ra dễ dàng, chính xác hơn trường hợp chỉ dùng một trục cuốn. Sau khi có hiệu lệnh xuất phát, từ vị trí khởi động, robot được điều khiển đi tới nơi đặt bóng nhiên liệu. Người điều khiển sẽ điều khiển trục cuốn để cuốn bóng vào. Sau đó robot được điều khiển tới các đài lửa, người điều khiển sẽ định hướng đường dốc của đài lửa và điều khiển robot quay trục cuốn bóng ra. Trục cuốn Bóng
Hình 18: Minh họa hoạt động lấy bóng vào
Hình 19: Minh họa hoạt động đẩy bóng ra
VII.THIẾT KẾ PHẦN ĐIỆN, ĐIỆN TỬ
1. Bộ nguồn ổn áp có bảo vệ quá tải Bộ nguồn cung cấp cho robot điều khiển bằng tay cũng có thiết kế tương tự như bộ nguồn dùng cho robot tự động: TIP122 T1
+14V
0.1/5W T2
R2 1K C1 104
6V
R1
C2383 Z1 15V6
U1 7805
12V
C2 4700uF
+
1 IN OUT 3 GND 2 C3 C4
104
1000uF
+5V +
C5 104
Hình 20: Bộ nguồn cung cấp cho robot điều khiển bằng tay
Trung tâm Tin học
Trang 23
Robocon 2005 -
IC ổn áp U1 và các tụ lọc nguồn C2, C3, C4, C5 tạo thành mạch ổn áp đầu ra 5V cung cấp cho board mạch chủ và gamepad. Mạch ổn áp công suất Z1, R2, T1 (Transistor loại Darlington) tạo điện áp ra ổn định 14V cung cấp cho các động cơ. Cặp R1, T2 tạo thành mạch bảo vệ quá tải bảo vệ T1 khi có ngắn mạch ngõ ra.
2. Module công suất điều khiển động cơ Module điều khiển động cơ cũng được thiết kế tương tự như của robot điều khiển tự động:
+14V
T3
T1 A
R1
R5
220
220 OP1
C
OP3
R2 1K
R6 1K
M +14V B
R3 220
R4 1K
OP2
+14V
T2
T4
OP4
R7 1K
R8 220
D
Hình 21: Module công suất điều khiển động cơ (Minh họa trường hợp cặp 2-3 đóng, 1-4 tắt)
-
-
2 cặp transistor darlington công suất T1-T4 và T2-T3 ghép thành mạch cầu có thể cung cấp dòng theo 2 chiều cho motor M tùy theo các tín hiệu điều khiển thích hợp ở các chân A,B,C,D. Cặp T1,T3 dùng loại TIP125, cặp T2,T4 dùng loại TIP122 (chi tiết về cấu trúc bên trong các transistor này xin xem phần phụ lục). Các opto Op1, Op2, Op3, Op4 (dùng loại P521) tạo thành mạch đóng, ngắt cách ly. Mối liên quan giữa các tín hiệu điều khiển A,B,C,D (dạng TTL) và chiều quay của động cơ M có thể tham khảo trong bảng 2 – trang 12.
Trung tâm Tin học
Trang 24
Robocon 2005
3. Module giao tiếp với GamePad Để điều khiển robot, tôi đã dùng một Gamepad loại thông dụng (SONY Playstation® Controller). Sơ đồ bố trí chân của đầu nối Gamepad như sau: Chân 9
Chân 1
Hình 22: Sơ đồ bố trí chân của đầu nối Gamepad.
Hình 23: Hình dạng của Gamepad.
Chức năng các chân giao tiếp cho trong bảng sau: Bảng 4: Bảng mô tả chức năng các chân của Gamepad
Chân
Chức năng
1. DATA
Tín hiệu ra từ Gamepad
2. COMMAND
Lệnh điều khiển từ bộ giao tiếp tới Gamepad
3. N/C
Không dùng
4. GND
Đất (0v)
5. VCC
Nguồn 5V
6. ATT
Tín hiệu gây chú ý cho Gamepad
7. CLOCK
Xung đồng bộ
8. N/C
Không dùng
9. ACK
Xác nhận từ Gamepad
Giản đồ xung quy ước để truyền dữ liệu giữa module giao tiếp và Gamepad như sau: bit 0
1
2
3
4
5
6
7
CLOCK DATA
bit 0
bit 7
COMMAND
bit 0
bit 7
ACK
Hình 24: Giản đồ xung truyền 1 byte dữ liệu giữa module giao tiếp và Gamepad.
Trung tâm Tin học
Trang 25
Robocon 2005
IC1 4
C2
5 20 10
Vcc C3 + 10uF R1 10K
1 12 13 14 15
X1
X2 VCC GND RESET P10 P11 P12 P13
AT89C2051
C1
12MHz
Module giao tiếp với Gamepad sử dụng vi điều khiển AT89C2051 (phiên bản rút gọn của AT89C51), được thiết kế như sau:
P31 P32 P33 P34 P35 P37
P17 P16 P15 P14
2 3 6 7 8 9 11
RXD TXD CLOCK CMD ATT ACK DATA
19 18 17 16
Hình 25: Module giao tiếp với Gamepad.
Các chân DATA, ACK, ATT, CMD và CLOCK giao tiếp với các chân tương ứng của Gamepad. Hai chân TXD và RXD giao tiếp với Board mạch chủ. Khi cần giao lấy thông tin từ Gamepad, vi điều khiển kéo chân ATT xuống thấp và gởi lệnh 0x01 (01 hex), Gamepad sẽ trả lại giá trị ID nhận diện loại Gamepad (0x41=Digital, 0x23=NegCon, 0x73=Analogue Red LED, 0x53=Analogue Green LED). Đồng thời vi điều khiển sẽ gởi lệnh 0x42 để yêu cầu thông tin về phím nhấn, Gamepad sẽ gởi lại dữ liệu bắt đầu bằng 0x5A. Khuôn dạng dữ liệu trả về của loại Gamepad Digital như sau: BYTE CMND
DATA
01
0x01
idle
02
0x42
0x41
03
idle
0x5A
Bit0
Bit1
Bit2
Bit3
Bit4
Bit5
04
idle
data
SLCT
STRT
UP
RGHT
DOWN
LEFT
05
idle
data
L2
R2
L1
R1
/\
O
Bit6
Bit7
X
|_|
4. Board mạch chủ Bo mạch chủ chứa bộ điều khiển trung tâm và các bộ đệm ra để điều khiển động cơ và kết nối với module Gamepad. Sơ đồ khối như sau:
Nguồn cung cấp Module Gamepad
MCU (vi điều khiển)
Các bộ đệm ra
Các module công suất điều khiển động cơ
Hình 26: Board mạch chủ robot điều khiển bằng tay
Trung tâm Tin học
Trang 26
Robocon 2005
40 31 20
Vcc C3 10uF
+
9 1 2 3 4 5 6 7 8
R1 10K RXD TXD
10 11 12 13 14 15
X2 VCC EA GND
P04 P05 P06 P07
RESET P10 P11 P12 P13 P14 P15 P16 P17
2 3 4 5 6 7 8 9
39 38 37 36 35 34 33 32
P24 P25 P26 P27 ALE
P30 P31 P32 P33 P34 P35
PSEN P37-RD P36-WR
25 26 27 28
A12 A13 A14 A15
2 3 4 5 6 7 8 9
29 17
A15 WR\
6 4 5
A B C
G1 G2A G2B
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
Q4 Q5 Q6 Q7 OC\
19 18 17 16 15 14 13 12 1
74573 IC3
30
16
Q0 Q1 Q2 Q3
C
21 22 23 24
RD\ WR\
WR1
D0 D1 D2 D3 D4 D5 D6 D7
11
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 OC\
C
19 18 17 16 15 14 13 12 1
74573
IC4 1 2 3
A12 A13 A14
11
WR0 P20 P21 P22 P23
D0 D1 D2 D3 D4 D5 D6 D7
Motor2 Motor1
18
IC2 P00 P01 P02 P03
X1
Motor4 Motor3
C2
IC1 19
P89V51RD2
C1
12MHz
Bộ điều khiển trung tâm sử dụng vi điều khiển P89V51RD2 thuộc họ 8051 của hãng Philip (có datasheet kèm theo phần phụ lục). Các bộ đệm ra sử dụng IC 74HC573. Bo mạch chủ nối với các module khác qua các bus dây. Sơ đồ nguyên lý thiết kế bo mạch chủ như sau:
IC5 15 14 13 12 11 10 9 7
WR0\ WR1\ WR2\ WR3\ WR4\ WR5\ WR6\
74138
WR0\ WR1\ WR2\ WR3\ WR4\ WR5\ WR6\
2 4 6 8 11 13 15 17 1 19
A0 A1 A2 A3 A4 A5 A6 A7 G0\ G1\
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
18 16 14 12 9 7 5 3
WR0 WR1 WR2 WR3 WR4 WR5 WR6
74244
Hình 27: Sơ đồ nguyên lý board mạch chủ robot điều khiển bằng tay
-
IC4 (74138) làm bộ giải mã địa chỉ. IC5 (74244) làm bộ đệm đảo. IC2, IC3 làm bộ đệm ra nối đến các module công suất điều khiển các động cơ. Hai chân RxD, TxD nối tới module giao tiếp với Gamepad (truyền thông theo kiểu SCI – Serial Communication Interface).
VIII. THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN
1. Lưu đồ giải thuật tổng quát Để điều khiển robot bằng tay, ta dùng phương pháp lập trình máy trạng thái. Điều kiện chuyển trạng thái có thể từ chương trình điều khiển chính hoặc từ tín hiệu các phím nhấn trên Gamepad. Lưu đồ máy trạng thái tổng quát cho robot điều khiển bằng tay như sau:
Trung tâm Tin học
Trang 27
Robocon 2005
Quay trục cuốn vào nhả phím
nhấn phím cuốn bóng
nhấn phím tới
Di chuyển tới
Sẵn sàng (dừng)
nhả phím
nhấn phím lui nhả phím
Di chuyển lùi
nhấn phím rẽ phải
nhấn phím rẽ trái
nhả phím
nhả phím
Bánh trái quay lui, bánh phải quay tới
nhả phím
nhấn phím đẩy bóng ra
Bánh phải quay lui, bánh trái quay tới
Quay trục cuốn ra
Hình 28: Lưu đồ máy trạng thái điều khiển robot bằng tay.
2. Chương trình điều khiển Chương trình điều khiển được viết bằng ngôn ngữ assemply cho họ 8051. Do chương trình nguồn dài hơn 1500 dòng mã, không tiện kèm theo bài báo cáo này. Nếu các bạn có quan tâm đến mã nguồn chi tiết, có thể tải về (download) từ địa chỉ website của tôi: http://staff.agu.edu.vn/pmtan, trong phân mục “Nghiên cứu khoa học”.
Trung tâm Tin học
Trang 28
Robocon 2005
PHẦN C KẾT QUẢ THỰC HIỆN ĐỀ TÀI Sau một khoảng thời gian gần 5 tháng, đội Robocon đã làm việc tích cực, liên tục để cho ra đời 3 con robot (2 con tự động và 1 con bằng tay). Các robot được trang trí ấn tượng: 2 robot tự động có hình “rồng ôm cột” và robot bằng tay có hình “cá ba sa”. Robot bằng tay hoạt động rất ổn định. Robot tự động thì chưa hoàn chỉnh lắm ở phần dò tìm đuốc và tránh chướng ngại vật. Tuy nhiên nó có thể đi theo chương trình và phun bóng vào ngọn đuốc với tỉ lệ thành công khoảng 80%. Ngày 4-05-2005, đội Robocon của Đại học An Giang lên đường đến Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh tham gia vòng đấu bảng với đội hình: - Chỉ đạo viên: Phạm Minh Tân. - Đội trưởng: Võ Văn Dễ. - Thành viên: Nguyễn Anh Minh. - Thành viên: Huỳnh Cao Thế Cường. Đợt thi lần này, khu vực phía Nam có 83 đội tham gia, đến từ các trường Đại học, Cao đẳng, Trung học chuyên nghiệp trong khu vực. Ban tổ chức chia các đội thành 21 bảng, mỗi bảng 4 đội. Kết quả bốc thăm chia bảng như sau: Bảng 20, 21: thi đấu vào buổi sáng (14/05/2005) Bảng 20 RAM ACTION (Ðại học Sư phạm Kỹ thuật TPHCM) DLC (Ðại học Công nghiệp TPHCM) HNT (Đại học Nông Lâm TPHCM) Đại học An Giang (Đại học An Giang)
Bảng 21 H&B (Ðại học Sư phạm Kỹ thuật TPHCM) RIC (Ðại học Công nghiệp TPHCM) HATC3 (Đại học Nông Lâm TPHCM)
Đội Đại học An Giang ở bảng 20, ra trận sáng ngày 14-05-2005, thi đấu vòng tròn tính điểm với các đội của Đại học Sư phạm Kỹ thuật, Đại học Công nghiệp và Đại học Nông Lâm. Kết quả vòng đấu bảng, đội Đại học An Giang ghi được 19 điểm bóng. Tuy không vào được vòng trong, nhưng đội Đại học An Giang được biết đến là một trong số ít đội có “thiết kế lạ mắt” nhất giải.
Trung tâm Tin học
Trang 29
Robocon 2005
PHẦN D NHỮNG KHẢ NĂNG ỨNG DỤNG CỦA ĐỀ TÀI Những kết quả nghiên cứu từ việc thiết kế robot có thể ứng dụng làm các thiết bị điều khiển khác như: - Thiết bị ổn định tốc độ động cơ (dùng cho các dây chuyền sản xuất, máy công cụ). - Các cơ cấu nâng vật nặng. - Các xe vận chuyển cở nhỏ vận hành bằng acquy và điều khiển hướng theo ý muốn hoặc tự di chuyển theo lộ trình định trước. - Hệ thống cảm nhận tín hiệu nhiệt độ, độ ẩm và thu thập dữ liệu trên diện rộng dùng chuẩn truyền thông RS-485. - Thiết bị đo tốc độ quay tròn của vật thể, đo vận tốc dòng chảy, hướng dòng chảy, vận tốc gió… - v..v…
Trung tâm Tin học
Trang 30
Robocon 2005
PHỤ LỤC 1 DATASHEET CỦA MỘT SỐ LINH KIỆN CHỦ YẾU
1. TRANSISTOR CÔNG SUẤT DARLINGTON TIP122. 2. TRANSISTOR CÔNG SUẤT DARLINGTON TIP125. 3. VI ĐIỀU KHIỂN PHILIP P89V51RD2. (bản đầy đủ có thể download tại http://staff.agu.edu.vn/pmtan)
Trung tâm Tin học
Trang 31
TIP120/121/122
TIP120/121/122 Medium Power Linear Switching Applications • Complementary to TIP125/126/127
TO-220
1
1.Base
2.Collector
3.Emitter
NPN Epitaxial Darlington Transistor Absolute Maximum Ratings TC=25°C unless otherwise noted Symbol VCBO
Parameter Collector-Base Voltage
VCEO
Collector-Emitter Voltage : TIP120 : TIP121 : TIP122
: TIP120 : TIP121 : TIP122
Value 60 80 100
Units V V V
60 80 100
V V V
VEBO
Emitter-Base Voltage
5
V
IC
Collector Current (DC)
5
A
ICP
Collector Current (Pulse)
8
A
IB
Base Current (DC)
120
mA
PC
Collector Dissipation (Ta=25°C)
2
W
Collector Dissipation (TC=25°C)
65
W
TJ
Junction Temperature
150
°C
TSTG
Storage Temperature
- 65 ~ 150
°C
Equivalent Circuit C
B
R1
R2
R1 ≅ 8kΩ R 2 ≅ 0.12 k Ω
E
Electrical Characteristics TC=25°C unless otherwise noted Symbol VCEO(sus)
ICEO
ICBO
Parameter Collector-Emitter Sustaining Voltage : TIP120 : TIP121 : TIP122
Test Condition IC = 100mA, IB = 0
Min.
Max.
60 80 100
Units V V V
Collector Cut-off Current : TIP120 : TIP121 : TIP122
VCE = 30V, IB = 0 VCE = 40V, IB = 0 VCE = 50V, IB = 0
0.5 0.5 0.5
mA mA mA
: TIP120 : TIP121 : TIP122
VCB = 60V, IE = 0 VCB = 80V, IE = 0 VCB = 100V, IE = 0
0.2 0.2 0.2
mA mA mA
2
mA
2.0 4.0
V V
Collector Cut-off Current
IEBO
Emitter Cut-off Current
VBE = 5V, IC = 0
hFE
* DC Current Gain
VCE = 3V,IC = 0.5A VCE = 3V, IC = 3A
VCE(sat)
* Collector-Emitter Saturation Voltage
IC = 3A, IB = 12mA IC = 5A, IB = 20mA
VBE(on)
* Base-Emitter ON Voltage
VCE = 3V, IC = 3A
2.5
V
Cob
Output Capacitance
VCB = 10V, IE = 0, f = 0.1MHz
200
pF
1000 1000
* Pulse Test : PW≤300µs, Duty cycle ≤2%
©2001 Fairchild Semiconductor Corporation
Rev. A1, June 2001
TIP125/126/127
TIP125/126/127 Medium Power Linear Switching Applications • Complementary to TIP120/121/122
TO-220
1
1.Base
2.Collector
3.Emitter
PNP Epitaxial Darlington Transistor Absolute Maximum Ratings TC=25°C unless otherwise noted Symbol VCBO
Parameter Collector-Base Voltage
: TIP125 : TIP126 : TIP127
Value - 60 - 80 - 100
Units V V V
Collector-Emitter Voltage : TIP125 : TIP126 : TIP127
- 60 - 80 - 100
V V V
VCEO VEBO
Emitter-Base Voltage
-5
V
IC
Collector Current (DC)
-5
A
ICP
Collector Current (Pulse)
-8
A
IB
Base Current (DC)
- 120
mA
PC
Collector Dissipation (Ta=25°C)
2
Collector Dissipation (TC=25°C)
65
W
Equivalent Circuit C
B
R1
R2
R1 ≅ 8kΩ R 2 ≅ 0.12 k Ω
E
W
TJ
Junction Temperature
150
°C
TSTG
Storage Temperature
- 65 ~ 150
°C
Electrical Characteristics TC=25°C unless otherwise noted Symbol VCEO(sus)
ICEO
ICBO
Parameter Collector-Emitter Sustaining Voltage : TIP125 : TIP126 : TIP127
Test Condition IC = -100mA, IB = 0
Min.
Max.
-60 -80 -120
Units V V V
Collector Cut-off Current : TIP125 : TIP126 : TIP127
VCE = -30V, IB = 0 VCE = -40V, IB = 0 VCE = -50V, IB = 0
-2 -2 -2
mA mA mA
: TIP125 : TIP126 : TIP127
VCB = -60V, IE = 0 VCB = -80V, IE = 0 VCB = -100V, IE = 0
-1 -1 -1
mA mA mA
-2
mA
V V
Collector Cut-off Current
IEBO
Emitter Cut-off Current
VBE = -5V, IC = 0
hFE
* DC Current Gain
VCE = -3V, IC = 0.5A VCE = -3V, IC = -3A
VCE(sat)
* Collector-Emitter Saturation Voltage
IC = -3A, IB = -12mA IC=-5A, IB=-20mA
-2 -4
VBE(on)
* Base-Emitter ON Voltage
VCE = -3V, IC = -3A
-2.5
V
Cob
Output Capacitance
VCB = -10V, IE = 0, f = 0.1MHz
300
pF
1000 1000
* Pulse Test : PW≤300µs, Duty cycle ≤2%
©2001 Fairchild Semiconductor Corporation
Rev. A1, June 2001
P89V51RD2 8-bit 80C51 5 V low power 64 kB Flash microcontroller with 1 kB RAM Rev. 02 — 11 October 2004
Product data
1. General description The P89V51RD2 is an 80C51 microcontroller with 64 kB Flash and 1024 bytes of data RAM. A key feature of the P89V51RD2 is its X2 mode option. The design engineer can choose to run the application with the conventional 80C51 clock rate (12 clocks per machine cycle) or select the X2 mode (6 clocks per machine cycle) to achieve twice the throughput at the same clock frequency. Another way to benefit from this feature is to keep the same performance by reducing the clock frequency by half, thus dramatically reducing the EMI. The Flash program memory supports both parallel programming and in serial In-System Programming (ISP). Parallel programming mode offers gang-programming at high speed, reducing programming costs and time to market. ISP allows a device to be reprogrammed in the end product under software control. The capability to field/update the application firmware makes a wide range of applications possible. The P89V51RD2 is also In-Application Programmable (IAP), allowing the Flash program memory to be reconfigured even while the application is running.
2. Features ■ 80C51 Central Processing Unit ■ 5 V Operating voltage from 0 MHz to 40 MHz ■ 64 kB of on-chip Flash program memory with ISP (In-System Programming) and IAP (In-Application Programming) ■ Supports 12-clock (default) or 6-clock mode selection via software or ISP ■ SPI (Serial Peripheral Interface) and enhanced UART ■ PCA (Programmable Counter Array) with PWM and Capture/Compare functions ■ Four 8-bit I/O ports with three high-current Port 1 pins (16 mA each) ■ Three 16-bit timers/counters ■ Programmable watchdog timer ■ Eight interrupt sources with four priority levels ■ Second DPTR register ■ Low EMI mode (ALE inhibit) ■ TTL- and CMOS-compatible logic levels
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core ■ Brown-out detection ■ Low power modes ◆ Power-down mode with external interrupt wake-up ◆ Idle mode ■ DIP40, PLCC44 and TQFP44 packages
3. Ordering information Table 1:
Ordering information
Type number
Package
Version
Name
Description
P89V51RD2FA
PLCC44
plastic leaded chip carrier; 44 leads
SOT187-2
P89V51RD2FBC
TQFP44
plastic thin quad flat package; 44 leads; body 10 × 10 × 1.0 mm
SOT376-1
P89V51RD2BN
DIP40
plastic dual in-line package; 40 leads (600 mil)
SOT129-1
3.1 Ordering options Table 2:
Ordering options
Type number
Temperature range
Frequency
P89V51RD2FA
−40 °C to +85 °C
0 to 40 MHz
P89V51RD2FBC
−40 °C to +85 °C
P89V51RD2BN
0 °C to +70 °C
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
2 of 77
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core
4. Block diagram
HIGH PERFORMANCE 80C51 CPU
64 kB CODE FLASH
UART INTERNAL BUS
1 kB DATA RAM
SPI
PORT 3
TIMER 0 TIMER 1
PORT 2
TIMER 2
PCA PROGRAMMABLE COUNTER ARRAY
PORT 1
PORT 0 WATCHDOG TIMER CRYSTAL OR RESONATOR
OSCILLATOR
002aaa506
Fig 1. P89V51RD2 block diagram.
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
3 of 77
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core
5. Pinning information
40 P0.3/AD3
41 P0.2/AD2
42 P0.1/AD1
43 P0.0/AD0
44 VCC
1 NC
2 P1.0/T2
3 P1.1/T2EX
4 P1.2/ECI
5 P1.3/CEX0
6 P1.4/SS/CEX1
5.1 Pinning
CEX2/MOSI/P1.5
7
39 P0.4/AD4
CEX3/MISO/P1.6
8
38 P0.5/AD5
CEX4/SCK/P1.7
9
37 P0.6/AD6
RST 10
36 P0.7/AD7
RXD/P3.0 11
35 EA
P89V51RD2FA
NC 12
34 NC
A12/P2.4 28
A11/P2.3 27
29 P2.5/A13
A10/P2.2 26
T1/P3.5 17
A9/P2.1 25
30 P2.6/A14
A8/P2.0 24
T0/P3.4 16
NC 23
31 P2.7/A15
VSS 22
INT1/P3.3 15
XTAL1 21
32 PSEN
XTAL2 20
INT0/P3.2 14
RD/P3.7 19
33 ALE/PROG
WR/P3.6 18
TXD/P3.1 13
002aaa810
Fig 2. PLCC44 pin configuration.
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
4 of 77
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core
handbook, halfpage
40 VDD
T2/P1.0 1
39 P0.0/AD0
ECI/P1.2 3
38 P0.1/AD1
CEX0/P1.3 4
37 P0.2/AD2
CEX1/SS/P1.4 5
36 P0.3/AD3
CEX2/MOSI/P1.5 6
35 P0.4/AD4
CEX3/MISO/P1.6 7
34 P0.5/AD5
CEX4/SCK/P1.7 8
33 P0.6/AD6
RST 9
32 P0.7/AD7
RXD/P3.0 10 TXD/P3.1 11 INT0/P3.2 12
P89V51RD2BN
T2EX/P1.1 2
31 EA 30 ALE/PROG 29 PSEN
INT1/P3.3 13
28 P2.7/A15
T0/P3.4 14
27 P2.6/A14
T1/P3.5 15
26 P2.5/A13
WR/P3.6 16
25 P2.4/A12
RD/P3.7 17
24 P2.3/A11
XTAL2 18
23 P2.2/A10
XTAL1 19
22 P2.1/A9
VSS 20
21 P2.0/A8 002aaa811
Fig 3. DIP40 pin configuration.
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
5 of 77
P89V51RD2
Philips Semiconductors
34 P0.3/AD3
35 P0.2/AD2
36 P0.1/AD1
37 P0.0/AD0
38 VDD
39 NC
40 P1.0/T2
41 P1.1/T2EX
42 P1.2/ECI
43 P1.3/CEX0
44 P1.4/SS/CEX1
8-bit microcontrollers with 80C51 core
CEX2/MOSI/P1.5
1
33 P0.4/AD4
CEX3/MISO/P1.6
2
32 P0.5/AD5
CEX4/SCK/P1.7
3
31 P0.6/AD6
RST
4
30 P0.7/AD7
RXD/P3.0
5
29 EA
NC
6
TXD/P3.1
7
27 ALE/PROG
INT0/P3.2
8
26 PSEN
INT1/P3.3
9
25 P2.7/A15
T0/P3.4 10
24 P2.6/A14
T1/P3.5 11
23 P2.5/A13
A12/P2.4 22
A11/P2.3 21
28 NC
A10/P2.2 20
A9/P2.1 19
A8/P2.0 18
NC 17
VSS 16
XTAL1 15
XTAL2 14
RD/P3.7 13
WR/P3.6 12
P89V51RD2FBC
002aaa812
Fig 4. TQFP44 pin configuration.
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
6 of 77
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core
5.2 Pin description Table 3:
P89V51RD2 pin description
Symbol
Pin
Type
Description
43-36
I/O
Port 0: Port 0 is an 8-bit open drain bi-directional I/O port. Port 0 pins that have ‘1’s written to them float, and in this state can be used as high-impedance inputs. Port 0 is also the multiplexed low-order address and data bus during accesses to external code and data memory. In this application, it uses strong internal pull-ups when transitioning to ‘1’s. Port 0 also receives the code bytes during the external host mode programming, and outputs the code bytes during the external host mode verification. External pull-ups are required during program verification or as a general purpose I/O port.
40-44, 1-3
2-9
I/O with Port 1: Port 1 is an 8-bit bi-directional I/O port with internal pull-up internal pull-ups. The Port 1 pins are pulled high by the internal pull-ups when ‘1’s are written to them and can be used as inputs in this state. As inputs, Port 1 pins that are externally pulled LOW will source current (IIL) because of the internal pull-ups. P1.5, P1.6, P1.7 have high current drive of 16 mA. Port 1 also receives the low-order address bytes during the external host mode programming and verification.
1
40
2
I/O
T2: External count input to Timer/Counter 2 or Clock-out from Timer/Counter 2
P1.1
2
41
3
I
T2EX: Timer/Counter 2 capture/reload trigger and direction control
P1.2
3
42
4
I
ECI: External clock input. This signal is the external clock input for the PCA.
P1.3
4
43
5
I/O
CEX0: Capture/compare external I/O for PCA Module 0. Each capture/compare module connects to a Port 1 pin for external I/O. When not used by the PCA, this pin can handle standard I/O.
P1.4
5
44
6
I/O
SS: Slave port select input for SPI CEX1: Capture/compare external I/O for PCA Module 1
P1.5
6
1
7
I/O
MOSI: Master Output Slave Input for SPI CEX2: Capture/compare external I/O for PCA Module 2
P1.6
7
2
8
I/O
MISO: Master Input Slave Output for SPI CEX3: Capture/compare external I/O for PCA Module 3
P1.7
8
3
9
I/O
SCK: Master Output Slave Input for SPI CEX4: Capture/compare external I/O for PCA Module 4
DIP40
TQFP44
PLCC44
P0.0 to P0.7
39-32
37-30
P1.0 to P1.7
1-8
P1.0
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
7 of 77
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core
Table 3:
P89V51RD2 pin description…continued
Symbol
Pin
Type
Description
DIP40
TQFP44
PLCC44
P2.0 to P2.7
21-28
18-25
24-31
I/O with internal pull-up
Port 2: Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. Port 2 pins are pulled HIGH by the internal pull-ups when ‘1’s are written to them and can be used as inputs in this state. As inputs, Port 2 pins that are externally pulled LOW will source current (IIL) because of the internal pull-ups. Port 2 sends the high-order address byte during fetches from external program memory and during accesses to external Data Memory that use 16-bit address (MOVX@DPTR). In this application, it uses strong internal pull-ups when transitioning to ‘1’s. Port 2 also receives some control signals and a partial of high-order address bits during the external host mode programming and verification.
P3.0 to P3.7
10-17
5, 7-13
11, 13-19
I/O with internal pull-up
Port 3: Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. Port 3 pins are pulled HIGH by the internal pull-ups when ‘1’s are written to them and can be used as inputs in this state. As inputs, Port 3 pins that are externally pulled LOW will source current (IIL) because of the internal pull-ups. Port 3 also receives some control signals and a partial of high-order address bits during the external host mode programming and verification.
P3.0
10
5
11
I
RXD: serial input port
P3.1
11
7
13
O
TXD: serial output port
P3.2
12
8
14
I
INT0: external interrupt 0 input
P3.3
13
9
15
I
INT1: external interrupt 1 input
P3.4
14
10
16
I
T0: external count input to Timer/Counter 0
P3.5
15
11
17
I
T1: external count input to Timer/Counter 1
P3.6
16
12
18
O
WR: external data memory write strobe
P3.7
17
13
19
O
RD: external data memory read strobe
PSEN
29
26
32
I/O
Program Store Enable: PSEN is the read strobe for external program memory. When the device is executing from internal program memory, PSEN is inactive (HIGH). When the device is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory. A forced HIGH-to-LOW input transition on the PSEN pin while the RST input is continually held HIGH for more than 10 machine cycles will cause the device to enter external host mode programming.
RST
9
4
10
I
Reset: While the oscillator is running, a HIGH logic state on this pin for two machine cycles will reset the device. If the PSEN pin is driven by a HIGH-to-LOW input transition while the RST input pin is held HIGH, the device will enter the external host mode, otherwise the device will enter the normal operation mode.
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
8 of 77
P89V51RD2
Philips Semiconductors
8-bit microcontrollers with 80C51 core
Table 3:
P89V51RD2 pin description…continued
Symbol
Pin
Type
Description
DIP40
TQFP44
PLCC44
EA
31
29
35
I
External Access Enable: EA must be connected to VSS in order to enable the device to fetch code from the external program memory. EA must be strapped to VDD for internal program execution. However, Security lock level 4 will disable EA, and program execution is only possible from internal program memory. The EA pin can tolerate a high voltage of 12 V.
ALE/ PROG
30
27
33
I/O
Address Latch Enable: ALE is the output signal for latching the low byte of the address during an access to external memory. This pin is also the programming pulse input (PROG) for flash programming. Normally the ALE[1] is emitted at a constant rate of 1⁄6 the crystal frequency[2] and can be used for external timing and clocking. One ALE pulse is skipped during each access to external data memory. However, if AO is set to ‘1’, ALE is disabled.
NC
-
6, 17, 28, 39
1, 12, 23, 34
I/O
No Connect
XTAL1
19
15
21
I
Crystal 1: Input to the inverting oscillator amplifier and input to the internal clock generator circuits.
XTAL2
18
14
20
O
Crystal 2: Output from the inverting oscillator amplifier.
VDD
40
38
44
I
Power supply
VSS
20
16
22
I
Ground
[1] [2]
ALE loading issue: When ALE pin experiences higher loading (>30 pF) during the reset, the microcontroller may accidentally enter into modes other than normal working mode. The solution is to add a pull-up resistor of 3 kΩ to 50 kΩ to VDD, e.g., for ALE pin. For 6-clock mode, ALE is emitted at 1⁄3 of crystal frequency.
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099
Product data
Rev. 02 — 11 October 2004
9 of 77
Robocon 2005
PHỤ LỤC 2 SƠ ĐỒ MẠCH THIẾT KẾ
1. BOARD MẠCH CHỦ (DÙNG CHO ROBOT TỰ ĐỘNG VÀ ĐIỀU KHIỂN BẰNG TAY).
2. MẠCH NGUỒN VÀ MODULE ĐIỀU KHIỂN ĐỘNG CƠ.
Trung tâm Tin học
Trang 43
Robocon 2005
TÀI LIỆU THAM KHẢO I.I.ARTÔBÔLEPXKI – Biên dịch: Võ Trần Khúc Nhã. Các cơ cấu trong kỹ thuật. Nhà xuất bản Hải Phòng. PTs. Nguyễn Thị Phương Hà. Kỹ thuật điều khiển tự động (2 tập). Nhà xuất bản Khoa Học và Kỹ Thuật. KS. Đỗ Thanh Hải và KS. Nguyễn Xuân Mai biên soạn. Kỹ thuật điều khiển công suất mạch điện tử. Nhà xuất bản Thanh Niên. Biên dịch: Trần Thế San, hiệu đính: TS. Nguyễn Tiến Dũng. Cơ sở nghiên cứu và sáng tạo ROBOT . Nhà xuất bản Thống Kê.
Trung tâm Tin học
Trang 48