Tải bản đầy đủ (.docx) (67 trang)

Thiết kế và thi công ROBOT vận chuyển hàng

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

LỜI CẢM ƠN
Với sự giúp đỡ tận tình của các thầy cô trong khoa Điện tử Viễn thôngTrường Đại học Bách Khoa- Đại học Đà Nẵng cùng với người thân, gia đình và bạn
bè, em đã hoàn thành đồ án theo đúng thời gian quy định.
Để đạt được thành công này, em xin chân thành cảm ơn thầy giáo – ThS.
Nguyễn Duy Nhật Viễn, người đã chỉ bảo tận tình cho em trong suốt thời gian thực
hiện đề tài. Bên cạnh đó, em cũng xin chân thành cảm ơn đến các thầy cô giáo trong
khoa Điện tử Viễn thông đã tận tình dạy dỗ em trong hai năm học vừa qua. Cuối
cùng, em xin gởi lời cảm ơn chân thành đến gia đình, bạn bè đã giúp đỡ em hoàn
thành đồ án này.
Em xin chân thành cảm ơn.
Đà Nẵng, ngày 24, tháng 05 năm 2012
Sinh viên thực hiện
Võ Văn Tài

1


MỤC LỤC
LỜI CẢM ƠN.......
LỜI CAM ĐOAN .
MỤC LỤC .........................................................................................................................................
CÁC TỪ VIẾT TẮT...............................................................................................................................
MỞ ĐẦU ....

ALE

Address Latch Enable

BCD

Binary Coded Decimal (ATM)



CAD/CAM Computer/Aided Design/Computer-Aided Manufacture
CMOS

Complementary Metal-Oxide-Semiconductor

DC

Direct Current

EA

External Acces

EEPROM

Flash Programmable and erasable read only memory

IE

Interrupt Enable

I/O

Input/Output

PC

Personal Computer or Printed Circuit


PLC

Programmable Logic Controller

PSEN

Program store enable

RAM

Random Access Memory

ROM

Read Only Memory

RST

Reset

TCON

Timer Control Register

TMOD

Timer Mode Register

TTL


Transistor–Transistor Logic

UART

Universal Asynchronous Receiver Transmitter

2


THIẾT KẾ VÀ THI CÔNG ROBOT VẬN CHUYỂN HÀNG
Chương 1: Tổng Quan về đề tài
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
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với
sự phát triển của khoa học kỹ thuật nên chúng em đã chọn đề tài " Thiết kế & thi
công robot vận chuyển hàng " để đáp ứng được yêu cầu công việc ngày càng cao
của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của đất nước.
Đồ án được thực hiện gồm 3 phần:
PHẦN A: GIỚI THIỆU, giới thiệu một cách khái quát về đề tài.
PHẦN B: NỘI DUNG, gồm 4 chương.
Chương 1: Tổng quan về đề tài, nêu lên những vấn đề hiện nay có liên quan đến đề
tài, tầm quan trọng của vấn đề và hướng giải quyết vấn đề đó. Cơ sở lý luận, trình
bày tổng quát đề cương đồ án, các phương pháp, cách thức thực hiện và kế hoạch để
thực hiện đề tài.
Chương 2: Giới thiệu tổng quát về vi điều khiển AT89C51, khảo sát sơ đồ chân, tổ
chức bộ nhớ, hoạt động Timer, hoạt động port nối tiếp, ngắt,… và các linh kiện sử
dụng trong đề tài.
Chương 3: Giới thiệu tổng quát, thiết kế, tính toán và thi công đồ án: “Thiết kế &

thi công robot vận chuyển hàng”, nhiệm vụ thiết kế, sơ đồ khối của robot, nguyên lý
hoạt động, chức năng và tính chọn sử dụng linh kiện trong các khối.
Chương 4: Thiết kế chương trình cho robot và giao tiếp với máy tính.
Kết luận và hướng phát triển của đề tài.
PHẦN C: PHỤ LỤC
Chương 2: Khảo sát vi điều khiển AT89C51 và linh kiện trong mạch
1. AT89C51

3


AT89C51 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất lượng
cao, với 4 KB EEPROM (Flash Programmable and erasable read only memory).
Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ không bốc hơi mật độ cao của
ATMEL và tương thích với chuẩn công nghiệp MCS – 51 về tập lệnh và các chân
ra. AT89C51 là một vi điều khiển mạnh (có công suất lớn) mà nó cung cấp một sự
linh động cao và giải pháp về giá cả đối với nhiều ứng dụng vì điều khiển.
Đặc điểm của AT89C51:
-

4 KB bộ nhớ có thể lập trình lại nhanh.

-

Tần số hoạt động từ: 0Hz đến 24 MHz.

-

2 bộ Timer/counter 16 Bit


-

128 Byte RAM nội

-

4 Port xuất/ nhập I/O 8 bít

-

Giao tiếp nối tiếp

-

64 KB vùng nhớ mã ngoài

-

64 KB vùng nhớ dữ liệu ngoài

