Tải bản đầy đủ (.pdf) (48 trang)

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG ROBOT TỰ HÀNH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.77 MB, 48 trang )


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

Long Xuyên, tháng 12 năm 2005

Trang
2
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
Robocon 2005
Trung tâm Tin học Trang 3
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.
Robocon 2005
Trung tâm Tin học Trang 4
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 ở:
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:
trong phân phục “Nghiên cứu khoa học”.
Robocon 2005
Trung tâm Tin học Trang 5
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.

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

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

Robocon 2005

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























Robocon 2005
Trung tâm Tin học Trang 9
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.












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.











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
Chú thích 1: Khung sàn robot tự động
1. Khung sườn robot bằng sắt V-lổ.
2. Bánh trước (
φ=12mm).
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.
Hình 1: Cấu tạo khung sàn robot.
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.
Khớp cứng
Khớp động

Ròng rọc
Khớp động
Dây không giãn,
độ dài cố định
Motor xoắn
1
3
2
4
5
Nhìn mặt bên
Nhìn từ trên
xuống
Robocon 2005
Trung tâm Tin học Trang 10
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).















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.









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.
Chú thích 2: Cơ cấu cánh tay
1. Motor xoắn.
2. Dây kéo không giãn.
3. Hướng lực kéo.

4. Hệ ròng rọc động.
5. Đoạn giữa của cánh tay.
6. Khớp động.
7. Dây không giãn, độ dài cố định.
8. Điểm trượt (ròng rọc cố định).
9. Điểm nối dây (7) vào cánh trên (10).
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.
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ổ
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,
giữ cho rổ đỡ bóng không bị xoay.
5. Dây kéo ổ trượt.
6. Motor kéo ổ trượt.
Hình 5: Chi tiết cơ cấu rút bóng
(nhìn từ trên xuống).
1
2
3
4
5
6
1

2
3
4
5
6
8
7
9
10
11
Robocon 2005
Trung tâm Tin học Trang 11
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.









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.













Chú thích 4: Cột chứa bóng
1. Thân cột chứa bóng.
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.
Hình 6: Cột chứa bóng và
cơ cấu đẩy bóng.
Hình 7:
Cơ cấu đẩy bóng và cơ chế hoạt động của nó.
1
2

3
Ròng rọc cố định
Ròng rọc cố
định
Dây kéo
Khớp xoay
Thanh đỡ (2 ống lồng nhau)
Motor kéo dây
Trục đứng
cố định
Công tắc chạm K2
Robocon 2005
Trung tâm Tin học Trang 12
Đầ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:
















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:
Hình 8: Bộ nguồn ổn áp có bảo vệ quá tải.
T1
R1
T2
Z1
C1
C3 C2 C5 C4
+5V
U1 7805

IN OUT
GND
13
2
R2
+14V
6V
12V
+ +
C2383
TIP122
15V6
104
1K
0.1/5W
4700uF 104 1000uF 104
Robocon 2005
Trung tâm Tin học Trang 13



















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:


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
x x 1 1
Trạng thái cấm
(x: logic 0 hoặc 1)



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)
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ơ
+14V
R1
A
220
R2
1K
R4
1K
+14V
OP1
R3
B
220
R5
C
220
R6
1K
R7
1K
+14V
OP3
R8
D
220
OP2

OP4
M
T1
T3
T2
T4
Robocon 2005
Trung tâm Tin học Trang 14
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.


















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):

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
Hình 10: Minh họa cách thức robot kiểm tra hướng đi.
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
Hướng tới
Î Lệch phải
Robot Cảm biến
Vạch trắng
Î Lệch trái
Î Chạy thẳng
Robocon 2005
Trung tâm Tin học Trang 15

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.








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.












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:

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.
Hình 12:
Sơ đồ khối bo mạch chủ và mối liên hệ với các
module khác.
Cảm biến phía sau
MCU
(vi điều
khiển)
Các bộ đệm
vào
Các bộ đệm
ra
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
Nguồn cung
cấp
Các module
công suất điều
khiển động cơ

Robocon 2005
Trung tâm Tin học Trang 16





























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.

