🌱 Sensor - Cảm biến nhiệt độ-độ ẩm Si7020
Ở các bài viết trước mình đã giới thiệu với các bạn về cảm biến nhiệt độ nói chung, và cụ thể về 2 loại cảm biến nhiệt độ - độ ẩm (LM35 và DHT11). Hai loại cảm biến này khá phổ thông với giá thành rẻ, và sử dụng rộng rãi đối với các bạn học sinh, sinh viên. Vậy trong thực tế thường sử dụng loại cảm biến nhiệt độ-độ ẩm nào?
Ở bài viết này, mình sẽ cùng các bạn tìm hiểu về một cảm biến thường được sử dụng trong các ứng dụng IOT-Smarthome, đó là cảm biến nhiệt độ-độ ẩm Si7020.
👉 Cảm biến nhiệt độ - độ ẩm Si7020
So với 2 cảm biến đã giới thiệu thì Si7020 có những đặc điểm ưu việt hơn, mà quan trọng nhất chính là độ chính xác và tính ổn định của cảm biến. Si7020 là dòng chip được phát triển bởi Silicon Lab, một công ty khá nổi tiếng về bán dẫn tại Mỹ, chuyên các sản phẩm phục vụ cho hệ sinh thái IOT. Vì vậy, Si7020 rất thích hợp cho các ứng dụng IOT, đặc biệt là Smarthome.
👉 Cấu tạo và thông số kỹ thuật
Các bạn có thể xem tài liệu Si7020 Datasheet để biết thêm về cấu tạo và thông số kỹ thuật của cảm biến này.
➤ Dưới đây là Block Diagram của Si7020.
Cảm biến Si7020 sử dụng một bộ ADC nội với Vref = 1.25V để thu thập dữ liệu nhiệt độ, độ ẩm từ 2 đầu cảm biến. Sau đó, dữ liệu này được đưa vào một bộ Control Logic để hiệu chuẩn và chuyển đổi thành dạng ADC để truyền về các Vi điều khiển bên ngoài thông qua giao thức I2C.
💬 Việc có bộ hiệu chuẩn cũng là một điểm mạnh của cảm biến này. Các dữ liệu hiệu chuẩn tại nhà máy được lưu trên một bộ nhớ nội kiểu non-volatile, điều này giúp cho các cảm biến có thể dễ dàng hoán đổi vị trí cho nhau, và dễ dàng thay thế khi hỏng hóc.
👉 Sơ đồ chân - Pinout
Bản thân chip Si7020 có 6 chân, bao gồm 2 chân cấp nguồn (VDD và GND), 2 chân SCL và SDA phục vụ giao tiếp I2C, 2 chân DNC thì không có nhiệm vụ về mặt chức năng, nên thường được thả nổi hoặc nối lên VDD. Vì vậy, khi mua một số cảm biến Si7020 bên ngoài thường thấy họ cho ra 4 jump chân là VDD/GND và 2 chân SDA, SCL.
👉 Thông số kỹ thuật (xem Datasheet)
- Điện áp hoạt động: 1.9V - 3.6V.
- Dải đo nhiệt độ: -10°C đến 85°C, sai số 0.4°C.
- Dải đo độ ẩm: 0% đến 100% RH, sai số 4% RH.
- Dòng điện tiêu thụ thấp: 150uA active current và 60nA standby current.
- Hỗ trợ 7 bit địa chỉ I2C, các bạn xem trong Datasheet.
Si7020 support một số thanh ghi chứa dữ liệu cảm biến đọc được dưới dạng SoC - System on Chip. Để đọc dữ liệu cảm biến Si7020, chúng ta sẽ kết nối cảm biến với Vi điều khiển theo giao thức I2C. Sau đó gửi command yêu cầu đọc dữ liệu theo sequence trong Datasheet.
💬 Ngoài các tín hiệu như Start, Address, ACK, NOT_ACK của giao thức I2C, thì chúng ta quan tâm đến Measure Cmd, chính là command mà Vi điều khiển sẽ gửi tới Si7020 để yêu cầu cảm biến trả về dữ liệu được yêu cầu. Command này có thể bao gồm 1 hoặc 2 byte, được quy định trong tài liệu Datasheet của Cảm biến.
💬 Dữ liệu được cảm biến trả về sẽ bao gồm 16-bit (MS Byte và LS Byte như trong hình). Việc xử lý 16-bit này cũng được quy định trong Datasheet luôn 😆
Ví dụ xử lý tín hiệu nhiệt độ:
Một chút về Project mình từng làm, để các bạn thấy độ chính xác và ổn định của Cảm biến nhiệt độ/độ ẩm Si7020:
0 Nhận xét