You are on page 1of 48

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. Đỗ Thanh Cao - Kỹ sư Tin học, giảng viên Khoa KT-CN-MT


2. Võ Văn Dễ - Sinh viên ngành Vật Lý
3. Nguyễn Anh Minh - Sinh viên ngành Tin Học
4. Huỳnh Cao Thế Cường - Sinh viên ngành Tin Học
5. Trần Hồng Hải - 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: Cấu tạo khung sàn robot.........................................................................................................9
Hình 2: Cánh tay ở trạng thái thu gọn.................................................................................................9
Hình 3: Cánh tay ở trạng thái vươn tối đa. .........................................................................................9
Hình 4: Chi tiết kết cấu cánh tay. ......................................................................................................10
Hình 5: Chi tiết cơ cấu rút bóng (nhìn từ trên xuống).......................................................................10
Hình 6: Cột chứa bóng và cơ cấu đẩy bóng. .....................................................................................11
Hình 7: Cơ cấu đẩy bóng và cơ chế hoạt động của nó......................................................................11
Hình 8: Bộ nguồn ổn áp có bảo vệ quá tải. .......................................................................................12
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)..........13
Hình 10: Minh họa cách thức robot kiểm tra hướng đi. ......................................................................14
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. ..............................15
Hình 12: Sơ đồ khối bo mạch chủ và mối liên hệ với các module khác...............................................15
Hình 13: Sơ đồ nguyên lý bo mạch chủ. ..............................................................................................16
Hình 14: Lưu đồ máy trạng thái điều khiển robot tự động. .................................................................17
Hình 15: Minh họa phương pháp điều biến độ rộng xung...................................................................18
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. ..........18
Hình 17: Cấu tạo khung sàn và cơ cấu lấy bóng của robot bằng tay..................................................22
Hình 18: Minh họa hoạt động lấy bóng vào ........................................................................................23
Hình 19: Minh họa hoạt động đẩy bóng ra .........................................................................................23
Hình 20: Bộ nguồn cung cấp cho robot điều khiển bằng tay...............................................................23
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)..........24
Hình 22: Sơ đồ bố trí chân của đầu nối Gamepad. .............................................................................25
Hình 23: Hình dạng của Gamepad. .....................................................................................................25
Hình 24: Giản đồ xung truyền 1 byte dữ liệu giữa module giao tiếp và Gamepad. ............................25
Hình 25: Module giao tiếp với Gamepad. ...........................................................................................26
Hình 26: Board mạch chủ robot điều khiển bằng tay..........................................................................26
Hình 27: Sơ đồ nguyên lý board mạch chủ robot điều khiển bằng tay................................................27
Hình 28: Lưu đồ máy trạng thái điều khiển robot bằng tay. ...............................................................28

DANH MỤC CHÚ THÍCH


Trang
Chú thích 1: Khung sàn robot tự động ..................................................................................... 9
Chú thích 2: Cơ cấu cánh tay ................................................................................................. 10
Chú thích 3: Cơ cấu rút bóng ................................................................................................. 10
Chú thích 4: Cột chứa bóng.................................................................................................... 11
Chú thích 5: Khung sàn robot điều khiển bằng tay ................................................................ 22

DANH MỤC BẢNG BIỂU


Trang
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ơ ........................... 13
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.......... 14
Bảng 3: Bảng mô tả các chỉ thị của bộ thông dịch ................................................................ 19
Bảng 4: 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.

5 2
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

2. Bánh trước (φ=12mm).


xuống

3 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, Khớp cứng
độ dài cố định
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 Chú thích 2: Cơ cấu cánh tay


11
1. Motor xoắn.
4 2. Dây kéo không giãn.
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
9. Điểm nối dây (7) vào cánh trên (10).
7 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.

1 2
3 Chú thích 3: Cơ cấu rút bóng
1. Rổ đỡ bóng (không cho bóng rớt
ngược lại phía sau). Phía dưới đáy rổ
6 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. Thanh ngang tiếp xúc với 2 cạnh bên,
4 5 giữ cho rổ đỡ bóng không bị xoay.
5. Dây kéo ổ trượt.
Hình 5: Chi tiết cơ cấu rút bóng 6. Motor kéo ổ trượt.
(nhìn từ trên xuống).

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. Cơ cấu ống lồng nhau, làm thanh đở, dùng
2 để đẩy bóng ra khỏi cột chứa.
3. Motor kéo cơ cấu đẩy bóng.

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 R1 +14V

R2 0.1/5W
1K T2
C2383
C1
Z1
6V 104
15V6

U1 7805
1 IN OUT 3 +5V
GND
12V + 2 +
C2 C3 C4 C5
4700uF 104 1000uF 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

T1 T3
R1 R5
A C
220 220
OP1 OP3

R2 R6
1K 1K
M
+14V +14V
R3 R4 R7 R8
B 1K 1K D
220 OP2 OP4 220
T2 T4

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 B C D Chiều quay của động cơ M


0 0 0 0 Ngừng
1 0 0 1 Quay theo chiều thuận
0 1 1 0 Quay theo chiều nghịch
1 0 1 0 Dừng cưỡng bức
0 1 0 1 Dừng cưỡng bức
1 1 x x Trạng thái cấm
x x 1 1 (x: logic 0 hoặc 1)

Trung tâm Tin học 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 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

Trung tâm Tin họ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 module


Nguồn cung công suất điều
các công
cấp khiển động cơ
tắc chạm

Tín hiệu từ Các bộ đệm MCU Các bộ đệm


các cảm (vi điều
vào ra
biến vạch khiển)

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


Robocon 2005

12MHz
IC1 IC2
C1 2 19

Motor2 Motor1
19 39 D0 Q0
X1 P00 3 18
38 D1 Q1
P01 4 17
C2 18
P02
P03
37
36
5
D2
D3
Q2
Q3
16
X2 6
35 D4
40 P04 7 15
VCC 34 D5 Q4
31 P05
Vcc
8 14
EA 33 D6 Q5
20 P06 9 13

P89V51RD2
GND 32 D7 Q6
P07 12
11 Q7
C3 + 9
RESET
21
WR0 C
OC\
1

1 P20
10uF 2
P10
P21
22 74573
P11 23
3 P22
4
P12
P23
24 IC3
R1 5
P13
P24
25
A12 2 19

Motor4 Motor3
P14 26 D0 Q0
P25 A13
10K
6 3 18
P15 27 D1 Q1
7
P16
P26
28 A14 4
D2 Q2
17
8
P17
P27
A15 5
D3 Q3
16
6
D4
10 30 7 15
P30 ALE D5 Q4
11 8 14
P31 29 D6 Q5
12 PSEN 9 13
P32 D7 Q6
13 17 12
P33 P37-RD RD\ 11 Q7
14
P34 16 WR1 C
OC\
1
15
P35
P36-WR
WR\
74573
IC4
IC6 2 19

Motor6 Motor5
D0 Q0
2 3
IC10 Input[0..7] 3
D0 Q0
19
18 4
D1 Q1
18
17
D1 Q1 D2 Q2
1 15 4 17 5 16
A12 2
A Y0
14
RD0\ 5
D2 Q2
16 6
D3 Q3
A13 3
B Y1
13
RD1\ 6
D3 Q3
15 7
D4
15
A14 C Y2
12
RD2\ 7
D4 Q4
14 8
D5 Q4
14
Y3
11 RD3\ 8
D5 Q5
13 9
D6 Q5
13
6
Y4
10 RD4\ 9
D6 Q6
12
D7 Q6
12
A15 G1 Y5 RD5\ D7 Q7 11 Q7

RD\
4
5
G2A Y6
9
7
RD6\ 1
OC\ 11
WR2 C
OC\
1

G2B Y7 RD7\ RD0\ C


74573
74138 74573 Vcc
IC5
IC7 2 19

Motor8 Motor7
IC11 D0 Q0
Input[8..15]

2 19 3 18
D0 Q0 D1 Q1
1 3 18 4 17
15 D1 Q1 D2 Q2
A12 2
A Y0
14
WR0\ 4
D2 Q2
17 5
D3 Q3
16
A13 3
B Y1
13
WR1\ 5
D3 Q3
16 6
D4
A14 C Y2
12
WR2\ 6
D4 Q4
15 7
D5 Q4
15
Y3
11 WR3\ 7
D5 Q5
14 8
D6 Q5
14
6
Y4
10
WR4\ 8
D6 Q6
13 9
D7 Q6
13
A15 4
G1 Y5
9
WR5\ 9
D7 Q7
12
Q7
12
WR\ 5
G2A Y6
7
WR6\ WR3
11
C
OC\
12
G2B Y7 WR7\ 1
OC\ 11
RD1\ C
74573
74138 74573
Vcc
IC12
IC8
Input[16..23]

