TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG KHÔNG DÂY
Dù cáp và dây điện vẫn là phương tiện quan trọng trong việc truyền và nhận thông tin, nhưng việc sử dụng tai nghe không dây, truy cập internet qua Wi-Fi và truyền dữ liệu giữa các thiết bị qua kết nối không dây ngày càng trở nên phổ biến, ảnh hưởng sâu sắc đến cuộc sống hàng ngày của chúng ta.
1.1.1 Các công nghệ truyền không dây phổ biến a Bluetooth
Bluetooth không chỉ phục vụ việc truyền dữ liệu giữa các thiết bị di động và kết nối phụ kiện với điện thoại, mà còn được tích hợp trong nhiều thiết bị khác như máy ảnh số, laptop, PC và đầu máy chơi game Chip Bluetooth hoạt động bằng cách sử dụng tín hiệu sóng radio để truyền dữ liệu trong phạm vi hẹp, thường khoảng 30 mét.
Hình 1.1: Nghe nhạc qua tai nghe Bluetooth
Bluetooth 2.0 là phiên bản phổ biến nhất hiện nay, cho phép trao đổi dữ liệu với băng thông thấp đến trung bình với tốc độ 3 Mb/giây và tiêu thụ điện năng tương đối thấp.
Zigbee hỗ trợ truyền thông tin đến nhiều thiết bị cùng lúc thông qua mạng lưới mesh Phạm vi hoạt động của Zigbee đang được cải thiện, từ 75 mét hiện tại lên đến vài trăm mét, mang lại khả năng kết nối tốt hơn cho người dùng.
Hình 1.2: Truyền không dây qua Zigbee Công nghệ này đòi hỏi năng lượng thấp hơn Bluetooth, nhưng tốc độ chỉ đạt
256 Kb/giây Nó sẽ được ứng dụng trong hệ thống tự động tại các hộ gia đình như chiếu sáng và sưởi ấm c NFC
Thiết bị NFC cho phép truyền tải dữ liệu không dây với tốc độ vài kilobit trong khoảng cách chỉ vài cm, mang lại sự an toàn tối ưu cho việc trao đổi thông tin riêng tư và bảo mật.
Hình 1.3 Truyền NFC giữa 2 thiết bị di động
Các hãng sản xuất di động đang tích cực phát triển công nghệ NFC, dự đoán rằng điện thoại NFC sẽ trở thành phương tiện thanh toán tiện lợi cho người dùng khi họ uống cà phê hay mua báo Công nghệ này cũng sẽ được áp dụng trong các khóa điện tử, vé và tài liệu du lịch, mở ra nhiều tiện ích mới cho người tiêu dùng.
Hình 1.4: Các thiết bị kết nối qua Wifi
Công nghệ Wi-Fi đã trở nên phổ biến trong các gia đình, văn phòng, quán cafe và nhiều trung tâm thành phố lớn, cho phép kết nối Internet không dây Ngoài ra, Wi-Fi còn được sử dụng để kết nối các thiết bị gia dụng như TV và đầu DVD với máy tính.
Hình 1.5: Mô hình mạng Lora
Công nghệ truyền không dây LoRa tương tự như Zigbee, cho phép giao tiếp với nhiều thiết bị đồng thời ở khoảng cách xa từ 3000m đến 5000m, với tốc độ nhanh hơn so với các thiết bị thu phát RF khác.
PHẠM VI ÁP DỤNG
Internet of Things và thế giới
LoRa™ là công nghệ điều chế sử dụng kỹ thuật Spread-Spectrum và là một biến thể của Chirp Spread Spectrum, cho phép truyền dữ liệu với khoảng cách xa hơn so với các kỹ thuật khác Công nghệ không dây LoRa được phát triển bởi Cycleo SAS, một công ty sau này đã được Semtech mua lại.
Hình 1.6: Hệ thống thu phát LoRaWan
Trong vài năm qua, Internet of Things (IoT) đã được kỳ vọng sẽ thay đổi thế giới, nhưng việc kết nối hàng tỷ thiết bị gặp nhiều thách thức Các mạng không dây hiện tại như Bluetooth, WiFi và ZigBee không phù hợp cho ứng dụng tầm xa, trong khi mạng di động lại tiêu tốn nhiều năng lượng cho giao tiếp máy-máy Tất cả các loại mạng đều đắt đỏ về phần cứng và dịch vụ, trong khi IoT chỉ cần truyền một lượng nhỏ dữ liệu để theo dõi thiết bị từ xa Do đó, Low Power Wide Area Network (LPWAN) đã được phát triển để đáp ứng nhu cầu gửi ít dữ liệu với khoảng cách xa và thời gian sử dụng pin dài.
Mục tiêu đề tài
Mô hình hệ thống báo cháy bao gồm trung tâm điều khiển, thiết bị ngoại vi, và các module cảm biến nhiệt, cảm biến khí gas Tất cả các thành phần này được kết nối với nhau qua mạng LoRa, đồng thời xây dựng một trang web để hiển thị thông số từ các cảm biến.
- Xây dựng hệ thống báo cháy dùng LoRa với khoảng cách xa và thông báo tới người sử dụng
- Phát triển ứng dụng cảnh báo trên điện thoại
Xây dựng hệ thống cảnh báo thiên tai cho các khu vực hẻo lánh là cần thiết, đặc biệt là cảnh báo lũ tại các đầu nguồn sông và cảnh báo cháy rừng ở những khu rừng lớn Hệ thống này sẽ giúp nâng cao khả năng ứng phó và giảm thiểu thiệt hại do thiên tai gây ra.
Nhiệm vụ đề tài
Đề tài trình bày một mô hình mẫu hệ thống báo cháy với các cảm biến có sẵn trên thị trường với độ nhạy không cao
Thời gian chạy liên tục và dùng pin của hệ thống chỉ mang tính định tính dựa vào các số liệu có sẵn
Cấu hình của các module truyền nhận dữ liệu LoRa được tối ưu hóa chủ yếu cho mục đích nghiên cứu Bài viết này tập trung vào việc khám phá các tính năng tiết kiệm năng lượng của module LoRa trong hệ thống cảnh báo cháy, mà không đề cập đến việc truyền dữ liệu qua mạng GSM.
- Cấu hình mô-đun LoRa
- Giao tiếp Mô-đun LoRa với vi điều khiển
- Đọc cảm biến, so sánh chuỗi để xuất tín hiệu ngõ ra
- Giao diện giao tiếp với người dùng
- Làm mô hình thực tế
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG L ORA
2.1.1 Giới thiệu công nghệ truyền thông RF LoRa(LoRa)
LoRa là một mô-đun thu phát sóng RF có khả năng truyền tín hiệu với khoảng cách từ vài trăm mét đến vài ngàn mét trong điều kiện lý tưởng, hoạt động trên băng tần 433MHz.
Công nghệ truyền thông RF LoRa, trước đây chủ yếu được ứng dụng trong quân sự và không gian nhờ khả năng truyền xa hơn các thiết bị RF khác, hiện nay đã trở nên phổ biến trong lĩnh vực thương mại nhờ vào chi phí thấp và tính dễ sử dụng Một trong những ưu điểm nổi bật của LoRa là khả năng truyền tín hiệu ở khoảng cách xa, cho phép một trạm thu phát LoRa có thể bao quát một vùng rộng lớn tùy thuộc vào môi trường và địa hình xung quanh.
Mạch thu phát LoRa được sử dụng trong hệ thống là RF UART LoRa SX
1278 E32-TTL-100 433 Mhz có khoảng cách truyền tối đa là 3000m trong môi trường lý tưởng
2.1.2 Giới thiệu module thu phát RF LoRa
Hình 2.2: Hình ảnh thực tế Module LoRa Mạch thu phát RF UART LoRa SX 1278 433 Mhz 3000m sử dụng chip SX
1278 của nhà sản xuất SENTECH chuẩn giao tiếp LORA
Chuẩn LoRa mang đến 2 yếu tố quan trọng là tiết kiệm năng lượng và khoảng cách siêu xa và có thể cấu hình thành mạng
Mạch thu phát RF UART LoRa SX 1278 433 MHz 3000m tích hợp chuyển đổi giao tiếp SPI qua UART, giúp giao tiếp và sử dụng dễ dàng hơn Với kích thước nhỏ gọn 5 x 21 x 36 mm, LoRa đáp ứng hầu hết các yêu cầu không gian trong thiết bị người dùng, như trạm thu phát tín hiệu và thiết bị điều khiển từ xa.
Phần mềm đi kèm từ nhà sản xuất giúp việc cấu hình LoRa trở nên dễ dàng hơn Cấu hình trực tiếp lên LoRa qua Adapter LoRa
- IC chính: SX1278 từ SEMTECH
- Điện áp hoạt đông: 2.3 - 5.5 VDC
- Điện áp giao tiếp: TTL
- Tần số hoạt động : 410 -441Mhz
- Dòng điện ở chế độ ngủ (M1=1 M0=1): 1,7uA
- Độ dài chuỗi khi nhận :gói dữ liệu 256 bytes
- Độ dài chuỗi khi truyền :gói dữ liệu 256 bytes
- Khoảng cách truyền tối đa trong điều kiện lý tưởng: 3000m
- Tốc độ truyền: 0.3 -19.2 Kbps ( mặc định 2.4 Kbps)
- Hỗ trợ 65536 địa chỉ cấu hình
- Nhiệt độ hoạt động bình thường: -30 o C ~ +85 o C
- Độ ẩm hoạt động bình thường : 10% ~ 90%
Hình 2.3: Kích thước và số chân thực tế của LoRa Module có tổng cộng 7 chân được ký hiệu trực tiếp lên module
Bảng 2.1: Mô tả chức năng các chân của module
Số chân Kí hiệu Ứng dụng
1 M0 Kết hợp với M1 để cài đặt 4 chế độ hoạt động của LoRa
2 M1 Kết hợp với M0 để cài đặt 4 chế độ hoạt động của LoRa
3 RXD Nối với chân TX của Vi điều khiển
4 TXD Nối với chân RX của Vi điều khiển
5 AUX Chỉ các trạng thái của LoRa
6 VCC Kết nối với nguồn 5V
7 GND Kết nối với Mass (0V)
2.1.3 Chế độ hoạt động của module LoRa
Trong module LoRa có 2 chân điều khiển M0, M1 Giúp người sử dụng có thể dễ dàng chuyển chế độ hoạt động của module
Bảng 2.2 Các chế độ hoạt động của LoRa
Chế độ Trạng thái M1 M0 Mô tả Chú ý
Chế độ 0 Bình thường 0 0 Giao tiếp Serial sẽ mở Module truyền liên tục
Thiết bị nhận sẽ nhận được dữ liệu khi hoạt động ở chế độ 0,1 Chế độ 1 Báo thức 0 1 Giao tiếp Serial mở
Khi gửi dữ liệu LoRa sẽ tự động gửi kèm theo mã để kích
Thiết bị nhận chỉ nhận được dữ liệu khi ở chế độ 0,1,2
` hoạt chế độ 2 Chế độ 2 Tiết kiệm pin
1 0 Các giao tiếp Serial đóng Đợi mã kích hoạt từ chế độ 1
Thiết bị nhận chỉ nhận được dữ liệu khi thiết bị truyền ở chế độ 1 ( thiết bị truyền không được ở chế này)
Chế độ 3 Ngủ 1 1 Dùng để cấu hình
LoRa Lựa chọn chế độ hoạt động của LoRa qua việc thay đổi điện áp hoạt động vào 2 chân M0, M1 với 2 mức điện áp là (0V,3.3V~5V)
Thời gian để LoRa chuyển chế độ hoạt động là 1ms
Chế độ hoạt động bình thường (M1=0,M1=0)
LoRa nhận dữ liệu người dùng qua cổng Serial và khi nhận dữ liệu đầu tiên, chân AUX sẽ ở mức thấp Sau đó, LoRa sẽ đưa tất cả dữ liệu vào IC RF và khởi động truyền, với chân TX ở mức cao Tại thời điểm này, gói dữ liệu không dây bắt đầu được truyền đi, cho phép truyền tối đa 256 byte dữ liệu Các gói dữ liệu này được gửi qua chế độ 0 và chỉ có thể được nhận bởi các thiết bị LoRa ở chế độ 0 và 1.
Nhận: LoRa mở cổng nhận dữ liệu không dây, Chân AUX sẽ ở mức cao khi nhận xong gói dữ liệu
Chế độ hoạt động báo thức (M0=1, M1=0)
LoRa sử dụng chế độ 0 để truyền dữ liệu, trong đó mỗi gói dữ liệu được gửi đi sẽ kèm theo một mã kích hoạt chế độ wake-up.
Nhận: LoRa hoạt động giống chế độ Nomal
Chế độ hoạt động tiết kiệm pin (M0=0, M1=1)
Truyền: LoRa sẽ không truyền được dữ liệu
LoRa sẽ nhận dữ liệu khi tiếp nhận mã đánh thức ở chế độ 1, và chân AUX sẽ trở lại mức cao sau khi hoàn tất việc nhận gói dữ liệu.
Bảng 2.3: Theo dõi dòng điện khi ở chế độ tiết kiệm pin của nhà sản xuất
92uA 63uA 48uA 39uA 34uA 30uA 27uA
63uA 43uA 34uA 27uA 24uA 21uA 19uA
63uA 43uA 34uA 27uA 24uA 21uA 19uA
Chế độ hoạt động ngủ (M0=1, M1=1)
Truyền: LoRa sẽ không thế truyền tải dữ liệu
Nhận: LoRa sẽ không nhận được dữ liệu
Chế độ “ngủ” này dùng để cấu hình LoRa Thay đổi thông số cài đặt
2.1.4 Giới thiệu về chân AUX
Chân AUX là 1 chân ngõ ra dùng để báo hiệu LoRa có truyền nhận được hay không
Chân AUX sẽ ở mức thấp khi LoRa không có tín hiệu truyền đi hoặc nhận vào
Truyền theo kiếu nối tiếp (Serial )
Hình 2.4: Mô tả hoạt động của chân AUX trong việc truyền dữ liệu
Chân AUX sẽ ở mức 1 và giảm xuống mức 0 khi TX RX bắt đầu quá trình truyền nhận trong khoảng thời gian 1-2ms Sau khi hoàn tất việc truyền hoặc nhận gói dữ liệu, chân AUX sẽ trở lại mức 1.
Cấu hình (khi LoRa ở chế độ ngủ)
Hình 2.5: Mô tả hoạt động của chân AUX khi cấu hình
Chân AUX sẽ ở mức 1 khi LoRa còn trong quá trình cấu hình các thông số hoạt động và sẽ lên mức 1 khi cấu hình xong
- Chân AUX ở mức 0 nếu LoRa đang hoạt động có nghĩa là LoRa ko truyền nhận được
- Khi LoRa truyền nhận, AUX sẽ chuyển mức hoạt động trong 2ms
- Khi chuyển chế độ từ ngủ qua bình thường chân AUX sẽ ở hoạt động mức 0
2.1.5 Các chế độ truyền của LoRa
Chế độ truyền điểm- điểm (Point to Point)
Chế độ truyền điểm-điểm trong hệ thống LoRa cho phép cả hai thiết bị LoRa hoạt động trên cùng một địa chỉ và kênh, không phân biệt thiết bị nào là địa chỉ Host hay địa chỉ thông thường.
Chế độ truyền xác định ( Target)
Trong chế độ truyền cố định, một module có khả năng giao tiếp với module khác, bất kể kênh và địa chỉ khác nhau Để sử dụng chế độ này, cần chọn chế độ chỉ định (Target) trong phần chế độ truyền (Transmit mode).
Khi sử dụng chế độ truyền Target, việc gửi mã yêu cầu kèm theo địa chỉ và số kênh của module LoRa cần kết nối Ví dụ, nếu module LoRa A có địa chỉ 01 và kênh 01 muốn kết nối với module LoRa B có địa chỉ 02 và kênh 02, thì dữ liệu gửi từ module A phải bao gồm địa chỉ và số kênh của module B, cụ thể là: 02 02 C0 .
Hình 2.9: Cấu hình 2 module LoRa ở chế độ Target
Hình 2.10: Truyền dữ liệu theo chuỗi Hex
Hình 2.11: Truyền theo chuỗi được chuyển từ mã Hex theo bảng mã ASCII
Truyền theo chế độ Broadcast
Hình thức truyền Broadcast cho phép một module được cấu hình với địa chỉ FF FF phát dữ liệu đến tất cả các module cùng kênh Để gửi dữ liệu đến một địa chỉ cụ thể, module cần chuyển sang chế độ Target.
Khi chọn chế độ này thì phải chọn chế độ truyền liên tục (Transparent) trong mục chế độ truyền (Transmit mode)
Trong chế độ truyền (Transmit Mode), bài viết này đề cập đến việc sử dụng hai khối cảnh báo (client) kết hợp với một khối xử lý trung tâm (Server).
Các khối cảnh báo sẽ gửi dữ liệu về khối xử lý trung tâm và 2 khối cảnh báo không giao tiếp được với nhau
2.1.6 Giới thiệu về IC SX1278 được dùng trong module LoRa
Giới thiệu IC SX 1278 a Sơ đồ khối
Hình 2.15: Sơ đồ khối IC SX 1278
Các phiên bản sản phẩm được thể hiện qua bảng dưới đây
Bảng 2.4: Các phiên bản của IC SX 1276/77/78/79
Dải tần số Số kênh
Băng tần Tốc độ truyền Độ nhạy
-111 to -148 dBm b Sơ đồ chân IC SX 1278
Hình 2.16: Số chân của IC SX 1278
GIỚI THIỆU VỀ ARDUINO
Arduino là nền tảng điện tử mã nguồn mở, cung cấp phần cứng và phần mềm linh hoạt, dễ sử dụng Nền tảng này phục vụ cho nghệ sĩ, nhà thiết kế, người đam mê và bất kỳ ai muốn tạo ra các đối tượng tương tác với nhau hoặc với môi trường xung quanh.
Arduino là một nền tảng bao gồm một board mạch điện tử với vi xử lý, cho phép kết nối với máy tính qua cổng USB Người dùng có thể sử dụng phần mềm Arduino để viết và tải chương trình lên board, thực hiện các tác vụ theo ý muốn Arduino có thể được ứng dụng để lập trình tương tác với đèn, động cơ, cảm biến và nhiều thiết bị khác.
Arduino Mega 2560 là một board mạch điều khiển mạnh mẽ dựa trên vi điều khiển ATmega2560 của Atmel, cung cấp 54 chân I/O digital, trong đó có 15 chân hỗ trợ PWM, 16 ngõ vào analog và 4 cổng UART Board mạch này được trang bị thạch anh 16MHz, cổng USB để kết nối với máy tính và jack nguồn DC Arduino Mega 2560 tương thích với các shield thiết kế cho Arduino UNO cũng như các phiên bản trước như Duemilanove và Diecimila nhờ vào cấu trúc chân tương tự.
Arduino Mega 2560 nổi bật hơn các board điều khiển trước đây nhờ việc không sử dụng chip FTDI để chuyển đổi tín hiệu từ USB Ngoài ra, còn có các phiên bản khác như Arduino Mega ADK và Arduino DUE, cung cấp nhiều tính năng cao cấp hơn.
Hình 2.18: Board Arduino Mega 2560 Hình trên board Arduino Mega Đối với chúng ta lập trình cho Arduino thì trước tiên quan tâm những thành phần sau:
Arduino Uno là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điều khiển AVRAtmega2560 Cấu tạo chính của Arduino Mega 2560 bao gồm các phần sau:
Arduino Mega có thể được cấp nguồn 5V qua cổng USB hoặc nguồn ngoài với điện áp khuyên dùng từ 7-12V DC, giới hạn từ 6-20V Cấp nguồn bằng pin vuông 9V là lựa chọn hợp lý khi không có nguồn từ cổng USB Lưu ý, nếu cấp nguồn vượt quá giới hạn trên, bạn có thể làm hỏng Arduino UNO.
GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, các chân GND này cần phải được kết nối với nhau để đảm bảo hoạt động ổn định.
Arduino Mega cung cấp hai mức điện áp đầu ra: 5V với dòng tối đa 500mA và 3.3V với dòng tối đa 50mA Để cấp nguồn ngoài cho Arduino Mega, bạn cần kết nối cực dương của nguồn với chân Vin (Voltage Input) và cực âm với chân GND.
Chân IOREF trên Arduino UNO cho phép đo điện áp hoạt động của vi điều khiển, luôn duy trì ở mức 5V Tuy nhiên, không nên sử dụng chân này để lấy nguồn 5V vì chức năng chính của nó không phải là cung cấp điện.
+ RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
Arduino UNO có 14 chân digital cho phép đọc và xuất tín hiệu với hai mức điện áp là 0V và 5V Mỗi chân có dòng vào/ra tối đa là 40mA, và được trang bị các điện trở pull-up từ tích hợp trong vi điều khiển ATmega328, mặc dù các điện trở này không được kết nối mặc định.
- Một số chân Digital có các chức năng đặc biệt như sau:
Chân Serial (6 chân) trên Arduino Uno được sử dụng để truyền (TX) và nhận (RX) dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được coi là một dạng kết nối Serial không dây Nếu không có nhu cầu giao tiếp Serial, bạn nên tránh sử dụng 6 chân này để tiết kiệm tài nguyên.
Chân PWM cho phép xuất xung PWM với độ phân giải 8bit, cung cấp giá trị từ 0 đến 255 tương ứng với điện áp từ 0V đến 5V thông qua hàm analogWrite() Điều này có nghĩa là bạn có thể điều chỉnh điện áp ra ở chân PWM từ 0V đến 5V, khác biệt so với các chân khác chỉ có mức điện áp cố định là 0V và 5V.
Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài các chức năng cơ bản, bốn chân này còn hỗ trợ truyền phát dữ liệu qua giao thức SPI với các thiết bị khác.
Trên board Arduino UNO, có một đèn LED màu cam ký hiệu chữ L, được kết nối với chân số 13 Khi nhấn nút Reset, đèn LED này sẽ nhấp nháy để báo hiệu Nếu người dùng sử dụng chân số 13, đèn LED sẽ phát sáng.
Arduino Mega có 16 chân analog (A0 → A15) với độ phân giải tín hiệu 10bit, cho phép đọc giá trị điện áp trong khoảng từ 0V đến 5V Bằng cách sử dụng chân AREF trên board, bạn có thể cung cấp điện áp tham chiếu, ví dụ như 2.5V, để đo điện áp trong khoảng 0V đến 2.5V mà vẫn giữ độ phân giải 10bit.
+ Đặc biệt, Arduino Mega 2560 có 2 chân SDA và SCL hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
Cổng USB loại B là giao tiếp chính để nạp chương trình từ máy tính vào vi điều khiển, đồng thời cũng hỗ trợ truyền dữ liệu giữa vi điều khiển và máy tính qua giao tiếp Serial.
CÁC LOẠI CẢM BIẾN
2.3.1 Cảm biến nhiệt độ, độ ẩm DHT21
Trong nhiều loại cảm biến nhiệt độ có trên thị trường như LM35, DS 18B20, DHT…
Hình 2.22: Một số loại cảm biến nhiệt độ LM35, DS18B20, DHT11
DHT21 là cảm biến nhiệt độ và độ ẩm chính xác cao do AOSONG sản xuất, với thang đo nhiệt độ theo chuẩn Celsius Sản phẩm được đóng gói sẵn, không cần qua mạch chuyển đổi như LM35, giúp dễ dàng sử dụng.
Bảng 2.6 : Bảng danh sách các cảm biến dòng DHT
Mã sản phẩm Thang đo
DHT11 Nhiệt độ: 0 0 C-50 0 C ±2 0 C Độ ẩm : 20%-95% ±5%
DHT21 Nhiệt độ:-40 0 C-80 0 C ±0,5 0 C Độ ẩm:0-99% ± 3%
DHT22 Nhiệt độ : -40 0 C-80 0 C ± 0,5 0 C Độ ẩm: 0-100% ± 2%
DHT21 là một module cảm biến tích hợp độ ẩm điện dung và nhiệt độ với độ chính xác cao Với kích thước nhỏ gọn và tiêu thụ điện năng thấp, DHT21 còn nổi bật với khả năng chống nhiễu mạnh trong giao tiếp 1 dây và khoảng cách truyền dẫn lên đến 20m.
Hình 2.23: Hình ảnh thực tế của DHT21 Cảm biến DHT21 có 3 dây ra với 3 dây màu đen, đỏ, vàng lần lượt có chức năng sau:
- Dây màu đỏ: cấp nguồn 3,3V~5V
- Dây màu vàng: dây truyền dữ liệu (DATA)
Hình 2.24: Sơ đồ kết nối DHT21 với vi điều khiển
Nguồn cấp nên từ 3,3-5,5V DC Khi nguồn được cấp cho cảm biến thì trong 1s đầu cảm biến sẽ ổn định lại điện áp rồi mới truyền dữ liệu
Giao tiếp giữa MCU và DHT21 chỉ có 1 dây để truyền dữ liệu
DATA bits độ ẩm +16 bits nhiệt độ +8 bits check-sum
Ví dụ: MCU nhận 40 bit từ DHT 21
16 bits độ ẩm 16 bit nhiêt độ 8 bit check sum
Khi MCU phát tín hiệu bắt đầu, DHT 21 sẽ chuyển từ trạng thái chờ sang trạng thái hoạt động và gửi dữ liệu 40 bit về độ ẩm và nhiệt độ Nếu không nhận được tín hiệu bắt đầu từ MCU, DHT 21 sẽ không truyền dữ liệu.
Hình 2.25: DHT 21 truyền dữ liệu lên MCU
Tín hiệu của MCU Tín hiệu của DHT 21
Cảm biến MQ-7 có thế phát hiện khí C0 tập trung tại những nơi khác nhau từ 10-1000ppm
Cảm biến này có độ nhạy cao và thời gian đáp ứng nhanh, cung cấp tín hiệu đầu ra dưới dạng analog và digital Nó hoạt động hiệu quả trong khoảng nhiệt độ từ -10°C đến 50°C và tiêu thụ dòng điện khoảng 150mA tại 5V.
Hình 2.26: Ảnh thực tế của cảm biến MQ-7
Cảm biến khí MQ7 được thiết kế để phát hiện các khí dễ cháy, sử dụng chất bán dẫn SnO2 với độ nhạy thấp trong không khí sạch Khi có mặt các chất gây cháy, độ dẫn điện của cảm biến thay đổi, dẫn đến điện áp đầu ra tăng cao hơn tỷ lệ thuận với nồng độ khí gây cháy xung quanh Đơn vị đo của cảm biến là ppm (10-4%), phản ánh mật độ tương đối của khí trong không khí Tuy nhiên, hướng dẫn của nhà sản xuất không cung cấp thông tin về cách quy đổi giá trị nồng độ này sang điện áp đầu ra.
- Sử dụng chip so sánh LM 393 và MQ-7
- Hai tín hiệu đầu ra ( digital và analog)
- Dải phát hiện từ 10-1000ppm
- Công suất tiêu thụ khoảng 350mW
- Nhiệt độ hoạt động: -10 đến 50oC
MQ-7 là một cảm biến được cấu tạo từ nhiều thành phần, tạo ra một lớp bán dẫn đặc biệt Khi nồng độ các chất cháy cao, lớp bán dẫn này sẽ dẫn điện mạnh, cho phép ngắn mạch hai điểm lại với nhau.
Bảng 2.7 Danh sách các cảm biến khí của Hanwei
MÀN HÌNH LCD 20 X 4
Mạch điều khiển màn hình LCD sử dụng giao thức I2C để giao tiếp với Arduino, cho phép kết nối chỉ với 2 dây, thay vì 8 dây như phương pháp truyền thống.
Hai chân SDA và SCL là 2 chân tín hiệu dùng cho giao tiếp I2C
CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG TRONG HỆ THỐNG
UART là một mạch tích hợp quan trọng cho việc truyền dữ liệu nối tiếp giữa máy tính và thiết bị ngoại vi Nhiều vi điều khiển hiện đại đã tích hợp UART, nhưng do tốc độ và hiệu suất của nó không bằng các giao tiếp mới, các dòng PC và Laptop hiện nay không còn tích hợp cổng UART.
Hình 2.30: Kết nối vi điều khiển với vi điều khiển
Hình 2.31: Kết nối vi điều khiển và máy tính
Giao tiếp SPI và I2C sử dụng một dây truyền dữ liệu và một dây xung clock (SCL) để đồng bộ hóa, trong khi giao tiếp UART không có dây SCL Khi hai vi xử lý giao tiếp qua UART, mỗi vi xử lý tự tạo xung clock cho riêng mình, giúp giải quyết vấn đề đồng bộ.
Hình 2.32: Cách thức truyền UART
START bit chuyển từ 1 xuống 0 để báo hiệu quá trình truyền dữ liệu sắp diễn ra Sau đó là các bit dữ liệu D0-D7, có thể ở mức High hoặc Low tùy thuộc vào dữ liệu Khi dữ liệu đã được truyền xong, Bit Parity sẽ được sử dụng để kiểm tra tính chính xác của dữ liệu (sẽ được giải thích chi tiết hơn trong tài liệu CRC sau này) Cuối cùng, STOP bit là 1, thông báo cho thiết bị rằng quá trình gửi dữ liệu đã hoàn tất Thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu.
Các thông số cơ bản trong truyền nhận UART:
• Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền Phải được cài đặt giống nhau ở gửi và nhận
• Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền
• Start bit: là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến Bit bắt buộc
• Data: dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB
• Parity bit: kiểm tra dữ liệu truyền có đúng không
Stop bit là một hoặc nhiều bit thông báo cho thiết bị rằng quá trình gửi bit đã hoàn tất Thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo dữ liệu được truyền chính xác Bit này là bắt buộc trong quá trình truyền thông.
Các thông số cơ bản trong việc truyền nhận UART của LoRa
Tốc độ truyền Địa chỉ
Thông số sau khi cấu hình Hình 2.33: Thông số cấu hình trong truyền nhận UART của LoRa
SPI, hay Serial Peripheral Interface, là một chuẩn truyền thông nối tiếp tốc độ cao được Motorola phát triển Đây là kiểu truyền thông Master-Slave, trong đó một chip Master điều phối quá trình giao tiếp với các chip Slave, khiến cho việc truyền thông chỉ diễn ra giữa Master và Slave SPI hỗ trợ truyền thông song công (full duplex), cho phép quá trình truyền và nhận dữ liệu diễn ra đồng thời Chuẩn này thường được gọi là "4 dây" vì nó sử dụng bốn đường giao tiếp: SCK, MISO, MOSI và SS.
Trong hệ thống này thì giao tiếp SPI được sử dụng trong giao tiếp giữa Arduino UNO R3 với Arduino Ethernet Shield
Hình 2.34: Sơ đồ chân giao tiếp SPI của Arduino Mega
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
PHÂN TÍCH HỆ THỐNG
- Khi có cháy hay nguy cơ xảy ra cháy hệ thống sẽ gửi báo động cho người dùng
- Có hệ thống hiển thị dữ liệu bằng màn hình LCD 20x4 tại chỗ
- Loa kêu khi có báo động
- Trang web hiển thị dữ liệu từng cảm biến
- Khoảng cách để lắp đặt các trạm với nhau khoảng 200-1000m tùy vào môi trường xung quanh
- Module cảm biến nhiệt độ hoạt động bằng pin với tuổi thọ pin càng lâu càng tốt
- Có thể lắp đặt thực tế
3.1.2 Sơ đồ khối của hệ thống
Khối xử lý trung tâm (Arduino)(trạm 1)
Khối giao tiếp Internet Web
Khối hiển thị ( led, Lcd)
Hình 3.1: Sơ đồ khối của hệ thống
Sơ đồ khối bao gồm các khối chính
- Khối xử lý trung tâm
- Khối hỗ trợ giao tiếp
Chức năng các khối a Khối cảnh báo (client)
Khối cảnh báo có các cảm biến để phát hiện cháy và đưa dữ liệu về khối xử lý trung tâm qua sóng RF
Các cảm biến được sử dụng trong khối cảnh báo để phát hiện cháy là cảm biến khí gas, cảm biến nhiệt độ và độ ẩm (DHT21),…
Dữ liệu từ các cảm biến sẽ được bộ vi xử lý tổng hợp và truyền dữ liệu về khối xử lý trung tâm theo chu kỳ
Khi xảy ra sự cố hoặc mất kết nối với cảm biến, khối cảnh báo sẽ gửi tín hiệu đến khối xử lý, giúp người dùng nhanh chóng khắc phục vấn đề.
Bộ vi xử lý có vai trò quan trọng trong việc xác lập chế độ hoạt động của mạch thu phát RF, bao gồm các chế độ như hoạt động bình thường, báo thức, tiết kiệm pin và chế độ ngủ Khối xử lý trung tâm (Server) cũng đóng góp vào hiệu suất và quản lý các chức năng này.
Khối xử lý trung tâm sử dụng mạch Arduino Mega để xử lý các dữ liệu từ các khối cảnh báo gửi về qua mạch thu phát RF LoRa
Khi xảy ra sự cố như cháy, khối xử lý trung tâm sẽ tổng hợp dữ liệu về khu vực bị ảnh hưởng và phát tín hiệu báo cháy đến người sử dụng.
Truyền dữ liệu và hiển thị thông số của các khối cảnh báo lên Web Server c Khối hiển thị
Hiển thị các dữ liệu lên web,lcd
Cảnh báo khi có sự cố (led,loa) d Khối báo động
Báo tín hiệu khi có sự cố như chuông Đèn báo sự cố e Giao diện người dùng
Trong khối này có khối giao tiếp Internet
Khối giao tiếp Internet người sử dụng có thể truy cập để xem thông tin của các khối cảnh báo f Khối nguồn
Cung cấp nguồn cho hệ thống.
THIẾT KẾ PHẦN CỨNG
Trong thiết kế phần cứng, chúng tôi tập trung vào việc tối giản hóa linh kiện, lựa chọn các thành phần phù hợp nhằm kéo dài tuổi thọ pin Đối với các thiết kế tiêu tốn năng lượng, chúng tôi sử dụng hai nguồn chính và phụ để đảm bảo hoạt động ổn định trong nhiều điều kiện khác nhau.
Khối cảnh báo có nhiệm vụ thu thập dữ liệu nhiệt độ, độ ẩm và nồng độ khí
CO, gas của môi trường xung quanh và truyền về trạm xử lý trung tâm
Khối cảnh báo được lắp đặt tại những nơi cần theo dõi, cách xa khu dân cư nên vấn đề nguồn cung cấp được quan tâm
Trạm cảnh báo có thể sử dụng nhiều nguồn cung cấp năng lượng như pin và pin mặt trời, vì vậy việc lựa chọn nguồn nuôi là một trong những yếu tố quan trọng cần được chú ý Sơ đồ khối của khối cảnh báo thể hiện cấu trúc và cách thức hoạt động của hệ thống này.
Cảm biến nhiệt độ, độ ẩm (DHT21)
Cảm biến nồng độ khí gas, CO
Khối xử lý dữ liệu cảm biến( tổng hợp và truyền )
Hình 3.2: Sơ đồ khối của khối cảnh báo
Khối xử lý của hệ thống cảnh báo sẽ tổng hợp dữ liệu từ các cảm biến DHT21 và MQ7, cho phép xử lý và truyền tải thông tin theo chu kỳ đã được định sẵn.
Khi có sự cố xảy ra, khối xử lý sẽ truyền dữ liệu ngay lập tức
Cảm biến MQ7 sở hữu chân DO, cho phép xuất tín hiệu Digital với hai mức 0 và 1 Khi nồng độ khí vượt quá ngưỡng cho phép, chân DO sẽ chuyển sang mức 1, kích hoạt chân ngắt ngoài của Arduino (chân 2) để phát tín hiệu cảnh báo.
Hình 3.3: Vị trí chân DO của cảm biến và biến trở điều chỉnh ngưỡng ngõ ra
` b) Lưu dồ thuật toán của khối cảnh báo
Các cảm biến bắt đầu hoạt động
Xử lý dữ liệu từ các cảm biến và cho phép khối truyền hoạt động
Hình 3.4: Lưu đồ thuật toán của khối cảnh báo c) Phần cứng
Mỗi trạm cảnh báo sử dụng một bo mạch điều khiển Arduino Nano, kèm theo cảm biến DHT21, cảm biến MQ7 và module thu phát sóng RF Ưu điểm nổi bật của Arduino Nano là kích thước nhỏ gọn, giúp cho mạch của trạm cảm biến trở nên dễ dàng lắp đặt và tiết kiệm không gian.
Do khối cảnh báo dùng đa số là module nên mạch in chỉ là mạch kết nối các module lại với nhau
Hình 3.5 : Sơ đồ nguyên lý của khối cảnh báo
Sơ đồ mạch in và 3D của khối cảnh báo thể hiện rõ ràng vị trí kết nối của module nguồn 5V (LM 2596), được cung cấp từ Jack cắm DC với nguồn DC tối đa là 40V.
Ngoài ra nếu dùng Pin thì ta có thế cấp cho mạch qua chân Vin của Arduino để hoạt động với mức giới hạn điện áp từ (7-12V)
Hình 3.7: Khối cảnh báo sau khi thi công
3.2.2 Trạm xử lý trung tâm (Server)
Khối Server có chức năng tổng hợp và xử lý dữ liệu từ các trạm cảnh báo, sau đó hiển thị thông tin cho người sử dụng, giúp dễ dàng theo dõi nguồn gốc dữ liệu từ từng trạm.
Khối RF Khối xử lý trung tâm (Trạm 1) Khối Ethernet
Khổi hiển thị, cảnh báo sự cố
Hình 3.8: Sơ đồ khối của khối xử lý trung tâm Khối Server xử lý các dữ liệu của các cảm biến từ các khối cảnh báo qua khối
Khối xử lý trung tâm sẽ tiến hành so sánh với các điều kiện ban đầu và gửi tín hiệu cảnh báo cho người dùng khi phát hiện sự cố Đồng thời, nó cũng hiển thị thông tin cảm biến của các khối cảnh báo trên Web Server.
The server unit features multiple stacked modules, including the Arduino Mega2560 processing module, an Arduino Ethernet Shield for Internet connectivity, and various connectors for interfacing with RF LoRa modules, LCD displays, and warning LEDs.
` b) Lưu đồ thuật toán của Khối Server
Nhận dữ liệu từ trạm cảnh báo
Xử lý dữ liệu nhận được
So sánh với điều kiện cài đặt sẵn (T>50oC và G >170ppm)
Hiển thị lên Web Sever Đ
Xuất tín hiệu ngõ ra, cảnh báo sự cố
Hình 3.9 : Lưu đồ thuật toán của trạm xử lý trung tâm c) Phần cứng
The server unit utilizes an Arduino Mega control board for management, an Ethernet Shield for internet connectivity, an RF module for data transmission and reception, a 20x4 LCD for direct display, and a circuit board to interconnect all modules.
Khối Server được cấu thành từ nhiều module, do đó cần một nguồn điện ổn định trong thời gian dài Để đảm bảo điều này, mạch thi công sử dụng một module chuyển đổi hạ áp (LM2596) với đầu vào DC tối đa là 40V và đầu ra ổn định ở mức 5V, cung cấp điện cho khối Server.
Hình 3.10: Sơ đồ nguyên lý khối Server
Hình 3.11: Sơ đồ mạch in và mô phỏng 3D của mạch
Hình 3.12: Trạm xử lý trung tâm sau khi thi công
Trong mạch thi công có gắn loa, led và 1 relay giúp ra khởi động khối báo động bên ngoài (loa AC) giúp báo hiệu cho người sử dụng
Do hệ thống được kết nối nhiều module với nhau nên cần nguồn ổn định để cung cấp cho hệ thống
Mạch hạ áp dùng IC LM2596 được dùng cho hệ thống có khả năng giảm áp từ 35V xuống 5V với dòng ra tối đa là 3A
Hình 3.13: Mạch hạ áp LM2596
Hình 3.14: Sơ đồ nguyên lý mạch hạ áp LM2596
THI CÔNG
4.1.1 Thi công trạm cảnh báo
Có 2 trạm cảnh báo với sơ đồ nguyên lý giống nhau nhưng khác nhau địa chỉ khi lập trình
Trạm cảnh báo có 2 loại cảm biến để thu thập dữ liệu môi trường xung quanh và báo về cho người dùng
Module RF dùng để truyền dữ liệu
Arduino Nano dùng để tổng hợp và truyền dữ liệu qua module RF
Mạch hạ áp LM2596 được sử dụng để chuyển đổi điện áp xuống 5V, phục vụ cho việc cung cấp nguồn cho khối cảnh báo, đảm bảo nguồn điện ổn định hoặc sử dụng năng lượng từ mặt trời.
Khối cảnh báo có Jack nguồn Vin để khối cảnh báo có thể dùng nguồn pin từ 4.5V- 12V
Hình 4.1 Kiểm tra hoạt động khối cảnh báo
Hình 4.2: Khối cảnh báo hoàn chỉnh
Hình 4.3: Khối cảnh báo hoạt động
Hình 4.4: Mô phỏng đọc cảm biến và chuỗi dữ liệu sẽ truyền đi
Chuỗi dữ liệu A01g10071t29.30h72.40{0A} bắt đầu bằng ký tự A01, cho thấy dữ liệu được truyền từ trạm 2 (client 1) về khối xử lý trung tâm (trạm 1) Tiếp theo là thông tin từ các cảm biến, và ký tự cuối cùng trong chuỗi là hex {0x0A}, tương ứng với ký tự “\n” (new line) trong lập trình C, được dùng để kết thúc chuỗi dữ liệu.
4.1.2 Thi công trạm xử lý trung tâm
Trạm xử lý trung tâm tổng hợp và so sánh dữ liệu từ các trạm cảnh báo với điều kiện ban đầu đã được lập trình, sau đó hiển thị thông tin lên Web Server và màn hình LCD Đồng thời, hệ thống cũng xuất tín hiệu cảnh báo khi phát hiện sự cố.
Trạm xử lý trung tâm dùng mạch Arduino Mega2560 vì có kết nối với Ethernet Shield để hiển thị Web Server
Trong trạm xử lý trung tâm có LCD 20x4 để hiển thị dữ liệu trực tiếp
Khối xử lý trung tâm được gắn kết từ các module với nhau với nguồn hoạt động từ 5V-12V
Hình 4.5: Kiểm tra hoạt động khối trung tâm
Hình 4.6: Khối xử lý trung tâm hoàn chỉnh
Hình 4.7: Hộp điều khiển trung tâm
Trong các điều kiện cho phép nên đã cho vận hành thử hệ thống để đánh giá và kiểm tra sự ổn định của hệ thống
Hình 4.8 Vận hành thử hệ thống
Hệ thống được kiểm tra bằng cách kết nối các cảm biến, Arduino Mega và module RF qua testBoard, nhằm phát hiện lỗi và đánh giá độ chính xác cũng như sự ổn định của hệ thống.
Trong hệ thống Lora, chế độ hoạt động bao gồm chế độ “bình thường” và chế độ truyền broadcast Hai trạm cảnh báo sẽ liên tục gửi dữ liệu về trạm xử lý trung tâm theo chu kỳ đã được xác định trước.
Trong hệ thống, trạm xử lý trung tâm sẽ cập nhật nhiệt độ Độ ẩm với chu kỳ là 5 phút
Trong chu kỳ hoạt động, nếu trạm cảnh báo phát hiện sự cố như cháy nổ, nó sẽ liên tục gửi dữ liệu về trạm xử lý trung tâm mỗi giây và phát ra tín hiệu cảnh báo.
Hình 4.9 Hệ thống chạy thử và hiển thị lên Web Server
Khi hệ thống hoạt động không tránh khỏi các sự cố như mất kết nối giữa Client và Server, hoặc các cảm biến bị hư hỏng
Hình 4.10 Kiểm tra hệ thống khi bị mất kết nối với các trạm
Khi trạm cảnh báo mất kết nối với trạm xử lý trung tâm sẽ hiển thị thông tin dữ liệu trên màn hình hiển thị là 0, 0 và 0
Hệ thống được kiểm tra độ chính xác thông qua phần mềm mô phỏng Heculer, cho thấy dữ liệu từ trạm cảnh báo được truyền về trạm xử lý trung tâm với thời gian đáp ứng nhanh chóng và độ chính xác cao.
Hình 4.12 Giao diện bảng theo dõi trạng thái khi hoạt động mà chưa kết nối các trạm cảnh báo
KẾT QUẢ VÀ THỰC NGHIỆM
KẾT QUẢ
5.1.1 Những vấn đề nghiên cứu
Nghiên cứu về module RF LoRa
Nghiên cứu về các board Arduino
Nghiên cứu về các hệ thống cảnh báo nguy cơ cháy và báo cháy
Nghiên cứu về ngôn ngữ HTML
Nghiên cứu về kết nối giữa trang web HTML và Arduino thông qua Ethernet Shield
Nghiên cứu xây dựng hệ thống báo cháy thông minh phù hợp với thực tế
5.1.2 Những vấn đề hoàn thành
Xây dựng thành công hệ thống báo cháy sử dụng công nghệ truyền thông LoRa
Thiết kế và tối ưu tới mức có thể được tuổi thọ pin bằng việc kết hợp phần cứng và phần mềm trên một số thiết kế.
THỰC NGHIỆM
5.2.1 Kiểm tra khoảng cách thực tế của module LoRa
Trên lý thuyết của nhà sản xuất thì module LoRa SX 1278 E32-TTL-100 thì có thể truyền được với khoảng cách 3000m
Nhưng trong thực nghiệm trong khu dân cư thì kết quả chỉ được khoảng 200m-300m