Yêu cầu sản phẩm Tên: Hệ thống bơm nước tự động Mục đích: Bơm nước tự động hết, dừng bơm đầy xả nước cần thiết Ngõ vào ngõ ra: + Ngõ vào: Tín hiệu phản hồi từ cảm biến phao, công tắc chuyển trạng thái bơm/xả nút cấu hình độ cao cảm biến phao + Ngõ ra: Tín hiệu truyền đến van bơm/xả động Các trường hợp sử dụng: + Nạp chương trình vào Arduino thơng qua Laptop + Chương trình bắt đầu chạy kiểm tra cảm biến phao, công tắc bơm/xả nút nhấn với việc hiển thị chức sử dụng LCD + Khởi động bơm/xả nhận giá trị phản hồi từ cảm biến trạng thái công tắc bơm/xả Mực nước vật chứa bơm xả đến vị trí cảm biến phao + Hệ thống tự động thực việc trì mực chất lỏng bồn chứa đến mực nước cấu hình Chức năng: + Nhận tín hiệu vào từ cảm biến phao, cơng tắc nút để đưa chuỗi liệu kích hoạt xử lý vi điều khiển + Thông qua ngõ vào, hệ thống đưa phương thức xử lý phù hợp cho van bơm/xả Các phương thức xử lý bao gồm tiến hành bơm/xả nước dừng bơm/xả nước Hiệu suất: Độ trễ cho phép khoảng 0.5 ~ s Mực nước chênh lệch ước đoán giới hạn 1cm Nguồn: 220VAC qua biến đổi
GIỚI THIỆU ĐỀ TÀI BÀI TẬP LỚN
ĐẶC TẢ HỆ THỐNG
Tên: Hệ thống bơm nước tự động.
Mục đích: Bơm nước tự động khi hết, dừng bơm khi đầy và xả nước khi cần thiết.
Ngõ vào và ngõ ra:
+ Ngõ vào: Tín hiệu phản hồi từ cảm biến phao, công tắc chuyển trạng thái bơm/xả và các nút cấu hình độ cao của cảm biến phao.
+ Ngõ ra: Tín hiệu truyền đến van bơm/xả và động cơ.
Các trường hợp sử dụng:
+ Nạp chương trình vào Arduino thông qua Laptop.
Chương trình khởi động và tiến hành kiểm tra các cảm biến phao, công tắc bơm/xả, cũng như nút nhấn, đồng thời hiển thị chức năng đang hoạt động trên màn hình LCD.
Khởi động bơm hoặc xả khi nhận được giá trị phản hồi chính xác từ cảm biến và trạng thái của công tắc Mực nước trong vật chứa sẽ được điều chỉnh đến vị trí cảm biến phao.
+ Hệ thống tự động thực hiện việc duy trì mực chất lỏng trong bồn chứa đến mực nước đã cấu hình.
+ Nhận tín hiệu vào từ cảm biến phao, công tắc và các nút để đưa về chuỗi dữ liệu kích hoạt xử lý trong vi điều khiển.
Hệ thống sử dụng ngõ vào để xác định phương thức xử lý tối ưu cho van bơm/xả, bao gồm việc bơm hoặc xả nước và tạm dừng hoạt động bơm/xả.
Hiệu suất: Độ trễ cho phép khoảng 0.5 ~ 1 s Mực nước chênh lệch ước đoán trong giới hạn 1cm.
Nguồn: 220VAC đi qua bộ biến đổi.
Khối nguồn cung cấp điện cho các khối khác bằng cách sử dụng mạch nguồn để chuyển đổi nguồn 220V AC thành các nguồn DC 24V, 9V và 5V thông qua quá trình chỉnh lưu và ổn áp.
- Computer: Máy tính, sử dụng để nạp chương trình vào bô ̣ nhớ chương trình của
Arduino thông qua Arduino IDE
- Micro-controller: Khối xử lý là Arduino Uno R3, vi điều khiển Atmega328 họ 8bit, có 14 chân digital I/O và 6 chân analog đô ̣ phân giải 10bit, bô ̣ nhớ flash 32KB,
Hình 1.1 Sơ đồ chân UNO R3 (nguồn ảnh: pcboard.ca) Bảng 1-1 Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ Khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Arduino sử dụng nguồn nuôi 9V, có thể lấy từ khối nguồn hoặc lấy trực tiếp từ máy tính khi nạp chương trình.
Cảm biến phao được sử dụng để tự động điều khiển hệ thống bơm và xả nước Khi cảm biến phao ngập trong nước, nó sẽ mở, và khi nước cạn, cảm biến sẽ đóng Trong trạng thái bơm, Arduino điều khiển relay để mở van bơm khi cảm biến phao đóng (phao không có nước) và tắt van bơm khi cảm biến phao hở (phao trong nước) Ngược lại, trong trạng thái xả, Arduino sẽ mở van xả khi cảm biến phao hở (phao trong nước) và tắt van xả khi cảm biến phao đóng (phao không có nước).
Bảng 1-2 Thông số kỹ thuật của phao điện từ
Chiều dài cảm biến 52mm
Chất liệu Nhựa PP Điện áp hoạt động 0 – 110 VDC/AC
Công suất 10 W Áp suất hoạt động < 0.6 mpa
Nhiệt độ môi trường hoạt động -30 – 125 ºC
Van điện từ DC dùng nguồn 24V sẽ hoạt động khi được kích hoạt bởi rờ-le với tín hiệu điều khiển đóng ngắt từ vi điều khiển
Hình 1.3 Van điện từ 24V DC (nguồn ảnh: vanphukien.com)
Bảng 1-3 Thông số kỹ thuật của van điện từ Điện áp 24 VDC
Kết nối Ren / Mặt bích
Kích thước Phi 21, phi 27, phi 34, phi 42, phi 48, phi
Nhiệt độ làm việc -10 ~ 180 ºC Áp lực 0.5 ~ 10 bar
Trong môi trường nhiệt độ phòng từ 25 đến 30 ºC, sản phẩm được lắp đặt gần khu vực chứa chất lỏng, dẫn đến độ ẩm cao Để giảm thiểu ảnh hưởng của độ ẩm lên thiết bị, nhóm thiết kế đã thực hiện biện pháp cách ly giữa phần mạch xử lý và motor.
Hiển thị Cài đặt độ cao Điều khiển
Thay đổi chế độ bơm – xả Điều khiển Điều khiển
1.1.2.3 Sơ đồ khối hệ thống
Hình 1.4 Sơ đồ khối hệ thống
Thay đổi chế độ bơm – xả Điều khiển Điều khiển
Xung điều khiển Điều khiển
1.1.2.5 Phân chia phần cứng và phần mềm
Phần mềm được phát triển bằng trình biên dịch Arduino IDE và lưu trữ trong bộ nhớ chương trình của Arduino Uno R3 Cả phần cứng lẫn phần mềm đều được trình bày chi tiết theo các chức năng mà hệ thống thực hiện.
Bảng 1-4 Phân chia cứng – mềm
Chức năng Phần cứng Phần mềm Đọc giá trị từ cảm biến Cảm biến, Arduino Lệnh đọc giá trị digital, lệnh giải mã
Xử lý thông tin Arduino Lệnh xử lý
Yêu cầu máy bơm thực hiện chức năng Arduino, van bơm/xả DC,
Relay Lệnh đóng cắt relay để van bơm/xả hoạt động theo yêu cầu
Hình 1.6 Sơ đồ kết nối hệ thống
Bộ biến đổi nguồn bao gồm hệ thống biến áp, chỉnh lưu và các IC ổn áp, có chức năng chuyển đổi nguồn điện AC 220V đầu vào thành các nguồn điện 24V, 9V và 5V, nhằm cung cấp năng lượng cho các thành phần của hệ thống.
- Computer: dùng để nạp chương trình vào vi điều khiển.
Hệ thống hoạt động bằng cách tiếp nhận thông tin từ cảm biến, switch và nút nhấn, sau đó thực hiện xử lý dữ liệu và cung cấp phản hồi phù hợp cho các thành phần như động cơ servo, màn hình LCD và van điện từ.
- Khi bật tắt switch, hệ thống sẽ chuyển đổi chế độ bơm và xả, làm thay đổi chiều quay của servo và nội dung hiển thị của LCD.
Khi nhấn nút, hệ thống điều chỉnh độ cao của cảm biến, dẫn đến sự thay đổi góc quay của servo và nội dung hiển thị trên màn hình LCD cũng được cập nhật tương ứng.
- Khi nhận tín hiệu từ cảm biến, hệ thống sẽ thực hiện điều khiển trạng thái đóng ngắt của các van điện từ một cách phù hợp.
1.1.4 Đặc điểm phần mềm Đây là đoạn code khai báo những thư viện và các biến cần dùng trong chương trình.
Các biến này lần lượt theo dõi trạng thái của các sw và điều khiển trạng thái của relay cũng như đèn led báo lỗi.
The code initializes a LiquidCrystal_I2C display with the address 0x27, configured for a 16-character by 2-line layout It defines button inputs for unit, ten, and hundred places, assigns a sensor input for a float, and sets a switch for mode changes between pumping and draining Additionally, it establishes two valves: one for draining from a high tank and another for discharging to a low tank, while also declaring variables to track the statuses of both valves and the overall state of the system.
Cấu hình LCD, servo và các I/O rất quan trọng trong hệ thống Ngắt 0 được kích hoạt khi có sự thay đổi trạng thái của bơm hoặc xả, trong khi ngắt 1 xảy ra khi trạng thái của phao thay đổi Phần “//reset” giúp cấu hình lại hệ thống ngay sau khi reset, dựa trên trạng thái của cảm biến phao và công tắc bơm/xả, đảm bảo mô hình hoạt động chính xác trong từng trường hợp cụ thể.
The code initializes the LCD display and activates its backlight It sets up a servo motor on pin 9 and configures multiple buttons and sensors as inputs, including button1, button2, button3, and a float sensor Additionally, it defines two output pins for valves (van1 and van2) and establishes interrupts to trigger functions when the float state changes The current state of the switch is read as a digital input, along with the sensor's status.
//reset if(inp&&state){ vanstat1=HIGH; vanstat2=LOW;
} else if (inp&&!state){ vanstat1=LOW; vanstat2=LOW;
} else if (!inp&&state){ vanstat1=LOW; vanstat2=HIGH;
Trong chương trình con button(), hệ thống xác định trạng thái công tắc để điều chỉnh mức nước phù hợp, với biến count dùng để xác định độ sâu của cảm biến phao Mô hình điều khiển được xây dựng theo nguyên tắc: khi bơm, cảm biến sẽ hạ từ độ sâu 0m (cao 3m so với đáy bể) xuống 3m (cao 0m so với đáy bể) và nếu độ sâu vượt quá 3m, cảm biến sẽ trở về độ sâu 0m Đối với trường hợp xả, cảm biến phao di chuyển từ độ sâu 3m xuống 0m, và nếu độ sâu dưới 0m, cảm biến sẽ quay trở lại độ sâu 3m.
The code snippet reads the status of three buttons using the digitalRead function If the state is HIGH and button1 is pressed, it introduces a delay of 50 milliseconds before confirming the button press Upon confirming that button1 is still pressed, it increments the count by 0.5.
} if(button2Status==HIGH){ delay(50); if(button2Status==HIGH){ count=count+5;
} if(button3Status==HIGH){ delay(50); if(button3Status==HIGH){ count=count+50;
} else{ if(button1Status==HIGH){ delay(50); if(button1Status==HIGH){ count=count-0.5;
} if(button2Status==HIGH){ delay(50); if(button2Status==HIGH){ count=count-5;
} if(button3Status==HIGH){ delay(50); if(button3Status==HIGH){ count=count-50;
CÁC VẤN ĐỀ CƠ BẢN CỦA HỆ THỐNG
1.2.1.1 Hoàn cảnh kinh tế, môi trường, xã hội
Với nhu cầu ngày càng tăng về việc tiết kiệm nước, sự ra đời của hệ thống điều khiển mực nước tự động trở thành một xu hướng tất yếu trong nền kinh tế hiện nay.
Môi trường: hệ thống giúp cải thiện hiệu suất sử dụng nguồn nước, giảm thiểu sự lãng phí không cần thiết, giảm ô nhiễm nước.
Xã hội: vấn đề ô nhiễm nguồn nước đang là một vấn đề đáng báo động, nên chúng ta cần phải hạn chế tối đa việc ô nhiễm nguồn nước.
1.2.1.2 Tác động của giải pháp kĩ thuật
Khi lựa chọn linh kiện cho hệ thống, cần xem xét các yếu tố như giá thành hợp lý, độ bền cao, khả năng tiết kiệm năng lượng, độ chính xác tối ưu, và tính dễ dàng trong lắp đặt cũng như sửa chữa Điều này giúp hạn chế tối đa tổn thất khi phát sinh lỗi, đảm bảo hiệu quả kinh tế cho dự án.
Để bảo vệ môi trường, cần lựa chọn các linh kiện tiêu hao ít công suất và tiết kiệm điện Bên cạnh đó, các linh kiện nên có độ chính xác cao để giảm thiểu tối đa tình trạng thất thoát nước không mong muốn.
Xã hội: xem xét việc lựa chọn những linh kiện gọn nhẹ, vị trí lắp đặt phù hợp, tránh gây ảnh hưởng đến người xung quanh.
1.2.1.3 Xem xét lựa chọn giải pháp kỹ thuật và chọn giải pháp phù hợp
Phương án 1: dùng Arduino, 2 cảm biến, LCD, hệ thống nút nhấn, van bơm/xả DC.
Phương án 2: dùng Arduino, 1 cảm biến, 1 servo, 2 van điện từ, LCD, hệ thống nút nhấn.
Phương án 3: dùng STM32, 1 cảm biến, 1 servo, máy bơm DC, hệ thống nút nhấn,
Chúng tôi đã quyết định chọn phương án 2 do tiêu hao công suất thấp nhất so với các phương án khác Phương án này không chỉ dễ lắp đặt mà còn có giá thành không chênh lệch nhiều, đồng thời độ bền cũng cao hơn.
1.2.2.1 Ứng dụng về an ninh, bảo mật
1.2.2.2 Gây nguy hại đến tánh mạng, sức khỏe, kinh tế
Sản phẩm đảm bảo an toàn cho tính mạng và sức khỏe người sử dụng, nhờ vào hệ thống cầu chì bảo vệ nguồn điện, giúp ngăn chặn các rủi ro về cháy nổ trong trường hợp xảy ra sự cố điện.
Kiểm soát hoạt động của hệ thống để không gây lãng phí về nước trong quá trình vận hành.
1.2.2.3 Tác động đến môi trường, xã hội, chính trị
Gây ô nhiễm nguồn nước nếu xuất hiện sự cố khi vận hành.
Mọi người sẽ chỉ trích kẻ gây ô nhiễm nguồn nước.
Hệ thống soft real-time.
Chấp nhận trễ lên đến một vài giây.
Đọc dữ liệu từ cảm biến.
Khởi động van bơm/xả.
KẾ HOẠCH DỰ ÁN
Bảng 1-5 Kế hoạch dự án
Tên hệ thống Hệ thống tự động duy trì mức nước trong bồn chứa.
Công dụng chủ yếu Bơm nước
(nếu thực hiện xây dựng mạch)
Cảm biến phao điện từ: 50 000 đ
Thời gian thực hiện ước tính 4 tuần (28/06/2021~25/07/2021)
Lịch trình Tuần 1 Tuần 2 Tuần 3 Tuần 4
THIẾT KẾ & MÔ PHỎNG
PHẦN CỨNG
Sơ đồ mạch được thiết kế bằng phần mềm Proteus Professional 8, với các khối chức năng được phân tách rõ ràng theo sơ đồ khối và thể hiện mối liên kết giữa chúng một cách rõ ràng.
Hình 2.7 Sơ đồ mạch nguyên lý
2.1.2.1 Yêu cầu thiết kế Để cấp nguồn được cho các thiết bị trong hệ thống, bộ nguồn cần sử dụng phải đáp ứng được các tiêu chí cần thiết phù hợp với từng thiết bị Các thiết bị yêu cầu được cấp nguồn khác nhau:
Arduino Board có thể được cấp nguồn qua jack DC 9V hoặc chân Power 5V Khi sử dụng jack DC 9V, nguồn có thể dao động từ 7 đến 12V nhờ vào bộ ổn áp trên board Ngược lại, chân nguồn 5V và GND yêu cầu nguồn cấp chính xác và ổn định, vì khi sử dụng chân này, mạch ổn áp sẽ bị bỏ qua.
Do vậy, phương án cấp nguồn 9V thông qua jack DC được lựa chọn để cấp nguồn cho
Arduino Board trong hệ thống.
Các cảm biến cần được cấp nguồn 5V để xác định tín hiệu logic cao hoặc thấp Chân I/O có thể chịu dòng tối đa 40mA mà không làm hỏng bo mạch, và điện trở 1 KΩ được sử dụng để đảm bảo dòng trong mạch không vượt quá 5mA Để động cơ máy bơm hoạt động, cần nguồn nuôi 24V.
Như vậy, mạch nguồn cần thiết kế có thể cung cấp nguồn ở các mức điện áp lần lượt là
Các mức điện áp cho mạch gồm 5V, 9V và 24V, cần đảm bảo ổn định và không vượt quá ngưỡng cho phép Theo datasheet của ATmega328P, điện áp tại các chân I/O không được vượt quá 5.5V và cường độ dòng không quá 30mA.
Từ phân tích trên, ta xác định được các yêu cầu thiết kế mạch nguồn cho hệ thống phải đáp ứng được như sau:
- Đầu vào: nguồn áp 220V, tần số 50Hz
- Đầu ra thỏa các điều kiện sau:
Có 3 giá trị áp ra: 24V, 9V và 5V.
Các áp ra ổn định.
Nếu xảy ra quá áp cần có mạch ngắt (xem xét nếu có).
Dòng điện ổn định ở khoảng 1A dành cho 24V và 9V.
Nguồn 5V có mạch bảo vệ quá áp là 5.4V.
Có phần tử hoặc mạch bảo vệ khi dòng ra cao hơn 500mA hoặc 1A.
2.1.2.2 Tính toán các linh kiện
Nguồn AC cấp vào cho mạch nguồn là nguồn điện dân dụng có biên độ 220V và tần số
50Hz Sau đó, một bộ biến áp kích thước nhỏ được sử dụng để biến đổi điện áp trở thành
28V AC Sau đó dùng mạch cầu chỉnh lưu để chỉnh lưu điện áp ngõ ra.
Biến áp và mạch nguồn bao gồm nguồn, biến áp và mạch cầu chỉnh lưu được thể hiện trong hình 2-1 Mạch ổn áp sử dụng IC họ LM 78xx để ổn định điện áp Sau khi nhận được điện áp bán kỳ từ mạch chỉnh lưu cầu, ta sử dụng tụ lọc có giá trị điện dung cao để làm phẳng dạng gợn sóng.
Hình 2-2 Cấu trúc mạch yêu theo datasheet Nguồn: https://www.mouser.com/datasheet/2/149/LM7812-461970.pdf
Dựa trên cấu trúc mạch được khuyến nghị trong datasheet của nhà sản xuất, các mạch ổn áp sử dụng IC LM78xx được thiết kế với các thành phần như sau: Ở đầu vào, giữa chân Input và chân GND, cần gắn tụ 0.33uF, trong khi ở đầu ra, tụ 0.1uF sẽ được kết nối giữa chân Output và GND Cuối cùng, tại đầu ra Output, bổ sung thêm một tụ song song với tụ 0.1uF để cải thiện hiệu suất.
470uF để làm phẳng dạng điện áp ra, không còn gợn sóng điện áp xem như là dòng DC thuần túy.
Mạch ổn áp sử dụng IC7824 được thiết kế để cung cấp điện áp đầu ra 5V an toàn cho board mạch xử lý Để đảm bảo an toàn, mạch bảo vệ đóng ngắt sẽ kích hoạt khi điện áp ở ngõ ra chỉnh lưu vượt quá ngưỡng 5.5V, ngăn ngừa tình trạng hư hỏng do quá tải điện áp.
Khi áp cấp nguồn Vcc nhỏ hơn tổng của điện áp trên diode Zener (VZ) và điện áp mở của transistor Q1 (V), thì transistor Q1 sẽ ở trạng thái tắt (off) trong khi transistor Q2 sẽ dẫn bão hòa Điện áp mở V thường khoảng 0.7V Khi đó, điện áp đầu ra sẽ được tính bằng Vcc trừ đi điện áp bão hòa CE của Q2 (VCE2), với VCE2 khoảng 0.2V, dẫn đến điện áp đầu ra gần bằng VCC.
Khi áp cấp nguồn vượt quá mức VZ + V, transistor Q1 hoạt động, dẫn đến giảm dòng IB2, trong khi transistor Q2 dẫn yếu, làm tăng điện áp VCE2 và giảm điện áp ra tải Khi Q1 đạt trạng thái bão hòa, Q2 sẽ ngắt nguồn cấp cho tải.
Do yêu cầu mạch này làm để bảo vệ amchj nguồn 5V, ta chọn linh kiện như sau:
Diode Zener có điện áp VZ = khoảng 4.4 – 4.7V
Các transistor PNP có VBE khoảng 0.7V và VCESAT khoảng 0.2V
Điện trở ở đây được chọn là 1kΩ.
Các transistor PNP có VBE khoảng 0.7V và VCESAT khoảng 0.2V
Điện trở ở đây được chọn là 1kΩ.
Với mạch bảo vệ như trên thì khi áp cấp nguồn ra vượt mức 5.4 – 5.5V thì mạch sẽ cắt nguồn ra tải.
Hình 2-4 Sơ đồ mạch bảo vệ quá áp cấp nguồn
Thiết kế được thực hiện bằng phần mềm Proteus với các linh kiện được chọn theo tính toán đã trình bày ở phần trên
Hình 3-5 Sơ đồ mạch nguồn cho ra 3 giá trị (caption)
2.1.2.4 Kết quả thiết kế mạch nguồn
Mạch nguồn đã được thiết kế và kiểm tra thông qua mô phỏng trong chương trình Proteus, đạt yêu cầu về hiệu suất Các giá trị đầu ra có sai số chỉ từ 1-2% Cầu chì được sử dụng có khả năng chịu dòng 500mA cho nguồn 5V và 1A cho nguồn 9V và 24V.
Hình 4-7 Mạch nguồn 24V (caption) Điện áp nguồn ra khoảng 23.8V có sai lệch khoảng 0.8% Mạch có sử dụng thêm đèn
Đèn LED sẽ báo hiệu khi có điện áp hoạt động, nhưng sẽ không sáng nếu bị cắt nguồn Mạch nguồn 24V không cần bảo vệ cắt nguồn vì IC ổn áp duy trì điện áp ổn định khoảng 24V Với điện áp đầu vào ổn định khoảng 26V, người dùng không cần lo lắng về tình trạng quá áp, nhất là khi IC7824 có ngưỡng tối đa là 40V Biến áp được thiết kế chắc chắn, chuyển đổi từ 220V xuống 26V, giúp ngăn ngừa tình trạng quá áp cho nguồn 24V Nếu dòng điện vượt quá 1A, cầu chì sẽ tự động bảo vệ tải.
Mạch nguồn 9V hoạt động ổn định với điện áp đầu ra khoảng 9V và có đèn LED thông báo hoạt động Nếu nguồn bị cắt, đèn sẽ tắt Mạch này không sử dụng bảo vệ cắt nguồn vì IC ổn áp duy trì điện áp ổn định Đầu vào nhận điện áp khoảng 26V, an toàn với IC7809 có ngưỡng 35V, giảm lo ngại về quá áp Biến áp chuyển đổi từ 220V xuống 26V, giúp tránh quá áp ở nguồn 24V Nếu dòng điện vượt quá 1A, cầu chì sẽ bảo vệ tải.
Mạch nguồn 5V cung cấp điện áp ra khoảng 5V với sai số khoảng 1% Mạch này được trang bị đèn LED để thông báo tình trạng hoạt động của điện áp Khi nguồn điện bị cắt, đèn LED sẽ không sáng.
Mạch nguồn 5V đóng vai trò quan trọng trong việc cung cấp điện cho các thiết bị như LCD, động cơ và nút nhấn Để đảm bảo nguồn điện luôn ổn định ở mức 5V và không gây ảnh hưởng đến hệ thống, việc sử dụng mạch bảo vệ cắt nguồn là cần thiết Nếu dòng điện vượt quá 500mA, cầu chì sẽ tự động kích hoạt để bảo vệ tải, giúp duy trì an toàn cho toàn bộ hệ thống.
PHẦN MỀM
Hình 2.9 Lưu đồ giải thuật
Cấp nguồn khởi động hệ thống, hệ thống sẽ khởi động những phần tử LCD, Servo.
Xóa những dữ liệu của lần sử dụng trước đó nếu có, giá trị độ cao hiển thị trên
LCD lúc này là 0 và góc quay của Servo cũng tương ứng là 0 (có thể có sai số ± 1).
Cảm biến nên được treo ở vị trí trên đỉnh của bể chứa, với độ cao cài đặt khoảng cách từ đỉnh bể Chẳng hạn, nếu bạn muốn bơm nước đến mức 1m trong bể, thì độ cao cài đặt sẽ là 200.
Hệ thống sẽ nhận diện trạng thái của switch, nếu switch tích cực cao sẽ là bơm, tích cực thấp sẽ là xả.
Hệ thống sẽ nhận diện tiếp giá trị các nút nhấn ứng với mỗi trạng thái, có 3 nút nhấn với mức độ thay đổi như sau:
+ Nút 1: mỗi lần nhấn thay đổi 0.5 cm.
+ Nút 2: mỗi lần nhấn thay đổi 5 cm.
+ Nút 3: mỗi lần nhấn thay đổi 50 cm.
+ Trạng thái nạp: mỗi lần nhấn sẽ cộng vào giá trị trước đó, vượt quá 300 sẽ quay lại 0.
+ Trạng thái xả: mỗi lần nhấn sẽ trừ vào giá trị trước đó, vượt quá 0 sẽ quay lại 300.
Sau khi hoàn tất việc nhấn nút, hệ thống sẽ cập nhật hiển thị trạng thái và độ cao treo cảm biến lên LCD.
Tiếp đó, hệ thống sẽ điều khiển động cơ Servo quay một góc tương ứng với độ cao này, sai số của động cơ tầm ±5.
Sau khi hoàn tất cài đặt Servo, hệ thống sẽ chờ nhận giá trị từ cảm biến Tùy thuộc vào trạng thái bơm hoặc xả và phản hồi từ cảm biến, hệ thống sẽ điều khiển việc đóng mở các van điện từ tương ứng.
+ Trạng thái bơm, cảm biến kín (không có nước): mở van cao (dẫn nước từ bồn cao xuống).
+ Trạng thái bơm, cảm biến hở (có nước): đóng van cao (ngưng dẫn nước).
+ Trạng thái xả, cảm biến hở: mở van thấp (xả nước xuống bồn thấp).
+ Trạng thái xả, cảm biến kín: đóng van thấp (ngưng xả nước).
Trong quá trình nạp xả nước, việc chuyển đổi đột ngột giữa hai chế độ sẽ khiến hệ thống tự động ngắt chế độ cũ và chuyển sang chế độ mới Chẳng hạn, khi đang ở chế độ nạp và tắt công tắc để chuyển sang xả, hệ thống sẽ đóng van bơm và điều khiển van xả để đảm bảo hoạt động hiệu quả.
Mô phỏng
Để đánh giá tính năng hoạt động của hệ thống và khả năng đáp ứng yêu cầu sản phẩm, cần thực hiện mô phỏng toàn bộ hệ thống sau khi đã kiểm nghiệm chức năng của từng khối riêng lẻ.
Để hiểu rõ hơn về hệ thống, nhóm chúng em đã chia tiến trình mô phỏng thành 4 trường hợp khác nhau.
- Khi công tắc ở trạng thái bơm, phao ở độ cao 3m (độ sâu 0m) và không chạm nước:
Van bơm nước được kích hoạt đúng theo yêu cầu.
- Khi công tắc ở trạng thái bơm, phao ở độ cao 2,75m (độ sâu 0,25m) và chạm nước:
Van bơm nước không được kích hoạt đúng theo yêu cầu.
- Khi công tắc ở trạng thái xả, phao ở độ cao 1,80m (độ sâu 1,2m) và không chạm nước:
Van xả nước không được kích hoạt đúng theo yêu cầu.
- Khi công tắc ở trạng thái xả, phao ở độ cao 0,9m (độ sâu 2,1m) và chạm nước:
Van xả được kích hoạt đúng theo yêu cầu.
3.2 ĐÁNH GIÁ KẾT QUẢ MÔ PHỎNG