-

Xử lý Boolean (hoạt động trên bit đơn)

-

210 vị trí nhớ có thể định vị bit.

AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có
24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt

động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các
bus dữ liệu và bus địa chỉ.
Port 0: là port có 2 chức năng ở các chân 32 – 39 của 89C51. Trong các thiết kế
cỡ nhỡ không dùng hộ nhớ mở rộng nó có chức năng như các đường I/O. Đối với
các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ
liệu.
Port 1: là port I/O trên các chân 1 – 8. Các chân được ký hiệu P1.0, P1.2,... có
thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng
khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài.

4


Port 2: là 1 port có tác dùng kép trên các chân 21 – 28 được dùng như các đường
xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.
Port 3: Port 3 là port có tác dụng kép trên các chân 10-17. Các chân của port này
có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt
của 89C51
2. Các linh kiện khác sử dụng trong đề tài

Max 232 là IC của hãng Maxim dùng để chuyển đổi tín hiệu từ chuẩn RS-232
sang TTL và ngược lại. Các thông số kĩ thuật của MAX232:
-

Nguồn cung cấp: +5V.

-

Đặc trưng: tốc độ chuyển đổi cao hơn, đỉnh nhỏ.


-

Giá trị thông thường của tụ là: 1µF.

-

Data rate : 200kbps.

IC74LS47 là loại IC giải mã BCD sang led 7 đoạn, IC 74LS47 là loại IC tác
động ở mức thấp có ngõ ra cực thu để hở và khả năng nhận dòng đủ cao để thúc
trực tiếp các đèn led 7 đoạn loại anod chung.
Một số thông số làm việc của IC 74ls47
-

Điện áp cung cấp cực đại :
Điện áp ngõ vào max
:

7v
7v

-

Nhiệt độ khi làm việc tốt :

-

Khoảng nhiệt độ dao động cho phép : -65 C => 150 C

0 C => 70 C


Opto là loại linh kiện tích hợp có cấu tạo gồm một led và một photo diode hay
một photo transitor.Được sử dụng để cách ly giữa các khối chênh lệch nhau về điện
hay công suất như khối công suất nhỏ (dòng nhỏ,điện áp 5V) với khối điện áp lớn
dòng lớn và áp lớn.
Led 7 đoạn có thể xem như 7 con led đơn ghép lại , có 1 đầu nối chung còn 1
đầu để hở đưa ra ngoài để phân cực cho led. Đây là lọai đèn dùng hiển thị các số từ
0 đến 9, đèn gồm 7 đọan a, b, c, d, e, f, g, bên dưới mỗi đọan là một led (đèn nhỏ)
hoặc một nhóm led mắc song song (đèn lớn).

5


Chương 3: Thiết kế, tính toán và thi công

Hình 1. Sơ đồ khối tổng quát
Nguyên lý họat động toàn mạch trên Robot:
Đầu tiên giá trị tọa độ được nhập từ chương trình giao tiếp trên máy tính sau đó
tọa độ sẽ được truyền xuống khối xử lý trung tâm qua bộ thu phát Dmi32. Bộ phát
Dmi32 có tác dụng mã hóa tín hiệu được truyền từ máy tính xuống qua giao tiếp
RS232 sau đó phát đi, bộ Dmin32 thu có tác dụng giải mã tín hiệu thu được truyền
xuống bộ xử lý. Khối xử lý trung tâm mà ở đây là vi điều khiển AT89C51 sẽ tính
toán tọa độ, xác định hướng di chuyển sau đó sẽ cho robot di chuyển đến tọa độ
bằng cách điều khiển khối công suất. Ở đây tọa độ hiện tại cũng như sau khi di
chuyển được hiển thị trên 4 led 7 đoạn. Việc biết được robot chạy đến tọa độ hay
chưa dựa vào tín hiệu đuợc lấy từ encoder để tính toán đuợc quãng đường di
chuyển. Sau khi di chuyển đến đúng vị trí robot sẽ gắp hàng. Sau đó chúng ta tiếp
tục nhập tọa độ để robot vận chuyển hàng hóa đến vị trí đó. Ngoài việc trên robot

6



còn có thể di chuyển theo nhiều hướng khác nhau bằng cách điều khiển các nút tới,
lùi, rẽ phải, rẽ trái trên giao diện.
Thiết kế, tính toán và thi công các khối:
+ Thiết kế, tính toán và thi công khối nguồn
+ Thiết kế, tính toán và thi công khối công suất
+ Thiết kế, tính toán và thi công khối xử lý trung tâm
+ Thiết kế, tính toán và thi công khối D-mi32
+ Thiết kế, tính toán và thi công khối cảm biến (encoder và công tắc hành trình)
+ Thiết kế, tính toán và thi công khối hiển thị
+ Thiết kế, tính toán và thi công khối giao tiếp máy tính
Chương 4: Thiết kế chương trình cho Robot và giao tiếp máy tính
Khối khởi tạo

Vòng lặp chính của chương trình

