Tài liệu Đề tài Thiết kế robot di động: LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
1
Từ thế kỷ 20 nhân loại đã chứng kiến cuộc cách mạng khoa học kỹ
thuật phát triển mạnh mẽ trên toàn thế giới. Đặt trưng của cuộc cách
mạng này là kỹ thuật máy tính, công nghệ thông tin và tự động hóa.
Trong đó công nghệ tự động hóa đóng một vai trò quan trọng trong
mọi lĩnh vực ứng dụng và phát triển. Việc ứng dụng công nghệ tự
động hóa mang lại những lợi ích to lớn về nhiều mặt như : cải thiện
sức lao động của con người, nâng cao chất lượng sản phẩm, tiết kiệm
nguyên vật liệu, nâng cao hiệu quả và năng suất sản xuất, đóng vai trò
tích cực trong việc gìn giữ và bảo vệ môi trường.
Một trong những ứng dụng tự động hóa là công nghệ chế tạo
robot.Robot phát triển mạnh vào những thập niên 80. với hàng loạt
các loại robot được ra đời với những tính năng đặc biệt.Ngày nay
robot đóng 1 vai trò hết sức quan trọng trong sản xuất thay thế cho sức
lao động của con ngươi, thay thế con người làm những công việc có
tính chấ...
125 trang |
Chia sẻ: hunglv | Lượt xem: 1274 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Thiết kế robot di động, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
1
Từ thế kỷ 20 nhân loại đã chứng kiến cuộc cách mạng khoa học kỹ
thuật phát triển mạnh mẽ trên tồn thế giới. Đặt trưng của cuộc cách
mạng này là kỹ thuật máy tính, cơng nghệ thơng tin và tự động hĩa.
Trong đĩ cơng nghệ tự động hĩa đĩng một vai trị quan trọng trong
mọi lĩnh vực ứng dụng và phát triển. Việc ứng dụng cơng nghệ tự
động hĩa mang lại những lợi ích to lớn về nhiều mặt như : cải thiện
sức lao động của con người, nâng cao chất lượng sản phẩm, tiết kiệm
nguyên vật liệu, nâng cao hiệu quả và năng suất sản xuất, đĩng vai trị
tích cực trong việc gìn giữ và bảo vệ mơi trường.
Một trong những ứng dụng tự động hĩa là cơng nghệ chế tạo
robot.Robot phát triển mạnh vào những thập niên 80. với hàng loạt
các loại robot được ra đời với những tính năng đặc biệt.Ngày nay
robot đĩng 1 vai trị hết sức quan trọng trong sản xuất thay thế cho sức
lao động của con ngươi, thay thế con người làm những cơng việc cĩ
tính chất nguy hiểm như các robot thám hiểm vũ trụ,các hành tinh
mới,những cơng việc trong hầm mỏ,và các mơi trường độc hại…
Trong cơng nghiệp hiện nay việc sử dụng robot để vận chuyển hàng
hĩa từ nơi này tới nơi khác bằng việc thiết lập những đường vạch
trong nhà máy hoặc con người cĩ thể gồi tại chỗ điều khiển cho robot
làm việv theo đúng yêu cầu của mình.
Để đáp ứng nhu cầu thực tế như trên nên em đả nhận đề tài luận văn
tốt nghiệp là: THIẾT KẾ ROBOT DI ĐỘNG robot cĩ thể đi theo một
ma trận và cĩ thể điều khiển từ xa.Robot cĩ thể chánh những trướng
ngại vật khi đụng phải trên đường đi.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
2
PHẦN I:
GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI .CÁC BỘ CẢM
BIẾN.ĐỘNG CƠ DC.VÀ HỌ VI XỬ LÝ AT89C51
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
3
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI:
I.Mục đích chế tạo robot :
ROBOT được nghiên cứu và sản xuất chế tạo theo từng ứng dụng khác nhau mà
hình dáng kích thước của robot vì thế mà khác nhau..
Thơng thừơng Robot được chế tạo để thay thế sức lao động của con người . Từ
những cơng việc nhỏ như dọn dẹp nhà cửa trơng coi nhà cho tới những cơng việc
nghiên cứu thám hiểm vũ trụ……vv
Đặc biệt trong sản xuất cơng nghiệp hiện nay việc chế tạo robot dần thay thế
sức lao động của con người. Đặc biệt là trong nhưng cơng việc làm trong mơi
trường ơ nhiểm hay độc hại thì việc ứng dụng robot vào là một nhu cầu cần thiết.
Nhất là trong những cơng việc mang tính lặp đi lặp lại cơng việc cụ thể thì robot
cĩ thể làm việc rất là chính xác.
Phân loại robot theo tính năng
Một cách sơ lược, cơng nghệ robot được phân làm 3 nhánh chính theo tính năng robot:
- Robot di động (mobile robot): là các robot mà trong đĩ nhiệm vụ chủ yếu của nĩ là di
chuyển, định vị ,tìm đường đi tối ưu, và vẽ lại bản vẽ.
- Tay máy (manipulator): là các robot hoạt động như những cánh tay con người. Động
từ manipulate trong tiếng Anh nghĩa là điều khiển cánh tay, I manipulate my arm! Do
đĩ, một con robot hoạt động như một cánh tay con người để cầm nắm, sắp xếp, di
chuyển, tương tác với đồ vật được gọi là một tay máy (manipulator)
- Haptics (tay điều khiển từ xa): Khái niệm này dường như rất khĩ dịch trong tiếng
Việt, đĩ là khi con ngừơi tương tác với các vật thơng qua một hệ thống trung gian. Một
đầu bên kia là một robot, hoặc một thiết bị nào đĩ, đầu cịn lại, con người cầm nắm và
điều khiển. Thì ci thiết bị mà con người cầm nắm trực tiếp đĩ, được gọi là haptic
devices. Trong một hệ thống như vậy, luơn luơn cĩ hai thành phần, thành phần master
= haptics, thành phần slave = robot. Mục tiêu của hệ thống là làm sao để haptics di
chuyển một đoạn P thì slave di chuyển một đoạn alpha*P, và khi slave nhận một lực F
thì haptics cũng tạo ra một lực beta*F trn tay người điều khiển, hoặc ngược lại. Haptics
được kể ở đây là một cách quan niệm haptics cũng là robot. Nhưng đối với em, haptics
khơng phải là robot (theo quan niệm của em), khi nào đi đến vấn đề này, em sẽ nĩi
thêm.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
4
Rất khĩ để cĩ thể hiểu được về robot một cách đầy đủ và tồn vẹn, bởi vì sự 1phat triển
00a cơng nghệ robot là một sự phat triển mạnh mẽ và lin tục. Theo thời gian, khi niệm
và định nghĩa cũng dần thay đổi, phụ thuộc vào trình độ phát triển khoa học kỹ thuật
Tuy vậy! khái niệm robot cĩ thể được hiểu một cách nơm na là sự tự động hố, cũng
giống như khi người ta biết đến từ ngữ robot vậy.
Trong cơng nghệ robot, cĩ thể phân chia cơng nghệ robot thành hai lĩnh vực chính. Một
là các robot tay máy, các robot này được đặt cố định và thực hiện một số nhiệm vụ nào
đĩ. Ứng dụng của các robot này cĩ thể được thấy rõ nhất là cánh tay máy trong cơng
nghiệp. Hai là các robot di động, nĩ là sự phát triển của robot tay máy khi nĩ cĩ thể tự
di chuyển đến các vị trí khác nhau và thực hiện các tác vụ khác nhau.
Người ta vẫn cĩ thể phân chia robot thành nhiều nhĩm khác nhau, dựa vào “trí thơng
minh” của nĩ. Một số robot khơng thể tự lập trình lại được, chỉ cĩ thể thực hiện các tác
vụ nhất định, một số khác cĩ khả năng tái lập trình dưới sự giúp đỡ của con người.
Chúng được xếp vào loại robot thơng dụng. Những ứng dụng của chúng rất phong phú,
nhưng đây khơng phải là hướng mà con người muốn hướng tới. Con người mong muốn
robot phải thơng minh hơn, giống con người hơn, bởi vì con người là lồi duy nhất trên
trái đất này cĩ ý thức. Chính vì vậy, khơng chỉ cĩ khả năng tái lập trình, mà robot ngày
nay cũng được trang bị những khả năng tự ra quyết định, hay cao hơn nữa là khả năng
tự học hỏi và tự điều khiển. Hoặc thậm chí, con người cũngn muốn robot cĩ thể biểu lộ
được cảm xúc như con người, một vấn đề mà ngay cả con người vẫn chưa hiểu rõ bản
thân mình.
Cũng cĩ cách phân chia khác dựa vào các ứng dụng của nĩ, ví dụ như robot cơng
nghiệp, robot phục vụ trong gia đình, robot thương mại…đây là cách phân chia dễ hiểu
nhất đối với mọi người. Và tất nhiên, cũng cĩ rất nhiều cách phân chia cơng nghệ robot
để cĩ thể nghiên cứu, và thiết kế mà khơng thể kể hết ra đây.
Mặc dù vậy, để phục vụ việc nghiên cứu và phát triển cơng nghệ robot, người ta thường
dùng hai cách phân chia đầu tiên.Như em đã trình bày ở trên…
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
5
II.Sơ đồ tổng quát điều khiển robot
1. NgườI điều khiển Robot. từ remote của bộ điều khiển từ xa. khi nhận
được tín hiệu điều khiển từ xa thì robot sẽ phụ thuộc hồn tồn tín hiệu từ bộ
điều khiển từ xa.
Bộ điều khiển từ xa là bộ phát tín hiệu radio 4 lệnh.
Trong chương trình lập trình cho robot em quy định:
Phím D quy định cho Robot chạy lùi
Phím C quy định cho Robot quay trái
Phím B quy định cho Robot quay phaỉ
Phím A quy dịnh cho robot chạy thẳng
Ngồi việc điều khiển từ xa cho robot ngườI điều khiển robot cần thiết lập các
lộ trình cho robot chạy bằng việc nhập các mã phím từ bộ nhập là phím số Hex.
Việc nhập phím để chọn lộ trình cho robot. ứng vơi 1 phím nhấn từ bàn phím sẽ
cĩ một lộ trình.
NGƯỜI
ĐIỀU KHIỂN
BỘ ĐIỀU
KHIỂN TỪ
XA
ROBOT
DI ĐỘNG
KHỐI CẢM
BIẾN
VẬT CẢN
KHỐI CẢM
BIẾN
DỊ VẠCH
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
6
Cấu tạo của bàn phím số HEX và cách giao tiếp VỚI VI XỬ LÝ qua port1:
2.KHỐI CẢM BIẾN DỊ VẠCH:
cảm biến sử dụng cho robot là PHOTOTRANSISTOR
Khối bao gồm 2 board mạch , MẠCH DỊ VẠCH và MẠCH LÁI
hai mạch này giống nhau về sơ đồ nguyên lý, nhưng nhiệm vụ khác nhau về
chức năng.
Mạch dị vạch sẽ điều khiển cho robot chạy theo đúng vạch.
Mạch lái giúp robot quay trái và quay phảI
Khối giao tiếp với vi xử lý qua P0.
MẠCH DỊ VẠCH. giao tiêp qua P0 từ P0.0 ->P0.4
MẠCH LÁI . giao tiêp qua P0 từ P0.5 ->P0.7
Sơ đồ nguyên lý của khối em sẽ trình bày ở phần phụ lục cuối sách.
3. khối cảm biến vật cản:
Nhờ khối này mà robot cĩ thể phát hiện cĩ vật cản phía trước khi robot đụng
phải. Khối này gồm 2 cơng tắc hành trình được bố trí phía trước của thân robot
Khối vật cản giao tiếp với vi xử lý qua chân P3.5
0 V
P3.5
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
7
4.KHỐI ĐIỀU KHIỂN TỪ XA
4.1.Bộ thu:
là khối tích hợp sẵn sử dụng IC PT2272 .
IC PT2272 được sản xuất theo cơng nghệ CMOS.Tiêu thụ nguồn thấp.sự chống
nhiễu tốt.với 12 chân mã hố địa chỉ.cho phép mã hố tới 2^13 địa chỉ.bằng cách
đĩ nĩ giảm đi một vài điểm mã hố bị xung đột. 6 chân dữ liệu. Nhưng dữ liệu
đầu ra chỉ được chốt tạm thời.Với khoảng điện áp cung cấp rộng từ 4VDC ->
15VDC. Tạo tín hiệu giao động bằng điện trở. Bằng cách mắc 1 điện trở R=1M
vào 2 chân 15 và 16.Loại IC này rất phổ biến trong các ứng dụng điều khiển các
thiết bị từ xa.khối mạch nhận tín hiệu từ khối phát và giải mã đễ đưa ra các chân
ngõ ra của ICpt2272. và từ ngõ ra này của IC này đưa vào khối xử lý để điều
khiển robot.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
8
Sơ đồ mạch thu của bộ thu sử dụng IC 2272
Các họ IC thu sĩng vơ tuyến 18 pin:
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
9
4.2.Bộ phát:
là khối tích hợp sẵn sử dụng IC PT2262.khối truyền dữ liệu đi trên sĩng mang
.tới khối thu. IC này được ứng dụng rất rộng trong các thiết kế remote.một trong
những ứng dụng đĩ là bộ phát RF với IC PT2272.
Các đặ tính của IC PT2262.Tiêu tốn ít nguồn ,tính ổn định cao,chống nhiễu cao.
tầm áp cấp rộng từ 4VDC->15VDC.
Tín hiệu giao động bằng điện trở.bằng cách mắc 1 điện trở R=4.7M vào chân số
15 và 16 của IC. Chân số 17 của IC là chân truyền tín hiệu của IC.IC mã hố dữ
liệu và địa chỉ từ các chân địa chỉ và dữ liệu.và nĩ sẽ truyền một chuỗi dữ liệu
này lên sĩng mang RF.IC PT2262 cho phép mã hố 12 bit địa chỉ.do đĩ cĩ thể
cĩ 2^13 địa chỉ được mã hĩa.
Mạch nguyên lý remode truyền dữ liệu 4 lệnh
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
10
PT2262 cĩ thể mở rộng để cĩ thể tăng thêm kênh truyền:
DướI đây là sơ đồ nguyên lý của mạch truyền DATA 6 lệnh.
sơ đồ nguyên lý của mạch truyền DATA 6 lệnh
5.Khối Robot:
Robot thực hiện các cơng việc theo nhu cầu của đề tài:
+ Điều khiển từ xa bằng sĩng vơ tuyến
+ Chạy tự động bám vạch
+ Phát hiện vật cản.
THÂN ROBOT:
Vật liệu được em chọn làm thân robot là nhơm, kích thước thân robot 20x30x20,
thân robot được thiết kế phù hợp để bố trí các thiết bị như các bộ cảm biến
quang, nguồn nuơi (acquy),các board mạch điều khiển ,mạch điều khiển từ xa,
mạch nguồn,bàn phím , động cơ …
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
11
ĐỘNG CƠ:
Động cơ em chọn để điều khiển robot là cặp động cơ cùng cơng suất 12V DC cĩ
gắn bộ giảm tốc ,cơng suất của một động cơ là 15W.
Phần sau em sẽ trình bày sâu hơn về động cơ
CƠ CẤU TRUYỀN ĐỘNG:
Động cơ liên kết hệ truyền động bánh xe bằng dây xích
CÁCH BỐ TRÍ CÁC CẢM BIẾN TRÊN BOARD DỊ VẠCH VÀ LÁI:
CHƯƠNG II: CẢM BIẾN
I.Giới thiệu chung:
Các bộ cảm biến đĩng vai trị cực kỳ quan trọng trong lĩnh vực đo lường và điều
khiển. Chúng cảm nhận và đáp ứng theo các kích thích thường là các đại lượng
khơng điện , chuyển đổi các đại lượng này thành các đại lượng điện và truyền
các thơng tin về hệ thống đo lường điều khiển , giúp ta nhận dạng , đánh giá và
điều khiển mọi biến trạng thái của đối tượng.
Cĩ thể vì vai trị của các bộ cảm biến đối với kỹ thuật đo lường và điều khiển
giống như các giác quan đối với cơ thể sống.
Một số bộ cảm biến cĩ cấu trúc tương đối đơn giản, nhưng xu hướng chung ngày
nay là triệt để khai thác các thành tựu của vật lý học hiện đại, các cơng nghệ mới
trong điện tử và tin học , của lý thuyết điều khiển hiện đại,nhằm tạo ra các bộ
cảm biến thơng minh và linh họat. Đĩ là các bộ cảm biến đa chức năng , cĩ thể
lập trình, cho phép đo với độ nhạy và độ chính xác cao, cĩ thể tự động thay đổi
3Cm
4,5 Cm
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
12
thang đo, tự động bù các ảnh hưởng của nhiễu, đo từ xa , tự động xử lý kết
qủa đo…
Các bộ cảm biến ngày nay được xem như một phần tử, được xản xuất hàng lọat
và cĩ mặt rộng rãi trên thị trường , bao gồm một chuyển đổi đo lường sơ cấp
đặt trong vỏ bảo vệ, cĩ hình dáng và kích thước phù hợp với đối tượng.
Các chuyển đổi đo lường sơ cấp họat động theo các hiệu ứng vật lý. Độ nhạy và
độ chính xác của các bộ cảm biến phụ thuộc rất nhiều vào khả năng chuyển đổi
của các hiện tượng vật lý.
Ngịai tên thường dùng là bộ cảm biến , người ta cịn gọi chúng là đầu đo, đầu
dị, hay sensor.
Kỹ thuật cảm biến là kỹ thuật đa ngành cĩ liên quan chặt chẽ đến kỹ thuật điện ,
điện tử , hĩa học, nhiệt học , cơ học và các lĩnh vực của vật lý như:
Bán dẫn , quang học hạt nhân …
1.Cảm Biến Quang:
1.1.Khái niệm cơ bản về ánh sáng:
ánh sáng cĩ bản chất sĩng và hạt . dạng sĩng ánh sáng là sĩng điện từ phẳng.Tại
mỗi điểm trong khơng gian vectơ cường độ điện trường E, cường độ từ trường H
và phương truyền sĩng , là thành một tam diện thuận
Anh sáng lan truyền trong chân khơng với vận tốc v =299792Km/s .Trong vật
chất ánh sáng cĩ vận tốc v = c /n , n là triết xuất của mơi trường . giữa tần số
và bước sĩng của ánh sáng liên hệ bằng biểu thức :
= v/ .
trong chân khơng : = c/ .
Tính chất hạt của ánh sáng thể hiện qua sự tương tác của ánh sáng với vật chất.
Ánh sáng gồm các hạt nhỏ photon cĩ năng lượng phụ thuộc duy nhất vào tần số
qua biểu thức:
W=h. h : hằng số planck.
Bước sĩng ngưỡng của ánh sáng cĩ thể gây nên hiện tượng giải phĩng điện tử
được tính bằng biểu thức :
max =hc/W1 W1: là năng lượng liên kết các hạt
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
13
nĩi chung lọai điện tích được giải phĩng do chiếu sáng phụ thuộc vào bản chất
của vật liệu bị chiếu sáng. Khi chiếu sáng chất điện mơi và bán dẫn tinh khiết ,
các điện tích được giải phĩng là cặp điện tử , lỗ trống .
hiện tượng giải phĩng các hạt dẫn dưới tác dụng của ánh sáng do hiệu ứng quang
điện gây nên sự thay đổi tính chất điện của vật liệu . đây là nguyên lý cơ bản của
cảm biến quang.
1.2.Các đơn vị đo quang:
1.2.1. đơn vị đo năng lượng
-năng lượng bức xạ quang Q: là năng lượng phát xạ, lan truyền hoặc hấp thụ
dưới dạng bức xạ, và đo bằng jun ( J).
-Quang thơng : là cơng suất phát xạ lan truyền hoặc hấp thụ, đo bằng oat (W)
là đại lượng đặc trưng cho nguồn quang :
= dQ/dt
Cường độ ánh sáng I : là quang thơng phát ra theo một hướng dưới một đơn vị
gĩc khối, cĩ đơn vị là W/steradian :
I = d/d
Độ chĩi năng lượng L : là tỷ số giữa cường độ ánh sáng phát ra bởi một phần tử
bề mặt dA theo một hướng xác định và diện tích hình chiếu vuơng gĩc của phần
tử bề mặt dAn, cĩ đơn vị là W/steradian.m
L =dI/dAn
-độ rọi E : là tỷ số giữa quang thơng thu được bởi một phần tử đĩ, cĩ đơn vị là
W/m.m :
E =d/dAn
Là đơn vị đặc trưng cho mặt được chiếu sáng.
Đơn vị đo quang cơ bản
Đại lượng quang Đơn vị thi giác Đơn vị năng lượng
Quang thơng
Cường độ
Độ chĩi
Độ rọi
Lumen (lm)
Candela (cd)
Candela/metvuong
Lux (lx)
Oat (W)
Oat/Sr (W/Sr)
Oat/Sr.m.m
Oat/m.m
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
14
Năng lượng Lumen.s (lms) Jun (J)
1.3.nguồn sáng :
nguồn sáng quyết định mọi đặc tính quan trọng của bức xạ. Việc sử dụng
các cảm biến quang chỉ thực sự cĩ hiệu quả khi nĩ phù hợp với bức xạ ánh sáng:
dưới đây giới thiệu tĩm tắt về các nguồn sáng thơng dụng.
1.3.1.đèn sợi đốt
đèn cĩ cấu tạo gồm một sợi wonfram đặt trong bĩng thủy tinh hoặc thạch
anh chúa các khí trơ hoặc halogen để giảm bay hơi của sợi đốt
1.3.2. diode phát quang:
LED là nguồn sáng bán dẫn trong đĩ năng lượng giải phĩng do tái hợp điện tử ,
lỗ trống gần chuyển tiếp P-N của diode sẽ làm phát sinh cac photon.
1.3.3.laser:µ phát ánh sáng đơn sắc dựa trên hiện tượng khuếch đại ánh sáng
bằng bức xạ kích thích……
II.Ứng dụng Cảm biến Quang điện trong đề tài:
Trong kỹ thuật cảm biến quang điện thường được sử dụng như một khĩa
chuyển mạch đĩng , cắt mạch điện khi cĩ mặt hoặc khơng cĩ mặt đối tượng cần
phát hiện.
Tĩm tắt so sánh các bộ cảm biến quang điện
TT Lọai bộ cảm biến Độ nhạy Dải phổ
1
2
3
4
Tế bào quang điện
Photodiode
Phototranzito
Tế bào quang điện
chân khơng
0.1->10 A/W
0.1->1 A/W
1->100 A/W
10->100mA/W
0.3->30µm
0.4->1.2µm
0.4->1.2µm
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
15
CHƯƠNG III : ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ CÁC
PHƯƠNG PHÁP ĐIỀU KHIỂN TỐC ĐỘ
Động cơ một chiều (cịn gọi là động cơ DC) thường được sử dụng rộng
rãi trong các hệ truyền động cần thay đổi tốc độ khởi động, hãm và đảo chiều.
một số ứng dụng của động cơ một chiều như chuyền động cho xe điện, máy
cơng cụ, máy vận chuyển, máy cán, máy nghiền (trong cơng nghiệp giấy)
I.Đặc tính tĩnh của động cơ một chiều
Hình 4.1 giới thiệu các loại động cơ DC thơng dụng, bao gồm động cơ DC
kích từ độc lập, kích từ song song, kích từ nối tiếp, kích từ tổng hợp.
Với động cơ DC kích từ độc lập, dịng phần ứng và dịng kích từ cĩ thể điều
khiển độc lập với nhau. Với động cơ kích từ song song, phần ứng và cuộn kích
từ được đấu với nguồn cung cấp. Vì vậy, với loại động cơ này, dịng phần ứng
hoặc dịng kích từ chỉ cĩ thể điều khiển độc lập bằng cách thay đổi điện trở phụ
trong mạch phần ứng hoặc mạch kích từ. Tuy nhiên, đây là cách điều khiển cĩ
hiệu suất thấp. Với động cơ kích từ nối tiếp, dịng phần ứng cũng là dịng kích
từ, và do đĩ, từ thơng động cơ là một hàm của dịng phản ứng. Với động cơ kích
từ hổn hợp, cần đấu nối sao cho sức từ động của cuộn nối tiếp cùng chiều với
sức từ động của cuộn song song
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
16
Mạch tương đương ở chế độ tĩnh của động cơ một chiều được trình bày ở
hình4.2, điện trở Rư biểu thị điện trở phần ứng. Đối với động cơ một chiều kích
từ độc lập hoặc song song, điện trở này là điện trở phần ứng. Đối với động cơ
kích từ nối tiế p hoặc động cơ kích từ hổn hợp, Rư là tổng điện trở của cuộn
phần ứng và cuộn kích từ nối tiếp.
Hình 4.2: Mạch tương đương chế độ tĩnh của động cơ DC
-
+
V
Iư
+
--
E = k.
Rư
Iư
+
-
-
+
A1
A2
+
-
F1
F2
Ikt
(b) Kích từ song song
Vkt
V
Iư
+
-
-
+
A1
A2
+
-
F1
F2
Ikt
(a) Kích từ độc lập
(c) Kích từ nối tiếp
-
+
A1
A2
V
Iư
+
-
S1 S2
F2
F1
(d) Kích từ hổn hợp
-
A2
V
+
-
A1
Iư
S1 S2
+
Hình 4.1 Các loại động cơ một chiều thơng dụng
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
17
Phương trình cơ bản của động cơ một chiều là:
E = K (4-1)
V= E + RƯIƯ (4-2)
M = KIƯ (4-3)
Trong đĩ:
- : từ thơng trên mỗi cực (Wb)
- Iư: dịng phần ứng (A)
- V: điện áp phần ứng (V)
- RƯ: Điện trở phần ứng ()
- : tốc độ động cơ (rad/s)
- M : momen do động cơ sinh ra (Nm)
- K : hằng số, phụ thuộc cấu trúc động cơ
Từ cơng thức (4-1) - (4-3), ta cĩ:
ư
ư I
K
R
K
V
(4-4)
Hoặc:
M
K
R
K
V
2
ư
4-5)
Lưu ý là các cơng thức (4-1) đến (4-5) cĩ thể áp dụng cho tất cả các loại động cơ
một chiều đã kể ở trên.
Với động cơ một chiều kích từ độc lập, nếu điện áp kích từ được duy trì khơng
đổi, cĩ thể giả thiết rằng từ thơng động cơ khơng đổi khi momen dộng cơ thay
đổi. Khi đĩ ta cĩ: K = constant (4-6)
Như vậy theo (4-5), đặc tính cơ của động cơ một chiều kích từ độc lập là
một đường thẳng, như vẽ trên hình 4-3. Tốc độ khơng tải của động cơ xác định
bởi điện áp cung cấp V và từ thơng kích từ K. Tốc độ động cơ suy giảmkhi
momen tải tăng và độ ổn định tốc độ phụ thuộc vào điện trở phần ứng Rư. Trong
thực tế, do phản ứng phần ứng, từ thơng động cơ giảm khi momen tăng, dẫn đến
tốc độ động cơ suy giảm ít hơn là tính tốn theo cơng thức (4-5). Với momen
lớn, từ thơng cĩ thể suy giảm đến mức độ dốc đặt tính cơ trở nên dương dẫn đến
hoạt động khơng ổn định. Vì vậy, cuộn bù thường hay được sử dụng để làm
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
18
giảm hiệu ứng khử từ của phản ứng phần ứng. Với động cơ cơng suất trung bình,
độ sụt tốc khi tải định mức so với khi khơng tải khoảng 50%.
Với động cơ một chiều kích từ nối tiếp, từ thơng là một hàm của dịng phần
ứng. Nếu giả thiết động cơ hoạt động trong vùng tuyến tính của đặc tính từ hĩa,
cĩ thể xem là từ thơng tỷ lệ bậc nhất với dịng phần ứng, nghĩa là :
= KktI (4-7)
Thay (4-7) vào (4-1),(4-4) và (4-5), ta được :
M = KKktI2ư (4-8)
kt
ư
ưkt KK
R
IKK
V
(4-9)
kt
ư
kt KK
R
M
1
KK
V
(4-10)
Lưu ý là Rư lúc này là tổng của điện trở mạch phần ứng và điện trở cuộn kích
từ.
Đặc tính cơ động cơ một chiều kích từ nối tiếp được vẽ trên hình 4.3. Cĩ thể
thấy rằng tốc độ động cơ suy giảm nhiều theo momen tải. Tuy nhiên trong thực
tế, các động cơ tiêu chuẩn thường được thiết kế làm việc tại các cánh chỏ (knee-
point) của đặt tính từ hĩa khi mang tải định mức. Với tải trên định mức, mạch từ
động cơ bảo hịa, khi đĩ từ thơng khơng thay đổi nhiều theo dịng tải Iư dẫn
đến đặt tính cơ tiệm cận với đường thẳng.
(a)
(b)
(c)
Hình 4.3 Đặc tính cơ các loại động cơ DC
M(%Mđm) 100
100
(%đm)
(a) Động cơ DC kích từ độc lập
(b) Động cơ DC kích từ nối tiếp
(c) Động cơ DC kích từ hỗn hợp
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
19
Động cơ một chiều kích từ nối tiếp thích hợp cho các ứng dụng địi hỏi momen
khởi động cao và cĩ thể quá tải nặng. Với momen tải tăng, từ thơng động cơ
cũng tăng theo. Như vậy với cùng một lượng gia tăngcủa momen như nhau,
dịng phần ứng Iư của động cơ một chiều kích từ nố tiếp sẽ tăng ít hơn so với
động cơ kích từ độc lập. Do đĩ, trong điều kiện quá tải nặng, sự quá tải của
nguồn cung cấp và sự quá nhiệt của động cơ cũng ít hơn so với động cơ kích từ
độc lập.
Theo cơng thức (4.10) , tốc độ động cơ kích từ nối tiếp tỷ lệ nghịch với căn
bậc hai của momen. vận tốc động cơ khi khơng tải cĩ thể tăng lên rất cao, chỉ bị
hạn chế bởi từ dư của động cơ và cĩ thể gấp hàng chục lần tốc độ định mức.
Điều này là khơng cho phép với máy điện–thường chỉ cho phép hoạt động gấp 2
lần tốc độ định mức. Do đĩ, động cơ kích từ nối tiếp khơng được dùng với các
ứng dụng trong đĩ momen tải cĩ thể nhỏ đến mức làm tốc độ động cơ vượt quá
mức giới hạn cho phép.
Đặc tính của động cơ một chiều kích từ hỗn hợp cĩ dạng như biểu diễn trên
hình 4.3. Tốc độ khơng tải của động cơ phụ thuộc vào dịng kích từ qua cuộn
song song, trong khi độ dốc đặc tính cơ phụ thuộc vào sự phối hợp giữa cuộn
song song và cuộn nối tiếp. Động cơ kích từ hỗn hợp được sử dụng trong những
ứng dụng cần cĩ đặc tính cơ tương tự động cơ kích từ nối tiếp đồng thời cần hạn
chế tốc độ khơng tải ở một giá trị giới hạn thich hợp. Cũng cần lưu ý các đặc
tính cơ đề cập trên hình 4.3 là đặc tính cơ tự nhiên của động cơ, nghĩa là các đặc
tính này nhận được khi động cơ hoạt động với điện áp cung cấp và từ thơng định
mức, và khơng cĩ điện trở phụ nào trong mạch phần ứng hoặc kích từ.
II.Sơ lược về các phương pháp điều khiển động cơ điện một chiều
Từ cơng thức (4-5) biểu diễn quan hệ giữa tốc độ–momen động cơ, cĩ thể thấy
rằng tốc độ động cơ cĩ thể được điều khiển bằng ba phương pháp sau:
1.Điều khiển điện áp phần ứng
2.Điều khiển từ thơng
3.Điều khiển điện trở phần ứng
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
20
1.Điều khiển điện áp phần ứng
Đặc tính cơ tĩnh của động cơ kích từ độc lập và kích từ nối tiếp khi điều chỉnh
điện áp cung cấp cho phần ứng động cơ được vẽ trên hình 4.4(a) và (b). Các đặc
tính này suy ra từ cơng thức (4-5) với điện áp V thay đổi. Bằng cách thay đổi
điện áp phần ứng, động cơ cĩ thể làm việc tại bất kì tốc độ, momen nào nằm
giữa đường đặc tính cơ tự nhiên và trục momen. Vì điện áp phần ứng chỉ cĩ thể
điều chỉnh dưới định mức, phương pháp này chỉ dùng để điều chỉnh động cơ
hoạt động với các đặc tính thấp hơn đặc tính cơ tự nhiên.
Tính chất quan trọng của phương pháp này là độ cứng đặc tính cơ khơng thay
đổi khi tốc độ động cơ được điều chỉnh. Điều này khiến hệ cĩ khả năng đáp ứng
với tải cĩ momen hằng số vì dịng phần ứng cực đại cho phép Iưmax- tương ứng
với nĩ là momen tải cực đại cho phép–của động cơ khơng đổi với mọi tốc độ.
Điện áp phần ứng động cơ cĩ thể đươc điều khiển bằng cách sử dụng:
- Máy phát DC (Hệ Máy phát- Động cơ)
- Bộ chỉnh lưu cĩ điều khiển (AC DC)
- Bộ Chopper (Bộ biến đổi xung áp) (DC DC)
Giảm
V=const
Giảm V
=const
Đặc tính cơ tự nhiên
Giảm
V=const
Giảm V
=const
(a)Động cơ kích từ độc lập (b) Động cơ kích từ nối tiếp
Hình 4.4 : Các đặc tính cơ khi điều khiển điện áp phần ứng của động cơ DC
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
21
2. Điều khiển từ thơng
Điều khiển từ thơng được sử dụng khi cần tăng tốc độ làm việc của động cơ cao
hơn tốc độ định mức. Cĩ thể thấy điều đĩ qua cơng thức (4-5).
Đặc tính tĩnh của động cơ kích từ độc lập và kích từ nối tiếp khi điều khiển từ
thơng được biểu diễn lần lượt trên hình 4.4 (a) và (b) bằng các đường nét đứt.
Lưu ý là độ cứng đặc tính cơ giảm nhanh khi giảm từ thơng.
Tốc độ cao của động cơ đạt được khi giảm từ thơng bị hạn chế bởi:
- Sự khơng ổn định của động cơ gây ra bởi ảnh hưởng của phản ứng phần ứng
- Giới hạn về mặt cơ khí của động cơ: các động cơ thơng thường cho phép tốc độ
đạt đến 1,5-2 lần tốc độ định mức. Một số động cơ chế tạo đặc biệt cho phép tốc
độ cao nhất đạt tới 6 lần định mức.Đối với động cơ DC kích từ độc lập và song
song, cơng suất cực đại cho phép của động cơ gần như khơng đổi với mọi tốc độ
khi điều khiển từ thơng (xem hình 4.5 ). Cĩ thể thấy điều này nếu giả thiết là
dịng cực đại cho phép, I của động cơ khơng thay đổi khi điều chỉnh từ thơng và
điện áp cung cấp cho phần
ứng, V là định mức. Khi đĩ, sức điện động của động cơ, E = V – RI là hằng số.
Vì vậy cơng suất điện từ cực đại cho phép của động cơ là EI, sẽ là hằng số, và
momen cực đại cho phép của động cơ sẽ biến thiên tỉ lệ nghịch với tốc độ.
Lưu ý là trong thực tế, giả thiết dịng phần ứng cực đại cho phép I khơng thay
đổi khi giảm từ thơng chỉ là gần đúng. Tác động của phản ứng phần ứng càng
lớn khi từ thơng càng giảm, do đĩ, dịng phần ứng cực đại cho phép cần giảm
xuống để khơng sinh ra tia lửa điện quá mức trên cổ gĩp. Điều này dẫn đến việc
giá trị thực tế của I sẽ giảm xuống khi tốc độ tăng cao.
Với động cơ DC kích từ độc lập, việc điều khiển kích từ được thực hiện bằng
cách thay đổi điện áp kích từ với bộ chỉnh lưu cĩ điều khiển hoặc bộ chopper,
tuỳ theo nguồn cung cấp được sử dụng là AC hoặc DC. Với động cơ cơng suất
nhỏ, cũng cĩ thể nối tiếp biến trở vào mạch kích từ để điều khiển từ thơng.
Với động cơ DC kích từ nối tiếp, việc điều khiển từ thơng được thực hiện bằng
cách thay đổi điện trở song song với cuộn kích từ. Một số động cơ kích từ nối
tiếp cĩ cuộn kích từ nhiều đầu ra, và do đĩ cĩ thể thay đổi từ thơng bằng cách
thay đổi số vịng dây cuộn kích từ.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
22
3. Điều khiển hỗn hợp điện áp phần ứng và từ thơng kích từ
Phương pháp này được sử dụng khi cần thiết điều chỉnh tốc độ động cơ trong
một dải rộng trên và dưới tốc độ định mức. Tốc độ dưới tốc độ định mức được
điều khiển bằng cách thay đổi điện áp phần ứng trong khi giữ kích từ ở giá trị
định mức. Tốc độ trên định mức được điều khiển bằng cách thay đổi điện áp
kích từ.
Giới hạn của momen và cơng suất ra khi điều khiển hỗn hợp điện áp phần ứng
và từ thơng kích từ được vẽ trên hình 4.5.
4.Điều khiển điện trở phần ứng
Hình 4.6 biểu diễn đặc tính cơ của động cơ DC kích từ độc lập và nối tiếp khi
điều khiển tốc độ bằng cách thêm điện trở phụ vào phần ứng.
Khuyết điểm chính của phương pháp này là cĩ hiệu suất của hệ thống rất kém và
độ cứng đặc tính cơ thấp, nhất là khi hoạt động ở tốc độ thấp. Do đĩ, phương
pháp này hiện nay ít được sử dụng để điều khiển tốc độ động cơ, trừ các trường
hợp:
- Khởi động động cơ
- Thay đổi tốc độ động cơ trong một thời gian ngắn trong chế độ ngắn hạn hoặc
chế độ ngắn hạn lặp lại.
Iư
P
M Mmax đm
M
Điều khiển
Điện áp
Phần ứng Điều khiển Từ thơng
Hình 4.5 : Giới hạn momen và tốc độ khi điều chỉnh hỗn hợp
điện áp phần ứng và từ thơng
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
23
III.Khởi động.
Dịng phần ứng của động cơ DC trong quá trình quá độ, như chế độ khởi động,
cần được giới hạn để tránh phát sinh tia lửa điện quá mức trên cổ gĩp động cơ.
Thơng thường, với động cơ khơng cĩ cuộn bù, dịng này giới hạn ở mức hai lần
dịng định mức. Với động cơ cĩ cuộn bù hoặc thiết kế đặc biệt, dịng này cho
phép lên đến 3.5 lần dịng định mức.
Khi cấp điện áp định mức trực tiếp trong chế độ khởi động, dịng phần ứng động
cơ DC cĩ thể lên đến 20 lần dịng định mức. Dịng khởi động này gây ra phát
sinh tia lửa điện quá mức trên cổ gĩp và phát nhiệt trong cuộn dây phần ứng.
Dịng khởi động động cơ, do đĩ, cần được hạn chế bằng cách giảm điện áp đặt
lên phần ứng.
Trong thực tế, các bộ biến đổi dùng để điều khiển tốc độ động cơ cũng được sử
dụng để hạn chế dịng động cơ khi khởi động. Các bộ biến đổi này thường cĩ
khả năng hạn chế dịng điện trong quá trình quá độ. Trong các ứng dụng khơng
sử dụng các bộ biến đổi, một bộ điện trở khởi động được thêm vào mạch phần
ứng động cơ khi khởi động để hạn chế dịng. Các điện trở trong bộ điện trở khởi
động lần lượt được cắt ra(hoặc nối tắt) trong quá trình khởi động, và được tính
chọn sao cho dịng qua động cơ được hạn chế ở mức cho phép, trong khi vẫn
đảm bảo momen động cơ sinh ra đủ để gia tốc động cơ.
Đặc tính cơ tự nhiên
Tăng Rphụ
(a)Động cơ kích từ độc lập
M
o
Đặc tính cơ tự nhiên
Tăng Rphụ
(b)Động cơ kích từ nối tiếp
M
o
Hình 4.6 :Đặc tính động cơ DC khi thêm điện trở phụ vào phần ứng
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
24
IV.Các trạng thái hãm
Trong chế độ hãm, động cơ hoạt động ở chế độ máy phát: nhận năng lượng tải
và biến thành điện năng. Tuỳ theo cách tiêu tán năng lượng này, ta cĩ phương
pháp hãm khác nhau:
1. Hãm tái sinh
2. Hãm động năng
3. Hãm ngược
Trong chế độ hãm tái sinh, động cơ nhận năng lượng từ tải, biến thành điện năng
và trả về lưới. Đây là phương pháp hãm cĩ hiệu suất cao nhất.
1.Hãm tái sinh
động cơ DC kích từ độc lập:
Mạch tương đương và đặc tính cơ của động cơ DC kích từ độc lập trrong chế độ
hãm tái sinh được biểu diễn trên hình 4.7
Trong chế độ hãm tái sinh, suất điện động E cần phải lớn hơn nguồn cung cấp V
và dịng qua động cơ chảy theo hướng ngược lại so với chế độ động cơ. Khi sử
dụng chế độ biến đổi bán dẫn, cần lưu ý là ở chế độ hãm tái sinh, hệ thống Bộ
biến đổi(BBĐ)–Động cơ phải cĩ khả năng tải dịng theo cả hai chiều hoặc phải
đảo chiều được điện áp ra. Để thực hiện được điều này, BBĐ phải cĩ cấu hình và
quy luật điều khiển thích hợp.
|E| > |V|
V
+
-
+
- E
Iư
(a)Mạch tương đương
I
II
Giảm V
= const
Giảm
V = const
(b) Đặc tính cơ
Hình 4.7 :Hãm tái sinh động cơ kích từ độc lập
Rư
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
25
Bằng cách điều khiển điện áp phần ứng, dịng phần ứng và tương ứng là momen
hãm cĩ thể được điều khiển theo yêu cầu truyền động.
Động cơ DC kích từ nối tiếp:
Động cơ kích từ nối tiếp khơng thể dùng ở chế độ hãm tái sinh bằng cách nối
mạch đơn giản như động cơ DC kích từ độc lập.
Phương pháp thường sử dụng cho động cơ kích từ nối tiếp trong chế độ hãm tái
sinh là nối động cơ như một động cơ kích từ song song. Cuộn kích từ này được
nối tiếp với điện trở phụ hạn chế dịng kích từ trong một phạm vi an tồn. Một
phương pháp khác là sử dụng bộ biến đổi chopper với cấu hình thích hợp và đấu
nối lại cuộn kích từ để động cơ hoạt động tương tự như một động cơ kích từ độc
lập.
2.Hãm động năng(Dynamic braking)
Việc hãm động năng với động cơ DC được thực hiện bằng cách ngắt nguồn cung
cấp ra khỏi động cơ và nối phần ứng động cơ qua một điện trở thích hợp. Động
cơ lúc này hoạt động như một máy phát tạo ra momen hãm.
Sơ đồ đấu dây của động cơ DC khi hãm động năng trình bày ở hình 4.8 cho động
cơ kích từ độc lập và hình 4.9 cho động cơ kích từ nối tiếp.
Ikt F1
F2
+
- -
+
V E
A1
A2
(a) : Chế độ động cơ
Iư Ikt F1
F2
+
-
E
A1
A2
(b) : Hãm động năng kích từ độc lập
Iư
+
-
A1 Ikt F1 Iư
(c) : Hãm động năng tự kích từ
A2
+
E
-
F2
Hình 4.8 : Sơ đồ đấu dây khi hãm động năng động cơ kích từ độc lập
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
26
Trong trường hợp hãm động năng kích từ độc lập, đặc tính cơ của động cơ khi
hãm cĩ thể tính tốn bằng cơng thức (4-5 ) với V=0 và giá trị thích hợp của Rư
(kể đến điện trở hãm trong mạch phần ứng).
Trong trường hợp hãm động năng tự kích từ, việc tính tốn đặc tính cơ cần kể
đến đặc tính từ hố của động cơ vì đoạn bảo hồ của đặc tính từ hố cĩ ảnh
hưởng đến đặc tính cơ khi hãm.
Hình 4.10(a) biểu diễn đặc tính cơ của động cơ kích từ đơc lập khi hãm động
năng với các giá trị điện trở hãm khác nhau. Lưu ý là trong trường hợp giảm
động năng tự kích từ, ứng với một giá trị của điện trở hãm sẽ cĩ một giá trị tới
hạn (critical) của tốc độ th , với tốc độ thấp hơn giá trị tới hạn này chế độ máy
phát điện của động cơ sẽ khơng xảy ra vì điều kiện tự kích khơng thỏa (th1 , th2
trên hình 4.10). Do đĩ, với tốc độ nhỏ hơn tốc độ giới hạn đã nĩi, momen hãm
bằng zero và năng lượng chỉ được tiêu hao bằng ma sát trong hệ truyền động.Với
động cơ kích từ nối tiếp, khi hãm động năng cần đảo chiều cuộn kích từ hoặc
phần ứng để tránh việc dịng qua động cơ đảo chiều gây khử từ động cơ. Sơ đồ
đấu dây như hình 4.9. Đặc tính động cơ khi hãm động năng biểu diễn trên hình
4.10 (b). Đặc tính này cĩ thể tính tốn từ cơng thức (4-4) và (4-5) bằng cách thay
giá trị V=0 và Rư là tổng của điện trở phần ứng và điện trở hãm, đồng thời cĩ
tính đến đặc tính từ hĩa của động cơ.
Theo cơng thức (4-10), trong vùng tuyến tính của đặc tính từ hĩa, tốc độ trở nên
độc lập với momen động cơ và cho bởi cơng thức:
kt
ư
th KK
R
(4-11)
E
A1
A2
+
-
S1 S2 Iư
+
-
(a) : Chế độ động cơ
Rh
S1 S2
A1
A2
+
-
(b) : Chế độ hãm động năng tự kích từ
E
Hình 4.9 : Sơ đồ đấu dây khi hãm động năng động cơ kích từ nối tiếp
V
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
27
Đây cũng là tốc độ tới hạn trên đặc tính hãm của động cơ, dưới tốc độ này
momen hãm bằng zero.
3.Hãm ngược
Đối với động cơ DC kích từ độc lập(hoặc kích từ song song), chế độ hãm ngược
xảy ra khi cực tính nguồn hoặc phần ứng động cơ đổi chiều khi động cơ đang
hoạt động. Dịng qua động cơ sẽ cĩ chiều ngược với chiều của dịng điện ở chế
độ động cơ và sinh ra momen hãm ngược như hình 4.11(a). Đối với động cơ
kích từ nối tiếp, việc hãm ngược thực hiện bằng cách đảo cực tính phần ứng
hoặc cuộn kích từ như hình 4.11(b).
Thơng thường, cần thêm điện trở vào mạch phần ứng để hạn chế dịng hãm ở giá
trị cho phép.
Đặc tính cơ của động cơ kích từ độc lập và kích từ nối tiếp khi hãm ngược biểu
diễn trên hình 4.12. Các đặc tính cơ này nhận được bằng cách thay V bằng –V
th1
th2
M
Rh1
Rh2
Rh1>Rh2
(a) : Động cơ kích từ độc lập
:Kích từ độc lập
:Tự kích từ
th1
th2
M
Rh1 Rh2
Rh1>Rh2
(b) : Động cơ kích từ nối tiếp
Hình 4.11: Đặc tính cơ của động cơ DC khi hãm động năng
E
Rh
+
-
Iư A1
A2
F1
F2
+
-
(a) : Động cơ DC kích từ độc lập
+
-
S1 S2 A2
A1
+
- V
Iư
(b) : Động cơ DC kích từ nối tiếp
Hình 4.11 : Hãm ngược động cơ DC
E
+
-
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
28
trong các cơng thức (4-5) hoặc (4-10). Momen hãm zero khi tốc độ là zero.
Khi hãm ngược được dùng để hãm dừng động cơ, cần ngắt nguồn cung cấp khi
tốc độ gần bằng zero, nếu khơng động cơ sẽ gia tốc theo chiều ngược lại.
Hãm ngược là phương pháp cho hiệu suất thấp, vì năng lượng của tải và nguồn
đều tiêu hao hết trên điện trở phần ứng và điện trở hãm.
V.Hệ truyền động động cơ DC kích từ độc lập cĩ hãm
Phần lớn các hệ truyền động cĩ hãm (multiquarant drive) với các bộ biến đổi bán
dẫn thường sử dụng chế độ hãm tái sinh.
Hình 4.13 cho thấy cực tính của nguồn V, sức điện động cơ E và chiều dịng
phần ứng Iư trong các phần tư làm việc khác nhau. Các đại lượng V, E và Iư
được xem là dương khi động cơ hoạt động trong phần tư I (chế độ động cơ).
Khảo sát trên cho thấy rằng để hệ thống hoạt động được ở chế độ động cơ và
hãm tái sinh theo chiều thuận(phần tư I và II), bộ biến đổi cần cung cấp điện áp
dương và cĩ khả năng dẫn dịng theo cả hai chiều. Để hệ thống hoạt động được ở
chế độ động cơ theo chiều thuận và hãm tái sinh theo chiều ngược (phần tư I và
III) ,bộ biến đổi cần cĩ khả năng cung cấp điện áp theo cả hai chiều mà khơng
cần khả năng đảo chiều dịng.
Để hệ thống hoạt động được ở cả 4 phần tư, bộ biến đổi cần cĩ khả năng đảo
chiều dịng và áp.
M
Kích từ
Độc lập
Kích từ
Nối tiếp
Hình 4.12 : Đặc tính cơ động cơ DC khi hãm ngược
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
29
+
-
E
V>E
+
- V
Iư
Chế độ động cơ theo chiều thuận
+
-
E
V<E
+
- V
Iư
Chế độ hãm theo chiều thuận
+
-
E
|V|<|E|
+
-
V
Chế độ hãm theo chiều ngược
+
-
E
|V|>|E|
+
-
V
Chế độ động cơ theo chiều ngược
Momen
Tốc độ
Hình 4.13 : Dấu của V ,E và chiều Iư
trong các chế độ làm việc khác nhau
Rư Rư
Rư Rư
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
30
CHƯƠNG IV: SƠ LƯỢC HỌ VI XỬ LÝ AT89C51
I-Giới thiệu AT89C51
AT89C51 là một Microcomputer 8 bit, loại CMOS, cĩ tốc độ cao và cơng suất
thấp với bộ nhớ Flash cĩ thể lập trình được. Nĩ được sản xuất với cơng nghệ bộ
nhớ khơng bay hơi mật độ cao của hãng Atmel, và tương thích với chuẩn cơng
nghiệp của 80C51 và 80C52 về chân ra và bộ lệnh. Vì lý do đĩ, kể từ đây về sau
ta sẽ dùng thuật ngữ “80C51” (hoặc "8051")
Sơ đồ khối của AT89C51
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
31
Những đặc trưng của AT89C51:
+ Tương thích với các sản phẩm MCS-51
+ 4KByte bộ nhớ Flash cĩ thể lập trình lại với 1000 chu kỳ đọc/xố
+ Hoạt động tĩnh đầy đủ: 0Hz đến 24MHz
+ Khố bộ nhớ chương trình ba cấp
+ 128 x 8 bit RAM nội
+ 32 đường xuất-nhập lập trình được (tương ứng 4 port)
+ Hai timer/counter 16 bit
+ Một port nối tiếp song cơng lập trình được
+ Mạch đồng hồ và bộ dao động trên chip
Cấu hình chân của AT89C51 như sau:
Như vậy AT89C51 cĩ tất cả 40 chân. Mỗi chân cĩ chức năng như các đường I/O
(xuất/nhập), trong đĩ 24 chân cĩ cơng dụng kép: mỗi đường cĩ thể hoạt động như một
đường I/O hoặc như một đường điều khiển hoặc như thành phần của bus địa chỉ và bus
đữ liệu.
Mơ tả chân
VCC (chân 40)
Chân cấp nguồn.
GND (chân 20)
Chân nối đất.
Port 0
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
32
Port 0 là một port xuất/nhập song hướng cực máng hở 8 bit. Nếu được sử
dụng như là một ngõ xuất thì mỗi chân cĩ thể kéo 8 ngõ vào TTL. Khi mức 1
được viết vào các chân của port 0, các chân này cĩ thể được dùng như là các ngõ
nhập tổng trở cao.
Port 0 cĩ thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu
(phần byte thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ chương trình ngồi.
Ở chế độ này, P0 cĩ các điện trở pullup bên trong.
Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash, và
xuất ra các byte code khi kiểm tra chương trình. Cần cĩ các điện trở pullup bên
ngồi khi thực hiện việc kiểm tra chương trình.
Port 1
Port 1 là một port xuất/nhập song hướng 8 bit cĩ các điện trở pullup bên trong.
Các bộ đệm ngõ ra của port 1 cĩ thể kéo hoặc cung cấp 4 ngõ nhập TTL. Khi
mức 1 được viết vào các chân của port 1, chúng được kéo lên cao bởi các điện
trở pullup nội và cĩ thể được dùng như là các ngõ nhập. Nếu đĩng vai trị là các
ngõ nhập, các chân của port 1 (được kéo xuống thấp qua các điện trở bên ngồi)
sẽ cấp dịng IIL do các điện trở pullup bên trong.
Port 2
Port 2 là một port xuất/nhập song hướng 8 bit cĩ các điện trở pullup bên trong.
Các bộ đệm ngõ ra của port 2 cĩ thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các
mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện
trở pullup nội và cĩ thể được dùng như các ngõ vào. Khi được dùng như các ngõ
vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngồi) sẽ cấp
dịng IIL do cĩ các điện trở pullup bên trong.
Port 2 phát ra byte cao của địa chỉ khi đọc từ bộ nhớ chương trình ngồi và khi
truy cập bộ nhớ dữ liệu ngồi dùng các địa chỉ 16 bit (MOVX @DPTR). Trong
ứng dụng này, nĩ dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1.
Khi truy cập bộ nhớ dữ liệu ngồi dùng các địa chỉ 8 bit (MOVX @RI), port 2
phát ra các nội dung của thanh ghi chức năng đặc biệt P2.
Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập
trình và kiểm tra Flash.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
33
Port 3
Port 3 là một port xuất-nhập song hướng 8 bit cĩ điện trở pullup nội bên trong.
Các bộ đệm ngõ ra của port 3 cĩ thể kéo hoặc cung cấp 4 ngõ vào TTL. Khi các
mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện
trở pullup nội và cĩ thể được dùng như các ngõ vào. Khi được dùng như các ngõ
vào, các chân của port 3 (được kéo xuống qua các điện trở bên ngồi) sẽ cấp
dịng IIL do cĩ các điện trở pullup bên trong.
Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt kê
dưới đây:
Chân Tên Các chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
INT0
INT1
T0
T1
WR
RD
Port nhập nối tiếp
Port xuất nối tiếp
Ngắt 0 bên ngồi
Ngắt 1 bên ngồi
Ngõ vào Timer/Counter 0
Ngõ vào Timer/Counter 1
Xung ghi bộ nhớ dữ liệu ngồi
Xung đọc bộ nhớ dữ liệu ngồi
Các chức năng chuyển đổi trên Port 3
- hoặc MOVC. Ngược lại, chân này được kéo lên cao bởi các điện trở pullup
"nhẹ". Việc set bit cấm-ALE khơng cĩ tác dụng khi bộ vi điều khiển đang ở chế
độ thi hành ngồi. RST (chân 9)
- Ngõ vào reset. Một mức cao trên chân này khoảng hai chu kỳ máy trong khi bộ
dao động đang chạy sẽ reset thiết bị.
ALE/ PROG
ALE là một xung ngõ ra để chốt byte thấp của địa chỉ trong khi truy cập bộ nhớ
ngồi. Chân này cũng là ngõ nhập xung lập trình ( PROG ) khi lập trình
Flash.Khi hoạt động bình thường, ALE được phát với một tỷ lệ khơng đổi là 1/6 tần số
bộ dao động và cĩ thể được dùng cho các mụch đích timing và clocking bên ngồi. Tuy
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
34
nhiên, lưu ý rằng một xung ALE sẽ bị bỏ qua mỗi khi truy cập bộ nhớ dữ liệu
ngồi.Nếu muốn, hoạt động ALE cĩ thể cấm được bằng cách set bit 0 của SFR tại địa
chỉ 8Eh. Nếu bit này được set, ALE chỉ dược hoạt động khi cĩ một lệnh MOVX
PSEN
PSEN (Program Store Enable) là xung đọc bộ nhớ chương trình ngồi. Khi
AT89C52 đang thi hành mã (code) từ bộ nhớ chương trình ngồi, PSEN được
kích hoạt hai lần mỗi chu kỳ máy, nhưng hai hoạt động PSEN sẽ bị bỏ qua mỗi
khi truy cập bộ nhớ dữ liệu ngồi.
EA /Vpp
EA (External Access Enable) phải được nối với GND để cho phép thiết bị đọc
code từ bộ nhớ chương trình ngồi cĩ địa chỉ từ 0000H đến FFFFH. Tuy nhiên,
lưu ý rằng nếu bit khố 1 (lock-bit 1) được lập trình, EA sẽ được chốt bên trong
khi reset.
EA phải được nối với Vcc khi thi hành chương trình bên trong. Chân này cũng
nhận điện áp cho phép lập trình Vpp=12V khi lập trình Flash (khi đĩ áp lập trình
12V được chọn).
XTAL1 và XTAL2
XTAL1 và XTAL2 là hai ngõ vào và ra của một bộ khuếch đại dao động nghịch
được cấu hình để dùng như một bộ dao động trên chip (xem Figure 7).
Hình. Các kết nối của bộ dao động
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
35
Khơng cĩ yêu cầu nào về duty cycle của tín hiệu xung ngồi,vì ngõ nhập nối với
mạch tạo xung nội là một flip-flop chia đơi, nhưng các chỉ định về thời gian high
và low, các mức áp tối đa và tối thiểu phải được tuân theo.
Các đặc trưng khác sẽ được trình bày một cách chi tiết hơn ở những phần tiếp
theo sau đây.
II-Tổ chức bộ nhớ
8051/8031 cĩ bộ nhớ theo cấu trúc Harvard: cĩ những vùng bộ nhớ riêng biệt
cho chương trình và dữ liệu. Như đã nĩi ở trên, cả chương trình và dữ liệu cĩ thể
ở bên trong; dù vậy chúng cĩ thể được mở rộng bằng các thành phần ngồi lên
đến tối đa 64 Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu.
Bộ nhớ bên trong bao gồm ROM và RAM trên chip, RAM trên chip bao gồm
nhiều phần : phần lưu trữ đa dụng, phần lưu trữ địa chỉ hĩa từng bit, các bank
thanh ghi và các thanh ghi chức năng đặc biệt.
Hai đặc tính cần lưu ý là :
- Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và cĩ thể được
truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác.
- Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngồi như trong các bộ vi
xử lý khác.
Chi tiết về bộ nhớ RAM trên chip:
Như ta thấy trên hình ( ), RAM bên trong 8051/8031 được phân chia giữa các
bank thanh ghi (00H–1FH), RAM địa chỉ hĩa từng bit (20H–2FH), RAM đa
dụng (30H–7FH) và các thanh ghi chức năng đặc biệt (80H–FFH).
a) RAM đa dụng:
Mặc dù trên hình cho thấy 80 byte RAM đa dụng chiếm các địa chỉ từ 30H–
7FH, 32 byte dưới cùng từ 00H đến 1FH cũng cĩ thể được dùng với mục đích
tương tự (mặc dù các địa chỉ này đã cĩ mục đích khác).
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
36
Tĩm tắt các vùng bộ nhớ của 8051.
Mọi địa chỉ trong vùng RAM đa dụng đều cĩ thể được truy xuất tự do dùng cách
đánh địa chỉ trực tiếp hoặc gián tiếp. Ví dụ, để đọc nội dung ở địa chỉ 5FH của
RAM nội vào thanh ghi tích lũy, lệnh sau sẽ được dùng :
MOV A, 5FH
Lệnh này di chuyển 1 byte dữ liệu dùng cách đánh địa chỉ trực tiếp để xác định
“địa chỉ nguồn” (5FH). Đích nhận dữ liệu được ngầm xác định trong mã lệnh là
thanh ghi tích lũy A.
RAM bên trong cũng cĩ thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua
R0 hay R1. Ví dụ, hai lệnh sau thi hành cùng nhiệm vụ như lệnh đơn ở trên :
MOV R0, #5FH
MOV A, @R0
Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0, và
lệnh thứ hai dùng địa chỉ trực tiếp để di chuyển dữ liệu “được trỏ bởi R0” vào
thanh ghi tích lũy.
Bộ nhớ
chương trình
được chọn
qua PSEN
FFFF
0000
Bộ nhớ
dữ liệu
được chọn
qua WR
và RD
FFFF
0000
FF
00
Bộ nhớ trên chip Bộ nhớ mở rộng
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
37
Tĩm tắt bộ nhớ dữ liệu trên chip.
7F 7E 7D 7C 7B 7A 79 78 2F
77 76 75 74 73 72 71 70 2E
6F 6E 6D 6C 6B 6A 69 68 2D
67 66 65 64 63 62 61 60 2C
5F 5E 5D 5C 5B 5A 59 58 2B
57 56 55 54 53 52 51 50 2A
4F 4E 4D 4C 4B 4A 49 48 29
47 46 45 44 43 42 41 40 28
3F 3E 3D 3C 3B 3A 39 38 27
37 36 35 34 33 32 31 30 26
2F 2E 2D 2C 2B 2A 29 28 25
27 26 25 24 23 22 21 20 24
1F 1E 1D 1C 1B 1A 19 18 23
17 16 15 14 13 12 11 10 22
0F 0E 0D 0C 0B 0A 09 08 21
07 06 05 04 03 02 07
1
00 20
Bank 3 1F
18
Bank 2 17
10
Bank 1 0F
08
Bank thanh ghi 0
(mặc định cho R0-R7)
07
00
RAM đa dụng
7F
30
RAM
Địa chỉ bit
Địa chỉ
byte
87 86 85 84 83 82 81 80 80 P0
khơng được địa chỉ hĩa bit 81 SP
khơng được địa chỉ hĩa bit 82 DPL
khơng được địa chỉ hĩa bit 83 DPH
khơng được địa chỉ hĩa bit 87 PCON
8F 8E 8D 8C 8B 8A 89 88 88 TCON
khơng được địa chỉ hĩa bit 89 TMOD
khơng được địa chỉ hĩa bit 8A TL0
khơng được địa chỉ hĩa bit 8B TL1
khơng được địa chỉ hĩa bit 8C TH0
97 96 95 94 93 92 91 90 90 P1
9F 9E 9D 9C 9B 9A 99 98 98 SCON
khơng được địa chỉ hĩa bit 99 SBUF
A7 A6 A5 A4 A3 A2 A1 A0 A0 P2
AF – – AC AB AA A9 A8 A8 IE
– – – BC BB BA B9 B8 B8 IP
E7 E6 E5 E4 E3 E2 E1 E0 E0 ACC
D7 D6 D5 D4 D3 D2 – D0 D0 PSW
B7 B6 B5 B4 B3 B2 B1 B0 B0 P3
F7 F6 F5 F4 F3 F2 F1 F0 F0 B
CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT
Địa chỉ
byte Địa chỉ bit
khơng được địa chỉ hĩa bit 8D TH1
FF
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
38
b) RAM địa chỉ hĩa từng bit :
8051 chứa 210 bit được địa chỉ hĩa, trong đĩ 128 bit là ở các địa chỉ byte 20H
đến 2FH, và phần cịn lại là trong các thanh ghi chức năng đặc biệt.
Ý tưởng truy xuất từng bit riêng rẽ bằng phần mềm là một đặc tính tiện lợi của vi
điều khiển nĩi chung. Các bit cĩ thể được đặt, xĩa, AND, OR, ... với một lệnh
đơn. Đa số các vi xử lý địi hỏi một chuỗi lệnh đọc-sửa-ghi để đạt được hiệu quả
tương tự. Hơn nữa, các port I/O cũng được địa chỉ hĩa từng bit làm đơn giản
phần mềm xuất nhập từng bit.
Cĩ 128 bit được địa chỉ hĩa đa dụng ở các byte 20H đến 2FH. Các địa chỉ này
được truy xuất như các byte hoặc như các bit phụ thuộc vào lệnh được dùng. Ví
dụ, để đặt bit 67H, ta dùng lệnh sau :
SETB 67H
Chú ý rằng “địa chỉ bit 67H” là bit cĩ trọng số lớn nhất (MSB) ở “địa chỉ byte
2CH”. Lệnh trên sẽ khơng tác động đến các bit khác ở địa chỉ này. Các vi xử lý
sẽ phải thi hành nhiệm vụ tương tự như sau :
MOV A, 2CH ; đọc cả byte
ORL A, #10000000B ; set MSB
MOV 2CH,A ; ghi lại cả byte
c) Các bank thanh ghi :
32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi. Bộ lệnh của
8051 hỗ trợ 8 thanh ghi (R0 đến R7) và theo mặc định (sau khi reset hệ thống)
các thanh ghi này ở các địa chỉ 00H–07H. Lệnh sau đây sẽ đọc nội dung ở địa
chỉ 05H vào thanh ghi tích lũy :
MOV A, R5
Đây là lệnh 1 byte dùng địa chỉ thanh ghi. Tất nhiên, thao tác tương tự cĩ thể
được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai :
MOV A, 05H
Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh
tương ứng nhưng dùng địa chỉ trực tiếp. Các giá trị dữ liệu được dùng thường
xuyên nên dùng một trong các thanh ghi này.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
39
Bank thanh ghi tích cực cĩ thể chuyển đổi bằng cách thay đổi các bit chọn bank
thanh ghi trong từ trạng thái chương trình (PSW). Giả sử rằng bank thanh ghi 3
được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H :
MOV R0, A
Ý tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chương trình
nhanh và hiệu quả (từng phần riêng rẽ của phần mềm sẽ cĩ một bộ thanh ghi
riêng khơng phụ thuộc vào các phần khác).
III-Các thanh ghi chức năng đặc biệt
Một bản đồ vùng bộ nhớ trên chip được gọi là khơng gian thanh ghi chức năng
đặc biệt (SFR) như được trình bày trong bảng.
Lưu ý rằng khơng phải tất cả các địa chỉ đều được sử dụng, và các địa chỉ khơng
được sử dụng cĩ thể khơng được cung cấp trên con chip. Các hành động đọc đến
các địa chỉ này nĩi chung sẽ trả về các dữ liệu ngẫu nhiên, và các hành động viết
sẽ cĩ một hiệu ứng khơng xác định.
Các phần mềm người dùng khơng nên viết các mức 1 đến những vị trí khơng
được liệt kê này, vì chúng cĩ thể được dùng trong các sản phẩm tương lai khi
thêm vào các đặc trưng mới. Trong trường hợp này, các giá trị reset hoặc khơng
tích cực của các bit mới sẽ luơn là 0.
Các thanh ghi nội của 8051 được truy xuất ngầm định bởi bộ lệnh. Ví dụ lệnh
“INC A” sẽ tăng nội dung của thanh ghi tích lũy A lên 1. Tác động này được
ngầm định trong mã lệnh.
Các thanh ghi trong 8051 được định dạng như một phần của RAM trên chip. Vì
vậy mỗi thanh ghi sẽ cĩ một địa chỉ (ngoại trừ thanh ghi đếm chương trình và
thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp, nên khơng lợi
lộc gì khi đặt chúng vào trong RAM trên chip).
Đĩ là lý do để 8051 cĩ nhiều thanh ghi như vậy. Cũng như R0 đến R7, cĩ 21
thanh ghi chức năng đặc biệt (SFR : Special Function Register) ở vùng trên của
RAM nội, từ địa chỉ 80H đến FFH. Chú ý rằng hầu hết 128 địa chỉ từ 80H đến
FFH khơng được định nghĩa. Chỉ cĩ 21 địa chỉ SFR là được định nghĩa. Ngoại
trừ tích lũy (A) cĩ thể được truy xuất ngầm như đã nĩi, đa số các SFR được truy
xuất dùng địa chỉ trực tiếp. Chú ý rằng một vài SFR cĩ thể được địa chỉ hĩa bit
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
40
hoặc byte. Người thiết kế phải thận trọng khi truy xuất bit và byte. Ví dụ lệnh
sau :
SETB 0E0H
sẽ set bit 0 trong thanh ghi tích lũy, các bit khác khơng đổi. Ta thấy rằng E0H
đồng thời là địa chỉ byte của cả thanh ghi tích lũy và là địa chỉ bit của bit cĩ
trọng số nhỏ nhất trong thanh ghi tích lũy. Vì lệnh SETB chỉ tác động trên bit,
nên chỉ cĩ địa chỉ bit là cĩ hiệu quả.
a) Từ trạng thái chương trình :
Từ trạng thái chương trình (PSW : Program Status Word) ở địa chỉ D0H chứa
các bit trạng thái như bảng tĩm tắt sau :
* Cờ nhớ :
Cờ nhớ (CY) cĩ cơng dụng kép. Thơng thường nĩ được dùng cho các lệnh tốn
học : nĩ sẽ được set nếu cĩ một số nhớ sinh ra bởi phép cộng hoặc cĩ một số
mượn bởi phép trừ. Ví dụ, nếu thanh ghi tích lũy chứa FFH, thì lệnh sau :
ADD A, #1
sẽ trả về thanh ghi tích lũy kết quả 00H và set cờ nhớ trong PSW.
Cờ nhớ cũng cĩ thể xem như một thanh ghi 1 bit cho các lệnh luận lý thi hành
trên bit. Ví dụ, lệnh sau sẽ AND bit 25H với cờ nhớ và đặt kết quả trở vào cờ
nhớ :
ANL C, 25H
Bit Ký hiệu Địa chỉ Ý nghĩa
PSW.7 CY D7H Cờ nhớ
PSW.6 AC D6H Cờ nhớ phụ
PSW.5 F0 D5H Cờ 0
PSW.4 RS1 D4H Bit 1 chọn bank thanh ghi
PSW.3 RS0 D3H Bit 0 chọn bank thanh ghi
00 = bank 0 : địa chỉ 00H–07H
01 = bank 1 : địa chỉ 08H–0FH
10 = bank 2 : địa chỉ 10H–17H
11 = bank 3 : địa chỉ 18H–1FH
PSW.2 OV D2H Cờ tràn
PSW.1 – D1H Dự trữ
PSW.0 P D0H Cờ parity chẵn
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
41
* Cờ nhớ phụ :
Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết quả của 4 bit thấp
trong khoảng 0AH đến 0FH. Nếu các giá trị được cộng là số BCD, thì sau lệnh
cộng cần cĩ DA A (hiệu chỉnh thập phân thanh ghi tích lũy) để mang kết quả lớn
hơn 9 vào ?????.
* Cờ 0 :
Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của người dùng.
* Các bit chọn bank thanh ghi :
Các bit chọn bank thanh ghi (RS0 và RS1) xác định bank thanh ghi được tích
cực. Chúng được xĩa sau khi reset hệ thống và được thay đổi bằng phần mềm
nếu cần. Ví dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của
thanh ghi R7 (địa chỉ byte 1FH) đến thanh ghi tích lũy :
SETB RS1
SETB RS0
MOV A, R7
Khi chương trình được hợp dịch, các đại chỉ bit đúng được thay thế cho các ký
hiệu “RS1” và “RS0”. Vậy, lệnh SETB RS1 sẽ giống như lệnh SETB 0D4H.
* Cờ tràn :
Cờ tràn (OV) được set sau một lệnh cộng hoặc trừ nếu cĩ một phép tốn bị tràn.
Khi các số cĩ dấu được cơng hoặc trừ với nhau, phần mềm cĩ thể kiểm tra bit
này để xác định xem kết quả cĩ nằm trong tầm xác định khơng. Khi các số
khơng dấu được cộng, bit OV cĩ thể được bỏ qua. Các kết quả lớn hơn +127
hoặc nhỏ hơn -128 sẽ set bit OV.
Kết quả là một số cĩ dấu 8EH được xem như -116, khơng phải là kết quả đúng
(142), vì vậy, bit OV được set.
b) Thanh ghi B :
Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các
phép tốn nhân và chia. Lệnh MUL AB sẽ nhân các giá trị khơng dấu 8 bit trong
A và B rồi trả về kết quả 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV
AB sẽ chia A cho B rồi trả về kết quả nguyên trong A và phần dư trong B.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
42
Thanh ghi B cũng cĩ thể được xem như thanh ghi đệm đa dụng. Nĩ được địa chỉ
hĩa từng bit bằng các địa chi bit F0H đến F7H.
c) Con trỏ ngăn xếp :
Con trỏ ngăn xếp (SP) là một thanh ghi 8 bit ở địa chỉ 81H. Nĩ chứa địa chỉ của
byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các lệnh trên ngăn xếp bao gồm
các thao tác cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất
dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy dữ liệu ra
khỏi ngăn xếp sẽ đọc dữ liệu và giảm SP. Ngăn xếp của 8051/8031 được giữ
trong RAM nội và được giới hạn các địa chỉ cĩ thể truy xuất bằng địa chỉ gián
tiếp. Chúng là 128 byte đầu của 8051/8031.
Để khởi động lại SP với ngăn xếp bắt đầu tại 60H,các lệnh sau đây được dùng :
MOV SP, #5FH
Trên 8051/8031 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM trên
chip là 7FH. Sở dĩ dùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ
liệu đầu tiên.
Người thiết kế cĩ thể chọn khơng phải khởi động lại con trỏ ngăn xếp mà để nĩ
lấy giá trị mặc định khi reset hệ thống. Giá trị mặc định đĩ là 07H và kết quả là
ngăn đầu tiên để cất dữ liệu cĩ địa chỉ là 08H. Nếu phần mềm ứng
d) Con trỏ dữ liệu :
Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngồi là một thanh ghi
16 bit ở địa chỉ 82H (DPL : byte thấp) và 83H (DPH : byte cao). Ba lệnh sau sẽ
ghi 55H vào RAM ngồi ở địa chỉ 1000H :
MOV A, #55H
MOV DPTR, #1000H
MOVX @DPTR, A
Lệnh đầu tiên dùng địa chỉ tức thời để tải dữ liệu 55H vào thanh ghi tích lũy.
Lệnh thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữ liệu 16 bit 1000H vào
con trỏ dữ liệu. Lệnh thứ ba dùng địa chỉ gián tiếp để di chuyển dữ liệu trong A
(55H) đến RAM ngồi ở địa chỉ được chứa trong DPTR (1000H).
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
43
e) Các thanh ghi port xuất nhập :
Các port của 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port
2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H. Tất cả các port đều được địa chỉ hĩa
từng bit. Điều đĩ cung cấp một khả năng giao tiếp thuận lợi. Ví dụ nếu một
motor được nối qua một cuộn dây cĩ transistor lái đến bit 7 của Port 1, nĩ cĩ thể
được bật và tắt bằng một lệnh đơn :
SETB P1.7 ; bật motor
CLR P1.7 ; tắt motor
Các lệnh trên dùng dấu chấm để xác định một bit trong một byte. Trình hợp dịch
sẽ thi hành sự chuyển đổi cần thiết, vì vậy hai lệnh sau đây là như nhau :
CLR P1.7
CLR 97H
Trong một ví dụ khác, xem xét giao tiếp đến một thiết bị với một bit trạng thái
gọi là BUSY, được set khi thiết bị đang bận và được xĩa khi thiết bị đã sẵn sàng.
Nếu BUSY được nối tới P1.5, vịng lặp sau sẽ được dùng để chờ thiết bị trở lại
trạng thái sẵn sàng :
WAIT : JB P1.5, WAIT
Lệnh này cĩ nghĩa là “nếu bit P1.5 được set thì nhảy tới nhãn WAIT”. Nĩi cách
khác “nhảy trở lại và kiểm tra lần nữa”.
f) Các thanh ghi timer :
8051 chứa hai bộ định thời / đếm 16 bit được dùng cho việc định thời hoặc đếm
sự kiện. Timer 0 ở địa chỉ 8AH (TL0 : byte thấp) và 8CH (TH0 : byte cao).
Timer 1 ở địa chỉ 8BH (TL1 : byte thấp) và 8DH (TH1 : byte cao). Việc vận
hành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanh
ghi điều khiển timer (TCON) ở địa chỉ 88H. Chỉ cĩ TCON được địa chỉ hĩa từng
bit.
g) Các thanh ghi port nối tiếp :
8051 chứa một port nối tiếp trên chip dành cho việc trao đổi thơng tin với các
thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp với các IC khác cĩ
giao tiếp nối tiếp (các bộ chuyển đổi A/D, các thanh ghi dịch...). Một thanh ghi
gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả hai dữ liệu truyền
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
44
và nhận. Khi truyền dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF.
Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối
tiếp (SCON) (được địa chỉ hĩa từng bit) ở địa chỉ 98H.
h) Các thanh ghi ngắt :
8051 cĩ cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bị cấm sau khi reset hệ
thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ
A8H. Cả hai thanh ghi được địa chỉ hĩa từng bit.
i) Thanh ghi điều khiển cơng suất :
Thanh ghi điều khiển cơng suất (PCON) ở địa chỉ 87H chứa nhiều bit điều
khiển. Chúng được tĩm tắt trong bảng sau :
IV-Bảo vệ bộ nhớ
Các bit khố bộ nhớ chương trình. Vi điều khiển AT89C51 cĩ 3 bit khố
cĩ thể bỏ khơng lập trình (U) hoặc được lập trình (P) để nhận các đặc trưng thêm
vào được liệt kê trong bảng dưới đây (với LB1, LB2, LB3 là các bit khĩa tương
ứng).
4 – Khơng định nghĩa.
3 GF1 Bit cờ đa dụng 1.
2 GF0 Bit cờ đa dụng 0.
1 PD Giảm cơng suất, được set để kích hoạt
mode giảm cơng suất, chỉ thốt khi reset
0 IDL Mode chờ, set để kích hoạt mode chờ, chỉ
thốt khi cĩ ngắt hoặc reset hệ thống.
Bit Ký hiệu Ý nghĩa
7 SMOD Bit gấp đơi tốc đọ baud, nếu được set thì
tốc độ baud sẽ tăng gấp đơi trong các mode
1,2 và 3 của port nối tiếp.
6 – Khơng định nghĩa.
5 – Khơng định nghĩa.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
45
Chế độ LB1 LB2 LB3 Kiểu bảo vệ
1 U U U Khơng khố chương trình
2 P U U Các lệnh MOVC được thi hành từ bộ nhớ chương
trình ngồi bị cấm khi lấy các byte mã từ bộ nhớ
nội, /EA được lấy mẫu và được chốt lại khi reset và
hơn nữa, việc lập trình bộ nhớ Flash là bị cấm.
3 P P U Như chế độ 2 nhưng việc kiểm tra cũng bị cấm
4 P P P Như chế độ 3 nhưng việc thi hành ngồi cũng bị
cấm.
Khi bit khố 1 được lập trình, mức logic tại chân EA được lấy mẫu và chốt lại
khi reset. Nếu thiết bị được bật nguồn mà khơng cĩ reset, việc chốt sẽ được khởi
tạo với một giá trị ngẫu nhiên cho đến khi được reset. Giá trị được chốt của EA
phải bằng với mức logic hiện tại ở chân đĩ để cho thiết bị làm việc một cách
chính xác.
V-HOẠT ĐỘNG CỦA PORT NỐI TIẾP
1-Giới thiệu:
8051 cĩ một port nối tiếp trong chip cĩ thể hoạt động ở nhiều chế độ trên một
dãi tần số rộng. Chức năng chủ yếu của port nối tiếp là thực hiện chuyển đổi
song song sang nối tiếp đối với dữ liệu xuất, và chuyển đổi nối tiếp sang song
song với dữ liệu nhập.
Truy xuất phần cứng đến port nối tiếp qua các chân TXD và RXD. Các chân này
cĩ các chức năng khác với hai bit của Port 3, P3.1 ở chân 11 (TXD) và P3.0 ở
chân 10 (RXD).
Port nối tiếp cho hoạt động song cơng (full duplex : thu và phát đồng thời), và
đệm lúc thu (receiver buffering) cho phép một ký tự sẽ được thu và được giữ
trong khi ký tự thứ hai được nhận. Nếu CPU đọc ký tự thứ nhất trước khi ký tự
thứ hai được thu được thu đầy đủ thì dữ liệu sẽ khơng bị mất.
Hai thanh ghi chức năng đặc biệt cho phép phần mềm truy xuất đến port nối tiếp
là : SBUF và SCON. Bộ đệm port nối tiếp (SBUF) ở địa chỉ 99H thật sự là hai
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
46
bộ đệm. Viết vào SBUF để nạp dữ liệu sẽ được phát, và đọc SBUF để truy xuất
dữ liệu thu được. Đây là hai thanh ghi riêng biệt : thanh ghi chỉ ghi để phát và
thanh ghi chỉ đọc để thu.
Sơ đồ khối port nối tiếp.
Thanh ghi điều khiển port nối tiếp (SCON) ở địa chỉ 98H là thanh ghi cĩ địa chỉ
bit chứa các bit trạng thái và các bit điều khiển. Các bit điều khiển đặt chế độ
hoạt động cho port nối tiếp, và các bit trạng thái báo kết thúc việc phát hoặc thu
ký tự. Các bit trạnh thái cĩ thể được kiểm tra bằng phần mềm hoặc cĩ thể được
lập trình để tạo ngắt.
Tần số làm việc của port nối tiếp, cịn gọi là tốc độ baud cĩ thể cố định (lấy từ
bộ dao động trên chip). Nếu sử dụng tốc độ baud thay đổi, Timer 1 sẽ cung cấp
xung nhịp tốc độ baud và phải được lập trình.
2- Thanh ghi điều khiển port nối tiếp :
Chế độ hoạt động của port nối tiếp được đặt bằng cách ghi vào thanh ghi chế độ
port nối tiếp (SCON) ở địa chỉ 98H. Sau đây là các bảng tĩm tắt thanh ghi
SCON và các chế độ của port nối tiếp :
CLK SBUF Q
(chỉ ghi)
TXD
(P3.1)
Thanh ghi dịch
D
CLK
Xung nhịp
tốc độ baud
(phát)
Xung nhịp
tốc độ baud
(thu)
RXD
(P3.0)
SBUF
(chỉ đọc)
Bus nội 8051/8031
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
47
Tĩm tắt thanh ghi chế độ port nối tiếp SCON.
Các chế độ port nối tiếp.
Trước khi sử dụng port nối tiếp, phải khởi động SCON cho đúng chế độ. Ví dụ,
lệnh sau :
MOV SCON, #01010010B
khởi động port nối tiếp cho chế độ 1 (SM0/SM1 = 0/1), cho phép bộ thu (REN =
1) và đặt cờ ngắt phát (T1 = 1) để chỉ bộ phát sẵn sàng hoạt động.
3- Các chế độ hoạt động :
Port nối tiếp cĩ 4 chế độ hoat động, cĩ thể chọn được bằng cách viết các số 1
hay 0 vào các bit SM0 và SM1 trong SCON. Cĩ ba chế độ cho phép truyền
thơng bất đồng bộ, với mỗi ký tự được thu (nhận) hoặc phát đều được đĩng
khung bằng một bit start và 1 bit stop. Ở chế độ thứ tư, port nối tiếp hoạt động
như một thanh ghi dich đơn giản.
Bit Ký hiệu Địa chỉ Mơ tả
SCON.7 SM0 9FH Bit 0 của chế độ port nối tiếp.
SCON.6 SM1 9EH Bit 1 của chế độ port nối tiếp.
SCON.5 SM2 9DH Bit 2 của chế độ port nối tiếp. Cho phép truyền
thơng đa xử lý trong các chế đọ 2 và 3; RI
sẽ khơng bị tác động nếu bit thứ 9 thu được là
0.
SCON.4 REN 9CH Cho phép bộ thu phải được đặt lên 1 để thu
(nhận) các ký tự.
SCON.3 TB8 9BH Bit 8 phát, bit thứ 9 được phát trong các chế độ 2
và 3; được đặt và xĩa bằng phần mềm.
SCON.2 RB8 9AH Bit 8 thu, bit thứ 9 thu được.
SCON.1 TI 99H Cờ ngắt phát. Đặt lên 1 khi kết thúc phát ký tự;
được xĩa bằng phần mềm.
SCON.0 RI 98H Cờ ngắt thu. Đặt lên 1 khi kết thúc thu ký tự;
được xĩa bằng phần mềm.
SM0 SM1 Chế độ Mơ tả Tốc độ baud
0 0 0 Thanh ghi dịch Cố định (FOSC /12).
0 1 1 UART 8 bit Thay đổi (đặt bằng timer).
1 0 2 UART 9 bit Cố định (FOSC chia cho 12 hoặc 64).
1 1 3 UART 9 bit Thay đổi (đặt bằng timer).
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
48
a) Thanh ghi dịch 8 bit (chế độ 0) :
Chế độ 0 được chọn bằng cách ghi các bit 0 vào SM1 và SM0 của SCON, đưa
port nối tiếp vào chế độ thanh ghi dịch 8 bit. Dữ liệu nối tiếp vào và ra qua RXD
và TXD xuất xung nhịp dịch. 8 bit được phát hoặc thu với bit đầu tiên là LSB.
Tốc độ baud cố định ở 1/12 tần số dao động trên chip.
Việc phát đi được khởi động bằng bất cứ lệnh nào ghi dữ liệu vào SBUF. Dữ
liệu được dịch ra ngồi trên đường RXD (P3.0) với các xung nhịp được gửi ra
đường TXD (P3.1). Mỗi bit phát đi hợp lệ (trên RXD) trong một chu kỳ máy.
Trong mỗi chu kỳ máy, tín hiệu xung nhập xuống thấp ở S3P1 và trở về mức cao
ở S6P1.
Giản đồ thời gian port nối tiếp phát ở chế độ 0 .
Việc thu được khởi động khi bit cho phép bộ thu (REN) là 1 và bit ngắt thu (RI)
là 0. Qui tắc tổng quát là đặt REN khi bắt đầu chương trình để khởi động port
nối tiếp, rồi xĩa RI để bắt đầu hoạt động nhập dữ liệu.
Khi RI bị xĩa, các xung nhịp được đưa ra đường TXD, bắt đầu chu kỳ máy kế
tiếp, và dữ liệu theo xung nhịp ở đường RXD. Lấy xung nhịp cho dữ liệu vào
S1
P1 P2
S2
P1 P2
S3
P1 P2
S4
P1 P2
S5
P1 P2
S6
P1 P2
Một chu kỳ máy
OSC
ALE
Bit dữ liệu hợp lệ
Dữ liệu
xuất
Clock dịch
Clock dịch
(TXD)
D0 D1 D2 D3 D4 D5 D6 D7 Dữ liệu xuất
ALE
Phĩng to
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
49
port nối tiếp xảy ra ở cạnh dương của TXD.
Giản đồ thời gian port nối tiếp thu ở chế độ 0.
Một ứng dụng của chế độ thanh ghi dịch là mở rộng khả năng xuất của
8051/8031. IC thanh ghi dịch nối tiếp ra song song cĩ thể được nối vào các
đường TXD và RXD của 8051 để cung cấp thêm 8 đường ra. Cĩ thể nối xâu
chuỗi thêm các thanh ghi dịch để mở rộng thêm.
Chế độ thanh ghi dịch của port nối tiếp.
b) UART 8 bit với tốc độ baud thay đổi được (chế độ 1) :
Ở chế độ 1, port nối tiếp của 8051/8031 làm việc như một UART 8 bit với tốc độ
baud thay đổi được. Một UART (Universal Asynchronous Receiver/Transmitter
: Bộ thu/phát bất đồng bộ vạn năng) là một dụng cụ thu và phát dữ liệu nối tiếp
với mỗi ký tự dữ liệu đi trước là bit start ở mức thấp và theo sau là bit stop ở
mức cao. Đơi khi xen thêm bit kiểm tra chẵn lẻ giữa bit dữ liệu cuối cùng và bit
stop. Hoạt động chủ yếu của UART là chuyển đổi song song sang nối tiếp với dữ
liệu xuất và chuyển đổi nối tiếp sang song song với dữ liệu nhập.
Ở chế độ 1, 10 bit được phát trên TXD hoặc thu trên RXD. Những bit đĩ là : 1
bit start (luơn luơn là 0), 8 bit dữ liệu (LSB đầu tiên) và 1 bit stop (luơn luơn là
1). Với hoạt động thu, bit stop được đưa vào RB8 trong SCON. Trong 8051 chế
Clock dịch
(TXD)
ALE
Một chu kỳ máy
D0 D0 D0 D0 D0 D0 D0 D0
Dữ liệu nhập (RXD)
Clock Thanh ghi
Dữ liệu dịch
TXD (P3.1)
RXD (P3.0) 8051
Thêm 8 ngõ ra
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
50
dộ baud được đặt bằng tốc độ báo tràn của Timer 1.
Tạo xung nhịp và đồng bộ hĩa các thanh ghi dịch của port nối tiếp trong các chế
độ 1, 2 và 3 được thiết lập bằng bộ đếm 4 bit chia cho 16, ngõ ra
là xung nhịp tốc độ baud. Ngõ vào của bộ đếm này được chọn qua phần mềm
Tạo xung nhịp port nối tiếp.
Truyền dữ liệu (phát) được khởi động bằng cách ghi vào SBUF, nhưng vẫn chưa
thật sự bắt đầu chạy cho đến khi sự thay thế kế tiếp của bộ đếm chia cho 16
cung cấp tốc độ baud cổng nối tiếp. Dữ liệu được dịch ra ngồi trên đường TXD
bắt đầu bằng bit start, theo sau là 8 bit dữ liệu và sau cùng là bit stop. Độ rộng
(theo thời gian của mỗi bit) là nghịch đảo của tốc độ baud được lập trình trong
timer. Cờ ngắt phát (TI) được đặt lên 1 khi xuất hiện bit stop trên TXD.
Đặt cờ TI port nối tiếp.
Việc thu dữ liệu được khởi động bằng một chuyển trạng thái từ 1 xuống 0 trên
RXD. Bộ đếm 16 tức thời được xĩa để đồng bộ số đếm với luồng bit đến. Luồng
bit đến được lấy mẫu giữa 16 lần đếm.
Bộ thu sẽ phát hiện được bit start sai bằng cách yêu cầu trạng thái 0 ở (bit start)
ở lần đếm thứ 8 sau khi cĩ chuyển trạng thái từ 1 xuống 0 đầu tiên. Nếu điều này
Xung nhịp tốc độ baud
Thanh ghi dịch port nối tiếp
16 16 tốc độ baud
bit
start
bit
stop
D0 D1 D2 D3 D4 D5 D6 D7 TXD
1
tốc độ baud
TI (SCON.1)
Ngắt phát
(chuẩn bị cho dữ liệu)
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
51
khơng xảy ra, người ta giả sử là bộ thu được kích bởi nhiễu chứ khơng phải do
một ký tự hợp lệ. Bộ thu được reset và quay về trạng thái nghỉ (idle), tìm kiếm
(đợi) chuyển trạng thái từ 1 xuống 0 kế.
Giả sử đã phát hiện được bit start hợp lệ, thì tiếp tục thu ký tự. Bit start được bỏ
qua và 8 bit dữ liệu được đưa vào thanh ghi dịch cổng nối tiếp theo xung nhịp.
Khi đã cĩ được tất cả 8 bit, điều sau đây xảy ra :
1. Bit thứ 9 (bit stop) được chốt vào RB8 trong SCON.
2. SBUF được nạp với 8 bit dữ liệu.
3. Cờ ngắt bộ thu (RI) được đặt lên 1.
Tuy nhiên, những điều này chỉ xảy ra nếu đã cĩ những điều kiện sau :
1. RI = 0
2. SM2 = 1 và bit stop thu được là 1, hoặc SM2 = 0.
Địi hỏi RI = 0 để bảo đảm là phần mềm đã đọc ký tự trước (và RI được xĩa).
Điều kiện thứ hai hơi phức tạpn nhưng chỉ áp dụng trong chế độ truyền thơng đa
xử lý. Điều đĩ hàm ý là “khơng đặt RI lên 1 trong chế độ truyền thơng đa xử lý
khi bit dữ liệu thứ 9 là 0).
c) UART 9 bit với tốc độ baud cố định (chế độ 2) :
Khi SM1 = 1 và SM0 = 0, cổng nối tiếp làm việc ở chế độ 2, như một UART 9
bit cĩ tốc độ baud cố định. 11 bit sẽ được phát hoặc thu : 1 bit start, 8 bit dữ liệu,
bit dữ liệu thứ 9 cĩ thể lập trình được và 1 bit stop. Khi phát, bit thứ 9 là bất cứ
gì đã được đưa vào TB8 trong SCON (cĩ thể là bit parity). Khi thu, bit thứ 9 thu
được sẽ ở trong RB8. Tốc độ baud ở chế độ 2 là 1/32 hoặc 1/16 tần số dao động
trên chip.
d) UART 9 bit với tốc độ baud thay đổi được :
Chế độ này giống như chế độ 2 ngoại trừ tốc độ baud cĩ thể lập trình được và
được cung cấp bởi timer. Thật ra, các chế độ 1,2 và 3 rất giống nhau. Các khác
biệt là ở tốc độ baud (ccĩ định trong chế độ 2, thay đổi trong các chế độ 1 và 3)
và ở số bit dữ liệu (8 trong chế độ 1, 9 trong các chế độ 2 và 3).
4-Khởi động và truy xuất các thanh ghi cổng nối tiếp :
a) Cho phép thu :
Bit cho phép bộ thu (REN = Receiver Enable) trong SCON phải được đặt lên 1
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
52
bằng phầm mềm để cho phép thu các ký tự. Thơng thường thực hiện việc nàyở
đầu chương trình khi khởi động cổng nối tiếp, timer, ... Cĩ thể thực hiện việc này
theo hai cách. Lệnh :
SETB REN
sẽ đặt REN lên 1, hoặc lệnh :
MOV SCON, #xxx1xxxxB
sẽ đặt REN lên 1 và đặt hoặc xĩa các bit khác trong SCON khi cần (Các x phải
là 0 hoặc 2 để đặt chế độ làm việc.
b) Bit dữ liệu thứ 9 :
Bit dữ liệu thứ 9 cần phát trong các chế độ 2 và 3 phải được nạp vào trong TB8
bằng phần mềm. Bit dữ liệu dữ liệu thứ 9 thu được đặt ở RB8. Phần mềm cĩ thể
cần hoặc khơng cần bit dữ liệu thứ 9, phụ thuộc vào đặc tính kỹ thuật của thiết bị
nối tiếp sử dụng. (Bit dữ liệu thứ 9 cũng đĩng một vai trị quan trọng trong
truyền thơng đa xử lý).
c) Thêm 1 bit parity :
Thường sử dụng bit dữ liệu thứ 9 để thêm parity vào ký tự. Như đã xét ở các
chương trước, bit P trong từ trạng thái chương trình (PSW) được đặt lên 1 hoặc
bị xĩa mỗi chu kỳ máy để thiết lập kiểm tra chẵn với 8 bit trong thanh ghi tích
lũy. Ví dụ, nếu truyền thơng cần 8 bit dữ liệu cộng thêm kiểm tra chẵn, cĩ thể sử
dụng các lệnh sau để phát 8 bit trong thanh ghi tích lũy với kiển tra chẵn thêm
vào bit thứ 9 :
MOV C, P ; Đặt bit parity chẵn vào TB8
MOV TB8, C ; nĩ trở thành bit dữ liệu thứ 9
MOV SBUF, A ; Chuyển 8 bit từ ACC vào SBUF.
Nếu cần parity lẻ thì sửa các lệnh lại như sau :
MOV C, P ; Đặt bit parity chẵn vào cờ C
CPL C ; Đổi sang parity lẻ
MOV TB8, C
MOV SBUF, A
Dĩ nhiên, việc sử dụng parity khơng bị giới hạn ở các chế độ 2 và 3. Ở chế độ 1,
8 bit dữ liệu được truyền đi cĩ thể bao gồm 7 bit dữ liệu cộng thêm bit parity. Để
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
53
truyền mã ASCII 7 bit với parity chẵn ở bit 8, cĩ thể sử dụng các lệnh sau :
CLR ACC.7 ; bảo đảm MSB được xĩa
; parity chẵn ở trong P
MOV C, P
MOV ACC.7, C ; Đặt parity chẵn vào MSB
MOV SBUF, A ; Gởi ký tự đi
; 7 bit dữ liệu cộng prity chẵn.
d) Các cờ ngắt :
Hai cờ ngắt thu và phát (RI và TI) trong SCON đĩng một vai trị quan trọng
trong truyền thơng nối tiếp dùng 8051. Cả hai bit được đặt lên 1 bằng phần cứng,
nhưng phải được xĩa bằng phần mềm.
Ví dụ, thường RI được đặt lên 1 khi kết thúc việc thu ký tự và báo “bộ đệm thu
tràn”. Điều kiện này cĩ thể được kiểm tra trong phần mềm hoặc cĩ thể được lập
trình để gây ra một ngắt. Nếu phần mềm muốn nhập một ký tự từ thiết bị được
nối vào cổng nối tiếp (cĩ thể là thiết bị đầu cuối hiển thị video), nĩ phải đợi cho
đến khi RI được đặt lên 1, rồi xĩa RI và đọc ký tự từ SBUF. Chương trình như
sau :
WAIT : JNB RI, WAIT ; Kiểm tra RI cho đến khi nĩ = 1
CLR RI ; Xĩa RI
MOV A, SBUF ; Đọc ký tự
TI được đặt lên 1 ở cuối lúc phát ký tự và báo “ bộ đệm phát trống”. Nếu phần
mềm muốn gửi một ký tự đến một thiết bị được nối vào cổng nối tiếp, trước hết
nĩ phải kiểm tra xem cổng nối tiếp sẵn sàng chưa. Nĩi cách khác, nếu ký tự
trước đã được gởi đi, đợi cho đến khi việc truyền dữ liệu hồn tất trước khi gửi
ký tự kế. Các lệnh sau sẽ truyền ký tự trong thanh ghi tích lũy:
WAIT : JNB TI, WAIT ; Kiểm tra TI cho đến khi nĩ bằng 1
CLR TI ; Xĩa TI
MOV SBUF, A ; Gởi ký tự đi.
Các đoạn chương trình trên là một phần của các hàm nhập và xuất ký tự chuẩn.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
54
5-Tốc độ baud port nối tiếp :
Như đã nĩi, tốc độ baud cố định ở các chế độ 0 và 2. Trong chế độ 0, nĩ luơn
luơn là tần số dao động trên chip được chia cho 12. Thơng thường thạch anh ấn
định tần số dao động trên chip của 8051, nhưng cũng cĩ thể sử dụng nguồn xung
nhịp khác. Giả sử với tần số dao động danh định là 12 MHz, thì tốc độ baud chế
độ 0 là 1 MHz.
Các nguồn tạo xung nhịp cho port nối tiếp.
Mặc nhiên sau khi reset hệ thống, tốc độ baud chế độ 2 là tần số bộ dao động
chia cho 64. Tốc độ baud cũng bị ảnh hưởng bởi một bit trong thanh ghi điều
khiển nguồn cung cấp (PCON). Bit 7 của PCON là bit SMOD. Đặt bit SMOD
lên 1 làm gấp đơi tốc độ baud trong các chế độ 1, 2 và 3. Trong chế độ 2, tốc độ
baud cĩ thể bị gấp đơi từ giá trị mặc nhiên của 1/64 tần số dao động (SMOD =
0) đến 1/32 tần số dao động (SMOD = 1).
Vì PCON khơng được định địa chỉ theo bit, nên để đặt bit SMOD lên 1 cần phải
theo các lệnh sau :
MOV A, PCON ; Lấy giá trị hiện thời của PCON
SETB ACC.7 ; Đặt bit 7 (SMOD) lên 1
MOV PCON, A ; Ghi giá trị ngược về PCON.
12 xung nhịp tốc độ baud
dao động trên
chip
a) chế độ 0
32
xung nhịp tốc
độ baud
dao động trên
chip
c) các chế độ 1 và 3.
16
SMOD = 0
SMOD = 1
64
xung nhịp tốc
độ baud
dao động trên
chip
b) chế độ 2
32
SMOD = 0
SMOD = 1
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
55
Các tốc độ baud trong các chế độ 1 và 3 được xác định bằng tốc độ tràn của
Timer 1. Vì timer hoạt động ở tần số tương đối cao, tràn timer được chia thêm
cho 32 (16 nếu SMOD = 1) trước khi cung cấp xung nhịp tốc độ baudcho port
nối tiếp.
* Sử dụng Timer 1 làm xung nhịp tốc độ baud :
nạp lại (chế độ 2) và đặt giá trị nạp lại đúng vào TH1 để cho tốc độ tràn đúng với
tốc độ baud. TMOD được khởi động như sau :
Xét 8051, cách thơng dụng để tạo tốc độ baud là khởi động TMOD cho chế độ 8
bit tự động MOV TMOD, #0010xxxxB
Các x là các bit 1 hoặc 0 cần cho timer.
Cũng cĩ thể đạt được các tốc độ baud thấp bằng cách sử dụng timer chế độ 1 với
TMOD = 0001xxxxB. Tuy nhiên, tốn thêm phần mềm vì các thanh ghi TH1/TL1
phải được khởi động lại sau mỗi lần tràn. Việc này sẽ được thực hiện trong
chương trình phục vụ ngắt. Một chọn lựa khác là cấp xung nhịp cho Timer 1 từ
ngồi dùng T1(P3.5). Và luơn luơn tốc độ baud là tốc độ tràn của Timer 1 được
chia cho 32 (hoặc cho 16, nếu SMOD = 1).
Do việc làm trịn nên cĩ sai số nhỏ trong tốc độ baud. Tổng quát thì cho phép
dung sai 5Cơng thức tổng quát để xác định tốc độ baud trong các chế độ 1 và 3
là : Tốc độ baud = Tốc độ tràn của Timer 1 32.
Ví dụ, muốn làm việc với tốc độ baud là 1200 baud, thì tốc độ tràn của Timer 1
phải là : 1200 32 = 38.4 KHz.
Nếu dùng thạch anh 12 MHz, Timer 1 được cấp xung nhịp 1 MHz hay
1000 KHz. Vì tốc đơ tràn của Timer 1 là 38.4 KHz và timer được cấp xung nhịp
1000 KHz, thì cần tràn sau 1000 38.4 = 26.04 xung nhịp (làm trịn là 26). Vì
timer đếm lên và tràn xảy ra khi cĩ sự thay đổi từ FFH xuống 00H ở số đếm.
Như vậy giá trị đúng cần nạp vào TH1 là –26. Cách dễ nhất để đặt giá trị nạp lại
vào TH1 là :
MOV TH1, # –26
Trình hợp dịch sẽ thực hiện chuyển đổi cần thiết. Trong trường hợp này –26
được chuyển thành 0E6H. Như vậy, lệnh trên hồn tồn giống với lệnh :
MOV TH1, # 0E6H% trong truyền thơng bất đồng bộ
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
56
(start/stop). Cĩ thể cĩ được tốc độ baud chính xác nếu dùng thạch anh 11.059
MHz. Bảng sau đây tĩm tắt các giá trị nạp lại cho các tốc độ baud thơng dụng
nhất, dùng thạch anh 12 MHZ hoặc 11.059 MHz :
Bảng tĩm tắt tốc độ baud.
VI-CÁC NGẮT
1- Giới thiệu :
Một ngắt là sự xảy ra một điều kiện- một sự kiện- mà nĩ gây ra treo tạm thời
chương trình trong khi điều kiện đĩ được phục vụ bởi một chương trình khác.
Các ngắt đĩng một vai trị quan trọng trong thiết kế và cài đặt các ứng dụng vi
điều khiển. Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và
giải quyết sự kiện đĩ trong khi một chương trình khác đang thực thi.
Một hệ thống được điều khiển bằng ngắt cho ảo giác là làm nhiều việc đồng
thời. Dĩ nhiên CPU mỗi lần khơng thể thực thi hơn một lệnh. Nhưng nĩ cĩ thể
tạm treo việc thực thi một chương trình để thực thi chương trình khác, rồi quay
về chương trình thứ nhất. Theo cách này, nĩ giống như một chương trình con,
nhưng cĩ sự khác biệt trong hệ thống được điều khiển bằng ngắt là sự ngắt
quãng khơng xảy ra như kết quả của một lệnh (lệnh CALL subroutine), mà là
đáp ứng với một “sự kiện” xảy ra bất đồng bộ với chương trình chính. Người ta
khơng biết khi nào và ở đâu chương trình chính sẽ bị ngắt quãng.
Chương trình giải quyết ngắt được gọi là chương trình phục vụ ngắt (ISR :
Interrupt Service Routine) hoặc bộ xử lý ngắt. ISR thực thi khi đáp ứng ngắt va
Tốc độ
baud
9600 12.000 MHz 1 –7 (F9H) 8923 7%
2400 12.000 MHz 0 –13 (F3H) 2404 0.16%
1200 12.000 MHz 0 –26 (E6H) 1202 0.16%
19200 11.059 MHz 1 –3 (FDH) 19200 0
9600 11.059 MHz 0 –3 (FDH) 9600 0
2400 11.059 MHz 0 –12 (F4H) 2400 0
1200 11.059 MHz 0 –24 (E8H) 1200 0
Tần số
thạch anh
SMOD Giá trị nạp lại
vào TH1
Tốc độ baud
thật
Sai số
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
57
thơng thượngthưc hiện tác vụ nhập hay xuất với một thiết bị. Khi ngắt xảy ra,
chương trình chính tạm thời bị treo và rẻ nhánh đến ISR : ISR thực thi và kết
thúc bằng lệnh trở về từ ngắt, chương trình chính tiếp tục thực thi ở chỗ mà nĩ
tạm dừng. Thường người ta xem chương trình chính như thực thi ở mức nền (cơ
sở) (base - level) và các ISR thực
thi ở mức ngắt (interrupt - level). Người ta cũng dùng các thuật ngữ foreground
chỉ mức nền và background chỉ mức ngắt. Hình ảnh khái quát của các ngắt được
mơ tả
trong hình sau :
2-Tổ chức ngắt của 8051
Cĩ 5 nguồn ngắt ở 8051 : 2 ngắt ngồi, 2 ngắt từ timer và 1 ngắt port nối tiếp.
Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho
phép từng cái một bằng phần mềm.
Khi cĩ hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra trong khi một ngắt
khác đang được phục vụ, cĩ cả hai sự tuần tự hỏi vịng và sơ đồ ưu tiên hai mức
dùng để xác định việc thực hiện các ngắt. Việc hỏi vịng tuần tự thì cố định
nhưng ưu tiên ngắt thì cĩ thể lập trình được.
a) Cho phép và cấm các ngắt :
Mỗi nguồn ngắt được cho phép hoặc cấm từng ngắt một qua thanh ghi chức
năng đặc biệt cĩ định địa chỉ bit IE (Interrupt Enable : cho phép ngắt) ở địa chỉ
A8H. Cũng như các bit cho phép riêng biệt cho mỗi nguồn ngắt, cĩ một bit cho
phép/cấm tồn bộ được xĩa để cấm tất cả các ngắt hoặc được đặt lên 1 để cho
phép tất cả các ngắt.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
58
Tĩm tắt thanh ghi IE.
Hai bit phải được đặt lên 1 để cho phép bất kỳ ngắt nào : bit cho phép riêng và
bit cho phép tồn bộ. Ví dụ, các ngắt từ Timer 1 được cho phép như sau :
SETB ET1 ; Cho phép ngắt từ Timer 1
SETB EA ; Đặt bit cho phép tồn bộ.
Cũng cĩ thể sử dụng lệnh sau :
MOV IE, # 10001000B
Mặc dù hai cách này cĩ cùng hiệu quả sau khi reset hệ thống, nhưng hiệu quả sẽ
khác nếu IE được ghi ở giữa chương trình. Cách thứ nhất khơng ảnh hưởng đến
5 bit khác trong thanh ghi IE, trái lại cách thứ hai sẽ xĩa các bit khác. Nên khởi
trị IE theo cách thứ hai ở đầu chương trình (nghĩa là sau khi mở máy hoặc reset
hệ thống), nhưng cho phép và cấm các ngắt ngay trong chương trình nên dùng
cách thứ nhất để tránh ảnh hưởng đến các bit khác trong thanh ghi IE.
Bit Ký hiệu Địa chỉ bit Mơ tả (1 = cho phép, 0 = cấm)
IE.7 EA AFH Cho phép/cấm tồn bộ.
IE.6 – AEH Khơng được định nghĩa.
IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052).
IE.4 ES ACH Cho phép ngắt port nối tiếp.
IE.3 ET1 ABH Cho phép ngắt từ Timer 1.
IE.2 EX1 AAH Cho phép ngắt ngồi.
IE.1 ET0 A9H Cho phép ngắt từ Timer 0.
IE.0 EX0 A8H Cho phép ngắt ngồi 0.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
59
b) Ưu tiên ngắt :
Mỗi nguồn ngắt được lập trình riêng vào một trong hai mức ưu tiên qua thanh
ghi chức năng đặc biệt được địa chỉ bit IP (Interrupt Priority : Ưu tiên ngắt) ở địa
chỉ B8H.
Tĩm tắt thanh ghi IP.
IP bị xĩa sau khi reset hệ thống để (mặc nhiên) đặt tất cả các ngắt ở mức ưu tiên
thấp hơn. Ý tưởng “ưu tiên” cho phép một ISR sẽ bị ngắt bởi một ngắt nếu ngắt
cĩ độ ưu tiên cao hơn ngắt đang phục vụ. Điều này thì rõ ràng trên 8051/8031, vì
chỉ cĩ hai mức ưu tiên. Nếu một ISR cĩ ưu tiên thấp đang thực thi khi một ngắt
cĩ ưu tiên cao xảy ra thì ISR bị ngắt. ISR cĩ ưu tiên cao khơng thể bị ngắt.
Chương trình chính thực thi ở mức nền và khơng liên hệ với bất cứ ngắt nào, cĩ
thể luơn luơn bị ngắt quãng bất chấp ưu tiên của ngắt. Nếu hai ngắt cĩ độ ưu tiên
khác nhau xảy ra đồng thời thì ngắt cĩ độ ưu tiên cao hơn sẽ được phục vụ trước.
c) Hỏi vịng tuần tự :
Nếu hai ngắt cùng độ ưu tiên xảy ra đồng thời, sự hỏi vịng tuần tự sẽ xác định
cái nào được phục vụ trước tiên. Hỏi vịng tuần tự là bên ngồi 0, Timer 0, bên
ngồi 1, Timer 1, port nối tiếp và Timer 2.
Hình sau minh họa 5 nguồn ngắt, cơ chế riêng biệt và tồn bộ, hỏi vịng tuần tự
và các mức ưu tiên. Trạng thái của tất cả các nguồn ngắt khả dụng qua các bit cờ
tương ứng trong các SFR. Dĩ nhiên, nếu cĩ bất kỳ ngắt nào bị cấm, ngắt khơng
xảy ra, nhưng phần mềm vẫn cĩ thể kiểm tra cờ ngắt. Các ví dụ timer và port nối
tiếp trong các mục trước đã sử dụng các cờ ngắt một cách mở rộng mà thật sự
khơng dùng ngắt.
Bit Ký hiệu Địa chỉ bit Mơ tả (1 = mức cao hơn, 0 = mức thấp hơn)
IP.7 – – Khơng được định nghĩa.
IP.6 – – Khơng được định nghĩa.
IP.5 PT2 BDH Ưu tiên cho ngắt từ Timer 2 (8052).
IP.4 PS BCH Ưu tiên cho ngắt port nối tiếp.
IP.3 PT1 BBH Ưu tiên cho ngắt từ Timer 1.
IP.2 PX1 BAH Ưu tiên cho ngắt ngồi.
IP.1 PT0 B9H Ưu tiên cho ngắt từ Timer 0.
IP.0 PX0 B8H Ưu tiên cho ngắt ngồi 0.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
60
`
Tổng thể kiến trúc ngắt của 8051.
Ngắt port nối tiếp cĩ từ logic OR của ngắt thu (RI) và ngắt phát (TI). Các bit cờ
tạo các ngắt được tĩm tắt ở bảng sau :
IE0 IT0
1
0
INT0
IE1 IT1
1
0
INT1
TF0
TF1
RI
TI
Ngắt ưu tiên cao
Ngắt ưu tiên thấp
Chấp nhận ngắt
Cho phép tồn bộ
Các cho phép ngắt
Tuần tự hỏi vịng ngắt
Ngắt Cờ Thanh ghi SFR và vị trí bit
Bên ngồi 0 IE0 TCON.1
Bên ngồi 1 IE1 TCON.3
Timer 1 TF1 TCON.7
Timer 0 TF0 TCON.5
Port nối tiếp TI SCON.1
Port nối tiếp RI SCON.0
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
61
3- Xử lý ngắt :
Khi ngắt xảy ra và được CPU chấp nhận, chương trình chính bị ngắt quãng.
Những hoạt động sau xảy ra :
– Lệnh hiện hành hồn tất việc thực thi.
– Cất PC vào ngăn xếp.
– Trạng thái ngắt hiện hành được cất bên trong.
– Các ngắt bị chặn ở mức ngắt.
– Nạp vào PC địa chỉ vector của ISR.
– ISR thực thi.
ISR thực thi và đáp ứng ngắt. ISR hồn tất bằng lệnh RETI (quay về từ ngắt).
Điều này làm lấy lại giá trị cũ của PC từ ngăn xếp và lấy lại trạng thái ngắt cũ.
Thực thi chương trình chính tiếp tục ở chỗ mà nĩ bị dừng.
* Các vector ngắt :
Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là vector ngắt. Nĩ là địa
chỉ bắt đầu của ISR cho nguồn tạo ngắt. Các vector ngắt được cho ở bảng sau :
Các vector ngắt.
Vector reset hệ thống (RST ở địa chỉ 0000H) được để trong bảng này vì theo
nghĩa này, nĩ giống ngắt : nĩ ngắt chương trình chính và nạp cho PC giá trị mới.
Khi “chỉ đến một ngắt”, cờ gây ngắt tự động bị xĩa bởi phần cứng. Các ngoại lệ
là RI và TI với các ngắt port nối tiếp. Vì cĩ hai nguồn cĩ thể cĩ cho ngắt này,
khơng thực tế để CPU xĩa cờ ngắt này. Các bit phải được kiểm tra trong ISR để
xác định nguồn ngắt và cờ tạo ngắt sẽ được xĩa bằng phần mềm. Thơng thường
một rẽ nhánh xảy ra với một phản ứng thích hợp, phụ thuộc vào nguồn ngắt.
Vì các vector ngắt ở phần đầu của bộ nhớ chương trình, lệnh thứ nhất của
Ngắt Cờ Địa chỉ vector
Reset hệ thống RST 0000H
Bên ngồi 0 IE0 0003H
Timer 0 TF0 000BH
Bên ngồi 1 IE1 0013H
Timer 1 TF1 001BH
Port nối tiếp TI hoặc RI 0023H
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
62
chương trình chính thường là lệnh nhảy qua vùng nhớ này, ví dụ như
LJMP 0030H.
4- Thiết kế chương trình dùng các ngắt :
Các ví dụ trong các mục trước đã khơng sử dụng các ngắt nhưng đã cĩ các
“vịng lặp đợi” để kiểm tra các cờ báo tràn (TF0 hoặc TF1) hoặc các cờ thu và
phát port nối tiếp (TI hoặc RI). Vấn đề trong phương pháp này là thời gian thực
thi cĩ giá trị của CPU hồn tồn bị tiêu tốn trong việc đợi các cờ. Điều này hồn
tồn khơng thích hợp với các ứng dụng cho điều khiển trong đĩ bộ vi điều khiển
phải tương tác với nhiều thiết bị nhập và xuất đồng thời.
Trong phần này ta sẽ khảo sát cách phát triển chương trình dùng ngắt để điều
khiển.
Khung đề nghị cho một chương trình độc lập dùng ngắt như sau :
ORG 0000H ; Điểm vào reset
LJMP MAIN :
ORG 0030H ; Điểm vào chương trình chính
MAIN : ; Chương trình chính bắt đầu.
Lệnh thứ nhất nhảy đến địa chỉ 0030H, vừa trên các vị trí vector mà các ISR bắt
đầu. Như được vẽ ở hình sau, chương trình chính bắt đầu ở địa chỉ 0030H.
LJMP main 0000H
0029H
0030H
FFFFH
Chương trình chính
Các điểm vào
reset và ngắt
Bộ nhớ chương trình bên ngồi
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
63
Tổ chức bộ nhớ khi dùng các ngắt.
a) Các chương trình phục vụ ngắt cĩ kích thước nhỏ :
Các chương trình phục vụ ngắt phải bắt đầu ở gần phần đầu của bộ nhớ chương
trình ở các địa chỉ trong bảng Các vector ngắt. Mặc dù chỉ cĩ 8 byte ở giữa các
điểm vào ngắt, thường đủ bộ nhớ để thực hiện hoạt động mong muốn và quay về
chương trình chính từ ISR.
Nếu chỉ cĩ một nguồn ngắt được sử dụng, ví dụ Timer 0, thì cĩ thể sử dụng
khung sau :
ORG 0000H ; Reset
LJMP MAIN
ORG 000BH ; Điểm vào Timer 0
T0ISR : ; ISR cho Timer 0 bắt đầu
RETI ; Quay về chương trình chính
MAIN : ; Chương trình chính Nếu
sử dụng nhiều ngắt, phải cẩn thận, bảo đảm là chúng bắt đầu ở vị trí đúng và
khơng chạy quá sang ISR kế. Vì chỉ cĩ một ngắt được sử dụng trong ví dụ trên,
chương trình chính cĩ thể bắt đầu ngay sau lệnh RETI.
b) Các chương trình phục vụ ngắt cĩ kích thước lớn :
Nếu ISR dài hơn 8 byte, cĩ thể cần chuyển nĩ tới nơi nào đĩ trong bộ nhớ
chương trình hoặc cĩ thể để nĩ đi lố qua điểm vào của ngắt kế. Tiêu biểu là ISR
bắt đầu với lệnh nhảy đến vùng nhớ khác ở đĩ cĩ thể mở rộng chiều dài ISR. Ví
dụ lúc này chỉ xét Timer 0, cĩ thể sử dụng khung sau :
ORG 0000H ; Điểm vào reset
LJMP MAIN
ORG 000BH ; Điểm vào Timer 0
LJMP T0ISR
ORG 0030H ; Các vector ngắt tiếp theo
MAIN : :
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
64
T0ISR : ; ISR cho Timer 0
RETI ; Quay về chương trình chính.
Để đơn giản, chương trình của chúng ta sẽ chỉ làm một việc lúc đầu. Chương
trình khởi động timer, port nối tiếp và các thanh ghi ngắt cho thích hợp và rồi
khơng làm gì cả. Cơng việc hồn tồn được làm trong ISR. Sau các lệnh khởi
động, chương trình chính chứa lệnh sau :
HERE : SJMP HERE
hay dạng viết gọn như sau :
SJMP $
Khi ngắt xảy ra, chương trình chính bị ngắt quãng tạm thời trong khi ISR thực
thi. Lệnh RETI ở cuối ISR trả diều khiển về chương trình chính và nĩ tiếp tục
khơng làm gì cả. Trong nhiều ứng dụng điều khiển, nhiều cơng việc thật ra được
thực hiện hồn tồn trong ISR.
Vì sử dụng ngắt, nên lệnh SJMP $ (HERE : SJMP HERE) cĩ thể được thay thế
bằng các lệnh thực hiện các cơng việc khác cần trong ứng dụng.
5- Các ngắt của 8051:
a) Các ngắt timer :
Các ngắt timer cĩ địa chỉ vector ngắt là 000BH (Timer 0) và 001BH (Timer 1).
Ngắt timer xảy ra khi các thanh ghi timer (TLx/THx) tràn và set cờ báo tràn
(TFx) lên 1.
Chú ý rằng các cờ timer (TFx) khơng bị xĩa bằng phần mềm. Khi cho phép các
ngắt, TFx tự động bị xĩa bằng phần cứng khi CPU chuyển đến ngắt.
b) Các ngắt cổng nối tiếp :
Ngắt cổng nối tiếp xảy ra khi hoặc cờ ngắt phát (TI) hoặc cờ ngắt thu (RI) được
đặt lên 1. Ngắt phát xảy ra khi truyền một ký tự vừa được ghi vào SBUF. Ngắt
thu xảy ra khi một ký tự đã được nhận xong và đang đợi trong SBUF để được
đọc.
Ngắt cổng nối tiếp hơi khác với ngắt timer. Cờ gây ra ngắt cổng nối tiếp khơng
bị xĩa bằng phần cứng khi CPU chuyển tới ngắt. Nguyên do là cĩ hai nguồn
ngắt cổng nối tiếp : TI và RI. Nguồn ngắt phải được xác định trong ISR và cờ
tạo ngắt sẽ được xĩa bằng phần mềm.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
65
c) Các ngắt ngồi :
Các ngắt ngồi xảy ra khi cĩ một mức thấp hoặc cạnh xuống trên chân INT0
hoặc INT1 của 8051. Đây là các chức năng chuyển đổi của các bit Port 3 : P3.2
(chân 12) và P3.3 (chân 13).
Các cờ tạo các ngắt này là các bit IE0 và IE1 trong TCON. Khi quyền điều khiển
đã chuyển đến ISR, cờ tạo ra ngắt chỉ được xĩa nếu ngắt được tích cực bằng
cạnh xuống. Nếu ngắt được tích cực theo mức, thì nguồn yêu cầu ngắt bên ngồi
sẽ điều khiển mức của cờ thay cho phần cứng.
Sự lựa chọn ngắt tích cực mức thấp hay tích cực cạnh xuống được lập trình qua
các bit IT0 và IT1 trong TCON. Ví dụ, nếu IT1 = 0, ngắt ngồi 1 được kích khởi
bằng mức thấp ở chân INT1. Nếu IT1 = 1, ngắt ngồi 1 sẽ được kích khởi bằng
cạnh. Trong chế độ này, nếu các mẫu liên tiếp của trên chân INT1 chỉ mức cao
trong một chu kỳ và thấp trong chu kỳ kế, cờ yêu cầu ngắt IE1 trong TCON
được đặt lên 1. Rồi bit cờ IE1 yêu cầu ngắt.
Vì các chân ngắt ngồi được lấy mẫu một lần ở mỗi chu kỳ máy, ngõ vào nên
được giữ trong tối thiểu 12 chu kỳ dao động để bảo đảm lấy mẫu đúng. Nếu ngắt
ngồi được tác động theo cạnh xuống, nguồn bên ngồi phải giữ chân yêu cầu
cao tối thiểu 1 chu kỳ và giữ nĩ ở mức thấp thêm một chu kỳ nữa để bảo đảm
phát hiện được cạnh xuống. IE0 và IE1 tự động được xĩa khi CPU chuyển tới
ngắt.
Nếu ngắt ngồi được tác động theo mức, nguồn bên ngồi phải giữ yêu cầu tác
động cho đến khi ngắt được yêu cầu thật sự được tạo ra. Rồi nĩ phải khơng tác
động yêu cầu trước khi ISR được hồn tất, nếu khơng một ngắt khác sẽ được lặp
lại. Thơng thường khi vào ISR người ta làm nguồn yêu cầu đưa tín hiệu tạo ngắt
về trạng thái khơng tác động.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
66
6- Giản đồ thời gian khi xảy ra một ngắt :
Các ngắt được lấy mẫu và chốt ở S5P2 của mỗi chu kỳ máy :
Lấy mẫu các ngắt ở S5P2.
Chúng được hỏi vịng ở chu kỳ máy kế tiếp và nếu một điều kiện ngắt tồn tại, nĩ
sẽ được chấp nhận nếu :
(*) khơng cĩ ngắt khác cĩ độ ưu tiên bằng hoặc cao hơn đang xảy ra,
(**) chu kỳ hỏi vịng là chu kỳ cuối trong một lệnh,
(***) lệnh hiện hành khơng là lệnh RETI hoặc bất cứ truy xuất nào đến
IE hoặc IP.
Trong hai chu kỳ kế, bộ xử lý cất PC vào ngăn xếp và nạp vào PC địa chỉ vector
ngắt. ISR bắt đầu thực thi. Lệnh hiện hành khơng phải là lệnh RETI để bảo đảm
cĩ tối thiểu một lệnh được thực thi sau mỗi chương trình phục vụ ngắt.
Một chu kỳ máy (1s)
S1
P1 P2
S2
P1 P2
S3
P1 P2
S4
P1 P2
S5
P1 P2
S6
P1 P2
Các ngắt được
lấy mẫu
0.25s
12MHz
Chu kỳ 1 Chu kỳ 2 * Chu kỳ 3 Chu kỳ 4 Chu kỳ 5
Các ngắt được
lấy mẫu
Các ngắt được
hỏi vịng
Ngắt được chấp nhận
(PC được cất vào ngăn xếp)
ISR bắt đầu
* : phải là chu kỳ máy cuối cùnh của lệnh
Hỏi vịng các ngắt.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
67
PHẦN II : THIẾT KẾ MẠCH ĐIỀU KHIỂN ROBOT
VÀ CÁC MẠCH
I.Khối mạch nguồn
1.Thơng số thiết kế:
nguồn cung cấp cho robot cĩ 2 giá trị nguồn 5V và nguồn 12V
+Nguồn 12V được lấy trực tiếp từ acquy 12V5Ah. Nguồn 12V cung cấp cho
động cơ và mạch điều khiển từ xa.là nguồn 1 chiều tương đối phẳng nên vấn đề
lọc bằng các tụ cho nguồn là khơng cần thiết.
+Nguồn 5V cấp cho các khối mạch xử lý và khối cảm biến
Từ nguồn acquy 12V em điều áp 5V bằng LM7805
Trong khối mạch nguồn sử dụng thêm một số điện trở han dịng cho các Led
hiển thị cho các nguồn 12V và 5V
J1
ACQUY12V/5Ah
1
2
1
2
10
0
oh
m
J7
KHOI XU LY
1 2
U3
LM7805
1
3
2
VIN
G
ND
VOUT
J6
DOVACH
1 2
10
0
oh
m
J4
MACH LAI
1 2
J2
DONG CO
1 2
J3
DIEUKHIENTUXA
1 2
J5
CB VAT CAN
1 2
1
2
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
68
II.Khối mạch cơng suất:
Khối bao gồm 2 mạch để điều khiển 2 động cơ:
SƠ ĐỒ NGUYÊN LÝ MẠCH CƠNG SUẤT
NGUYÊN LÝ HOẠT ĐỘNG:
Khi cĩ tín hiệu mức 0 ở chân P2.5 v à P2.7 thì 2 động cơ quay thuận.
Khi cĩ tín hiệu mức 0 ở chân P2.4 v à P2.6 thì 2 động cơ quay nghịch
Khi cĩ tín hiệu mức 1 ở chân P2.4 , P2.5 , P2.6 , P2.7. th ì cả 2 động cơ dừng
Trong mạch bao gồm:
1.opto 4N35: nhiệm vụ cách ly mạch điều khiển với khối mạch tải động cơ.và
là bộ đệm cho mạch cơng suất.là một thiết bị tích hợp của bộ phototransistor.
Nguồn cấp cho đầu vào 5V ->6V dịng là 60mA. nguồn cấp cho đầu ra là Vceo
là từ 5v -> 30V,Veb=7V,Vcb=70V, dịng Ic =150mA
J4
5V1
2
0
0
D1
LED
L1
L2
U3
C1815
0
12V
R5
1k
K1
RELAY DPDT
3
4
5
6
8
7
1
2 D2
LED
J1
chan dieu khien dua den khoi dieu khien
1 2
L2L1
HI
R2
10K
R1
330
HI
J3
12V
1
2
M1
IRF540
L1
U1
4N35
1 6
2
5
4
12V
HI
R3
330
U2
4N35
1 6
2
5
4
R4
10k
12
V
J2
HEADER 2
1
2
D5
1N66501
2
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
69
( SƠ ĐỒ CHÂN CỦA OPTO 4N35)
“ GIÃN ĐỒ THỜI GIAN XUNG KÍCH VÀ ĐÁP ỨNG ĐẦU RA”
2.rơley 2 trạng thái: mục đích là đĩng ngắt điều khiển động cơ chạy thuận và
chạy nghịch.Em sử dụng loại rolay 2 trạng thái này nhằm hạn chế MOSFET
trong mạch
Vì động cơ phải hoạt động liên tục do đĩ yêu cầu đĩng ngắt nhiều nên rể bị
cháy MOSFET.
Khi sử dụng rơlay 2 trạng thái sẽ hạn chế điều đĩ.
Dưới đây là cấu tạo của rơley: Bao gồm 1 cuộn dây và 2 cặp tiếp điểm thường
đĩng và thường hở.
Nguồn cấp cho cuộn dây là 12V. dịng cấp cho cuộn dây là 16.7mA -> cần điện
trở hạn dịng cho cuộn dây là từ 720 ohm -> 1 K
Các tiếp điểm của rơley cung cấp cho áp cho động cơ 12V nên được cung cấp áp
là 12V.
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
70
“
"SƠ ĐỒ CHÂN CỦA RƠLEY"
3.transistor C1815: nhiệm vụ khuếch đại tín hiệu điều khiển từ opto. Và cấp
GND cho cuộn dây của rơley. nguyên nhân chọn C1815 là transistor thuộc họ
BJT NPN này chịu áp kích tương đối lớn Vce= 5V -> 50V. Vcb =60V
,Veb=5V.dịng Ic=150mA Ib=50mA.trong sơ đồ mạch cơng suất chỉ dùng ăcquy
12V nên đủ áp kích cho transistor hoạt động.
4.MOSFETS:(METAL-OXIDE-SEMICONDUCTOR )
MOSFET sử dụng từ trường bên trong để điều khiển dịng điện đi qua linh kiện
. chúng ta cĩ thể dùng điện áp cực dương hoặc cực âm để điều khiển dịng điện.
Cực nền hầu hết thường được nốI đến điện áp phân cực âm nhất của mosfets .
trong mosfets 3 cực , cực nền được nốI bên trong tớI chân nguồn. Mosfet kênh N
cĩ mũi tên cuả cực nền hướng vào trong .mosfet kênh P mũi tên hướng ra ngồi.
Hai loạI mosfets nà đều giống nhau nhưng khác nhau về điện áp phân cực.
Q1
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
71
Mosfet khuếch tán:
Bao gồm kênh N và kênh P. các kênh tạo nên từ cực cổng khác loạI. Mosfets
được sử dụng trong tự động điều chỉnh độ lợI áp AGC
Mosfet tăng
Trong cấu tạo của nĩ cực máng và cực nền khơng nốI nhau, giống như
mosfet bán dẫn . mosfet tăng chỉ làm việc vớI điện áp giữa cực cổng và
cực nguồn là âm, MOSFET tăng được sử dụng trong mạch số và mạch LSI
4.1. MOSFET IRF640: nhiệm vụ đĩng mở cổng cấp GND cho động cơ.
Mosfet IRF640 là họ BJT NPN kích bằng áp. áp kích cho mosfet khoảng từ 5V
tới 200V. với dịng ngưỡng là I=18A. trong mạch cĩ sử dụng một điện trở 10K
là để hạn dịng cho mosfet. Dưới đây là sơ đồ chân của mosfet IRF640
“GIÃN ĐỒ THỂ HIỆN PHỤ THUỘC NHIỆT ĐỘ VÀ XUNG KÍCH CỦA
MOSFET”
Q2
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
72
“ SƠ ĐỒ BỐ CHÂN VÀ CÁ THƠNG SỐ ÁP DỊNG CỦA MOSFET “
III.Mạch điều khiển
Sơ đồ nguyên lý em sẽ trình bày ở phần phụ lục A3 cuối sách.
Là mạch điều khiển mọi họat động của robot
Các thơng số yêu cầu cần thiết kế như:
Mạch được thiết kế với những yêu cầu của đề tài sử lý những khối cảm biến như
dị vạch,vật cản, và khối điều khiển từ xa.
Mạch được thiết kế với vi xử lý trung tâm là Chip AT89C51,và những IC làm bộ
đệm để mở rộng port cho vi xử lý như: IC74HC573,IC74HC245,
Trong mạch xử lý ngịai việc xử lý tín hiệu đầu vào là số mức 0 ứng với áp
0V.mức 1 ứng với áp 5V. em cịn thiết kế cho trường hợp đọc tín hiệu đầu vào là
tương tự (Analog) dùng IC ADC 0809. IC74HC393 làm nhiệm vụ cung cấp
xung nhip cho ADC0809.
Thơng số cần thiết kế cho mạch xử lý là:
Tất cả IC trong khối mạch xử lý đều phải được cung cấp nguồn là 5V.nguồn
5V này cĩ thể được cung cấp từ khối nguồn riêng đã được thiết kế riêng . họac
cĩ thể được điều áp từ nguồn acquy qua mạch điều áp LM7805 trên board điều
khiển.
Các thơng số của các linh kiện,IC trong đề tài:
LUẬN VĂN TỐT NGHIỆP : THIẾT KẾ ROBOT DI ĐỘNG
73
1.với vi xử lý trung tâm AT89C51
tổng quan về họ vi xử lý này đã được trình bày phần trên.
Giao tiếp xuất nhập (input/output)
+ Port 1 dùng giao tiếp bàn phím
+Port 0 dùng cho giao tiếp các khối. Điều khiển từ xa, dị vạch, mạch lái, hiển
thi LCD, và mạch vật cản. Port này được kéo lên bằng băng điện trở 4.7K. khối
xử lý ADC cũng được giao tiếp qua P0.
+port 2 dùng cho việc điều khiển động cơ của robot bằng các chân P2.4,P2.5.
P2.6, P2.7. và các
Các file đính kèm theo tài liệu này:
- robo di dong.pdf