Hình 13: Sơ đồ nguyên lý bo mạch chủ.
Y0
15
Y1
14
Y2
13
Y3
12
Y4
11
Y5
10
Y6
9
Y7
7
1
A

2
B
3
C
G1
4
G2A
5
G2B
RD0\
IC10
74138
6
RD1\
RD2\
RD3\
RD4\
RD5\
RD6\
RD7\
RD\
A15
A14
A13
A12
Y0
15
Y1
14
Y2

13
Y3
12
Y4
11
Y5
10
Y6
9
Y7
7
1
A
2
B
3
C
G1
4
G2A
5
G2B
WR0\
IC11
74138
6
WR1\
WR2\
WR3\
WR4\

WR5\
WR6\
WR7\
WR\
A15
A14
A13
A12
P00
39
P01
38
P02
37
P03
36
P04
35
P05
34
P06
33
P07
32
P20
21
P21
22
P22
23

P23
24
P24
25
P25
26
P26
27
P27
28
ALE
30
PSEN
29
P37-RD
17
P36-WR
16
1
P10
2
P11
3
P12
4
P13
5
P14
6
P15

7
P16
8
P17
P30
11
P31
12
P32
13
P33
14
P34
15
P35
9
RESET
20
GND
31
EA
40
VCC
18
X2
19
X1
10
P89V51RD2
Vcc

RD
\
WR
\
A14
A13
A12
A15
C3
+
10uF
R1
10K
C1
C2
IC1
12MHz
Q0
19
Q1
18
Q2
17
Q3
16
Q4
15
Q5
14
Q6

13
Q7
12
Motor1 Motor2
2
D0
3
D1
4
D2
5
D3
6
D4
7
D5
8
D6
9
D7
11
C
WR0
IC2
74573
OC\
1
Q0
19
Q1

18
Q2
17
Q3
16
Q4
15
Q5
14
Q6
13
Q7
12
Motor3 Motor4
2
D0
3
D1
4
D2
5
D3
6
D4
7
D5
8
D6
9
D7

11
C
WR1
IC3
74573
OC\
1
Q0
19
Q1
18
Q2
17
Q3
16
Q4
15
Q5
14
Q6
13
Q7
12
Motor5 Motor6
2
D0
3
D1
4
D2

5
D3
6
D4
7
D5
8
D6
9
D7
11
C
WR2
IC4
74573
OC\
1
Q0
19
Q1
18
Q2
17
Q3
16
Q4
15
Q5
14
Q6

13
Q7
12
Motor7 Motor8
2
D0
3
D1
4
D2
5
D3
6
D4
7
D5
8
D6
9
D7
11
C
WR3
IC5
74573
OC\
12
Q0
19
Q1

18
Q2
17
Q3
16
Q4
15
Q5
14
Q6
13
Q7
12
In
p
ut
[
0 7
]

2
D0
3
D1
4
D2
5
D3
6
D4

7
D5
8
D6
9
D7
1
OC\
RD0
\
IC6
74573
C
11
Vcc
Q0
19
Q1
18
Q2
17
Q3
16
Q4
15
Q5
14
Q6
13
Q7

12
Input[8 15]
2
D0
3
D1
4
D2
5
D3
6
D4
7
D5
8
D6
9
D7
1
OC\
RD1
\
IC7
74573
C
11
Vcc
Q0
19
Q1

18
Q2
17
Q3
16
Q4
15
Q5
14
Q6
13
Q7
12
In
p
ut
[
16 23
]

2
D0
3
D1
4
D2
5
D3
6
D4

7
D5
8
D6
9
D7
1
OC\
RD2
\
IC8
74573
C
11
Vcc
Q0
19
Q1
18
Q2
17
Q3
16
Q4
15
Q5
14
Q6
13
Q7

12
In
p
ut
[
24 31
]

2
D0
3
D1
4
D2
5
D3
6
D4
7
D5
8
D6
9
D7
1
OC\
RD3
\
IC9
74573

C
11
Vcc
Y0
18
Y1
16
Y2
14
Y3
12
Y4
9
Y5
7
Y6
5
Y7
3
2
A0
4
A1
6
A2
A5
15
A6
17
A7

