Là một sinh viên ngành điện tử viễn thông có nhiều đam mê điện tử và robot nên em đã chon đề tài “Thiết kế, chế tạo robot dò đường ứng dụng vi điều khiển PIC 16F877A” làm đề tài tốt nghi
Trang 1Ngườ ư ng d n : ThS Nguyễn Thị Minh
n v n t c n : Nguyễn Minh Tiến
Mã số sinh viên : 0951080291
NGHỆ AN - 2014
Trang 2LỜI CẢM ƠN
Đầu tiên em xin gửi lời cảm ơn đến Ban giám Hiệu trường Đại học Vinh đã tạo cho em một môi trường học tập tốt, dạy cho em những kiến thức bổ ích và cũng như là tạo nhiều điều kiện thuận lợi để em có thể phát huy được khả năng của mình
Em xin chân thành cảm ơn các thầy cô giáo trong bộ môn Điện tử - Viễn Thông, khoa Điện tử viễn thông trường Đại Học Vinh đã giảng dạy cho chúng em những kiến thức về chuyên môn, định hướng sự hiểu biết cũng như khả năng để chúng em thực hiện tốt luận văn tốt nghiệp
Em xin chân thành cảm ơn cô T Nguyễn T ị M n đã tận tình hướng
Trang 3MỤC LỤC
Trang
TÓM TẮT ĐỒ ÁN 5
DANH MỤC HÌNH VẼ 6
MỞ ĐẦU 11
CHƯƠNG I GIỚI THIỆU CHUNG VỀ ROBOT 13
1.1 Lịch sử ra đời của robot 13
1.2 Robot trong đời sống và sản xuất 15
1 2.1 Murataboy 15
1.2.2 Armar 16
1.2.3 Friend 16
1.2.4 Bác sĩ ngoại khoa 17
1.2.5 Asimo 17
1.2.6 Robot viễn tưởng 17
1.3 Giới thiệu phần cơ khí 18
1.3.1 Robot với bánh xe 18
1.3.2 Động cơ điện 20
1.3.3 Bộ khung 22
1.3.4 Mô hình Robot dò đường 22
CHƯƠNG II VI ĐIỀU KHIỂN PIC 16F877A 23
2.1 Giới thiệu chung 23
2.2 Phân loại PIC 24
2.2.1 Phân loại PIC theo ký tự 24
2.2.2 Phân loại PIC theo ký số 24
2.3 Vi điều khiển PIC 16F877A 24
2.4 Các Port Xuất nhập và thanh ghi điều khiển 27
2.4.1 Port A và thanh ghi TRISA 27
2.4.2 Port B và thanh ghi TRISB 27
2.4.3 Port C và thanh ghi TRISC 28
2.4.4 Port D và thanh ghi TRISD 29
2.4.5 Port E và thanh ghi TRISE 29
2.5 Mạch dao động cho PIC 30
2.6 Chân Reset PIC 30
2.7 Cấp nguồn cho Vi điều khiển PIC 16f877A 31
2.8 Tổ chức bộ nhớ 31
CHƯƠNG III THIẾT KẾ, CHẾ TẠO MẠCH ĐIỆN TỬ 34
3.1 Sơ đồ tổng quát 34
3.2 Khối nguồn 34
3.2.1 IC LM7805 34
3.2.2 TIP 42 35
Trang 43.2.3 Sơ đồ nguyên lý 36
3.2.4 Nguyên lý làm việc 37
3.3 Khối điều khiển 37
3.4 Khối cảm biến 38
3.4.1 Mạch cảm biến dùng quang trở 38
3.4.2 Mạch cảm biến dùng Led thu phát hồng ngoại 40
3.4.3 Bố trí cảm biến dò đường 42
3.5 Khối Motor Drive 43
3.5.1 Giới thiệu hoạt động của motor 43
3.5.2 Điều khiển động cơ với cầu H (H-Bridge) 44
3.5.3 Phương pháp điều chế xung PWM điều khiển tốc độ đông cơ 50
3.5.4 Nguyên lý hoạt động 52
3.6 Chế tạo mạch điện tử 53
3.6.1 Sơ đồ nguyên lý 53
3.6.2 Thiết kế mạch in 55
3.6.3 Thi công mạch in 57
3.7 Giải thuật và chương trình chính cho robot 58
3.7.1 Lưu đồ giải thuật 58
3.7.2 Chương trình giải thuật cho robot dò đường 59
3.7.2 Đánh giá mạch 59
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 62
PHỤ LỤC 63
Trang 5
TÓM TẮT ĐỒ ÁN
Robot dò đường được định nghĩa là một loại xe robot có khả năng tự dịch chuyển, tự vận động (có thể lập trình lại được) dưới sự điều khiển tự động có thể hoàn thành công việc được giao Robot dò đường sử dụng cảm biến led thu-phát hồng ngoại dò tìm đường đi và đưa tín hiệu về khối vi điều khiển (PIC16F877A) xử
lý và đưa ra tín hiệu điều khiển các động cơ, đảm bảo robot hoạt động đúng và độ chính các cao Theo lý thuyết, môi trường hoạt động cửa robot tự hành có thể là đất, nước, không khí, không gian vũ trụ hay tổ hợp giữa chúng Địa hình bề mặt mà robot di chuyển trên đó có thể bằng phẳng hoặc thay đổi, lồi lõm Đề tài nghiên cứu này đi sâu nghiên cứu robot tự dò đường, robot di chuyển đúng theo vạch đường đen đã trải trên nền phẳng màu trắng
Trang 6DANH MỤC HÌNH VẼ
trang
Hình 1.1.Robot đi xe đạp 15
Hình 1.2 Robot trong y học 16
Hình 1.3 Robot asimo 17
Hình 1.4 Robot hình người nhân tạo 18
Hình 1.5 Bánh xe chịu tải 19
Hình 1.6 Bánh xe ômi 19
Hình 1.7 Ắc qui 19
Hình 1.8 Nguyên tắc hoạt động của động cơ một chiều 21
Hình 1.9 Một số động cơ được dùng trong Robot 21
Hình 1.10 Mô hình robot 22
Hình 2.1 Sơ đồ chân của PIC16FxxxA 23
Hình 2.2 Sơ đồ chân của PIC16F877A 24
Hình 2.3 Sơ đồ khối của PIC16F877A 26
Hình 2.5 Sơ đồ mạch Reset PIC 30
Hình 2.6 Bản đồ cấu trúc bộ nhớ dữ liệu của PIC16F877A 32
Hình 3.1 Sơ đồ tổng quát về phần cứng 34
Hình 3.2 Hình dạng và sơ đồ chân LM7805 34
Hình 3.3 Sơ đồ chân của TIP 42 35
Hình 3.4 Khối nguồn điều khiển 36
Hình 3.5 Sơ đồ mạch khối nguồn 12V 37
Hình 3.6 Sơ đồ khối 37
Hình 3.7 Khối điều khiển 38
Hình 3.8 Cấu trúc và hình dạng quang trở 38
Hình 3.9 Sự phụ thuộc của điện trở vào độ rọi sáng 39
Hình 3.10 Mạch quang trở điển hình 39
Hình 3.11: Hình dáng, cấu tạo LED Thu, Phát 40
Hình 3.12 Nguyên lý thu phát của thu phát hồng ngoại 40
Hình 3.13 Sự phụ thuộc của dòng điện vào cường độ tia hồng ngoại 41
Hình 3.14 Sơ đồ nguyên lý của cặp thu phát hồng ngoại 41
Hình 3.15 Bố trí 6 cảm biến theo hàng ngang 42
Hình 3.16 Bố trí 8 cảm biến 6 trước 2 sau 43
Hình 3.17 Bố trí 8 cảm biến theo 1 hàng ngang 43
Hình 3.18 Motor quay thuận 44
Hình 3.19 Motor quay theo chiều ngược 44
Hình 3.20 Một cầu H đơn giản 45
Hình 3.21 Relay H-Bridges 46
Trang 7Hình 3.24 IRF 540 47
Hình 3.25 Cầu H bán dẫn 49
Hình 3.26 Cầu H bán dẫn hoàn chỉnh 49
Hình 3.27 IC L298 49
Hình 3.28 Sơ đồ chân L298 50
Hình 3.29 Duty cycle của cc chuỗi xung khác nhau 51
Hình 3.30 Khi thay đổi duty cycle, ta sẽ có điện áp trung bình thay đổi 51
Hình 3.31 minh họa giải thuật phương pháp điều biến độ rộng xung 52
Hình 3.32 Sơ đồ nguyên lý điều khiển động cơ 52
Hình 3.33 Sơ đồ nguyên lý 53
Hình 3.34 Sơ đồ nguyên lý khối cảm biến 54
Hình 3.35 Sơ đồ bố trí linh kiện boar điều khiển 55
Hình 3.36 Sơ đồ bố trí linh kiện boar cảm biến 55
Hình 3.37 Mạch in của board điều khiển 56
Hình 3.38 Mạch in của board cảm biến 56
Hình 3.39 Bản thiết kế mạch 57
Hình 3.40 hình ảnh robot dò đường 57
Hình 3.41 Lưu đồ giải thuật sensor 58
Hình 3.42 Lưu đồ giải thuật đi thẳng 59
Trang 8DANH MỤC BẢNG BIỂU
trang
Bảng 1.1 Tóm tắt lịch sử phát triển của robot 13
Bảng 2.1 Sơ đồ chức năng PIC 16F877A 23
Bảng 2.2 Các thanh ghi liên quan đến Port A 27
Bảng 2.3 Các thanh ghi liên quan đến Port B 27
Bảng 2.4 Các thanh ghi liên quan đến Port C 28
Bảng 2.5 Các thanh ghi liên quan đến Port D 29
Bảng 2.6 Các thanh ghi liên quan đến Port E 29
Bảng 2.7 Lựa chọn Bank của Bộ nhớ dữ liệu trong PIC 31
Bảng 3.1 Bảng thông số của TIP 42 35
Bảng 3.2 Trạng thái mạch cầu H 45
Bảng 3.3 Bảng trạng thái động cơ 48
Trang 9THUẬT NGỮ VIẾT TẮT SỬ DỤNG TRONG LUẬN VĂN
PLC Programmable Logic Controller Thiết bị điều khiển lập trình
đƣợc
RISC Reduced Instructions Set Computer Máy tính với tập lệnh đơn
giản hóa
EEPROM Electrically Erasable Programmable
Read-Only Memory
Bộ nhớ không mất dữ liệu
Biến xung
Trang 10MCU Multipoint control unit Bộ vi điều khiển
MOSFET metal-oxide emiconductor
field-effect transistor
Transistor hiệu ứng trường
Trang 11MỞ ĐẦU
1 Lý do chọn đề tài
Trong các ngành công nghiệp, việc sử dụng robot điều khiển khá phổ biến Ngày nay, nghiên cứu và chế tạo các loại robot mới là nhu cầu thiết yếu trong các lĩnh vực như chăm sóc sức khoẻ cho người già và người khuyết tật; hay công việc giải cứu trong những tình huống khẩn cấp Những loại robot mới yêu cầu phải có khả năng
để trở thành một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta và
có khả năng chăm sóc cho chúng ta Chúng phải có những tính cách giống như con người ví dụ như lòng tốt và sự hợp tác, ngoài yếu tố tốc độ, sức mạnh và sự chính xác nhưng vẫn được đòi hỏi đối với các robot truyền thống Những con robot được thiết kế theo những tiêu chí này hi vọng sẽ đáp ứng được nhu cầu ngày càng cao của con người trong những năm tới
Là một sinh viên ngành điện tử viễn thông có nhiều đam mê điện tử và robot
nên em đã chon đề tài “Thiết kế, chế tạo robot dò đường ứng dụng vi điều khiển PIC 16F877A” làm đề tài tốt nghiệp của mình
2 Mục đích nghiên cứu
Thiết kế và chế tạo robot dò đường giúp em thực nghiệm được nhứng kiến thức trong thời gian học trong nhà trường, nắm vững và vận dụng những kiên thức chuyên ngành Tìm hiểu nghiên cứu tài liệu qua sách vở, các bài báo khoa học, tích lũy kinh nghiệm từ các diễn đàn điện tử và mô hình thực tế liên quan đến thi công phần cứng
Qua việc thảo luận nghiên cứu, phân tích và thiết kế đề tài giúp em tăng khả năng tự học, tự nghiên cứu và giải quyết vấn đề, linh hoạt trong việc hoạt động theo nhóm… Để từ đó đưa ra các giải pháp thiết kế, lựa chọn phương pháp tối ưu hóa nhất cho hệ thống và chế tạo robot
3 Nhiệm vụ thực hiện
Thiết kế một robot dò đường có khả năng di chuyển theo hướng đã lập trình
Sử dụng cảm biến thu phát hồng ngoại dò tìm đường, đưa tín hiệu vào vi điều khiển PIC 16F877A giải mã và đưa ra tín hiệu điều khiển đến các động cơ
Yêu cầu thiết kế 1 robot:
- Robot hoạt động ổn định
Trang 12- Khối cơ khí vững chắc
- Giảm thiểu can nhiễu bởi môi trường ngoài
- An toàn và dễ sử dụng
- Giá thành rẻ
4 Phương pháp nghiên cứu
Để có thể thực hiện được đề tài, chúng tôi đã thực hiện các phương pháp nghiên cứu sau:
- Nghiên cứu phần cơ sở lý thuyết của đề tài
- Nghiên cứu từ thực nghiệm để thiết kế và tối ưu hóa cho hệ thống
- Tham khảo thêm ý kiến của một số người đã có kinh nghiệm làm robot
5 Phạm vi nghiên cứu
Để có tài liệu phục vụ cho việc triển khai đề tài, chúng tôi đã xác định phạm vi nghiên cứu của đề tài:
- Tham khảo tài liệu qua sách vở, các trang mạng, diễn đàn, internet
- Tìm hiểu về các linh kiện chủ chốt như: vi điều khiển PIC 16F877A, mạch led thu phát hồng ngoại, khối điều khiển chiều động cơ Ngoài ra còn tìm hiểu thêm về
chương trình biên dịch code cho vi điều khiển PIC 16F877A
6 Cấu trúc đồ án
Nội dung đồ án được thể hiện qua 3 chương:
Chương 1: Giới thiệu về robot
Trong chương này em tìm hiểu về lịch sử ra đời và sự phát triển của robot cũng như ứng dụng của robot trong cuộc sống chúng ta
Chương 2: Vi điều khiển PIC 16F877A
Trong chương này em tìm hiểu kỹ về vi điều khiển PIC 16F877A
Chương 3: Thiết kế, chế tạo robot
Trong chương này em xây dựng sơ đồ nguyên lý, thiết kế và chế tạo robot Sử dụng phần mềm orcad 16.3 vẽ mạch in Tiến hành làm mạch in, lắp ráp linh kiện và hoàn thiện robot, chạy thử nghiệm và điều chỉnh khối cảm biến cho phù hợp với
môi trường
Trang 13Bảng 1.1 Tóm tắt lịch sử phát triển của robot
Mốc thời
gian Nghiên cứu và phát triển Ứng dụng trong
công nghiệp Kỹ thuật hỗ trợ
1920 Khái niệm robot xuất hiện
trong tiểu thuyết
1940 Phát minh ra cánh tay máy
1950 Phát sinh khái niệm robot
thông minh
Giới thiệu về bộ nhớ vòng
1960 Giới thiệu về robot điều
khiển bằng máy tính
Phát triển robot trong công nghiệp
Máy tính dùng transitor và vi điều khiển
1970 Robot có trí thông minh
nhân tạo
Robot công nghiệp thực tế và các ứng dung rộng rãi khác
Kỷ thuật số và
kỷ thuật tự động quang
Trang 141980 Robot dùng trong những
việc nguy hiểm (1983)
Robot công nghiệp thực tế và các ứng dung rộng rãi khác
Kỷ thuật số và
kỷ thuật tự động quang
1990
Giới thiệu về robot thông minh trong sản xuất
Điều khiển logic
người
Các tiến bộ về
cơ khí Trước những năm 1970, người ta chỉ tập trung vào việc phát triển những robot tay máy hoạt động trong các nhà máy công nghiệp Sau đó mới xuất hiện những khái niệm về robot thông minh, và các nghiên cứu bắt đầu tập trung hơn vào robot di động Một trong những chuyên gia đầu ngành về robot di động là Hans P Moravec (bắt đau nghiên cứu từ năm 1964), và hiện nay, chuyên nghiên cứu về robot di động là Sebastien Thruns 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 Hoả 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
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
T ế t ứ n ấ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ừ
Trang 15T ế t ứ a : 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
T ế t ứ 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
T ế t ứ 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
T ế t ứ 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 để 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.2 Robot trong đời sống và sản xuất
1 2.1 Murataboy
Hình 1.1.Robot đi xe đạp
Trang 16Với chiều cao chỉ với 50cm, chú robot mang “quốc tịch” Nhật này được coi
là “vua” giữ thăng bằng Vì dù là đạp hay đang dừng xe , khí cụ con quay sẽ luôn giữ cho chú robot này đứng vững Một số bộ phận đặc biệt khác cho phép Murataboy xác định được chướng ngại vật trên đường và giảm xóc khi va phải chướng ngại vật Murataboy là ví dụ cho loại robot có khả năng di chuyển bằng 2 chân, đang là một trong những thách thức lớn của việc nghiên cứu và sản xuất robot
Trang 17rót nước Hệ thống định vị không gian 3 chiều gắn trên xe cho phép người sử dụng chỉ cần đưa tay chỉ hướng, robot sẽ tự động tìm ra đường đi tốt nhất
1.2.4 Bác sĩ ngoạ k oa
Hãy tưởng tượng những cánh tay kim loại với những khớp nối chằng chịt mổ
xẻ trên một cơ thể bằng xương bằng thịt Với nhiều người đó là một cơn ác mộng Trên thực tế việc sử dụng người máy thay các bác sĩ phẫu thuật lại đảm bảo độ chính xác và tỷ lệ thành công cao hơn cho ca mổ Sự chính xác này cùng với việc giảm thiểu các thiết bị y khoa giúp đường mổ sắc và gọn hơn đồng thời giúp bệnh nhân đỡ mất nhiều máu Ca mổ vẫn sẽ được một bác sĩ phẫu thuật theo dõi trực tiếp thông qua một camera nối với một cánh tay robot 2 cánh tay robot còn lại thực hiện những thao tác thành thạo của một bác sĩ thực thụ Người máy này xứng đáng là niềm tự hào của các nhà khoa học Mỹ
1.2.5 Asimo
Asimo lần đầu tiên ra đời năm 1993 tại Nhật, đặt tên P1, là thành quả nghiên cứu của tập đoàn Honda Asimo P1 đã khiến các nước phương Tây kinh ngạc vì ý tưởng chế tạo một loại robot giống hệt con người Tuy vậy mục đích ban đầu của Honda chỉ
là nghiên cứu một người máy phục vụ các nhu cầu của chúng ta Ngày nay, cả 2 ý tưởng này, robot giống người và đáp ứng nhu cầu của con người đã trở thành tiêu chí chung trong nghiên cứu Asimo
Hình 1.3 Robot asimo
1.2.6 Robot v ễn tưởng
Được trang bị hệ thống nhận dạng giọng nói, có khả năng ngôn ngữ và diễn đạt, Mỹ đã giới thiệu một người máy là bản sao của Philipe K.Dick, tác giả của nhiều truyện viễn tưởng nổi tiếng, mất năm 1982
Trang 18Hình 1.4 Robot hình người nhân tạo
Đó là những gì chúng ta được chứng kiến về sự phát triển của thế giới,
nhưng chúng ta cũng cần biết rằng Việt Nam cũng có những con robot vô cùng thông minh Đã đưa vị thế của Việt Nam lên 1 tầm cao mới Và chú robot này chính
là robot TOPIO
Từ ngày 5 - 10/2/2009, chú robot “made in Vietnam” Topio 2.0 do Công ty Cổ phần Robot TOSY (TOSY Robotics JSC) nghiên cứu và chế tạo đã tham gia triển lãm lớn nhất thế giới về đồ chơi lần thứ 60 tại Đức
1.3 Giới thiệu phần cơ khí
1.3.1 Robot v bán xe
Đầu tiên phải nói một robot quan trọng nhất vẫn là phần đế, phần này có thể ví như đôi chân của robot, phần chuyển động chính, đôi chân phải đủ vững thì mới đảm bảo sự hoạt động ổn định của các kết cấu bên trên Phải nói thêm trong cuộc thi robocon phần đế robot là phần mà đa số các đội bỏ thời gian nghiên cứu nhiều nhất
Trang 19Hình 1.5 Bánh xe chịu tải
Hình 1.6 Bánh xe ômi
- Nguồn nuôi (ắc qui, pin , các loại khác )
Hình 1.7 Ắc qui
Trang 20Cấu tạo của động cơ gồm có 2 phần: stato đứng yên và rôto quay so với stato Phần cảm (phần kích từ-thường đặt trên stato) tạo ra từ trường đi trong mạch từ, xuyên qua các vòng dây quấn của phần ứng (thường đặt trên rôto) Khi có dòng điện chạy trong mạch phần ứng, các thanh dẫn phần ứng sẽ chịu tác động bởi các lực điện từ theo phương tiếp tuyến với mặt trụ rôto, làm cho rôto quay Chính xác hơn, lực điện từ trên một đơn vị chiều dài thanh dẫn là tích có hướng của vectơ mật độ từ thông B và vectơ cường độ dòng điện I Dòng điện phần ứng được đưa vào rôto thông qua hệ thống chổi than và cổ góp Cổ góp sẽ giúp cho dòng điện trong mỗi thanh dẫn phần ứng được đổi chiều khi thanh dẫn đi đến một cực từ khác tên với cực từ mà nó vừa đi qua (điều này làm cho lực điện từ được sinh ra luôn luôn tạo ra mômen theo một chiều nhất định)
Stato của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện, roto có các cuộn dây quấn và được nối với nguồn điện một chiều, 1 phần quan trọng khác của động cơ điện 1 chiều là bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong khi chuyển động quay của rotor là liên tục Thông thường bộ phận này gồm có một bộ cổ góp và một bộ chổi than tiếp xúc với cổ góp
Nếu trục của một động cơ điện một chiều được kéo bằng 1 lực ngoài, động cơ
sẽ hoạt động như một máy phát điện một chiều, và tạo ra một sức điện động cảm ứng Electromotive force (EMF) Khi vận hành bình thường, rotor khi quay sẽ phát
ra một điện áp gọi là sức phản điện động counter-EMF (CEMF) hoặc sức điện động đối kháng, vì nó đối kháng lại điện áp bên ngoài đặt vào động cơ Sức điện động này tương tự như sức điện động phát ra khi động cơ được sử dụng như một máy phát điện (như lúc ta nối một điện trở tải vào đầu ra của động cơ, và kéo trục động
Trang 21thành phần: sức phản điện động, và điện áp giáng tạo ra do điện trở nội của các cuộn dây phần ứng Dòng điện chạy qua động cơ được tính theo biều thức sau:
I = (V Nguon − V PhanDienDong ) / R PhanUng
Công suất cơ mà động cơ đưa ra được, được tính bằng:
P = I * (V PhanDienDong)
Nguyên tắc hoạt độngcủa động cơ điện một chiều:
Hình 1.8 Nguyên tắc hoạt động của động cơ một chiều
Pha 1: Từ trường của rotor cùng cực với stator, sẽ đẩy nhau tạo ra chuyển động quay của rotor
Pha 2: Rotor tiếp tục quay
Pha 3: Bộ phận chỉnh điện sẽ đổi cực sao cho từ trường giữa stator và rotor cùng dấu, trở lại pha 1
Dưới đây là một số động cơ đã được dùng trong robot thi đấu
Hình 1.9 Một số động cơ được dùng trong Robot
b Chọn động cơ
Việc lựa chọn động cơ phụ thuộc vào nhiều yếu tố, nhưng động cơ được chọn trong cuộc thi robot thường có yêu cầu chung sau:
- Tốc độ lớn
Trang 22- Khả năng chịu tải cao
- Khả năng hãm tốt, thường sử dụng loại động cơ có hộp giảm tốc
- Dòng ,áp
- Đối với động cơ dùng cho cơ cấu chuyển động (phần đế của robot) yêu cầu đặt ra là phải có tốc độ nhanh ,và có độ hãm tốt Động cơ thường được sử
dụng ở phần này là loại động cơ pitman
- Ngoài động cơ pitman, có thể sử dụng các loại động cơ khác, miễn là
đạt được các tiêu chí nêu trên Có thể sử dụng động cơ vuông tháo bánh răng
1.3.3 Bộ k ung
Đây là phần khá quan trọng, phải chọn cho phù hợp các yếu tố như độ cứng vững, khích thước trọng lượng ,và quan trọng là không có sẳn bạn phải tự gia công cho phù hợp với thiết kế của mình Phần khung cần lưu ý về kích thước (mặt chân đế) , hình dạng sao cho dễ gán đặt các bộ phận khác như động cơ, bánh xe, ắc - qui
và một số cơ cấu khác
1.3.4 Mô ìn Robot dò đường
Đặc điểm mô hình như sau: gồm 3 bánh, 2 bánh được điều khiển chủ động bởi 2 động cơ Phương pháp giúp điều khiển robot di chuyển dễ dàng và linh hoạt hơn
Trang 23CHƯƠNG II VI ĐIỀU KHIỂN PIC 16F877A 2.1 Giới thiệu chung
PIC là tên viết tắt của Máy tính khả trình thông minh (Programable Intelligent Computer) do hãng General Instrument đặt tên, con vi điều khiển đầu tiên của họ
là PIC1650 Hãng Microchip tiếp tục phát triển các dòng sản phẩm này Cho đến nay, các sản phẩm vi điều khiển PIC của Microchip đã gần 100 loại, từ họ 10Fxxx đến các họ 12Cxxx, 17Cxx, 16Fxx, 16Fxxx, 16FxxxA, 16LFxxxA, 18Fxxx 18LFxxx
Hình 2.1 Sơ đồ chân của PIC16FxxxA
Bảng 2.1 Sơ đồ chức năng PIC 16F877A
Trang 242.2 Phân loại PIC
2.2.1 Phân loại PIC theo ký tự
• Nhóm thứ nhất có ký tự C, họ PIC xxCxxx được đưa vào một nhóm, gọi là OTP (One Time Programable) chỉ có thể lập trình một lần duy nhất
• Nhóm thứ hai có ký tự F, LF, họ PIC xxFxxx, xxFxxx, gọi là Flash, cho phép ghi/xóa nhiều lần bắng các mạch điện thông thường
2.2.2 Phân loại PIC theo ký số
• Loại thứ nhất là dòng PIC cơ bản (Base-Line), gồm các PIC 12Cxxx, có
độ dài lệch là 12 bit
• Loại thứ hai là các dòng PIC 10F, 12F, và 16F, gọi là dòng phổ thông (Mid- Range), có độ dài lệnh là 14 bit
• Loại thứ ba là dòng PIC 18F (High-End), có độ dài lệnh là 16 bit
PIC là một vi điều khiển với kiến trúc RISC, sử dụng microcode đơn giản đặt trong ROM, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động) PIC nhờ có EEPROM nên tạo thành 1 bộ điều khiển vào ra khả trình, có rất nhiều dòng PIC với hàng loạt các mô-đun ngoại vi tích hợp sẵn (như USART, PWM, ADC ), với bộ nhớ chương trình từ 512 Word đến 32K Word PIC16F877A là dòng PIC phổ biến nhất,
đủ mạnh về tính năng, 40 chân, bộ nhớ đủ lớn cho
hầu hết các ứng dụng thông thuờng
2.3 Vi điều khiển PIC 16F877A
Sơ đồ chân PIC 16F877A được minh họa
trên hình 2.2
Cấu tr c t ng quát của vi điều khiển PIC16F877A
• 2 bộ định thời 8 bit Timer 0 và Timer 2
• 8 K Flash ROM
• 368 bytes RAM
Trang 25• 256 bytes EEPROM
• 5 Port I/O (A, B, C, D, E), ngõ vào/ra với tín hiệu điều khiển độc lập
• 1 bộ định thời 16 bit Timer 1, có thể hoạt động trong cả chế độ tiết
kiệm năng lượng (Sleep Mode) với nguồn xung clock ngoài
• 2 bộ CCP, Capture/Compare/PWM - tạm gọi là: Bắt giữ / So sánh /
Điều biến xung
• 1 bộ biến đổi tương tự – số (ADC) 10 bit, 8 ngõ vào
• 2 bộ so sánh tương tự (Comparator)
• 1 bộ định thời giám sát (WDT – Watch Dog Timer)
• 1 cổng song song (Parallel Port) 8 bit với các tín hiệu điều khiển
• 1 cổng nối tiếp (Serial Port)
• 15 nguồn ngắt (Interrupt)
• Chế độ tiết kiệm năng lượng (Sleep Mode)
• Nạp chương trình bằng cổng nối tiếp ICSPTM (In-Circuit Serial
để giao tiếp với các thiết bị ngoại vi
Trang 272.4 Các Port uất nhập và thanh ghi điều khiển
2.4.1 Port A và thanh ghi TRISA
Bảng 2.2 Các thanh ghi liên quan đến Port A
Ghi chú: x – giá trị không rõ, u – giá trị không thay đổi Các ô tô
bóng không đƣợc dùng bởi Port A
Port A gồm 6 chân RA0-RA5, việc ghi các giá trị nào vào thanh ghi TRISA
sẽ quy định các chân của Port A là Input hay Output, 0 = Output, 1 = Input
Việc đọc thanh ghi Port A sẽ đọc các trạng thái chân cảu Port A Việc ghi giá trị vào thanh ghi Port A sẽ thay đổi các trạng thái của các chân của Port A Riêng chân RA4 đƣợc tích hợp thêm chức năng cung cấp xung clock ngoài cho Timer 0 (RA4/T0CLKI)
Các chân khác của Port A đƣợc đa hợp với các chân Analog của bộ ADC và chân ngõ vào điện thế so sánh của bộ so sánh Comparator Hoạt động của các chân này đƣợc quy định bằng các bit ADCON1 và CMCON1
Khi các chân của Port A đƣợc sử dụng là ngõ vào thì các bit của thanh ghi TRISA phải luôn bằng 1
2.4.2 Port B và thanh ghi TRISB
Bảng 2.3 Các thanh ghi liên quan đến Port B
Ghi chú: x – giá trị không rõ, u – giá trị không thay đổi Các ô tô
bóng không đƣợc dùng bởi Port B
Port B gồm 8 chân RB0-RB7, việc ghi các giá trị nào vào thanh ghi TRISB sẽ quy định các chân của Port B là Input hay Output, 0 = Output, 1 = Input
Trang 28Việc đọc thanh ghi Port B sẽ đọc các trạng thái chân cảu Port B Việc ghi giá trị vào thanh ghi Port B sẽ thay đổi các trạng thái của các chân của Port B
Ba chân của Port B được đa hợp với chức năng In-Circuit Debugger và Low Voltage Programing Function là RB3/PGM, RB6/PGC, RB7/PGD Việc thay đổi chức năng của ba thanh ghi này được đề cập trong phần các thanh ghi chức năng đặc biệt
Mỗi chân của Port B có một transistor kéo lên nguồn Vdd , chức năng này hoạt động khi bit RBPU OPTION<7> được xóa, chức năng này sẽ tự động tắt khi chân Port B được quy định là Input Bốn chân RB4-RB7 có chức năng ngắt (interrupt) khi trạng thái chân Port thay đổi (khi chân Port được quy định là output thì chức năng này không hoạt động), giá trị chân Port được so sánh với giá trị được lưu lại trước đó, khi có 2 trạng thái sai lệch giữa 2 giá trị này, ngắt sẽ xảy ra với cờ ngắt RBIF INTCON<0> bật lên, ngắt có thể làm cho vi điều khiển thoát khỏi trạng thái Sleep Mode
Bất cứ hoạt động truy xuất nào trên Port B sẽ xóa trạng thái sai lệch, kết thúc ngắt và cho phép xóa cờ RBIF
2.4.3 Port C và thanh ghi TRISC
Bảng 2.4 Các thanh ghi liên quan đến Port C
Ghi chú: x – giá trị không rõ,
u – giá trị không thay đổi
Port C gồm 8 chân từ RC0-RC7, việc ghi các giá trị nào vào thanh ghi TRISC sẽ quy định các chân của Port C là Input hay Output, 0 = Output, 1 = Input
Việc đọc thanh ghi Port C sẽ đọc các trạng thái chân cảu Port C Việc ghi giá trị vào thanh ghi Port C sẽ thay đổi các trạng thái của các chân của Port C
Các chân của Port C được đa hợp với các chức năng ngoại vi Khi các hàm chức năng ngoại vi được cho phép, thì cần quan tâm chặt chẽ tới giá trị các bit
Trang 29của thanh ghi TRISC và mặc định các chân là ngõ vào Do đó cần phải xem xét
kỹ các tính năng của các hàm ngoại vi để thiết lập giá trị các bit trong thanh ghi TRISC cho chính xác
2.4.4 Port D và thanh ghi TRISD
Bảng 2.5 Các thanh ghi liên quan đến Port D
Ghi chú: x – giá trị không rõ
u – giá trị không thay đổi Các ô tô bóng không đƣợc dùng bởi Port D
Port D gồm 8 chân từ RD0-RD7 Ngoài việc Port D đƣợc cấu trúc là một Port xuất nhập, nó còn có thể hoạt động nhƣ một cổng song song phụ tá (Parallel Slave Port) bằng cách đặt bit PSPMODE(TRIS<4>) lên 1, trong chế độ này buffer của ngõ vào là linh kiện TTL
2.4.5 Port E và thanh ghi TRISE
Bảng 2.6 Các thanh ghi liên quan đến Port E
Ghi chú: x – giá trị không rõ
u – giá trị không thay đổi Các ô tô bóng không đƣợc dùng bởi Port E
Port E có 3 chân RE0/RD/AN5, RE1/WR/AN6, và RE2/CS/AN7 có thể đƣợc cấu hình là các chân xuất nhập
Các chân của Port E có thể trở thành các chân điều khiển cho các cổng của
vi xử lý khi bit PSPMODE(TRISE<4>) đƣợc đặt lên 1 Trong chế độ này, phải đảm bảo rằng các bit từ 0 đến 2 của thanh ghi TRISE phải đƣợc đặt lên 1 để các chân này đƣợc cấu hình nhƣ là chân ngõ vào
Ngoài ra, các chân của Port E còn đƣợc cấu hình nhƣ các ngõ vào Analog, ở
Trang 30chế độ này khi đọc trạng thái các chân của Port E sẽ cho ta giá trị 0
Thanh ghi TRISE quy định chức năng xuất nhập của các chân Port E ngay cả khi nó đƣợc sử dụng là các ngõ vào Analog, khi đó các chân Port E phải là ngõ vào
2.5 Mạch dao động cho PIC
Mỗi vi điều khiển hoạt động đều cần một xung clock nhất định Hai chân OSC1 và OSC2 (chân 13 và chân 14) cung cấp dao động cho vi điều khiển PIC hoạt động
PIC16F877A có thể hoạt động trong 4
chế độ dao động khác nhau Ở chế độ LP,
XT, HS, thì dùng thạch anh nối vào 2 chân
OSC1 và OSC2 để thiếp lập dao động Việc
mắc thêm các tụ lọc giúp tăng tính ổn định của
bộ dao động, tuy nhiên giá trị của tụ không quá
lớn hay quá nhỏ để dao động ổn định và thời
gian khởi động ngắn Với điện thế Vdd > 4.5V
thì nên dùng tụ có trị số 33pF
Đối với một số ứng dụng mà độ chính
xác của thời gian không quan trọng, có thể
dùng dao động RC nhƣ một giải pháp tiết
kiệm Tần số dao động đƣợc xác định bởi giá
trị của điện trở R và tụ C
Hình 2.4 Bộ nhớ chương trình
2.6 Chân Reset PIC
Ngõ vào Master Clear (RESET PIC)
trên chân số 1 của vi điều khiển PIC Khi đƣa
MCLR xuống thấp, các thanh ghi bên trong vi
điều khiển PIC sẻ đƣợc tải những giá trị thích
hợp để khởi động lại hệ thống
Hình 2.5 Sơ đồ mạch Reset PIC
Trang 312.7 Cấp nguồn cho Vi điều khiển PIC 16f877A
PIC16F877A vận hành với nguồn đơn 5V Vdd (chân nguồn dương) được nối váo chân số 11 và 32 của PIC Vss (chân mass) được nối vào chân số 12
và 31 của PIC Cả 4 chân này phải được nối nguồn thì PIC mới hoạt động được
Bộ nhớ dữ liệu bao gồm 4 Bank: Bank 0, Bank 1, Bank 2, và Bank 3 Mỗi Bank có dung lượng 128 Bytes, bao gồm vùng RAM đa mục đích và vùng các thanh ghi chức năng đặc biệt SFRs (Special Function Registers)
Các Bank này được lựa chọn bằng bit RP0 và RP1 ở thanh ghi Status
Bảng 2.7 Lựa chọn Bank của Bộ nhớ dữ liệu trong PIC
Các vùng RAM đa mục đích (GPR – General Purpose RAM) có chiều rộng là
8 bit và được truy cập trực tiếp hoặc gián tiếp thông qua thanh ghi chức năng đặc biệt
Các thanh ghi chức năng đặc biệt được sử dụng bởi bộ xử lý trung tâm và các hàm chức năng ngoại vi để điều khiển hoạt động của các thiết bị Các thanh ghi chức năng đặc biệt được chia làm 2 loại, loại thứ nhất dùng cho các chức năng ngoại vi (ngắt, so sánh, điều biến xung PWM, ) loại thứ hai dùng cho các chức năng bên trong của vi điều khiển (các phép tính số học, truy xuất dữ liệu, )
Trang 32Hình 2.6 Bản đồ cấu tr c bộ nhớ dữ liệu của PIC16F877A