Tải bản đầy đủ (.pdf) (68 trang)

tìm hiểu nguyên tắc hoạt động và cấu tạo của robot cleanmate 365 của hãng metapo,usa

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 (1.15 MB, 68 trang )

Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Lời cảm ơn
Trước hết em xin gửi lời cảm ơn chân thành và sâu sắc tới PSG.TS Trần
Quang Vinh người đã trực tiếp hướng dẫn, chỉ bảo tận tình và tạo mọi điều kiện
tốt nhất để em hoàn thành luận văn này.
Thứ hai em muốn gửi lời cảm ơn đến các thầy cô giáo đã giảng dạy em trong 4
năm học vưa qua.
Thứ ba em cảm ơn gia đình đã nuôi dưỡng và tạo điều kiện học tập tốt nhất
cho em.
Và cuối cùng em cảm ơn giúp đỡ và ủng hộ của các bạn trong suốt quá trình
học tập.
Sinh viên

Kim Ngọc Bách
1
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Tóm tắt nội dung luận văn
Nội dung của bài luận văn này là về vấn đề tìm hiểu nguyên tắc hoạt động và cấu
tạo của robot CleanMate 365 của hãng Metapo,USA. Từ đó thiết kế, xây dựng một
robot có chức năng giống CleanMate 365. Sau đó hoàn thiện phát triển thêm các
chức năng mới cho robot này
Luận văn bao gồm 6 chương. Chương 1 đặt vấn đề và giới thiệu về Robot
Cleanmate 365. Chương 2 là cơ sở lý thuyết về robot di động thông minh. Các
chương 3,4,5 là thiết kế chi tiết của robot về cơ khí, điện tử, phần mềm điều khiển.
Chương 6 báo cáo về kết quả quá trình xây dựng, hoàn thiện Robot, và đề ra
hướng phát triển cho robot.
Phần phụ lục giới thiệu các công cụ sử dụng trong quá trình xây dựng robot và
mã nguồn tham khảo của chương trình điều khiển robot.
2
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Mục Lục


Mục Lục 3
Danh Mục Hình Vẽ 4
Danh Mục Bảng Biểu 5
Chương 1: Tổng quan 6
1.1 Đặt vấn đề: 6
1.2 Giới thiệu về Robot Cleamate: 7
Cleanmate365 là một robot hút bụi thông minh được chế tạo bởi hãng Metapo, Hoa
Kỳ. Không giống như các loại máy hút bụi thông thường, Cleanmate365 thực hiện
công việc hút bụi một cách hoàn toàn tự động theo chương trình đã được lập sẵn.
Cleanmate thích hợp cho các gia đình và văn phòng có nền nhà gỗ , thảm, đá hoa. Với
kích thước nhỏ gọn cleanmate365 có thể di chuyển hết cả phòng, những nơi mà máy
hút bụi thông thường không với vào được như gầm giường, gầm ghế… 7
Chương 2: Cơ sở lý thuyết về hệ thống robot thông minh 8
2.1 Khái Niệm Về Robot : 8
2.2 Phân Loại Robot : 9
2.3 Các bộ phận của robot di động thông minh : 10
2.4 Các mô hình điều khiển robot: 11
2.4.1 Mô hình kiểu phản xạ : 11
2.4.2 Mô hình “sens – plan – act “ : 12
2.4.3 Mô hình kiểu lai : 12
Chương 3: Thiết kế Robot cleanmate – Phần cơ khí 12
Chương 4: Thiết kế mạch điện tử 14
4.2 Khối điều khiển và giới thiệu PIC16F877A: 15
4.2.1 Hight-performance RISC CPU 16
4.2.2 Các cổng vào ra : 17
4.2.3 Các Khối Timer: 20
4.2.4 Khối PWM: 24
4.2.5 Khối ADC: 25
4.2.6 Khối truyền thông nối tiếp UART: 27
4.2.7 Các tài nguyên của PIC được sử dụng trong việc xây dựng khối điều khiển cho