WR0
IC12
74244
13
WR1
WR2
WR3
WR4
WR5
WR6
WR7
A4
11
A3
8
1
G0\
19
G1\
WR0\
WR1\
WR2\
WR3\
WR4\
WR5\
WR6\
WR7\
Robocon 2005
Trung tâm Tin học Trang 17
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:

































Hình 14: Lưu đồ máy trạng thái điều khiển robot tự động.
Sẵn sàng
ở vị trí
khởi động
Di chuyển
theo hướng
hiện tại
Điều chỉnh
lệch
hướng trái
Điều chỉnh
lệch hướng
phả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
Đẩy
bóng
Dừng
Nâng

cánh tay
Rút
bóng
Hạ rổ
đỡ
Hạ cánh
ta
y

bắt đầu, đi theo
chương trình
lệch phải lệch trái
rẽ phải
rẽ trái
hết lệch
hết lệch
đã rẽ phải
đã rẽ trái
có lệnh
bắn bóng
hết bóng
bóng vào vị trí
cánh tay tới
vị trí trên
bóng văng ra ngoài
rỗ về vị trí
cánh tay
về vị trí
đi tiếp
Robocon 2005

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







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 tc
1
ứng
với việc động cơ quay nhanh hơn chu kỳ làm việc tc
2
)
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:





















Hình 15: Minh họa phương pháp điều biến độ rộng xung.
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.
Tp Tp
tc
2
tc
1

- Khởi động bộ đếm
lùi với giá trị Tp.
- Mở động cơ.
Bộ đếm = 0?
Bộ đếm = tc?
Tắt động cơ
Động cơ vào chế
độ hoạt động.

Y
N
N
Y
Robocon 2005
Trung tâm Tin học Trang 19
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ó:

Mã lệnh
hex
(Func)
Tham số
(Param)
Chức năng
00 Không làm gì
01 mt, sp Đặt tốc độ sp cho motor mt
02 mt, act
Đ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.

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

Bảng 3: Bảng mô tả các chỉ thị của bộ thông dịch
Robocon 2005
Trung tâm Tin học Trang 20
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: trong phân mục “Nghiên cứu khoa
học”.


Robocon 2005
Trung tâm Tin học Trang 21
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).

























Robocon 2005
Trung tâm Tin học Trang 22
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.


























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.

Chú thích 5: Khung sàn robot
đ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
quanh trục đứng.
4. Trục cuốn trước.
5. Trục cuốn sau.

6. Buli trục cuốn.
7. Motor kéo trục cuốn.
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.
11. Dốc định hướng bóng.
Hình 17: Cấu tạo khung sàn và cơ cấu lấy bóng của robot
bằng tay.
1
2
3
4
5
6
7
2
8
9
10
11
8
7
5
4
Nhìn mặt bên
10
Robocon 2005
Trung tâm Tin học Trang 23
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.









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:














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
Hình 20:
Bộ nguồn cung cấp cho robot điều khiển bằng tay
Bóng
Trục cuốn
T1
R1
T2
Z1
C1
C3 C2 C5 C4
+5V
U1 7805
IN OUT
GND
13
2
R2
+14V
6V
12V
+ +
C2383

TIP122
15V6
104
1K
0.1/5W
4700uF 104 1000uF 104
Robocon 2005
Trung tâm Tin học Trang 24
- 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:




















- 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.


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)
+14V
R1
A
220
R2
1K
R4
1K
+14V
OP1
R3

B
220
R5
C
220
R6
1K
R7
1K
+14V
OP3
R8
D
220
OP2
OP4
M
T1
T3
T2
T4
Robocon 2005
Trung tâm Tin học Trang 25
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ức năng các chân giao tiếp cho trong bảng sau:

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:












Hình 22: Sơ đồ bố trí chân của
đầu nối Gamepad.
Hình 23:
Hình dạng của Gamepad.
Bảng 4:
Bảng mô tả chức năng các chân của Gamepad
Hình 24:
Giản đồ xung truyền 1 byte dữ liệu giữa
module giao tiếp và Gamepad.
Chân 1
Chân 9
bit 0 1 2 3 4 5 6 7
CLOCK
DATA
COMMAND
ACK
bit 0 bit 7
bit 0 bit 7

×