Nguyên lý hoạt động

Một phần của tài liệu THIẾT kế MẠCH đo độ ẩm KHÔNG KHÍ (Trang 25 - 28)

a. Nguồn và chân:

Điện áp của nguồn phải là 3,3-5,5V DC.

Khi cấp nguồn cho cảm biến, không gửi bất kỳ lệnh nào đến cảm biến trong vòng một giây để chuyển trạng thái không ổn định. Một tụ điện có giá trị 100nF có thể được thêm vào giữa VDD và GND để lọc sóng

b. Truyền thông và tín hiệu

Bus 1 dây được sử dụng để liên lạc giữa MCU và DHT22 được thiết kế đặc biệt, khác với bus 1 dây Maxim / Dallas, do đó, nó không tương thích với bus dây Dallas. Minh họa:

DATA = 16 bit dữ liệu độ ẩm + 16 bit dữ liệu nhiệt độ + 8 bit Check sum

DHT22 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte, được miêu tả như sau: - Byte 1: Byte cao của giá trị độ ẩm.

- Byte 2: Byte thấp của giá trị độ ẩm - Byte 3: Byte cao giá trị nhiệt độ. - Byte 4 : Byte thấp giá trị nhiệt độ. - Byte 5 : Kiểm tra tổng.

Nếu Byte 5 = (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ách tính nhiệt độ và độ ẩm: (byte cao *256 + byte thấp) /10. Ví dụ: 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 2 140 1 95 238 RH = (2*256+140)/10 = 65.2 T = (1*256+95)/10 = 35.1 0000 0010 + 1000 1100 + 0000 0001 + 0101 1111 = 1110 1110 = Check sum

Khi MCU gửi tín hiệu bắt đầu, DHT22 thay đổi từ trạng thái chờ sang trạng thái chạy. Khi MCU kết thúc việc gửi tín hiệu bắt đầu, DHT22 sẽ gửi tín hiệu phản hồi của dữ liệu 40 bit phản ánh độ ẩm và nhiệt độ tương đối đến MCU. Không có tín hiệu bắt đầu từ MCU, DHT22 sẽ không cung cấp tín hiệu phản hồi cho MCU, một tín hiệu bắt đầu cho một dữ liệu phản hồi. DHT22 sẽ chuyển sang trạng thái chờ khi thu thập dữ liệu kết thúc nếu không nhận được tín hiệu bắt đầu từ MCU.

Xem hình dưới đây cho quá trình giao tiếp tổng thể, khoảng thời gian của toàn bộ quá trình phải vượt quá 2 giây.

Bước 1: MCU gửi tín hiệu bắt đầu đến DHT22 và DHT22 gửi tín hiệu phản hồi đến MCU

Trạng thái tự do của bus dữ liệu là mức điện áp cao. Khi giao tiếp giữa MCU và DHT22 bắt đầu, MCU sẽ kéo bus dữ liệu xuống thấp và quá trình này phải vượt quá ít nhất 1 ~ 10ms để đảm bảo DHT22 có thể phát hiện tín hiệu của MCU, sau đó MCU sẽ kéo lên và chờ 20-40us để phản hồi từ DHT22.

Khi DHT22 phát hiện tín hiệu bắt đầu, DHT22 sẽ kéo bus 80us xuống thấp làm tín hiệu phản hồi, sau đó DHT22 kéo lên 80us để chuẩn bị gửi dữ liệu. Xem hình dưới đây:

Bước 2: DHT22 gửi dữ liệu tới MCU

Khi DHT22 đang gửi dữ liệu tới MCU, mỗi lần truyền của bit bắt đầu với mức điện áp thấp kéo dài 50us, độ dài tín hiệu mức điện áp cao sau đây quyết định bit là "1" hoặc "0". Xem số liệu dưới đây:

Chú ý: Nếu tín hiệu từ DHT22 luôn ở mức điện áp cao, điều đó có nghĩa là DHT22 không hoạt động đúng, vui lòng kiểm tra trạng thái kết nối điện.

Một phần của tài liệu THIẾT kế MẠCH đo độ ẩm KHÔNG KHÍ (Trang 25 - 28)

Tải bản đầy đủ (DOCX)

(42 trang)
w