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.. Nhiệm vụ bài khoá luận này là k
Trang 1Lờ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
Trang 2Tó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
Trang 3Mụ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
Trang 44.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
Trang 5Hì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
Trang 6Chươ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
Trang 7Nhiệ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
Trang 8Hì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
Trang 9• 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
Trang 10Theo 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à
Trang 12Mô 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í
Trang 13• 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
Chổ
i Quét
Bánh xe
20 cm
Bánh xethụ động
Sensor dò
độ cao
38cm
Trang 14Kim Ngọc Bách - Đại Học Công Nghệ - ĐHQGHN
Trang 15o Khối nguồn cho vi điều khiển, sensor.
• Khối giao tiếp:
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
Trang 164.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ẽ
Trang 17Hình 10: Sơ Đồ KhốI PIC16F877A4.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
Trang 18o 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
Trang 19• 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
Trang 20o 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 E4.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
Trang 21o 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
Trang 22• 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
Trang 23Hì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
Trang 24o Các bit TOUTPS3: TOUTPS0 : Chọn thỉ lệ chia cho postscale.
o TMR2ON : bit bật tắt timer2
• 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
Trang 25• 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 CCP4.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
Trang 26Hình 16: Sơ đồ khối ADC
• Thanh ghi ADCON0:
o Chọn nhịp xung đồng hồ cho ADC
Bảng 8: Cấu hình xung nhịp cho ADC
o Các bit CHS2:CHS1:CHS0 : chọn kênh cho ADC
000 : kênh 0 ( AN0 )
001: kênh 1 ( AN1 )
010: kênh 2 ( AN2 )
Trang 27o Bit GO/DONE : khi ADGO=1, ADC bắt đầu biến đổi.
o Bit ADON: bật tắt ADC
4.2.6 Khối truyền thông nối tiếp UART:
• Khối UART có thể được cấu hình để hoạt động ở chế độ song công hoặc bán song công
• Chuẩn điện : bit 1 tương ứng mức điện áp 5v, bit 0 tương ứng với điện áp 0v
• Data 7 bit hoặc 8 bit Ở đầu khung dữ liệu có 1 Bit start, cuối khung dữ liệu
có 1 hoặc 2 bit stop
• Khi nhận dữ liệu cờ ngắt RCIE và RCIF sẽ đc bật
• Tốc độ truyền được ghi vào thanh ghi SPBRG
Trang 28Mô tả chức năng các chân vào ra được sử dụng
Tên chân Chân
phím bấmSen22/RA1 3 I
Kênh 1 của bộ A/D để cảm nhận nguồn đang sử dụng là pin hay adaptor
CDS/RA2 4 I Kênh 2 của bộ A/D để cảm nhận
mức độ sáng tối của môi trườngV1sen/RA3 5 I
Kênh 3 của bộ A/D để theo dõi mức điện áp trên pin trong quá trình Cleaner hay Charger
PORTBSW/RB0 33 I Cảm nhận vật cản
Foto_Dio/RB1 34 I Cảm nhận độ cao
PGM/Mo_sing/RB3 36
PGM P Lập trình ICSP ở mức thế thấpMo_Sing O Điều khiển motor quét
Speak/RB4 37 O Tín hiệu điều khiển loa
PGC 39 P Chân Clock của ICSPPGD 40 P Chân Data của ICSP
PORTCPWM/RC2 17 O Điều khiển dòng nạp pin
TX/RC6 25 O Truyền dữ liệu tới PC
Trang 29RX/IR/RC7 26 I Nhận dữ liệu ra từ bộ thu IR
PORTDInx/RDx
19,
20,
21, 22
O Các tín hiệu điều khiển chuyển động
O Dữ liệu về số được hiển thị
PORTET1/RE0 8 O Điều khiển bật/tắt led 7 đoạn 1T2/RE1 9 O Điều khiển bật/tắt led 7 đoạn 2T3/RE2 10 O Điều khiển bật/tắt các led đơn
4.3 Khối quản lý nguồn :
4.3.1 Khối chuyển đổi nguồn nuôi:
Nguồn cung cấp lối vào cho CleanMate có thể lấy từ pin hoặc adaptor tùy thuộc vào chế độ hoạt động của robot là Cleaner hay Charger, do vậy cần có hệ thống rơle để chuyển đổi giữa hai loại nguồn này
Hình 17: Sơ đồ đầu đưa điện áp vào
Trang 30• Hình A: điện áp được lấy trực tiếp từ pin hoặc adaptor qua các diode bảo vệ đưa vào mạch rơle ở hình B.
o Việc sử dụng rơle sẽ tránh được sự ngắn mạch giữa pin và adaptor
Hình 18: Sơ đồ hệ rơle chọn nguồn
Trang 31Hình 19: sơ đồ ổn áp.
Tạo nguồn cho các motor:
o Để đảm bảo cho robot di chuyển một cách đồng đều khi có sự thăng giáng của điện áp trên nguồn hoặc khi sử dụng một nguồn điện khác,
ta sử dụng thêm một mạch ổn áp để cung cấp nguồn cho các motor
o Các yêu cầu cho bộ nguồn motor:
Điện áp ra trên 10V và có thể điều chỉnh được
Dòng cung cấp có thể đạt tới 3A
o Đáp ứng các tiêu chí trên và một vài yếu tố khác, ở đây ta sử dụng mạch ổn áp theo kiểu Switching Step-Down dùng IC LM2576
o Lựa chọn nguồn Switching thay cho nguồn kiểu tuyến tính (linear)
sẽ thu được nhiều ưu điểm quan trọng sau:
Hiệu suất làm việc cao (có thể tới 88%)
Có thể cung cấp dòng ra lớn (điều mà hiếm IC linear nào có thể đạt được hoặc sẽ phải dùng tản nhiệt lớn, chằng hạn như LM138 - 5A, LM150 – 3A, LM317 – 1.5A)
Công suất tiêu tán nhiệt ítĐây là kết luận thu được sau một quá trình sử dụng LM317 Lúc đầu hệ thống dự định sẽ sử dụng LM138 hoặc LM150, tuy nhiên hai loại IC này không có bán trên thị trường, do vậy đã chuyển sang dùng 2 IC LM317 mắc song song để tạo ra dòng lớn hơn (mới chỉ cung cấp cho 2 động cơ bánh xe mà không có động cơ chổi quét) Điều đó cũng đồng nghĩa với việc phải sử dụng tản nhiệt có kích thước lớn Nhưng với LM2576 thì hoàn toàn không cần đến tản nhiệt (nếu cũng cung cấp cho
2 động cơ bánh xe) hoặc dùng tản nhiệt nhỏ (nếu cung cấp cho cả 3 motor)
Trang 32Thực tế ta cũng có thể sử dụng LM317 để tạo nguồn ổn áp theo kiểu Switching nhưng sẽ yêu cầu nhiều thành phần bên ngoài hơn là sử dụng LM2576.
Tham khảo mạch của CleanMate 356 ta cũng thấy có một IC Switching KA34063A, IC này có thể hoạt động theo 3 chế độ Buck, Boost, Inverter với dòng tối đa là 1.5A
- Bộ dao động bên trong với tần số không đổi 52kHz
- Hiệu suất cao
- Bảo vệ quá dòng, quá nhiệt
Hình 20: Cấu tạo bên trong của LM2576
Trang 33Hình 21: Sơ đồ mạch nguồn cho motorCông thức tính điện áp ra:
R
P R V
Trong đó: VREF = 1.23V, R24 = 100, R25 = 1k
Như vậy điện áp ổn định lối ra được quyết định thông qua điện áp phản hồi về chân 4 (FB- Feed Back) Điện áp này sau đó được so sánh với một điện áp tham chiếu chuẩn (VREF) để điều khiển độ dẫn của một transistor trong LM2576 sao cho điện áp ra luôn luôn gần với điện áp mong muốn
Lựa chọn các linh kiện:
Diode Schottky D16: FR306 (3A)
Cuộn cảm L1: dùng dây đồng cuốn đầy trên lõi
ferit hình xuyến (hình bên)
Biến trở R43 10k được xoay chỉnh sao cho điện áp
trên hai cực của motor là 9V Khi đó Vmotor = 10.25V Theo công thức trên ta tính được P1 = 7.23k
4.3.3 Khối nạp Pin:
Khối nạp Pin sử dụng thêm 1 bộ chuyển đổI AD/DC, đầu vào 220V – 50hz đầu ra
là 22VDC- 1A
Trang 34Hình 22: Sơ đồ khối nạp Pin
IC LM317 luôn duy trì một điện áp 1.25V giữa chân OUT và chân ADJ,với điện trở công suất R12=1 ohm sẽ tạo ra nguồn dòng 1.25 A Khi chân PWM ở mức cao thì transistor C1815 sẽ mở, điện áp trên chân ADJ là 0.2V, quá trình nạp bị ngắt Khi chân PWM ở mức thấp C1815 đóng, điện áp ra khoảng 21.5V quá trình nạp được thực hiện
Điện áp trên Pin được khối điều khiển nhận biết bằng việc đo điện áp ở chân V1sen:
Vpin = V1sen / R23 x (R22 + R23)
4.4 Hệ thống cảm nhận vật cản:
Khối này sử dụng hai cách ly quang (Opto) H92B4 để có thể cảm nhận va chạm từ bên trái, bên phải hoặc ở giữa Khi robot chạm vào vật cản thì hệ thống cơ khí sẽ ngăn ánh sáng truyền từ led phát sang cực B transistor
Hình 23: Cách ly quang