Các chương trình con xử lý hoạt động

Các chương trình con phục vụ ngắt

Hình 2. Sơ đồ khối của chương trình cho một robot

Hình 3. Giao diện chương trình giao tiếp
7


CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Robot là loại máy có thể lập trình điều khiển tự động bằng máy tính (máy tính
ở đây có thể được hiểu là một bộ vi điều khiển hoặc một máy tính PC) để thực hiện

các di chuyển, cầm nắm các vật, hoàn thành các công việc dưới tác động của môi
trường. Thường robot được sử dụng để thực hiện các công việc lặp đi lặp lại, các
công việc dễ gây nhàm chán, nó cho các kết quả chính xác, nhanh hơn, rẻ hơn nếu
được thực hiện bởi con người.
1.1. Lịch sử ra đời và phát triển
Thuật ngữ Robot lần đầu tiên xuất hiện năm 1921 ở Tiệp Khắc trong tác phẩm
R.U.R (Rossum’s Universal Robot) của nhà soạn kịch Karel Capek mang ý nghĩa
người làm tạp dịch. Kể từ đó thuật ngữ này được sử dụng rộng rãi.
Khái niệm máy tự động xuất hiện từ lâu với những viễn tưởng về người máy trong
cuộc sống. Ngay sau chiến tranh thế giới lần thứ hai, nhiều công trình được bắt đầu
tại các phòng thí nghiệm OakRidge và Argome để phát triển các máy cơ khí được
điều khiển từ xa nhằm phục vụ trong các phòng thí nghiệm về vật liệu phóng xạ.
Các cánh tay này được thiết kết mô phỏng một cách chính xác sự chuyển động của
bàn tay và cánh tay con người.
Trong giữa những năm 1950, bên cạnh các cánh tay cơ khí đó đã xuất hiện các cánh
tay thuỷ lực và điện từ. Cũng trong những năm này, George C.Devol đã thiết kế
một thiết bị có tên là thiết bị vận chuyền có khớp nối được lập trình (programmed
artculated transfer device). Đây là một cánh tay máy mà hoạt động của nó có thể
được lập trình thực hiện một chuỗi các bước chuyển động được xác định trong các
câu lệnh trong chương trình. Phát triển xa hơn ý tưởng trên, Devol và Joseph
F.Engelberger đã dẫn đường cho các robot công nghiệp đầu tiên được giới thiệu
năm 1959 ở công ty Unimation. Thiết bị này sử dụng máy tính liên kết với tay máy
nhằm dạy cho nó thực hiện các công việc khác nhau một cách tự động .
Khi robot được lập trình đã tạo một sự kỳ lạ và tạo ra sức mạnh trong sản xuất, vào
năm 1960 như một sự tất yếu, sự linh hoạt của hệ thống robot được nâng cao đáng
kể thông qua hệ thống phản hồi từ các sensor. Tiếp đó H.A.Ernst đã công bố sự ra
đời và phát triển của bàn tay cơ khí được điều khiển bằng máy tính sử dụng các

8



sensor xúc giác. Đây là sự xuất hiện đầu tiên về robot có khả năng thích ứng với
môi trường.
Vào cuối những năm 1960, Mc Carthy cùng bạn đồng nghiệp đã công bố sự phát
triển của máy tính cùng với camera vô tuyến và microphone. Năm 1968 Pieper đã
nghiên cứu những vấn đề động học trong điều khiền robot bằng máy tính, trong khi
đó năm 1971 Kanh và Roth đã phân tích về động lực học và giới hạn điều khiển tay
máy.
Trong suốt những năm 1970, một số lượng lớn các công trình nghiên cứu đã tập
trung vào việc sử dụng các sensor ngoại để tăng sự tiện lợi và linh hoạt cho robot.
Vào thời gian này công ty máy tính IBM đã chế tạo ra loại robot có các sensor xúc
giác và sensor lực để lắp ráp các máy in gồm 20 cụm chi tiết . Một lĩnh vực được
nhiều phòng thí nghiệm quan tâm là robot tự hành, robot di động. Nhiều công trình
nghiên cứu đã thiết kế, xây dựng tạo ra các robot tự hành bắt chước chân người
hoặc súc vật.
Trong những thập kỷ 80 - 90 do sự phát triển mạnh mẽ của khoa học kỹ thuật, đặc
biệt trong lĩnh vực kỹ thuật vi xử lý và công nghệ thông tin, số lượng robot đã gia
tăng, giá thành giảm đi rõ rệt, tính năng có nhiều bước tiến vượt bậc.
Các robot di động có người điều khiển đã được dùng cho các mục đích quân sự, các
nhiệm vụ nguy hiểm như phá mìn, thăm dò đáy đại dương, hầm mỏ, kiểm tra các
đường ống ngầm, hay thăm dò sao Hỏa…
Sản phẩm robot di động được sản xuất đại trà và đưa vào thị trường lần đầu tiên là
robot hút bụi Roomba và Trilobite của hãng Electrolux năm 2003.
Ngày nay, chuyên ngành khoa học robot (robotics) đã trở thành một lĩnh vực rộng
trong khoa học, bao gồm việc giải quyết các vấn đề về cấu trúc cơ cấu động học,
động lực học, lập trình quỹ đạo, cảm biến tín hiệu, điều khiển chuyển động.v.v.
1.2. Các thế hệ robot
Kể từ khi khái niệm robot ra đời, việc thiết kế và chế tạo robot đã trải qua nhiều
giai đoạn với nhiều thế hệ khác nhau. Có 5 thế hệ robot ra đời kể từ năm 1960.
Thế hệ thứ nhất: Bao gồm các loại robot hoạt động lặp lại theo một chu trình không

