1. Trang chủ
  2. » Tất cả

Báo cáo đồ án 2 đo nhiệt độ, độ ẩm khí ga

27 3 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

Thông tin cơ bản

Tiêu đề Báo cáo đồ án 2 đo nhiệt độ, độ ẩm khí ga
Tác giả Nguyễn Vũ Tùng Giang, Phan Quốc Việt, Nguyễn Hữu Hiển
Người hướng dẫn Cô Đinh Thị Nhung
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật vi xử lý và điều khiển
Thể loại Báo cáo đồ án
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 27
Dung lượng 1,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để từng bước làm chủ và có thể áp dụng họ vi điều khiển này vào các ứng dụng thực tiễn, nhằm giải quyết các bài toán cụ thể trong cuộc sống, trong phạm vi Project II, nhóm chúng em đã th

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO ĐỒ ÁN 2

Đề Tài: Đo nhiệt độ, độ ẩm khí ga

- Yêu cầu Đề Tài: Giao tiếp qua Module Bluetooth HC05 truyền

dữ liệu đo được về điện thoại hoặc PC Báo cho người dùng biết có

sự cố khi có rò rỉ khí độc.

Giáo viên hướng dẫn: Cô Đinh Thị Nhung

Họ và tên:

Nguyễn Vũ Tùng Giang 20101438 ĐTVT-08 K55

Phan Quốc Việt 20102782 ĐTVT-08 K55

Nguyễn Hữu Hiển 20101532 ĐTVT-08 K55

Trang 2

LỜI NÓI ĐẦU

Kỹ thuật vi xử lý và điều khiển đã xuất hiện rất nhiều trong mọi lĩnh vực khoa học kỹ thuật hiện nay Với sự phát triển mạnh mẽ của công nghệ, nhiều họ vi xử lý

và điều khiển cùng với những tính năng mới xuất hiện ngày càng đa dạng Trong

đó họ vi điều khiển MSP430 hiện đang được ứng dụng rất rộng rãi trong nhiều lĩnh vực thực tiễn

Để từng bước làm chủ và có thể áp dụng họ vi điều khiển này vào các ứng dụng thực tiễn, nhằm giải quyết các bài toán cụ thể trong cuộc sống, trong phạm vi Project II, nhóm chúng em đã thực hiện đề tài: “Đo và hiển thị nhiệt độ, độ ẩm, của môi trường đồng thời đưa ra cảnh báo khi nồng độ khí gas của môi trường vượt quá giới hạn cho phép” Với ý kiến đóng góp của thầy giáo hướng dẫn cùng tinh thần tự tìm hiểu, nghiên cứu nhóm chúng em đã đưa ra được một sản phẩm chạy thực tế đáp ứng tương đối đầy đủ các yêu cầu được đưa ra trong đề tài.

Trang 3

CHƯƠNG I: MÔ TẢ ĐỀ TÀI

1.1 Yêu cầu chức năng

- Đo được nhiệt độ, độ ẩm của môi trường.

- Đo được nồng độ khí gas trong môi trường và đưa ra cảnh báo.

- Hiển thị được giá trị nhiệt độ, độ ẩm của môi trường.

1.2 Yêu cầu phi chức năng

- Mạch hoạt động tốt ngay trong môi trường khắc nghiệt.

- Mạch thiết kế nhỏ gọn để có thể dễ dàng tiến hành lắp đặt.

- Chi phí thực hiện mạch thấp.

1.3 Các công cụ sử dụng

- IAR Embedded Workbench: trình biên dịch soạn thảo code.

- Altium Designer : phần mềm thiết kế mạch nguyên lý, mạch in

Trang 4

1.4 Sơ đồ khối của hệ thống

Trang 5

CHƯƠNG II: THIẾT KẾ PHẦN CỨNG – PHÂN TÍCH ĐẶC ĐIỂM, CHỨC NĂNG CÁC KHỐI TRONG HỆ THỐNG

Dựa vào những yêu cầu chức năng, phi chức năng cùng sơ đồ khối của hệ thống, nhóm chúng em đã đưa ra bản thiết kế sơ đồ nguyên lý mạch như hình

vẽ, trong đó khối điều khiển sử dụng KIT phát triển LaunchPad MSP430, chạy trên MSP430G2553.

Hình 1: Sơ đồ nguyên lý hệ thống

Trang 6

Sau đây, nhóm chúng em xin trình bày cụ thể sơ đồ, đặc điểm và chức năng của từng khối trong hệ thống.

2.1 KHỐI ĐIỀU KHIỂN – KIT LAUNCHPAD MSP430

Trong ứng dụng này, nhóm sử dụng vi điều khiển MSP430G2553 chạy trên KIT phát triển LaunchPad MSP430