robot: 27
4.3 Khối quản lý nguồn : 29
4.3.1 Khối chuyển đổi nguồn nuôi: 29
4.3.2 Khối ổn áp: 30
4.3.3 Khối nạp Pin: 33
4.4 Hệ thống cảm nhận vật cản: 34
4.5 Hệ thống sensor gầm cảm nhận độ cao: 35
4.6 Cảm nhận sáng tối: 36
4.7 Khối giao tiếp điều khiển từ xa hồng ngoại: 36
4.7.1 Nguyên lý hoạt động: 37
4.7.2 Bộ Phát : 38
4.7.3 Phần thu: 39
4.8 Bàn phím: 40
4.9 Hiển thị LED 7 đoạn và Loa: 42
4.9.1 Hiển thị LED 7 đoạn : 42
3
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
4.9.2 Loa : 43
4.10 Mạch điều khiển động cơ : 43
4.10.1 Giới thiệu về mạch cầu H: 43
4.10.2 Điều khiển motor với IC L298: 45
4.10.3 Điều khiển Motor chổi quét: 46
4.11 Thiết kế PCB: 48
4.11.1 Phần mềm thiết kế mạch in PCB DXP Altium Designer: 48
4.11.2 Thiết kế mạch điện trong môi trường Altium Designer: 48
4.11.3 Kết quả và nhận xét: 49
Chương 5: Phần mềm điều khiển Robot 49
5.1 Lập trình cho hệ thống thời gian thực: 49
5.2 Bài toán di chuyển của robot: 52
5.3 Tránh vật cả và độ cao: 52

5.4 Tìm chỗ sáng: 53
5.5 Chương trình điều khiển robot: 53
5.5.1 Chương trình điều khiển robot: 53
Chương trình điều khiển robot có thể diên tả bằng lưu đồ sau, trong đó. Cleaner là
hàm hoạt động của robot, charger là hàm nạp pin 53
5.5.2 Sơ đồ trạng thái của robot trong quá trình hoạt động: 54
Chương 6: Kết quả thực nghiệm và hướng phát triển của đề tài 55
6.1 Kết quả thực nghiệm: 55
6.2 Hướng phát triển của đề tài: 56
6.2.1 Tìm trạm sạc: 56
6.2.2 Tạo tiếng nói cho robot: 58
6.2.3 Lập trình thời gian biểu: 59
Phụ Lục 59
Danh Mục Hình Vẽ
Hình 1:Robot Cleaner 365 do Hãng Metapo chế tạo 8
Hình 2:Hình Ba bộ phận của robot 11
Hình 3:Mô hình kiểu phản xạ 11
Hình 4:Mô hình tuần tự 12
Hình 5:Mô hình lai 12
Hình 6:Đế Robot nhìn từ trên xuống 13
Hình 7:Đế robot nhìn từ dưới 14
Hình 8:Motor và bánh xe phát động 14
Hình 9:Sơ đồ chân của PIC16F877A 15
Hình 10:Sơ Đồ KhốI PIC16F877A 17
Hình 11:Sơ đồ khối Timer0 21
Hình 12:Sơ đồ khối Timer1 22
Hình 13:sơ đồ khối timer 2 23
Hình 14:sơ đồ khối PWM 24
Hình 15:xung ra từ PWM 24
Hình 16:Sơ đồ khối ADC 26