thay đổi. Chương trình điều khiển có hai dạng:
9


- Chương trình “cứng”, nghĩa là không thay đổi hoặc không sửa được trừ khi thay
đổi phần cứng.
- Chương trình có thể thay đổi được thông qua các panel điều khiển hoặc thông
qua máy tính.
Các robot thế hệ này sử dụng cơ cấu điều khiển servo vòng hở (open-loop nonservo
controlled system ). Đây là hệ thống không sử dụng thông tin phản hồi từ môi
trường về để điều khiển robot.
Thế hệ thứ hai: Robot được trang bị các sensor cho phép robot giao tiếp với môi
trường bên ngoài. Các thiết bị này thực chất là các bộ biến đổi năng lượng. Nó
chuyển các đại lượng không điện thành đại lượng điện mà qua đó bộ điều khiển
robot có thể biết được trạng thái của môi trường xung quanh nó. Nhờ các sensor
này robot có thể chọn các phương án khác nhau một cách linh hoạt nhằm thích nghi
với môi trường bên ngoài. Dạng robot với trình độ điều khiển này còn được gọi là
robot điều khiển thích nghi cấp thấp. Đây gọi là cơ cấu điều khiển servo vòng kín
(closed-loop servo controller system).
Thế hệ thứ ba: các bộ điều khiển logic khả trình PLC (Programmable Logic
Controller) được sử dụng trong robot với nhiều chức năng chuyên biệt .
Thế hệ thứ tư: Khác với PLC bị giới hạn trong chương trình của chúng, thế hệ robot
này sử dụng các máy tính được trang bị các ngôn ngữ lập trình đặc biệt hoặc ngôn
ngữ chuẩn như Basic, C, C++...., để tạo ra nhiều ứng dụng CAD/CAM và CIM
hoặc chương trình không trực tuyến.
Thế hệ thứ năm: Các bộ điều khiển của robot sử dụng trí tuệ nhân tạo (artificial
intelligence). Robot được trang bị các kỹ thuật như nhận dạng tiếng nói, hình ảnh,
xác định khoảng cách, cảm nhận đối tượng tiếp xúc (da nhân tạo) để xử lý, ra những
quyết định hợp lý. Ngoài ra robot được trang bị mạng Neuron giúp nó có khả năng
tự học, tự xây dựng kiến thức .

1.3. Những xu hướng phát triển của robot hiện đại
Các robot hiện đại sẽ có xu hướng tăng trong tương lai giúp con người có thể tạo
ra các sản phẩm mới, bảo vệ cơ sở hạ tầng của thế giới, phục vụ trong quân sự,
chăm sóc nhà cửa, giải trí, mua bán…

10


Một xu hướng quan trọng trong nghiên cứu và phát triển robot là phát triển các hệ
thống máy vi cơ điện tử (MEMS) có kích thước nhỏ từ vài cm tới mm thậm chí nhỏ
hơn µm. Các robot rất nhỏ này có thể di chuyển vào trong mạch máu để phân phối
thuốc hoặc làm vệ sinh mạch máu; chúng có thể di chuyển trong một máy tính lớn
để chuẩn đoán các vấn đề xảy ra với máy tính.
1.4. Tổng quan về đề tài
1.4.1. Giới thiệu đề tài
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật,
công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò
quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp
thông tin... Do đó là một sinh viên chuyên ngành Điện tử - Viễn thông chúng ta phải
biết nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển
nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói
riêng. Bên cạnh đó còn là sự thúc đẩy sự phát triển của nền kinh tế nước nhà.
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.
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống, cộng với sự
phát triển của khoa học kỹ thuật nên chúng em đã chọn đề tài " Thiết kế & thi
công robot vận chuyển hàng " để đáp ứng được yêu cầu công việc ngày càng cao
của con người và góp phần vào sự tiến bộ, văn minh, hiện đại của đất nước.
1.4.2. Mục đích và phương pháp nghiên cứu
Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những kiến
thức đã được học trong nhà trường để Thiết kế & thi công Robot vận chuyển hàng
11