2 18
WR0\ 4
A0 Y0 WR0 2
WR1\ A1 Y1
16
WR1 D0 Q0
19
IC9
Input[24..31]

6 14 3 18
WR2\ 8
A2 Y2
12
WR2 4
D1 Q1
17 2 19
WR3\ 11
A3 Y3
9
WR3 5
D2 Q2
16 3
D0 Q0
18
WR4\ 13
A4 Y4
7
WR4 6
D3 Q3
15 4
D1 Q1
17
WR5\ 15
A5 Y5
5
WR5 7
D4 Q4
14 5
D2 Q2
16
WR6\ 17
A6 Y6
3
WR6 8
D5 Q5
13 6
D3 Q3
15
WR7\ 1
A7 Y7 WR7 9
D6 Q6
12 7
D4 Q4
14
G0\ D7 Q7 D5 Q5
19 8 13
G1\ 1 D6 Q6
OC\ 11 9 12
RD2\ C D7 Q7
1
74244 74573 RD3\ OC\ 11
Vcc C

74573 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 lệch phải Điều chỉnh


Điều chỉnh lệch hướng
lệch phải
hướng trái Di chuyển
hết lệch theo hướng hết lệch
hiện tại
rẽ phải
rẽ trái
đã rẽ trái đã rẽ phải
Bánh phải
Bánh trái quay
quay lui, bánh
lui, bánh phải có lệnh trái quay tới
quay tới đi tiếp bắn bóng

hết bóng

Đẩy
Dừng bóng
bóng vào vị trí

Nâng
cánh tay
cánh tay
Hạ cánh về vị trí
tay cánh tay tới
vị trí trên

Rút
rỗ về vị trí bóng

Hạ rổ
đỡ 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?

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
Tham số
hex Chức năng
(Param)
(Func)
00 Không làm gì
01 mt, sp Đặt tốc độ sp cho motor mt
Điều khiển motor mt. act=0: tắt; act=1:quay tới; act=2:
02 mt, act
quay lui; act=3: dừng cưỡng bức.
03 idx, cntL, cntH Đặt bộ đếm lùi thứ idx giá trị cnt(16bit)
04 sp Đặt tốc độ quy chuẩn sp cho motor trái
05 sp Đặt tốc độ quy chuẩn sp cho motor phải
06 Robot đi tới
07 Robot đi lui
08 Robot dừng lại
09 leftsp, rightsp Đặt tốc độ trái leftsp, phải rightsp rồi chạy tới
0A leftsp, rightsp Đặt tốc độ trái leftsp, phải rightsp rồi chạy lui
0B cntL, cntH Dừng bộ thông dịch trong khoảng thời gian cnt(16bit)
0C Trở về từ một lời gọi hàm (RET)
0D AddrL, AddrH Gọi hàm có địa chỉ Addr (16bit)
0E AddrL, AddrH Nhảy tới địa chỉ Addr (16bit)
0F AddrL, AddrH Gọi hàm vi điều khiển tại địa chỉ Addr (16bit)
10 Reset bộ đếm vị trí
11 len Chạy tới một đoạn len
12 len Quay trái một đoạn len
13 len Quay phải một đoạn len
14 len Quay lui trái một đoạn len
15 len Quay lui phải một đoạn len
16 Bắn một quả bóng
17-1D Chưa dùng (N/A)
1E AddrL, AddrH Lặp lại tại địa chỉ Addr (16bit)
1F Chưa dùng

Trung tâm Tin học 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
3 1
Chú thích 5: Khung sàn robot
4
điều khiển bằng tay
1. Khung sàn robot.
2. Bánh sau, trục cố định.
3. Bánh trước quay tự do, quay
5
quanh trục đứng.
11
4. Trục cuốn trước.
8 5. Trục cuốn sau.
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
5 7
4

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 Hình 19: Minh họa hoạt động
lấy bóng vào đẩ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 R1 +14V