Hình 17:Sơ đồ đầu đưa điện áp vào 29
Hình 18:Sơ đồ hệ rơle chọn nguồn 30
Hình 19:sơ đồ ổn áp 31
4
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Hình 20:Cấu tạo bên trong của LM2576 32
Hình 21:Sơ đồ mạch nguồn cho motor 33
Hình 22:Sơ đồ khối nạp Pin 34
Hình 23:Cách ly quang 34
Hình 24:sơ đồ bộ phận cảm nhận vật cản 35
Hình 25:Sơ đồ điều chế tín hiệu phát 36
Hình 26:sơ đồ ghép nối quang trở 36
Hình 27:Dạng Xung mã hoá Manchester 37
Hình 28:Khung dữ liệu RC5 khi nhận 38
Hình 29:Cấu trúc 1 bộ phát hồng ngoại 38
Hình 30:Sơ đồ bộ phát 39
Hình 31:Sơ đồ cấu tạo bên trong của GP1U52X 40
Hình 32:Hình ảnh cảm biến GP1U52X 40
Hình 33:Sơ đồ ghép nối phím bấm với Vi điều khiến 41
Hình 34:Sơ đồ hiển thị LED 7 đoạn 43
Hình 35:Sơ đồ ghép nối loa 43
Hình 36:Sơ đồ nguyên lý và nguyên tắc hoạt động của mạch cầu H 44
Hình 37:Mạch cầu H được thiết kế với transistor trường MOSFET 45
Hình 38:Sơ đồ chân IC L298 45
Hình 39:Sơ đồ ghép nối với vi điều khiển 46
Hình 40:mô tả IRF540 47
Hình 41:sơ đồ mạch điều khiển motor quét 47
Hình 42:ví dụ về đáp ứng của hệ thống thời gian thực 50
Hình 43:Lưu đồ thuật toán chương trình chính 54
Hình 44:Sơ đồ trạng thái Robot 55

Danh Mục Bảng Biểu
Bảng 1:Cấu hình Cổng A 18
Bảng 2:Cấu hình Cổng B 18
Bảng 3:Cấu hình Cổng C 19
Bảng 4:Cấu hình Cổng D 19
Bảng 5:Cấu hình Cổng E 20
Bảng 6:Cấu hình Presacle Timer0 21
Bảng 7:Cấu hình khối CCP 25
Bảng 8:Cấu hình xung nhịp cho ADC 26
Bảng 9:Mô tả các tài nguyên được sử dụng 29
Bảng 10:Giá trị ADC khi đọc phím bấm 42
Bảng 11:Trạng thái motor 44
Bảng 12:Mô tả IC L298 46
5
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Chương 1: Tổng quan
1.1 Đặt vấn đề:
Ngày nay cùng với sự phát triển của kinh tế xã hội Việt Nam việc đưa robot vào
trong các hoạt động sản xuất công nghiệp đã trở nên phổ biến. Tuy nhiên đối với
các robot phục vụ trong gia đình, robot giải trí – gọi chung là các robot dịch vụ
còn là một lĩnh vực khá mới mẻ và ít được quan tâm. Cùng với sự phát triển của
nền kinh tế, đời sống người dân tăng cao, giờ đây các loại máy giặt, máy rửa bát,
máy hút bụi xuất hiện ngày càng nhiều trong các gia đình, giúp giải phóng bớt
gánh nặng của người phụ nữ. Tuy nhiên với nhịp sống ngày càng nhanh như hiện
nay thì việc xuất hiện các robot phục vụ tự động trong gia đình đang trở nên cần
thiết hơn. Sự xuất hiện của Robot cleanmate 365 – một robot hút bụi thông minh
tại Việt Nam trong những năm gần đây, cho thấy nhu cầu cầu sử dụng robot thông
minh trong gia đình không phải là nhỏ, và cho thấy thị trường tiềm năng trong lĩnh
vực còn mới mẻ này.
Bên cạnh đó ta cũng thấy ngày càng nhiều cải tiến, nâng cấp trong lĩnh vực vi xử

