Ngày nay sự cải thiện của tốc độ máy tính đã tạo ra những bước trưởng thành đáng kể cho robot trong từng giai đoạn phát triển và đang mở ra những triển vọng trở thành những robot thông m
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…… 000 ……
Giáo viên hướng dẫn Ngày 17 tháng 7 năm 2009
Nguyễn Ngọc Tùng
Trang 2NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
…… 000 ……
Giáo viên phản biện Ngày 17 tháng 7 năm 2009
Lê Đình Kha
Trang 3Chương dẫn nhập
I./Đặt vấn đề
-Ngành công nghệ thông tin liên lạc đã phát triển nhanh chóng cùng với cácngành công nghệ khác, nhằm đáp ứng nhu cầu ngày càng cao của xã hội Công nghệthông tin đóng vai trò cốt lõi trong việc cập nhật thông tin cho mọi người
-Với những nhu cầu về khoa học kỹ thuật và nhu cầu của con người ngày càngcao nên nhiều nhà khoa học đã bắt đầu nghiên cứu và chế tạo robot nhằm mục đíchphục vụ con người : tự động dò đường , tự vân hành theo yêu cầu của con người…
II./Mục đích yêu cầu của đề tài
-Nhằm phục vụ cho nhu cầu của con người trong nhiều lĩnh vực như :công
nghiệp , nông nghiệp , các công ty xí nghiệp, và nhiều nơi khác nữa …
Từ mục đích trên robot phải đảm bảo các yêu cầu:
+Sử dụng tiện lợi và chính xác , phạm vi ứng dụng cao
+Có thể sử dụng trong các điều kiện khắc nghiệt ( nơi con người không thựchiện được)
+Có thể thực hiện được chức năng khác nhau
III./ Giới hạn của đề tài
-Robot nói chung thuộc phạm vi chuyên môn tự động, cho nên đòi hỏi phải cómột khoảng thời gian dài tìm hiểu Có rất nhiều khó khăn trong lúc thực hiện đề tài.Với thời gian có hạn nhưng lại có nhiều vấn đề cần giải quyết, hơn nữa kiến thứcngười tìm hiểu đề tài có hạn, sinh viên thực hiện đề tài chỉ tập trung giải quyết vấn đềsau:
+Tự động dò đường đi được định sẵn
+Robot có thể đi theo hướng khác khi gặp chướng ngại vật
IV./Chọn phương án thực hiện đề tài
-Với những yêu cầu đặt ra ở trên, em đã xem xét và đưa ra 3 phương án nhưsau: Sử dụng kỹ thuật số, sử dụng kỹ thuật vi xử lí, sử dụng kỹ thuật vi điều khiển
-Với những đòi hỏi trên, ta có thể đơn giản những hoạt động bằng kỹ thuật số.Nhưng lại tốn kém linh kiện và kích thước cồng kềnh, hơn nữa khó thay đổi phần mềm
và không có khả năng mở rộng cho các hoạt động khác Với kỹ thuật vi xử lí, có thể
Trang 4khắc phục những yếu điểm của mạch số nhưng lại phức tạp trong việc thiết kế phầncứng Nếu sử dụng kỹ thuật vi điều khiển, có thể khắc phục những yếu điểm của kỹthuật số và vi xử lí vì bộ nhớ có thể được mở rộng và phần mềm linh hoạt hơn Hơnnữa lại rất phổ biến trên thị trường hiện nay, giá cả chấp nhận được, thiết kế phần cứngđơn giản cộng với tốc độ xử lí cao Có rất nhiều họ vi điều khiển, nhưng để đáp ứngđược tính chất lượng của hệ thống, chúng em quyết định chọn vi mạch vi điều khiển89C51 của hãng Atmel và các IC chuyên dùng để thực hiện nhằm đáp ứng đầy đủ cácyêu cầu của đề tài đặt ra.
Trang 5Lời cảm ơn
-Trước tiên tôi xin chân thành cám ơn Thầy giáo Nguyễn Ngọc Tùng ,
cùng các thầy cô thuộc Khoa Điện Tử-Viễn Thông đã tận tình hướng dẫn chúng em tìm hiểu và nghiên cứu khóa luận này
-Chúng em cũng tỏ lòng biết ơn tới các Thầy, cô giáo trong Trường Cao Đằng
Kỹ Thuật Cao Thắng đã dày công đào tạo, quan tâm, giúp đỡ chúng em trong suốt quá trình học tập và hoàn thành khóa luận này Đồng thời chúng em cũng chân cảm ơn các cán bộ ở Trung tâm dạy nghề Phú Nhuận đã tạo mọi điều kiện cho chúng em làm tốt phần thực nghiệm của mình
-Cuối cùng, chúng em muốn cám ơn tới tất cả bạn bè, gia đình và người thân đã
động viên và giúp đỡ chúng em trong quá trình học tập và hoàn thành khóa luận này
Tp Hồ Chí Minh ,ngày 17 tháng 7 năm 2009
Sinh viên đồng thực hiện
Nguyễn Trung Danh – Nguyễn Tuấn Hải
Trang 7Mục lục
Giới thiệu ………11
Chương I: Sơ lược về lịch sử ra đời và phát triển của robot……….
1.1 Lịch sử ra đời và phát triển………13
1.2 Các thế hệ robot……….15
1.3 Xu hướng phát triển của robot hiện đại ………16
Chương II: Hệ sensor trong robot……… 17
2.1 Phân loại sensor……….17
2.1.1 Sensor nội ……… 17
2.1.2 Sensor ngoại ……… 17
2.1.3 Sensor khoá ………17
2.2 Một số loại sensor thường gặp……… 17
2.2.1 Sensor xác định khoảng cách ……….18
2.2.1.1 Phương pháp xác định khoảng cách bằng lượng giác….18 2.2.1.2 Phương pháp xác định khoảng cách bằng đo khoảng cách thời gian truyền sóng………18
2.2.2 Sensor phát hiện vật thể gần……….19
2.2.2.1 Sensor siêu âm……… 19
Chương III: Cơ cấu chuyển động trong robot di động………21
3.1 Phân loại motor điện………21
3.1.1 Motor một chiều……… 21
3.1.2 Motor bước……… 21
3.2 Các đặc tính của motor………22
3.2.1 Điện áp sử dụng và dòng tiêu thụ của motor………… 22
3.2.2 Tốc độ cực đại của motor……… ………22
Trang 83.2.3 Lực xoắn củamotor………22
3.3 Điều khiển chuyển động của motor ……….23
3.3.1 Điều khiển motor DC……….23
3.3.2 Điều khiển motor bước………23
Chương IV: Khảo sát một số loại sensor sử dụng trong robot di động……… 25
4.1 Sensor hồng ngoại……… 25
4.1.1 Sensor hồng ngoại sử dụng phát hiện màu đen trắng… 25
4.1.2 Nghiên cứu các sensor hồng ngoại có mặt trên thị trường tích hợp cả bộ thu và phát trên cùng một vỏ……… 26
4.2 Sensor siêu âm………27
4.2.1 Sensor siêu âm MUST01d……… 27
4.2.2 Sensor siêu âm Devantech SRF04…… ………28
Chương V: Cảm biến dò đường sử dụng trong ROBOT…………31
6.1 Cảm biến dò đường……… 31
6.2 Một số cách bố trí cảm biến………31
Chương VI: Họ vi điều khiển 8051 ……….34
6.1 Chíp vi điều Atmel 89C51……… 34
6.2 Hoạt động truyền nhận dữ liệu nối tiếp………….45
6.3 Hoạt động ngắt ……… 48
6.4 Giới thiệu về ngôn ngữ Assembly………54
6.5 Một số câu lệnh chính trong Assembly ………54
Chương VII: Các IC có trong mạch ……….61
7.2 IC 2003……… 61
7.3 Opto 4N35……….62
Trang 97.4 IC ổn áp 7805………63
7.5 IC LM 342………65
7.6 Transitor công suất D718……….66
Chương VIII: Sơ đồ và nguyên tắc hoạt động của các mạch…… 68
8.1 Mạch nguồn cung cấp cho vi điều khiển……… 69
8.2 Sơ đồ mạch điều khiển công suất động cơ………70
8.3 Tính chọn linh kiện cho mạch điều khiển động cơ………71
8.4 Bảng điều kiện hoạt động của động cơ……….72
8.5 Modul điều khiển ROBO đi đúng vạch……… 73
8.6 Bảng trạng thái di chuyển của ROBOT……… 74
8.7 Cách bố trí cảm biến dò đường………75
8.8 Lưu đồ giải thuật……… 77
Chương IX: Phụ lục…… 87
9.1 Chương trình vi xử ly điều khiển robot………88
9.2 Tài liệu tham khảo………94
9.3 Một số hình ảnh về ROBOT………94
Trang 10Giới thiệu
Ngành khoa học công nghệ mới, tạo ra các sản phẩm robot và nghiên cứuứng dụng chính hình thành trong những thập kỷ gần đây được gọi là Robotics Trong Robotics có hầu hết các vấn để của “cơ-điện tử” Thuật ngữ“cơ -điện tử
“( mechatronics) thể hiện sự kết hợp giữa cơ học máy và điều khiển điện tử Đồng thời sự phát triển của mechatronics cũng được phản ánhtrong khoa học công nghệ robot
Một trong những tiêu chí đặc trưng cho robot là khả năng “lập trình
được “(programable) Muốn có khả năng đó robot phải dùng đến máy tính hoặc
các thiết bị khác có chức năng tương tự Máy tính có vai trò như bộ não của
robot
Ngày nay sự cải thiện của tốc độ máy tính đã tạo ra những bước trưởng
thành đáng kể cho robot trong từng giai đoạn phát triển và đang mở ra những
triển vọng trở thành những robot thông minh nhờ khả năng xử lý rất nhanh của
bộ điều khiển dùng máy tính.Tuy nhiên khả năng hiện thực của robot này
không chỉ phụ thuộc vào bộ điều khiển mà còn ở khả năng nhận biết của các
“cơ cấu cảm nhận” và khả năng phản ứng kịp thời của cơ cấu “chân tay” chấp
hành
Robot ngày càng đóng vai trò quan trọng trong công nghiệp và cuộc
sống hàng ngày Chúng sẽ thực hiện những công việc rất nhàm chán hoặc nguy
hiểm, những công việc mà tốc độ và độ chính xác vượt quá khả năng của con
người
Trang 11PHẦN I
TỔNG QUAN MỘT SỐ VẤN ĐỂ
LIÊN QUAN ĐẾN XÂY DỰNGMỘT ROBOT DI ĐỘNG
TỰ ĐỘNG TRÁNH VẬT
Trang 12CHƯƠNG I
SƠ LƯỢC VỀ LỊCH SỬ RA ĐỜI VÀ XU HƯỚNG
PHÁT TRIỂN CỦA ROBOT
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
Trang 13lậ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 sensor xúc giác Đây là sự xuất hiện đầu tiên về robot có khả năng thích ứngvớ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
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
Trang 141.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:
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ôitrườ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 linhhoạ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
Trang 15Neuron 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, chăm sóc nhà
cửa, mua bán
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
Một xu hướng phát triển hiện nay là việc nghiên cứu phát triển trí tuệ
nhân tạo, mạng neuron vào trong robot nhằm tạo ra các robot thông minh, có
khả năng thích nghi với môi trường xung quanh như con người
Trang 16CHƯƠNG II
HỆ THỐNG SENSOR TRONG ROBOT
Khi được trang bị một hệ thống sensor robot sẽ có khả năng thích ứng
với sự thay đổi của môt trường xung quanh.Đây cũng là một chỉ tiêu quan
trọng để đánh giá một robot có thông minh hay không Các sensor đều là bộ
biến đổi năng lượng, nó biến năng lượng từ dạng này sang dạng khác, thường
là biến đổi tín hiệu từ các đại lượng không điện thành các đại lượng điện Tín
hiệu này được phản hồi về bộ điều khiển, thông qua nó bộ điều khiển có các
quyết định cho phù hợp
2.1 Phân loại sensor
Các sensor sử dụng trong robot được chia thành 3 loại: Sensor nội (internal sensor), sensor ngoại (external sensor), sensor khoá (interlock sensor)
2.1.1 Sensor nội
Được đặt trong bản thân robot, nó sử dụng các thiết bị về cơ khí, điện,
điện tử hoặc thuỷ lực để nhận các thông tin phản hồi về vị trí của các bộ phận
trên robot Sensor nội có thể đơn giản là các công tắc giới hạn nhưng cũng có
thể phức tạp như đĩa lập mã quang dùng để điều khiển motor
2.1.1 Sensor ngoại
Sensor ngoại là loại sensor giúp robot giao tiếp với môi trường bên
ngoài như sensor thị giác giúp robot quan sát, sensor xác định khoảng cách
giúp robot ước lượng được khoảng cách tới đối tượng, sensor xúc giác giúp
robot có cảm giác khi cầm nắm các vật Các sensor này sẽ phản ánh các thông
tin môi trường xung quanh tới robot
Trong thực tế nghiên cứu robot, có rất nhiều loại sensor được sử dụng
cho các mục đích khác nhau Sau đây, xin giới thiệu một số sensor thường được
Trang 17sử dụng trong kĩ thuật robot
2.2.1 Sensor xác định khoảng cách (Range sensor)
Đây là loại sensor được sử dụng giúp robot có thể ước lượng khoảng
cách từ vị trí đặt sensor (nằm trên robot ) tới đối tượng Có nhiều cách xác định
khoảng cách tới đối tượng Sau đây trình bày hai cách xác định thông dụng nhất đó là:
2.2.1.1 Phương pháp xác định khoảng cách bằng lượng giác
Phương pháp này sử dụng một nguồn phát sáng phát ra một chùm tia hẹp tới đập vào bề mặt vật thể Do phản xạ, tia sáng chuyển hướng tới bộ thu được đặt cách bộ phát một khoảng B, góc phát tia sáng so với phương ngang là α
2.2.1.2 Phương pháp xác định khoảng cách bằng đo khoảng thời gian
truyền sóng
Trong phương pháp này sử dụng nguồn phát lazer xung để phát ra xung
sáng, sau đó thu lại ánh sáng phản xạ của nó với điều kiện chùm sang i và chùm sáng
về phải đồng trục Khi đó khoảng cách từ sensor tới đối tượng sẽ được tính như sau:
D = C T/2Trong đó: D là khoảng cách từ sensor tới đối tượng
C là vận tốc truyền ánh sang
T là thời gian kể từ khi phát xung sáng cho tới khi
nhận được xung sáng
Với công thức này, để đo khoảng cách D sẽ gặp phải khó khăn đó là
khoảng thời gian T thường rất nhỏ cỡ picrogiây Thực tế, người ta thường sử
dụng đo thời gian trễ giữa sóng phát ra và sóng phản xạ Trong cách này, một
nguồn laser sẽ phát liên tục, bộ đo sẽ thực hiện đo pha giữa hai sóng tới và sóng
phản xạ Sơ đồ thực hiện có thể được chỉ ra trên hình 2.2
Trong sơ đồ, chùm laser phát được tới một gương bán mạ, gương này sẽ
chia chùm laser thành hai chùm sáng như nhau Một truyền tới đối tượng, một
truyền tới bộ đo pha Chùm laser truyền tới đối tượng sẽ phản xạ và đi tới bộ đo
pha Bộ đo pha ở đây đóng vai trò là một detector Gọi L là khoảng cách từ tia
chuẩn tới Detector, D là khoảng cách từ đối tượng tới gương bán mạ Khi đó
tổng quãng đường đi của laser tới vật thể và quay trở về Detector là :
D’ = 2D + L
Trang 18Nếu đối tượng ở gần (D = 0) khi đó pha của hai tia sáng như nhau Khi
D tăng thì độ lệch pha tăng dần độ dịch pha giữa hai tia trong trường hợp này
3600 hay với khoảng cách 2D <λ
Bên cạnh việc sử dụng đo khoảng cách bằng nguồn phát lazer, trên thực
tế người ta còn sử dụng nguồn thu phát siêu âm Chùm xung siêu âm phát ra
đập tới bề mặt phản xạ của đối tượng, xung phản xạ được thu ở đầu thu siêu âm
có thời gian kéo dài xung tỉ lệ với khoảng cách từ sensor tới vật Nếu đo được
khoảng thời gian kéo dài xung phản xạ ta hoàn toàn có thể đo được khoảng
cách tới vật
2.2.2 Sensor phát hiện vật thể gần (Proximity sensor)
Đây là loại sensor được sử dụng để xác định xem có hay không có vật
thể nằm trong vùng hoạt động của sensor Các loại sensor phát hiện vật thể gần
thường cho lối ra tín hiệu số
2.2.2.1 Sensor siêu âm
Loại sensor này phát ra xung siêu âm Nếu tồn tại vật thể trong vùng làm
việc của sensor sẽ xuất hiện sóng phản xạ về đầu thu Cấu trúc một sensor siêu
âm thường gồm những phần được miêu tả trong hình 2.3 Phần tử cơ bản của
sensor này là bộ biến âm thường là gốm áp điện được bảo vệ bằng một chất
nhựa tổng hợp nhằm chống lại sự ẩm ướt, bụi bẩn và các nhân tố khác của môi
trường Bộ thu âm thanh sẽ hứng âm đưa tới bộ biến đổi âm thanh thành tín
hiệu điện Tất cả các thành phần này được để trong một vỏ Một dạng sóng điển
hình được trình bày trong hình 2.4 mô tả hoạt động của sensor siêu âm Dạng
sóng A là tín hiệu điều khiển tín hiệu truyền Dạng sóng B là tín hiệu lối ra khi
có cả tín hiệu tiếng vọng (echo) trong đó B1 là tín hiệu phát ra còn B2 là tín
hiệu phản xạ lại Các xung C tách biệt tín hiệu truyền và tín hiệu nhận Để phân
biệt sự khác nhau giữa các xung tương ứng với tín hiệu mang và tín hiệu phản
Trang 19xạ lại ta xem xét tín hiệu D Trong đó t1 là khoảng thời gian phát hiện nhỏ
nhất và ∆ t1 + ∆ t2 là khoảng thời gian phát hiện lớn nhất Các khoảng thời
gian này tương ứng với khoảng thời gian truyền sóng trong môi trường khi
nhận được tín hiệu phản xạ lại (lúc đó tín hiệu D có giá trị lớn nhất) sẽ hình
thành tín hiệu E, nó sẽ bằng 0 khi kết thúc xung tín hiệu A Cuối cùng tín hiệu
F được hình thành khi xuất hiện xung tín hiệu E và sẽ là tín hiệu ra của sensor
siêu âm hoạt động theo chế độ nhị phân
Trang 20CHƯƠNG III
CƠ CẤU CHUYỂN ĐỘNG TRONG ROBOT DI ĐỘNG
Khác với cánh tay máy tại các robot tĩnh, robot di động có cơ cấu chuyển độngnhằm đưa bệ máy của toàn hệ thống robot tới một vị trí mong muốn trong không gian hoạt động Cơ cấu này có thể là các máy thuỷ lực, khí nén, motor điện nhưng trong đề tài này chỉ sử dụng loại motor điện Vì vậy chương này cũng chỉ trình bày tóm tắt các tìm hiểu về motor điện và hệ thống liên quan đến điều khiển motor
3.1.Phân loại motor điện
Motor điện thường là loại máy chuyển đổi năng lượng điện thành năng
lượng cơ, thường là chuyển động tròn Motor được cấu trúc từ hai phần chính:
Rotor và Stator Rotor là phần chuyển động nằm ở lõi motor bao gồm cuộn dây
được cuốn quanh một lõi thép Lõi này được gắn vào trục của motor Stator là
phần không chuyển động, nó được cấu tạo từ nam châm vĩnh cửu Khi có dòng
điện đi qua motor sẽ sinh ra một từ trường chống lại từ trường của nam châm
vĩnh cửu làm cho motor quay
Có hai loại motor thường được sử dụng trong các robot di động là:
- Motor một chiều (DC motor)
- Motor bước (Step motor)
3.1.1 Motor một chiều
Motor một chiều được cấu tạo từ một cuộn dây và hệ thống nam châm
vĩnh cửu Loại motor này có thể dùng trực tiếp nguồn một chiều hoặc có thể
điều khiển thông qua độ rộng xung Tốc độ motor sẽ được quy định bởi điện áp
một chiều hay độ rộng xung đặt vào Một nhược điểm khi sử dụng motor một
chiều là kém về độ chính xác trong chuyển động Điều này được khắc phục khi
sử dụng motor bước
3.1.2 Motor bước
Khác với motor một chiều, motor bước được cấu tạo từ nhiều cuộn dây
Mỗi cặp cuộn dây tương ứng với một pha trong chuyển động Việc điều khiển
motor bước được thực hiện qua các xung có độ lệch pha so với nhau lần lượt đi
qua các cặp cuộn dây Chính nhờ việc cho các tín hiệu lần lượt chạy qua các
Trang 21cặp cuộn dây đã tạo ra các bước trong chuyển động Tuỳ thuộc mỗi loại motor
bước mà tương ứng với nó là các góc của bước Góc của bước càng nhỏ thì độ
chính xác của motor càng lớn Đây là điều khác hẳn với motor một chiều Việc
điều khiển bước của motor sẽ giúp thực hiện các chuyển động một cách chính
xác tới các vị trí yêu cầu
3.2 Các đặc tính của motor điện
Một motor khi sử dụng cần quan tâm đến các thông số sau:
- Điện áp sử dụng, dòng điện tiêu thụ
- Tốc độ tối đa có thể đạt được
- Lực xoắn của motor
Sau đây sẽ đề cập đến từng phần
3.2.1 Điện áp sử dụng và dòng tiêu thụ của motor
Trên vỏ mỗi motor thường ghi các thông số về giới hạn điện áp sử dụng
và dòng điện tiêu thụ cực đại khi motor hoạt động Thông số này rất quan trọng
đối với người sử dụng Nó quyết định việc thiết kế các mạch công suất để điều
khiển motor Việc thiết kế này hoàn toàn khác nhau khi sử dụng các motor có
dòng tiêu thụ cực đại khác nhau
3.2.2 Tốc độ cực đại của motor
Tốc độ cực đại của motor được quan tâm khi có tải và không tải Việc
đo tốc độ cực đại có thể thực hiện bằng cách đếm xung thu được từ một sensor
Tốc độ cực đại khi cấp điện áp cho phép cực đại vào motor hoặc khi độ rộng
xung cấp tới motor là cực đại Tốc độ này là một hàm phụ thuộc vào tải của
motor Nó quyết định tới độ linh động của robot di động và là một thông số
quan trọng cần tính đến khi lập trình điều khiển motor vì liên quan đến quán
tính trong quá trình hãm hoặc dừng motor
3.2.3 Lực xoắn của motor
Lực xoắn của motor là thông số dùng để đánh giá khả năng chịu tải của
motor Motor có lực xoắn càng lớn thì càng khoẻ Lực xoắn được đo bằng tỉ số
giữa trọng lượng lực đặt lên motor mà motor vẫn kéo được vật làm cho dây
treo vật vuông góc với bán kính đi qua tâm motor chia cho bán kính khoảng
cách từ tâm trục motor tới dây treo như hình 3.1 Lực xoắn sẽ giảm khi tăng tốc
Trang 22độ của motor Điều này chứng tỏ khi motor chạy với tốc độ cao thi tải dùng cho
motor se bị giảm xuống Để tăng lực xoắn cho motor người ta thường dùng cho
motor qua các cơ chế giảm tốc Đây thực chất chỉ là các cơ cấu bánh răng Tỉ
số độ giảm tốc càng lớn thi lực xoắn motor sẽ càng lớn tuy nhiên tốc độ motor
sẽ bị hạn chế
3.3 Điều khiển chuyển động của motor
Việc thiết kế mạch điều khiển motor phải căn cứ vào công suất tiêu thụ
của motor và loại motor để có thiết kế hợp lý Trong báo cáo này trình bày 2
loại mạch điều khiển motor áp dụng cho 2 loại motor thường gặp đó là motor
DC và motor bước
3.3.1 Điều khiển motor DC
Thông thường, có thể điều khiển tốc độ của motor một chiều bằng thay
đổi mức điện áp đặt vào motor Nhưng việc này gặp phải khó khăn khi mức
điện áp trở nên quá thấp làm việc điều chỉnh tốc độ thấp không chính xác Còn
một cách khác là sử dụng các xung điện có biên độ bằng mức điện áp cực đại
nhưng có độ rộng xung khác nhau để điều khiển tốc độ motor Độ rộng xung
càng lớn, năng lượng trung bình cấp cho motor càng lớn và tốc độ quay của
motor ứng với một tải nhất định càng cao Việc này được thực hiện bằng các
chuyển mạch điện tử công suất lắp trên các tranzitor có sẵn hiện nay là khá
thuận lợi
3.3.2 Điều khiển motor bước
Khác với motor DC chỉ có hai đường điều khiển, motor bước có nhiều
pha khác nhau Ứng với số pha sẽ tương ứng với số đường tín hiệu điều khiển
Sơ đồ hình 3.2 là thí dụ trình bày mạch điều khiển motor bước 4 pha Mạch cầu
tới 4 đường điều khiển Với yêu cầu dòng điều khiển có giá trị cực đại phải lớn,
trong sơ đồ này, mỗi đường tín hiệu điều khiển từ vi xử lý được khuyếch đại
qua một tầng Darlingtơn để tăng dòng cho tín hiệu điều khiển
Trang 23
Hình 3.2 : Sơ đồ khuyếch đại tín hiệu điều khiển motor bước
Ta thấy rằng 4 cuộn dây của motor bước được sắp xếp thành từng cặp
(cuộn 1 với cuộn 2), (cuộn 3 với cuộn 4) Sơ đồ mạch tạo ra hai cặp tín hiệu
điều khiển (bít 1 và bit 2), (bít 3 và bít 4)
Trang 24CHƯƠNG IV KHẢO SÁT MỘT SỐ LOẠI SENSOR SỬ DỤNG
TRONG ROBOT DI ĐỘNG
Như đã được nhắc đến, sensor là yếu tố giúp robot thích nghi kịp thời
với môi trường xung quanh Trong phần này sẽ đưa ra một số loại sensor có thể
sử dụng để dẫn đường cũng như phát hiện vật cản, đo khoảng cách của robot
tới vật để tránh vật
4.1 Sensor hồng ngoại
Đây là loại sensor quang sử dụng thu phát ánh sáng gần vùng hồng
ngoại Bước sóng ánh sáng sử dụng trong các sensor này cỡ 880nm Loại
sensor này có thể sử dụng để phát hiện màu đen/trắng hoặc phát hiện vật cản
Khả năng thực hiện được tuỳ thuộc vào việc thiết kế mạch
4.1.1 Sensor hồng ngoại sử dụng phát hiện màu đen trắng
Mạch điện thu phát hồng ngoại dùng để phát hiện vạch đen trắng được
giới thiệu trong hình 4.1
Hình 4.1 Sơ đồ mạch thu phát hồng ngoại phát hiện đen /trắng
Trong sơ đồ này sử dụng một diode phát hồng ngoại phát ra ánh sáng
gần vùng hồng ngoại Diode này được mắc nối tiếp với một điện trở nhằm hạn
Trang 25chế dòng Đầu thu sử dụng ở đây là một phototransistor với điện áp cực base
thay đổi theo lượng ánh sáng hồng ngoại thu nhận được Tín hiệu từ collector
của phototransistor được đưa tới đầu đảo của bộ so sánh với đầu vào cộng đặt
ngưỡng Lối ra của bộ so sánh dùng vi mạch khuyếch đại thuật toán LM324 sẽ
có hai mức hoặc cao, hoặc thấp tuỳ thuộc vào điện áp đầu vàođảo so với
ngưỡng Đèn LED được mắc ở đầu ra bộ so sánh sẽ chỉ thị như sau Khi gặp
vạch trắng cực base của phototransistor thu được nhiều ánh sáng phản xạ nhất
làm cho tín hiệu ở collector thấp, khi đó lối vào đảo này sẽ có mức điện áp nhỏ
hơn ngưỡng làm cho lối ra có mức cao làm LED chỉ thị tối Ngược lại khi gặp
vạch đen, phototransistor nhận yếu làm co lối vào đảo có mức điện áp cao hơn
lối vào đặt ngưỡng dẫn tới lối ra có giá trị cao làm đèn LED chỉ thị sáng Mạch
thiết kế như hình trên sử dụng thu phát hồng ngoại một chiều Trong thực tế
gặp phải vấn đề khó khăn là nhiễu của các nguồn ánh sáng có tiềm ẩn nguồn
hồng ngoại tác động Cự li sử dụng để phát hiện vạch đen trắng khoảng 3 cm
Loại mạch này chỉ nên sử dụng trong các điều kiện môi trường lý tưởng không
can nhiễu
4.1.2 Nghiên cứu các sensor hồng ngoại có mặt trên thị trường đã được
tích hợp cả bộ thu và phát trong một vỏ.
Hiện nay, trên thị trường có bán các sensor hồng ngoại đã được tích hợp
sẵn các đầu thu phát trên cùng một vỏ Loại sensor này thường chỉ có 3 dây nối
trong đó hai dây nguồn nuôi và một dây tín hiệu Tín hiệu lối ra thường có mức
logic 0 hoặc 1 Sau đây xin giới thiệu một photo sensor mang kí hiệu
E3S-DS30E4 của hãng OMRON
Hình 4.2 Photo sensor E3S-DS30E4
Trang 26Các đặc tính của sensor có thể kể ra như sau:
- Sensor hồng ngoại sử dụng ánh sáng có bước sóng 880nm
- Ánh sáng hồng ngoại được điều chế
- Sử dụng để phát hiện vật cản trong cự ly 70cm, có khả năng phân biệt
được vạch trắng/đen
- Độ nhạy của sensor có thể hiệu chỉnh được thông qua một biến trở
- Trên sensor có bố trí hai đèn chỉ thị: đèn chỉ thị nguồn và đèn chỉ thị
trạng thái tín hiệu ra
4.2 Sensor siêu âm
Trên thị trường hiện nay phổ biến hai loại sensor siêu âm trong đó loại
thứ nhất bộ thu phát siêu âm được tích hợp với nhau trên cùng một đế Loại thứ
hai bộ thu phát được chế tạo độc lập (có một đầu thu và một đầu phát ) Trong
khoá luận này nghiên cứu khảo sát cả hai loại sensor kể trên thông qua hai loại
mang kí hiệu MUST01a và Devantech SRF04 Sensor siêu âm có thể sử dụng
để đo khoảng cách thông qua đo thời gian tín hiệu phản xạ hoặc phát hiện vật
cản
4.2.1 Sensor siêu âm MUST01d
Đây là loại sensor có bộ thu phát được tích hợp trên cùng một đế ( không phân biệt đầuthu và đầu phát ) Đặc tính của nó có thể kể ra như sau:
- Sử dụng nguồn nuôi một chiều 8-16V, dòng cực đại cho phép là 30mA
- Sensor cho tín hiệu lối ra tương tự từ 0-5 V tuy nhiên giá trị cực đại trong thực tế chỉ đạt được 4,096V
- Khoảng cách sensor phát hiện được vật từ 1cm-3m với sai số 2%
- Góc mở chùm siêu âm phát ra là 150
Trang 274.2.2 Sensor siêu âm Devantech SRF04
Siêu âm Devantech SRF04 được sử dụng để thu các thông tin về khoảng
cách một cách chính xác trong dải từ 3cm đến 3m Sensor này gồm bộ thu phát
siêu âm tách biệt, sensor có 4 chân nối trong đó hai chân cho nguồn nuôi, hai
chân còn lại một cho xung tín hiệu vào, một cho tín hiệu ra
SRF04 hoạt động thông qua việc truyền một xung âm thanh có tần số
nằm ngoài dải tần số nghe của con người Xung này truyền ở tốc độ âm thanh
khoảng 0.9ft/giây, dưới dạng một chùm hình nón, âm thanh phản xạ trở lại tới
đầu thu từ vật thể bất kì trên đường đi của sóng siêu âm Tín hiệu điện tại đầu
thu có dạng các xung với độ kéo dài xung phụ thuộc vào khoảng cách phản xạ
kể từ vị trí vật tới đầu thu Để việc thu phát làm việc hiệu quả, bộ phát tạm
ngừng phát sóng trong khoảng thời gian siêu âm được truyền sau đó đợi tín hiệu phản
xạ Xung ở đầu ra của sensor được đưa tới bộ xử lý Việc xác định
thời gian kéo dài xung sẽ giúp cho robot xác định được khoảng cách Các đặc
trưng của SRF04 có thể kể ra như sau:
- Điện áp sử dụng 5VDC, dòng tiêu thụ cực đại 50mA, thường là 30mA
- Vùng làm việc của sensor: phát hiện khoảng cách từ 3cm tới 3m
- Tần số sử dụng 40Khz
- Xung kích phát 10us mức cao tương thích TTL
- Xung phản xạ mức cao có độ rộng xung tỉ lệ với khoảng cách
Trang 28- Góc mở của bộ phát là 300.
Một số yêu cầu về khoảng thời gian thu phát siêu âm:
Tín hiệu xung kích phát siêu âm được giữ ở mức thấp (logic 0) và sau đó
đưa lên mức cao (logic 1) trong 10us để khởi phát xung siêu âm Xung siêu âm
được tạo ra thông qua sườn xuống của tín hiệu lối vào Sau khi được kích phát,
sóng siêu âm sẽ được phát ra trong 8 chu kì burst Bộ nhận sẽ giữ khoảng trống
trong khoảng thời gian chừng 100us để tránh nhiễu, ồn từ các âm sắc nhọn của
sự khởi phát và sau đó cho phép nghe âm thanh phản xạ Đường tín hiệu dội âm
ở mức thấp cho đến khi cho phép nhận âm thanh Khi quá trình nhận được cho
phép, bộ thu sẽ phát hiện sườn xuống của tín hiệu dội âm (nếu có vật) hoặc
timeout (vượt quá thời gian cho phép) Việc đo thời gian được tiến hành từ
sườn xuống của tín hiệu lối vào và kết thúc khi sườn xuống của tín hiệu dội âm
Nếu không có vật được phát hiện xung phản xạ sẽ vượt quá thời gian cỡ 36ms
Giản đồ thời gian thu phát siêu âm được mô tả hình 4.4
Với tốc độ truyền âm thanh, cứ 73,746us âm thanh sẽ đi được một khoảng là 1 inch (2,56 cm) Nếu sử dụng bộ định thời như mô tả dưới đây với hệ số chia trong là 12
v tần số dao động 12MHz thì tần số phát của timer sẽ là 1MHz tương đương với
khoảng thời gian kéo dài xung là 2us Mỗi cung của timer phát được gọi là 1 tick Khoảng cách tối đa sensor có thể phát hiện được là 3m =118 inch =300cm, quãng đường cực đại âm thanh phải đi là 118*2=236 inch Với quãng đường như vậy, cần khoảng thời gian di chuyển là 236*73,746 us Do đó số tick cực đại thu được là :
( 234 * 73,746 ) / 2 = 8702
Ở đây đưa ra một khái niệm gọi là hệ số chuyển đổi Hệ số này được xác
định như sau :
Hệ số chuyển đổi = 8702/118 = 74 (ứng với đơn vị inch)
Hệ số chuyển đổi = 8702/300 = 74 (ứng với đơn vị cm)
Nguyên tắc hoạt động :
-Vùng hoạt động của cảm biến siêu âm được xác định bằng cách truyền một xung âm thanh ra bên ngoài Xung này sẽ di chuyển với tốc độ âm thanh trong vùng hình nón
Trang 29-Và âm thanh phản hồi lại từ vùng này khi có bất kỳ vật cản nào trên đường đi của sóngsiêu âm
-Để xác định vùng làm việc bạn cần 2 chân : chân input trigger và chân tạo xung output
Cách sử dụng SRF04:
-Để bắt đầu làm việc với SRF04 bạn cần gửi tới chân input trigger của SRF04 một xung cạnh lên một khoảng thời gian nào đó ( ít nhất khoảng 10us) Sẽ có xung falling edge (mỗi xung có độ rộng một chu kỳ) về trên chân input trigger và sẽ có 8 xung này Mạch nhận tín hiệu sẽ không nhận tín hiệu trong một khoảng thời gain ngắn
khoảng 100us để tránh tiếng ồn âm thanh ban đầu này Chân output vẫn ở mức thấp cho đến khi mạch nhận cho phép, và sau đó xung ra trên chân output và để biết khoảng cách tới vật thể ta đo chiều rộng của xung này.Tùy theo xung này ta sẽ biết khoảng cách tới vật thể hoặc không có vật thể trong vùng làm việc
-Giá trị xung thô trả về được tính bằng ms.Từ đó ta tính được khoảng thông qua công thức sau:
Trang 30-cảm biến công nghiệp
-Để giảm chi phí làm robot và thể hiện tinh thần “sáng tạo robot” theo kinh nghiệmcủa nhiều người đã làm robot thì với các mạch cảm biến thông thường dùng led hồng ngoại hay quang trở vẫn hoạt động tốt và ổn định cao Trong vấn đề chống nhiễu thì ta nên dùng phần mềm và che chắn tốt
b Ví dụ cơ bản về mạch cảm biến.
-Nguồn dùng cho led nên dùng ổn áp riêng với vi xử lý Vì động cơ sử dụng ở động cơ robot là động cơ công suất nhỏ nên vi xử lý có thể dùng nguồn chung với động cơ
5.2.Một số cách bố trí cảm biến.
a.Bố trí 2 led và dùng thêm led đếm vạch ngang
Trang 32vạch trắng ngang được xác định khi tất cả các cảm biến đều tích cực ( hoặc để an tao2n và chống nhiễu thì nên cho phép sai số 1 cảm biến , ví dụ 5/6 cảm biến tích cực thì robot đang ở vạch ngang)
Trang 33CHƯƠNG VI
HỌ VI ĐIỀU KHIỂN 8051 6.1 GIỚI THIỆU HỌ VI ĐIỀU KHIỂN 8051
-Họ vi điều khiển MSC-51 được chế tạo theo công nghệ CMOS có hiệu xuất cao
và nguồn tiêu thụ thấp do hãng INTEL thiết kế và hãng ATMEL sản xuất ChipAT89C51 được chế tạo theo công nghệ này và hoàn toàn tương thích với tập lệnh vàcác chân của chuẩn công nghiệp MSC51 Bên trong chip được tích hợp bộ nhớ FlashRom có thể nạp xoá bằng điện, nên rất thuận lợi trong việc lập trình ứng dụng
6.1.1 Cấu trúc phần cứng họ MSC - 51
-Các chip thuộc họ MSC-51 có cấu trúc cơ bản về phần mềm giống nhau Nhưngcấu trúc phần cứng thì khác nhau Các vi điều khiển thế hệ sau thì kế thừa tất cả cácchức năng của thế hệ trước và thêm các tính năng khác mới hơn Sau đây là cấu trúc
cơ bản về phần cứng :
Tích hợp được 4 KB bộ nhớ Flash Rom bên trong
Tích hợp 128 Byte RAM nội
Có 4 Port xuất /nhập (I/O) 8 bit
Có thể giao tiếp truyền/nhận dữ liệu nối tiếp
Có thể giao tiếp với 64 KB vùng nhớ mã ngoài
Có thể giao tiếp với 64 KB vùng nhớ dữ liệu ngoại
Có 210 vị trí nhớ có thể truy xuất từng bit
Cấu trúc ngắt hai mức ưu tiên
Mạch dao động tạo xung clock trên chip
Có lệnh cộng nhân chia cộng 8 bit
Có thể nạp xoá khoảng 10000 lần
6.1.2 Khảo sát cấu trúc bên trong vi điều khiển AT89C51
6.1.2.1 Sơ đồ khối vi điều khiển AT89C51
Trang 34Hình 4.1 Sơ đồ khối vi điều khiển AT89C51
Khối ALU
-Khối xử lý dữ liệu, làm thay đổi dữ liệu nhưng không lưu trữ dữ liệu Có thểthực hiện các phép toán and, or, … trong xử lý chương trình
Các thanh ghi:
Thanh ghi bộ đếm chương trình
-Là thanh ghi 16 bit có truy xuất từng ô nhớ bắt đầu từ ô nhớ 0 đến ô nhớ 65535
Trang 35đầu tiên của chương trình Trong quá trình thực hiện thì nội dung của PC sẽ tăng lêntương ứng với số byte của lệnh đang thực hiện Trước khi thực hiện lệnh thì PC sẽđược nạp địa chỉ của ô nhớ chứa lệnh tiếp theo
Thanh ghi trạng thái (status register)
-Là thanh ghi cờ, dùng để lưu trữ kết quả của một số lệnh kiểm tra Khi người lậptrình thực hiện việc rẽ nhánh, thì chương trình bắt đầu tại một vị trí mới Nếu rẽ nhánh
có điều kiện thì chương trình sẽ thực hiện khi điều kiện đúng Thanh ghi trạng thái sẽlưu kết quả kiểm tra này
Thanh ghi con trỏ ngăn xếp (stack pointer SP)
-Là thanh ghi 16 bit dùng quản lý bộ nhớ ngăn xếp khi muốn lưu trữ tạm thời dữliệu vào bộ nhớ ngăn xếp Trong khi xử lý chương trình thanh ghi SP sẽ tự động tănglên ô nhớ kế Để không làm mất dữ liêu trong quá trình thực hiện, thì cần phải khởi tạocon trỏ ngăn xếp, để chỉ đến một ô nhớ do người lập trình thiết lập
Thanh ghi lệnh (instruction register)
-Dùng chứa lệnh vi điều khiển đang thực hiện Thanh ghi lệnh do vi điều khiển
tự động sử dụng, người lập trình không thể can thiệp
Khối- điều khiển logic (control logic)
-Nhận lệnh hay tín hiệu từ bộ giải mã lệnh, sau đó đi thực hiện lệnh
Khối giải mã lệnh (Instruction decoder)
-Nhận mã lệnh từ thanh ghi lệnh, sau đó giải mã gửi lệnh điều khiển đến khốiđiều khiển logic
6.1.2.2 Sơ đồ chân IC AT89C51
Trang 36Hình 4.2 : Sơ đồ chân IC AT89C51 Chức năng các chân
-Vi điều khiển AT89C51 có 40 chân Trong đó có 24 chân có tác dụng kép(P0,P2, và P3), mỗi chân có thể hoạt động như một đườ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ỉ
Các Port:
Port 0:
-Port 0 là port có 2 chức năng bao gồm từ chân 32 đến chân 39 Trong các hệthống thiết kế nhỏ không dùng bộ nhớ mở rộng bên ngoài nó có chức năng như cácđường xuất nhập (I/O) Đối với các thiết kế lớn có sử dụng bộ nhớ mở rộng bên ngoài,
nó được xử dụng như bus địa chỉ và bus dữ liệu
Port 1:
-Port 1 là port chỉ có khả năng như đường xuất nhập dữ liêu (I/O), có vị trí từchân 1 đến chân 8 Ngoài ra không còn chức năng nào khác,vì vậy chúng chỉ đượcdùng cho giao tiếp với các thiết bị ngoại vi bên ngoài
Port 2:
Trang 37-Port 2 là 1 port có tác dụng kép, có vị trí từ chân 21 đến chân 28 Chúng đượcdùng như các đường xuất nhập đối với các ứng dụng xử dụng bộ nhớ bên trong màkhông dùng bộ nhớ ngoài, hoặc là byte cao của bus địa chỉ khi sử dụng bộ nhớ ngoài
Port 3:
P3.3, P3.4, P3.5, P3.6, P3.7 có nhiều chức năng, mỗi chức năng phụ thuộc vào các thiết kếriêng được quy định ở bảng sau:
INT1\
T0T1WR\
RD\
Ngõ vào nhập dữ liệu nối tiếpNgõ xuất dữ liệu nối tiếpNgõ vào ngắt cứng thứ 0Ngõ vào ngắt cứng thứ 1Ngõ vào của timer/counter thứ 0Ngõ vào của timer/counter thứ 1Tín hiệu điều khiển ghi dữ liệu lên bộ nhớ ngoàiTín hiệu điều khiển đọc dữ liệu từ bộ nhớ ngoài
Các đường tín hiệu điều khiển:
Đường tín hiệu PSEN (Program store enable):
-Tín hiệu PSEN ra ở chân 29 chúc năng của nó là cho phép đọc bộ nhớ chươngtrình mở rộng bên ngoài, thường được nối đến chân OE\ (output enable) của Epromcho phép đọc các byte mã lệnh Chân này ở mức thấp trong thời gian vi điều khiển lây
mã lệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và đượcchốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi AT89C51 thực hiệnchương trình trong EPROM nội thì PSEN sẽ ở mức logic 1
Đường tín hiệu ALE (Address Latch Enable)
-Tín hiệu ALE ra ở chân 30 Khi AT89C51 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 ở chân ALE 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 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
Trang 38-Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và cóthể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE đượcdùng làm ngõ vào xung lập trình cho EPROM trong AT89C51
Đường tín hiệu EA\ (External Access):
-Tín hiệu EA\ ra ở chân 31 thường được mắc lên mức 1 hoặc mức 0 KhiAT89C51 thực hiện chương trình từ EPROM nội trong khoảng địa chỉ thấp 4 Kbyte,thì chân EA\ được nối lên mức 1 Khi AT89C51 thực hiện chương trình từ bộ nhớ mởrộng, thì chân EA\ được nối xuống mức 0 Chân EA\ được nối lên nguồn 12V khi lậptrình cho Eprom trong AT89C51
Đường tín hiệu RST (Reset) :
-Tín hiệu RST ra ở chân 9 là ngõ vào Reset của AT89C51 Khi ngõ vào tín hiệunà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
Hoạt động Reset
- 8951 có ngỏ vào reset tác động ở mức cao trong khoảng thời gian 2 chu kỳ xungmáy,sau đó xuống mức thấp để 8951 bắt đầu làm việc.RST có thể kích tay bằng một phím nhấn thường hở.sơ đồ mạch như sau:
Bảng 4.1 : Bảng trạng thái của các thanh ghi khi reset hệ thống
Trang 39Bộ đếm chương trình PC Thanh ghi tích lũy A Thanh ghi B
Thanh ghi trạng thái PSW Thanh ghi con trỏ SP Thanh Ghi DPTR Port 0 đến port 3 Thanh ghi IP Thanh ghi IE Các thanh ghi định thời Thanh ghi SCON SBUF Thanh ghi PCON (HMOD)Thanh ghi PCON (CMOS)
0000H 00H 00H 00H 07H 0000H FFH XXX00000B 0X0X0000B 00H 00H 00H 0XXXXXXXH
Các ngõ vào bộ dao động X1,X2:
-Bộ dao động được được tích hợp bên trong 89C51, khi sử dụng AT89C51 ngườithiế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ạchanh thường sử dụng cho 89C51 là 12Mhz
Chân 40 (Vcc) được nối lên nguồn 5V
Hình 4.3 : Sơ đồ kết nối của bộ dao động 6.1.3 Cấu trúc bộ nhớ vi điều khiển
Trang 406.1.3.1 Cấu trúc bộ nhớ
Hình 4.4 : Tóm tắt các vùng nhớ AT89C51
-Bộ nhớ bên trong vi điều khiển AT89C51 bao gồm vùng nhớ ROM và vùng nhớRAM Trong đó có 128 byte RAM (dùng lưu trữ dữ liệu) và 4 Kbyte Flash ROM(dùng lưu trữ chương trình) Ngoài bộ nhớ RAM và EPROM nội, AT89C51 cũng cóthể giao tiếp được với 4Kbyte RAM ngoại và 4Kbyte EPROM bên ngoài Trong bộnhớ của AT89C51 được chia ra nhiều thành phần: vùng lưu trữ đa dụng, vùng truyxuất từng bit, các bank thanh ghi và các thanh ghi có chức năng đặc biệt
Cấu trúc RAM bên trong vi điều khiển AT89C51: