TRẠM THÔNG TIN THỜI TIẾT tự ĐỘNG (có code) ................................ TRẠM THÔNG TIN THỜI TIẾT tự ĐỘNG (có code) ................................ TRẠM THÔNG TIN THỜI TIẾT tự ĐỘNG (có code) ................................ TRẠM THÔNG TIN THỜI TIẾT tự ĐỘNG (có code) ................................ TRẠM THÔNG TIN THỜI TIẾT tự ĐỘNG (có code) ................................ TRẠM THÔNG TIN THỜI TIẾT tự ĐỘNG (có code) ................................
Trang 1TRẠM THÔNG TIN THỜI TIẾT TỰ
ĐỘNG
Trang 2DANH MỤC CÁC BẢNG BIỂU VIII
DANH MỤC CÁC TỪ VIẾT TẮT IX
CHƯƠNG 1 TỔNG QUAN TRẠM THÔNG TIN THỜI TIẾT TỰ ĐỘNG 1
1.1 LÝ DO CHỌN ĐỀ TÀI 1
1.2 PHẠM VI THỰC HIỆN CỦA ĐỀ TÀI 1
1.3 KHẢ NĂNG ỨNG DỤNG RỘNG RÃI CỦA AWS 2
1.4 CƠ SỞ LÝ THUYẾT 2
1.4.1 Giao thức TCP/IP 2
1.4.2 Truyền thông nối tiếp UART 3
CHƯƠNG 2 XÂY DỰNG MÔ HÌNH TRẠM 5
Trang 33.2.1 Giao diện phần mềm GUI 31
3.2.2 Sơ đồ giải thuật 38
3.3 DỰ BÁO THỜI TIẾT 42
3.3.1 Vai trò dự báo thời tiết 42
3.3.2 Nguyên lý dự báo thời tiết 44
3.3.3 Phân tích số liệu thời tiết dựa trên quan trắc 46 3.3.4 Ứng dụng mạng Nơ-ron trong dự báo thời tiết 47
CHƯƠNG 4 THI CÔNG MÔ HÌNH TRẠM 52
Trang 4Hình 2-1 Mô hình hoạt động tổng quan hệ thống thu nhận thông tin thời tiết 5
Hình 2-2 Sơ đồ khối hệ thống trạm 6
Hình 2-3 Cảm biến DHT21 7
Hình 2-4 Đo mực nước bằng siêu âm 8
Hình 2-5 Đo lượng nước bằng cảm biến lưu lượng 9
Hình 2-6 Cấu tạo máng mưa nhỏ giọt 10
Hình 2-7 Cảm biến lưỡi gà 10
Hình 2-8 Cảm biến mưa 11
Hình 2-9 Cảm biến đo tốc độ gió SF-01 12
Hình 2-10 Mặt cắt trục cảm biến tốc độ gió 13
Hình 2-11 Cảm biến hiệu ứng trường Hall 14
Hình 2-12 Encoder 14
Hình 2-13 Cánh gió điều hướng 15
Hình 2-14 Xung vuông 2 kênh phân biệt chiều quay 15
Hình 2-15 Cảm biến cường độ sáng BH1750 16
Hình 2-16 So áp sử dụng opam LM393 17
Hình 2-17 Cảm biến áp suất khí quyển BMP180 17
Hình 2-18 ESP8266 18
Hình 2-19 Arduino Mega 2560 board trung tâm 19
Hình 2-20 Arduino UNO board phụ 19
Hình 2-21 Bộ chuyển nguồn 21
Hình 2-22 Mạch nguồn 5V-3A 22
Hình 3-1 Quy trình xử lý của Aduino trung tâm 23
Hình 3-2 Sơ đồ khối hướng đi tín hiệu 24
Hình 3-3 Chuỗi thông tin sau tính toán từ Arduino 25
Hình 3-4 Tính toán lượng mưa trên Arduino 26
Trang 5Hình 3-8 Giao diện chính phần mềm 31
Hình 3-9 Cụm gió 33
Hình 3-10 Cụm nhiệt độ 33
Hình 3-11 Cụm độ ẩm, áp suất khí quyển 34
Hình 3-12 Cụm lượng mưa 34
Hình 3-13 Cụm ánh sáng 35
Hình 3-14 Cụm áp suất khí quyển 35
Hình 3-15 Cụm độ cao theo mực nước biển 35
Hình 3-16 Cụm cài đặt 35
Hình 3-17 Cụm thống kê 37
Hình 3-18 Phần giới thiệu 37
Hình 3-19 Quy trình hoạt động của phần mềm máy chủ 38
Hình 3-20 Quy trình nhận gói tin 38
Hình 3-21 Tách và khôi phục dữ liệu ban đầu 39
Hình 3-22 Mô hình mạng nơ-ron 49
Hình 3-23 Cấu trúc mạng nơ-ron 49
Hình 3-24 Hàm chuyển đổi 50
Hình 3-25 Giải thuật dự báo 51
Hình 4-1 Mô hình tổng quan hệ thống 52
Trang 6Bảng 2 Bảng tính hướng gió 40
Bảng 3 Bảng quy định cấp gió ở Việt Nam 41
Bảng 4 Bảng Độ ẩm, nhiệt độ thích hợp với con người 44
Bảng 5 Bảng phân tích dự báo thời tiết 47
Trang 7UART Universal Asynchronous Receiver – Transmitter
TCP/IP Transmission Control Protocol / Internet Protocol
I2C Inter Integrated Circuit
COM communication
ANN Artificial Neural Networks
AWS Automatic Weather Station
TX Transmitter
RX Receiver
LSB least significant bit
MSB most significant bit
DC direct current
EEPROM Electrically Erasable Programmable Read-Only Memory
Trang 8CHƯƠNG 1 TỔNG QUAN TRẠM THÔNG TIN THỜI TIẾT TỰ
ĐỘNG
1.1 Lý do chọn đề tài
Mỗi ngày, hàng trăm ngàn trung tâm dự báo thời tiết trên toàn thế giới đang làmnhiệm vụ thu thập dữ liệu sự biến đổi thời tiết, sự di chuyển các khối khí áp từ đóphân tích đưa ra cảnh báo để người dân tìm cách ứng phó, thích nghi với thời tiếthợp lý Từ lâu, bản tin thời tiết hàng ngày đã quá quen thuộc với mỗi người, nhưmột phần không thể thiếu trong đời sống thường nhật
Trung bình mỗi năm Việt Nam hứng chịu từ 10-15 cơn bão (VD: trong năm 2017Việt nam đón nhận 16 cơn bão ) Dù đã được cảnh báo từ sớm tuy nhiên chỉ khibão càng quét qua thì lúc đó người ta mới thấy được mức độ tàn phá gây ra của nó,những hậu quả vô cùng nặng lên người dân đặc biệt biệt là nông dân và ngư dân khi
mà hoạt động sản xuất phụ thuộc rất nhiều vào biến đổi thời tiết, khí hậu
Hệ thống dự báo thời tiết ở Việt Nam còn yếu kém Số lượng trạm quan trắc ít, côngnghệ dự báo còn thấp
Thấu hiểu sự khó khăn của người dân mỗi mùa mưa, bão nhằm hạn chế tối đa táchại của thời tiết thì công tác dự báo phải đặc lên hàng đầu và xứng đáng nhận sựđầu tư công nghệ, hiện đại hóa trạm dự báo thời tiết còn rất “thủ công” ở Việt Nam.TRẠM THÔNG TIN THỜI TIẾT TỰ ĐỘNG ra đời vì lý do ấy
1.2 Phạm vi thực hiện của đề tài
Trạm thông tin thời tiết tự động (tên tiếng Anh Automatic Weather Station gọi tắtAWS) là một trạm thu thập dữ liệu về các điều kiện thời tiết gửi về trung tâm dựbáo thông qua internet từ đó trung tâm phân tích số liệu và đưa dự báo thời thời tiết
Các điều kiện thời tiết trạm có thể thu thập:
Nhiệt độ
Trang 9AWS hoạt động xuyên suốt 24/24, liên tục cập nhật dữ liệu về trung tâm Dựa vào
số liệu thu thập được từ trạm máy chủ trung tâm phân tích số liệu thống kê và đưakết quả dự báo thời tiết trong vài giờ tiếp theo
1.3 Khả năng ứng dụng rộng rãi của AWS
Chi phí sản xuất thấp nên việc nhân rộng trạm AWS tăng mật độ trạm quantrắc thời tiết hiện nay khá dễ dàng, đặc biệt ở khu vực vùng cao khó khăn vềđiều kiện kính tế Trạm có thể đặt ở khu dân cư với mục đích dự báo thời tiếthoặc quy mô hộ gia đình, nông trại với nhu cầu chỉ cần đo đạc một số yếu tốthời tiết cơ bản
AWS có thể chạy độc lập mà không cần nguồn điện áp dân dụng và khả năngkết nối từ xa thông qua kết nối internet nên thích hợp lắp đặt ở khu vực vùngsâu vùng xa, miền núi, hải đảo hay trên thuyền…
Hướng phát triển tiếp theo AWS có thể thu thập dữ liệu lưu trữ ngoại tuyến
và khả năng kết nối với mạng lưới hệ thống dự báo thời tiết toàn cầu
1.4 Cơ sở lý thuyết
1.4.1 Giao thức TCP/IP
Giao thức kiểm soát truyền tải (Transmission Control Protocol - TCP) và Giao thức Internet (Internet Protocol - IP)
Trang 10TCP/IP ban đầu được Vint Cerf và Bob Kahn xây dựng theo hợp đồng tại Bộ Quốc phòng Mỹ TCP/IP là một chuẩn phổ biến mà các mạng nội bộ và diện rộng có thể giao tiếp, cho phép các máy tính kết nối với nhau và cho các ứng dụng để gửi dữ liệu đi và về.
Có 4 lớp trừu tượng khác nhau trong TCP/IP, và mỗi lớp có một bộ giao thứcriêng Các lớp này gồm:
Lớp kết nối (link layer) - Đây là lớp thấp nhất trong ngăn TCP/IP và là một nhóm phương thức vận hành trên một kết nối của máy chủ, thường được biết đến là Ethernet
Lớp Internet (IP) - Đây là lớp kết nối các mạng nội bộ với nhau
Lớp truyền tải (transport layer) (TCP) - Đây là lớp điều khiển giao tiếp máy chủ tới máy chủ
Lớp ứng dụng (application layer) - Lớp ứng dụng là một tập hợp các giao thức cụ thể giao tiếp dữ liệu trên một lớp quá trình tới quá trình
1.4.2 Truyền thông nối tiếp UART
UART là viết tắt của Universal Asynchronous Receiver – Transmitter UARTđược tích hợp trên hầu hết vi điều khiển và PC/laptop với tên gọi cổng COM,tốc độ truyền nhận trong khoảng từ 9600 - 200000 baud Để đồng bộ tốc độ truyền thì mỗi vi điều khiển sẽ tạo xung clock của nó theo tốc độ baudrate quy định khi lập trình
Cách thức truyền dữ liệu bằng UART
Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi
đi, sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit
Trang 11Hình TỔNG QUAN TRẠM THÔNG TIN THỜI TIẾT TỰ ĐỘNG-1 Cấu trúc một
chuỗi thông tin truyền đi
Khi ở trạng thái chờ mức điện thế ở mức 1 (high) Khi bắt đầu truyền START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu sắp xảy ra Sau START bit là đến các bit dữ liệu D0-D7 Cuối cùng là STOP bit là 1 báo cho thiết bị rằng các bit đã được gửi xong Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm báo tính đúng đắn của dữ liệu
Các thông số cơ bản trong truyền nhận UART:
Baundrate (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ướcsau đó đến bit MSB
Parity bit : kiểm tra dữ liệu truyền có đúng không
Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúngđắn của dữ liệu
Trang 12CHƯƠNG 2 XÂY DỰNG MÔ HÌNH TRẠM2.1 Cấu trúc hệ thống AWS
Hình XÂY DỰNG MÔ HÌNH TRẠM-2 Mô hình hoạt động tổng quan hệ thống thu
nhận thông tin thời tiết
Trạm thông tin thời tiết AWS trong quá trình hoạt động, trạm thu thập cácyếu tố thời tiết, thông tin được gửi về máy chủ thông qua 2 phương thức sau:
Thông qua Serial Port Communication: Gọi tắt cổng COM của trạm vớimáy tính Trên phần mềm quản lý được lập trình bằng GUI của phầnmềm Matlab sẽ truy xuất dữ liệu của trạm thu thập được hoặc cấu hình lạitrạm thông qua Arduino IDE
Thông qua internet: Dữ liệu liên tục được cập nhật gửi về máy chủ có càiphần mềm quản lý trạm
Trang 13Hình XÂY DỰNG MÔ HÌNH TRẠM-3 Sơ đồ khối hệ thống trạm
Chiều tín hiệu cảm biến
Kết nối RX
Kết nối TX
Cấu trúc AWS gồm 4 phần cơ bản:
Thu thập dữ liệu từ cảm biến
o Cảm biến nhiệt độ / độ ẩm DHT21
o Cảm biến cường độ sáng BH1750
o Tốc độ gió dựa trên cảm biến trường Hall
o Lượng mưa dựa trên cảm biến lưỡi gà
o Hướng gió dựa trên Encoder 2 kênh A, B
o Cảm biến áp suất khí quyển BMP180
TRUNG TÂM XỬ LÝ
TRUNG TÂM XỬ LÝ
HƯỚNG GIÓNHIỆT ĐỘ,
CƯỜNG ĐỘ SÁNG
TRUYỀN THÔNG
TRUYỀN THÔNG
KHỐI NGUỒNKHỐI NGUỒN
Trang 14 Bộ xử lý trung tâm
o Board ARDUINO Mega 2560
o Board ARDUINO Uno R3
Trang 15Hình XÂY DỰNG MÔ HÌNH TRẠM-4 Cảm biến DHT21
Phương pháp đo lượng mưa thủ công: Nếu lấy một dụng cụ nào đó, có hình trụ, đặt
ở ngoài trời để đo lượng mưa thì chiều dày của lớp nước mưa đo được trong dụng
cụ đo đó chính là lượng mưa Dụng cụ đo lượng mưa được gọi là vũ lượng kế.Vậy
để tự động đo lượng mưa trong vũ lượng kế ta đi đo thể tích của nước mưa thu được
có trong vật chứa
Các cách xác định thể tích nước trong vật chứa:
Dùng cảm biến siêu âm với phao nổi
Trang 16Hình XÂY DỰNG MÔ HÌNH TRẠM-5 Đo mực nước bằng siêu âm
Thành phần:
o Cảm biến siêu âm đặt trên miệng bồn chứa nước mưa
o Phao nằm trên bề mặt nước và dâng lên hạ xuống theo mực nước
Nguyên lý:
o Cảm biến siêu âm phát ra siêu âm gặp phao phản xạ lại và thu về từđầu bên kia cảm biến dựa vào thời gian có thể tính toán được khoảngcách từ cảm biến đến phao
Khuyết điểm:
o Sai số cảm biến lớn 0.3-0.7cm
o Nước trong bình chứa không tự xả ra khi đầy nên yêu cầu thiết kế bộ van xả tự động Tuy nhiên van xả chỉ áp dụng được khi áp lực nước lớn
Dùng cảm biến lưu lượng nước
Trang 17Hình XÂY DỰNG MÔ HÌNH TRẠM-6 Đo lượng nước bằng cảm biến lưu
Phương pháp nhỏ giọt áp dụng trong vũ lượng kế tự ghi:
Hình XÂY DỰNG MÔ HÌNH TRẠM-7 Cấu tạo máng mưa nhỏ giọt
Trang 18Thể tích nước hứng tối đa trên máng: ½ x1x3x1.5mm xấp xỉ 2ml
Cấu tạo một một máng mưa nhỏ giọt gồm có:
o Nam châm tròn được gắn trên đỉnh máng
o Máng nước bập bênh được cố định bởi trục ngang như hình 2-6
o Hai rãnh thoát nước khi máng nước đầy sẽ thoát ra từ đây
o Hai nút vặn để độ chỉnh độ ngã của máng theo mức nước mưahứng được
o Phía trên cùng là quặn hứng nước và ống nhỏ giọt
o Cuối cùng phần cảm biến lưỡi gà đặt cánh nam châm một khoảng3-4cm
Hình XÂY DỰNG MÔ HÌNH TRẠM-8 Cảm biến lưỡi gà
Trang 19tính một lần đếm trong Arduino Nước chứa trong máng từ từ chảy ra
lỗ thoát
o Nước mưa tiếp tục đổ về qua ống dẫn nhưng ở phần bên kia mángmưa, khi đủ lượng nước máng ngã về bên kia làm cho nữa máng bênnày xa lưỡi gà, cảm biến trở về trạng thái chờ kết thúc một chu trìnhđếm
Trang 20 Chức năng cảm biến mưa đây là phần phụ trong phần đo đạc lượng mưamục đích cảm biến là xác định chắc chắn có mưa hay không vì cảm biếncường độ sáng chỉ đo được mức sáng
Ngoài ra cảm biến mưa còn giúp xác định hiện tượng mưa cám hoặc mưaphùn, mưa nhỏ
2.2.3 Đo vận tốc gió
Cảm biến được sản xuất phân phối ở Trung Quốc nên thiếu tài liệu và phần mềm hỗtrợ Vì lý do đó tác giả chỉ sử dụng phần vỏ, loại bỏ đi tất cả mạch điện tử bên trong
và thay thế bằng cảm biến trường Hall
Hình XÂY DỰNG MÔ HÌNH TRẠM-10 Cảm biến đo tốc độ gió SF-01
Trang 21 Vỏ cảm biến gồm 3 cánh quạt,ở giữa 2 cánh gió lệch nhau 1200.
Mỗi đầu cánh gió là nữa bán cầu tròn đảm bảo trục chỉ xoay theomột chiều ngược kim đồng hồ nếu nhìn từ trên xuống dưới
Hình XÂY DỰNG MÔ HÌNH TRẠM-11 Mặt cắt trục cảm biến tốc độ gió
Đây là mặt cắt từ trên xuống của trục cánh quạt, bên trong được lắp 8 đầu namchâm cực nam hướng vào trong
Trang 22Hình XÂY DỰNG MÔ HÌNH TRẠM-12 Cảm biến hiệu ứng trường Hall
Cảm biến hiệu ứng trường Hall với đầu dò 3114E tín hiệu đầu ra cảm biến dạngDigital, khi đầu cảm biến tiến lại gần cực nam của nam châm (0.2-0.4cm) thì cảmbiến sẽ có tín hiệu Cứ mỗi 8 lần cảm biến có tín hiệu cánh quạt đi hết được mộtvòng
2.2.4 Đo hướng gió
Hình XÂY DỰNG MÔ HÌNH TRẠM-13 Encoder
Trang 23Trên hình là Encoder 2 kênh A,B đầu ra 400 xung Hướng gió được xác định trêntheo góc 00 – 3600 nên 400 xung là phù hợp với tiêu chí đó.
Trục phía trên Encoder gắn cánh quạt điều hướng theo hướng gió
Hình XÂY DỰNG MÔ HÌNH TRẠM-14 Cánh gió điều hướng
Hình XÂY DỰNG MÔ HÌNH TRẠM-15 Xung vuông 2 kênh phân biệt chiều quay
Chiều thuận đối với kênh B xung vuông cạnh lên, ở kênh A là mức cao
Chiều nghịch đối với kênh B xung vuông cạnh lên, ở kênh A là mức thấp
Trang 242.2.5 Cường độ sáng
Hình XÂY DỰNG MÔ HÌNH TRẠM-16 Cảm biến cường độ sáng BH1750
Thông số cảm biến:
Điện áp: 3.3VDC
SDA, SCL kết nối I2C của ARDUINO
Cảm Biến Cường Độ Ánh Sáng BH1750 là cảm biến đo cường độ ánh sáng mạnh yếu từ đó tính toán được trời có mây nắng hay âm u
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 cảm biến BH1750 cho dữ liệu đo ra trực tiếp với dạng đơn vị là Lux
Cường độ được tính như sau:
Ban đêm: 0.001 - 0.02 lx
Trời sáng trăng: 0.02 - 0.3 lx
Trời mây trong nhà: 5 - 50 lx
Trời mây ngoài trời: 50 - 500 lx
Trời nắng trong nhà: 100- 1000 lx
Các cảm biến lưỡi gà, hiệu ứng Hall, nhận biết mưa đều sử dụng LM393 xuất tín hiệu số low (0V), high (5V)
Trang 25Hình XÂY DỰNG MÔ HÌNH TRẠM-17 So áp sử dụng opam LM393
Theo biểu diễn trong ký hiệu mạch so sánh với V1 ở ngõ vào thuận (đọc
từ cảm biến) :
o Nếu V1 > V2, Vout là logic 1 (high)
o Nếu V1 < V2, Vout là logic 0 (low)
2.2.6 Áp suất khí quyển
Hình XÂY DỰNG MÔ HÌNH TRẠM-18 Cảm biến áp suất khí quyển BMP180
Cảm biến áp suất khí BMP180 tích hợp áp kế số kích thước nhỏ, chuẩn giao tiếp I2C Sử dụng điện áp 3.3V dòng tiêu thụ 0.3uA. Sử dụng đo áp suất khí quyển từ
đó tính toán độ cao của trạm so với mực nước biển Cũng như sự thay đổi áp suất khí quyển (thay đổi khí áp, hình thành bão hoặc ấp thấp…) BMP180 được kết nối với Arduino phụ
Trang 262.2.7 Truyền thông
Hình XÂY DỰNG MÔ HÌNH TRẠM-19 ESP8266
Xuất hiện vào tháng 8 năm 2014 module ESP8266 do AI-Thinker sản suất sử dụng chip ESP8266 giá rẻ được đánh giá rất cao cho đến nay đối với các ứng dụng internet of thing (IoT) thông qua kết nối Wifi Với ưu điểm là kích thước nhỏ, giá thành rẻ nhiều tính năng hữu ích Module cho phép các vi điều khiển kết nối với mạng Wi-Fi và thực hiện các kết nối TCP / IP đơn giản sử dụng các tập lệnh AT thông dụng Kết nối dễ dàng với những vi điều khiển board mạch tích hợp UART
Thông số kỹ thuật:
o Wifi 802.11 b/g/n, Wi-Fi Direct (P2P), soft-AP
o Tích hợp giao thức TCP / IP stack
o PLLs tích hợp, quản lý, DCXO và các đơn vị quản lý điện năng
o Công suất đầu ra 19.5dBm ở chế độ 802.11b
o Giao tiếp SDIO 1.1 / 2.0, SPI, UART
o Thức dậy và truyền tải các gói dữ liệu trong <2ms
o Chế độ chờ tiêu thụ điện năng <1.0mW (DTIM3)
2.2.8 Bộ vi xử lý trung tâm
Vấn đề vi xử lý và kết nối hệ thống yêu cầu:
Trang 27 Với só lượng 6 cảm biến:
o 5 chân Digital
o 2 bộ chân giao tiếp I2C
o 3 bộ chân UART
Hình XÂY DỰNG MÔ HÌNH TRẠM-20 Arduino Mega 2560 board trung tâm
Hình XÂY DỰNG MÔ HÌNH TRẠM-21 Arduino UNO board phụ
Trang 28Việc lựa chọn một board mạch được hỗ trợ rỗng rãi và đơn giản khâu lập trình, tính
ổn định cao và dễ dàng giao tiếp thì Arduino vẫn là lựa chọn hợp lý nhất về giáthành lẫn hiệu quả mà nó mang lại Mỗi board chỉ có 1 bộ giao tiếp I2C nên yêu cầuphải gắn thêm một board phụ tùy chọn có I2C Đó là lý do tác giả chọn Arduinomega 2560 làm board chính, Arduino UNO làm board phụ
2.2.9 Khối nguồn
Khối nguồn được thiết kế theo yêu cầu sau:
Đảm bảo cung cấp điện áp ổn định liên tục ổn định không bị gián đoạn
Chuyển đổi ưu tiên giữa hai nguồn Pin dự phòng và tấm pin năng lượngmặt trời
Tuy nhiên giới hạn đề tài chỉ dừng lại ở việc sử dụng giữa 2 nguồn ưu tiên là nguồnđiện 220VAC thông qua Adapter và nguồn Acquy
Bảng 1 Bảng giá trị điện áp và dòng điện các thành phần trong hệ thống
7 Cảm biến mưa Ngày đêm ,
Trang 29Hình XÂY DỰNG MÔ HÌNH TRẠM-22 Bộ chuyển nguồn
Bộ chuyển đổi nguồn thành phần chính là MOST FET IRF9640 với tác dụnglàm công cụ chuyển đổi giữa 2 nguồn với mức ưu tiên như sau:
Nguồn điện 220VAC ưu tiên I
Nguồn acquy/ Pin năng lượng mặt trời làm ưu tiên II
Hoạt động:
Trạng thái đóng UGS = 0
o Điện áp đi từ D xuống S
o Nguồn ưu tiên II dẫn, ưu tiên I ngắt
Trạng thái mở UGS >0 (đối với IRF9640 >5.4VDC)
o D-S đóng, điện áp đi từ G xuống S
o Nguồn ưu tiên I dẫn, ưu tiên II ngắt
Trang 30Hình XÂY DỰNG MÔ HÌNH TRẠM-23 Mạch nguồn 5V-3A
Mạch nguồn cho công suất 15W phù hợp với hệ thống 8-12.5W
Điện áp đầu vào của mạch nguồn tối đa 45V
Trang 31CHƯƠNG 3 THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM
Ở bước xử lý số liệu mục đích tính toán để đưa ra được các con số thời tiết
cụ thế
Ví dụ: nhiệt độ là bao nhiêu, độ ẩm là bao nhiêu Ở bước này dữ liệu đã
có thể xem được từ Arduino IDE qua serial port COM
BẮT ĐẦU
ĐÓNG GÓI
THU TÍN HIỆU CẢM BIẾN
THU TÍN HIỆU CẢM BIẾN
LÀM KHUÔN
GỬI GÓI TINGỬI GÓI TIN
Trang 32Đóng khuôn : Mỗi thông số có độ dài nhất định nên phải quy định chung ởđây là 5 ký tự bao gồm dấu ‘.’ Dot.
Đóng gói: thêm ký tự “_” ở giữa các thông số thời tiết trước khi tiến hànhgửi đi
Gửi: Qua cổng COM và qua internet
3.1.2 Sơ đồ khối
Hình THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM-25 Sơ đồ khối hướng đi tín hiệu
Quy trình làm việc trong một chu kỳ thu thập dữ liệu đến khi chúng đượctruyền đi
ESP8266
Trang 33 Hệ thống bắt đầu hoạt động từ trạm Arduino thu thập tất cả dữ liệu từ cảmbiến và bắt đầu tính toán thời gian hoạt động (phục vụ việc đo đạc lượngmưa).
Qua quá trình xử lý cho ra các thông số cơ bản như nhiệt độ (0C) , độ ẩm (%), tốc độ gió (m/s), số đo góc hướng gió (0), lượng mưa (ml), cường độ sáng(lux) , có mưa hay không (0 – 1) Kết nối wifi với router được thiết lập vàgửi dữ liệu định kì về máy chủ (Webserver)
Các thông số trên được đóng gói thành chuỗi 18 kí tự (DEC) trước khi truyền
đi thông qua module ESP8266
Máy chủ (webserver) tiếp nhận gói tin từ trạm gửi lên sau đó phân tách thànhcác thông số ban đầu
Thông tin được gửi từ module ESP8266 có dạng chuỗi sau:
Hình THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM-26 Chuỗi thông tin sau tính toán
từ Arduino
VD: Sau khi xử lý từ ARDUINO sẽ gửi chuỗi thông tin có nội dung sau:
317800000001023045Yêu cầu máy chủ phân tích lại phải thu được nội dung sau:
Nhiệt độ 310C
Độ ẩm 78 %
Lượng mưa 0 mm
Mưa 0
Trang 343.1.3 Sơ đồ đấu dây của tủ trung tâm
3.1.4 Lưu đồ giải thuật
3.1.4.1 Đọc dữ liệu từ cảm biến
3.1.4.2 Xử lý thu DATA
Dữ liệu thu thập từ các cảm biến nhiệt độ, độ ẩm, cường độ sáng, hướng gió, tốc
độ gió không qua xử lý tại Arduino có thể gửi thẳng về máy chủ duy nhất chỉphần đo lượng mưa cần tính toán tại đây (mm/giờ)
STAR T
STAR T Bấm giờ
00:00+
Reset Dem
Rf enable
Rf enable
Dem++
time
Dem time
Trang 35Hình THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM-27 Tính toán lượng mưa trên
Arduino
Cơ chế:
Khi Arduino bắt đầu hoạt động, thời gian bắt đầu được tính
Biến đếm được lưu lại trong EEPROM với giá trị 0
Cảm biến rf ( cảm biến lưỡi gà) ở trạng thái chờ Khi có tín hiệu rf enable thìgiá trị biến đếm tăng thêm 1
Giá trị biến đếm liên tục được cập nhật vào EEPROM khi giá trị thay đổi
Khi có yêu cầu truy xuất dữ liệu EEPROM, giá trị trả về bao gồm thời gianhoạt động và giá trị biến đếm hiện tại
3.1.4.3 Đóng khuôn, đóng gói tin
Đóng khuôn chuỗi dữ liệu trước khi truyền đi sơ đồ chung cho các biếntempature, humidity, rainfall, rain, windec, winspeed, light tối đa giá trị biến cóbốn chữ số
Trang 36Mũi tên màu đen: Bắt buộc
Hình THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM-28 Sơ đồ phân loại đóng khuôn dữ
liệu
Lưu ý: x trong lưu đồ giải thuật được xem như biến thay thế cho các biến giá trịnhiệt độ, độ ẩm, lượng mưa…
Start x
Start x
L=length(x)
L=1
‘0000 x’
‘0000 x’
Trang 37
3.1.4.4 Truyền gói tin
Hình THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM-29 Sơ đồ quá trình truyền gói tin
từ trạm lên máy chủ
Đánh thức module
Đánh thức module
Kết nối wifi với router
Kết nối wifi với router
Gửi gói tin
Kết nối webserver
Kết nối webserver
Kết thúc gửi
Khởi tạo kết nối
Trang 38Đến bước này để một quá trình kết nối truyền nhận gói tin thành công cần sự đồng bộ giữa Arduino Mega 2560 trung tâm, Node MCU ESP8266,
Webserver và phần mềm nhận dữ liệu từ Webserver
Trong quá trình kết nối cần đảm bảo tất cả phải:
Gói tin đã được đóng khuôn hoàn hảo
Khởi động ESP8266 thành công khi kiểm tra phản hồi giữa ESP8266 vàArduino trung tâm
Router hoạt động và port đã mở, đã biết SSID và password wifi
Webserver cho phép các client (trạm) post (gửi) dữ liệu
Phản hồi từ Webserver đã nhận thành công trước khi kết thúc quá trìnhgửi
3.1.4.5 Xây dựng webserver
Webserver như một kho lưu trữ nhiệm vụ nhận ký gửi dữ liệu từ người dùng
và chỉ cho phép xuất dữ liệu khi người dùng đọc đúng mã đơn hàng, địa chỉ.Webserver có thể được xây dựng từ bên thứ 3 các nhà cung cấp host vớidung lượng lớn và được cấp một tên miềm có trả phí
Xây dựng Webserver trên máy tính
Yêu cầu:
o Toàn quyền truy cập modem mạng
o NAT port để máy tính là webserver được quyền truy cập
o Máy chủ làm server hoạt động liên tục
Ưu điểm:
o Dễ lập trình, có thể sử dụng nhiều ngôn ngữ khác nhau
o Độ mật bảo mật cao vì chỉ 2 bên là trạm và máy chủ
Hạn chế:
o Không có tên miền tức địa chỉ IP mạng chính là địa chỉ củaWebserver
Trang 39o Máy chủ phải hoạt động thì Webserver mới tồn tại.
Cơ chế:
o Mỗi mạng sẽ có một địa chỉ IP công khai
o Máy tính làm máy chủ sẽ được NAT port mục đích là máy tính này sẽ
có quyền truy cập vào port đã mở, với sự cho phép của modem mạng.Module ESP8266, router, switch làm trung gian kết nối
o Trong phần mềm thiết lập TCP với địa chỉ 0.0.0.0 port đã mở để làmwebserver
o Từ đây khi có client gửi đúng địa chỉ IP công khai và port trên thì từphần mềm sẽ nhận được dữ liệu
Hình THIẾT KẾ PHẦN MỀM QUẢN LÝ TRẠM-30 Địa chỉ IP công khai