lý. Các bộ vi điều khiển, vi xử lý xuất hiện trên thị trường rất đa dạng, tốc độ xử lý
ngày một cao, tính năng hỗ trợ ngày càng mạnh mẽ. Có thể đưa ra đây những cái
tên tiêu biểu như các vi điều khiển họ AVR của Atmel, vi điều khiển họ PIC của
Microchip, Psoc của Cypress, ARM, và các loại FPGA… Đó là điều khiện thuận
lợi để phát triển các hệ thống nhúng đa dạng hơn, thông minh hơn.
Trong xu thế cạnh tranh, các hãng phát triển vi mạch cố gắng tăng mật độ tích hợp
trên vi mạch ngày càng cao, và hạ giá thành đến mức thấp. Người sử dụng có thể
dễ dàng sở hữu một bộ vi xử lý tốc độ cao giá rẻ, các công cụ phát triển, tài liệu
liên quan có thể dễ dàng tìm được. Vì vậy giá thành cho sản phẩm cuốI cùng cũng
được giảm.
6
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Nhiệm vụ bài khoá luận này là khảo sát tính năng của robot Cleanmate365, từ đó
hoàn thiện và phát triển 1 robot có tính năng tương tự như robot Cleamate365, dựa
trên vi điều khiển PIC.
1.2 Giới thiệu về Robot Cleamate:
Cleanmate365 là một robot hút bụi thông minh được chế tạo bởi hãng
Metapo, Hoa Kỳ. Không giống như các loại máy hút bụi thông thường,
Cleanmate365 thực hiện công việc hút bụi một cách hoàn toàn tự động theo
chương trình đã được lập sẵn. Cleanmate thích hợp cho các gia đình và văn
phòng có nền nhà gỗ , thảm, đá hoa. Với kích thước nhỏ gọn cleanmate365
có thể di chuyển hết cả phòng, những nơi mà máy hút bụi thông thường
không với vào được như gầm giường, gầm ghế…
Được mệnh danh là máy hút bụi thông minh, CleanMate 365 có thiết kế nhỏ gọn
với đường kính 36 cm và nặng 2,7kg, bao gồm một cổng hút dài và hệ thống chổi
quét lô tròn và chổi quét cạnh, khi di chuyển máy sẽ xới bụi và cổng hút sẽ hút hết
bụi bẩn. Chính vì vậy mà động cơ hút bụi không cần có công suất lớn như máy hút
bụi thông thường.
Các chức năng nổi bật của Cleanmate365: Điều khiển được từ xa bằng remote
control, tự cảm nhận tránh vật cản, làm việc trên bậc cầu thang mà không bị rơi, di

chuyển theo 5 dạng quỹ đạo khác nhau.
7
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Hình 1: Robot Cleaner 365 do Hãng Metapo chế tạo
Chương 2: Cơ sở lý thuyết về hệ thống robot thông minh
2.1 Khái Niệm Về Robot :

Nguyên gốc của một từ La Tinh là robota có nghĩa là người tạp dịch. Như vậy
mục đích ra đời của robot là thay thế con người làm 1 số công việc nào đó.
Robot hay người máy là một loại máy có thể thực hiện những công việc một cách
tự động bằng sự điều khiển của máy tính.
Robot là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ khí-điện tử.
Với sự xuất hiện và chuyển động của mình, robot gây cho người ta cảm giác rằng
nó giác quan giống như con người. Từ "robot" (người máy) thường được hiểu với
hai nghĩa: robot cơ khí và phần mềm tự hoạt động.
Ngày nay, người ta vẫn còn đang tranh cãi về vấn đề: “Một loại máy như thế nào
thì đủ tiêu chuẩn để được gọi là một robot?” Một cách gần chính xác, robot phải
có một vài (không nhất thiết phải đầy đủ) các đặc điểm sau đây:
• Không phải là tự nhiên, tức là do con người sáng tạo ra.
• Có khả năng nhận biết môi trường xung quanh.
8
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
• Có thể tương tác với những vật thể trong môi trường.
• Có sự thông minh, có khả năng đưa ra các lựa chọn dựa trên môi trường và
được điều khiển một cách tự động theo những trình tự đã được lập trình
trước.
• Có khả năng điều khiển đuợc bằng các lệnh để có thể thay đổi tùy theo yêu
cầu của người sử dụng.
• Có thể di chuyển quay hoặc tịnh tiến theo một hay nhiều chiều.
• Có sự khéo léo trong vận động.

