Professional Documents
Culture Documents
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)
Trang 1
TRƯỜNG ĐẠI HỌC AN GIANG
TRUNG TÂM TIN HỌC
------ ------
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)
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:
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”.
Đề 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.
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
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).
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
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
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.
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
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.
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.
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.
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.
Dây kéo
Ròng rọc cố
định
Motor kéo dây
Đầ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.
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
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.
+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
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ơ
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
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.
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.
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:
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
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
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.
Sẵn sàng
ở vị trí
khởi động bắt đầu, đi theo
chương trình
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.
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:
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.
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:
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
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
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).
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
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.
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
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
+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
- 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.
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
ACK
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
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 |_|
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
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
Quay
trục cuốn
vào
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.
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.
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…
PHỤ LỤC 1
DATASHEET CỦA MỘT SỐ LINH KIỆN CHỦ YẾU
1 TO-220
1 TO-220
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.
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)
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
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
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
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
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
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
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
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
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
9397 750 14099 © Koninklijke Philips Electronics N.V. 2004. All rights reserved.
[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.
PHỤ LỤC 2
SƠ ĐỒ MẠCH THIẾT KẾ
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ê.