MỤC LỤC
MỤC TIÊU ĐỀ TÀI 2
Ý NGHĨA KHOA HỌC THỰC TIỄN 2
PHẠM VI NGHIÊN CỨU 3
LỜI NÓI ĐẦU 3
CHƯƠNG I: TỔNG QUAN VỀ ROBOT 4
I.1. CẤU TRÚC CƠ BẢN CỦA ROBOT TỰ ĐỘNG 4
I.2. ĐỘNG CƠ ĐIỆN TRONG ROBOT 5
I.2.1. Giới thiệu về động cơ điện một chiều 5
I.2.2. Phương pháp điều khiển tốc độ động cơ 6
CHƯƠNG II: THIẾT KẾ MẠCH ĐIỆN TỬ 7
II.1. GIỚI THIỆU VỀ BỘ VI ĐIỀU KHIỂN 8051 7
II.1.1. Tổng quan về bộ vi điều khiển 8051 7
II.1.2. Các chân điều khiển của 8051 9
II.2. TÌM HIỂU CHIP VI ĐIỀU KHIỂN P89V51RD2 12
II.2.1. Tổng quan và các tính năng của P89V51RD2 12
II.2.2. Sơ đồ khối của MCU P89V51RD2 13
Hình 2.4: Sơ đồ khối của MCU P89V51RD2 14
II.2.3. Các chân của vi điều khiển 14
II.2.4. Định nghĩa các thanh ghi chức năng 16
II.2.5. Chức năng PCA 17
II.2.6. Các chế độ hoạt động của Module PCA 19
II.3. THIẾT KẾ MẠCH ĐIỀU KHIỂN CHO ROBOT 21
II.3.1. Sơ đồ khối mạch điều khiển Robot 21
II.3.2. Các module điều khiển 22
II.3.2.1. Module vi điều khiển 22
II.3.2.2. Module cảm biến 23
II.3.2.3. Mạch nguồn vi điều khiển và cảm biến 24
II.3.3. Các bước thi công mạch 24
CHƯƠNG III: THUẬT TOÁN DÒ ĐƯỜNG 26
Thiết kế cơ khí trên bản vẽ và thi công thực tế.
Thiết kế mạch điện tử và lập trình cho robot.
Hoàn tất quá trình cơ khí và test thử robot.
Đề tài sẽ có nội dung chính hướng đến là tìm hiểu về mạch dò đường
cho robot và cách điều khiển cho robot tự động tìm đường đi dựa vào vạch
trắng.
LỜI NÓI ĐẦU
Trước tiên em xin chân thành cảm ơn toàn thể thầy cô cũng như các anh
(chị) chuyên viên trung tâm CEE, những người đã tạo điều kiện cho em có cơ
hội nghiên cứu và tìm hiểu sâu rộng về lĩnh vực robot, đặc biệt là thầy Lê Thế
Hải đã tận tình hướng dẫn và giúp đỡ em trong suốt quá trình thực hiện đề tài.
Có được sự giúp đỡ tận tình đó cùng với sự cố gắng của bản than nên em đã
hoàn thành được đề tài đúng thời hạn. Với sự hiểu biết và kiến thức còn hạn
chế, thời gian thực hiện đề tài không nhiều nên không tránh khỏi những sai sót.
Rất mong được quý thầy cô và các bạn hướng dẫn, góp ý để đề tài được hoàn
chỉnh hơn.
Em xin chân thành cảm ơn!
Sinh viên
Nguyễn Minh Quỳnh.
CHƯƠNG I: TỔNG QUAN VỀ ROBOT
I.1. CẤU TRÚC CƠ BẢN CỦA ROBOT TỰ ĐỘNG
Robot tự động được thiết có cấu trúc như sau:
Hình 1.1: Cấu trúc của Robot tự động
Trong đó:
o Khối hiển thị:là 4 led 7 đoạn hiển thị số mode chương trình .
o Khối cảm biến:bao gồm các cảm biến nhận tín hiệu vạch trắng.
o Khối điều chỉnh:là khối giao tiếp giữa người điều khiển và Robot.Đó
là các nút nhấn chọn chương trình và các vi trở điều chỉnh độ nhạy
của cảm biến.
- Động cơ kích từ nối tiếp: Cuộn dây kích từ mắc nối tiếp với cuộn
dây phần ứng:
Đối với loaj động cơ kích từ độc lập, người ta có thể thay thế cuộn dây
kích từ bởi nam châm vỉnh cữu, khi đó ta có loại động cơ điện 1 chiều dùng
nam châm vĩnh cữu. Đây là loại động cơ được sử dụng trong đồ án này.
I.2.2. Phương pháp điều khiển tốc độ động cơ
Đối với loại động cơ kích từ độc lập dùng nam châm vĩnh cữu, để thay
đổi tốc độ, ta thay đổi điện áp cung cấp cho roto. Việc cấp áp 1 chiều
thay đổi thường khó khăn, do vậy người ta dùng phương pháp điều xung
(PWM):
Hình 1.2: PWM
Phương pháp điều xung sẽ giữ tần số không đổi, thay đổi chu kì nhiệm
vụ (Duty cycle) để thay đổi điện áp trung bình đặt lên động cơ.
Điện áp trung bình:
in
on
dk
V
T
T
V =
Do đặc tính cảm kháng của động cơ, dòng qua động cơ là dòng liên tục,
gợn sóng như sau:
Hình 1.3: Dạng sóng dòng và áp trên động cơ.
CHƯƠNG II: THIẾT KẾ MẠCH ĐIỆN TỬ
II.1. GIỚI THIỆU VỀ BỘ VI ĐIỀU KHIỂN 8051
II.1.1. Tổng quan về bộ vi điều khiển 8051
8051 là họ vi điều khiển của Intel. Các nhà sản xuất IC khác như
Address/data: Địa chỉ/ dữ liệu.
Hình 2.2: Sơ đồ chân của 8051
II.1.2. Các chân điều khiển của 8051
+ Port 0:
Port 0 (các chân từ 32 đến 39 trên 8051) có hai công dụng. Trong các
thiết kế có tối thiểu thành phần, port 0 được sử dụng làm nhiệm vụ xuất/nhập.
Trong các thiết kế lớn hơn có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus
dữ liệu đa hợp [ byte thấp của bus địa chỉ nếu là địa chỉ]
+ Port 1:
Port 1 chỉ có một công dụng là xuất/nhập ( các chân từ 1 đến 8 trên
8051 ). Các chân của port 1 được ký hiệu là P1.0, P1.1, … P1.7 và được dùng
để giao tiếp với các thiết bị bên ngoài khi có yêu cầu. Không có chức năng nào
khác nửa gán cho các chân của port 1, nghỉa là chúng chỉ được sử dụng để
giao tiếp với các thiết bị ngoại vi.
+ Port 2:
Port 2 ( Các chân từ 21 đến 28 trên 8051) có hai công dụng hoặc làm
nhiệm vụ xuất/nhập hoặc làm byte địa chỉ cao của bus địa chỉ 16 bit cho các
thiết kế có bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn 256 byte
bộ nhớ dữ liệu ngoài.
+ Port 3:
Port 3 ( Các chân từ 10 đến 17 trên 8051) có hai công dụng khi không
hoạt động nhập/xuất các chân của port 3 có nhiều chức năng riêng. ( Xem bảng
dưới )
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp
P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp
P3.2 INT0 B2H Ngõ vào ngắt ngoài 0
P3.3 INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời/đếm0
( logic 0). Nếu chân này nối lên 5V, 8051 thực thi chương trình trong ROM
nội, nếu chương trình này nối với GND chương trình cần thực thi chứa ở bộ
nhớ ngoài.
+ Chân Reset (RST):
Ngõ vào RST ( chân 9) là ngõ vào xoá chính ( Master Reset) của 8051
dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là Reset hệ
thống. Khi ngõ vào này được treo ở logic 1 tối thiểu 2 chu kỳ máy, các thanh
ghi bên trong 8051 được nạp các giá trị thích hợp cho việc khởi động lại hệ
thống.
+ Các chân XTAL1, XTAL2:
Mạch giao động bên trong chip 8051 được ghép với thạch anh bên ngoài
ở hai chân XTAL1 và XTAL2 ( chân 18 và 19).
II.2. TÌM HIỂU CHIP VI ĐIỀU KHIỂN P89V51RD2
II.2.1. Tổng quan và các tính năng của P89V51RD2
Hình 2.3: P89V51RD2
+Khái quát:
• P89V51RD2 là vi điều khiển 80C51 có 64kB Flash và 1024bytes<1kB> bộ
nhớ dữ liệu RAM.
• Tính năng đặc biệt của P89V51RD2 là ở chế độ hoạt động mode x2. Người
thiết kế chọn chạy ứng dụng của mình ở chế độ này để nâng đôi tốc độ khi
hoạt động ở cùng tần số dao động<một chu kì máy=6 chu kì xung nhịp>
• Bộ nhớ chương trình Flash cho phép lập trình ISP hoặc/và song song. Chế
độ lập trình song song được đưa ra để thích ứng với tốc độ cao, giảm thời
gian và giá thành.
• IAP/ISP.
+ Các tính năng:
CPU 80C51.
Hoạt động ở 5VDC trong tầm tần số dao động đến 40MHz.
+ P1.6: o MISO: phục vụ SPI
o CEX3: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 3.
+ P1.7: o SCK: phục vụ SPI
o CEX4: ngõ vào xung nhịp cho chức năng Capture/Compare
modul 4.
+ PSEN: Cho phép dùng bộ nhớ chương trình ngoài. Khi MCU sử dụng bộ nhớ
chương trình trong chip, PSEN không tích cực. Khi sử dụng bộ nhớ chương
trình ngoài, PSEN thường ở mức tích cực 2 lần trong mỗi chu kì máy. Sự
chuyển mức cao sang thấp trên ↓PSEN cưỡng bức từ bên ngoài khi ngõ vào
RST đang ở mức cao trong hơn 10 chu kì máy sẽ đưa MCU vào chế độ lập
trình host từ bên ngoài.
+ RST: Khi nguồn dao động đang hoạt động, mức cao trên chân RST trong ít
nhất 2 chu kì máy sẽ Reset lại hệ thống. Nếu chân PSEN chuyển mức trong khi
RST vẫn còn ở mức cao, MCU sẽ vào chế độ lập trình host từ bên ngoài, nếu
không, sẽ hoạt động bình thường. ↓
+ EA: Cho phép sử dụng bộ nhớ chương trình ngoài.
1 o EA=’0’: Bộ nhớ ngoài.
2 o EA=’1’:Bộ nhớ trong chip.
+ ALE/PROG: Cho phép khóa địa chỉ<Như 8051 cổ điển> ngoài ra, chân này
còn được dùng để đưa vào chế độ lập trình FLASH.
II.2.4. Định nghĩa các thanh ghi chức năng
Do P89V51RD2 có thêm một số thanh ghi chức năng đặc biệt, nếu bạn
đang sử dụng các trình biên dịch thông thường, cần phải khai báo các thanh ghi
chức năng đó. Ví dụ:
;Đoạn code dưới đây để ví dụ cho định nghĩa các thanh ghi chức năng khi
dùng ;ASM.
;Khởi tạo 200601312020
CCAP0H DATA 0FAH
sẽ cho Counter PCA tiếp tục hoạt động bất chấp đang
trong trạng thái rỗi. CIDL=1 sẽ lập trình cho nó không
hoạt động trong trạng thái rỗi.
6 WDTE Cho phép Watchdog Timer trên modul 4.
5-
3
- Chưa được khai báo
2-
1
CPS1-
CPS0
Lựa chọn nguồn xung đếm cho PCA <Xem bảng
dưới>
0 ECF Cho phép ngắt khi tràn Counter PCA.
Bảng 1: Các bit định nghĩa cho thanh ghi CMOD
Ta sẽ lợi dụng chức năng PWM của PCA để điều xung, nhằm chỉnh mức áp
đặt vào động cơ, qua đó, thay đổi tốc độ của nó.
PCA là Timer 16bit đặc biệt, gồm 5 modul. Mỗi modul có thể lập trình để
vận hành 1 trong 4 chế độ: capture cạnh lên/xuống, timer, ngõ ra tốc độ cao,
hay PWM. Timer PCA có thể vận hành nhờ các nguồn xung nhịp: ½ OscFreq ;
1/6OscFreq; tốc độ tràn của timer 0; hay từ ngõ vào trên chân ECI (P1.2).
Nguồn xung nhịp của PCA được chọn nhờ các bit CPS1-CPS0 trên thanh ghi
đa dụng CMOD.
CPS1 CPS0 Chọn xung nhịp cho PCA
0 0 Fosc/6
0 1 Fosc/2
1 0 Tràn từ Timer 0
1 1 Xung nhịp ngoài (ECI) Tốc độ lớn nhất Fosc/4
Bảng 2: Quy định cách chọn xung nhịp cho PCA
kích cạnh lên CEX
x 0 1 0 0 0 x Capture 16 bit
kích cạnh xuống
CEX
x 1 1 0 0 0 x Capture 16 bit
kích cạnh CEX
1 0 0 1 0 0 x Timer 16 bit
1 0 0 1 1 0 x Ngõ ra tốc độ cao
16 bit
1 0 0 0 0 1 0 PWM 8 bit
1 0 0 1 x 0 x Đồng hồ
Watchdog.
Bảng 5: Các chế độ hoạt động modul PCA
a. Chế độ Capture của PCA:
Phải có ít nhất 1 bit trong CAPP hoặc CAPN được bật; sự chuyển mức CEX sẽ
thành ngõ vào Capture cho modul này.Khi có sự chuyển mức hợp lệ trên CEX,
phần cứng của modul PCA sẽ tự nạp các giá trị thanh ghi Timer/Counter của PCA
(CH và CL) vào các thanh ghi Capture modul PCA đó <CCAPnL, CCAPnH>.
b. Chức năng PWM của PCA:
Ở chức năng này, giá trị ở ngõ ra CEX phụ thuộc vào giá trị của 2 thanh
ghi: CCAPnL và CL, khi CL tăng lớn hơn CCAPnL thì CEX sẽ chuyển sang mức
1, ngược lại, sẽ ở mức 0, mỗi lần tràn cờ, CCAPnL sẽ nạp lại giá trị từ CCAPnH,
chính điều này cũng cho phép ta cập nhật duty cycle mới mà không gây ảnh hưởng
tới quá trình PWM.
Chức năng PWM này có độ phân giải 8 bit, tức là ta được 256 mức chia
<tương đối mịn với áp 24V thì mỗi mức sẽ được 24/256≈94mV>
II.3. THIẾT KẾ MẠCH ĐIỀU KHIỂN CHO ROBOT
II.3.1. Sơ đồ khối mạch điều khiển Robot
CB VẬT THỂ
ENCODER
ĐK
ĐỘNG
CƠ
(M2)
ĐK
ĐỘNG
CƠ
M3)
ĐK
ĐỘNG
CƠ
(M4)
ĐK
ĐỘNG
CƠ
(M5)
ĐK
ĐỘNG
CƠ
(M6)
M2
M3 M4 M5
M6
-Dòng xuất nhập của các chíp vi điều khiển tương đối nhỏ. Đối với một số
các ứng dụng sử dụng số lượng cổng I/O nhỏ thì ta có thể dùng trực tiếp các cổng
này. Trong mạch Robot các cổng I/O được tận dụng tối đa nên ta sẽ thiết kế thêm
R N 1
4 K 7
2
3
4
5
6
7
8
1
9
D K P W M 3
P 2 . 3
D K P W M 6
C 6
3 3 P
C A M B I E N 5
T X D
P 2 . 2
5 V
C A M B I E N 1
S W 1
R E S E T
D K R O L E 5
P 2 . 4
D K R O L E 1
C A M B I E N 7
3 9
3 8
3 7
3 6
3 5
3 4
3 3
3 2
1
2
3
4
5
6
7
8
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
1 0
1 1
1 2
1 3
1 4
1 5
P 2 . 6 / A 1 4
P 2 . 7 / A 1 5
P 3 . 0 / R X D
P 3 . 1 / T X D
P 3 . 2 / I N T 0
P 3 . 3 / I N T 1
P 3 . 4 / T 0
P 3 . 5 / T 1
P 3 . 6 / W R
P 3 . 7 / R D
D K P W M 2
5 V
C A M B I E N 4D K R O L E 4
D K P W M 5
D K R O L E 3
D K P W M 4
J 3
E N C O D E R
1
2
3
4
D K P W M 1
R 1 4
1 0 K
D K R O L E 6
5 V
5 V
J 2
N A P P H I L L I P
1 0 k
R 1 5 1 0 0 K
các mạch đệm xuất nhập trước mỗi cổng điều khiển, các chíp đệm có thể sử dụng
cung cấp dòng lớn hơn cho tải, chống nhiễu tốt như: 74LS04, 74LS244,
74LS541…
Hình 2.9: Sơ đồ mạch vi điều khiển
II.3.2.2. Module cảm biến
- Cảm biến quang dò đường là thành phần quan trọng không thể thiếu trong
điều khiển lộ trình chạy của Robot một cách chính xác và đẹp mắt.Trong đề tài
cuộc thi Robot 2008, màu sắc mặt sân nhiều hơn vì vậy cảm biến do đường phải
được lựa chọn sao cho có mức phân biệt tốt, nhưng không quá phức tạp.Sơ đồ
mạch được lựa chọn là kiều thông dụng do đơn giản nhưng để nâng cao khả năng
nhận dạng vạch trắng và phù hợp với việc dùng chung nguồn vi điều khiển +12V,
ta sẽ nâng cao điện áp cung cấp cho cảm biến, tăng số led phát ánh sáng trắng.
D 2
L E D
J 6
1 2 V D C
1
2
+
C 2
0 . 3 3 U F
R 1
3 3 W
+
C 1
1 0 0 0 U F
R 2
ledcc
led
Chọn R
led
= 330
Ω
II.3.2.3. Mạch nguồn vi điều khiển và cảm biến
Hình 2.11: Sơ đồ mạch mạch nguồn
II.3.3. Các bước thi công mạch
II.3.3.1 Vẽ bằng phần mềm Orcad Layout
II.3.3.2. Làm mạch in
Cần có:
- Panel: tấm đồng to như tờ A4 mua 15K chợ trời.
- Dung dịch ăn mòn: FeCL3 mua ở hàng mành, hoặc HCL, H2O2.
- Giấy in: Giấy đề can hoặc giấy hồng hà, phim bất cứ loại giấy gì có bề mặt
bóng.
- Phụ kiện: Kìm, khoan (các mui thường dùng 0.6mm 0.8mm 1mm 3mm), giấy
ráp hoặc rẻ rửa bát hoặc cọ xoong
Bước 1: “Chuẩn bị bản in”
Sau khi thiết kế bạn chuẩn bị in, nếu nhà có máy in thì tốt, không có thì
phiền đấy ! Nếu cài Adobe Acrobat, MS Office 2003 hay FinePrint thì có một
tiện ích máy in ảo, ta sẽ in ra máy in ảo này rồi đem ra ngoài in vì tập tin được
các máy in tạo ra là pdf hoặc file ảnh.
Đối với Protel thì cần chỉnh vài chỗ trước khi in, protel tự động căn
cả bản in ra cả tờ A4, khắc phục như sau: vào file - print preview - nhấp phải
chuột chọn page setup (hình như thế) bạn sẽ thấy một ô Scale, bạn chỉnh thành 1.
Trong protel đường mạch in phần bottom layer nó để màu ghi trong bản in
vì vậy khi in ra nó sẽ có hiện tượng "chấm chấm". Chỉnh như sau: file - print
preview - Configuration. Bạn sẽ thấy một ô chọn màu sắc, tìm đến bottom layer