Sau đây là một số định nghĩa về robot :
• Tiêu chuẩn quốc tế ISO 8373 định nghĩa robot như sau: “Đó là một loại
máy móc được điều khiển tự động, được lập trình sẵn, sử dụng vào nhiều
mục đích khác nhau, có khả năng vận động theo nhiều hơn 3 trục, có thể cố
định hoặc di động tùy theo những ứng dụng của nó trong công nghiệp tự
động.”
• Joseph Engelberger, một người tiên phong trong lĩnh vực robot công nghiệp
nhận xét rằng: “Tôi không thể định nghĩa robot, nhưng tôi biết loại máy
móc nào là robot khi tôi nhìn thấy nó!!”.
• Từ điển Cambridge trực tuyến định nghĩa robot rằng rằng: “Đó là một loại
máy có thể thực hiện những công việc một cách tự động bằng sự điều khiển
của máy tính”.
• Người máy hay Robot là công cụ cơ điện tử, thủy lực, nhân tạo, ảo, thay
thế con người trong công nghiệp hay môi trường nguy hiểm. Robot còn là
công cụ để giúp con người giải trí, tìm hiểu khoa học.
Ta có thể thấy định nghĩa về robot là 1 định nghĩa “mở”, nghành công nghiệp
robot ngày càng phát triển, con người sẽ được chứng kiến sự ra của nhiều loại
robot hơn nữa.
2.2 Phân Loại Robot :
Có rất nhiều định nghĩa cũng như cách phận loại robot. Sau đây là một số cách
phân loại robot.
9
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Theo Viện Robotics Hoa Kỳ(Robotics Institute of America - RIA) thì có 4 loại
robot như sau:
• Robot vân hành với sự điều khiển của con người.
• Tự vận hành với chu trình được định trước.
• Robot khả trình, điều khiển được với quỹ đạo liên tục
• Robot có khả năng tự thu nhận thông tin từ môi trường để đưa ra chuyển
động thông minh

Theo Hiệp Hội Robot Nhật Bản :
• Robot vận hành với sự điều khiển của con người.
• Robot vận hành với trình tự cố định.
• Robot vận hành với trình tự được điều khiển đơn giản.
• Playback Robot, Robot được lập trình sẵn nhiều cách chuyển động.
• Robot điều khiển bằng số với các tác vụ được lập sẵn.
• Robot thông minh : có thể tự hiểu được môi trường để hành động hoàn
thành tác vụ.
Ngoài ra còn các cách phân loại robot theo hình dáng và chức năng của robot ví dụ
như: robot công nghiệp, tay máy, robot giống người, robot mo phỏng động vật …
2.3 Các bộ phận của robot di động thông minh :
Một robot thường bao gồm 3 bộ phận: bộ phận cảm nhận, bộ phận điều khiển và
bộ phận chấp hành.
• Bộ phận cảm nhận : thu nhận thông tin từ môi trường. Bao gồm các sensor
nội và sensor ngoại.
• Bộ phận điều khiển : nhận thông tin từ bộ phận cảm nhận từ đó đưa ra tín
hiệu điều khiển bộ phận chấp hành. Bao gồm bộ xử lý và bộ nhớ.
• Bộ phận chấp hành : thực hiện hành động của robot. Nhận thông tin điều
khiển từ bộ phận điều khiển. Trong nhiều trường hợp bộ phận chấp hành
nhận thông tin thẳng từ bộ phận cảm nhận.
10
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Hình 2: Hình Ba bộ phận của robot
2.4 Các mô hình điều khiển robot:
2.4.1 Mô hình kiểu phản xạ :
Hình 3: Mô hình kiểu phản xạ
PC
Robot
11
Cảm Nhận Chấp Hành

Môi
Trường
Cảm
nhận
Chấp
hành
Điều
khiển
(gồm vi
xử lý và
bộ nhớ)
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Mô hình này không có khối điều khiển. Thông tin từ khối cảm nhận được đưa
thẳng tới khối chấp hành, từ đó cơ cấu chấp hành hoạt động. Mô hình này có ưu
điểm là tốc độ đáp ứng nhanh.
2.4.2 Mô hình “sens – plan – act “ :