R2 0.1/5W
1K T2
C2383
C1
Z1
6V 104
15V6

U1 7805
1 IN OUT 3 +5V
GND
12V + 2 +
C2 C3 C4 C5
4700uF 104 1000uF 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

T1 T3
R1 R5
A C
220 220
OP1 OP3

R2 R6
1K 1K
M
+14V +14V
R3 R4 R7 R8
B 1K 1K D
220 OP2 OP4 220
T2 T4

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 1 Chân 9

Hình 22: Sơ đồ bố trí chân của Hình 23: Hình dạng của Gamepad.
đầu nối 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

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:

12MHz
IC1
C1 4
X1
2
RXD
3
P31 TXD
C2 P32
6
CLOCK

AT89C2051
5 7
X2 P33
8
CMD
P34
9 ATT
20 P35 ACK
Vcc 10
VCC
GND 11
P37 DATA
C3 +
1
RESET

12
10uF 13
P10
P11
P17
P16
19
18
14 17
P12 P15
15
R1 P13 P14
16

10K

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 Bit6 Bit7
04 idle data SLCT STRT UP RGHT DOWN LEFT
05 idle data L2 R2 L1 R1 /\ O 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
MCU Các bộ đệm
(vi điều Các module
ra công suất điều
Module khiển)
khiển động cơ
Gamepad

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

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:

12MHz
IC1 IC2
C1 2 19

Motor2 Motor1
19 39 D0 Q0
X1 P00 3 18
38 D1 Q1
P01 4 17
C2 18
P02
P03
37
36
5
D2
D3
Q2
Q3
16
X2 6
35 D4
40 P04 7 15
VCC 34 D5 Q4
31 P05
Vcc
8 14
EA 33 D6 Q5
20 P06 9 13

P89V51RD2
GND 32 D7 Q6
P07 12
11 Q7
C3 + 9
RESET
21
WR0 C
OC\
1

1 P20
10uF 2
P10
P21
22 74573
P11 23
P22
3
P12 P23
24 IC3
R1 4
P13 25
5 P24 A12 2 19

Motor4 Motor3
P14 26 D0 Q0
P25 A13
10K
6 3 18
P15 27 D1 Q1
7
P16
P26
28 A14 4
D2 Q2
17
8
P17
P27
A15 5
D3 Q3
16
6
D4
10 30 7 15
RXD 11
P30 ALE
8
D5 Q4
14
TXD 12
P31
PSEN
29
9
D6 Q5
13
P32 D7 Q6
13 17 12
P33 P37-RD RD\ 11 Q7
14
P34 16 WR1 C
OC\
1
15
P35
P36-WR
WR\
74573

IC4 IC5
1 15 2 18
A12 2
A Y0
14
WR0\ WR0\ 4
A0 Y0
16
WR0
A13 3
B Y1
13
WR1\ WR1\ 6
A1 Y1
14
WR1
A14 C Y2
12
WR2\ WR2\ 8
A2 Y2
12
WR2
Y3
11
WR3\ WR3\ 11
A3 Y3
9
WR3
6
Y4
10
WR4\ WR4\ 13
A4 Y4
7
WR4
A15 4
G1 Y5
9
WR5\ WR5\ 15
A5 Y5
5
WR5
WR\ 5
G2A Y6
7
WR6\ WR6\ 17
A6 Y6
3
WR6
G2B Y7 A7 Y7
1
G0\
19
G1\
74138
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
Di chuyển nhấn phím lùi
tới lui
Sẵn sàng
nhả phím
nhả phím (dừng)

nhấn phím rẽ phải


nhấn phím rẽ trái
nhả phím nhả phím
Bánh phải
Bánh trái quay
quay lui, bánh
lui, bánh phải nhấn
nhả trái quay tới
quay tới phím đẩy
phím
bóng ra

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 Bảng 21
RAM ACTION H&B
(Ðại học Sư phạm Kỹ thuật TPHCM) (Ðại học Sư phạm Kỹ thuật TPHCM)
DLC RIC
(Ðại học Công nghiệp TPHCM) (Ðại học Công nghiệp TPHCM)
HNT HATC3
(Đại học Nông Lâm TPHCM) (Đại học Nông Lâm TPHCM)
Đại học An Giang
(Đại học An Giang)

