Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
1,29 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN - - BÁO CÁO ĐỒ ÁN I ĐỀ TÀI: THIẾT KẾ MẠCH ĐO ĐỘ ẨM KHƠNG KHÍ, SAI SỐ 2% Nhóm sinh viên thực hiện: Giảng viên hướng dẫn: Nguyễn Khắc Quân − 20174125 Phạm Văn Bách − 20173659 Trần Tuấn Anh − 20173628 Nguyễn Tiến Dũng − 20173781 ThS Lê Thị Thanh Hà LỜI NÓI ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiến tiến, giới ngày thay đổi, văn minh đại Trong đó, phát triển kỹ thuật tự động hóa tạo hàng loạt thiết bị với đặc điểm bật độ xác, bảo mật cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết cho tiện lợi sống, ví dụ thiết bị cảm biến Bên cạnh đó, kỹ thuật vi điều khiển ngày trở nên quen thuộc dây truyền tự động hóa sản phẩm dân dụng Chính tạo thuận lợi cho trình đo lường, thiết kế ứng dụng Một ứng dụng đề tài nhóm em nghiên cứu học phần đồ án I: “Thiết kế mạch đo độ ẩm khơng khí, sai số 2%.” Trong trình làm đồ án, thời gian hạn chế, trình độ có hạn hẳn cịn nhiều sai sót, chúng em mong nhận bảo, hướng dẫn đóng góp bạn sinh viên để đồ án hoàn thiện Chúng em chân thành cảm ơn! Hà Nội, ngày … tháng … năm 2020 MỤC LỤC NỘI DUNG TRANG CHƯƠNG 1: PHÂN TÍCH NHIỆM VỤ 1.1 ĐẶT VẤN ĐỀ Độ ẩm có khắp nơi khơng khí Độ ẩm thơng số quan trọng tác động đến người,đến thiết bị máy móc q trình lí hóa Trong cơng nghiệp, thiết bị, máy móc,… độ ẩm ảnh hưởng trực tiếp đến chúng, thiết bị điện, điện tử Do việc đo, xác định độ ẩm chống ẩm nhiệm vụ quan trọng Nó ảnh hưởng tới tuổi thọ linh kiện điện, điện tử Ở đồ án này, chúng em nhận đề tài “Thiết kế mạch đo độ ẩm khơng khí, sai số 2%” Đây đề tài sát với thực tế, mang tính ứng dụng thực tiễn cao Điều tạo động lực cảm hứng cho sinh viên tìm tịi nghiên cứu Đế đáp ứng yêu cầu đề phù hợp với kiến thức thân, nhóm em định thiết kế module đo độ ẩm khơng khí dung cảm biến DHT22 kết nối vi điều khiển AT89S52 in LCD 1602 1.2 − − − 1.3 − − − − − MỤC ĐÍCH NGHIÊN CỨU Để hồn thành học phần đồ án I, tạo sở cho đồ án sau Với nhóm nghiên cứu hội để kiểm tra lại kiến thức đồng thời biết vận dụng kiến thức vào thực tiễn, tìm tịi khám phá, tiếp cận nghiên cứu, biết cách làm việc nhóm mục đích chung Tạo sản phẩm có ứng dụng thực tiễn ĐỐI TƯỢNG NGHIÊN CỨU Các phương pháp đo độ ẩm khơng khí để timg cảm biến thích hợp Cảm biến DHT22 đáp ứng yêu cầu đề tài Vi điều khiển AT89S52 họ với 8051 học trực tiếp học phần vi xử lí Lcd 1602 phù hợp để xuất liệu cần đo Cách lập trình để lcd cảm biến giao tiếp với vi điều khiển 1.4 PHAM VI NGHIÊN CỨU Do đồ án học song song với học phần vi xử lí tình hình dịch bệnh ảnh hưởng đến trình nghiên cứu nên đồ án nhóm tập trung vào tìm tịi kiến thức mạng, tham khảo tài liệu, mô mạch proteus làm mạch 1.5 NỘI DUNG NGHIÊN CỨU Báo cáo gồm chương: Chương 1: Phân tích nhiệm vụ Chương 2: Tổng quan phương pháp đo độ ẩm Chương 3: Thiết kế phần cứng Chương 4: Thiết kế phần mềm Chương 5: Kết luận phương hướng phát triển CHƯƠNG 2: TỔNG QUAN CÁC PHƯƠNG PHÁP ĐO ĐỘ ẨM 2.1 HỆ THỐNG ĐO LƯỜNG 2.1.1 Giới thiệu Để thực phép đo đại lượng tùy thuộc vào đặc tính đại lượng cần đo, điều kiện đó, độ xác theo u cầu phép đo mà ta thực đo nhiều cách khác sở hệ thống đo lường khác Sơ đồ khối hệ thống đo lường tổng quát: Chuyển đổi • • • Mạch đo Chỉ thị Khối chuyển đổi: làm nhiệm vụ nhận trực tiếp đại lượng vật lí đặc trưng cho đối tượng cần đo, biến đổi đại lượng thành đại lượng vật lí thống (dòng điện điện áp) để thuận lợi cho việc tính tốn Mạch đo: có nhiệm vụ tính tốn biến đổi tín hiệu nhận từ chuyển đổi cho phù hợp với yêu cầu thể kết đo thị Khối thị: làm nhiệm vụ biến đổi tín hiệu điện nhận từ mạch đo để thể kết đo 2.1.2 Hệ thống đo lường số 2.1.2.1 Sơ đồ khối 2.1.2.2 Nguyên lý hoạt động Đối tượng cần đo đại lượng vật lí, dựa vào đặc tính đại lượng cần đo mà ta chọn loại cảm biến phù hợp để biến đổi thong số đại lượng vật lí cần đo thành đại lượng điện, đưa vào mạch chế biến tín hiệu ( gồm: cảm biến, hệ thống khuếch đại, xử lí tín hiệu) Bộ chuyển đổi tín hiệu ADC ( Analog Digital Converter) làm nhiệm vụ chuyển đổi tín hiệu tương tự sang tín hiệu số kết nối với vi xử lí Bộ dồn kênh tương tự chuyển đổi ADC dung chung cho tất kênh Dự liệu nhập vào vi xử lí có tín hiệu chọn kênh cần xử lí để đưa vào chuyển đổi ADC đọc đũng giá trị đặc trưng qua tính tốn để có kết đại lượng cần đo 2.2 CÁC PHƯƠNG PHÁP ĐO ĐỘ ẨM 2.2.1 Phương pháp sấy khơ 2.2.1.1 Ngun tắc Dùng sức nóng làm bay hết nước mẫu Cân trọng lượng mẫu trước sau sấy khơ, từ tính phần trăm nước có mẫu 2.2.1.2 Dụng cụ vật liệu thuốc thử - Tủ điều chỉnh nhiệt độ (1000C – 1050C) - Cân phân tích số - Nồi cách thuỷ - Bình hút ẩm phía để chất hút ẩm (CaCl2, Na2SO4 khan, H2SO4 đậm đặc Silicagen …) - Chén sứ - Đũa thủy tinh đầu bẹt, dài khoảng cm - Na2SO4 cát Cát chuẩn bị sau: đổ cát qua dây có đường kính lỗ – 5mm Rửa qua nước máy, sau rửa HCl cách đổ acid vào cát khuấy (một phần acid phần cát) Để qua đêm sau rửa cát nước máy hết acid (thử giấy quỳ) Rửa lại nước cất sau sấy khơ, cho qua dây có đường kính lỗ – 1,5 mm, đem nung lò nung từ 550 -600 0C để loại chất hữu Giữ cát lọ đậy kín 2.2.1.3 Cách tiến hành Lấy cốc thủy tinh có đựng 10 – 20g cát đũa thủy tinh bẹt đầu, đem sấy 100 – 1030C trọng lượng không đổi Để nguội bình hút ẩm cân trọng lượng xác đến 0,0001g Sau cho vào cốc khoảng 10g mẫu Cân tất cân phân tích với độ xác Dùng que thủy tinh trộn thuốc thử với cát Dàn thành lớp mỏng Cho tất vào tủ sấy 100 – 1030C, sấy trọng lượng không đổi, thường tối thiểu 6h Trong thời gian sấy, sau 1h lại dùng đũa thuỷ tinh đầu bẹt nghiền nhỏ phần vón cục, sau dàn tiếp tục sấy Sấy xong, làm nguội bình hút ẩm (20 -25 phút) đem cân cân phân tích với độ xác Cho lại vào tủ sấy 100 – 1030C 30 phút, lấy làm nguội bình hút ẩm (20 -25 phút) đem cân tới trọng lượng không đổi Kết hai lần cân liên tiếp không cách 0,5mg cho gam mẫu thử 2.2.1.4 Tính kết Độ ẩm theo phần trăm tính theo cơng thức: X = (m1 – m2 ).100/( m1 -m ) Trong đó: m: trọng lượng cốc cân, cát đũa thủy tinh (g) m1: trọng lượng cốc cân, cát, đũa thủy tinh mẫu trước sấy (g) m2: trọng lượng cốc cân, cát đũa thủy tinh mẫu sau sấy (g) Sai lệch hai lần xác định song song không lớn 0,5% Kết cuối trung bình lần lặp lại song song Tính xác đến 0.01% Chú ý: Trong trường hợp qui định trước, sử dụng phương pháp sấy 130 0C 2h, phương pháp sấy chân không nhiệt độ thấp Đối với mẫu lỏng cần làm bốc nước nồi cách thủy khô trước cho vào tử sấy Trong trường hợp khơng có cốc thủy tinh có nắp kín, dùng cốc kim loại (nhôm) hay chén sứ Nhược điểm: Có thể làm sai số làm tăng độ ẩm sấy, chất bay tinh đầu, cồn, acid bay hơi, …cùng bay với nước bị phân giải thành furfurol, amoniac sấy mẫu có chứa nhiều đường, đạm làm giảm tỷ lệ thủy phần Cũng cho kết sai số số thành phần bị oxy hóa gặp khơng khí nhiệt độ cao (như mẫu có nhiều chất béo) 2.2.2 Phương pháp chưng cất kín với dung mơi hữu 2.2.2.1 Nguyên tắc Dùng loại dung môi hữu có đặc tính: 10 3.3.3 Hiển thị LCD 3.3.3.1 Giới thiệu Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) sử dụng nhiều ứng dụng VĐK LCD có nhiều ưu điểm so với dạng hiển thị khác: Nó có khả hiển thị kí tự đa dạng, trực quan (chữ, số kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn tài nguyên hệ thống giá thành rẻ … 3.3.3.2 Thông số kĩ thuật sản phẩm LCD 1602 - Điện áp MAX : 7V - Điện áp MIN : - 0,3V - Hoạt động ổn định : 2,7 - 5,5V - Điện áp mức cao : > 2,4V - Điện áp mức thấp : < 0,4V - Dòng điện cấp nguồn : 350uA - 600uA - Nhiệt độ hoạt động : (-30) – (+75) độ C 3.3.3.3 Sơ đồ chân LCD LM016L Chân Ký hiệu I/O Mô tả Vss - Đất Vcc - Dương nguồn 5V Vee - Cấp nguồn điều kiện tương phản RS I RS=0 chọn ghi lệnh, RS=1 chọn ghi liệu R/W I R/W=1 đọc liệu, R/W=0 ghi E I/O Cho phép DB0 I/O Các bit liệu DB1 I/O Các bit liệu 28 DB2 I/O Các bit liệu 10 DB3 I/O Các bit liệu 11 DB4 I/O Các bit liệu 12 DB5 I/O Các bit liệu 13 DB6 I/O Các bit liệu 14 DB7 I/O Các bit liệu 3.3.3.4 Chức chân LCD LM016L - Chân số - VSS : chân nối đất cho LCD nối với GND mạch điều khiển - Chân số - VDD : chân cấp nguồn cho LCD, nối với VCC=5V mạch điều khiển - Chân số - VEE : điều chỉnh độ tương phản LCD - Chân số - RS : chân chọn ghi, nối với logic "0" logic "1": + Logic “0”: Bus DB0 - DB7 nối với ghi lệnh IR LCD (ở chế độ “ghi” - write) nối với đếm địa LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0 - DB7 nối với ghi liệu DR bên LCD - Chân số - R/W : chân chọn chế độ đọc/ghi (Read/Write), nối với logic “0” để ghi nối với logic “1” đọc 29 - Chân số - E : chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân sau: + Ở chế độ ghi: Dữ liệu bus LCD chuyển vào ghi bên phát xung (high-to-low transition) tín hiệu chân E + Ở chế độ đọc: Dữ liệu LCD xuất DB0-DB7 phát cạnh lên (low-to-high transition) chân E LCD giữ bus đến chân E xuống mức thấp - Chân số đến 14 - D0 đến D7: đường bus liệu dùng để trao đổi thông tin với MPU Có chế độ sử dụng đường bus là: Chế độ bit (dữ liệu truyền đường, với bit MSB bit DB7) Chế độ bit (dữ liệu truyền đường từ DB4 tới DB7, bit MSB DB7) - Chân số 15 - A : nguồn dương cho đèn - Chân số 16 - K : nguồn âm cho đèn 3.3.3.5 Bảng mã lệnh LCD LM016L 30 31 CHƯƠNG 4: THIẾT KẾ PHẦN MỀM 4.1 Code LCD1602 giao tiếp với AT89S52 #include #include "LCD1602.h" #include void delay_us(unsigned int t) { unsigned int i; for(i=0;i>2)&1; LCD_D7 = (Data>>3)&1; } // Ham gui Byte du lieu void LCD_Send1Byte(unsigned char byte) { LCD_Send4Bit(byte >>4); /* Gui bit cao */ LCD_Enable(); LCD_Send4Bit(byte); /* Gui bit thap*/ LCD_Enable(); } // Ham xoa man hinh void LCD_Clear() { LCD_Send1Byte(0x01); delay_us(10); } // Ham khoi tao LCD void LCD_Init() { LCD_Send4Bit(0x00); delay_ms(20); 33 LCD_RS = 0; LCD_Send4Bit(0x03); // function setting LCD_Enable(); delay_ms(5); LCD_Enable(); delay_ms(100); LCD_Enable(); LCD_Send4Bit(0x02); // dua tro ve dau man hinh LCD_Enable(); LCD_Send1Byte(0x28); N=1(2hang), F=0(5x8), **=00 // Function Setting(001D NF**) D=0(4bit), LCD_Send1Byte(0x0C); // Bat hien thi, tat tro LCD_Send1Byte(0x06); LCD_Clear(); delay_ms(20); } // Ham di chuyen tro: row=0-1; col=0-15 (2 hang + 16 cot) void LCD_SetCursor(unsigned char row, unsigned char col) { unsigned char address; if (row == 0) address = (0x80 + col); else address = (0xC0 + col); // hang // hang delay_us(1000); LCD_Send1Byte(address); delay_us(50); } // Ham chuoi ki tu 34 void LCD_Print(char *s) { while (*s) { LCD_RS=1; LCD_Send1Byte(*s); LCD_RS=0; s++; } } 4.2 Code giao tiếp cảm biến DHT22 với AT89S52 hiển thị LCD1602 #include #include #include " \lib\LCD1602.h" #define DHT22 P3_0 // Thu vien LCD1602 // Chan Data cua DHT22 //Khai bao bien: int I_RH,D_RH,I_Temp,D_Temp,CheckSum; void delay20ms() /* Ham tre 20ms su dung Timer0, thach anh 11.0592MHz */ { TMOD = 0x01; /* Timer0 che */ TH0 = 0xB8; /* Gia tri TH0 */ TL0 = 0x0C; /* Gia tri TL0 */ TR0 = 1; while(TF0 == 0); TR0 = 0; /* Bat dau timer0 */ /* Doi den TF0=1*/ /* Dung timer0 */ 35 TF0 = 0; /* Dat lai co tran TF0=0 */ } void delay30us() /* Ham tre 30us su dung Timer0, thach anh 11.0592MHz */ { TMOD = 0x01; /* Timer0 che */ TH0 = 0xFF; /* Gia tri TH0 */ TL0 = 0xF1; /* Gia tri TL0 */ TR0 = 1; /* Bat dau timer0 */ while(TF0 == 0); /* Doi den TF0=1*/ TR0 = 0; /* Dung timer0 */ TF0 = 0; /* Dat lai co tran TF0=0 */ } void Request() /* VDK gui lenh bat dau */ { DHT22 = 0; delay20ms(); DHT22 = 1; } void Response() /* Tin hieu phan hoi tu DHT22 */ { while(DHT22==1); while(DHT22==0); while(DHT22==1); } int Receive_data() /* Nhan du lieu la gia tri Do Am - Nhiet Do */ { 36 int i,dat=0; for (i=0; i