Hình 4: Mô hình tuần tự
Ở mô hình này, thông tin của môi trường được cảm nhận. Thông tin này được
truyền tới bộ phận điều khiển, bộ phận điều khiển sẽ phân tích và từ đó đưa ra
thông tin điều khiển tới bộ phận chấp hành. Mô hình này có tốc độ đáp ứng
chậm.
2.4.3 Mô hình kiểu lai :
Hình 5: Mô hình lai
Mô hình này là mô hình kết hợp giữa 2 kiểu mô hình trên.
Mô hình lai bao gồm nhiều cặp “cảm nhận – châp hành” hoạt động như mô hình
phản xạ, tốc độ đáp ứng khá nhanh. Bên cạnh đó có 1 khối điều khiển lập kế hoạch
cho toàn bộ tác vụ của robot.
Chương 3: Thiết kế Robot cleanmate – Phần cơ khí
Robot bao gồm :

• Đế hình tròn bằng nhựa mica đường kính 38 cm.
12
Cảm nhận Lên kế hoạch Chấp hành
Lập kế hoạch
Cảm Nhận Chấp hành
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
• Hộp hút bụi: chổi quét, hộp đựng rác, nắp đậy. Chổi quét hoạt động bởi 1
động cơ chổi than.
• Vành dò vật cản: là 1 vành tròn uốn bằng nhôm, lắp phía trước robot.
• Bánh xe phát động: tiện bằng nhự có vành cao su, đường kính 7cm. Cặp
động cơ phát động là 2 động cơ chổi than có sô vòng quay là 100 vòng /
phút.
Hình 6: Đế Robot nhìn từ trên xuống
13
HỘP ĐỰNG RÁC
20 cm
38 cm
Trục đỡ vành
dò vật cản
Bánh xe
phát động
Chổ
i
Qué
t
Bánh xe
phát động
20 cm
Bánh xe
thụ động

Sensor dò
độ cao
38cm
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Hình 7: Đế robot nhìn từ dưới
Hình 8: Motor và bánh xe phát động
Chương 4: Thiết kế mạch điện tử
4.1 Tổng quan về mạch điện tử :
Mạch điện tử bao gồm các khối lớn sau:
• Khối nguồn:
o Nguồn lấy từ ăcquy (khi robot hoạt động), điện lưới thông qua
adapter (khi robot sạc pin).
o Khối nạp ăcquy.
o Khối nguồn cho các động cơ.
14
Chổ
i
Qué
t
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
o Khối nguồn cho vi điều khiển, sensor.
• Khối giao tiếp:
o Bàn phím.
o Đèn hiển thị, LED 7 đoạn.
o Loa.
o Mắt đọc hồng ngoại.
• Khối cảm biến:
o Cảm biến cảm nhận độ cao.
o Cảm biến dò vật cản phía trước.
• Mạch công suất: Mạch điều khiển động cơ.

• Khối điều khiển trung tâm: Sử dụng vi điều khiển PIC16F877A của hãng
Microchip.
4.2 Khối điều khiển và giới thiệu PIC16F877A:
Vi điều khiển được sử dụng trong robot là PIC16F877A do hãng Microchip sản
xuất. Các vi điều khiển thuộc dòng PIC tỏ ra rất ổn định, các khối chức năng được
hỗ trợ đầy đủ và giúp người dùng tiết kiệm thời gian thiết kế mạch cũng như lập
trình. Hiện nay các loại vi điều khiển dòng PIC được sử dụng rất nhiều trong công
nghiệp. Tiêu biểu nhất trong dòng vi điều khiển cấp trung của họ PIC là 16F877A.
Hình 9: Sơ đồ chân của PIC16F877A
15
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
4.2.1 Hight-performance RISC CPU
• Cấu trúc tập lệnh đơn giản: 35 lệnh đơn.
• CPU thiết kế theo kiến trúc RISC.
• Tần số hoạt động lớn nhất: DC – 20MHz.
• Flash Program Memory: 8K x 14 words.
• Data Memory (RAM) : 368 x 8 bytes.
• EEPROM Data Memory: 256 x 8 bytes.
• Nạp chương trình và sửa lỗi onboard.
• Chế tạo theo công nghệ CMOS.
• Hỗ trợ nhiều tính năng mạnh mẽ
16
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Hình 10: Sơ Đồ KhốI PIC16F877A
4.2.2 Các cổng vào ra :
Vi điều khiển PIC16F877A có 5 cổng vào ra bao gồm:A, B, C, D, E. Trong đó:
• Cổng A:
o Vào ra 6 bit, có định hướng. Khai báo định hướng vào ra ở thanh ghi
TRISA. Nếu bit TRISAx=1 thì chân RAx sẽ được đinh nghĩa là lối
vào và ngược lại.

