TỔNG QUAN VỀ VI ĐIỀU KHIỂN, NGHIÊN CỨU VI ĐIỀU KHIỂN DÒNG PIC VÀ THIẾT KẾ ỨNG DỤNG VỚI PIC

28 438 0
TỔNG QUAN VỀ VI ĐIỀU KHIỂN, NGHIÊN CỨU VI ĐIỀU KHIỂN DÒNG PIC VÀ THIẾT KẾ ỨNG DỤNG VỚI PIC

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC MỞ ĐẦU. CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1. GIỚI THIỆU CHUNG 1.2. PHÂN LOẠI 1.3. CẤU TRÚC TỔNG QUAN VỀ VI ĐIỀU KHIỂN CHƯƠNG 2: KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 2.1. PIC LÀ GÌ?. 2.2. KIẾN TRÚC PIC. 2.3. RISC VÀ CISC. 2.4. CÁC DÒNG PIC VÀ LỰA CHỌN VĐK PIC. 2.5. NGÔN NGỮ LẬP TRÌNH CHO PIC. 2.6. MẠCH NẠP CHO PIC. 2.7. HÌNH ẢNH MỘT SỐ LOẠI PIC. CHƯƠNG 3: ỨNG DỤNG VỀ PIC 3.1. ĐẶT VẤN ĐỀ 3.2. CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA ROBOT. 3.3. KHỐI CẢM BIẾN. 3.4. ĐỘNG CƠ. 3.5. KHỐI ĐIỀU KHIỂN TRUNG TÂM. 3.6. CODE CHO PIC16F887 TRONG ĐỀ TÀI 3.7. CHỨC NĂNG CỦA PIC TRONG ĐỀ TÀI. 3.8. MẠCH ĐIỀU KHIỂN ĐỘNG CƠ. 3.9. MẠCH NGUYÊN LÍ VÀ MẠCH IN. 3.10. KẾT LUẬN.

TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆP HÀ NỘI KHOA ĐIỆN TỬ BÁO CÁO ĐỀ TÀI THỰC TẬP TỐT NGHIỆP ĐỀ TÀI: TỔNG QUAN VỀ VI ĐIỀU KHIỂN, NGHIÊN CỨU VI ĐIỀU KHIỂN DÒNG PIC VÀ THIẾT KẾ ỨNG DỤNG VỚI PIC GV hướng dẫn SV thực Lớp Khoa Trường : Th.s Tống Văn Luyên : Lương Mạnh Quyền : Điện Tử – K4 : Điện Tử : Đại Học Công Nghiệp Hà Nội BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ BỘ CÔNG THƯƠNG CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI Độc lập - Tự - Hạnh phúc THỰC TẬP TỐT NGHIỆP ĐẠI HỌC Họ tên sinh viên: Lương Mạnh Quyền Lớp: ĐH CNKT ĐT – K4 Khoa: Điện tử Tên đề tài: Thiết kế mạch ứng dụng dùng PIC Giáo viên hướng dẫn: Tống Văn Luyên NỘI DUNG YÊU CẦU TT Nội dung Tổng quan vi điều khiển Nghiên cứu vi điều khiển dòng PIC Thiết kế ứng dụng với PIC Ngày giao đề tài: 14/1/2013 Ngày hoàn thành: 16/3/2013 GIÁO VIÊN HƯỚNG DẪN TRƯỞNG KHOA Tống Văn Luyên BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ MỤC LỤC - MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 GIỚI THIỆU CHUNG 1.2 PHÂN LOẠI 1.3 CẤU TRÚC TỔNG QUAN VỀ VI ĐIỀU KHIỂN CHƯƠNG 2: KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 2.1 PIC LÀ GÌ? 2.2 KIẾN TRÚC PIC 2.3 RISC VÀ CISC 2.4 CÁC DÒNG PIC VÀ LỰA CHỌN VĐK PIC 2.5 NGƠN NGỮ LẬP TRÌNH CHO PIC 2.6 MẠCH NẠP CHO PIC 2.7 HÌNH ẢNH MỘT SỐ LOẠI PIC CHƯƠNG 3: ỨNG DỤNG VỀ PIC 3.1 ĐẶT VẤN ĐỀ 3.2 CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG CỦA ROBOT 3.3 KHỐI CẢM BIẾN 3.4 ĐỘNG CƠ 3.5 KHỐI ĐIỀU KHIỂN TRUNG TÂM 3.6 CODE CHO PIC16F887 TRONG ĐỀ TÀI 3.7 CHỨC NĂNG CỦA PIC TRONG ĐỀ TÀI 3.8 MẠCH ĐIỀU KHIỂN ĐỘNG CƠ 3.9 MẠCH NGUYÊN LÍ VÀ MẠCH IN 3.10 KẾT LUẬN BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ Đánh giá nhận xét giáo viên hướng dẫn …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ Lời Nói Đầu Ngày kĩ thuật vi điều khiển trở nên quen thuộc nghành kĩ thuật dân dụng Các vi điều khiển có khả sử lý hoạt động phước tạp mà cần chíp vi mạch nhỏ, thay tủ điều khiển lớn phước tạp mạch điện gọn nhẹ, dễ dàng thao tác sử dụng Vi điều khiển góp phần vào kĩ thuật điều khiển mà cịn góp phần to lớn vào việc phát triển thơng tin Chính lí trên, việc tìm hiểu, khảo sát vi điều khiển điều mà sinh viên nghành điện tử phải quan tâm Đó nhu cầu cần thiết cấp bách sinh viên Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng lại điều phước tạp phần cơng việc xử lý phụ thuộc vào người, chương trình hay phần mềm Nếu khơng có tham gia người hệ thống vi điều khiển vật vô tri Do nói đến vi điều khiển giống máy tính bao gồm phần phần cứng phần mềm Mặc dù vi điều khiển bước dài để tiếp cận với kĩ thuật việc có sớm chiều Để tìm hiểu vi điều khiển cách khoa học mang lại hiệu cao làm tảng cho việc xâm nhập vào hệ thống tối tân Việc trang bị kiến thức vi điều khiển cho sinh viên cần thiết Xuất phát từ thực tiễn em đến định Tìm hiểu vi điều khiển nghiên cứu vi điều khiển dòng PIC làm ứng dụng PIC nhằm đáp ứng nhu cầu ham muốn học hỏi thân giúp bạn sinh viên dễ tiếp cận hiểu sâu vi điều khiển PIC Trong trình thực đề tài cịn nhiều sai sót, mong nhận nhiều ý kiến đóng góp từ thầy, bạn Em chân thành cảm ơn! BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN 1.1 GIỚI THIỆU CHUNG Bộ vi sử lý có khả vượt bậc so với hệ thống khác khả tính tốn, xử lý, thay đổi chương trình linh hoạt theo mục đích người sử dụng, đặc biệt hiệu với toán hệ thống lớn Tuy nhiên ứng dụng nhỏ, tầm tính tốn khơng địi hỏi khả tính tốn lớn việc sử dụng vi xử lý cần cân nhắc Bởi hệ thống dù lớn hay nhỏ, dùng vi xử lý đòi hỏi khối mạch điện giao tiếp phước tạp Các khối bao gồm nhớ để chứa liệu chương trình thực hiện, mạch điện giao tiếp ngoại vi để xuất nhập điều khiển trở lại, khối liên kết với vi xử lý thực cơng việc Để kết nối khối địi hỏi người thiết kế phải hiểu biết tường minh thành phần xử lý, nhớ, thiết bị ngoại vi Hệ thống tạo phước tạp, chiếm nhiều không gian, mạch in phước tạp vấn đề trình độ người thiết kế Kết giá thành sản phẩm cuối cao, không phù hợp để áp dụng cho hệ thống nhỏ Vì số nhược điểm nên nhà chế tạo tích hợp nhớ số mạch giao tiếp ngoại vi với vi xử lý vào IC gọi Mictrcontroller – Vi điều khiển Một số điểm khác vi xử lý vi điều khiển: Về phần cứng: Vi xử lý cần gép thêm thiết bị ngoại vi bên nhớ, thiế bị ngoại vi khác,… để tạo thành mạch hồn chỉnh Đối với vi điều khiển thân hệ thống máy tính hồn chỉnh với CPU, nhớ, mạch giao tiếp, định thời mạch điều khiển ngắt tích hợp bên mạch Về đặc trưng tập lệnh: ứng dụng khác nên vi xử lý vi điều khiển có yêu cầu khác tập lệnh chúng Tập lệnh vi xử lý thường mạnh kiểu định địa với lệnh cung cấp hoạt động lượng liệu lớn 1byte, word, double word,… vi điều hiển, tập lệnh mạnh việc xử lý kiểu liệu bit vài bit Do vi điều khiển cấu tạo phần cứng khả xử lý thấp nhiều so với vi xử lý nên gia thành vi điều khiển rẻ nhiều Tuy nhiên đủ khả đáp ứng tất yêu cầu người dùng Vi điều khiển ứng dụng dây chuyền tự động loại nhỏ, robot có chức đơn giản, máy giặt, ơtơ v.v… 1.2 PHÂN LOẠI - Độ dài ghi Dựa vào độ dài ghi lệnh vi điều khiển mà người ta chia loại vi điều khiển 8bit, 16bit, hay 32bit… BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ Các loại vi điều khiển 16bit có độ dài lệnh lớn nên tập lệnh nhiều hơn, phong phú Tuy nhiên chương trình viết vi điều khiển 16bit viết vi điều khiển 8bit với chương trình thích hợp - Kiến trúc CISC RISC Vi xử lý vi điều khiển CISC vi điều khiển có tập lệnh phước tạp Các vi điều khiển có số lượng lớn lệnh nên giúp người lập trình linh hoạt dễ dàng viết chương trình Vi điều khiển RISC vi điều khiển có tập lệnh đơn giản Chúng có số lượng nhỏ lệnh đơn giản Do đó, chúng địi hỏi phần cứng hơn, giá thành thấp hơn, hoạt động nhanh so với CISC Tuy nhiên địi hỏi người lập trình phải viết chương trình phước tạp hơn, nhiều lệnh - Kiến trúc Harvard kiến trúc Von - neumann Kiến trúc harvard sử dụng nhớ riêng biệt cho chương trình liệu bus địa bus liệu độc lập với nên trình chuyền nhận liệu đơn giản kiến trúc Vonneumann sử dụng chung nhớ cho chương trình liệu, điều làm cho vi điều khiển gọn nhẹ hơn, giá thành thấp 1.3 - CẤU TRÚC TỔNG QUAN CỦA VI ĐIỀU KHIỂN CPU CPU trái tim hệ thống Là nơi quản lí tất hoạt động vi điều khiển Bên CPU gồm:  ALU phận thao tác liệu  Bộ giải mã lệnh điều khiển, xác định thao tác mà CPU cần thực  Thanh gi lệnh IR, lưu giữ opcpde lệnh thực thi  Thanh ghi PC, lưu giữ địa lệnh cần thực thi  Một tập lệnh ghi dùng để lưu thông tin tạm thời - ROM ROM nhớ dùng để lưu giữ chương trình ROM cịn dùng để chứa số liệu bảng, tham số hệ thống, số liệu cố định hệ thống Trong trình hoạt động nội dung ROM cố định, thay đổi, nội dung ROM thay đổi ROM chế độ xóa nạp chương trình - RAM RAM nhớ liệu Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu trữ kết trung gian kết cuối phép toán, xử lý thơng tin Nó dùng để tổ chức vùng đệm liệu, thao tác thu phát chuyển đổi liệu - BUS BUS đường dẫn dùng để di chuyển liệu Bao gồm : bus địa chỉ, bus liệu, bus điều khiển BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ BỘ ĐỊNH THỜI Được sử dụng cho mục đích chung thời gian - WATCHDOG Bộ phận dùng để reset lại hệ thống hệ thống gặp ‘ bất thường ’ ADC Bộ phận chuyển tín hiệu analog sang tín hiệu digital Các tín hiệu bên ngồi vào vi điều khiển thường dạng analog ADC chuyển tín hiệu dạng tín hiệu digital mà vi điều khiển hiểu TẬP LỆNH Tập lệnh coi tập mã lệnh nhị phân Bản chất tập lệnh tập hợp mã nhị phân, mà từ đơn vị xử lý trung tâm (CPU) nhận biết thực Dữ liệu mà CPU xử lý số nhị phân Chính vậy, tập lệnh dù thực cơng việc sau : • Tính tốn số nhị phân • Các lệnh để chuyển giá trị thành tín hiệu điện tử chân linh kiện • Các lệnh di chuyển giá trị ghi • Các lệnh điều khiển trỏ chương trình Tập lệnh phân làm hai loại, tập lệnh RISC tập lệnh CISC nêu BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ CHƯƠNG : KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 2.1 PIC LÀ GÌ ? PIC viết tắt Programable Intelligent Computer, tạm dịch máy tính thơng minh khả trình, hãng Genenral Instrument đặt tên cho vi điều khiển họ PIC1650 Vi điều khiển sau nghiên cứu phát triển thêm từ hình thành nên dịng vi điều khiển PIC ngày 2.2 KIẾN TRÚC PIC Cấu trúc phần cứng vi điều khiển thiết kế theo hai dạng kến trúc : kiến trúc Von Neuman kiến trúc Havard Harvad Data memory CPU Von - Newman Program memory CPU Program memory Hình : kiến trúc Havar kiến trúc Von-Neuman Tổ chức phần cứng PIC thiết kế theo kiến trúc Havard Đặc điểm khác biệt kiến trúc Havard kiến trúc Von-Neuman cấu trúc nhớ liệu nhớ chương trình Đối với kiến trúc Von – Neuman, nhớ liệu nhớ chương trình nằm chung nhớ, ta tổ chức, cân đối cách linh hoạt nhớ chương trình nhớ liệu Tuy nhiên điều có ý nghĩa tốc độ xử lý CPU pải cao Vì với cấu trúc đó, thời điểm CPU tương tác với nhớ liệu nhớ chương trình Như nói kiến trúc Von – Neuman khơng thích hợp với kiến trúc vi điều khiển Đối với kiến trúc Havard, nhớ liệu nhớ chương trình tách thành hai nhớ riêng biệt Do thời điểm CPU tương tác với hai nhớ, tốc độ xử lý vi điều khiển cải thiện đáng kể Một điểm cần ý tập lệnh kiến trúc havard tối ưu tùy theo yêu cầu kiến trúc vi điều khiển mà không cần phụ thuộc vào cấu trúc liệu ví dụ : vi điều khiển dịng 16F, độ dài lệnh ln 14bit( liệu tổ BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ chức thành byte), kiến trúc Von – Neuman, độ dài luôn số 1byte( liệu tổ chức thành byte) 2.3 RISC VÀ CISC Như trình bày trên, kiến trúc Havard khái niệm so với kiến trúc Von – Neuman khái niệm hình thành nhằm cải tiến tốc độ thực thi vi điều khiển Qua việc tách rời nhớ liệu nhớ chương trình, bus liệu bus trương trình, CPU lúc truy xuất nhớ chương trình nhớ liệu, giúp tăng tốc độ xử lí vi điều khiển lên gấp đôi Đồng thời cấu trúc lệnh không phụ thuộc vào cấu trúc liệu mà linh động điều chỉnh tùy theo khả tốc độ vi điều khiển Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh họ vi điều khiển PIC thiết kế cho chiều dài mã lệnh cố định ( ví dụ họ 16Fxxxx chiều dài mã lệnh 14bit) cho phép thực thi lệnh chu kì xung clock (ngoại trừ số trường hợp đắc biệt lệnh nhảy, lệnh gọi chương trình con… cần hai chu kì xung đồng hồ) Điều có nghĩa tập lệnh vi điều khiển thuộc cấu trúc Havard lệnh hơn, ngắn hơn, đơn giản để đáp ứng yêu cầu mã hóa lệnh số lượng bit định Vi điều khiển tổ chức theo kiến trúc Havard gọi vi điều khiển RISC (Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn Vi điều khiển thiết kế theo kiến trúc Von – Neuman gọi vi điều khiển CISC ( Complex Instruction Set Computer ) hay vi điều khiển có tập lệnh phước tạp mã lệnh khơng phải số cố định mầ bội số 1byte (8bit) 2.4 CÁC DÒNG PIC VÀ LỰA CHỌN VI ĐIỀU KHIỂN PIC Các kí hiệu vi điều khiển PIC : - PIC12xxxx : Độ dài lệnh 12bit - PIC16xxxx : Độ dài lệnh 14bit - PIC18xxxx : Độ dài lệnh 16 bit C : PIC có nhớ EPROM (chỉ có 16C84 EEPROM) F : PIC có nhớ flash LF: PIC có nhớ flash hoạt động điện áp thấp LV: Tương tự LF, kí hiệu cũ Bên cạnh số vi điều khiển có kí hiệu xxFxxx EEPROM, có thêm chữ A cuối flash( ví dụ PIC 16F877 EEPROM, cịn PIC 16F877A flash) Ngồi cịn có thêm dịng vi điều khiển PIC dsPIC Ở việt nam phổ biến họ vi điều khiển PIC hãng Microchip sản xuất Cách lựa chọn vi điều khiển PIC phù hợp: - Trước hết cần ý đến số chân vi điều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lượng chân khác nhau, chí có vi điều khiển có chân, ngồi cịn có vi điều khiển 28,40,44… chân - Cần chọn vi điều khiển PIC có nhớ flash để nạp xóa chương trình nhiều lần Tiếp theo cần ý đến khối chức tích hợp sẵn vi điều khiển, chuẩn giao tiếp bên - Sau cần ý đến nhớ chương trình mà nhớ vi điều khiển cho phép 10 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ 3.3 Khối Cảm biến 3.3.1 Sơ đồ mạch nguyên lí Hình Sơ đồ ngun lý mạch đọc cảm biến Nguyên lý hoạt động Cảm biến quang có tác dụng cảm nhận đường đi, ánh sáng từ môi trường truyền đến cảm biến, làm thay đổi tính chất vật lí cảm biến, sinh tín hiệu điện, tín hiệu xẽ qua mạch so sánh để đưa vi điều khiển xử lí 3.4 Động - Giới thiệu động Động bước loại động điện có nguyên lý ứng dụng khác biệt với đa số động điện thông thường Chúng thực chất động đồng dùng để biến đổi tín hiệu điều khiển dạng xung điện rời rạc thành chuyển động góc quay chuyển động rơto có khả cố định rơto vào vị trí cần thiết - Nguyên tắc hoạt động Động bước không quay theo chế thơng thường mà quay theo bước nên có độ xác mặt điều khiển học Chúng ta làm việc nhờ chuyển mạch điện tử đưa tín hiệu điêu khiển vào stato theo thứ tự tần số định Tổng số góc quay rơto tương ứng với số lần chuyển mạch, chiều quay tốc độ quay rôto phụ thuộc vào thứ tự chuyển đổi tần số chuyển đổi VCC 14 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI 3.5 KHOA: ĐIỆN TỬ Khối điều khiển trung tâm (PIC 16F887) Khối điều khiển trung tâm gồm có PIC16F887 số linh kiện phụ trợ PIC 16F887 dòng PIC phổ biến nay, đủ mạnh tính năng, 40 chân, nhớ đủ cho hầu hết ứng dụng thơng thường Hình 5: Vi điều khiển PIC 16F887 3.6 Một vài chi tiết vi điều khiển PIC16F887 PIC16F887 vi điều khiển 8bit có kiến trúc Harvard Microchip Có thơng số kĩ thuật sau: • Xung clock hoạt động tối đa 20MHz • Chu kì máy lần chu kì xung clock • Chip có nhiều dạng khác nhau, loại chip sử dụng đề tài loại 40 chân PDIP • Điện áp hoạt động rộng từ 2V đến 5.5V • Bộ nhớ liệu nhớ chương trình tác biệt nhau, bus địa bus liệu tách biệt nhớ chương trình Flash 8K nhớ cho phép ghi 100,000 lần Mỗi nhớ có 14 bits Bộ nhớ liệu RAM có 512 Byte gồm ghi chức đặc biệt ghi đa mục đích, ngồi PIC16F887 tích hợp 256 byte EEPROM cho phép ghi đến 1,000,000 lần • 35 chân I/O port điều khiển Port A, Port B, Port C, Port D, Port E • Bộ chuyển đổi ADC 10-bit với 14 kênh • timer Bộ timer timer bit, timer 16 bit • Module Enhanced USART hỗ trợ RS-485, RS-232 15 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ Hình 6: Cấu trúc PIC16F887 16 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI 3.7 KHOA: ĐIỆN TỬ Code cho 16F887 đề tài #include #include #include #FUSES NOWDT #FUSES HS #FUSES NOPUT #FUSES NOPROTECT #FUSES NOCPD #FUSES BROWNOUT #FUSES IESO #FUSES FCMEN #FUSES NOLVP #FUSES NODEBUG #FUSES NOWRT #FUSES BORV40 #FUSES MCLR #use delay(clock=20000000) #define tien #define lui int8 a,b,c,d,e,f,g,h; int8 kq = 0; int8 flag = 2; void doc_adc() { kq = 0; set_adc_channel(0); delay_us(8); a=read_adc(); set_adc_channel(0); delay_us(2); if(a>15) { kq = kq|0b1; output_low(pin_D5); } else { output_high(pin_D5); } delay_us(8); 17 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ b=read_adc(); set_adc_channel(1); delay_us(2); if(b>15) { kq = kq|0b10; output_low(pin_D4); } else { output_high(pin_D4); } delay_us(8); c=read_adc(); set_adc_channel(2); delay_us(2); if(c>13) { kq = kq|0b100; output_low(pin_C7); } else { output_high(pin_C7); } delay_us(8); d=read_adc(); set_adc_channel(3); delay_us(2); if(d>13) { kq = kq|0b1000; output_low(pin_C6); } else { output_high(pin_C6); } delay_us(8); e=read_adc(); set_adc_channel(4); delay_us(2); 18 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ if(e>10) { kq = kq|0b10000; output_low(pin_C5); } else { output_high(pin_C5); } delay_us(8); f=read_adc(); set_adc_channel(5); delay_us(2); if(f>13) { kq = kq|0b100000; output_low(pin_C4); } else { output_high(pin_C4); } delay_us(8); g=read_adc(); set_adc_channel(6); delay_us(2); if(g>12) { kq = kq|0b1000000; output_low(pin_D3); } else { output_high(pin_D3); } delay_us(8); h=read_adc(); set_adc_channel(7); delay_us(2); if(h>15) { kq = kq|0b10000000; 19 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ output_low(pin_D2); } else { output_high(pin_D2); } } void dongco_phai(int toc_do,char chieu) { if(chieu == tien) { output_high(pin_C0); output_low(pin_C3); }; if(chieu == lui) { output_high(pin_C3); output_low(pin_c0); }; set_pwm1_duty(toc_do); } void dongco_trai(int toc_do,char chieu) { if(chieu == tien) { output_high(pin_D0); output_low(pin_D1); }; if(chieu == lui) { output_high(pin_D1); output_low(pin_D0); }; set_pwm2_duty(toc_do); } void dung_lai() { setup_ccp1(CCP_OFF); setup_ccp2(CCP_OFF); output_low(pin_C0); output_low(pin_d0); output_low(pin_C3); 20 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ output_low(pin_d1); } void lui_sau() { dongco_phai(250,lui); dongco_trai(250,lui); } void giua() { dongco_phai(255,tien); dongco_trai(255,tien); } void trai0() { dongco_phai(229,tien); dongco_trai(255,tien); } void phai0() { dongco_phai(255,tien); dongco_trai(229,tien); } void trai1() { dongco_phai(204,tien); dongco_trai(255,tien); } void phai1() { dongco_phai(255,tien); dongco_trai(204,tien); } void trai2() { dongco_phai(178,tien); dongco_trai(255,tien); } void phai2() { dongco_phai(255,tien); dongco_trai(178,tien); } void trai3() { dongco_phai(155,tien); 21 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ dongco_trai(255,tien); } void phai3() { dongco_phai(255,tien); dongco_trai(155,tien); } void trai4() { dongco_phai(127,tien); dongco_trai(255,tien); } void phai4() { dongco_phai(255,tien); dongco_trai(127,tien); } void do_duong() { doc_adc(); if(kq==0b11111111) { dung_lai(); }; switch (kq) { case 0b00011000: giua();flag = 2; break; case 0b00001100&0b00001000&0b00001110: phai0(); flag = 0; break; case 0b00000110&0b00000100: phai1(); flag = 0; break; case 0b00000011&0b00000010: phai2(); flag = 0; break; case 0b00000001: phai3();flag = 0; break; case 0b00110000&0b00010000&0b01110000: trai0();flag = 1; break; case 0b01100000&0b00100000: trai1();flag = 1; break; case 0b11000000&0b01000000: trai2();flag = 1; break; case 0b10000000: trai3();flag = 1; break; 22 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ case 0b00000000: if(flag == 1) { phai4(); } else if(flag ==0) { trai4(); } else if(flag == ) { dung_lai(); } break; } } void main() { setup_adc_ports(sAN0|sAN1|sAN2|sAN3|sAN4|sAN5|sAN6|sAN7|VSS_VDD); setup_adc(ADC_CLOCK_INTERNAL); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DIV_BY_4,255,1); setup_ccp1(CCP_PWM); setup_ccp2(CCP_PWM); setup_comparator(NC_NC_NC_NC); while(true) { do_duong(); } } 23 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ 3.8 Chức PIC 16F887 sử dụng đề tài  Nhận tín hiệu từ cảm biến truyền  Chứa thông tin xử lý hoạt động robot  Điều khiển động thông qua IC L298 3.9 Mạch điều khiển động Hình 7: Mạch điều khiển động Mạch sử dụng IC L298 nguồn sử dụng 5v - L298 IC tích hợp nguyên khối gồm mạch cầu H bên Với điện áp làm tăng công suất đầu từ 5v – 47v, dòng lên đến 4A, L298 thích hợp ứng dụng cơng suất nhỏ động DC loại vừa… 24 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ Hình 8: Sơ đồ IC L298 Chức chân L298: - chân INPUT: IN1, IN2, IN3, IN4 nối với chân 5, 7, 10, 12 L298 Đây chân nhận tín hiệu điều khiển chân OUTPUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với chân INPUT) nối với chân 2, 3, 13, 14 L298 Các chân xẽ nối với động chân ENA ENB dùng để điều khiển mạch cầu H L298 Nếu mức logic cho phép mạch cầu H hoạt động, mức mạch cầu khơng hoạt động 25 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI KHOA: ĐIỆN TỬ 3.10.Mạch nguyên lý mạch in ghép nối - Mạch nguyên lí 26 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI - KHOA: ĐIỆN TỬ Mạch in 3.11 Thuật tốn dị đường robot Dựa vào thay đổi trạng thái cảm biến dò đường Một cảm biến dò đường bao gồm phát thu, cấp nguồn phát phát sáng, vạch xanh ánh sáng từ led phát xẽ phản xạ lên led thu làm cho mức điện áp qua led thu thay đổi tính chất vật lí thay đổi, vi điều khiển xẽ liên tục kiểm tra mức trạng thái có cảm biến thu để xác định robot có vạch xanh hay khơng, xác định độ lệch tương ứng so với vạch xanh dựa vào cách bố trí cảm biến 3.12 Kết luận  Yêu cầu đạt - Robot di theo đường kẻ sẵn - Robot qua đoạn đường kẻ gấp khúc  Công việc thực - Nghiên cứu cấu trúc nguyên lí hoạt động robot - Thiết kế chế tạo mơ hình robot - Xây dựng thuật tốn lập trình điều khiển robot 27 BÁO CÁO ĐỀ TÀI THỰC TẬP TRƯỜNG ĐHCN HÀ NỘI  KHOA: ĐIỆN TỬ Những tồn đề tài - Bộ phận cảm biến không hiệu cao, môi trường ánh sáng khác - Phần khí chưa đạt độ xác - Chưa sử dụng nguồn di động Sử dụng nguồn máy tính với đầu GND, +5V, +12V 28 BÁO CÁO ĐỀ TÀI THỰC TẬP ... Thiết kế mạch ứng dụng dùng PIC Giáo vi? ?n hướng dẫn: Tống Văn Luyên NỘI DUNG YÊU CẦU TT Nội dung Tổng quan vi điều khiển Nghiên cứu vi điều khiển dòng PIC Thiết kế ứng dụng với PIC Ngày giao đề... TRÚC TỔNG QUAN VỀ VI ĐIỀU KHIỂN CHƯƠNG 2: KHÁI QUÁT VỀ VI ĐIỀU KHIỂN PIC 2.1 PIC LÀ GÌ? 2.2 KIẾN TRÚC PIC 2.3 RISC VÀ CISC 2.4 CÁC DÒNG PIC VÀ LỰA CHỌN VĐK PIC 2.5 NGƠN NGỮ LẬP TRÌNH CHO PIC 2.6... định Tìm hiểu vi điều khiển nghiên cứu vi điều khiển dòng PIC làm ứng dụng PIC nhằm đáp ứng nhu cầu ham muốn học hỏi thân giúp bạn sinh vi? ?n dễ tiếp cận hiểu sâu vi điều khiển PIC Trong trình

Ngày đăng: 20/04/2016, 17:16

Từ khóa liên quan

Mục lục

  • THỰC TẬP TỐT NGHIỆP ĐẠI HỌC

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan