T p Hồ Chí Minh, ngày tháng năm 2019 Giáo viên phản biện
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG
3.2.1.1 Khối cảm biến ánh sáng
Yêu cầu:
Người dùng cần phải kiểm soát được cường độ sáng trong các giai đoạn phát triển của cây trồng để đưa ra quyết định điều chỉnh lượng ánh sáng phù hợp. Do đó, thiết bị đo phải đáp ứng tiêu chí chính xác, ổn định trong thời gian dài.
Phương án:Để đo cường độ ánh sáng nhóm có phương án như là sử dụng quang trở, cảm biến ánh sáng, các máy đo cường độ ánh sáng.
Lựa chọn: sử dụng module cảm biến ánh sáng.
Cảm biến ánh sáng quang trở phát hiện cường độ ánh sáng, sử dụng bộ cảm biến photoresistor loại nhạy cảm, cho tín hiệu ổn định, rõ
ràng và chính xác hơn so v
Cảm biến với 2 ng
D0 và A0 cho phép nhóm th theo d
A0).
Kết nối của các chân trong Vi điều khiển:
Chân Chân Chân 3.2.1.2 Khối cảm bi Để đo nhiệt độ, độ ẩm môi trường, c loại cảm biến nh LM35, DS18B20 HR202, TH,…. Nhóm thiết kế lựa chọn sử dụng cảm biến DHT11 l cảm biến tích hợp cả cảm biến nhiệt độ v độ ẩm. C DHT11 s
chuẩn giao tiế
độ nhạy cao, độ chính xác ± 0.5℃
ràng và chính xác hơn so với quang trở.
ảm biến với 2 ngõ ra xác định cường độ ánh sáng môi tr
D0 và A0 cho phép nhóm thiết kế linh hoạt lựa chọn kết quả đo theo dạng Digital( kết nối chân D0) hoặc dạng Analog(kết nối chân ết nối của các chân trong Vi điều khiển:
Chân VCC: nối nguồn cung cấp 5V Chân GND: nối GND
Chân A0: kết nối với chân A3 của vi điều khiển.
Hình 3.2 Sơ đồ kết nối cảm biến ánh sáng
m biến nhiệt độ, độ ẩm
ể đo nhiệt độ, độ ẩm ờng, có nhiều ại cảm biến như: LM35, DS18B20, HR202, TH,…. ết kế lựa ử dụng cảm ến DHT11 là loại ảm biến tích hợp cả ảm biến nhiệt độ và . Cảm biến DHT11 sử dụng ẩn giao tiếp 1 dây, ộ nhạy cao, độ chính
℃, ổn định.
Hình 3.3 Sơ đồ mạch cả
ẩm
Kết nối với khối xử lý trung tâm :
Chân số 1 của DHT11 đ với nguồn 5V. Chân số 3 đư Chân số 2 củ với chân A0 c 26 ờng độ ánh sáng môi trường là ết kế linh hoạt lựa chọn kết quả đo ạng Digital( kết nối chân D0) hoặc dạng Analog(kết nối chân
ới chân A3 của vi điều khiển.
n ánh sáng
ảm biến nhiệt độ, độ m
ết nối với khối xử lý trung tâm : ố 1 của DHT11 được nối ới nguồn 5V.
ược nối GND.
ủa DHT11 được nối i chân A0 của vi điều khiển.
3.2.1.3 Khối cảm bi Để đo độ ẩm đất, nhóm thiết kế lựa chọn cảm biến độ ẩm đất v cài đặt, kết nối cũng nh xử lí kết quả đo dễ d hơn so với các loại máy đo và phương pháp đo khác.
Hai ngõ ra cho phép l kết quả theo dạng Digital hoặc Analog m linh hoạt. 3.2.1.4 Khối cảm bi Để nhận biết tình tr ngoài trời có m không, ta có th một thiết bị để phát hiện được điển h như cảm biến m 37. 2 ngõ ra cho phép l kết quả theo Digital và Analog m cách linh hoạt. m biến độ ẩm đất ể đo độ ẩm đất, nhóm ết kế lựa chọn module ảm biến độ ẩm đất vì dễ ặt, kết nối cũng như ết quả đo dễ dàng ới các loại máy đo và phương pháp đo ngõ ra cho phép lấy ết quả theo dạng Digital Analog một cách
Hình 3.4 Sơ đồ kết nối c
Kết nối với khối xử lý trung tâm :
Chân A0 của cảm biến đ A1 của vi điều khiển Analog).
Chân VCC nối với nguồn 5V, chân G nối với chân GND của vi điều khiển.
m biến mưa
ình trạng ời có mưa hoặc không, ta có thể dùng ột thiết bị để phát ợc điển hình ảm biến mưa FC- 2 ngõ ra cho phép lấy ết quả theo dạng Digital và Analog một Hình 3.5 Sơ đồ kết nói c
Kết nối với khối xử lý trung tâm :
Chân D0 của cảm biến đ
với chân số A1 của vi điều khiển nếu muốn lấy kiểu dữ liệu dạng số.
Chân VCC nối với nguồn 5V, chân GND nối với chân
điều khiển.
27
i cảm biến độ ẩm đất
ết nối với khối xử lý trung tâm :
ủa cảm biến được nối với chân ủa vi điều khiển (lấy kiểu dữ liệu ối với nguồn 5V, chân GND
ủa vi điều khiển.
t nói cảm biến mưa
ết nối với khối xử lý trung tâm :
ủa cảm biến được nối ủa vi điều khiển ếu muốn lấy kiểu dữ liệu dạng số.
ối với nguồn 5V, chân ối với chân GND của vi
3.2.2 Khối thực thi 3.2.2.1 Khối độ 3.2.2.1 Khối độ
Khối này bao g tiếp giữa cácthi
khiển. Các thiết bị bao gồm: máy bơm nước
và đèn. Mạch giao tiếp từ transistor, diode,.. nhóm sử dụng module 1 Relay với Opto cách ly kích H/L (5VDC) giúp được ổn định và an toàn
Các thiết bị điều khiển có thể l thiết bị DC hoặc AC.
mô hình thí nghi chọn các động c
3.2.2.2 Khối hiể
Để người dùng có thể thực hiện việc hiển thị
hiển thị như LCD, OLED, TFT. Nhóm l hiển thị thông số rõ ràng và
Kết nối LCD với module I2C
D3 đến D7 nối với chân module I2C để xuất dữ liệu
Chân RS,RW và E c chân P0, P1,P2
tín hiệu điều khiển xuất dữ liệu ra m hình LCD.
Chân VSS đư
VDD được kết nối với nguồn, chân VEE, ta kết nối với biến trở 10KΩ để điều chỉnh độ tương ph
Kết nối I2C với Arduino:
Chân SCL kết nối lần l
của Arduino Mega.
ộng cơ
ày bao gồm 1 mạch giao cácthiết bị với vi điều ết bị bao gồm: ớc, mái che, quạt ạch giao tiếp có thể thiết kế ừ transistor, diode,.. Ở đây ử dụng module 1 Relay ới Opto cách ly kích H/L (5VDC) giúp bộ điều khiển
à an toàn.
ều khiển có thể là ết bị DC hoặc AC. Vì đây là mô hình thí nghiệm , nên nhóm
ộng cơ DC.
Hình 3.6 Kết nối h
ển thị
biết được các giá trị biến được đọc từ môi trư các thông số đó lên màn hình. Có nhiều lo
như LCD, OLED, TFT. Nhóm lựa chọn màn hình LCD 16x02 vì ch rõ ràng và đầy đủ.
ới module I2C:
ến D7 nối với chân P3 đến P7 của ể xuất dữ liệu.
và E của LCD được nối với của module I2C nhằm tạo ệu điều khiển xuất dữ liệu ra màn VSS được nối với GND, Chân ợc kết nối với nguồn, chân VEE, ết nối với biến trở 10KΩ để điều
ương phản của màn hình. ết nối I2C với Arduino:
Chân SCL, SDA của module I2C ết nối lần lượt tới chân 20 và 21 ủa Arduino Mega.
Hình 3.7 28 i hệ thống bơm nước môi trường, hệ thống u loại màn hình để n màn hình LCD 16x02 vì chỉ cần Hình 3.7 Sơ đồ mạch LCD
3.2.3 Khốigiao tiếp m
Chúng ta có thể sử dụng nhiều loại module chuyển tiếp dữ liệu có sẵn tr trường hiện này là
Do yêu cầu có th
nhất. Vì vậy, Node MCU là l
Cách kết nối chân từ Arduino đến Node MCU
D3 nối với chân số 3 của Arduino(chân n
D2 nối với chân số 2 của Arduino(chân n
3.2.4 Khối giao diện Android
Từ yêu cầu của mô h cách thuận tiện hơn. Th
thể chạy trên smartphone hay máy tính b tác như sau:
Giám sát nhiệt đ
thời tiết(có mưa hay không mưa) theo th
Giao diện ứng d cứng qua Internet.
Ở đây, nhóm sử dụng một công cụ MIT App Inventor để thiết kế ứng dụng điều khiển.
p mạng
ể sử dụng nhiều loại module chuyển tiếp dữ liệu có sẵn tr này là Zigbee, RF, Bluetooth, LoRa…
có thể sử dụng từ xa nên việc kết nối với I
Node MCU là lựa chọn để có thể dễ dàng kết nối đến ết nối chân từ Arduino đến Node MCU:
ối với chân số 3 của Arduino(chân này được d ối với chân số 2 của Arduino(chân này được d
Hình 3.8 Sơ đồ kết nối với Node MCU
Android
ầu của mô hình, để người dùng có thể tương tác v ơn. Thì nhóm thực hiện đề tài đã thiết kế một ứng dụng ên smartphone hay máy tính bảng có kết nối internet. V
t độ, độ ẩm đất, độ ẩm môi trường, lượng ánh sang, tình tr t(có mưa hay không mưa) theo thời gian thực.
ng dụng được thiết kế để người dùng có thể b Internet.
Ở đây, nhóm sử dụng một công cụ MIT App Inventor để thiết kế ứng dụng điều
29
ể sử dụng nhiều loại module chuyển tiếp dữ liệu có sẵn trên thị ệc kết nối với Internet sẽ hỗ trợ tốt
ết nối đến Internet. ợc dùng làm RX) ợc dùng làm TX) Node MCU ương tác với hệ thống một ết kế một ứng dụng Android có internet. Với khả năng tương
ng ánh sang, tình trạng bật/tắt thiết bị phần
30
3.2.5 Khối xử lý trung tâm
Mạch Arduino Mega2560 là một board vi điều khiển dựa trên ATmega2560. Board này có 54 chân I/O (14 chân PWM ), 16 analog đầu hàng vào, 4 UARTs (phần cứng cổng tuần tự), sử dụng thạch anh 16 MHz, kết nối cổng USB, một Jack cắm điện, chân ICSP, và một nút reset. Board có tất cả mọi thứ cần thiết để hỗ trợ vi điều khiển.
Hình 3.9 Sơ đồ mạch khối xử lý trung
tâm
3.2.6 Khối nguồn
Từ các yêu cầu về nguồn của hệ thống gồm nguồn cung cấp 5V, 3.3V, 12V và yêu cầu về dòng điện tiêu thụ khoảng 4A.
Nhóm đã chọn nguồn tổ ong 12V-5A.
Nguồn xung lấy điện áp ngõ vào xoay chiều 220V chuyển đổi sang điện áp một chiều 12V, bên cạnh đó dòng điện ngõ ra của nguồn theo từng loại từ 1A tới 50A tùy theo yêu cầu của người sử dụng. Ngoài ra,nguồn xung có đặc điểm nổi bật là bảo vệ ngắn mạch, quá tải, quá áp.Trong đề tài này, nhóm mạch nguồn xung có điện áp ngõ ra là 12V, dòng điện 5A.
Hình 3.10Nguồn xung thực tế.
Ưu điểm: Giá thành rẻ, gọn nhẹ, dễ dàng tích hợp và hiệu suất cao.
Nhược điểm:Chế tạo đòi hỏi kĩ thuật cao, khó sửa chữa và tuổi thọ không
31
Bảng 3.1 Bảng năng lượng tiêu thụ của các linh kiện.
Linh kiện Dòng tiêu thụ Điện áp cung cấp
Board Arduino Mega 20mA / Pin I/O 5V
LCD 16X2 0.6mA 5V
Cảm biến DHT11 2.5mA 5V
Cảm biến mưa 100mA 5V
Cảm biến độ ẩm đất 10mA 5V
Cảm biến ánh sáng 5mA 5V
Node MCU 80mA 5V
Máy bơm 0.5-1A 12V
Đèn 1A 12V
Quạt 0.5A 12V
3.2.7 Sơ đồ nguyên lý
3.3 THIẾT KẾ PHẦN M
Yêu cầu của phần mềm:
Trao đổi dữ liệ
Xử lý dữ liệu v
Giao diện có th động của máy bơm Phương án :
Về giao diện ngư hoặc ứng dụng di đ
nguyên lý
N MỀM
ầu của phần mềm:
ệu và cập nhật lên Server.
u với đọc được từ cảm biến và điều khiển máy bơm có thể hiển thị được các thông số nhiệt độ, độ
a máy bơm/mái che và điều khiển được máy bơm n người dùng, nhóm nghiên cứu thấy rằng có th
ng di động để có thể hiển thị và điều khiển các thi
32
n máy bơm và mái che. ộ ẩm chế độ hoạt c máy bơm và mái che.
ng có thể sử dụng web n các thiết bị.
33 Về phương thức lưu trữ các dữ liệu trước đó thì có thể dùng ở dạng lưu trữ
mềm database như SQL, FireBase, …, hoặc lưu trữ trên phần cứng EEPROM.
Sau khi tìm hiểu các phương án trên thì nhóm nghiên cứu quyết định lựa chọn :
Ứng dụng di động để hiển thị giao diện giảm sát và điều khiển. Vì ứng dụng di động dễ tương tác và dễ lập trình.
Google FireBase để lưu trữ dữ liệu. Vì FireBase dễ tiếp cận, hỗ trợ cập nhật cơ sở dữ liệu theo thời gian thực và lưu trữ theo dạng đám mây ít bị ảnh hưởng của các tác nhân bênh ngoài như mất điện, hỏng ổ cứng,…
34
3.4 Lưu đồ giải thuật hệ thống chính 3.4.1 Lưu đồ giải thuật của hệ thống 3.4.1 Lưu đồ giải thuật của hệ thống
START KHAI BÁO CHÂN KHỞI TẠO UARTS KHỞI TẠO LCD KHỞI TẠO CẢM BIẾN GỬI CÁC THÔNG SỐ CẢM BIẾN ĐẾN NODE MCU NHẬN CÁC DƯ LIỆU ĐIỀU KHIỂN TỪ NODE MCU ĐIỀU KHIỂN CÁC ĐỘNG CƠ MÁY BƠM VÀ MÁI CHE END CHẾ ĐỘ OFFLINE Đ HIỂN THỊ LCD S ĐIỀU KHIỂN CÁC ĐỘNG CƠ MÁY BƠM VÀ MÁI CHE END Đ NHẬN TÍN HIỆU ĐIỀU KHIỂN TỪ BÀN PHÍM S
Hình 3.11Lưu đồ giải thuật của hệ
thống
Giải thích lưu đồ:
Khai báo các chân để sử dụng cảm biến như là cảm biến ánh sang, cảm biến nhiệt độ độ ẩm không khí, độ ẩm đất, giao tiếp UARTS.
Tiếp theo khởi tạo UARTS để giao tiếp với Node MCU.
Tiếp tục khởi tạo LCD để hiện thị các chế độ lựa chọn.
Sau đó khởi tạo cảm biến để bắt đầu thu thập dữ liệu.
Sau đó chọn 1 trong 2 chế độ là điều khiển tại chỗ hoặc điều khiển qua internet:
Chế độ Offline: Các thông số cảm biến sẽ được hiển thị trên LCD và có thể tinh chỉnh các thông số đó thông qua việc điều khiển máy bơm hoặc mái che nắng.
Chế độ qua internet: Các thông số cảm biến sẽ được gửi đến Node MCU để gửi đến webserver. Sau đó sẽ nhận các thông số điều khiển từ Webserver thông qua Node MCU để điều khiển máy bơm hoặc mái che nắng.
35
3.4.2 Lưu đồ giải thuật gửi/nhận dữ liệu từ Arduino
START KHAI BÁO UARTS KẾT NỐI Node MCU Đ GỬI CÁC THÔNG SỐ CẢM BIẾN NHẬN CÁC TÍN HIỆU ĐIỀU KHIỂN END S Giải thích lưu đồ:
Khai báo các chân UARTS
Kết nối đến Node MCU và chờ 2s để hoàn tất kết nối. Nếu không kết nối được sẽ kết nối lại. Sau khi kết nối thành
công thì Arduino sẽ gửi các thông số cảm biển và nhận các tín hiệu điều khiển từ Node MCU. Tiếp tục thực hiện vòng lặp.
Hình 3.12Lưu đồ giải thuật gửi/nhận dữ liệu từ Arduino
3.4.3 Lưu đồ giải thuật truyền dữ liệu của Node MCU
START KHAI BÁO UARTS KIỂM TRA KẾT NỐI VỚI ARDUINO Đ NHẬN CÁC THÔNG SỐ CẢM BIỂN KIỂM TRA KẾT NỐI VỚI WEBSERVER Đ GỬI CÁC THÔNG SÔ CẢM BIẾN ĐẾN WEBSERVER END S S Giải thích lưu đồ:
Khởi tạo UART.
Sau đó kiểm tra kết nối với Arduino, nếu có thì nhận các thông số cảm biến.
Tiếp theo, kiểm tra kết nối tới Web Server.Sau khi có kết nối thì cập nhật các thong số cảm biến đến Web Server.
36
3.4.4 Thiết kế phần mềm
3.4.4.1 Lưu đồ giải thuật ứng dụng
START KHƠI TẠO GIAO DIỆN ỨNG DỤNG KẾT NỐI ĐẾN DATABASE LẤY DỮ LIỆU TỪ DATABASE HIỆN THỊ LÊN ỨNG DỤNG END Giải thích lưu đồ:
Khởi tạo giao diện: tạo các dòng thông báo nhiệt độ, độ ẩm, ánh sáng, lượng mưa. Kết nối đến cơ sở dữ liệu và
lấy các dữ liệu để hiển thị Tạo form hiển thị các dữ
liệu cảm biến từ database.
Hình 3.14Lưu đồ giải thuật ứng dụng
3.4.4.2 Lưu đồ giải thuật điều khiển
START KHỞI TẠO GIAO DIỆN KIỂM TRA SWITCH ĐỔI TRẠNG THÁI GỬI DỮ LIỆU ĐIỀU KHIỂN ĐẾN DATABASE END Giải thích lưu đồ:
Khởi tạo giao diện: tạo giao diện các switch để điều khiển các thiết bị
Nếu người dùng đổi trạng thái nút nhấn là ON hoặc OFF thì ứng dụng sẽ gửi trạng thái này sang database. Các dự liệu này sẽ tạo tín hiệu điều khiển cho Arduino.
37
Chương 4: KẾT QUẢ THỰC HIỆN 4.1 KẾT QUẢ PHẦN CỨNG
Qua quá trình thiết kế phần cứng, chọn lựa linh kiện, nhóm đã tiến hành kiểm tra các kết nối các module, linh kiện với nhau. Cuối cùng, nhóm đã hoàn chỉnh hệ thống bằng mô hình thực kết hợp với bộ xử lý trung tâm.
Hình 4.1 Bộ xử lý trung tâm chính kết nối với mô hình.