Chính vì vậy chúng ta cần thiết phải “ Ổn định mức nước ”.1.2 Ứng dụng của hệ thống ổn định mức nướcHệ thống ổn định mức nước được ứng dụng nhiều trong các lĩnh vực công nghiệp, nông ngh
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN
-⸙∆⸙ -BÁO CÁO ĐỒ ÁN MÔN HỌC
HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG
Đề tài: Điều khiển PID số cho hệ bồn nước đơn
GVHD: TS Ngô Văn Thuyên
Phan Hoàng Phát 20151534
Tp Hồ Chí Minh tháng 6 năm 2023
Trang 2MỤC LỤC
CHƯƠNG 1 TỔNG QUAN HỆ THỐNG ỔN ĐỊNH MỨC NƯỚC 7
1.1 Sự cần thiết ổn định mức nước 7
1.2 Ứng dụng của hệ thống ổn định mức nước 7
CHƯƠNG 2 CƠ SỞ LÍ THUYẾT 7
2.1 Đặt bài toán điều khiển mức nước 7
2.2 Mô hình toán học bồn chứa chất lỏng 9
CHƯƠNG 3 THIẾT KẾ PHẦN CỨNG 9
3.1 yêu cầu thiết kế: 9
3.2 sơ đồ khối 10
3.3 lựa chon thiết bị 11
3.3.1 lựa chon cảm biến 11
3.3.2 lựa chon nguồn 12
3.3.3 hiển thị 13
3.3.4 lựa chon cơ cấu chấp hành 14
a) Động cơ 14
b) Mạch cầu H L298N 15
3.3.5 lựa chon MCU 16
3.4 Sơ đồ nối dây tổng thể 18
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM 18
4.1 Yêu cầu thiết kế 18
4.2 Giải thuật 19
4.3 Chương trình 20
4.4 Bộ điều khiển PID rời rạc 22
CHƯƠNG 5 KẾT QUẢ THỰC NGHIỆM 23
5.1 Xây dựng mô hình 23
a) Chuẩn bị vật liệu và linh kiện: 24
b) Lắp ráp linh kiện: 24
c) Lập trình: 24
d) Kiểm tra và điều chỉnh: 24
5.2 kết quả thực nghiệm 25
Trang 35.2.1 Điều kiện thử nghiệm 25
a) Điều kiện ban đầu: 25
b) Thử nghiệm chức năng cảm biến: 25
c) Thử nghiệm chức năng điều khiển: 25
d) Đánh giá hiệu năng: 25
5.2.2 Kết quả 26
Tài liệu tham khảo 28
Trang 4DANH MỤC Ả
Hình 2.1 Mô hình hệ thống bồn nước 8
Hình 2.2 mô hình bồn chứa 9
Y Hình 3.1 Sơ đồ tổng quan về bồn nước 11
Hình 3.2 cảm biến HC-SR04 11
Hình 3.3 nguồn 12V5a 12
Hình 3.4 LCD 2x16 13
Hình 3.5 bơm nước 365DC 12V 14
Hình 3.6 Mạch cầu H L298 15
Hình 3.7 Arduino Mega2560 16
Hình 3.8 Sơ đồ nối dây tổng thể 18
Hình 4.1 Chương trình giải thuật 19
Hình 4.2 Hệ thống bộ điều khiển PID rời rạc 22
Hình 4.3 Khối thành phần bộ điều khiển PID rời rạc 22
Hình 5.1 Mô hình thực tế 23
Hình 5.2 kết quả 1 26
Hình 5.3 Kết quả 2 26
Trang 6(h_init >= h)if
{ analogWrite(ena, 0); digitalWrite (in1, LOW); digitalWrite (in2, LOW); }
lcd.backlight();
Kp=10; Kd=0.01; Ki=0.1; E=0; E1=0; E2=0;;
h=6;
T=0.1;
Timer1.initialize(100000); Timer1.attachInterrupt(PID); }
Trang 7CHƯƠNG 1 TỔNG QUAN HỆ THỐNG ỔN ĐỊNH MỨC NƯỚC
1.1 Sự cần thiết ổn định mức nước
Hiện nay, sự công nghiệp hóa hiện đại hóa ngày càng phát triển mạnh mẽ, sựtiếng bộ của khoa học kỹ thuật, trong đó kỹ thuật điều khiển tự động cũng gópphần rất lớn tạo điều kiện để nâng cao hiệu quả trong quá trình sản xuất Trong các ngành công nghiệp sản xuất chất lỏng như hóa chất, nước uốngđóng chai, sữa, dầu ăn,…vấn đề cần điều khiển mức, lưu lượng dòng chảy cầnđáp ứng với độ chính xác cao để phục vụ quá trình xuất đặt hiệu quả tốt hơn, đảmbảo quá trình sản xuất các chất lỏng không bị gián đoạn, tang tuổi thọ thiết bị.Người vận hành không cần phải trược tiếp kiểm tra trong các bồn chứa hoặc đóng
mở bơm liên tục, vấn đề bị cạn hay tràn trong bồn chứa chất lỏng hoàn toàn đượckhắc phục cho dù đầu ra thay đổi Chính vì vậy chúng ta cần thiết phải “ Ổn địnhmức nước ”
1.2 Ứng dụng của hệ thống ổn định mức nước
Hệ thống ổn định mức nước được ứng dụng nhiều trong các lĩnh vực côngnghiệp, nông nghiệp, ở nhiều công ty, xí nghiệp và các nhà máy như: côngnghiệp hóa lọc dầu, công nghiệp hóa chất, công nghiệp xử lý nước, sản xuất giấy,sản xuất điện năng, bể chứa nước thải…Ứng dụng kiểm soát mức nước điềuchỉnh mức nước trong bể để giảm lượng nước thừa trong bể Ngoài ra hệ thốngnày còn tăng khả năng điều chỉnh của bể, để đảm bảo đầu ra ổn định tới hệ thốngnước thải và xử lí nước thải
Có nhiều phương pháp để giám sát và quản lý chất lỏng như: phương pháp thủcông, phương pháp tự động hóa Và hiện nay phần lớn đều sử dụng phương pháp
tự động hóa nhằm giảm bớt lao động con người, tăng hiệu quả sản xuất về kinhphí cũng như độ chính xác
Hệ thống ổn định mức nước được ứng dụng trong một số ứng dụng cụ thể nhưsau:
- Nhà máy sản xuất nước
- Công nghiệp lọc hóa dầu, tháp nước tự động, trạm bơm nước lớn
CHƯƠNG 2 CƠ SỞ LÍ THUYẾT
2.1 Đặt bài toán điều khiển mức nước
Trang 8Cấu trúc của hệ thống ổn định mức nước nghiên cứu trong đề tài như hình
vẽ sau:
Hình 2.1 Mô hình hệ thống bồn nướcNguyên lý làm việc của mô hình là: Nước từ bồn chứa được động cơ bơm vàobồn điều khiển, lưu lượng nước được thay đổi qua van điều chỉnh đầu vào Mứcnước trong bồn được cảm biến mức do và đưa thông tin tới bộ điều khiển Đầu
ra của bồn điều khiển là van xả chất lỏng ra bên ngoài có thể điều chỉnh góc mởthể hiện mức độ tiêu thụ là luôn thay đổi và không cố định Bộ điều khiển cónhiệm vụ điều chỉnh góc mở van xả chất lỏng vào sao cho giữ được mức nướctrong bồn điều khiển ổn định theo giá trị đặt sẵn
Hệ thống phải được lập trình sao cho mức nước trong bồn luôn ổn định màkhông phụ thuộc vào lượng tiêu thụ
Xây dựng chương trình và đánh giá hiệu quả của các bộ điều khiển bằngphần mềm Arduino IDE cho hệ thống bồn nước
Trang 92.2 Mô hình toán học bồn chứa chất lỏng
Hình 2.2 mô hình bồn chứa
Phương trình cân bằng: d Ah t ( ) q tin( ) qout( ) t
dtDòng vào : q tin( ) ku t ( )
A: tiết diện ngang bồn chứa
a: tiết diện van xả
k: hệ số tỉ lệ với công suất máy bơm
Trang 10Hệ thống phải đáp ứng các yêu cầu chính xác về mức nước được xác địnhtrước đó và không được vượt quá ngưỡng sai số ở trên.
Công suất:
Hệ thống cần có công suất đủ để duy trì mức nước ổn định trong dung tích
đã đề ra (5,5 lít)
tốc độ duy trì mức nước mong muốn: 2-3 lít / phút
Công suất của hệ thống được tính toán dựa trên mức tiêu thụ nước và tốc độduy trì mức nước mong muốn
Trang 11Hình 3.1 Sơ đồ tổng quan về bồn nước
Mô tả sơ đồ khối của hệ thống ổn định mức nước bao gồm 5 phần:
- Máy tính giao tiếp với khối điều khiển:
Máy tính chịu trách nhiệm thu thập thông tin và giao tiếp với hệ thống
Nó có thể là một máy tính trung tâm hoặc một vi điều khiển thông minhđược lập trình để điều khiển các phần khác của hệ thống
- Khối điều khiển:
Đây là trung tâm điều khiển của hệ thống ổn định mức nước
Nhiệm vụ của khối điều khiển là nhận tín hiệu từ máy tính và các cảm biến
để quản lý hoạt động của hệ thống
Nó điều khiển các hoạt động của bơm và xử lý dữ liệu từ cảm biến để duy trìmức nước ổn định trong bồn nước
Bồn nước là nơi chứa nước trong hệ thống
Mức nước trong bồn được đo bằng cảm biến siêu âm và truyền dữ liệu vềkhối điều khiển để đánh giá và điều chỉnh mức nước
- Cảm biến siêu âm:
Cảm biến siêu âm được sử dụng để đo mức nước trong bồn
Nó phát ra tín hiệu siêu âm và nhận lại tín hiệu phản xạ từ bề mặt nước.Dựa vào thời gian mà tín hiệu siêu âm đi và trở lại, cảm biến có thể tính toánđược khoảng cách từ mặt nước đến cảm biến, từ đó xác định mức nước hiệntại trong bồn
Trang 123.3 Lựa chon thiết bị
3.3.1 Lựa chon cảm biến
Sai số trong khoảng từ 0.2cm đến 0.5cm:
Cảm biến HC-SR04 có sai số là 0.3, có nghĩa là kết quả đo của cảm biến có
độ chính xác khá cao
Sai số nhỏ giúp đảm bảo rằng mức nước được đo và kiểm soát trong hệthống sẽ gần như chính xác, đồng thời giảm thiểu khả năng xảy ra sai sót vàcác vấn đề liên quan đến đo lường
Trang 133.3.2 Lựa chọn nguồn
Hình 3.3 nguồn 12V5ALựa chọn nguồn tổ ong 12V5A cho hệ thống ổn định mức nước dựa trên các lí dosau đây:
Điện áp làm việc: Chỉnh lưu từ lưới điện xoay chiều thành điện 1 chiều Nguồn tổong 12V5A cung cấp điện áp ra12VDC, phù hợp với yêu cầu điện áp của hệ thống.Điều này đảm bảo khớp nối tương thích giữa nguồn điện và các thiết bị trong hệthống
Công suất và dòng điện: Nguồn tổ ong 12V5A có công suất 60W và dòng điện tối
đa là 5A Điều này cung cấp đủ công suất và dòng điện để cung cấp năng lượngcho động cơ bơm nước và các thành phần khác trong hệ thống
Nhỏ gọn và dễ lắp đặt: Nguồn tổ ong có thiết kế nhỏ gọn, tiết kiệm không gian và
dễ dàng lắp đặt trong hệ thống Điều này giúp tiết kiệm không gian và thuận tiệncho việc gắn kết và kết nối với các thành phần khác
Ổn định và bảo vệ: Nguồn tổ ong 12V5A thường được thiết kế với các tính năngcung cấp dòng áp đủ tranh trường hợp sụt áp, dòng ảnh hưởng tới mạch Điều nàygiúp bảo vệ hệ thống khỏi những nguy cơ hỏng hóc và sự cố bất ngờ
Trang 143.3.3 Hiển thị
Hình 3.4 LCD 2x16Lựa chọn LCD 2x16 tích hợp I2C cho hệ thống ổn định mức nước được đưa radựa trên các tiêu chí quan trọng sau đây:
Hiển thị giá trị đặt:
LCD 2x16 cho phép hiển thị đồng thời 2 dòng và 16 ký tự trên mỗi dòng, đủ
để hiển thị giá trị đặt cho mức nước trong hệ thống
Điều này cho phép người dùng cài đặt giá trị mức nước mong muốn và nhìnthấy giá trị đó trên LCD một cách rõ ràng
Hiển thị mực nước hiện tại:
LCD 2x16 cũng cho phép hiển thị mực nước hiện tại trong hệ thống.Bằng cách sử dụng các ký tự và biểu tượng tương ứng, người dùng có thểtheo dõi mức nước hiện tại trong bồn nước một cách dễ dàng
Trang 15LCD 2x16 tích hợp I2C dựa trên tiêu chí hiển thị được giá trị đặt và mực nướchiện tại là lựa chọn hợp lý cho hệ thống ổn định mức nước LCD này cung cấp khảnăng hiển thị thông tin một cách rõ ràng và dễ dàng quan sát, đồng thời giúp đơngiản hóa việc tích hợp và giao tiếp với hệ thống chung.
3.3.4 Lựa chon cơ cấu chấp hành
a) Động cơ
-Hình 3.5 bơm nước 365DC 12VLựa chọn động cơ bơm nước 365DC 12V cho hệ thống ổn định mức nước đượcđưa ra dựa trên các lí do sau đây:
Điện áp làm việc:
Động cơ bơm nước 365DC 12V hoạt động với điện áp 12VDC, phù hợp vớiđiện áp điều khiển có sẵn trong hệ thống
Điều này đảm bảo khớp nối tương thích giữa mạch cầu H điều khiển động
cơ bơm nước, giúp đảm bảo hoạt động ổn định và hiệu suất tối ưu
Lưu lượng tối đa:
Động cơ bơm nước 365DC 12V có khả năng cung cấp lưu lượng tối đa 2-3lít/phút
Với yêu cầu của hệ thống là duy trì mức nước ổn định trong dung tích bểchứa là 5,5 lít, lưu lượng tối đa của động cơ bơm nước này phù hợp với nhucầu và đảm bảo khả năng duy trì mức nước mong muốn
Hiệu suất và độ tin cậy:
Trang 16Động cơ bơm nước 365DC 12V được đánh giá cao về hiệu suất và độ tincậy.
Với công suất và thiết kế ổn định, động cơ này có khả năng hoạt động liêntục tuổi thọ làm việc 2-3 năm
b) Mạch cầu H L298N
-Hình 3.6 Mạch cầu H L298Lựa chọn mạch cầu điều khiển motor cho hệ thống ổn định mức nước được đưa
ra dựa trên tiêu chí quan trọng sau đây:
Điện áp điều khiển:
Mạch cầu điều khiển motor được chọn hỗ trợ điện áp điều khiển từ +5V đến+12V
Điều này phù hợp với nguồn điện có sẵn trong hệ thống và cho phép linhhoạt trong việc cung cấp điện cho mạch điều khiển motor
Phù hợp với động cơ 12V:
Mạch cầu điều khiển motor được lựa chọn phù hợp với động cơ 12V.Điều này đảm bảo khớp nối tương thích giữa mạch điều khiển và động cơ,đồng thời giúp đảm bảo hiệu suất và hiệu quả trong việc điều khiển động cơ.Hiệu suất và khả năng đáp ứng:
Mạch cầu điều khiển motor L298N được biết đến với hiệu suất cao và khảnăng đáp ứng tốt
Trang 17Mạch này có khả năng cung cấp dòng điện lớn và hỗ trợ điều khiển đa chiều(forward, reverse), đáp ứng nhu cầu điều khiển chính xác và linh hoạt của hệthống.
3.3.5 Lựa chon MCU
Hình 3.7 Arduino Mega2560Lựa chọn Arduino Mega2560 cho hệ thống ổn định mức nước được đưa ra dựa trêncác lí do sau đây:
Hiệu suất và khả năng xử lý:
Arduino Mega2560 có bộ xử lý mạnh mẽ với vi xử lý ATmega2560, có tốc
độ xử lý nhanh và khả năng xử lý dữ liệu phức tạp
Điều này cho phép hệ thống xử lý các tác vụ phức tạp như đọc dữ liệu từcảm biến, điều khiển động cơ và hiển thị thông tin một cách hiệu quả
Số lượng chân I/O:
Arduino Mega2560 cung cấp một số lượng lớn chân I/O kết hợp với khảnăng mở rộng thông qua các chân GPIO
Điều này cho phép kết nối và điều khiển nhiều thiết bị ngoại vi như cảmbiến, mạch điều khiển motor và màn hình hiển thị một cách thuận tiện vàlinh hoạt
Trang 18Tóm tắt thông số chính sơ đồ chân của Arduino Mega2560:
3.4 Sơ đồ nối dây tổng thể
Hình 3.8 Sơ đồ nối dây tổng thể
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM
4.1 Yêu cầu thiết kế
Yêu cầu chức năng:
Đo mức nước: Hệ thống cần có khả năng đo chính xác mức nước trong bồn chứa
sử dụng các cảm biến đo mức nước phù hợp với Arduino
Giám sát mức nước: Phần mềm cần hiển thị thông tin về mức nước hiện tại trêngiao diện người dùng, bao gồm cả số liệu và đồ thị biểu diễn
Điều khiển mức nước: Phần mềm cần cho phép người dùng điều khiển mứcnước trong bồn, bao gồm cả việc bật/tắt bơm nước hoặc thực hiện các hành độngđiều khiển khác
Yêu cầu hiệu năng:
Trang 19Phần mềm cần có hiệu năng tốt, đảm bảo thời gian phản hồi nhanh chóng khi
đo, giám sát và điều khiển mức nước
Cần tối ưu hóa tài nguyên và bộ nhớ để đảm bảo hoạt động ổn định trên nềntảng Arduino
Yêu cầu về tương thích:
Phần mềm cần tương thích với các phiên bản phần cứng và phần mềm Arduinohiện có để đảm bảo tính tương thích và dễ dàng điều khiển
4.2 Giải thuật
Hình 4.1 Chương trình giải thuật
Trang 20Bước 1 Khởi tạo hệ thống: Bước này đảm bảo rằng tất cả các thành phần của hệthống, bao gồm cả cảm biến, bộ điều khiển PID và động cơ, được khởi động và sẵnsàng hoạt động.
Bước 2 Đọc giá trị cảm biến: Trong bước này, hệ thống đọc giá trị từ cảm biếnmức nước Cảm biến siêu âm được sử dụng để đo khoảng cách từ mặt nước đếncảm biến và chuyển đổi thành giá trị số
Bước 3 Hiệu chỉnh PID: Bước này liên quan đến việc điều chỉnh bộ điều khiểnPID PID là một thuật toán điều khiển phản hồi tự động, được sử dụng để điềuchỉnh tín hiệu điều khiển đến động cơ để duy trì mức nước ở mức mong muốn(setpoint) Trong bước này, các thông số PID như hệ số tỷ lệ, hệ số tích phân và hệ
số đạo hàm được hiệu chỉnh để đạt được phản hồi tốt và ổn định trong việc duy trìmức nước
Bước 4 h<setpoint: Trong bước này, hệ thống kiểm tra xem mức nước có nhỏhơn mức đặt (setpoint) hay không Nếu điều kiện này đúng, tức là mức nước thấphơn mức đặt, tiếp tục bước 5 Nếu điều kiện này sai, tức là mức nước đạt hoặc vượtquá mức đặt, hệ thống chuyển sang bước 6
Bước 5 Động cơ chạy và PWM = giá trị đã hiệu chỉnh: Trong bước này, động
cơ được kích hoạt và bắt đầu hoạt động để bơm nước vào bồn Tín hiệu điều khiển(PWM) được thiết lập thành giá trị đã được hiệu chỉnh từ bước 3 PWM được sửdụng để điều chỉnh tốc độ và công suất của động cơ, từ đó điều chỉnh lượng nướcđược bơm vào bồn
Bước 6 Động cơ dừng và PWM = 0: Trong bước này, động cơ được tắt vàngừng hoạt động Giá trị PWM được thiết lập thành 0, đảm bảo rằng không có tínhiệu điều khiển nào được gửi đến động cơ Điều này đảm bảo rằng không có nướcđược bơm vào bồn nước vì mức nước đã đạt mức đặt hoặc vượt quá mức đặt
double duration, distance;
//Phát xung từ chân trig, có độ rộng là 10ms
digitalWrite(TRIG_PIN,LOW); //Tắt chân trig
delayMicroseconds(2);
digitalWrite(TRIG_PIN,HIGH); //bật chân trig để phát xung
delayMicroseconds(10); //Xung có độ rộng là 10
microsecond digitalWrite(TRIG_PIN,LOW);
//Chân echo sẽ nhận xung phản xạ lại
Trang 21//Và đo độ rộng xung cao ở chân echo
//qúa thời gian time trả về 0
duration = pulseIn (ECHO_PIN, HIGH, TIME_OUT);
//Tính khoảng cách đến vật thể (Đơn vị đo là cm)
//Tốc độ của âm thanh trong không khí là 340 m/s, tương
analogWrite(ena,255); // độ cao hiện tại <= GTĐ thì
động cơ quay với tốc độ Output digitalWrite(in1,HIGH);
digitalWrite(in2,LOW);
}
(h_init >= h)if
{
analogWrite(ena, 0);
digitalWrite (in1, LOW);
digitalWrite (in2, LOW);// độ cao hiện tại > GTĐ,
động cơ dừng }
Serial.println(h_init); // xuất GT mực nước hiện tại
}