Bai so 6 Khao 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í ng
Trang 1
BAO CAO BAI THI NGHIEM SO 5
Khảo sát bộ điều khiển PID cho hệ thí nghiệm động co DC MON: THUC TAP HỆ THONG DIEU KHIEN TỰ ĐỘNG
GVHD: TS TRAN DUC THIEN SVTH: NGUYEN MINH HOANG MSSV: 19151127
Tp Hà Chí Minh, ngày 23 tháng 3 năm 2022
Trang 26.5.4 Két nói và chương trình Sử dụng ¿2c c2: S x22 1181111 111tr gưet 5 6.5.5 Chương trình mô hình động cơ St St E E99 HH 5
6.6.1 Xây dựng bộ điều khiên vòng hở ¿2c c2: S322 211 1211511112111 E1 set 9
6.7 Kháo sát bộ điều khiến PID
6.7.1 Khao sat đá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 Khao sat đá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 ¿c1 t1 1 19321 3 91231 EEE1EEE tre 14
6.8 Câu hỏi mở: c Q HH TH nọ KT ii KT kg Eh 16 6.9 Tài liệu tham khảO ccccc c ĐnnĐSS ĐT Tp E g K Kọ T k g kế 16
Trang 3Bai so 6 Khao 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 loai encoder?
Chi 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 thu vién Arduino Simulink vao phan mém MATLAB
Xây dựng chương trình điều khiển dong co trén MATLAB Simulink
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 đề
Trang 4điều khiển động cơ sau đó nhận tín hiệu phan hồi về từ encoder Neudn tổ ong 12V cấp
Trang 76.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 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ơ
fl Block Parameters: Saturation x
Saturation Limit input signal to the upper and lower saturation values
Main Signal Attributes
Upper limit:
255
| Lower limit:
-255
| @ Treat as gain when linearizing
Enable zero-crossing detection
a Cancel Help Apply
Hình 6 9 Khéi Saturation
Trang 9Hình 6 10: Chương trình trong khối L298
Encoder_arduino Read the position of a quadrature encoder
Source code Parameters Encoder: 0
PinB: 3
SampleTime: 0.01
OK Cancel Help Apply
Hinh 6 11: Khéi encoder
function out = cal(u)
%% Pulse : 12 xung 180 Hop so
- Bude 1: G thẻ Home trong giao diện Matlab ta chọn vào Add-Ons Cửa s6 Add-On
Explorer sẽ hiện lên
pula yee highrapee Design analyze, evd te Workflows
Hình 6 14:Cza 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
Trang 10package for arduino hardware” Théng tin vé tool ta can sé hién ra.
Trang 11now available
20 RESULTS
Simulink Support Package for Arduino Hardware
y MathWorks Strslink Tea
Run models on Arduino boards
3341
jpdat
Overview eviews (132 Discussions (209)
Requires
Editor's Note: Popular File 2013 2014 2015 2016 2017 2018 2019 2020 mulink
MATLAB Release Compatibility
Created with R2014a All empower y logy Come
sysiems on n Arduino, emia ‘simulation to implementation
Contents
» Automated Build, Deployment, and Execution
« Library of Simulink blocks for Arduino peripherals like ADC, PWM, Serial, 120, SPI
» Communicate with Hardware in Normal Mode Simulation Using Connected UO mode
= Real-Time parameter tuning and signal acquisition using Extemal mode
= Examples focused on different i Robotics, Sig ng loT
» Guide to create custom device driver Simulink block for Arduino library
+ Code Verlfication and Validation with Processor-in-the-Loop (PIL) using Embedded Coder®
Platform Compatibility [2 Windows [Z] mac0S [2 Linux
Categories
s k>S
~ Hinh 6 16 Cai dat Simulink support package for arduino hardware 6.1.1.2Thuw vién Module cho déng co
Bước 1: Vào Matlab Simulink để tái Device Driver, nhân Add-Ons như Hình 6.17 dưới đây:
am & ag Hew Varette
FrxT] me C Ð Uses Ð ngược » Downloads » New Íoider (4) >
Curren Folder 9) 2Ÿ Editor - CALsersnguye\Downicads\ New folder (4\PIDMaPhengm
Hinh 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:
Trang 13
Requires
@ sm Editor's Note: This file was selected as MATLAB Central P
MATLAB Roloase Compatibility
This package contans a guide that explains in a step-by-step fashion, how to develop device driver blocks (blocks that perform target
specific functions when executed on @ target platform),
Categories are includec
4 Yifvle the examples are built using the Arouino as the hardware platform (specifically relying on the Simulink Support Package for
Arduino), the method applies to any cther supported target
In this guide, the first method to develop device drivers is based on the S-Function Bulder block Faloning chapters also ¢
different methods based respectively on the Legacy Code tool the MATLAB function block, and the System Obpect block Advantages
Hinh 6 18: Thu vién Device Drivers
This PC > Downloads >» New folder (6)
{BB DriversGuide 1/18/2022 10:59 PM WinRAR ZIP archive 1,930 KB
Hinh 6 19 Gidi nén Drivers Guide Buéc 4: Sau khi giai nén xong, truy cap vao file SYS/encoder_arduino_test.slx như hinh Hinh 6.20 va Hinh 6.21 sau:
| Ga sys (18/2022 11:05 PM File folder
"™ encoder_slsp_mega 12/20/2012 6:23 AM Simulink Model ( 192 KB
*w input_slsp 12/20/2012 6:22 AM Simulink Model ( 56 KB
®*w output_slsp 12/20/2012 622 AM Simulink Model ( 56 KB
*% coutput_slsp_maskedl 4/17/2014 8:46 AM Simulink Model ( 58 KB
renc2cpp 10/13/2013 8:19 AM MATLAB Code 4KB
Hình 6 20: Các file có trong file giới nén DriversGuide
Trang 15°W analog_output_arduino_test
*( analog_output_taspi_test AnalogOutput_arduino AnalogOutput_raspi
°W digitalwrite_arduino_test
DigitalWrite_raspi Encoder_arduinc
Hinh 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?
Trang 16Hình 6 23: Sơ dồ khối bộ điều khiên vòng hở không có hồi tiếp
Trang 17Xây dựng bộ điều khiến hồi tiép PID:
Hinh 6.24 trinh bay chuong trinh b6 diéu khién hồi tiếp PID cho động cơ DC Tín hiệu
ngõ đặt là hàm s†ep 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
Bang 1: Báng thông số chát lượng điều khiển khi thay đổi Kp
Sai sé xac lap (Ess):
Thời gian lên (T :):
Trang 19Hình 6 27 : Tín hiệu điều khiển khi thay đổi Kp
Nhận xét: Khi tăng Kp thì ® giảm nhưng khi ta tăng Kp sẽ có vọt lỗ và xuất hiện sai
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
Trang 20vào thì tín hiệu ngõ ra sẽ được khuếch đại, hệ só Kp càng lớn thì tin hiệu đầu vào khuếch
Trang 21đạ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
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
Trang 23khi 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
Sau khi có bảng dữ liệu khi thay doi Kd, ta tính toán lại các thông6ữ(%), E (Deg ›,
T9 › Tu) bằng cách áp dụng các công thức đã trình bày ở (0.1), (0.2), (0.3):
Dap ung ngo ra khi thay doi Kd
Trang 25
Hình 6 34: Tín hiệu điều khiển ki thay đổi Kd
Nhận xét: khi giữ Kp và tăng Kd thi „, E (Deg/ $ giảm, T, 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
- 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ó Kọ,
Ki, Ka lan hot la: Kp=110, Ki=4.5, Ka=2
Trang 27
Hinh 6 35: Dap eng ngé ra va tin hiéu diéu khién cua hé thong
PID Controller for DC Motor
Hình 6 37 Tín hiệu đều khiển
Ta tính toán lại các thông sớ'OT(%), E (Deg/ $, T.@), T(s) Áp dụng các công thức đã
Trang 28Ess=lim @ f= lms p- (0.5)
Trang 29Thời gian lên (T:):
Anh huéng cua bé diéu khién PID déi với các thông số chất lượng:
Bo dié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ệ (Pl) 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 ti lệ nêu được chọn các thông só Kp, Ki, Kd phù hợp thì
sé cai thiện được đáp ứng quá độ (POT, Tss) đồng thời giám sai số xác lap (Ess) D6 vot 16 POT:
- Kp tang => POT tang, néu tang qua cao thi hé sé mat 6n dinh
- Ki tang => POT tang
- 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é xac lap Ess:
- Kp tang => Ess tang
- Ki tang => Ess giam dan 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 tang => Tr giảm nhẹ
- Kd tang sé lam tăng đáp ứng hệ thống => Tr giảm
Thời gian xác lap Tss:
- Kp tang => Tss thay déi khong dang ké
- Ki tang lam cham dap ung qua độ => Tss tăng
- Kd tăng đáp ứng hệ thông Sẽ nhanh hơn => làm giảm TS
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, KỊ
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
- “Bai giang Dié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 huéng dan vé nhiéu dir ligu trén mét dé thi:
- _ Video hướng dẫn thiết kế bộ điều khiên PID và Fuzzy trén MATLAB Simulink
đề lập trinh cho Adruino: www.youtube.com/watch ?v=tyz44ztDNPw&t=744s,