1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đo và điều chỉnh nhiệt độ sử dụng pic18f4550 giao tiếp với máy tính qua cổng usb

70 36 0

Đ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

621.3815 TRƢỜNG ĐẠI HỌC VINH KHOA ĐIỆN TỬ VIỄN THÔNG đồ án tốt nghiệp đại học Đề tài: O V ĐIỀU CHỈNH NHIỆT ĐỘ SỬ DỤNG PIC18F4550 GIAO TIẾP VỚI MÁY TÍNH QUA CỔNG USB Ngườ g Mã số sinh viên : : : : ThS Hồ Sỹ Phƣơng Nguyễn Thị Hồng 50K1 - ĐTVT 0951080274 NGHỆ AN - 2014 MỤC LỤC Trang LỜI MỞ ĐẦU TÓM TẮT ĐỒ ÁN DANH MỤC BẢNG BIỂU DANH MỤC HÌNH VẼ CÁC THUẬT NGỮ VIẾT TẮT CHƢƠNG VI ĐIỀU KHIỂN PIC18F4550 1.1 Tổng quan vi điều khiển PIC18F4550 1.2 Đặc điểm vi điều khiển PIC 18F4550 1.2.1 Cấu hình PIC 18F4550 1.2.2 Sơ đồ khối PIC 184550 10 1.2.3 Sơ đồ chức chân PIC 18F4550 12 1.3 Các khối chức PIC 18F4550 15 1.3.1 Khối dao động xung nhịp 15 1.3.2 Bộ nhớ 17 1.3.3 Khối Timer 18 1.3.4 Khối Capture/ So sánh/ PWM (CCP) 19 1.3.5 Khối Capture/so sánh/PWM nâng cao (ECCP) 20 1.3.6 Khối USB (Universal Serial Bus) 21 1.3.7 Cổng song song Streaming (SPP: Streaming Parallel Port) 23 1.3.8 Khối truyền nối tiếp đồng chủ MSSP 24 1.3.9 Thu phát bất đồng đa nâng EUSART 25 1.3.10 Khối chuyển đổi ADC 10 bit 26 1.3.12 Khối tham chiếu điên áp so sánh 29 1.3.13 Khối phát điện áp cao/ thấp 29 1.3.14 Ngắt 30 1.4 Phần mềm hỗ trợ lập trình biên dịch 32 1.5 Tổng kết chương 33 CHƢƠNG PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 34 2.1 Bài toán giám sát điều chỉnh nhiệt độ 34 2.2 Khối điều khiển trung tâm 35 2.3 Khối giao tiếp máy tính 36 2.3.1 Cổng USB 36 2.3.2 Cấu trúc giao tiếp USB 38 2.3.3 Các kiểu truyền USB 41 2.3.4 Giao diện vật lý BUS USB 42 2.4 Khối cảm biến nhiệt độ 45 2.5 Khối hiển thị 49 2.6 Khối nguồn 51 2.7 Sơ đồ nguyên lý 52 2.8 Tổng kết chương 52 CHƢƠNG MÔ PHỎNG VÀ THI CÔNG 53 3.1 Thi công phần cứng 53 3.1.1 Sơ đồ khối hệ thống điều khiển giám sát 53 3.1.2 Sơ đồ mạch in 54 3.2 Lập trình phần mềm 54 3.2.1 Xây dựng giao diện máy tính 54 3.2.2 Xây dựng thuật toán điều khiển 57 3.3 Tổng kết chương 59 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 60 Kết luận 60 Hướng phát triển 60 PHỤ LỤC 61 TÀI LIỆU THAM KHẢO 67 LỜI MỞ ĐẦU Kỹ thuật vi xử lý với tốc độ phát triển nhanh mang đến thay đổi to lớn khoa học công nghệ đời sống ngày Ngày thiết bị máy móc trở nên thông minh hơn, công việc thực với hiệu cao hơn, nhờ vi xử lý, vi điều khiển Để góp phần tạo tảng ban đầu cho việc học tập, tìm hiểu kỹ thuật vi xử lý cách truyền liệu từ vi xử lý với thiết bị bên ngoài, đề tài “Đo điều chỉnh nhiệt độ sử dụng PIC18F4550 giao tiếp với máy tính qua cổng USB” nghiên cứu thực hy vọng triển khai vào thực tiễn Nội dung đồ án chia thành chương: Chương 1: Tổng quan vi điều khiển PIC18F4550 Chương 2: Phân tích, thiết kế hệ thống Chương 3: Mô thi công Xin trân trọng cảm ơn ThS Hồ Sỹ Phương giới thiệu, cung cấp tài liệu, tận tình hướng dẫn nội dung phương pháp, giúp tơi hồn thành đồ án Xin chân trọng cảm ơn thầy cô giáo khoa Điện tử Viễn thông trường Đại học Vinh giúp đỡ suốt thời gian học tập hồn thành chương trình đào tạo Do kiến thức nhiều hạn chế, nên đồ án khơng tránh khỏi sai sót, em mong nhận đánh giá phê bình thầy Nghệ An, ngày 15 tháng 01 năm 2014 Sinh viên thực Nguyễn Thị Hồng TÓM TẮT ĐỒ ÁN Đồ án tìm hiểu, thiết kế thi công mạch đo nhiệt độ môi trường thông qua cảm biến nhiệt LM35, biến đổi thành tín hiệu điện đưa đến khối xử lý trung tâm sử dụng vi điều khiển PIC 18F4550 Khối xử lý trung tâm có nhiệm vụ gửi tín hiệu trạng thái hoạt động thiết bị lên máy tính, đồng thời đọc tín hiệu điều khiển từ máy tính điều khiển thiết bị ngoại vi Mạch giao tiếp với máy tính qua cổng USB Giao diện điều khiển giám sát thiết kế máy tính nhờ phần mềm Labview, có chức gửi tín hiệu điều khiển qua cổng USB máy tính đến mạch điều khiển, đồng thời nhận tín hiệu trạng thái hoạt động thiết bị hiển thị giao diện phần mềm ABSTRACT This project research, design and construction of environmental temperature measurement circuit through LM35 temperature sensor, converted into electrical signals and sent to the central processing unit using the microcontroller PIC 18F4550 This central processing unit is responsible for sending signals about the operating status of the device to the computer, read and control signals from the control computer and peripherals The circuit will interface with the computer via USB The console is designed and monitored by computers on Labview software, the function sends control signals to the computer's USB port to control circuits, and receiving signals on the status of activities display devices and software interface DANH MỤC BẢNG BIỂU Bảng 1.1 Đặc điểm PIC 18F4550 10 Bảng 2.1 So sánh giao diện USB với giao diện thơng dụng máy tính .38 Bảng 2.2 Các lớp thiết bị hỗ trợ theo hệ điều hành 40 Bảng 2.3 Các dây dẫn USB 42 Bảng 2.4 Thông số kỹ thuật cảm biến nhiệt họ LM35 .48 Bảng 2.5 Chức chân hình LCD 16x2 50 DANH MỤC HÌNH VẼ Hình 1.1 PIC 18F4550 Hình 1.2 Giao tiếp USB PIC 18F4550 Hình 1.3 Sơ đồ chân vi khiển 18F4550 .9 Hình 1.4 Sơ đồ khối PIC 18F4550 11 Hình 1.5 Sơ đồ chân PIC 18F4550 loại 40 chân 12 Hình 1.6 Bản đồ tổ chức nhớ họ vi điều khiển PIC18F4550 18 Hình 1.7 Hình thành xung PWM lối .20 Hình 1.8 Khối USB PIC 18F4550 21 Hình 1.9 Các ngắt khối USB 23 Hình 1.10 Cổng song song streaming với chân liệu điều khiển 24 Hình 1.11 Sơ đồ giao tiếp SPI 25 Hình 1.12 Sơ đồ mạch điện thu thập liệu cho biến đổi A/D .26 Hình 1.13 Sơ đồ khối biến đổi A/D 27 Hình 1.14 TAD theo tần số hoạt động vi điều khiển 28 Hình 1.15 Lối (digital) mạch so sánh đọc qua ghi điều khiển so sánh 28 Hình 1.16 Sơ đồ tham chiếu điện áp so sánh 29 Hình 1.17 Sơ đồ khối phát điện áp cao thấp 30 Hình 1.18 Sơ đồ logic tín hiệu ngắt 31 Hinh 2.1 Sơ đồ khối tổng quát 34 Hình 2.2 Sơ đồ khối điều khiển trung tâm .35 Hình 2.3 Biểu tượng bus usb (a), cáp cổng kết nối (b) .37 Hình 2.4 Mơ hình kết nối Bus USB 39 Hình 2.5 Sơ đồ kết nối bus USB .39 Hình 2.6 Kết nối USB theo hình qua Hub 40 Hình 2.7 Cable USB .42 Hình 2.8 Đầu cắm USB kiểu A máy tính đầu cắm kiểu B thiết bị .42 Hình 2.9 Đánh số chân nối ổ cắm USB cab nối kiểu A B 43 Hình 2.10 Kết nối USB Cable .43 Hình 2.12 Kết nối với thiết bị USB Low – Speed .45 Hình 2.13 Đặc tuyến nhiệt điện trở âm 46 Hình 2.14 Đặc tuyến nhiệt điện trở dương .46 Hình 2.15 Kiểu IC 47 Hình 2.16 Kiểu Plastic 47 Hình 2.17 Nguồn đơn đo phạm vi +20C đến +1500C .48 Hình 2.18 Nguồn đơi đo phạm vi từ -550C đến +1500C 48 Hình 2.19 Sơ đồ chân cảm biến nhiệt LM35 .49 Hình 2.20 Sơ đồ nguyên lý khối hiển thị LCD 49 Hình 2.21 Hình dạng LCD 16x2 thông dụng 49 Hình 2.21 Sơ đồ nguyên lý khối nguồn 51 Hình 2.22 IC ổn áp LM7805 51 Hình 2.23 Sơ đồ nguyên lý hệ thống 52 Hình 3.1 Sơ đồ khối chi tiết hệ thống 53 Hình 3.2 Sơ đồ khối giao tiếp USB theo kiểu lớp RAW .55 Hình 3.3 Giao diện điều khiển sử dụng labview 56 Hình 3.4 Giao diện Block Diagram 56 CÁC THUẬT NGỮ VIẾT TẮT ADC Analog-to-Digital converter Chuyển đổi tương tự sang số ALU Arithmetic Logic Unit Đơn vị số học logic CLK Clock Bộ tạo xung CRT Cathode Ray Tube Ống tia Catot DC Direct Current Dòng điện chiều EEPROM Electrically Erasable Programmable Bộ nhớ chương trình đọc EUSART HLVDC Read-Only Memory xóa Enhanced Universal Asynchronous Khối thu phát đồng nâng Receiver Transmitter cao High/Low Voltage Detect Control Điều khiển phát điện áp cao/thấp I/O Input/ Output Đầu vào/ Đầu I2C Inter-Intergrated Circuit Mạch tích hợp LCD Liquid Crystal Display Màn hình tinh thể lỏng MSSP Master Synchronous Serial Port Cổng nối tiếp đồng chủ MSSP Master Synchronous Serial Port Cổng giao tiếp đồng chủ OSC Oscillator Bộ giao động PIC Programmable Intelligent Computer Máy tính khả trình thơng minh PLL Phase loop lock Vịng khóa pha PWM Pulse Width Modulation Điều chế độ rộng xung RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên SCL Serial Clock Xung nhịp nối tiếp SDA Serial Data Dữ liệu nối tiếp SDI Serial Data In Dữ liệu vào nối tiếp SDO Serial Data Out Dữ liệu nối tiếp SPI Serial Peripheral Interface Giao diện ngoại vi nối tiếp I Serial Peripheral Interface Giao diện ngoại vi nối tiếp SPP Streaming Parallel Port Luồng cổng song song SPPCFG Streaming Parallel Port Configure Cấu hình cổng song song SPPCON Streaming Parallel Port Control Điều khiển cổng song song SRAM Static random-access memory Bộ nhớ truy cập ngẫu nhiên tĩnh SS Slave Select Chọn tớ UADDR USB Address registers Thanh ghi địa USB UCFG USB Configure Cấu hình USB UCON USB Control Điều khiển USB UEIE USB Error Interrupt Enable Register Thanh ghi cho phép ngắt lỗi UEIR USB Error Interrupt Status Register Thanh ghi trạng thái ngắt lỗi USB UIE USB Interrupt Enable Cho phép ngắt USB UIR USB Interrupt Status Register Thanh ghi trạng thái ngắt USB USART Universal Synchronous & Bộ truyền/ nhận liệu đồng Asynchronous Receiver/Transmitter không đồng USB Universal Serial Bus Bộ Bus nối tiếp USTAT USB Status Transmission Trạng thái truyền USB HID Human Interface Device Thiết bị giao diện người dùng PC Personal Compute Máy tính cá nhân R/W Read/Write Đọc/Ghi CHƢƠNG MƠ PHỎNG VÀ THI CƠNG 3.1 Thi cơng phần cứng Sau trình nghiên cứu lý thuyết, trình thực đồ án, lựa chọn phương án thiết kế em thực thiết kế mạch thật - Thiết kế mạch sử dụng phần mềm Altium Designer - Mạch mô sử dụng phần mềm Proteus - Mã nguồn viết chương trình PIC C Compiler - Giao diện điều khiển máy tính sử dụng phần mềm Labview Trong chương em đưa sơ đồ mạch diễn giải kết thu 3.1.1 Sơ đồ khối hệ thống điều khiển giám sát PC LCD 16x2 VI ĐIỀU KHIỂN PIC 18F4550 LM35 KHỐI THIẾT BỊ NGOẠI VI Hình 3.1 Sơ đồ khối chi tiết hệ thống 53 3.1.2 Sơ đồ mạch in 3.2 Lập trình phần mềm 3.2.1 Xây dựng giao diện máy tính Tôi sử dụng ngôn ngữ labview để xây dựng nên giao diện điều khiển PC LabVIEW (viết tắt nhóm từ Laboratory Virtual Instrumentation Engineering Workbench) phần mềm máy tính phát triển cơng ty National Instruments, Hoa kỳ LabVIEW biết đến ngơn ngữ lập trình với khái niệm hồn tồn khác so với ngơn ngữ lập trình truyền thống ngôn ngữ C, Pascal Bằng cách diễn đạt cú pháp thơng qua hình ảnh trực quan mơi trường soạn thảo, LabVIEW gọi với tên khác lập trình G (viết tắt Graphical, nghĩa đồ họa) Để giám sát điều khiến với labview trước hết phải VISA VISA API mức cao dùng để giao tiếp với bus thiết bị Nó tảng độc lập, bus độc lập môi trường độc lập USB giao tiếp dựa tin nhấn Tức PC thiết bị USB giao tiếp với thông qua việc gửi 54 lệnh liệu bus liệu text nhị phân Mỗi thiết bị USB có tập lệnh riêng chúng Bạn sử dụng chức đọc ghi NIVISA để gửi lệnh tới thiết bị đọc phần hồi từ thiết bị Bắt đầu từ version 3.0, NI-VISA hỗ trợ giao tiếp USB Có lớp NI-VISA hỗ trợ là: Lớp USB INSTR USB RAW Ở sử dụng lớp USB RAW để giao tiếp với thiết bị USB Giao lớp RAW phức tạp thiết bị sử dụng giao tiếp riêng Các giao tiếp USB sử dụng kiểu đường ống(pipes) endpoints: control, bulk, interrupt, and isochronous Mỗi loại pipe truyền loại thông tin khác NI-VISA hỗ trợ kiểu USB pipes: control, bulk, and interrupt Khi VISA tìm thấy thiết bị USB bạn.Nó tự động quét thiết bị bạn cho endpoint có sãn thấp cho loại Khi VISA phát endpoint tồn thấp nhất, gán giá trị cho thuộc tính VISA thích hợp Hình 3.2 Sơ đồ khối giao tiếp USB theo kiểu lớp RAW 55 Đây giao diện sử dụng để điều khiển giám sát thiết bị sử dụng labview: Hình 3.3 Giao diện điều khiển sử dụng labview Và code labview: Hình 3.4 Giao diện Block Diagram 56 3.2.2 Xây dựng thuật toán điều khiển Lưu đồ thuật toán chương trình điều khiển Bắt đầu Khởi tạo biến khởi tạo thiết bị điều khiển Dữ liệu điều khiển Đ Bật TB1 Driver Bật TB4 Driver S Thực đọc ADC chuyển đổi sang nhiệt độ Truyền liệu lên PC Hiển thị lên LCD Tắt TB giảm nhiệt Đ Đ o 22 t TB 30 toTB30 vàtoTB>3S Báo0 t0 thấp, bật thiết bị gia nhiệt toTB>28 Đ Tắt thiết bi gia nhiệt S 57 Lưu đồ thuật toán giao diện điều khiển Bắt đầu Kết nối USB Nhận liệu hiển thị nhiệt độ Điều khiển thiết bị Đ Truyền liệu xuống PIC Điều khiển thiết bị Điều khiển thiết bị S Điều khiển thiết bị 58 3.3 Tổng kết chƣơng Trên toàn q trình thi cơng mạch Kết đạt mục đích đặt ban đầu Mạch chạy ổn định thực yêu cầu đặt đo hiển thị nhiệt độ môi trường, điều khiển hệ thống LED giao diện điều khiển máy tính, cảnh báo nhiệt độ cao thấp q Trong q trình thi cơng mạch em gặp số khó khăn định Vì thời gian thực có hạn, đồng thời thiếu sót kinh nghiệm thực tế nên gặp nhiều khó khăn việc lựa chọn linh kiện dẫn đến trình thử nghiệm với mạch phải diễn nhiều lần đạt kết mong muốn Mặc dù gặp nhiều khó khăn, nhờ định hướng giáo viên hướng dẫn ThS Hồ Sỹ Phương trình thực mạch, giúp em hồn thành sản phẩm 59 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Kết luận Sau thời gian nghiên cứu, thiết kế thi công, đồ án hoàn thành nỗ lực em hướng dẫn bảo chu đáo tận tình ThS Hồ Sỹ Phương Đồ án hoàn thành tiến độ đáp ứng yêu cầu đặt hệ thống giám sát điều chỉnh nhiệt độ môi trường thông qua cổng USB Mạch điện thiết kế thi cơng hồn chỉnh Mạch thử nghiệm nhiều lần hoạt động ổn định, thực chức sau: - Thực đo nhiệt độ môi trường điểm khác nhau, sau tính giá trị trung bình - Hiển thị nhiệt độ lên LCD giao diện điều khiển - Cảnh báo nhiệt độ vượt ngưỡng thấp - Điều khiển thiết bị ngoại vi giao diện máy tính Hƣớng phát triển Dựa vào sở lí thuyết phương pháp thiết kế trình bày,em chế tạo thành cơng mạch thực đo điều chỉnh nhiệt độ Tuy thành công bước đầu, vấn đề cần giải tối ưu hóa phần cứng nhằm giảm kích thước mạch để tăng khả ứng dụng thay đổi phần mềm nhằm tăng hiệu xuất, tính sản phẩm Với kết đạt được, em hướng tới phát triển sản phẩm thành module sau: - Điều khiển thiết bị từ xa tia hồng ngoại - Tích hợp thêm loại cảm biến khác cảm biến độ ẩm, cảm biến khói, cảm biến khí gas… để nâng cao hiệu giám sát 60 PHỤ LỤC #include #device adc=10 #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1, VREGEN #use delay(clock=48M) #DEFINE USB_HID_DEVICE TRUE #define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1 for IN interrupt transfers #define USB_EP1_TX_SIZE #define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT //turn on EP1 for OUT interrupt transfers #define USB_EP1_RX_SIZE #include #include #include #include #include #use fast_io(a) #use fast_io(b) #use fast_io(d) #define LED_ON output_low // Thiet bi dieu khien duoc bat PIN cua PIC o muc #define LED_OFF output_high // Thiet bi dieu khien duoc tat PIN cua PIC o muc #define devide_monitor1 temperature[0] #define devide_monitor2 temperature[1] #define devide_monitor3 temperature[2] #define devide_monitor4 temperature[3] 61 #define devide_monitor5 temperature[4] /*Khai bao cac bien dung chuong trinh*/ int16 valor1,valor2,valor3,valor4; float volt1,volt2,volt3,volt4,nhietdo_tb; void main(){ int8 temperature[5]; int8 devide_control[4]; valor1=0; volt1=0; valor2=0; volt2=0; valor3=0; volt3=0; valor4=0; volt4=0; /*Khai tao cac PORT*/ set_tris_d(0x00); set_tris_d(0x0F); set_tris_b(0x00); output_b(0xFF); /*Khai tao LCD*/ lcd_init(); /*Khai tao ADC*/ setup_adc_ports(AN0_TO_AN3); setup_adc(adc_clock_internal); /*Khai tao USB*/ usb_init(); usb_task(); usb_wait_for_enumeration(); // Cho cho den usb duoc lien ket /*Hien thi thong tin len LCD*/ 62 lcd_putc('\f'); lcd_gotoxy(5,1); printf(lcd_putc,"DO AN TOT"); lcd_gotoxy(2,2); printf(lcd_putc,"NGHIEP DAI HOC"); delay_ms(1000); lcd_putc('\f'); lcd_gotoxy(4,1); printf(lcd_putc,"SINH VIEN TH"); lcd_gotoxy(2,2); printf(lcd_putc,"NGUYEN THI HONG"); delay_ms(1000); lcd_putc('\f'); while (true){ /*Thuc hien doc ADC va chuyen doi sang nhiet do*/ set_adc_channel(0);// Chon Kenh ADC delay_us(20); valor1=read_adc(); // Thuc hien doc ADC volt1=valor1*0.4883; //Chuyen doi sang nhiet set_adc_channel(1); delay_us(20); valor2=read_adc(); volt2=valor2*0.4883; set_adc_channel(2); delay_us(20); valor3=read_adc(); volt3=valor3*0.4883; set_adc_channel(3); delay_us(20); valor4=read_adc(); volt4=valor4*0.4883; 63 /*Tinh toan nhiet trung binh*/ nhietdo_tb=floor((volt1+volt2+volt3+volt4)/4.0); /*Qua trinh kiem tra nhiet USB da duoc ket noi*/ if(22.0

Ngày đăng: 27/08/2021, 11:17

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Bảng 2.3. Cỏc lớp thiết bị hỗ trợ theo hệ điều hành Class (Lớp)  Thiết bị được hỗ trợ  - Đo và điều chỉnh nhiệt độ sử dụng pic18f4550 giao tiếp với máy tính qua cổng usb
Bảng 2.3. Cỏc lớp thiết bị hỗ trợ theo hệ điều hành Class (Lớp) Thiết bị được hỗ trợ (Trang 43)
Bảng 2.4. Cỏc dõy dẫn trong USB - Đo và điều chỉnh nhiệt độ sử dụng pic18f4550 giao tiếp với máy tính qua cổng usb
Bảng 2.4. Cỏc dõy dẫn trong USB (Trang 45)
Bảng 2.5. Thụng số kỹ thuật của cảm biến nhiệt họ LM35 - Đo và điều chỉnh nhiệt độ sử dụng pic18f4550 giao tiếp với máy tính qua cổng usb
Bảng 2.5. Thụng số kỹ thuật của cảm biến nhiệt họ LM35 (Trang 51)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w