Hình 2: Kit phát triển LaunchPad MSP

Kit LaunchPad MSP do hãng ST cung cấp, trên Kit bao gồm:

- Khối nguồn sử dụng nguồn DC 5V.

Trang 7

- Khối mạch nạp tích hợp sẵn giúp người sử dụng có thể trực tiếp nạp và debug chương trình ngay trên Kit.

- Khối vi điều khiển gồm đế chíp và các jump cắm kết nối với I/O của vi điều khiển giúp người sử dụng có thể cắm bo mở rộng ứng dụng ra bên ngoài.

- Các linh kiện khác như: Led đơn, nút bấm …

Trong phạm vi Project II, nhóm chúng em sử dụng Kit để nạp chương trình và kết nối với các chân I/O của MSP430G2553 ra bo chức năng bên ngoài để giao tiếp với các cảm biến, điều khiển hiển thị, điều khiển cảnh báo.

Trang 9

2.3 KHỐI CẢNH BÁO

Khối cảnh báo sử dụng còi chíp 5V, khi nồng độ khí gas trong môi trường vượt quá giới hạn cho phép, khối điều khiển sẽ phát tín hiệu điều khiển đến khối cảnh báo và còi chíp sẽ kêu Khi nồng độ khí gas nằm trong giới hạn an toàn, khối điều khiển sẽ phát tín hiệu điều khiển tắt còi chíp.

Hình 4: Khối cảnh báo

Trang 10

Trên bo mạch, các jump cắm được thiết kế để dễ dàng kết nối với các cảm biến.

Hình 5: Jump kết nối cảm biến

Trang 11

- DATA: Chân dữ liệu để cảm biến giao tiếp với vi điều khiển.

- NC: chân không kết nối.

Trang 12

- Sơ đồ kết nối vi xử lý:

Hình 7: Sơ đồ kết nối DHT11 với vi điều khiển

- Nguyên lý hoạt động:

Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

 Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.

 Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được.

Trang 13

 Bước 1: gửi tín hiệu Start

Hình 8: Tín hiệu START gửi từ vi điều khiển

 MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong

khoảng thời gian >18ms

 MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.

 Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11.

 Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT.

 Bước 2: đọc giá trị trên DHT11

DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:

 Byte 1: giá trị phần nguyên của độ ẩm (RH%)

 Byte 2: giá trị phần thập phân của độ ẩm (RH%)

 Byte 3: giá trị phần nguyên của nhiệt độ (TC)

 Byte 4 : giá trị phần thập phân của nhiệt độ (TC)

 Byte 5 : kiểm tra tổng.

Trang 14

Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt

độ là chính xác, nếu sai thì kết quả đo không có nghĩa.

 Đọc dữ liệu: Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và

độ ẩm.

 Bit 0:

 Bit 1:

Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên

1 Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1

Trang 15

Do đó trong lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là

1 Cứ như thế ta đọc các bit tiếp theo.

2.4.2 KHỐI CẢM BIẾN KHÍ GAS MQ2

- MQ2 là cảm biến khí, dùng để phát hiện các khí có thể gây cháy Nó được cấu tạo

từ chất bán dẫn SnO2 Chất này có độ nhạy cảm thấp với không khí sạch Nhưng khi trong môi trường có chất ngây cháy, độ dẫn của nó thay đổi ngay Chính nhờ đặc điểm này người ta thêm vào mạch đơn gian để biến đổi từ độ nhạy này sang điện áp.

- Khi môi trường sạch điện áp đầu ra của cảm biến thấp, giá trị điện áp đầu ra càng tăng khi nồng độ khí gây cháy xung quang MQ2 càng cao.

- MQ2 hoạt động rất tốt trong môi trường khí hóa lỏng LPG, H2, và các chất khí gây cháy khác Nó được sử dụng rộng rãi trong công nghiệp và dân dụng do mạch đơn giản và chi phí thấp.

Hình 9: Sơ đồ chân cảm biến MQ2

Trang 16

- Trong mạch có 2 chân đầu ra là Aout và Dout Trong đó:

 Aout: điện áp ra tương tự Nó chạy từ 0.3 - 4.5V, phụ thuộc vào nồng độ khí xung quanh MQ2.

Trang 17

 Dout: điện áp ra số, giá trị 0,1 phụ thuộc vào điện áp tham chiếu và nồng độ khí mà MQ2 đo được.

 Việc có chân ra số Dout rất tiện cho các ứng dụng đơn giản, không cần đến

vi điều khiển Khi đó ta chỉ cần chỉnh giá trị biến trở tới giá trị nồng độ ta muốn cảnh báo Khi nồng độ MQ2 đo được thấp hơn mức cho phép thì Dout

= 1 Đèn Led tắt Khi nồng độ khí đo được lớn hơn nồng khí cho phép, Dout

=0, đèn led sáng.

Trong đề tài này, nhóm chúng em sử dụng chân Dout của module để cảnh báo khi

có nồng độ khí gas trong môi trường Chân Dout sẽ được kết nối với 1 đầu in của MSP430G2553, khi tín hiệu đọc về là mức logic 1 thì cho tắt còi chíp, khi tín hiệu đọc về là 0 thì cho còi chíp kêu để cảnh báo.

Sau khi thiết kế sơ đồ nguyên lý, nhóm đã tiến hành đi dây và vẽ mạch in để có thể làm được mạch in bằng tay:

Hình 11: Sơ đồ mạch in của hệ thống

Trang 18

CHƯƠNG II: LẬP TRÌNH PHẤN MỀM

Chương trình của hệ thống viết trên trình biên dịch IAR Embedded Workbench, chạy trên vi điều khiển MSP430G2553.

Code gồm các file:

- Main.c:Chứa chương trình chính, nêu rõ thuật toán của đề tài.

- Main.h: Chứa các khai báo thư viện, định nghĩa các chân I/O giao tiếp.

- Các file driver: dht11, lcd16x2,…đây là các file nêu rõ phương thức giao tiếp giữa vi điều khiển với các driver.

WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer, Tan so Clock 1MHz

P1DIR = 0xff; // Cau hinh PORT1 là Output

P1OUT = 0x00;

Trang 19

P2DIR |= BIT0|BIT1; // Cau hinh PORT2.0, PORT2.1 là Output P2DIR &= ~BIT2; // Cau hinh PORT2.2 là Input P2REN &= ~BIT2; // Cau hinh khong tro treo cho PORT2.2

/* Kieu So Nguyen Co Dau */

typedef signed char int8_t;

typedef signed int int16_t;

typedef signed long int int32_t;

/* Kieu So Nguyen Khong Dau */

Trang 20

typedef unsigned char uint8_t;

typedef unsigned int uint16_t;

typedef unsigned long int uint32_t;

// Khai bao cho DHT11 - PORT2

#define DHT_DDR_DATABIT0

#define DHT_DATA_OUTBIT0

#define DHT_DATA_IN BIT0

// Khai bao Speak - PORT2

// Khai bao MQ2 - PORT2

dht_Ok = DHT_GetTemHumi(&dht_nhiet_do,&dht_do_am);

Trang 21

#include "main.h"

/******************************************************************************* Noi Dung : MCU gui yeu cau chuyen doi den DHT11.

Tham Bien : Khong.

Tra Ve : Khong.

********************************************************************************/ uint8_t DHT_GetTemHumi (uint8_t *tem,uint8_t *humi)

if(P2IN & DHT_DATA_IN)return DHT_ER ;

else while(!(P2IN & DHT_DATA_IN)); //Doi DaTa len 1

//delay_us(60);

_delay_cycles(60);

if(!(P2IN & DHT_DATA_IN))return DHT_ER;

else while(P2IN & DHT_DATA_IN); //Doi Data ve 0

//Bat dau doc du lieu

Trang 22

//Ham Gui 4 Bit Du Lieu Ra LCD

void LCD_Send4Bit( uint8_t Data )

Trang 23

void LCD_SendCommand (uint8_t command )

// Ham Khoi Tao LCD

void LCD_Init ( void )

LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh

LCD_Clear(); // xoa toan bo khung hinh

}

//Ham Thiet lap vi tri con tro

void LCD_Gotoxy(uint8_t x, uint8_t y)

Trang 24

address = (0xC0+x);

delay_ms(1);

LCD_SendCommand(address); //delay_ms(5);

_delay_cycles(5000);

}

// Ham Gui 1 Ki Tu Len LCD

void LCD_PutChar ( uint8_t Data ) {

P1OUT |= LCD_RS;

LCD_SendCommand( Data ); P1OUT &= ~LCD_RS;

Trang 25

Hình ảnh sản phẩm mạch thật:

Trang 26

CHƯƠNG III: KẾT LUẬN

Qua Project II, nhóm chúng em xin cảm ơn Viện Điện Tử - Viễn Thông cùng cô Đinh Thị Nhung đã giúp chúng em có cơ hội thực tiễn, tăng khả năng làm việc theo nhóm, khả năng tự tìm hiểu nghiên cứu một vấn đề mới, đồng thời giúp chúng

em tiếp cận những khó khăn thực tế khi thực hành ngoài thực tế…

Ngày đăng: 17/02/2023, 17:55

w