ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ nghiên cứu thiết kế Thiết bị theo dõi và cung cấp chất dinh dưỡng cho hệ thống thủy canh
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập – Tự do – Hạnh phúc.
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
- NGÀNH: ĐIỆN TỬ - VIỄN THÔNG
- Đề tài: Thiết bị theo dõi và cung cấp chất dinh dưỡng tự động cho hệ thống thủy canh
- Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):
- Thiết bị cho phép theo dõi nồng độ chất dinh dưỡng (EC/TDS) và nồng độ PH của dung dịch thủy canh, tự động điều chỉnh lượng chất dinh dưỡng theo như đã cài đặt để phù hợp với từng loại cây trồng.
- Cho phép theo dõi trực tiếp tại thiết bị thông qua màn hình LCD và thông qua trình duyệt web trên máy tính.
- Cho phép cài đặt thông số, cân chỉnh cảm biến.
- Giá thành hợp lý cho quy mô sản xuất vừa và nhỏ.
TÓM TẮT LUẬN VĂN
Luận văn này trình bày về quá trình nghiên cứu, thiết kế và thực hiện Thiết bị theo dõi và cung cấp chất dinh dưỡng cho hệ thống thủy canh. Bao gồm các nội dung chính:
- Tìm hiểu về các vấn đề lý thuyết liên quan đến đề tài (Phần cứng sử dụng, các giao thức kết nối, các công nghệ để thiết kế phần mềm,…).
- Thiết kế và thực hiện phần cứng (Thiết kế và thực hiện các mạch điện, dàn thủy canh,…)
- Thiết kế và thực hiện phần mềm (Thiết kế một ứng dụng web bao gồm front-end, back-end, database,…)
- Quá trình thử nghiệm hệ thống và các kết quả đạt được
- Kết luận và hướng phát triển.
MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU.. 15
1.1. Tổng quan. 15
1.2. Tình hình nghiên cứu trong và ngoài nước. 15
1.3. Nhiệm vụ luận văn. 17
1.3.1. Yêu cầu. 17
1.3.2. Kết quả cần đạt17
1.3.3. Phạm vi nghiên cứu và giới hạn đề tài18
1.3.4. Phân chia công việc. 19
CHƯƠNG 2: CÁC VẤN ĐỀ LÝ THUYẾT LIÊN QUAN.. 20
2.1. Phần cứng. 20
2.1.1. Module ESP32 - WROOM32. 20
2.1.2. LCD 20x4 I2C.. 22
2.1.3. Rotary Encoder EC11. 24
2.1.4. Cảm biến nhiệt độ DS18B20. 26
2.1.5. Cảm biến PH.. 27
2.1.6. Cảm biến TDS. 33
2.1.7. Module RTC DS3231. 37
2.1.8. SD Card. 38
2.1.9. Module Raspberry Pi38
2.1.10. Cảm biến mực nước. 40
2.2. Phần mềm.. 40
2.2.1. Hệ điều hành thời gian thực FreeRTOS. 40
2.2.2. Ứng dụng Web (Web app)44
2.2.3. Lý thuyết các giao thức mạng được sử dụng. 46
2.2.4. MERN Stack & Socket.IO.. 53
2.2.5. Các công nghệ để xây dựng trang web. 65
CHƯƠNG 3: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG.. 68
3.1. Yêu cầu. 68
3.1.1. Đối với hệ thống cung cấp dinh dưỡng. 68
3.1.2. Đối với dàn thủy canh. 68
3.2. Phân tích. 68
3.2.1. Đối với hệ thống cung cấp dinh dưỡng. 68
3.2.2. Đối với dàn thủy canh. 69
3.3. Thực hiện. 69
3.3.1. Khối nguồn. 71
3.3.2. Khối xử lý trung tâm.. 73
3.3.3. Khối cảm biến PH.. 73
3.3.4. Khối cảm biến TDS. 74
3.3.5. Khối cảm biến mực chất lỏng. 75
3.3.6. Khối thời gian thực RTC DS3231. 75
3.3.7. Khối âm thanh thông báo. 76
3.3.7. Khối thẻ nhớ SD card. 76
3.3.9. Khối LCD 20x4 I2C.. 77
3.3.10. Khối điều khiển bơm chất dinh dưỡng. 77
3.3.11. Khối điều khiển bơm nước. 78
3.3.12. Dàn thủy canh. 78
CHƯƠNG 4: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM... 80
4.1. Yêu cầu. 80
4.1.1. Firmware. 80
4.1.2. Software. 80
4.2. Phân tích. 81
4.2.1. Firmware. 81
4.2.2. Software. 81
4.3. Thực hiện. 82
4.3.1. Firmware. 82
4.3.2. Software. 92
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN.. 106
5.1. Phần cứng. 106
5.1.1. Bộ điều khiển. 106
5.1.2. Dàn thủy canh. 109
5.1.3. Thử nghiệm trồng rau thủy canh. 111
5.2. Phần mềm.. 117
5.2.1. Thực hiện đăng nhập. 117
5.2.2. Thực hiện cài đặt thể tích chai và cài đặt cấu hình thủ công. 119
5.2.3. Cài đặt thông số cấu hình cho thiết bị qua profile cá nhan hoặc qua profile khuyên dùng. 121
5.2.4. Xem đồ thị của các giá trị TDS, PH, nhiệt độ. 124
5.3. Kết quả thử nghiệm.. 126
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.. 127
6.1. Kết luận. 127
6.1.1. Ưu điểm.. 127
6.1.2. Nhược điểm.. 127
6.1.3. Kết luận. 127
6.2. Hướng phát triển. 128
PHẦN 7: TÀI LIỆU THAM KHẢO.. 129
PHẦN 8: PHỤ LỤC.. 131
8.1. Sơ đồ nguyên lý bo xử lý trung tâm.. 131
8.2. Hướng dẫn sử dụng thiết bị132
DANH SÁCH HÌNH MINH HỌA
Hình 1: Sản phẩm của Thump Agri and Hori Tech. 15
Hình 2: Module ESP-WROOM32. 19
Hình 3: Cấu tạo bên trong ESP -WROOM32. 19
Hình 4: Màn hình LCD 20x4. 22
Hình 5: Module I2C cho LCD.. 23
Hình 6: Cấu tạo rotary encoder EC11. 24
Hình 7: Nguyên lí hoạt động Rotary Encoder EC11. 24
Hình 8: Cảm biến nhiệt độ DS18B20 (loại chống nước)25
Hình 9: Cấu tạo DS18B20. 25
Hình 10: Độ PH của một số dung dịch thường gặp. 26
Hình 11: Cấu tạo que đo PH loại tách riêng điện cực. 27
Hình 12: Cấu tạo que đo PH loại chung điện cực. 27
Hình 13: Nguyên lý đo PH bằng phương pháp điện hóa. 29
Hình 14: Cảm biến PH 4502C.. 30
Hình 15: Mạch xử lý tín hiệu cảm biến PH.. 31
Hình 16: Hiệu chuẩn cảm biến PH.. 32
Hình 17: Đo gián tiếp TDS thông qua đo độ dẫn điện của dung dịch. 33
Hình 18: Cảm biến TDS meter v1.0. 33
Hình 19: Sơ đồ nguyên lý cảm biến TDS meter v1.0. 34
Hình 20: Module RTC DS3231. 36
Hình 21: Thẻ nhớ SD card. 37
Hình 22: Máy tính nhúng Raspberry Pi 4. 38
Hình 23: Cảm biến mực nước. 39
Hình 24: Ví dụ về multi-tasking trong các hệ thống thời gian thực. 40
Hình 25: Các thành phần cơ bản của một RTOS. 41
Hình 26: Các trạng thái hoạt động của task. 42
Hình 27: Khái niệm về ứng dụng web. 43
Hình 28: Cách thức hoạt động của một web app. 44
Hình 29: Thành phần và cách thức hoạt động MQTT. 46
Hình 30: Giao thức HTTP. 48
Hình 31: RESTfull AP. 52
Hình 32: Hoạt động của RESTfull53
Hình 33: Cơ sở dữ liệu NoSQL. 55
Hình 34: Ví dụ về trường với các cặp giá trị khóa. 58
Hình 35: Sơ đồ khối của hệ thống. 69
Hình 36: Sơ đồ khối nguồn. 70
Hình 37: Khối nguồn hạ áp 5V sang 3V3. 71
Hình 38: Khối xử lý trung tâm.. 72
Hình 39: Khối cảm biến PH.. 72
Hình 40: Khối cảm biến TDS. 73
Hình 41: Khối cảm biến mực chất lỏng. 74
Hình 42: Khối RTC DS3231. 74
Hình 43: Khối âm thanh thông báo. 75
Hình 44: Khối thẻ nhớ SD card. 76
Hình 45: Khối LCD 20x4 I2C.. 76
Hình 46: Khối điều khiển bơm chất dinh dưỡng A.. 77
Hình 47: Khối điều khiển bơm nước. 78
Hình 48: Khung dàn thủy canh. 79
Hình 49: Thùng dung dịch thủy canh và thùng nước bổ sung. 79
Hình 50: Mô hình cơ bản của một Web Application. 81
Hình 51: Lưu đồ giải thuật tổng quát chương trình chính. 82
Hình 52: Lưu đồ giải thuật LED task. 83
Hình 53: Lưu đồ giải thuật Button task. 84
Hình 54: Lưu đồ giải thuật Connect WiFi task. 84
Hình 55: Lưu đồ giải thuật MQTT Communication task và MQTT Client tast85
Hình 56: Lưu đồ giải thuật Water Pump Control task. 88
Hình 57: Lưu đồ giải thuật Display and Settings task. 89
Hình 58: Lưu đồ giải thuật Hiệu chỉnh cảm biến. 90
Hình 59: Lưu đồ giải thuật Cài đặt giá trị90
Hình 60: Lưu đồ giải thuật Cấu hình WiFi91
Hình 61: Lưu đồ giải thuật Cập nhật Firmware. 91
Hình 62: Flowchart của server92
Hình 63: Danh sách các API cần xây dựng. 95
Hình 64: Flowchart xác thực người dùng khi server nhận HTTP request95
Hình 65: Flow chart thể hiện quá trình gửi giá trị cài đặt xuống thiết bị96
Hình 66: Flowchart thêm thiết bị97
Hình 67: Lưu đồ giải thuật SocketIO.. 98
Hình 68: Giao diện của trang Dashboard. 99
Hình 69: Giao diện của trang Devices. 100
Hình 70: Giao diện của trang Chart101
Hình 71: Chương trình Raspberry Pi Imager101
Hình 72: Cài đặt WiFi cho Ubuntu Server102
Hình 73: Thực hiện SSH với Raspberry qua phần mềm MobaXterm.. 102
Hình 74: Giao diện khi kết nối SSH thành công với Ubuntu server102
Hình 75: Terminal hiển thị PM2 gồm trạng thái của back-end và front-end. 103
Hình 76: IP của Raspberry Ubuntu Server103
Hình 77: Thông số cài đặt cho Port Forwarding. 104
Hình 78: Cài đặt cho Nginx Server104
Hình 79: Mạch in bo xử lý trung tâm.. 106
Hình 80: Mô phỏng 3D mặt trước. 107
Hình 81: Mô phỏng 3D mặt sau. 107
Hình 82: Thực hiện mạch in, kết nối các thành phần. 108
Hình 83: Phía trước hộp điều khiển. 108
Hình 84: Bộ phận lấy mẫu và các cảm biến. 109
Hình 85: Bơm định lượng và các chai dung dịch. 110
Hình 86: Tổng quan hệ thống. 110
Hình 87: Gói hiệu chuẩn cảm biến PH.. 111
Hình 88: Bút đo PH.. 112
Hình 89: Gói hiệu chuẩn 100ppm.. 113
Hình 90: Bút đo TDS. 113
Hình 91: Dung dịch thủy canh dành cho rau ăn lá. 115
Hình 92: Dung dịch tăng và giảm PH.. 115
Hình 93: Cài đặt thông số cho cây trồng. 116
Hình 94: Quá trình ươm hạt116
Hình 95: Đưa cây lên dàn thủy canh. 117
Hình 96: Giao diện khi người dùng truy cập vào trang web. 118
Hình 97: Giao diện đăng nhập. 118
Hình 98: Giao diện Dashboard. 119
Hình 99: Giao diện khi cài đặt thông số cấu hình thiết bị thành công. 120
Hình 100: Giá trị các thông số cấu hình tại thiết bị sau khi được gửi xuống thành công qua chế độ thủ công.120
Hình 101: Giao diện sau khi tạo profile cá nhân. 121
Hình 102: Giao diện hiện thị các thông số cài đặt thiết bị của một profile cá nhân. 121
Hình 103: Giá trị các thông số cấu hình tại thiết bị sau khi được gửi xuống thành công qua profile cá nhân. 122
Hình 104: Giao diện hiện thị các thông số cài đặt thiết bị của một profile khuyến nghị 123
Hình 105: Giá trị các thông số tại thiết bị sau khi được gửi xuống thành công qua profile khuyên dùng. 123
Hình 106: Giao diện Chart lấy 48 mẫu giá trị 124
Hình 107: Giao diện Chart lấy 336 mẫu giá trị 125
Hình 108: Giao diện Chart lấy 1440 mẫu giá trị 125
Hình 109: Cây trồng được 15 ngày tuổi 126
Hình 110: Sơ đồ nguyên lý mạch xử lý trung tâm.. 131
Hình 111: Mặt trước hộp điều khiển. 132
Hình 112: Màn hình Config Wifi 133
Hình 113: Nhập mật khẩu WiFi vào ứng dụng ESP Touch. 133
Hình 114: Hiệu chuẩn cảm biến TDS. 134
Hình 115: Hiệu chỉnh cảm biến PH.. 135
Hình 116: Giao diện khi người dùng truy cập vào trang web. 136
Hình 117: Giao diện đăng nhập. 136
Hình 118: Giao diện đăng kí 137
Hình 119: Giao diện Dashboard mới tạo tài khoản. 137
Hình 120: Giao diện trang Devices. 138
Hình 121: Device ID.. 138
Hình 122: Giao diện phần thêm thiết bị139
Hình 123: Giao diện khi thêm thiết bị thành công. 139
Hình 124: Giao diện khi cài đặt thông số cấu hình thiết bị thành công. 140
Hình 125: Giao diện khi cài đặt thể tích chai chứa thiết bị 140
Hình 126: Giao diện khi cài đặt thể tích chai chứa thiết bị thành công. 141
Hình 127: Giao diện Profile khi mới tạo tài khoản. 141
Hình 128: Cửa sổ pop-up tạo profile mới142
Hình 129: Giao diện sau khi tạo profile cá nhân. 142
Hình 130: Giao diện hiện thị các thông số cài đặt thiết bị của một profile cá nhân. 143
Hình 131: Cửa sổ popup thực hiện chỉnh sửa profile. 143
Hình 132: Giao diện hiện thị các thông số cài đặt thiết bị của một profile khuyến nghị144
Hình 133: Danh sách thiết bị 144
Hình 134 : Giao diện Dashboard khi đã thêm thiết bị và thực hiện cài đặt các thông số thiết bị 1.145
Hình 135: Giao diện Dashboard khi đã thêm thiết bị và thực hiện cài đặt các thông số thiết bị 2.145
Hình 136: Lựa chọn khoảng thời gian hiển thị cho đồ thị146
Hình 137: Giao diện Chart 146
DANH SÁCH BẢNG SỐ LIỆU
Bảng 1: Thông số kỹ thuật sản phẩm của Thum Agri and HoriTech. 16
Bảng 2: Thông số kỹ thuật Module ESP-WROOM32. 22
Bảng 3: Thông số kỹ thuật LCD 20x4. 23
Bảng 4: Thông số kỹ thuật Module I2C PCF8574. 24
Bảng 5: Thông số kỹ thuật cảm biến nhiệt độ DS18B20. 27
Bảng 6: Giá trị điện áp và độ pH tương ứng. 30
Bảng 7: Thông số kỹ thuật cảm biến TDS. 35
Bảng 8: Thông số kỹ thuật RTC DS3231. 37
Bảng 9: : Thông số kỹ thuật Raspbery Pi 4. 39
Bảng 10: Thông số kỹ thuật bút đó PH.. 113
Bảng 11: Kết quả kiểm tra độ chính xác cảm biến pH.. 113
Bảng 12: Thông số kỹ thuật bút đo TDS. 115
Bảng 13: Kết quả kiểm tra độ chính xác cảm biến TDS. 115
CHƯƠNG 1: GIỚI THIỆU
1.1. Tổng quan
Hệ thống trồng rau thủy canh, hay còn gọi là “Trồng rau không cần đất” hay “Trồng rau trong nước” đã trở nên ngày càng phổ biến trong nông nghiệp, không chỉ ở quy mô nhỏ mà còn cả trong sản xuất với số lượng lớn vì tính đơn giản, hiệu quả và dễ thực hiện ở các vùng không có đất canh tác như các hộ gia đình ở thành phố, khu chung cư,…
Không giống như việc trồng cây truyền thống vào đất, ở mô hình thủy canh cây trồng sẽ hấp thu chất dinh dưỡng được hòa tan trực tiếp vào nước. Vì thế, chung ta sẽ chủ động hơn trong việc cung cấp chất dinh dưỡng cho cây bằng việc bổ sung vào nước các loại phân bón cần thiết. Tuy nhiên, việc bổ sung chất dinh dưỡng hiện nay hầu hết vẫn được thực hiện thủ công bằng cách đo đạc và thêm chất dinh dưỡng bằng tay, gây tốn công sức và thiếu hiệu quả, đặc biệt là ở quy mô sản xuất lớn (kết quả đo thiếu chính xác, phải theo dõi và đo đạc thường xuyên,…).
Từ đó, nhóm chúng em đưa ra giải pháp: “Thiết bị theo dõi và cung cấp chất dinh dưỡng tự động cho hệ thống thủy canh”, giúp người dùng có thể theo dõi và tự động hóa khâu cung cấp chất dinh dưỡng cho hệ thống thủy canh.
1.2. Tình hình nghiên cứu trong và ngoài nước
Hiện tại trên thị trường (chủ yếu là thị trường nước ngoài) có một số đơn vị sản xuất và cung cấp hệ thống tương tự với các tính năng, chủng loại và mẫu mã khác nhau. Đồng thời cũng có một số đề tài nghiên cứu liên quan, sau đây là một vài ví dụ:
- Thump Agri and Horti Tech, Automatic Fertigation Machine Dosing System for Hydroponic System (https://www.mobilegrowsystem.com/Automatic-Fertigation-Machine-Dosing-System-for-Hydroponic-System-pd44751974.html) :
Hình 1: Sản phẩm của Thump Agri and Hori Tech
Thông số kỹ thuật:
Tên |
Máy điều khiển tưới phân bón thủy canh tự động |
Điện áp |
220v/380v DC |
Kích thước |
1400x700x1400 mm |
Công suất định mức |
3000w |
Khối lượng |
75 kg |
Đường kính ống |
32mm |
Vật liệu |
Thép mạ kẽm |
Thành phần |
Bơm bón phân, cảm biến,... |
Bảng 1: Thông số kỹ thuật sản phẩm của Thum Agri and HoriTech
Sản phẩm cho phép theo dõi và tự động điều chỉnh nồng độ chất dinh dưỡng phù hợp với từng loại cây trồng, phù hợp với các hệ thống thủy canh quy mô vừa và lớn.
- Kyle Gabriel (2020), Automated Hydroponic System Build, https://kylegabriel.com/projects/2020/06/automated-hydroponic-system-build.html, truy cập ngày 17/5/2022:
Nghiên cứu sử dụng máy tính nhúng Raspberry Pi 4 làm bộ xử lý trung tâm, kết hợp với các cảm biến: Cảm biến nồng độ chất dinh dưỡng (TDS), cảm biến PH, cảm biến lưu lượng nước,… cho phép điều khiển và tự động hóa quá trình cung cấp dinh dưỡng cho cây thủy canh.
Qua các nghiên cứu liên quan và sản phẩm hiện có trên thị trường, chúng em nhận thấy cần phát triển một thiết bị có tính năng tương đương, nhưng giá thành rẻ và dễ dàng lắp đặt cũng như sử dụng, phù hợp với quy mô trồng rau thủy canh vừa và nhỏ ở Việt Nam.
1.3. Nhiệm vụ luận văn
Từ như cầu thực tế và các sản phẩm đã có trên thị trường, chúng em đưa ra nhiệm vụ của đề tài luận văn: Nghiên cứu, phát triển thiết bị theo dõi và cung cấp chất dinh dưỡng tự động cho hệ thống thủy canh, bao gồm các nhiệm vụ chính sau:
1.3.1. Yêu cầu
- Thiết bị cho phép theo dõi nồng độ chất dinh dưỡng (TDS) và nồng độ PH của dung dịch thủy canh, tự động điều chỉnh lượng chất dinh dưỡng theo như đã cài đặt để phù hợp với từng loại cây trồng.
- Cho phép theo dõi trực tiếp tại thiết bị thông qua màn hình LCD và thông qua trình duyệt web trên máy tính.
- Cho phép cài đặt thông số, cân chỉnh cảm biến.
- Giá thành hợp lý cho quy mô sản xuất vừa và nhỏ.
1.3.2. Kết quả cần đạt
1.3.2.1. Phần cứng và phần dẻo (Hardware and Firmware)
Phần cứng và phần dẻo của thiết bị cần đạt các yêu cầu:
- Xây dựng sơ đồ khối của hệ thống, tìm hiểu nhiệm vụ từng khối chức năng.
- Tìm hiểu để lựa chọn các loại cảm biến cần sử dụng (nguyên lí hoạt động, chuẩn giao tiếp,…).
- Tìm hiểu các giao thức kết nối mạng (MQTT, HTTP,..) để đưa dữ liệu từ thiết bị lên server.
- Lựa chọn vi điều khiển chính cho thiết bị, tìm hiểu tài liệu của nhà sản xuất (datasheet) để lập trình cho vi điều khiển.
- Lập trình firmware cho thiết bị:
- Đọc, xử lý và hiển thị thông số cảm biến lên màn hình LCD.
- Điều khiển các bơm chất dinh dưỡng và bơm nước theo giá trị cảm biến đọc được.
- Cho phép người dùng cài đặt các thông số cũng như cân chỉnh cảm biến trực tiếp tại thiết bị.
- Gửi dữ liệu lên sever thông qua mạng internet (giao thức MQTT).
- Nhận dữ liệu cài đặt từ sever (giao thức MQTT).
- Giao tiếp module thời gian thực (RTC DS3231) để phục vụ lưu trữ dữ liệu.
- Lưu dữ liệu vào thẻ nhớ (SD card) phòng trường hợp mất kết nối internet.
- Tìm hiểu phương thức Cập nhật qua mạng (OTA), giúp thiết bị có khả năng cập nhật firmware từ xa thông qua kết nối internet, đồng thời cho phép reset hệ thống về mặc định (Factory reset) khi bản cập nhật xảy ra lỗi.
- Thi công hệ thống, xây dựng mô hình thủy canh thực tế để thử nghiệm thiết bị.
1.3.2.2. Phần mềm (software)
Phần mềm cần đạt các yêu cầu:
- Tìm hiểu về cách một Web Application hoạt động.
- Tìm hiểu, xây dựng Web Server để nhận và xử lý dữ liệu từ thiết bị gửi lên.
- Tìm hiểu cách để trao đổi dữ liệu thông qua server MQTT để lưu vào database MongoDB.
- Tìm hiểu, xây dựng các API cần thiết cho Web App.
- Thiết kế giao diện Web, hiển thị thông tin thiết bị ứng với mỗi user khác nhau và cho phép giám sát, điều khiển thiết bị thông qua internet.
- Lưu trữ thông tin người dùng và dữ liệu tương ứng vào database để phục vụ phân tích và đánh giá.
- Tìm hiểu về một ứng dụng MERN gồm MongoDB, Express, ReactJS, NodeJS.
Bên cạnh đó, cần nghiên cứu, tìm hiểu sơ lược về trồng rau thủy canh, nhu cầu chất dinh dưỡng của cây để cài đặt các thông số cho phù hợp.
1.3.3. Phạm vi nghiên cứu và giới hạn đề tài
- Không gian: Đề tài được thực hiện tại nhà.
- Thời gian: Thời gian nghiên cứu từ tháng 1 năm 2022 đến tháng 5 năm 2022.
- Nội dung: Đề tài giới hạn ở quy mô mô hình sản phẩm thực tế trồng rau thủy canh tại nhà.
1.3.4. Phân chia công việc
Công việc |
Trần Trung Dũng |
Hoàng Đình Toản |
Lập trình Firmware phần cứng |
|
X |
Lập trình Web Application và Hosting |
X |
|
Thiết kế mạch |
|
X |
Gia công mạch và thực hiện mô hình |
X |
X |
CHƯƠNG 2: CÁC VẤN ĐỀ LÝ THUYẾT LIÊN QUAN
2.1. Phần cứng
2.1.1. Module ESP32 - WROOM32
2.1.1.1. Giới thiệu
Module ESP32 – WROOM- 32 (ESP-WROOM-32) là một module vi điều khiển tích hợp WiFi + BLE (System on Chip – SoC) phát triển bởi Espressif, được sử dụng phổ biến trong các ứng dụng IoT (Internet of Things) hiện nay bởi hiệu năng mạnh mẽ và giá cả hợp lý. Có thể bắt gặp chúng trong những ứng dụng về mạng cảm biến không dây tiết kiệm điện năng (low-power sensor networks) hay nhà thông minh (Smart Home), tới những ứng dụng phức tạp hơn như mã hóa giọng nói (voice encoding), phát trực tiếp âm nhạc (music streaming), giải mã MP3 (MP3 decoding), …
Hình 2: Module ESP-WROOM32
Hình 3: Cấu tạo bên trong ESP -WROOM32
Cấu tạo chính của module bao gồm một vi điều khiển SoC ESP32 – D0WDQ6 32bit với 2 nhân hoạt động độc lập có thể dễ dàng điều khiển để hoạt động với công suất như ý trong những ứng dụng cần tiết kiệm điện năng. Xung clock có thể lựa chọn từ 80MHz lên tới 240MHz. Bên cạnh đó, ESP32 cũng được tích hợp các bộ ngoại vi khá đầy đủ như SPI, UART, I2S, I2C, Touch sensor,… có thể dễ dàng lập trình và sử dụng. Bên cạnh vi điều khiển trung tâm, module còn có một SPI flash tốc độ cao (đối với ESP_WROOM32 dung lượng SPI flash là 4MB) có nhiệm vụ lưu trữ firmware, giao tiếp với vi điều khiển thông qua giao thức SPI (GPIO 6 đến GPIO 11).
Thông số kỹ thuật của module[1]:
Categories |
Items |
Specifications |
Certification |
RF certification |
FCC/CE/IC/TELEC/KCC/SRRC/NCC |
WiFi certification |
Wi-Fi Alliance |
|
Bluetooth certification |
BQB |
|
Green certification |
RoHS/REACH |
|
WiFi |
Protocols |
802.11 b/g/n (802.11n up to 150 Mbps) |
A-MPDU and A-MSDU aggregation and 0.4 µs guard interval support |
||
Frequency range |
2.4 GHz ~ 2.5 GHz |
|
Bluetooth |
Protocols |
Bluetooth v4.2 BR/EDR and BLE specification |
Radio |
NZIF receiver with -97 dBm sensitivity |
|
Class-1, class-2 and class-3 transmitter |
||
AFH |
||
Audio |
CVSD and SBC |
|
Hardware |
Module interface |
SD card, UART, SPI, SDIO, I2C, LED PWM, Motor PWM, I2S, IR |
GPIO, capacitive touch sensor, ADC, DAC |
||
On-chip sensor |
Hall sensor, temperature sensor |
|
On-board clock |
40 MHz crystal |
|
Operating current |
Average: 80 mA |
|
Operating voltage |
2.7 ~ 3.6V |
|
Software |
Wi-Fi Mode |
Station/SoftAP/SoftAP+Station/P2P |
Wi-Fi Security |
WPA/WPA2/WPA2-Enterprise/WPS |
|
Encryption |
AES/RSA/ECC/SHA |
|
Firmware upgrade |
UART Download / OTA (download and write firmware via network or host) |
|
Software development |
UART Download / OTA (download and write firmware via network or host) |
|
Network protocols |
IPv4, IPv6, SSL, TCP/UDP/HTTP/FTP/MQTT |
|
User configuration |
AT instruction set, cloud server, Android/iOS app |
Bảng 2: Thông số kỹ thuật Module ESP-WROOM32
2.1.1.2. Ứng dụng trong đề tài
Đề tài sử dụng module ESP – WROOM32 làm vi điều khiển trung tâm, xử lý các yêu cầu ở phía thiết bị như: Đọc cảm biến, hiện thị LCD, kết nối WiFi để gửi dữ liệu lên server,…
Chip được lập trình thông qua Bộ công cụ (SDK - Sofware Development Kit) của hãng Espressif - ESP-IDF, nền tảng là ngôn ngữ C kết hợp với hệ điều hành thời gian thực FreeRTOS giúp tối ưu trong việc quản lý tài nguyên của vi điều khiển và thực hiện các tác vụ.
2.1.2. LCD 20x4 I2C
2.1.2.1. Giới thiệu
LCD (Liquid Crystal Display) với driver HD44780 được sử dụng phổ biến trong các ứng dụng vi điều khiển với nhiều ưu điểm như: Cho phép hiển thị các ký tự đa dạng, trực quan (chữ, số và ký tự đồ họa), dễ dàng đưa vào mạch với nhiều giao thức giao tiếp khác nhau, tốn ít tài nguyên hệ thống và giá thành rẻ,…
Hình 4: Màn hình LCD 20x4
Thông số kỹ thuật:
Điện áp hoạt động |
5VDC |
Dòng điện |
10mA |
Số dòng |
4 |
Số cột |
20 |
Đèn nền |
Xanh lá |
Kích thước |
98 x 60 x 13.5mm |
Giao tiếp |
4bit/8bit |
Bảng 3: Thông số kỹ thuật LCD 20x4
Module I2C cho LCD sử dụng chip PCF8574 giúp chuyển đổi giao tiếp song song 8bit/4bit của LCD thành giao tiếp I2C, giúp tiết kiệm số chân điều khiển cho LCD:
Hình 5: Module I2C cho LCD
Thông số kỹ thuật:
Điện áp hoạt động |
2.5V – 6V |
Hỗ trợ màn hình |
LCD 1602, 1604, 2004 (driver HD44780) |
Giao tiếp |
I2C |
Địa chỉ mặc định |
0x27 (có thể điều chỉnh qua các Jump A0, A1, A2) |
Kích thước |
41x19x15.3 mm |
Bảng 4: Thông số kỹ thuật Module I2C PCF8574
2.1.2.2. Ứng dụng trong đề tài
LCD sẽ giao tiếp với vi điều khiển ESP32 thông qua module I2C để hiển thị thông số cảm biến (Nồng độ chất dinh dưỡng hòa tan TDS, độ PH và nhiệt độ). Đồng thời màn hình cũng kết hợp với núm xoay encoder để cài đặt các thông số cho thiết bị (cài các giá trị ngưỡng, điều khiển cập nhật firmware,…).
2.1.3. Rotary Encoder EC11
2.1.3.1. Giới thiệu
Rotary Encoder (hay còn gọi là núm xoay vô cấp, công tắc vô cấp) là một núm xoay encoder với 2 tiếp điểm A, B được đặt lệnh nhau 90 độ và một nút nhấn ở giữa, được sử dụng để cài đặt thông số phổ biến trong các thiết bị điện tử dân dụng như Micro không dây, Crossover, máy cấp nguồn DC,…
Hình 6: Cấu tạo rotary encoder EC11
Nguyên lý hoạt động:
Núm xoay hoạt động như một bộ encoder thông thường: Khi xoay núm, 2 tiếp điểm cố định A và B sẽ lần lượt tiếp xúc và mất tiếp xúc với tiếp điểm C (GND) cho ra xung trên 2 chân A và B như hình bên dưới:
Hình 7: Nguyên lí hoạt động Rotary Encoder EC11
Khác với Encoder thông thường dùng để đọc tốc độ động cơ, Encoder EC11 sẽ có các rãnh nhỏ xác định được 1 xung (khi vặn núm xoay ta sẽ cảm nhận rõ các rãnh này). Bằng việc đếm xung A và B, ta dễ dàng thay đổi giá trị của các biến trong chương trình, kết hợp với nút nhấn ở giữa khiến cho việc cài đặt các giá trị cũng như điều khiển hệ thống trở nên dễ dàng, thay thế bàn phím thông thường.
2.1.3.2. Ứng dụng trong đề tài
Rotary Encoder EC11 được sử dụng kết hợp với màn hình LCD 20x4 cho phép người dùng điều khiển hệ thống ở phía thiết bị (cài đặt thông số, cân chỉnh cảm biến, cập nhật firmware,…).
2.1.4. Cảm biến nhiệt độ DS18B20
2.1.4.1. Giới thiệu
Cảm biến nhiệt độ DS18B20 là loại cảm biến nhiệt độ trả về tín hiệu số, được ứng dụng rộng rãi trong các ứng dụng cần đo nhiệt độ theo thời gian thực với nhiều ưu điểm như: Sai số nhỏ và kích thước nhỏ, giá thành rẻ, giao tiếp đơn giản và đặc biệt là có loại có khả năng chống nước, phù hợp cho các ứng dụng cần đo đạc nhiệt độ của chất lỏng.
Hình 8: Cảm biến nhiệt độ DS18B20 (loại chống nước)
Hình 9: Cấu tạo DS18B20
Thông số kỹ thuật:
Điện áp |
3 – 5.5V |
Tầm đo |
-55 đến 125 (-67đến 257) |
Sai số |
ở dải -10 đến 85 |
Độ phân giải |
9 đến 12bits (có thể lựa chọn) |
Chuẩn giao tiếp |
1-Wire (1 dây) |
Đường kính đầu dò |
6mm |
Chiều dài dây |
1m |
Bảng 5: Thông số kỹ thuật cảm biến nhiệt độ DS18B20
2.1.4.2. Ứng dụng trong đề tài
Cảm biến nhiệt độ DS18B20 được sử dụng để theo dõi nhiệt độ của dung dịch thủy canh, đồng thời tham gia hiệu chuẩn giá trị TDS đọc được (giá trị TDS phụ thuộc vào nhiệt độ của dung dịch).
2.1.5. Cảm biến PH
2.1.5.1. Giới thiệu
Độ PH của dung dịch đặc trung cho mức độ hoạt động của ion trong dung dịch đó, thường được tính theo công thức: . Độ PH được đo trong dải từ 0-14, dung dịch có PH = 7 là dung dịch trung tính (nồng độ và bằng nhau), dung dịch có PH<7 là dung dịch có tính axit, dung dịch có PH>7 là dung dịch có tính kiềm (bazo). Hình dưới là độ PH của một số dung dịch thường gặp:
Hình 10: Độ PH của một số dung dịch thường gặp
Để đo độ PH, có thể sử dụng phương pháp chỉ thị màu (sử dụng giấy có tẩm chất chỉ thị màu khác nhau theo độ PH và so sánh với bảng màu cho trước) hoặc phương pháp điện hóa (sử dụng điện cực). Trong báo cáo này chỉ trình bày cách đo PH bằng phương pháp điện hóa.
Cấu tạo que đo: Một que đo sẽ bao gồm 2 điện cực, một điện cực đo, hay còn gọi là điện cực thủy tinh (measuring electrode) và một điện cực tham chiếu (reference electrode). Điện cực thủy tinh cấu tạo gồm một sợi dây (thường là được làm bằng Ag hoặc AgCl) được đặt trong dung dịch KCl đã biết trước độ PH (thường là 7) được chứa trong một bóng đèn nhỏ làm từ thủy tinh đặc biệt có chứa muối kim loại (thường là hợp chất của Na và Ca). Điện cực tham chiếu cấu tạo gồm một dây Ag/AgCl được ngâm trong dung dịch KCl. Hai điện cực này có thể được làm riêng biệt hoặc đúc chung trong một khối giúp que đo nhỏ gọn và dễ sử dụng hơn:
Hình 11: Cấu tạo que đo PH loại tách riêng điện cực
Hình 12: Cấu tạo que đo PH loại chung điện cực
Nguyên lý đo:
- KCl bên trong điện cực thủy tinh (màu cam) là dung dịch trung tính có độ PH bằng 7, vì thế nó chứa một lượng nhất định ion . Giả sử dung dịch màu xanh lam là dung dịch cần đo PH, và dung dịch này có tính axit (nồng độ ion cao hơn dung dịch màu cam). Nhiệm vụ của điện cực thủy tinh là đo sự khác biệt về độ PH giữa dung dịch cam và dung dịch xanh lam bằng cách đo sự khác biệt điện áp mà các ion của chúng tạo ra. Vì chúng ta đã biết PH của dung dịch cam, ta có thể suy ra PH của dung dịch xanh lam.
- Khi 2 điện cực được nhúng vào dung dịch cần đo (màu xanh lam), một số ion di chuyển về phía mặt ngoài của điện cực thủy tinh và thay thế một số ion kim loại bên trong nó, trong khi đó một số ion kim loại lại di chuyển từ điện cực thủy tinh vào trong dung dịch màu xanh lam. Sự trao đổi ion cũng diễn ra bên trong điện cực thủy tinh. Điều này gây ra sự khác nhau của nồng độ ion trên 2 mặt của bóng đèn thủy tinh, gây ra một hiệu điện thế nhỏ (từ vài chục tới trăm milivolt), tạo ra sự khác biệt về điện áp giữa điện cực đo và điện cực so sánh.
- Đo điện áp này, ta xác định được sự chênh lệch giữa nồng độ bên trong và bên ngoài bóng đèn thủy tinh (cũng là sự khác biệt giữa dung dịch cần đo và dung dịch chuẩn). Nếu điện áp càng dương, chứng tỏ dung dịch cần đo có nồng độ ion càng cao hơn dung dịch chuẩn nên có tính axit. Ngược lại nếu điện áp càng âm, dung dịch cần đo có nồng độ càng thấp hơn dung dịch chuẩn nên có tính kiềm.
[1] Espressif Systems, ESP32-WROOM-32 (ESP-WROOM-32) Datasheet ver2.4
....
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1. Kết luận
6.1.1. Ưu điểm
- Hệ thống ứng dụng mô hình IoT, là xu thể của tương lai giúp việc giám sát và quản lý thiết bị trở nên hiệu quả hơn.
- Hệ thống hoạt động hiệu quả và ổn định, góp phần giảm bớt công sức cho việc chăm sóc dàn cây thủy canh.
- Thành phần cấu tạo đơn giản, dễ dang thay thế khi gặp sự cố
- Tính năng của hệ thống được phát triển dựa trên nhu cầu của người sử dụng, giúp việc sử dụng cũng như cập nhật, bảo trì hệ thống được đơn giản và thuận lợi.
- Giá thành rẻ phù hợp với các mô hình sản xuất thủy canh có quy mô vừa và nhỏ.
6.1.2. Nhược điểm
- Do giới hạn của đề tài (thời gian nghiên cứu, kinh phí,…) nên các thành phần ở phía máy chủ của hệ thống (MQTT broker, database, back-end sever) mới chỉ dừng lại ở mức độ mô hình, chưa thể đưa ra sử dụng với quy mô lớn.
- Do chất lượng của các cảm biến TDS và PH chưa cao, tín hiệu đọc về vẫn có còn sai số tương đối lớn (dẫn đến phải hiệu chuẩn cảm biến thường xuyên).
- Hệ thống vẫn chưa thể thực hiện gửi các giá trị cấu hình theo chu trình phát triển của cây một cách tự động. Nghĩa là người dùng chỉ cần chọn loại cây và hệ thống sẽ tự động gửi các giá trị cấu hình tùy thuộc vào từng thời điểm phát triển của cây.
- Hiện tại web app đang sử dụng socketio nhưng về đồ thị vẫn chưa thể cập nhật real-time.
- Giao diện Web chưa được xây dựng tốt với những thiết bị có kích thước và độ phần giải khác nhau.
6.1.3. Kết luận
Tuy vẫn còn những hạn chế cần phải khắc phục nhưng hệ thống đã đạt được hầu hết các mục tiêu được đề ra trong phần nhiệm vụ. Đồng thời, sau gần 5 tháng thực hiện đề tài nhóm sinh viên đã rút ra được những ..
- Trong quá trình tìm hiểu lý thuyết, phải xác định rõ lý thuyết cần đọc để tránh lan ....
- Cần đề ra kế hoạch và thực hiện kế hoạch một cách nghiêm túc, trành trì hoãn ảnh hưởng đến tiến độ đề tài.
- Cuối cùng, đây cũng là cơ hội để sinh viên rèn luyện khả năng viết báo cáo, có thể nói ...
6.2. Hướng phát triển
Đề tài có khả năng ứng dụng thực tế cao, đặc biệt là trong các hộ gia đình hoặc hệ thống thủy canh vừa và nhỏ. Một số hướng phát triển để đề tài trở nên hoàn thiện hơn:
- Sử dụng các cảm biến chất lượng cao chuyên dùng trong môi trường công nghiệp để nâng cao độ chính xác của phép đo và giảm tần suất hiệu chuẩn cảm biến.
- Các thành phần linh kiện như mạch in, hộp bảo vệ,... cần được gia công thay vì làm thủ công bằng tay, giúp tăng sự ổn định cho hệ thống.
- Phát triển hệ thống thể thực hiện gửi các giá trị cấu hình theo chu trình phát triển của cây một cách tự động.
- Đồ thị có thể cập nhật các giá trị real-time.
- Phát triển thêm App điện thoại có chức năng gồm tự động kết nối wifi cho ESP32 tương tự như ESP32 Smartconfig và các chức năng hiện có và sẽ phát triển trong tương lai của Web App.
- Web App có thể gửi các thống báo hoặc cảnh báo đến người dùng thông qua tin nhắn SMS hoặc email.