o Thanh ghi lưu trạng thái các chân của cổng A là thanh ghi PORTA.
17
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
o Chân RA4 của cổng A được có thể được sử dụng để đưa dao động
đầu vào cho Timer0 (T0CKI).
o Các chân còn lại của cổng A có thể được khai báo để được dùng như
lối vào tương tự. Các thanh ghi liên quan ADCON0, ADCON1.
o
Bảng 1: Cấu hình Cổng A
• Cổng B:
o Vào ra số có độ rộng 8bit, có định hướng. Khai báo định hướng vào
ra ở thanh ghi TRISB. Nếu bit TRISBx=1 thì chân RBx sẽ được đinh
nghĩa là lối vào và ngược lại.
o Thanh ghi lưu trạng thái các chân của cổng B là thanh ghi PORTB
o 3 chân của cổng B là : RB3,RB6,RB7 còn được sử dụng làm chân
lập trình PGM, PGC,PGD.
o 4 chân từ RB7:RB4 có ngắt on-change.
Bảng 2: Cấu hình Cổng B
18
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
• Cổng C :
o Vào ra số có độ rộng 8bit, có định hướng. Khai báo định hướng vào
ra ở thanh ghi TRISC. Nếu bit TRISCx=1 thì chân RCx sẽ được đinh
nghĩa là lối vào và ngược lại.
o Thanh ghi lưu trạng thái các chân của cổng C là thanh ghi PORTC.
o Các chân của cổng C đều có bộ đệm triger smitt.
o Cổng C còn được sử dụng cho 1 số khối chức năng khác.
Bảng 3: Cấu hình Cổng C
• Cổng D :
o Vào ra số có độ rộng 8bit, có định hướng. Khai báo định hướng vào

ra ở thanh ghi TRISD. Nếu bit TRISDx=1 thì chân RDx sẽ được
đinh nghĩa là lối vào và ngược lại.
o Thanh ghi lưu trạng thái các chân của cổng D là thanh ghi PORTD.
Bảng 4: Cấu hình Cổng D
• Cổng E :
o Cổng E chỉ có 3 chân vào ra, có bộ đệm triger smitt.
19
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
o Cổng E có thể được dùng như lối vào ra số hoặc tương tự. Thiết lập
tại các thanh ghi TRISE, ADCON1.
Bảng 5: Cấu hình Cổng E
4.2.3 Các Khối Timer:
Vi điều khiển PIC16F877A có 3 bộ timer:
• Timer0:
o Là bộ đếm 8bit, có thể ghi đọc.
o Timer0 có 2 chế độ hoạt động là : định thời hoặc đếm.
o Khi hoạt động Timer đếm tiến từ giá trị được ghi trong thanh ghi
TMR0 đến 256. Khi đếm đến 256 cờ tràn TMR0IF sẽ đc bật lên.
o Time = (FOSC/4) x Prescale x ( 256 – TMR0 )
o Bit T0CS : chọn nguồn dao động cho Timer0
 =1 nguồn dao động được đưa vào từ chân T0CKI.(Chế độ
đếm)
 =0 nguồn dao động hệ thống
o Bit T0SE : Ở chế độ đếm, chọn sườn xung
 =1 sườn xuống.
 =0 sườn lên.
20
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
o Bit PSA : Chọn prescale
 =1 prescale được dùng cho watchdog.

 =0 prescale được dùng cho timer0.
