2.7.1. Cảm biến ánh sáng BH1750
BH1750 là mạch cảm biến cường độ ánh sáng với bộ chuyển đổi AD 16 bit tích hợp trong chip và có thể xuất ra trực tiếp dữ liệu theo dạng digital. Cảm biến không cần bộ tính toán cường độ ánh sáng khác.
BH1750 sử dụng đơn giản và chính xác hơn nhiều lần so với dùng cảm biến quang trở để đo cường độ ánh sáng với dữ liệu thay đổi trên điện áp dẫn đến việc sai số cao.
Cảm biến cường độ ánh sáng BH1750 Digital Light Sensor được sử dụng để đo cường độ ánh sáng theo đơn vị lux, càm biến có ADC nội và bộ tiền xử lý nên giá
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 29
trị được trả ra là giá trị trực tiếp cường độ ánh sáng lux mà không phải qua bất kỳ xử lý hay tính toán nào thông qua giao tiếp I2C
Hình 2.16 Cảm biến ánh sáng BH1750
Độ rọi của ánh sáng:
• Vào buổi tối : 0.001 – 0.02 Lux • Ánh trăng : 0.02 – 0.3 lux
• Trời nhiều mây trong nhà : 5 – 50 lux
• Trời nhiều mây ngoài trời : 50 – 500 lux • Trời nắng trong nhà : 100 – 1000 lux
• Ánh sáng cần thiết để đọc sách: 50 – 60 lux
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 30
Hình 2.17 Nguyên lí hoạt động BH1750
2.7.2. Cảm biến áp suất
BMP 280 là cảm biến đo áp suất khí quyển tuyệt đối kỹ thuật số của Bosch Sensortec. Cảm biến này được thiết kế đặc biệt cho các ứng dụng di động, nơi kích thước nhỏ và tiêu thụ điện năng thấp là rất quan trọng.Chúng ta có thể sử dụng nó trong các ứng dụng khác nhau của mình bao gồm cả ứng dụng với Arduino.
Hình 2.18 Cảm biến áp suất
BMP 280 dựa trên công nghệ cảm biến áp suất điện trở áp, có độ chính xác cao, tuyến tính và ổn định với độ mạnh của EMC.
BMP 280 có thể được sử dụng trong các ứng dụng khác nhau như Nâng cao hệ thống định vị GPS, Điều hướng trong nhà như Phát hiện tầng và phát hiện thang
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 31
máy, Điều hướng ngoài trời, Ứng dụng thể thao, Dự báo thời tiết, Chỉ báo vận tốc dọc, v.v.
Cảm biến có hai loại giao diện giao tiếp - I2C và SPI, qua đó bạn có thể trích xuất dữ liệu cảm biến.Về cơ bản, chúng ta có thể vận hành cảm biến ở hai chế độ. 1. Chế độ Bình thường - Ở chế độ này, cảm biến sẽ tự động quay vòng giữa một chu kỳ chờ nad của phép đo. Chế độ này thường được sử dụng với bộ lọc IIR tích hợp khi có nhiễu ngắn hạn trong quá trình đo thông thường.
2. Chế độ cưỡng bức - Trong chế độ này, cảm biến thực hiện một phép đo duy nhất theo yêu cầu và sau đó trở về chế độ nghỉ. Điều này phù hợp nhất với các trường hợp chúng tôi thăm dò dữ liệu bất cứ khi nào chúng tôi yêu cầu. Điều này thường được sử dụng trong các ứng dụng yêu cầu tốc độ lấy mẫu thấp như theo dõi thời tiết.
Ngoài ra còn có một tính năng mà chúng ta có thể lấy mẫu quá mức cho phép đo áp suất và nhiệt độ. Tùy thuộc vào ứng dụng và yêu cầu công suất, chúng ta có thể đặt tỷ lệ lấy mẫu quá mức là 1,2,4,8 hoặc 16. Có các cài đặt mặc định dễ dàng, được tối ưu hóa để phục vụ một số trường hợp ví dụ như theo dõi thời tiết, điều hướng trong nhà, phát hiện rơi, phát hiện độ cao.
Vì kích thước của cảm biến rất nhỏ và rất khó xử lý đối với bất kỳ người yêu thích nào, chúng tôi phải sử dụng mô-đun cảm biến áp suất BMP 280, có tất cả các kết nối cần thiết ở đầu nối chân cắm bình thường 2,54 mm.
2.7.3. Cảm biến mưa
a. Giới thiệu
Cảm biến mưa được thiết kế đơn giản gồm: một lá chắn để nhận biết có mưa hoặc có nước xuất hiện tên bề mặt của lá chắn và phần module chuyển đổi tín hiệu giúp giao tiếp với các board mạch vi điều khiển, lẫn led báo hiệu để nhận biết trạng thái trên lá chắn.
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 32
Hình 2.19 Cảm biến mưa
• Cảm biến hổ trợ hai loại ngõ ra tín hiệu là analog (tương tự) và digital (số),
để có thể áp dụng linh hoạt tùy mục đích khác nhau.
• Cảm biến mưa sử dụng để phát hiện mực nước, trời mưa, hay các môi trường có nước. Mạch cảm biến mưa được đặt ngoài trời để kiểm tra trời có mưa không, qua đó truyền tín hiệu điều khiển đóng / ngắt rơ le.
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 33 CHƯƠNG 3:TÍNH TOÁN VÀ THIẾT KẾ
3.1. GIỚI THIỆU
Đề tài “NGHIÊN CỨU MẠNG LORA ỨNG DỤNG VÀO QUAN TRẮC KHÍ HẬU Ở KHU VỰC HÒA KHÁNH”.
Các Node dữ liệu thu thập các thông số của thời tiết như cảm biến mưa ,áp suất, ánh sáng BH170.Tín hiệu của 3 cảm biến này sẽ được truyền gửi lên Gateway thông qua Lora sx1278.
Gateway có nhiệm vụ là lấy dữ liệu và lưu vào cơ sở dữ liệu và truyền lên Web server,hoặc Thingspeak để hiển thị cho người dùng cập nhật thời tiết .Người dùng có thể đăng nhập qua ứng dụng Mit App có thể quan sát tình hình thời tiết tại khu vực đó .
3.2. TÍNH TOÁN VÀ THIẾT KẾ 3.2.1. Thiết kế sơ đồ hệ thống 3.2.1. Thiết kế sơ đồ hệ thống
Theo đề tài hệ thống bao gồm 4 khối chức năng liên kết lại với nhau tạo nên một hệ thống như sau:
Hình 3.1 Sơ đồ khối hệ thống
Chức năng từng khối:
Khối xử lý trung tâm: Là khối điều chính của hệ thống, thu thập những dữ liệu từ các thiết bị cảm biến sau đó xử lý và điều khiển khối ngoại vi và khối hiển thị Web.Gateway có nhiệm vụ truyền nhận dữ liệu ổn định qua lại với các Node thông qua LoRa,và chuyển giao tín hiệu giao tiếp từ Gateway lên Thingspeak, Web server.
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 34
Khối cảm biến: Là lấy dữ liệu từ Node cảm biến sau đó thu thập các thông số ngoài môi trường như áp suất,ánh sáng,độ ấm,lượng mưa.. và cập nhật sự thay đổi theo thời gian với ngưỡng đặt trước đưa dữ liệu.
Khối hiển thị ứng dụng: Là hiển thị các thông số kĩ thuật ngoài môi trường đo được tại các Node cảm biến được hiển thị trực tiếp trên websever,hoặc trên Mit App cho người dùng.
Khối nguồn: Cung cấp nguồn cho toàn bộ hoạt động của hệ thống cũng như các cảm biến dễ hoạt động.
3.2.2. Tính toán và thiết kế mạch
❖ Khối xử lý trung tâm (Esp 32 được dùng như một khối xử lí trung tâm)
Yêu cầu khối xử lý trung tâm: Đây được xem như là trái tim của toàn bộ hệ thống, khối có chức năng tiếp nhận, xử lý mọi tín hiệu ngõ vào thu được từ các cảm biến, các cơ cấu tác động, các tín hiệu điều khiển từ web, truyền nhận dữ liệu giữa web và phần cứng để xử lý rồi đem những thông số đo được, xử lý được hiển thị lên cho người dùng theo dõi, toàn bộ hoạt động điều khiển của hệ thống được được thông qua khối xử lý trung tâm này.
Esp32 là một hệ thống hoàn chỉnh với kết nối Wi-Fi, kết nối Bluetooth, ADC độ phân giải cao, DAC, kết nối nối tiếp và nhiều tính năng khác. Các thành phần RF tích hợp của nó như bộ khuếch đại công suất, bộ khuếch đại nhận tiếng ồn thấp, công tắc ăng-ten, bộ lọc và Balun RF. Điều này làm cho việc thiết kế phần cứng xung quanh ESP32 rất dễ dàng vì bạn cần rất ít thành phần bên ngoài.
Thông số kỹ thuật:
• Model: Wifi BLE SoC ESP32 ESP-WROOM-32E (Tương thích hoàn toàn với phiên bản cũ ESP-WROOM-32 hiện đã ngưng sản xuất).
• ESP32-D0WD-V3 embedded, Xtensa® dual-core 32-bit LX6 microprocessor, up to 240 MHz
• Điện áp sử dụng: 3~3.6VDC • Dòng điện sử dụng: ~90mA
• 448 KB ROM for booting and core functions • 520 KB SRAM for data and instructions • 16 KB SRAM in RTC
• Kiểu Antenna: PCB
❖ Arduino Nano
Thông số kỹ thuật:
• Thiết kế chuẩn kích thước, chân Arduino Nano. • Firmware: Arduino Nano.
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 35
• IC chính: ATmega328P-AU.
• IC nạp và giao tiếp UART: CH340.
• Điện áp cấp: 5VDc cổng USB hoặc 6-9VDc chân Raw. • Mức điện áp giao tiếp GPIO: TTL 5VDc.
• Dòng GPIO: 40mA.
• Số chân GPIO: 14 chân, trong đó có 6 chân PWM. • Số chân Analog: 8 chân (hơn Arduino Nano 2 chân). • Bộ nhớ Flash: 32KB (2KB Bootloader).
• SPAM: 2KB. • EEPROM: 1KB • Clock Speed: 16MHz.
• Tích hợp Led báo nguồn, led chân D13, LED RX, TX. • Tích hợp IC chuyển điện áp 5V LM1117.
• Kích thước: 18.542 x 43.18mm.
❖ Khối cảm biến
Đối với khối cảm biến ta có nhiệm vụ là thu thập các thông số đo được ngoài môi trường sau đó truyền thông tin tới khối xử lý ,khối này lưu thông tin xử lí so với ngưỡn đặt cập nhật từng thời gian để điều chỉnh.
Cảm biến mưa
Thông số kỹ thuật
• Điện áp: 3V – 5V • Ngõ ra:
o DO: dạng digital – TTL có khả năng điều khiển trực tiếp Relay, Buzzer... o AO: dạng analog
• Có LED báo hiệu khi có mưa hoặc nước trên bề mặc lá chắn • Độ nhạy có thể được điều chỉnh thông qua chiết áp
• Kích thước module chuyển đổi: 3.2cm x 1.4cm
• Lá chắn sử dụng vật liệu chất lượng cao FR-04 hai mặt, bề mặt mạ niken, chống oxy hóa
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 36
Sơ đồ kết nối chân:
Cảm biến mưa Arduino Nano
5V Vcc
GND GND
A0 A0
Hình 3.2Sơ đồ kết nối chân của cảm biến mưa với Arduino Nano Cách thức giao tiếp của cảm biến mưa với Arduino Nano:
Đo đầu ra tương tự và xuất ra giá trị lượng mưa, giá trị 1023 là hoàn toàn khô và giá trị 0 là mưa rất lớn.
Cảm biến áp suất BMP280
Thông số kỹ thuật:
• kich thước - 2.0 * 2.5 * 0.95 mm
• Phạm vi hoạt động - Áp suất - 300… ..1100 hPa, Nhiệt độ - 0… + 65 Độ C • Điện áp cung cấp - 1,71 V - 3,6 V.
• KícGiao diện - I2C và SPI
• Dòng điện trung bình - 2,74 micro Ampe
• Độ phân giải - Áp suất - 0,18 Pa (eqiuv. Đến <10 cm), Nhiệt độ - 0,01 K
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 37
Hình 3.3Sơ đồ kết nối chân của cảm biến áp suất với Arduino Nano Cách thức giao tiếp của cảm biến áp suất với Arduino Nano:
Giống như mọi thiết bị I2C khác, cảm biến BME280 có địa chỉ bus I2C là 0x76 hoặc 0x77. Địa chỉ này phụ thuộc vào nối của chân SDO (được sử dụng cho chế độ SPI dưới dạng dữ liệu nối tiếp hoặc MISO), nếu chân SDO được nối (trực tiếp hoặc qua điện trở) với VCC (3.3V), địa chỉ sẽ là 0x77 và nếu đó là nối với GND, địa chỉ sẽ là 0x76.Địa chỉ I2C mặc định của thư viện được xác định là 0x77 và địa chỉ I2C thiết bị của tôi là 0x76. mô-đun BME280 có ít nhất 4 chân vì nó có thể hoạt động ở chế độ SPI hoặc chế độ I2C. Đối với chế độ I2C các chân: SDA và SCL trong đó:
SDA là chân dữ liệu nối tiếp bus I2C, được nối với chân Arduino analog 4 (A4) SCL là dòng đồng hồ nối tiếp bus I2C, được nối với chân analog 5 (A5).
Cảm biến ánh sáng
Thông số kỹ thuật:
• Chuẩn kết nối i2C
• Độ phân giải cao(1 – 65535 lx ) • Tiêu hao nguồn ít.
• Khả năng chống nhiễu sáng ở tần số 50 Hz/60 Hz • Sự biến đổi ánh sáng nhỏ (+/- 20%)
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 38
• Nguồn cung cấp : 3.3V-5V
• Kích thước board : 0.85*0.63*0.13″(21*16*3.3mm)
Sơ đồ kết nối chân:
Hình 3.4 Sơ đồ kết nối chân của cảm biến áp suất với Arduino Nano
Cách thức giao tiếp của cảm biến áp suất với Arduino Nano
Cảm biến cường độ ánh sáng BH1750 được sử dụng để đo cường độ ánh sáng theo đơn vị lux, cảm biến có ADC nội và bộ tiền xử lý nên giá trị được trả ra là giá trị trực tiếp cường độ ánh sáng lux mà không phải qua bất kỳ xử lý hay tính toán nào thông qua giao tiếp I2C
Khi cấp điện hệ thống hoạt động, vi điều khiển hiển thị thông tin ban đầu. Lúc này vi điều khiển chờ tín hiệu từ mạch đọc cảm biến ánh sáng BH1750 trong môi trường trả về tín hiệu analog dùng để đo cường độ ánh sáng trong ánh nắng hoặc trong đèn tia cực tím và kiểm tra mức tín hiệu, Khi nhận tín hiệu vi điều khiển tính toán, xử lý dữ liệu và xuất tín hiệu giá trị thực tế ra màn hình
❖ Khối hiển thị
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 39
Hình 3. 5 Sơ đồ kết nối LCD với I2C
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).và 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
• Điện áp hoạt động: 2.5-6V DC.
• Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
• Giao tiếp: I2C.
• Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
• Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt. • Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.
Module I2C LCD 16×2 Arduino Nano
GND GND
VCC 5V
SDA A4/SDA
SCL A5/SCL
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 40 3.2.3. Sơ đồ nguyên lý của toàn mạch
❖ Sơ đồ nguyên lý cổng Node (Gói Gửi).
Hình 3. 6 Sơ đồ nguyên lý cổng Node
Nguyên lý hoạt động của cổng Node như sau:
Nguồn cung cấp cho hệ thống hoạt động tôi chọn nguồn 5V và sử dụng dòng 2A để cung cấp cho Node cảm biến ,Arduino Nano .Các cảm biến và Lora sx1278 liên kết với Arduino Nano .
Các cảm biến thu thập các thông số từ môi trường và đưa về cho Arduino Nano, cả 3 cảm biến đều Ngõ ra là tín hiệu Analog, và sử dụng chân SDA, SCL. Đối với cảm biến mưa dùng chân A0 làm ngõ tín hiệu.
Sau khi lấy các tham số từ cảm biến về Arduino Nano để thu thập xử lí hệ thống, module Lora có nhiệm vụ truyền gửi thông tin từ cổng Node sang Getway.
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 41
❖ Sơ đồ nguyên lý Getway (Esp32 nối với Lora )
Hình 3. 7 Sơ đồ nguyên lý Getway
Theo yêu cầu của đề tài thì sơ đồ nguyên lý Getway bao gồm Esp32 liên kết với Module Lora ,và cấp nguồn ổn định để thu thập xử lí và cho hệ thống hoạt động.
Esp32 trong đồ án đóng vai trò như bộ trung tâm xử lí toàn mạch giúp lưu trữ số liệu thu thập từ cổng Node và sau đó phân tích số liệu gửi lên Thingspeak cho người dùng .
Sinh viên thực hiện: NGUYỄN NGỌC TRƯỜNG Người hướng dẫn: TH.S TRẦN DUY CHUNG 42 CHƯƠNG 4:THI CÔNG HỆ THỐNG
4.1. GIỚI THIỆU
Sau quá trình thiết kế tính toán ,lựa chọn các thiết bị phù hợp thì chúng tôi tiến hành thi công mô hình hệ thống và lắp ráp thiết bị lại cho hợp lí .Tiến hành vào việc liên kết các thiết bị và thi công thiết kế bo mạch phù hợp cho các cảm biến và modun thiết bị .