hóa dựa vào phương pháp xác định tọa độ. Robot được thiết kế làm các công việc
như: di chuyển theo tọa độ để gắp hàng, nâng hàng, nhả hàng, đi tới, lùi, quay trái,
quay phải. Gía trị tọa độ của robot được nhập từ chương trình giao tiếp trên máy
tính sau đó tín hiệu được mã hóa để truyền đi bằng sóng RF và giải mã bằng bộ Dmi32 và giá trị tọa độ được hiển thị trên led 7 đoạn, mạch giao tiếp với máy tính
theo chuẩn RS485. Robot còn được thiết kế bộ phận cảm biến để giúp nó di chuyển
và thực hiện chính xác công việc. Các bộ cảm biến công tắc hành trình được gắn
trên robot để Robot gắp hang, nhả hang, nâng lên và hạ xuống chính xác.
1.4.3. Đề cương chi tiết
Đồ án được thực hiện gồm 3 phần:
PHẦN A: GIỚI THIỆU, giới thiệu một cách khái quát về đề tài.
PHẦN B: NỘI DUNG, gồm 4 chương.
Chương 1: Tổng quan về đề tài, nêu lên những vấn đề hiện nay có liên quan đến đề
tài, tầm quan trọng của vấn đề và hướng giải quyết vấn đề đó. Cơ sở lý luận, trình
bày tổng quát đề cương đồ án, các phương pháp, cách thức thực hiện và kế hoạch để
thực hiện đề tài.
Chương 2: Giới thiệu tổng quát về vi điều khiển AT89C51, khảo sát sơ đồ chân, tổ
chức bộ nhớ, hoạt động Timer, hoạt động port nối tiếp, ngắt,… và các linh kiện sử
dụng trong đề tài.
Chương 3: Giới thiệu tổng quát, thiết kế, tính toán và thi công đồ án: “Thiết kế &

thi công robot vận chuyển hàng”, nhiệm vụ thiết kế, sơ đồ khối của robot, nguyên lý
hoạt động, chức năng và tính chọn sử dụng linh kiện trong các khối.
Chương 4: Thiết kế chương trình cho robot và giao tiếp với máy tính.
Kết luận và hướng phát triển của đề tài.
PHẦN C: PHỤ LỤC
1.4.4. Phương pháp thực hiện
Trong đề tài này nhóm em đã sử dụng các phương pháp thực hiện:
- Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí về
điện tử và truy cập từ mạng internet.

12


- Phương pháp quan sát: khảo sát một số mạch điện thực tế đang có trên thị
trường, tham khảo thêm một số dạng mạch từ mạng Internet và tham khảo các mạch
điện từ các anh chị, các bạn từng tham gia chơi Robocon.
- Phương pháp thực nghiệm: từ những ý tưởng và kiến thức vốn có của mình kết
hợp với sự hướng dẫn của giáo viên, nhóm em đã lắp ráp thử nghiệm nhiều dạng
mạch khác nhau để từ đó chọn lọc những mạch điện tối ưu.
Với đề tài này, nhóm em dựa vào sách giáo khoa và những kiến thức được trang
bị trong quá trình học tập cùng với sự trợ giúp của máy tính và những thông tin trên
mạng Internet. Ngoài ra, còn có những thiết bị trợ giúp trong quá trình thiết kế mạch
do nhóm em tự trang bị.
1.5. Kết luận chương
Chương này đã giới thiệu về lịch sử ra đời, sự phát triển và những xu hướng
phát triển của các thế hệ robot. Giới thiệu về đề tài, mục đích và phương pháp
nghiên cứu để chọn phương án thực hiện.

13



CHƯƠNG 2:
KHẢO SÁT VI ĐIỀU KHIỂN AT89C51 VÀ LINH KIỆN TRONG MẠCH
2.1. Giới thiệu chương.
Trong chương 2 này sẽ giới thiệu và khảo sát những vấn đề liên quan đến chip vi
điều khiển AT89C51 và các linh kiện được sử dụng trong mạch bao gồm:


Giới thiệu họ MCS-51.



Khảo sát sơ đồ chân AT89C51.



Cấu trúc bên trong vi điều khiển AT89C51



Hoạt động Timer.



Hoạt động port nối tiếp



Max 232, max 485, led 7 đoạn.


2.2. Giới thiệu cấu trúc phần cứng họ MCS-51 và vi điều khiển AT89C51
2.2.1. Giới thiệu họ MCS-51
MCS-51 là họ IC vi điều khiển do hãng Intel sản xuất. Các sản phẩm MCS-51
thích hợp cho những ứng dụng điều khiển. Việc xử lý trên byte và các toán số học ở
cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên
RAM nội. Tập lệnh cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồm
cả lệnh nhân và lệnh chia. Nó cung cấp những hổ trợ mở rộng trên chip dùng cho
những biến một bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra bit
trực tiếp trong điều khiển và những hệ thống logic đòi hỏi xử lý luận lý.
2.2.2. Giới thiệu vi điều khiển AT89C51
2.2.2.1. Khái quát các tính năng.
AT89C51 là một vi điều khiển 8 Bit, chế tạo theo công nghệ CMOS chất lượng
cao, với 4 KB EEPROM (Flash Programmable and erasable read only memory).
Thiết bị này được chế tạo bằng cách sử dụng bộ nhớ không bốc hơi mật độ cao của
ATMEL và tương thích với chuẩn công nghiệp MCS – 51 về tập lệnh và các chân
ra. AT89C51 là một vi điều khiển mạnh (có công suất lớn) mà nó cung cấp một sự
linh động cao và giải pháp về giá cả đối với nhiều ứng dụng vì điều khiển.