o Bit PS2:PS0 : chọn tỉ lệ chia cho Prescale
Bảng 6: Cấu hình Presacle Timer0
Hình 11: Sơ đồ khối Timer0
21
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
• Timer1:
Hình 12: Sơ đồ khối Timer1
o Là bộ đếm 16 bit, có thể ghi đọc. Giá trị timer được lưu trong 2
thanh ghi là TMR1L và TMR1H.
o Khác với timer0, timer1 có bit bật và tắt timer.
o Timer1 có thể được dùng để đinh thờI cho khối CPP.
o Khi Timer 1 được bật, timer sẽ đếm từ giá trị được ghi trong 2 thanh
ghi TMR1L và TMR1H tới 0xFFFF, khi đó cờ tràn TMR1IF được
bật.
o Time = (FOSC/4) x Prescale x ( 0xFFFF – (( TMR1H x 0xFFFF ) +
TMR1L)).
o Bit T1OSCEN: Chọn nguồn dao động
 =1: sử dụng dao động ngoài.
 =0: sử dụng nguồn dao động hệ thống.
o Bit TMR1CS=1 timer1 hoạt động như bộ đếm, xung vào từ chân
RC1.
o Bit TMR1ON: bật tắt timer1.
22
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
 =1 Bật.
 =0 Tắt.
o Bit T1CKPS1: T1CKPS0 : Chọn số chia cho prescale.
 0:0 chia 1
 0:1 chia 2

 1:0 chia 4
 1:1 chia 8
• Timer2:
Hình 13: sơ đồ khối timer 2
o Là bộ đếm 16 bit, có thể ghi đọc. Giá trị timer được lưu trong 2
thanh ghi là TMR1L và TMR1H.
o Timer2 có bit bật và tắt timer.
o Timer1 có thể được dùng để đinh thời cho khối PWM.
o Khi Timer 1 được bật, timer sẽ đếm từ giá trị được ghi trong 2 thanh
ghi TMR2L và TMR2H tới 0xFFFF, khi đó cờ tràn TMR2IF được
bật.
o Timer 2 có cả prescale lẫn postscale.
23
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
o Các bit TOUTPS3: TOUTPS0 : Chọn thỉ lệ chia cho postscale.
o TMR2ON : bit bật tắt timer2.
o T2CKPS1: T2CKPS1 : Chọn tỉ lệ cho prescale.
4.2.4 Khối PWM:
PIC16F877A có 2 khốI PWM nằm trong 2 khối CCP
Hình 14: sơ đồ khối PWM
• Độ rộng xung là dữ liệu 10 bit được lưu trong 2 thanh ghi CCPR1L và
OCPCON<5:4>
• Chu kì được quyết định bởI giá trị ghi trong thanh ghi PR2 và Timer2.
PWM period = [( PR2 + 1 ) x 4 x TOSC x ( TMR2 prescale value )
Hình 15: xung ra từ PWM
24
Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
• Các bước cài đặt cho PWM
o Ghi chu kì vào thanh ghi PR2.
o Ghi độ rộng xung vào 2 thanh ghi CCPR1L và CCP1CON<5:4>

o Chọn chân ra là chân RC2. Bằng cách xoá bit TRISC2.
o Ghi giá trị prescale của timer2. Cho phép Timer2.
o Cấu hình CCP để sử dụng PWM.
Bảng 7: Cấu hình khối CCP
4.2.5 Khối ADC:
Khối ADC của PIC16F877A là loại ADC xấp xỉ liên tiếp có 10 bit lối ra. Điện áp
tham chiếu lựa chọn được bằng phần mềm, có thể là điện áp hệ thống, hoặc điện
áp tham chiếu ngoài được đưa và từ chân RA2 và RA3.
Khi việc biến đổi A/D hoàn tất cờ ADIF sẽ được bật.
Khối biến đổi A/D có 4 thanh ghi là :
• Kết quả biến đổi Byte cao: ADRESH
• Kết quả biến đổi Byte thấp: ADRESL
• Hai thanh ghi điều khiển: ADCON0 và ADCON1.
25

×