TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ––––?????–––– BÁO CÁO BÀI THÍ NGHIỆM SỐ 5 Khảo sát bộ điều khiển PID cho hệ thí nghiệm động cơ DC MÔN: THỰC TẬP HỆ TH
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
––––🙠🙟🕮🙝🙢––––
BÁO CÁO BÀI THÍ NGHIỆM SỐ 5 Khảo sát bộ điều khiển PID cho hệ thí nghiệm động cơ DC MÔN: THỰC TẬP HỆ THỐNG ĐIỀU KHIỂN TỰ ĐỘNG
GVHD: TS TRẦN ĐỨC THIỆN SVTH: NGUYỄN MINH HOÀNG MSSV: 19151127
Tp Hồ Chí Minh, ngày 23 tháng 3 năm 2022
Trang 2Mục Lục
Bai so 6 Khảo sát bộ điều khiển PID cho hệ thí nghiệm động cơ DC 3
6.1 Mục đích thí nghiệm 3
6.4 Yêu cầu chuẩn bị: 3
6.5 Hướng dẫn 3
6.5.1 Sơ đồ tổng quát 3
6.5.2 Sơ đồ kết nối 3
6.5.3 Mô hình thực tế 4
6.5.4 Kết nối và chương trình sử dụng 5
6.5.5 Chương trình mô hình động cơ 5
6.5.6 Thư viện 6
6.6 Yêu cầu thực hiện: 9
6.6.1 Xây dựng bộ điều khiển vòng hở 9
6.7 Khảo sát bộ điều khiển PID 10
6.7.1 Khảo sát đáp ứng ngõ ra của hệ thống với Ki=0, Kd=0, và thay đổi Kp 10
6.7.2 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=120, Kd=0 và thay đổi Ki 12
6.7.3 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=120, Ki=10 và thay đổi Kd 13
6.7.4 Thiết kế bộ điều khiển PID 14
6.8 Câu hỏi mở: 16
6.9 Tài liệu tham khảo 16
Trang 3Bai so 6 Khảo sát bộ điều khiển PID cho hệ thí nghiệm
động cơ DC
6.1 Mục đích thí nghiệm
Bài thí nghiệm tập trung vào tìm hi ểu nguyên lý hoạt động của các thiết bị trong mô hình thí nghiệm động cơ một chiều; Thiết lập các chương trình điều khiển vòng hở không quan sát, có quan sát và hồi tiếp âm; Tìm hi ểu chương trình nhúng giải thuật điều khiển PID cho mô hình động cơ; Khảo sát sự ảnh hưởng của các thông số bộ điều khiển PID lên chất lượng điều khiển của hệ thống
6.4 Yêu cầu chuẩn bị:
Các nhóm sinh viên cần chuẩn bị trước các kiến thức sau trước khi tới lớp thực hành
- Encoder là gì? Có bao nhiêu loại encoder?
- Chỉ ra sự khác nhau giữa encoder tuyệt đối và tương đối?
- Trình bày cách tính góc quay của động cơ từ số xung của encoder
- Mạch câu H là gì?
- Cài đặt thư viên Arduino Simulink vào phần mềm MATLAB
- Xây dựng chương trình điều khiển động cơ trên MATLAB Simulink
6.5 Hướng dẫn
6.5.1 Sơ đồ tổng quát
Sơ đồ tổng quan động cơ được mô tả trong Hình 6.1 Chương trình từ máy tính thông qua khối điều khiển để điều khiển động cơ Encoder đọc số xung và phản hồi về khối điều khiển để điều chỉnh công suất động cơ phù hợp.]
6.5.2 Sơ đồ kết nối
Hình 6 2: Sơ đồ nối dây mô hình động cơ
Trong Hình 6.2 là sơ đồ nối dây của mô hình động cơ, trong đó sử dụng vi điều khiển trung tâm là Arduino mega 2560 Mega 2560 sẽ điều khiển mạch công suất L298H để điều khiển động cơ sau đó nhận tín hiệu phản hồi về từ encoder Nguồn tổ ong 12V cấp cho mạch công suất L298N
Hình 6 1: Sơ đồ tổng quan
Trang 46.5.3 Mô hình thực tế
Hình 6 3: Mô hình tổng quát động cơ
Trong Hình 6.3 là tổng quan mô hình động cơ, bao gồm: 7 hộp điều khiển và 3 hộp động
cơ
Hình 6 4 Hộp điều khiển
Hộp điều khiển Hình 6.4 bao gồm:
− Arduino Mega 2560
− Arduino Uno
− Cầu H L298H
− Nguồn tổ ong 12V, 5A
Hình 6 5: Mô hình động cơ
Mô hình động cơ Hình 6.5 bao gồm một động cơ DC servo có gắn encoder
Trang 56.5.4 Kết nối và chương trình sử dụng
Mỗi hộp điều khiển khi sử dụng chỉ kết nối với một trong ba mô hình: động cơ, lò
nhiệt, bồn nước Khi muốn sử dụng mô hình động cơ, ta cắm dây kết nối từ hộp điều khiển theo cổng tương ứng trong Hình 6.6 với cổng ở mô hình trong Hình 6.7
Hình 6 6: các cổng kết nối ở hộp điều khiển
Hình 6 7 Cổng kết nối ở động cơ
6.5.5 Chương trình mô hình động cơ
Hình 6 8: Chương trình module động cơ
Hình 6 9 Khối Saturation
Trang 6Hình 6 10: Chương trình trong khối L298
Hình 6 11: Khối encoder
Hình 6 12: Chương trình trong khối calib
6.5.6 Thư viện
6.1.1.1 Thư viện chung
- Bước 1: Ở thẻ Home trong giao diện Matlab ta chọn vào Add-Ons Cửa sổ Add-On
Explorer sẽ hiện lên
Hình 6 13: Thẻ Home
Hình 6 14:Cửa sổ Add-On Explorer
Bước 2: Trong phần Search của cửa số Add-On Explorer ta nhập từ khóa “Simulink support package for arduino hardware” Thông tin về tool ta cần sẽ hiện ra
Trang 7Hình 6 15: Tool cần cài đặt
- Bước 3: Nhấn vào tool đó và nhấn Install để cài đặt
-
Hình 6 16 Cài đặt Simulink support package for arduino hardware 6.1.1.2 Thư viên Module cho động cơ
Bước 1: Vào Matlab Simulink để tải Device Driver, nhấn Add-Ons như Hình 6.17 dưới đây:
Hình 6 17 Add-Ons trong Matlab-Simulink
- Bước 2: Add Device Driver như Hình 6.18 sau:
Hoặc có thể truy cập link để tải Device Driver về máy tính:
https://www.mathworks.com/matlabcentral/fileexchange/39354-device- drivers?s_tid=srchtitle_device%20driver_1:
- Bước 3: Giải nén file Drivers Guide vừa tải về như Hình 6.19 sau:
Trang 8Hình 6 18: Thư viện Device Drivers
Hình 6 19 Giải nén Drivers Guide
- Bước 4: Sau khi giải nén xong, truy cập vào file SYS/encoder_arduino_test.slx như hình Hình 6.20 và Hình 6.21 sau:
Hình 6 20: Các file có trong file giải nén DriversGuide
Trang 9- Bước 5: Mở file Encoder_arduino_test bằng Simulink và sử dụng như Hình 6.22:
Hình 6 22: Encoder Block trong Simulink
6.6 Yêu cầu thực hiện:
6.6.1 Xây dựng bộ điều khiển vòng hở
Hình 6.23 trình bày chương trình bộ điều khiển vòng hở trên MATLAB Simulink Tín
hi ệu đặt gồm có hai loại tín hiệu là hằng số và sine Như trình bày ở phần trên, khối MATLAB Function được sử dụng để chuyển tín hiệu đặt có thể âm hoặc dương thành các tín hiệu cung cấp lần lượt cho các khối PWM (8) và Digital Output (26,28) Lưu ý: Thông qua về thực hiện bộ điều khiển vòng hở sẽ giúp cho chúng ta kiểm tra được mạch công suất và động cơ hoạt động có tốt hay không?
Hình 6 23: Sơ dồ khối bộ điều khiển vòng hở không có hồi tiếp
Hình 6 21 Thư viện Encoder
Trang 10Xây dựng bộ điều khiển hồi tiếp PID:
Hình 6 24 Sơ đồ khối bộ điều khiển vòng kín PID
Hình 6.24 trình bày chương trình bộ điều khiển hồi tiếp PID cho động cơ DC Tín hiệu ngõ đặt là hàm step với biên độ là 360 Tín hi ệu đặt được so sánh với tín hiệu ngõ ra của khối encoder sau khi đã được chuyển đổi từ số xung sang độ Lưu ý: Việc thiết lập khối encoder có thể xem trong mục 6.2.2
6.7 Khảo sát bộ điều khiển PID
6.7.1 Khảo sát đáp ứng ngõ ra của hệ thống với Ki=0, Kd=0, và thay đổi Kp
Yêu cầu:
- Vẽ các đáp ứng của ngõ ra động cơ DC ứng với các thông số bộ điều khiển khác nhau
- Vẽ các đáp ứng của tín hiệu điều khiển ứng với các thông số bộ điều khiển khác nhau
- Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với các thông số bộ điều khiển khác nhau
- Nhận xét: Khi nhóm tăng Kp từ 0.5 đến 10 thì tín hiệu điều khiển có thay đổi nhưng đáp ứng ngõ ra của động cơ thì không bám theo tín hiệu đặt ban đầu, sai số ngõ ra cũng lớn Vì vậy nhóm quyết định thay đổi bảng khảo sát thông số Kp
Bảng 1: Bảng thông số chất lượng điều khiển khi thay đổi Kp P
(%)
ss
( )
r
( )
xl
Trong đó các thông số được tính dựa vào công thức ở dưới đây:
Độ vọt lố (POT):
xl
c c
c
−
Sai số xác lập (Ess):
ss
E lim e t lim sE s
Thời gian lên (T r):
Trang 11Hình 6 25 :Đáp ứng ngõ ra khi thay đổi Kp
Hình 6 26: Sai số giữa tín hiệu điều khiển và tín hiệu ngõ ra khi thay đổi Kp
Hình 6 27 : Tín hiệu điều khiển khi thay đổi Kp
Nhận xét: Khi tăng Kp thì e giảm nhưng khi ta tăng Kp sẽ có vọt lố và xuất hiện sai xl
số xác lập Đồng thời khi nhóm tăng Kp quá 100 thì tín hiệu điều khiển U sẽ bị bão hòa như ở Hình 6 28
Giải thích: Do khâu P trong bộ PID đóng vai trò là khâu tỉ lệ nên khi đưa tính hiệu đầu
vào thì tín hiệu ngõ ra sẽ được khuếch đại, hệ số Kp càng lớn thì tín hiệu đầu vào khuếch
Trang 12đại càng nhiều dẫn tới sai số hệ thống giảm Nhưng khi tăng Kp quá lớn cho dù sai số
hệ thống có nhỏ thì hệ thống dần mất ổn định do không thể bám theo giá trị được đặt trước
6.7.2 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=120, Kd=0 và thay đổi Ki
Yêu cầu:
- Vẽ các đáp ứng của ngõ ra động cơ DC ứng với các thông số bộ điều khiển khác nhau
- Vẽ các đáp ứng của tín hiệu điều khiển ứng với các thông số bộ điều khiển khác nhau
- Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với các thông số bộ điều khiển khác nhau
Bảng 2: Bảng thông số chất lượng điều khiển khi thay đổi Ki i
(%)
ss
( )
r
( )
xl
Sau khi có bảng dữ liệu khi thay đổi Ki, ta tính toán lại các thông số POT(%), E ss(Deg s/ ),
( )
r
T s , T s xl( )bằng cách áp dụng các công thức đã trình bày ở (0.1), (0.2), (0.3):
Hình 6 29: Sai số giữa tín hiệu điều khiển và tín hiệu ngõ ra khi thay đổi Ki
Hình 6 30: Đáp ứng ngõ ra khi thay đổi Ki
Trang 13Hình 6 31 Tín hiệu điều khiển khi thay đổi Ki
Nhận xét:Khi giữ nguyên Kp và tăng Ki thì POT(%),T , ss T rd tăng còn e giảm, nhưng xl
khi tăng Ki lên càng cao thì sai số tăng nhanh và hệ thống mất ổn định
Giải thích: Ki là khâu tích phân, khâu này sẽ cộng dồn tất cả các sai số trước đó kết hợp
với khâu tỉ lệ sẽ tăng sự chuyển động của hệ thống tới điểm đặt nhanh hơn và đồng thời khử sai số, nhưng do là cộng dồn sai số nên nó có thể gây vọt lố
6.7.3 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=120, Ki=10 và thay đổi Kd
Yêu cầu:
- Vẽ các đáp ứng của ngõ ra động cơ DC ứng với các thông số bộ điều khiển khác nhau
- Vẽ các đáp ứng của tín hiệu điều khiển ứng với các thông số bộ điều khiển khác nhau
- Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với các thông số bộ điều khiển khác nhau
Bảng 3: Bảng thông số chất lượng điều khiển khi thay đổi Kd d
(%)
ss
( )
r
( )
xl
Sau khi có bảng dữ liệu khi thay đổi Kd, ta tính toán lại các thông số POT(%), E ss(Deg s/ ),
( )
r
T s , T s xl( )bằng cách áp dụng các công thức đã trình bày ở (0.1), (0.2), (0.3):
Hình 6 32: Đáp ứng ngõ ra khi thay đổi Kd
Trang 14Hình 6 33: Sai số giữa tín hiệu điều khiển và tín hiệu ngõ ra khi thay đổi Kd
Hình 6 34: Tín hiệu điều khiển khi thay đổi Kd
Nhận xét: khi giữ Kp và tăng Kd thì t xl, E ss(Deg s/ ) giảm, T r tăng nhưng khi tăng Kd quá cao thì sai số tăng nhanh và hệ thống mất ổn định
Giải thích: Do Kp là khâu vi phân sẽ làm chậm tốc độ thay đổi đầu ra của bộ điều khiển nên sẽ giảm biên độ vọt lố cho hệ thống
6.7.4 Thiết kế bộ điều khiển PID
• POT <5%
• Ess < 1
• Tr <1
• Tss<2
Yêu cầu:
• Vẽ đáp ứng của ngõ ra động cơ DC
• Vẽ đáp ứng của tín hiệu điều khiển
• Xác định các thông số POT, Ess, Tr và Tss trên hình vẽ
Từ thực nghiệm và phương pháp thử sai, nhóm đã chọn ra được bộ thông số Kp,
Ki, Kd lần lượt là: Kp=110, Ki=4.5, Kd=2
Trang 15Hình 6 35: Đáp ứng ngõ ra và tín hiệu điều khiển của hệ thống
Hình 6 36: Sai số của hệ thống
Hình 6 37 Tín hiệu điều khiển
Ta tính toán lại các thông số POT(%), E ss(Deg s/ ), T s r( ), T s xl( )Áp dụng các công thức đã trình bày ở (0.1), (0.2), (0.3):
Độ vọt lố (POT):
3.143 3.14 POT 100 0.095%
3.14
−
Sai số xác lập (Ess):
Ess lim e t lim sE s 0
Trang 16Thời gian lên (Tr):
T =T −T =1.43 0.25 1.18s− = (0.6) Thời gian xác lập (Tss):
Như vậy bộ thông số Kp, Ki, Kd lần lượt là: Kp=110, Ki=4.5, Kd=2 đã đáp ứng được yêu cầu
6.8 Câu hỏi mở:
Trình bày ảnh hưởng của của các thông số bộ điều khiển PID lên các chất lượng của hệ thống (POT, Ess, Tr, Tss)
Ảnh hưởng của bộ điều khiển PID đối với các thông số chất lượng:
Bộ điều khiển tỷ lệ (P) có tác dụng làm giảm sai số xác lập tuy nhiên đáp ứng của
hệ sẽ càng dao động, độ vọt lố càng cao Nếu Kp quá cao thì hệ sẽ mất ổn định
Bộ điều khiển tích phân tỉ lệ (PI) sẽ triệt tiêu sai số ở trạng thái xác lập, nhưng lại
có thể làm giảm chất lượng của đáp ứng quá độ
Bộ điều khiển vi phân tỉ lệ (PD) giảm độ vọt lố, làm nhanh đáp ứng hệ thống, giảm thời gian xác lập, tuy nhiên thời gian lên càng nhanh thì sẽ gây ra vọt lố
Bộ điều khiển vi tích phân tỉ lệ nếu được chọn các thông số Kp, Ki, Kd phù hợp thì
sẽ cải thiện được đáp ứng quá độ (POT, Tss) đồng thời giảm sai số xác lập (Ess)
Độ vọt lố POT:
- Kp tăng => POT tăng, nếu tăng quá cao thì hệ sẽ mất ổn định
- Ki tăng => POT tăng
- Kd tăng => POT giảm, nếu Kd tăng đến mức thời gian lên Tr quá ngắn thì lại bắt đầu xuất hiện lại POT
Sai số xác lập Ess:
- Kp tăng => Ess tăng
- Ki tăng => Ess giảm dần về 0
- Kd tăng => Ess không đổi
Thời gian lên Tr:
- Kp tăng sẽ làm tăng đáp ứng hệ thống => Tr giảm
- Ki tăng => Tr giảm nhẹ
- Kd tăng sẽ làm tăng đáp ứng hệ thống => Tr giảm
Thời gian xác lập Tss:
- Kp tăng => Tss thay đổi không đáng kể
- Ki tăng làm chậm đáp ứng quá độ => Tss tăng
- Kd tăng đáp ứng hệ thống sẽ nhanh hơn => làm giảm Tss
Lưu ý: Trong bộ điều khiển PID, sự các tác động này có thể không chính xác, vì KP, KI
và KD phụ thuộc lẫn nhau Thực ra, thay đổi một trong các thông số này có thể làm thay đổi tác động của hai thông số còn lại
6.9 Tài liệu tham khảo
- “Lý thuyết Điều khiển tự động”, Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng, NXB ĐHQG TPHCM
- “Bài giảng Điều khiển tự động”, Nguyễn Thế Hùng
- “MATLAB for Control System Engineers” Rao V Dukkipati
- “MATLAB for Control Engineers” Katsuhiko Ogata
- Video hướng dẫn vẽ nhiều dữ liệu trên một đồ thị:
- Video hướng dẫn thiết kế bộ điều khiển PID và Fuzzy trên MATLAB Simulink
để lập trình cho Adruino: www.youtube.com/watch?v=tyz44ztDNPw&t=744s