Độ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

1 TO-220

1.Base 2.Collector 3.Emitter


NPN Epitaxial Darlington Transistor
Absolute Maximum Ratings TC=25°C unless otherwise noted Equivalent Circuit
C
Symbol Parameter Value Units
VCBO Collector-Base Voltage : TIP120 60 V
: TIP121 80 V
B
: TIP122 100 V
VCEO Collector-Emitter Voltage : TIP120 60 V
: TIP121 80 V
: TIP122 100 V
VEBO Emitter-Base Voltage 5 V R1 R2

IC Collector Current (DC) 5 A R1 ≅ 8kΩ E


ICP Collector Current (Pulse) 8 A R 2 ≅ 0.12 k Ω
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

Electrical Characteristics TC=25°C unless otherwise noted


Symbol Parameter Test Condition Min. Max. Units
VCEO(sus) Collector-Emitter Sustaining Voltage
: TIP120 IC = 100mA, IB = 0 60 V
: TIP121 80 V
: TIP122 100 V
ICEO Collector Cut-off Current
: TIP120 VCE = 30V, IB = 0 0.5 mA
: TIP121 VCE = 40V, IB = 0 0.5 mA
: TIP122 VCE = 50V, IB = 0 0.5 mA
ICBO Collector Cut-off Current
: TIP120 VCB = 60V, IE = 0 0.2 mA
: TIP121 VCB = 80V, IE = 0 0.2 mA
: TIP122 VCB = 100V, IE = 0 0.2 mA
IEBO Emitter Cut-off Current VBE = 5V, IC = 0 2 mA
hFE * DC Current Gain VCE = 3V,IC = 0.5A 1000
VCE = 3V, IC = 3A 1000
VCE(sat) * Collector-Emitter Saturation Voltage IC = 3A, IB = 12mA 2.0 V
IC = 5A, IB = 20mA 4.0 V
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
* 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

1 TO-220

1.Base 2.Collector 3.Emitter


PNP Epitaxial Darlington Transistor
Absolute Maximum Ratings TC=25°C unless otherwise noted
Equivalent Circuit
Symbol Parameter Value Units C
VCBO Collector-Base Voltage : TIP125 - 60 V
: TIP126 - 80 V
: TIP127 - 100 V
B
Collector-Emitter Voltage : TIP125 - 60 V
VCEO : TIP126 - 80 V
: TIP127 - 100 V
VEBO Emitter-Base Voltage -5 V
R1 R2
IC Collector Current (DC) -5 A
ICP Collector Current (Pulse) -8 A R1 ≅ 8kΩ E
R 2 ≅ 0.12 k Ω
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

Electrical Characteristics TC=25°C unless otherwise noted


Symbol Parameter Test Condition Min. Max. Units
VCEO(sus) Collector-Emitter Sustaining Voltage
: TIP125 IC = -100mA, IB = 0 -60 V
: TIP126 -80 V
: TIP127 -120 V
ICEO Collector Cut-off Current
: TIP125 VCE = -30V, IB = 0 -2 mA
: TIP126 VCE = -40V, IB = 0 -2 mA
: TIP127 VCE = -50V, IB = 0 -2 mA
ICBO Collector Cut-off Current
: TIP125 VCB = -60V, IE = 0 -1 mA
: TIP126 VCB = -80V, IE = 0 -1 mA
: TIP127 VCB = -100V, IE = 0 -1 mA
IEBO Emitter Cut-off Current VBE = -5V, IC = 0 -2 mA
hFE * DC Current Gain VCE = -3V, IC = 0.5A 1000
VCE = -3V, IC = -3A 1000
VCE(sat) * Collector-Emitter Saturation Voltage IC = -3A, IB = -12mA -2 V
IC=-5A, IB=-20mA -4 V
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
* 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
Philips Semiconductors P89V51RD2
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; SOT376-1
body 10 × 10 × 1.0 mm
P89V51RD2BN DIP40 plastic dual in-line package; 40 leads SOT129-1
(600 mil)

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

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 2 of 77


Philips Semiconductors P89V51RD2
8-bit microcontrollers with 80C51 core

4. Block diagram

HIGH PERFORMANCE
80C51 CPU