14


T2EX

2.2.2.2. Tóm tắt đặc điểm AT89C51.
-

4 KB bộ nhớ có thể lập trình lại nhanh.

-


Tần số hoạt động từ: 0Hz đến 24 MHz.

-

2 bộ Timer/counter 16 Bit

-

128 Byte RAM nội

-

4 Port xuất/ nhập I/O 8 bít

-

Giao tiếp nối tiếp

-

64 KB vùng nhớ mã ngoài

-

64 KB vùng nhớ dữ liệu ngoài

-

Xử lý Boolean (hoạt động trên bit đơn)


-

210 vị trí nhớ có thể định vị bit.

2.2.3. Sơ đồ khối của AT89C51.

Hình 2.1. Sơ đồ khối của AT89C51

15


2.3. Khảo sát đồ chân của AT89C51.
2.3.1. Sơ đồ chân AT89C51.

Hình 2.2. sơ đồ chân của AT89C51
2.3.2. Sơ lược chức năng các chân của AT89C51
AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có
24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt
động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các
bus dữ liệu và bus địa chỉ.
Port 0: là port có 2 chức năng ở các chân 32 – 39 của 89C51. Trong các thiết kế
cỡ nhỡ không dùng hộ nhớ mở rộng nó có chức năng như các đường I/O. Đối với
các thiết kế cỡ lớn có bộ nhớ mở rộng, nó được kết hợp giữa bus địa chỉ và bus dữ
liệu.
Port 1: là port I/O trên các chân 1 – 8. Các chân được ký hiệu P1.0, P1.2,... có
thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng
khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài.
Port 2: là 1 port có tác dùng kép trên các chân 21 – 28 được dùng như các đường
xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng.


16


Port 3: Port 3 là port có tác dụng kép trên các chân 10-17. Các chân của port này
có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt
của 89C51 như ở bảng sau:
Bit

Tên

Chức năng chuyển đổi

P3.0

RXT

Ngõ vào dữ liệu nối tiếp

P3.1

TXD

Ngõ xuất dữ liệu nối tiếp

P3.2

INT0\

Ngõ vào ngắt 0


P3.3

INT1\

Ngõ vào ngắt 1

P3.4

T0

Ngõ vào của TIMER/COUNTER 0

P3.5

T1

Ngõ vào của TIMER/COUNTER 1

P3.6

WR\

Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

P3.7

RD\

Tín hiệu đọc dữ liệu bộ nhớ ngoài.


 Ngõ tín hiệu PSEN (Program store enable):

PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình
mở rộng thường được nói đến chân 0E\ (output enable) của EPROM cho phép đọc
các byte mã lệnh.
PSEN ở mức thấp trong thời gian Microcontroller 89C51 lấy lệnh. Các mã lệnh của
chương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi
lệnh bên trong 89C51 để giải mã lệnh. Khi 89C51 thi hành chương trình trong ROM
nội PSEN sẽ ở mức logic 1.
 Ngõ tín hiệu điều khiển ALE (Address Latch Enable):

Khi 89C51 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus
dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ
30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết

17


nói chúng với IC chốt. Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian
port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.
 Ngõ tín hiệu EA\ (External Acces):

Tín hiệu vào /EA ở chân 31 thường được mắc lên nguồn. Nếu ở mức 1, 89C51 thi
hành chương trình từ ROM nội trong khoảng địa chỉ thấp 8 Kbyte. Nếu ở mức 0,
89C51 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân /EA được lấy làm chân
cấp nguồn 21V khi lập trình cho EPROM trong 89C51.
 Ngõ tín hiệu RST (Reset): Ngõ vào RST ở chân 9 là ngõ vào Reser của

89C51.
Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên

trong được nập những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch
tự động Reset.
-

Các ngõ vào bộ giao động X1, X2:

Bộ dao động được tích hợp bên trong 89C51, khi sử dụng 89C51 người thiết kế
chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ. Tần số thạch anh
thường sử dụng cho 89C51 là 12 Mhz.
-

Chân 40 (Vcc) được nổi lên nguồn 5V.

2.4. Cấu trúc bên trong vi điều khiển.

Bộ nhớ trên chip

External Momery
Hình 2.3. Sơ đồ bộ nhớ

18


RAM

CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT

Hình 2.4. Bản đồ bộ nhớ Data trên Chip

19



