TRƯỜNG ĐẠI HỌC CẦN THƠ TRƯỜNG BÁCH KHOA ….…. BÁO CÁO Đo lường và Điều khiển bằng máy tính_CT397 Đề tài: Tìm hiểu về cảm biến siêu âm, thiết kế hệ thống kiểm soát mực nước Giảng viên hướng dẫn : Thầy Nguyễn Khắc Nguyên Học phần : Đo lường và Điều khiển bằng Máy tính Nhóm : 09 Sinh viên thực hiện : Nguyễn Nhật Linh B2012513 Nguyễn Mạnh Hà B2012497 Nguyễn Quốc Bảo B2012416 Lê Nhật Em B2012496
GIỚI THIỆU ĐỀ TÀI
Tên và mục tiêu đề tài
❖ Tên đề tài thực hiện: Tìm hiểu về cảm biến siêu âm, thiết kế hệ thống kiểm soát mực nước
❖ Mục tiêu của đề tài:
- Xây dựng được hệ thống kiểm soát mực nước trong bình chứa
- Xây dựng giao diện Dashboard theo dõi và giám sát cho hệ thống.
Các tính năng cơ bản
- Đề tài có thể theo dõi và giám sát được mực nước trong bình chứa khi đóng hoặc xả van nước thông qua cảm biến siêu âm HC-SR04 và hiển thị giá trị mực nước lên giao diện Dashboard và màn hình LCD
- Giao diện Dashboard cho phép người dùng theo dõi trạng thái mực nước và trạng thái của một số thiết bị chấp hành khác như (Động cơ, led, còi…) Đồng thời có thể điều khiển trực tiếp các thiết bị chấp hành như động cơ bơm nước phụ và còi báo từ giao diện.
Phương pháp thực hiện
❖ Nắm rõ yêu cầu của đề tài và thực hiện theo đúng với mục đích đề ra:
- Đầu tiên, Tìm hiểu về đề tài, ứng dụng trong cuộc sống và những mô hình của đề tài, thực hiện mô phỏng phần cứng cho đề tài, chạy thử nghiệm ghi nhận kết quả
- Sau đó, tiến hành lắp đặt thực tế mô mình cho hệ thống,kiểm tra sai số và hiệu chỉnh Rút ra những kết luận, nhận xét ưu và nhược điểm của đề tài
➢ Các bước để tiếp cận đề tài cụ thể như sau:
Bước 1: Tìm hiểu về cảm biến siêu âm
- Về nguyên lý hoạt động, cách nó đo mực nước và yếu tố ảnh hưởng đến kết quả đo
Bước 2: Xác định rõ ứng dụng của hệ thống
- Xác định rõ mục tiêu ứng dụng của hệ thống được ứng dụng trong bể chứa nước hay trong nông nghiệp và công nghiệp…
Bước 3: Thiết kế hệ thống:
- Dựa trên những gì đã xác định, lựa chọn thiết kế hệ thống phù hợp bao gồm việc (lựa chọn cảm biến, vị trí lắp đặp, và thiết kế phần cứng, mô phỏng cho hệ thống và thiết kế phần mềm để điều khiển và giám sát)
Bước 4: Lập trình và mô phỏng hệ thống
- Viết chương trình để điều khiển và giám sát cho hệ thống sau đó tiến hành kiểm tra hiệu suất và độ chính xác của hệ thống
Bước 5: Thử nghiệm và điều chỉnh
- Cuối cùng, chạy thử nghiệm hệ thống trong điều kiện thực tế và hiệu chỉnh nếu cần thiết
Bước 6: Nhận xét về đề tài
- Những ưu và nhược điểm của đề tài mang lại hướng phát triển cho đề tài và những giải pháp đề xuất, cải tiến (nếu có)
▪ Lưu ý về việc chọn cảm biến:
Cần lựa chọn dãy đo của của biến phù hợp, điều kiện môi trường sử dụng (nhiệt độ, độ ẩm, áp suất…) và loại chất lỏng cần để đo.
THỰC HIỆN ĐỀ TÀI
Mô hình hệ thống
1.1 Mô tả sơ lược về hệ thống:
❖ Mô tả sơ lược hệ thống:
“ Hệ thống kiểm soát mực nước bằng cảm biến siêu âm hoạt động dựa trên nguyên lý phản xạ sóng siêu âm Dây là cách mô tả hoạt động của hệ thống: Cảm biến siêu âm (HC-SR04), được lắp trên đầu của một bình chứa khi đo mực nước cảm biến này phát ra sóng siêu âm và nhận lại sóng phản xạ từ bề mặt nước Khoảng cách từ cảm biến đến bề mặt nước có thể được tính toán dựa trên thời gian mà sóng siêu âm mất để đi và trở lại Bộ điều khiển (MCU), nhận tín hiệu từ cảm biến siêu âm và xử lý thông tin để xác định mực nước hiện tại trong bình để ra lệnh cho thiết bị chấp hành Thiết bị chấp hành (như
Motor, lcd 16*2, led, buzzer), dựa vào thông tin từ bộ điều khiển Các thiết bị này sẽ hiển thị trạng thái mực nước (như lcd 16*2) hoặc thêm hoặc giảm lượng nước trong bình (motor bơm) và biểu diễn trạng thái mực nước cao hay thấp
(led đơn) Cuối cùng, Giao diện người dùng (Dashboad trên node-red), giao diện này cho phép người dùng có thể theo dõi mực nước hiện tại cũng như các trạng thái của motor, led… và điều khiển chúng trên giao diện.”
❖ Mô tả cách để tính toán khoảng cách đến vật cản của cảm biến siêu âm:
Hình 1: Ảnh mô tả khoảng cách truyền và phản hồi
- Cảm biến siêu âm HC-SR04 phát sóng siêu âm tới vật cần đo
- Sóng siêu âm gặp vật cản phản xạ lại cảm biến
- Gọi t là thời gian từ khi phát sóng siêu âm đến khi sóng phản xạ lại
- Khoảng cách đo được tính theo công thức:
+ T là thời gian sóng siêu âm phát ra khi gặp vật cản (không tính lúc phản xạ lại): T = 𝒕
+ V là vận tốc sóng siêu âm trong không khí (khoảng 340m/s) 𝟐
+ S là khoảng cách cần đo
Vậy 1𝜇s thì sóng siêu âm đi được 0.034cm Số 𝜇s tương ứng với 1cm là: 1
= 29.41 𝜇s đây cũng là số dùng để tính toán
❖ Mô tả cách đo mực nước trong bình chứa:
Hình 2: Sơ đồ minh họa cách tính mực nước trong bình
➢ Mô tả: Nhóm chuẩn bị một bình chứa nước với chiều cao là 18cm khi cảm biến đo đến bề mặt của nước sẽ thu một giá trị là X khi đó để xác định lượng nước còn lại trong bình bằng cách là lấy chiều cao của bình trừ đi X
1.2 Vẽ mô hình hệ thống dạng khối
Hình 3: Mô hình hệ thống dạng khối
❖ Mô tả sơ đồ khối hệ thống: Hệ thống kiểm soát mực nước dùng Arduino Uno làm vi xử lý trung tâm
+ Bộ nguồn: Có nhiệm vụ cung cấp nguồn điện cho các thiết bị sử dụng Nó cung cấp nguồn cho Arduino để xử lý dữ liệu, cung cấp cho bộ điều khiển L298N để điều khiển động cơ…
+ Bộ xử lí trung tâm: Tiếp nhận tín hiệu từ cảm biến để xử lý và trả về tín hiệu để điều khiển các bộ như bộ cảnh báo, bộ hiển thị, bộ điều khiển
+ Bộ đo lường: Có nhiệm vụ đo khoảng cách mực nước từ bình chứa khi động cơ bơm nước vào bình và nó gửi tín hiệu về cho bộ xử lý trung tâm
+ Bộ hiển thị: Dùng để hiển thị thông tin mực nước đã gửi về từ cảm biến thông qua xử lí của Arduino
+ Bộ cảnh báo: Dùng để cảnh báo tình trạng của hệ thống nếu động cơ bơm chính xảy xự cố hư hỏng thì sẽ cảnh báo và bật động cơ phụ trược tiếp từ giao diện Dashboard
+ Bộ điều khiển: Mạch điều khiển L298N dùng để điều khiển động cơ bơm nước hoạt động và đồng thời có thể điều chỉnh tốc độ bơm của động cơ
+ Giao diện Dashboard: Dùng để theo dõi và giám sát mực nước và những trạng thái làm việc của các thiết bị như động cơ, led…Đồng thời có thể điều khiển bằng nút nhấn để bật động cơ phụ và còi
Bộ xử lí tung tâm
(Theo dõi và điều khiển)
Thiết kế phần cứng mạch điện
2.1 Mô tả sơ lược hoạt động của mạch điện
Hình 4: Sơ đồ nguyên lý mạch điện mô phỏng trên phần mềm Proteus
❖ Mô tả sơ lược hoạt động mạch điện: Hệ thống sử dụng Arduino Uno làm trung tâm xử lý dữ liệu Màn hình LCD 16× 2 sử dụng chuẩn I2C (để tiết kiệm chân trên Arduino) dùng để hiển thị mực nước khi đo được từ cảm biến siêu âm HC-SR04 Mạch L298N dùng để điều khiển động cơ 12V để bơm nước ngoài ra nó còn dùng để điều chỉnh tốc độ bơm nước Hai led đơn RED và BLUE dùng để hiển thị hai trạng thái nước trong bình còn ít hay nhiều Động cơ phụ 5V được bật trược tiếp từ giao diện Dashboard để phòng trường hợp động cơ chính bị hư hỏng và có thể thay thế cho động cơ chính Và cuối cùng cổng COM dùng để giao tiếp với giao diện Dashboard
2.2 Vẽ sơ đồ khối phần cứng mạch điện
Motor Phụ và Còi báo
(Điều khiển mực mước trong bình)
Hình 5: Sơ đồ khối phần cứng mạch điện
➢ Chú thích: : Phần này được điều khiển từ giao diện Dashboard 2.3 Thiết kế chi tiết
- Mô tả: Cung cấp nguồn cho các thiết bị có trong hệ thống như cho Arduino, mạch L298N và Motor bơm…
Khối xử lí dữ liệu cảm biến:
- Mô tả: Chân Trig dùng để phát tín hiệu siêu âm của HC-SR04 được kết nối với chân số 9 trên Arduino và thu tín hiệu Echo được kết nối với chân số 10 Ở khối này cảm biến có nhiệm vụ đo khoảng cách và gửi về cho Arduino xử lý tín hiệu
Khối hiển thị dữ liệu:
- Mô tả: Màn hình LCD 16× 2 sư dụng chuẩn I2C (để tiết kiệm chân cắm cho
Arduino) có nhiệm vụ hiển thị thông tin về giá trị mực nước, cung cấp thông tin trực quan cho người xem Chân SDA và SCL của I2C lần lượt kết nối với chân A4 và A5 trên Arduino
Khối điều khiển động cơ:
- Mô tả: Mạch L298N dùng để điều khiển động cơ bơm nước 12V nó điều khiển động cơ on hoặc off và băm xung thông qua chân En (từ 0 đến 255) thông qua đó có thể điều chỉnh tốc độ bơm của động cơ Chân In3 và In 4 được của mạch L298N kết nối với 8 và 7 của Arduino và chân EnB được kết nối với chân số
- Mô tả: Các thiết bị chấp hành dùng để hiển thị trạng thái của hệ thống như
Led RED dùng để biểu diễn trạng thái mực nước thấp và Led BLUE dùng để biểu diễn trạng thái nước đầy Động cơ bơm dùng để bơm nước theo mực nước định sẵn 1 Động cơ phụ 5V điều khiển trực tiếp trên Dashboar nó dùng để giả lập cho động cơ bơm chính khi bị hỏng và có thể bật nó thay thế cho động cơ chính Cuối cùng là còi báo dùng để bật trong trường hợp khẩn cấp để cảnh báo hệ thống bị trục trặc hoặc gặp sự cố
Khối truyền/nhận dữ liệu:
- Mô tả: Ở khối này dùng để truyền hoặc hoặc nhận dữ liệu (chuổi JSON, kí tự, số…) giao tiếp giữa Node red và Arduino Truyền từ Arduino về Node red để xử lý hiển thị dữ liệu ra giao diện Dashboar và Arduino nhận dữ liệu từ Node red để điều khiển động cơ, còi báo
1 Mực nước định sẵn: Có thiết lập trong code ở phần sau
Thiết kế phần mềm điều khiển trên board nhúng
3.1 Mô tả chức năng của phần mềm
❖ Mô tả chức năng của phần mềm: Đoạn code của thệ thống cho phép đọc giá trị từ cảm biên siêu âm sau đó qua xử lí của Arduino để hiển thị ra giá trị mực nước lên giao diện Dashboard và màn hình LCD Trong đoạn code kiểm tra mực nước trong bình nếu nhỏ hơn 5cm thì bật động cơ bơm nước đồng thời bật led đỏ để cảnh báo đang hết nước Sau khi bơm lên đến >= water cm thì kiểm tra mực nước đã đạt water cm hay chưa nếu đã đạt thì dừng động cơ bơm và bật led xanh để báo hiệu nước đã đầy Trường hợp mở van xả nước khi nước đã đạt water cm thì động cơ tiếp tục bơm lên cho đến khi đạt water cm chứ không để xả nước cho đến dưới 5cm mới bơm
Vậy tại sao lại có trường hợp = 5 && mucNuoc < 9) { digitalWrite(GREEN_LED_PIN, HIGH); digitalWrite(RED_LED_PIN, LOW); digitalWrite(IN3_PIN, HIGH); digitalWrite(IN4_PIN, LOW); analogWrite(ENB_PIN, 255); json += "\"Dong co\": \"ON\", "; json += "\"LED Red\": \"OFF\", "; json += "\"LED Green\": \"ON\"";
} else { digitalWrite(RED_LED_PIN, LOW); digitalWrite(GREEN_LED_PIN, LOW); json += "\"LED Red\": \"OFF\", "; json += "\"LED Green\": \"OFF\"";
} if (Serial.available() > 0) { char command = Serial.read(); if (command == '1') { digitalWrite(MOTOR2_PIN, HIGH); // Bật động cơ
} else if (command == '0') { digitalWrite(MOTOR2_PIN, LOW); // Tắt động cơ
} else if (command == '2') { digitalWrite(BUZZER_PIN, HIGH); // Bật còi
} else if (command == '3') { digitalWrite(BUZZER_PIN, LOW); // Tắt còi
Thiết kế phần mềm điều khiển trên máy tính
4.1 Mô tả chức năng của phần mền điều khiển trên máy tính
❖ Một số chức năng của phần mềm điều khiển trên máy tính (Giao diện
Dashboard trên Node-red) như:
- Có thể theo dõi trực tiếp được mực nước đang có trong bình và biểu đồ cập nhật lượng nước theo thời gian thực và những trạng thái của các thiết bị chấp hành như: Motor, Led đơn…
- Giao diện còn cho phép điều khiển động cơ phụ dùng trong trường hợp động cơ bơm nước chính bị hỏng và có thể hoạt động thay thế động cơ bơm chính và còi báo dùng để bật cảnh báo khi hệ thống gặp trục trặc (như động cơ không bơm đượcnước, mạch điện hệ thống không ổn định…)
- Giao diện còn hiển thị thông tin, hình ảnh các thành viên nhóm, phần thông tin về đề tài và phần thuyết minh giọng nói của đề tài bằng tiếng Anh
4.2 Giao diện chính chương trình
Giao diện trang chủ của chương trình
Hình 7: Giao diện trang chủ
➢ Mô tả trang chủ của chương trình: Ở trang chủ này thể hiện lên thông tin tên trường Đại học, tên học phần, ngày và giờ cùng với biểu đồ gauge và char để theo dõi lượng nước (ở group 1) Còn đối với group 2 các thông tin như mực nước (Cm), trạng thái động cơ (ON/OFF), trạng thái đèn led (ON/OFF) và nút Switch để điều khiển động cơ phụ khi cần thiết
+ Khi nhấn vào nút Switch: “Click to here” giao diện sẽ hiển thị ra hai dòng thông tin là “Trường Đại học Cần Thơ” và “Đo lường và Điều Khiển” xen kẽ mỗi 2s
+ Khi nhấn vào nút Switch: “Control DC motor” dùng để điều khiển động cơ phụ
+ Khi nhấn vào nút Switch: “Control Buzzer” dùng để bật còi báo
Giao diện trang thành viên nhóm:
Hình 8: Giao diện trang thành viên nhóm
➢ Mô tả trang thành viên nhóm: Trang thành viên nhóm này thể hiện thông tin họ và tên các thành viên trong nhóm, MSSV, ngành học, khóa học, phần trăm đóng góp của các thành viên vào đề tài
+ Khi nhấn vào nút Switch: “Click to here” giao diện sẽ hiển thị ra hai dòng thông tin là “Kỹ thuật Cơ điện tử” và “Khóa 46” xen kẽ mỗi 2s
+ Khi nhấn vào nút Button: Click to show name thì giao diện sẽ hiển thị ra tên của 4 thành viên trong nhóm và MSSV
+ Khi nhấn vào nút Button: “Click to hide name” thì giao diện sẽ ẩn đi tên của
4 thành viên trong nhóm và MSSV
Giao diện trang thông tin đề tài:
Hình 9: Giao diện trang thông tin đề tài
➢ Mô tả trang thông tin đề tài: Đây là trang tóm tắt thông tin về để tài thực hiện của nhóm
+ Khi nhấn vào nút Button: “Click to view information” thì một đoạn thông tin ngắn về đề tài sẽ được hiện ra cho người xem
+ Và khi nhấn vào nút Button: “Click to listen” thì một giọng đọc được thiết lập sẵn sẽ trình bày phần nội dung đề tài bằng tiếng Anh cho người nghe
4.3 Đoạn code các chức năng chính Đoạn code chức năng chính trong Flow trang chủ:
Hình10: Flow trang chủ group 1 trên Node-red Đoạn code trong hàm function 9: let i = 0; let isSwitchOn = true; // Biến này kiểm soát việc hiển thị thông điệp let messages = ["Đo lường và Điều khiển", "Trường Đại học Cần Thơ"];
// Hàm này sẽ được gọi sau mỗi 2 giây let intervalId = setInterval(function () {
// Chỉ gửi thông điệp khi công tắc đang bật if (isSwitchOn) {
// Tạo một thông điệp mới với nội dung từ mảng mssages let msg = { payload: messages[i] };
// Gửi thông điệp node.send(msg);
// Chuyển sang nội dung tiếp theo i = (i + 1) % messages.length;
// Hủy bỏ hàm setInterval khi dừng flow node.on('close', function () { clearInterval(intervalId);
Hình 11: Flow trang chủ group 2 trên Node-red Đoạn code trong hàm function 10: var str = msg.payload; // chuỗi JSON từ Arduino var o = JSON.parse(str); // hàm chuyển sang đối tượng JS msg.payload = o["Muc nuoc trong binh"]; msg1 = { payload: o["Dong co"] }; msg2 = { payload: o["LED Red"] }; msg3 = { payload: o["LED Green"] }; return [msg, msg1, msg2, msg3]; Đoạn code trong hàm function Xử lí cm: var str = msg.payload; // chuỗi "xxx cm" str = str.replace(" cm", ""); // loại bỏ " cm" msg.payload = parseFloat(str); // chuyển chuỗi thành số thực return msg;
SVTH: Nhóm 09 Trang 23 Đoạn code chức năng chính trong Flow thành viên nhóm: Đoạn code trong hàm function 22: var motor = msg.payload; msg.payload = "" + motor; return msg;
// Khi Switch bật thì gửi đến số 1, số này sẽ gửi về Arduino để xử lý ON Motor phụ // Khi Switch tắt thì gửi đến số 0, số này sẽ gửi về Arduino để xử lý OFF Motor phụ
Hình 12: Flow trang thành viên nhóm trên Node-red Đoạn code trong hàm function 27: var motor = msg.payload; msg.payload = "" + buzzer; return msg;
// Khi Switch bật thì gửi đến số 2, số này sẽ gửi về Arduino để xử lý ON Buzzer // Khi Switch tắt thì gửi đến số 3, số này sẽ gửi về Arduino để xử lý OFF Buzzer
SVTH: Nhóm 09 Trang 24 Đoạn code trong hàm function 11: var members = ["Nguyễn Nhật Linh_B2012513", "Nguyễn Mạnh Hà_B2012497", "Nguyễn Quốc Bảo_B2012416", "Lê Nhật Em_B2012496"];
// Tạo một mảng chứa tất cả các tin nhắn var messages = members.map(function (member, index) { return { payload: member };
}); return messages; Đoạn code trong hàm function 12:
// Danh sách tên của các thành viên trong nhóm var members = ["Nguyễn Nhật Linh_B2012513", "Nguyễn Mạnh Hà_B2012497", "Nguyễn Quốc Bảo_B2012416", "Lê Nhật Em_B2012496"];
// Tạo một mảng chứa tất cả các tin nhắn var messages = members.map(function (member, index) { return { payload: "" };
}); Đoạn code trong hàm function 26: let i = 0; let isSwitchOn = true; // Biến này kiểm soát việc hiển thị thông điệp let messages = ["Kỹ thuật Cơ điện tử", "Khóa K46"];
// Hàm này sẽ được gọi sau mỗi 2 giây let intervalId = setInterval(function () {
// Chỉ gửi thông điệp khi công tắc đang bật if (isSwitchOn) {
// Tạo một thông điệp mới với nội dung từ mảng messages let msg = { payload: messages[i] };
// Gửi thông điệp node.send(msg);
// Chuyển sang nội dung tiếp theo i = (i + 1) % messages.length;
// Hủy bỏ hàm setInterval khi dừng flow node.on('close', function () { clearInterval(intervalId);
SVTH: Nhóm 09 Trang 25 Đoạn code chức năng chính trong Flow thông tin đề tài:
Hình 13: Flow trang thông tin đề tài trên Node-red Đoạn code trong hàm function Bản tiếng Anh: msg.payload = "The water level control system is based on an ultrasonic sensor Principle of ultrasonic wave reflection Wires are a way of describing how a system works First, the ultrasonic sensor (HC-SR04), installed on the top of a tank, when measuring the water level, this sensor emits ultrasonic waves and receives reflected waves from the water surface The distance from the sensor to the water surface can be calculated based on the time it takes the ultrasound wave to travel and return Next, the Control Unit (MCU), receives signals from the ultrasonic sensor and processes the information to determine the current water level in the tank to issue commands to the device to execute In addition, the actuator (Motor, LCD 16*2, LED, Buzzer), based on information from the controller, will display the water level status (LCD).16*2) add or reduce the amount of water in the tank (motor) to reach the desired level "; return msg; Đoạn code trong hàm function Hiển thị văn bản: msg.payload = " The water level control system is based on an ultrasonic sensor Principle of ultrasonic wave reflection Wires are a way of describing how a system works First, the ultrasonic sensor (HC-SR04), installed on the top of a tank, when measuring the water level, this sensor emits ultrasonic waves and receives reflected waves from the water surface The distance from the sensor to the water surface can be calculated based on the time it takes the ultrasound wave to travel and return Next, the Control Unit (MCU), receives signals from the ultrasonic sensor and processes the information to determine the current water level in the tank to issue commands to the device to execute In addition, the actuator (Motor, LCD 16*2, LED, Buzzer), based on information from the controller, will display the water level status (LCD).16*2) add or reduce the amount of water in the tank (motor) to reach the desired level "; return msg;
KẾT QUẢ THỰC HIỆN
Mô hình thực tế
❖ Một số hình ảnh mô hình thực tế:
Phần cứng mạch điện
❖ Phần cứng mạch điện của mô hình thực tế
Hình 14: Phần mô hình thực tế của hệ thống
Hình 15: Phần mạch điện của hệ thống
Kết quả thực hiện
➢ Mực nước trong bình là 10.04 cm khi này động cơ ngừng bơm và bật led Blue báo hiệu nước đã đầy
➢ Mực nước đạt 10cm động cơ ngừng bơm và bật led Blue
➢ Mực nước 3.39cm lúc này bật led đỏ để cảnh báo nước đang thấp và bật động cơ bơm nước lên
Hình 16: Kết quả thực hiện
Hình 17: Kết quả thực hiện
Hình 18: Điều khiển động cơ phụ trên giao diện Dashboard
Thí nghiệm độ sai số khi đo mực nước của cảm biến siêu âm:
Hình 19: Thí nghiệm đo mực nước của cảm biến
- Lưu ý: Sau nhiều lần thí nghiệm về độ sai số của cảm biến so với thực tế khi đo mực nước nhóm nhận thấy sai số dao động khoảng từ 0 đến 1cm
❖ Một số lí do sai số trong quá trình thực hiện mà nhóm nhận ra như:
+ Dao động của mặt nước khi bơm khiến cảm biến đo sai
+ Nước trong quá trình bơm vào bình giọt bắt vào cảm biến sẽ dẫn đến sai số khi đo
+ Vị trí lắp cảm biến không cứng cáp nhấp nhô sẽ làm ảnh hưởng đến kết quả đo của cảm biến (do cảm biếm được nhóm lắp trên nắp bình bằng nhựa dẽo nên xảy ra tình trạng này)
+ Các chân kết nối cảm biến với bộ xử lý bị lỏng hoặc không được cắm chặt cũng sẽ ảnh hưởng đến kết quả đo mực nước của cảm biến
Mực nước đo trên thước khoảng 10.70cm so với cảm biến đo được hiển thị trên màn hình LCD là
10.58cm Động cơ chưa được điều khiển Động cơ được điều khiển
Kết quả thực hiện các tính năng đã đặt ra của hệ thống (ở phần 1)
❖ Hai tính năng chính đã đặt ra cho hệ thống ở phần 1 là:
- Tính năng 1: Đề tài có thể theo dõi và giám sát được mực nước trong bình chứa khi đóng hoặc xả van nước thông qua cảm biến siêu âm HC-SR04 và hiển thị giá trị mực nước lên giao diện Dashboard và màn hình LCD
- Tính năng 2: Giao diện Dashboard cho phép người dùng theo dõi trạng thái mực nước và trạng thái của một số thiết bị chấp hành khác như (Động cơ, led, còi…) Đồng thời có thể điều khiển trực tiếp các thiết bị chấp hành như động cơ bơm nước từ giao diện
➢ Kết quả thực hiện: Thực hiện đầy đủ các tính năng đã đề ra có thể quan sát được giá trị mực nước trong bình trên giao diện Dashboard và màn hình LCD đồng thời xây dựng được giao diện Dashboard quan sát và điều khiển thiết bị như động cơ.
Nhận xét chung về ưu nhược điểm của hệ thống
+ Theo dõi và giám sát được trạng thái mực nước trong bình chứa trên LCD và giao diện
+ Cung cấp cách theo dõi trực quan và sinh động hơn
+ Đôi khi nước bơm vào bình bắn vào cảm biến dẫn đến kết quả đo có sai sót
+ Do kết nối bằng dây cắm màn hình LCD hay bị chập chờn
+ Có thể quan sát được trạng thái của tất cả các thiết bị có trong hệ thống
+ Có thể điều khiển đươc thiết bị trực tiếp trên giao diện
+ Các thiết bị chấp hành như led hay bị chập chờn chớp nháy do dao động của mặt nước khi bơm vào bình dẫn đến kết quả trên giao diện bị ảnh hưởng chớp nháy theo
+ Hiển thị thông tin trên giao diện đôi lúc bị trễ khoảng thời gian từ 5 đến 10s
Hướng phát triển cho đề tài
❖ Một số hướng phát triển cho đề tài: “ Hệ thống kiểm soát mực nước sử dụng cảm biến siêu âm ” mà nhóm đề ra như:
+ Có thể thay thế cảm biến siêu âm HC-SR04 bằng một số loại cảm biến có độ chính xác cao hơn như cảm biến áp suất hoặc cảm biến mực điện…nhằm cải thiện độ chính xác khi đo và tăng tính ổn định cho hệ thống
+ Kết hợp IoT (Internet of Things) để quản lí, giám sát và điều khiển từ xa cho hệ thống
+ Nghiên cứu thêm về giao thức mạng MQTT để truyền dữ liệu một cách hiệu quả hơn
+ Nâng cao giao diện người dùng, có thể phát triển một giao diện ứng dụng trên điện thoại khi đó người dùng có thể theo dõi và điều khiển hệ thống một cách thuận tiện
+ Có thể tích hợp thêm chức năng thống kê và báo cáo dữ liệu về lượng nước để người dùng có thể hiểu biết hơn về mô hình tiêu thụ nước của họ.