64 kB
CODE FLASH UART
INTERNAL
BUS
1 kB
SPI
DATA RAM

TIMER 0
PORT 3
TIMER 1

PORT 2 TIMER 2

PCA
PORT 1
PROGRAMMABLE
COUNTER ARRAY

PORT 0
WATCHDOG TIMER

CRYSTAL
OR OSCILLATOR
RESONATOR

002aaa506

Fig 1. P89V51RD2 block diagram.

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 3 of 77


Philips Semiconductors P89V51RD2
8-bit microcontrollers with 80C51 core

5. Pinning information

5.1 Pinning

6 P1.4/SS/CEX1

5 P1.3/CEX0

3 P1.1/T2EX

43 P0.0/AD0

42 P0.1/AD1

41 P0.2/AD2

40 P0.3/AD3
4 P1.2/ECI

2 P1.0/T2

44 VCC
1 NC
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

NC 12 P89V51RD2FA 34 NC

TXD/P3.1 13 33 ALE/PROG

INT0/P3.2 14 32 PSEN

INT1/P3.3 15 31 P2.7/A15

T0/P3.4 16 30 P2.6/A14

T1/P3.5 17 29 P2.5/A13
WR/P3.6 18

RD/P3.7 19

XTAL2 20

XTAL1 21

VSS 22

NC 23

A8/P2.0 24

A9/P2.1 25

A10/P2.2 26

A11/P2.3 27

A12/P2.4 28

002aaa810

Fig 2. PLCC44 pin configuration.

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 4 of 77


Philips Semiconductors P89V51RD2
8-bit microcontrollers with 80C51 core

handbook, halfpage
T2/P1.0 1 40 VDD

T2EX/P1.1 2 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

P89V51RD2BN
RXD/P3.0 10 31 EA

TXD/P3.1 11 30 ALE/PROG

INT0/P3.2 12 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.

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 5 of 77


Philips Semiconductors P89V51RD2
8-bit microcontrollers with 80C51 core

44 P1.4/SS/CEX1

43 P1.3/CEX0

41 P1.1/T2EX

37 P0.0/AD0

36 P0.1/AD1

35 P0.2/AD2

34 P0.3/AD3
42 P1.2/ECI

40 P1.0/T2

38 VDD
39 NC
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 P89V51RD2FBC 28 NC

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
WR/P3.6 12

RD/P3.7 13

XTAL2 14

XTAL1 15

VSS 16

NC 17

A8/P2.0 18

A9/P2.1 19

A10/P2.2 20

A11/P2.3 21

A12/P2.4 22
002aaa812

Fig 4. TQFP44 pin configuration.

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 6 of 77


Philips Semiconductors P89V51RD2
8-bit microcontrollers with 80C51 core

5.2 Pin description


Table 3: P89V51RD2 pin description
Symbol Pin Type Description
DIP40 TQFP44 PLCC44
P0.0 to 39-32 37-30 43-36 I/O Port 0: Port 0 is an 8-bit open drain bi-directional I/O
P0.7 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.
P1.0 to 1-8 40-44, 1-3 2-9 I/O with Port 1: Port 1 is an 8-bit bi-directional I/O port with
P1.7 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.
P1.0 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

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 7 of 77


Philips Semiconductors P89V51RD2
8-bit microcontrollers with 80C51 core

Table 3: P89V51RD2 pin description…continued


Symbol Pin Type Description
DIP40 TQFP44 PLCC44
P2.0 to 21-28 18-25 24-31 I/O Port 2: Port 2 is an 8-bit bi-directional I/O port with
P2.7 with internal internal pull-ups. Port 2 pins are pulled HIGH by the
pull-up 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 10-17 5, 7-13 11, 13-19 I/O Port 3: Port 3 is an 8-bit bidirectional I/O port with
P3.7 with internal internal pull-ups. Port 3 pins are pulled HIGH by the
pull-up 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.

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

Product data Rev. 02 — 11 October 2004 8 of 77


Philips Semiconductors P89V51RD2
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/ 30 27 33 I/O Address Latch Enable: ALE is the output signal for
PROG 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, 1, 12, 23, I/O No Connect
39 34
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] 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.
[2] For 6-clock mode, ALE is emitted at 1⁄3 of crystal frequency.

9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.

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

You might also like