Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 44 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
CHƯƠNG 1: CƠ SỞ LÍ THUYẾT VỀ ĐO VÀ ĐIỀU KHIỂN NHIỆT ĐỘ
1.1. ĐẶT VẤN ĐỀ
CHƯƠNG 2:TỔNG QUAN VỀ VI XỬ LÝ TRONG ĐO LƯỜNG ĐIỀU KHIỂN
2.1. Cấu trúc hệ thống đo lường điều khiển có sử dụng vi xử lý.
2.2. Cấu trúc chung của họ 8051.
2.3.Tổng quan về ngôn ngữ C và các hàm,kiểu dữ liệu hay dùng cho việc lập trình cho Vi điều khiển.
CHƯƠNG 3:Các linh kiện sử dụng trong đề tài
3.1. ADC 0804
3.2. LCD1602
3.3. ULN2803
3.4. Quạt
3.5. Quạt sưởi
3.6. PHÍM BẤM
3.7. Relay trung gian
CHƯƠNG 4: XÂY DỰNG HỆ THỐNG
4.1. Lưu đồ thuật toán.
4.2. Chương trình điều khiển
4.3.Kết quả mô phỏng,thiết kế mạch nguyên lý.
4.4. Kết quả mạch thực.
KẾT LUẬN:
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA ĐIỆN ********* ĐỒ ÁN MÔN: VI XỬ LÝ TRONG ĐO LƯỜNG VÀĐIỀUKHIỂN ĐỀ TÀI: Đođiềukhiểnnhiệtđộphòngdùng8051LM35 GV HƯỚNG DẪN: Nhóm SV thực hiện: Tống Thị Lý Sinh viên thực 1.Đặng Văn Minh 2.Nguyễn Văn Hưng 3.Lê Đức Nhân 4.Dương Tuấn Linh Hà Nội – 2018 1041040134 1041040140 1041040200 1041040169 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý LỜI NÓI ĐẦU Trong thời đại cơng nghiệp hóa,hiện đại hóa phát triển vũ bão khơng khí hội nhập kinh tế quốc tế Việt Nam nay,chúng ta tiến bước dài đạt thành công kết tương đối khích lệ nhiều lĩnh vực khác Một thành cơng lĩnh vực đo lường điềukhiển để tô đẹp thêm cho thành công phát triển kinh tế Việt Nam Với kiến thức học lớp tìm hiểu thực tế Trong thời gian yêu cầu, nhóm em hồn thành đồ án mơn học:vi xử lý đo lường điềukhiểnNhiệtđộ đại lượng đời sống, vừa tìm hiểu vi điềukhiển 8051, chúng em muốn sử dụng để thực đề tài : “ Đođiềukhiểnnhiệtđộphòngdùng vđk 8051 cảm biến LM35” Mục đích đề tài thiết kế đonhiệtđộ sử dụng vi điềukhiển họ 8051, cho kết hiển thị trực quan qua điềukhiểnnhiệtđộ khơng gian ổn định mức cho phép Do kiến thức chuyên ngành thiếu nhiều thực tế nên đồ án khơng tránh khỏi sai sót, mong thầy góp ý kiến để đồ án chúng em hoàn thiện Em đặc biệt xin chân thành cảm cô hướng dẫn giúp đỡ tận tình nhóm em thời gian làm đồ án để hồn thành đồ án này! Khoa Điện-ĐHCNHN Trang Mơn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý MỤC LỤC CHƯƠNG 1: CƠ SỞ LÍ THUYẾT VỀ ĐOVÀĐIỀUKHIỂNNHIỆTĐỘ 1.1 ĐẶT VẤN ĐỀ 1.1.1.Chế độđiềukhiển ON/OFF .5 1.1.2 Chế độđiềukhiển PID CHƯƠNG 2:TỔNG QUAN VỀ VI XỬ LÝ TRONG ĐO LƯỜNG ĐIỀUKHIỂN .8 2.1 Cấu trúc hệ thống đo lường điềukhiển có sử dụng vi xử lý 2.1.1 giới thiệu chung vi xử lý vi điềukhiển 2.1.2 Cấu trúc chung hệ vi xử lý vi điềukhiển .9 2.2 Cấu trúc chung họ 8051 2.2.1.Cấu trúc 8051 10 2.2.2.sơ đồ chân 8051 .11 2.3.Tổng quan ngôn ngữ C hàm,kiểu liệu hay dùng cho việc lập trình cho Vi điềukhiển .13 2.3.1 Cấu trúc chương trình lập trình C cho 8051 13 2.3.2.Khai báo biến,các phép toán cấu trúc C .13 CHƯƠNG 3:Các linh kiện sử dụng đề tài 16 3.1 ADC 0804 16 3.2 LCD1602 19 3.2.1 Các tập lệnh LCD 1602 .22 3.3 ULN2803 .27 3.4 Quạt .29 3.5 Quạt sưởi .30 3.6 PHÍM BẤM 34 3.7 Relay trung gian 35 CHƯƠNG 4: XÂY DỰNG HỆ THỐNG 36 4.1 Lưu đồ thuật toán 36 4.2 Chương trình điềukhiển 37 4.3.Kết mô phỏng,thiết kế mạch nguyên lý 48 Khoa Điện-ĐHCNHN Trang Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý 4.4 Kết mạch thực .49 KẾT LUẬN: 51 Khoa Điện-ĐHCNHN Trang Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý CHƯƠNG 1: CƠ SỞ LÍ THUYẾT VỀ ĐOVÀĐIỀUKHIỂNNHIỆTĐỘ 1.1 ĐẶT VẤN ĐỀ Trong điềukhiểnnhiệt ta thường thấy chế độđiềukhiểnđiềukhiển ON/OFF điềukhiển PID Ngồi có thêm số chế độ khác (Thực chất PID có thành phần bị lược bỏ, ví dụ chế độđiềukhiển Tỉ lệ P hay PI, PD) 1.1.1.Chế độđiềukhiển ON/OFF Có thể dễ dàng nhận thấy chế độđiềukhiển đơn giản nhất, sử dụng từ lâu ứng dụng nhiều ngành khác Ưu điểm chế độđiềukhiển đơn giản, dễ hiểu Tuy nhiên lại có nhược điểm độ xác ko cao, độnhiệt lớn gây tổn thất lượng Về nguyên lí hoạt động chế độ ON/OFF đơn giản: điềukhiển tác động đầu nhiệtđộ mơi trường đo vượt qua giá trị đặt (Có thể tác động nằm phạm vi dải trễ mà chưa cần tới giá trị đặt-nếu người dùng có cài đặt dải trễ) Và thơng thường chế độ ON/OFF tương ứng với loại đầu điềukhiển dạng Role Với đặc điểm chế độđiềukhiển ON/OFF thường ứng dụng hệ thống điềukhiểnnhiệt quy mô lớn, cho phép độ q nhiệt cao có thay đổi nhiệt độ; ví dụ như: hệ điềukhiển lò nhiệt, tủ lạnh, quạt… Khoa Điện-ĐHCNHN Trang Mơn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý 1.1.2 Chế độđiềukhiển PID - Hệ thống điềukhiển vòng kín hệ thống xác định sai khác trạng thái mong muốn trạng thái thực (sai số) tạo lệnh điềukhiển để loại bỏ sai số Điềukhiển PID thực ba cách phát hiệu chỉnh sai số - Hệ thống điềukhiển sử dụng P, PI, PD, PID để hiệu chỉnh sai số Nhìn chung, vấn đề “hiệu chỉnh” hệ thống cách lựa chọn giá trị thích hợp ba cách nêu - Ưu điểm: điềukhiển với độ xác cao, tiết kiệm lượng tối đa, đảm bảo ổn định hệ thống - Nhược điểm: thuật tốn điềukhiển phức tạp, đòi hỏi người sử dụng có trình độ kinh nghiệm Khi sử dụng chế độđiềukhiển PID loại đầu điềukhiển tối ưu Role bán dẫn SSR Không nên sử dụng role thường dễ xảy cố ý muốn như: đánh tia lửa điện, kẹt tiếp điểm, tuổi thọ thiết bị giảm… - Phạm vi ứng dụng: nói ngày PID xâm nhập vào hầu hết ứng dụngđiềukhiển (ko nhiệtđộ mà nhiều lĩnh vực khác) Tuy nhiên nõ ưu tiên hệ thống yêu cầu độ xác cao, khoảng thay đổi nhiệt cho phép nhỏ Thông thường sử dụngđiềukhiểnnhiệt có chế độđiềukhiển PID ln có kèm theo chức Tự động điều chỉnh (Auto Tuning) Chức tự động điều chỉnh tham số P, I D cho hệ thống đạt hiệu cao Tuy nhiên, số trường hợp người sử dụng phải điềukhiển tay (Manual) tham số + Tham số P (hệ số tỉ lệ): đặt giá trị cao tốc độ đáp ứng (đạt tới giá trị nhiệt mong muốn) nhanh Tuy nhiên làm cho độnhiệt nhiều (đồng nghĩa với việc độ xác giảm tổn hao lượng tăng lên) Nếu giá trị lớn hệ hệ thống ổn định + Tham số I (Tích phân): Nếu đặt giá trị cao trình loại trừ sai số tham số P gây (tức đưa giá trị nhiệt yêu cầu) nhanh Tuy gây tượng độ lớn Ví dụ: - Nhiệtđộ đặt 100oC Nhiệtđộ bất dầu tăng từ nhiệtđộphòng 28oC - Sai số tham số P gây chu kì 10oC Tức nhiệtđộ đỉnh đạt 110oC Nếu đặt giá trị tích phân I1 sau thời gian t1 ta có nhiệtđộ 100 Khoa Điện-ĐHCNHN Trang Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý CHƯƠNG 2:TỔNG QUAN VỀ VI XỬ LÝ TRONG ĐO LƯỜNG ĐIỀUKHIỂN 2.1 Cấu trúc hệ thống đo lường điềukhiển có sử dụng vi xử lý 2.1.1 giới thiệu chung vi xử lý vi điềukhiển a.Vi xử lý: +CPU viết tắt chữ Central Processing Unit,tạm dịch đơn vị xử lí trung tâm +CPU xem não,1 phần tử cốt lõi máy vi tính +Nhiệm vụ CPU xử lý chương trình vi tính kiện +CPU có nhiều kiểu dáng khác Ở hình thức đơn giản nhất,CPU chip với vài chục chân.Phức tạp hơn,CPU ráp sẵn mạch với hàng trăm chip khác.CPU mạch xử lý liệu theo chương trình thiết lập trước.Nó mạch tích hợp phức tạp gồm hàng triệu transistor b.Vi điều khiển: Là máy tính tích hợp chip,nó thường sử dụng đê điềukhiển thiết bị điện tử Vi điều khiển,thực chất hệ hống bao gồm vi xử lý có hiệu suất đủ dùng giá thành thấp(khác với vi xử lý đa dùng máy tính) kết hợp với khối ngoại vi nhớ,các mô đun vào/ra,các mô đun biến đổi số sang tương tự tương tự sang số, Vi điềukhiển thường dùng để xây dựng hệ thống nhúng.Nó xây dựng nhiều dụng cụ điện tử,thiết bị điện,máy 2.1.2 Cấu trúc chung hệ vi xử lý vi điềukhiển - Sơ đồ khối hệ vi xử lý vi điềukhiển bản: Khoa Điện-ĐHCNHN Trang Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý Hình 1:nguyên lý cấu tạo vi xử lý 2.2 Cấu trúc chung họ 8051 2.2.1.Cấu trúc 8051 Khoa Điện-ĐHCNHN Trang Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý Các thành viên họ 8051: specificat ion code men on chip(bytes) Data men on chip(bytes) timers 8031 8051 8751 8951 8052 8752 ok 4k ROM 4k EPRO 4k FLAS 8k ROM 8k EPRO M H M 128 128 128 128 256 256 2 2 3 2.2.2.sơ đồ chân 8051 Khoa Điện-ĐHCNHN Trang Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý Hình 2:sơ đồ chân 8051 +Vcc(40): chân cung cấp điện(5v) +GND(20):chân nối đất (0v) +port0 (32-39): port xuất nhập bit chiều +port1 (1-8): port xuất nhập bit chiều +port2 (21-28): port xuất nhập bit chiều +trong hệ thống sử dụng 9751,89C51 DS5000 ta thường nối cổng P0 tới điện trở kéo +port3:là port xuất nhập bit chiều,cũng làm chức khác AT89C51 Khoa Điện-ĐHCNHN Trang 10 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý 3.6 PHÍM BẤM - Sơ đồ nguyên lý Vcc 10K 2,2μ F Output Nếu nhấn phím: Output=“0” Nếu khơng nhấn: Output = “1” 3.7 Relay trung gian -sử dụng relay trung gian để đóng ngắt tiếp điểm cho quạt, đèn sưởi hoạt động ( chế độ làm việc auto) chế độ làm việc tay Khoa Điện-ĐHCNHN Trang 30 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý Hình ảnh relay trung gian thực tế CHƯƠNG 4: XÂY DỰNG HỆ THỐNG 4.1 Lưu đồ thuật tốn Khoa Điện-ĐHCNHN Trang 31 Mơn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý -Ấn Start: hệ thống hoạt động -Chọn chế độ làm việc :Auto( tự động) Manual( điềukhiển tay) Auto: Relay mở, quạt đèn sưởi điềukhiển tự động, nhiệtđộ lớn 30*c, relay đóng để bật quạt Khi nhiệt độ< 20*c, relay đóng để bật đèn sưởi, ngược lại thiết bị tắt Khoa Điện-ĐHCNHN Trang 32 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý Manual: Relay đóng lại, lúc ta điềukhiển riêng biệt quạt đèn sưởi theo ý muốn 4.2 Chương trình điềukhiển -Chương trình viết phần mềm lập trình keil C: #include //Khai bao chan giao tiep LCD16x2 4bit #define LCD_RS P0_0 #define LCD_RW P0_1 #define LCD_EN P0_2 #define LCD_D4 P0_4 #define LCD_D5 P0_5 #define LCD_D6 P0_6 #define LCD_D7 P0_7 #define ADC0804_DATA #define RELAY_1 P3_5 #define RELAY_2 P3_6 #define RELAY_3 P3_7 P1 sbit ADC0804_CS = P3^0; sbit ADC0804_RD = P3^1; sbit ADC0804_WR = P3^2; sbit ADC0804_INTR = P3^3; sbit Auto= P2^0; sbit Manual= P2^2; unsigned char ADC0804_Read() { unsigned char kq; Khoa Điện-ĐHCNHN Trang 33 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý // Chon chip ADC0804_CS = 0; // Tao xung bat dau chuyen doi ADC0804_WR = 0; ADC0804_WR = 1; // Doi cho den chuyen doi xong while(ADC0804_INTR); // Doc gia tri sau chuyen doi ADC0804_RD = 0; kq = ADC0804_DATA; ADC0804_RD = 1; return kq; } unsigned char temp; //Bien luu gia tri nhiet /*****************Ham delay*********************/ void delay_us(unsigned int t){ unsigned int i; for(i=0;i>2)&1; LCD_D7=(Data>>3)&1; } // Ham Gui Lenh Cho LCD void LCD_SendCommand(unsigned char command){ LCD_Send4Bit(command >>4);/* Gui bit cao */ LCD_Enable(); LCD_Send4Bit(command); /* Gui bit thap*/ LCD_Enable(); } void LCD_Clear(){// Ham Xoa Man Hinh LCD LCD_SendCommand(0x01); delay_us(10); Khoa Điện-ĐHCNHN Trang 35 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý } // Ham Khoi Tao LCD void LCD_Init(){ LCD_Send4Bit(0x00); delay_ms(20); LCD_RS=0; LCD_RW=0; LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_us(100); LCD_Enable(); LCD_Send4Bit(0x02); LCD_Enable(); LCD_SendCommand( 0x28 ); LCD_SendCommand( 0x0c); LCD_SendCommand( 0x06 ); LCD_SendCommand(0x01); } void LCD_Gotoxy(unsigned char x, unsigned char y){ unsigned char address; if(!y)address=(0x80+x); else address=(0xc0+x); delay_us(1000); LCD_SendCommand(address); delay_us(50); } Khoa Điện-ĐHCNHN Trang 36 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý void LCD_PutChar(unsigned char Data){//Ham Gui Ki Tu LCD_RS=1; LCD_SendCommand(Data); LCD_RS=0 ; } void LCD_Puts(char *s){//Ham gui chuoi ky tu while (*s){ LCD_PutChar(*s); s++; } } void TempShow(unsigned char z){ //Chuyen doi hien thi LCD_Puts("NHIET DO: "); LCD_PutChar((z/100)+48);//Tram LCD_PutChar((z%100/10)+48);//Chuc LCD_PutChar((z%10)+48);//Don vi LCD_Puts("'C"); } /******************Ctr chinh**************************/ unsigned char temp; void main(){ unsigned char adc_value; unsigned char t; RELAY_1=0; RELAY_2=0; RELAY_3=0; //init LCD_Init();//Khoi tao LCD Khoa Điện-ĐHCNHN Trang 37 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý delay_ms(200); LCD_Gotoxy(2,0); LCD_Puts("Chon che do!"); LCD_Gotoxy(0,1); LCD_Puts("1.Auto"); LCD_Gotoxy(8,1); LCD_Puts("2.Manual"); while(1) { if(Auto==0) { LCD_Clear(); LCD_Gotoxy(0,0); LCD_Puts("Che Auto"); delay_ms(1000); LCD_Clear(); while(Manual!=0) { adc_value = ADC0804_Read(); t = adc_value * 1.961f + 0.5f; LCD_Gotoxy(0,0); ADC0804_Read(); //Doc nhiet luu vao bien temp TempShow(t); //Hien thi nhiet delay_ms(500);//0.5s doc mot lan Khoa Điện-ĐHCNHN Trang 38 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý if(t30) { LCD_Gotoxy(1,2); LCD_Puts("Thoi tiet:NONG "); RELAY_1=1; RELAY_2=0; } else { LCD_Gotoxy(1,2); LCD_Puts(" ON HOA "); RELAY_1=0; RELAY_2=0; } Khoa Điện-ĐHCNHN Trang 39 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý } } if(Manual==0) { LCD_Clear(); LCD_Gotoxy(0,0); LCD_Puts("Che bang tay"); delay_ms(1000); LCD_Clear(); while(Auto!=0) { adc_value = ADC0804_Read(); t = adc_value * 1.961f + 0.5f; LCD_Gotoxy(0,0); ADC0804_Read(); //Doc nhiet luu vao bien temp TempShow(t); //Hien thi nhiet delay_ms(500);//0.5s doc mot lan RELAY_3=1; if(t30) { Khoa Điện-ĐHCNHN Trang 40 Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý LCD_Gotoxy(1,2); LCD_Puts("Thoi tiet:NONG "); } else { LCD_Gotoxy(1,2); LCD_Puts(" ON HOA "); } } } } } 4.3.Kết mô phỏng,thiết kế mạch ngun lý Q trình mơ thực phần mềm proteus: Khoa Điện-ĐHCNHN Trang 41 Môn học: VXL đo lường điềukhiển 4.4 Kết mạch thực Khoa Điện-ĐHCNHN Trang 42 GVHD: Tống Thị Lý Môn học: VXL đo lường điềukhiển Khoa Điện-ĐHCNHN Trang 43 GVHD: Tống Thị Lý Môn học: VXL đo lường điềukhiển GVHD: Tống Thị Lý KẾT LUẬN: Trong trình làm tập lớn hướng dẫn nhiệt tình cơ, chúng em ôn luyện, học hỏi thêm nhiều kiến thức môn Vi xử lý đo lường điều khiển, biết cách sử dụng phần mềm keil C,… Tuy nhiên, kiến thức, thời gian hạn chế nên tập chúng em nhiều thiếu sót Vì vậy, mong thầy xem xét, đánh giá tạo điều kiện cho nhóm chúng em hồn thành tập lớn hiệu Chúng em xin chân thành cảm ơn ! Khoa Điện-ĐHCNHN Trang 44 ... //Cho phep truyen command vao LCD LCD_EN = 1; //Khong cho phep truyen tiep if(cmd