2.5. Hoạt động TIMER của 89C51.
2.5.1. Giới thiệu.
- Bộ định thời của Timer là một chuỗi các Rlip Flop được chia làm 2, nó nhận tín
hiệu vào là một nguồn xung clock, xung clock được đưa vào Flip Flop thứ nhất là
xung clock của Flip Flop thứ hai mà nó cũng chia tần số clock này cho 2 và cứ tiếp
tục.
- Vì mỗi tầng kế tiếp chia cho 2, nên Timer n tầng phải chia tần số clock ngõ vào
cho 2n. Ngõ ra của tầng cuối cùng là clock của Flip Flop tràn Timer hoặc cờ mà nó
kiểm tra bởi phần mềm hoặc sinh ra ngắt. Giá trị nhị phân trong các FF của bộ
Timer có thể được nghỉ như đếm xung clock hoặc các sự kiện quan trọng.
- Các Timer của 89C51 được truy xuất bởi việc dùng 6 thanh ghi chức năng đặc biệt
như sau:
SFR của
bộ định
thời

Mục đích

TCON

Điều khiển

88H

TMOD

Chọn chế độ


89H

Không

TL0

Byte thấp của Timer0

8AH

Không

TL1

Byte thấp củaTimer1

8BH

Không

TH0

Byte cao của Timer0

8CH

Không

TH1


Byte cao củaTimer1

8DH

Không

Địa chỉ

Định địa chỉ bit



2.5.2. Thanh ghi mode timer TMOD (TIMER MODE REGISTER):
Thanh ghi TMOD gồm hai nhóm 4 bit là: 4 bit thấp đặt mode hoạt động cho
Timer 0 và 4 bit cao đặt mode hoạt động cho Timer 1.8 bit của thanh ghi TMOD
được tóm tắt như sau:
20


Bit

Name

B nh thi

Mụ t

7

GATE


1

Khi GATE = 1, Timer ch lm vic INTI=1

6

C/T

1

Bớt cho m s kin hay nh thi
C/T = 1 : m s kin
C/T = 0 : nh thi

5

M1

1

Bit chn mode ca Timer 1

4

M0

1

Bit chn mode ca Timer 1


3

GATE

0

Bit cng ca Timer 0

2

C/T\

0

Bit chn Counter/ Timer ca Timer 0

1

M1

0

Bit chn mode ca Timer 0

0

M0

0


Bit chn mode ca Timer 0

Vi hai bit M0 v M1 ca TMOD chn mode cho Timer 0 hoc Timer 1
M1

M0

Cheỏ ủoọ

Moõ taỷ

0

0

0

Mode Timer 13 bit (mode 8048)

0

1

1

Mode Timer 16 bit

1


0

2

Mode t ng np 8 bit

1

1

3

Mode Timer tỏch ra:
Timer 0: TL0 l Timer 8 bit c iu khin bi
cỏcbit ca
Timer 0. TH0 tng t nhng c iu khin bi

21


các bit của mode Timer 1.
Timer 1: Được ngừng lại.
2.5.3. Thanh ghi điều khiển Timer TCON: (TIMER CONTROL REGISTER):
Thanh ghi điều khiển bao gồm các bit trạng thái và các bit điều khiển bởi Timer
0 và Timer 1. Thanh ghi TCON có bit định vị. Hoạt động của từng bit được tóm tắt
như sau:
Bit

Ký hiệu


Địa chỉ bit

Mô tả

TCON.7

TF1

8FH

Cờ tràn Timer 1 được set bởi phần cứng ở
sự tràn, được xóa bởi phần mềm hoặc bởi
phần cứng khi các vectơ xử lý đến thủ tục
phục vụ ngắt ISR.

TCON.6

TR1

8EH

Bit điều khiển chạy Timer 1 được set hoặc
xóa bởi phần mềm để chạy hoặc ngưngchạy
Timer.

TCON.5

TF0

8DH


Cờ tràn Timer 0 (hoạt động tương tự TF1)

TCON.4

TR0

8CH

Bit điều khiển chạy Timer 0 (giống TR1)

TCON.3

IE1

8BH

Cờ kiểu ngắt 1 ngoài. Khi cạnh xuống xuất
hiện trên INT1 thì IE1 được xóa bởi phần
mềm hoặc phần cứng khi CPU định hướng
đến thủ tục phục vụ ngắt ngoài.

TCON.2

IT1

8AH

Cờ kiểu ngắt 1 ngoài được set hoặc xóa bằng
phần mềm bởi cạnh kích hoạt bởi sự ngắt

ngoài.

TCON.1

IE0

89H

Cờ cạnh ngắt 0 ngoài

TCON.0

IT0

88H

Cờ kiểu ngắt 0 ngoài.

22


2.5.4. Các mode và cờ tràn (TIMER MODES AND OVERFLOW) :
AT89C51 có 2 Timer và Timer 0 và Timer 1. Ta dùng ký hiệu TLx và Thx để
chỉ 2 thanh ghi byte thấp và byte cao của Timer 0 hoặc Timer 1.
 Mode Timer 13 bit (MODE 0):

Mode 0 là mode Timer 13 bit, trong đó byte cao của Timer (THx) được đặt thấp
và 5 bit trọng số thấp nhất của byte thấp Timer (TLx) đặt cao để hợp thành Timer
13 bit. 3 bit cao của TLx không dùng.
 Mode Timer 16 bit (MODE 1):


-

Mode 1 là mode Timer 16 bit, tương tự như mode 0 ngoại trừ Timer này hoạt động
như một Timer đầy đủ 16 bit, xung clock được dùng với sự kết hợp các thanh ghi
cao và thấp (TLx, THx). Khi xung clock được nhận vào, bộ đếm Timer tăng lên
0000H, 0001H, 0002H, ...., và một sự tràn sẽ xuất hiện khi có sự chuyển trên bộ
đếm Timer từ FFFH sang 0000H và sẽ set cờ tràn Timer, sau đó Timer đếm tiếp. Cờ
tràn là bit TFx trong thanh ghi TCON mà nó sẽ được đọc hoặc ghi bởi phần mềm.
Bit có trọng số lớn nhất (MSB) của giá trị trong thanh ghi Timer là bit 7 của THx và
bit có trọng số thấp nhất (LSB) và bit 0 của TLx.
Các thanh ghi Time.
 Mode tự động nạp 8 bit (MODE 2):
Mode 2 là mode tự động nạp 8 bit, byte thấp TLx của Timer hoạt động như một
Timer 8 bit trong khi byte cao THx của Timer giữ giá trị Reload. Khi bộ đếm tràn từ
FFH sang 00H, không chỉ cờ tràn được set mà giá trị trong THx cũng được nạp vào
TLx: Bộ đếm được tiếp tục từ giá trị này lên đến sự chuyển trạng thái từ FFH sang
23


00H kế tiếp và cứ thế tiếp tục. Mode này thì phù hợp bởi vì các sự tràn xuất hiện cụ
thể mà mỗi lúc nghỉ thanh ghi TMOD và THx được khởi động.
 Mode Timer tách ra (MODE 3):

Mode 3 là mode Timer tách ra và là sự khác biệt cho mỗi Timer.
- Timer 0 ở mode 3 được chia là 2 timer 8 bit. TL0 và TH0 hoạt động như những
Timer riêng lẻ với sự tràn sẽ set các bit TL0 và TF1 tương ứng.
- Timer 1 bị dừng lại ở mode 3, nhưng có thể được khởi động bởi việc ngắt nó vào
một trong các mode khác. Chỉ có nhược điểm là cờ tràn TF1 của Timer 1 không bị
ảnh hưởng bởi các sự tràn của Timer 1 bởi vì TF1 được nối với TH0.

- Khi timer 0 ở chế độ 3, timer 1 vẫn có thể sử dụng bởi port nối tiếp như tạo tốc độ
baud (vì nó không còn được nối với TF1).
2.5.5. Khởi động, dừng và điều khiển các timer:
Bit TRx trong thanh ghi TCON được điều khiển bởi phần mềm để bắt đầu hoặc
kết thúc các Timer. Để bắt đầu các Timer ta set bit TRx và để kết thúc Timer ta
Clear TRx. Ví dụ Timer 0 được bắt đầu bởi lệnh SETB TR0 và được kết thúc bởi
lệnh CLR TR0 (bit Gate= 0). Bit TRx bị xóa sau sự reset hệ thống, do đó các Timer
bị cấm
Thêm phương pháp nữa để điều khiển các Timer là dùng bit GATE trong thanh ghi
On Chip

TMOD
và ngõ vào Osc.
INTx\. Điều này được dùng để đo các độ rộng xung.
12 MHz
12

T1 (P3.5)

C/T\

TL1

TH1

TF1

(16 Bit)
0 = Up
0 = Up

1 = Down 1 = Down

TR1
24
INT1\ (P3.3)

GATE


Hình 2.5 : Timer Operating Mode 1.
On-chip osc : mạch dao động bên trong chip
0 = Up

: 0 = vị trí trên

1 = Down

: 1 = vị trí dưới

2.6. Hoạt động port nối tiếp
2.6.1. Giới thiệu:
AT89C51 có một port nối tiếp trong chip có thể hoạt động ở nhiều chế độ trên
một dãy tần số rộng. Chức năng chủ yếu là thực hiện 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. Các
mạch phần cứng bên ngoài truy xuất port nối tiếp thông qua các chân TxD (P3.1) và
RxD (P3.0).
Port nối tiếp cho hoạt động song công (full duplex: thu và phát đồng thời) và đệm
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
đầ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) ở điạ chỉ 99H nhận dữ liệu để thu
hoặc phát. Thanh ghi điều khiển port nối tiếp (SCON) ở điạ chỉ 98H là thanh ghi có
điạ 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, còn các bit trạng thái chỉ ra sự kết thúc phát hoặc thu
ký tự . Các bit trạng thái có thể được kiểm tra bằng phần mềm hoặc có thể lập trình
để tạo ngắt.

25


×