Tải bản đầy đủ (.docx) (17 trang)

Thiết kế bộ điều khiển cho hệ thống điều khiển góc quay động cơ điện một chiều

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (123.23 KB, 17 trang )

Thiết kế bộ điều khiển cho hệ thống điều khiển góc quay
động cơ điện một chiều
_______*00*_______
Cho động cơ có mô hình vật lý như sau:
• Momen quán tính của roto j=3.2284e-6 kg.m^2/s^2
• Hệ số suy giảm ma sát b=3.5077e-6 Nms
• Hệ số lự điên từ và momen k=ke=kt=0.0274 Nm/Amp
• Điện trở phần ứng r=4
• Điện kháng phần ứng l=2.75e-6H
• Tín hiệu vào (V): Source Voltage
• Tín hiệu ra (theta): position of shaft
• Giả thiết trục động cơ nối cứng với tải
Hàm truyền đạt:
Yêu cầu thiết kế bộ điều khiển:
• Sai số ở tạng thái xác lập Ess=0
• Thời gian tăng T
r
≤1s
• Thời gian trễ T
s
≤2.2s
• Độ quá điều chỉnh ≤ 16%
Sơ đồ cấu trúc hệ thống
Tiến hành xây dựng bộ điều khiển
1 Khai báo mô hình:
>> j=3.2284e-6;
>> b=3.5077e-6;
>> k=0.0274;
>> r=4;
>> l=2.75e-6;
>> num=k;


>> den=[(j*l) ((j*r)+(l*b)) ((b*r)+(k*k)) 0];
2 Đưa bộ điều khiển là khâu tỷ lệ thử phản ứng của hệ thống
Ta sử dụng bộ điều khiển là một khâu tỷ lệ có hệ số khuyếch đại 1.7, sử dụng các ệnh sau
để ta khảo
>> kp=1.7;
>> numcf=[kp];
>> dencf=[1];
>> numf=conv(numcf,num);
>> denf=conv(dencf,den);
>> denf=conv(dencf,den);
>> [numc,denc]=cloop(numf,denf);
>> t=0:0.001:0.2;
>> step(numc,denc,t);
Kết quả thu được:
Response to step input kp=1.7
Step Response
Time (sec)
Amplitude
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: sys
Time (sec): 0.0874
Amplitude: 1.05

System: sys
Time (sec): 0.0602
Amplitude: 1.17
System: sys
Time (sec): 0.00814
Amplitude: 0.1
System: sys
Time (sec): 0.0352
Amplitude: 0.902
Ta kiểm
tra phản ứng của hệ thống với kp=1.5
Step Response
Time (sec)
Amplitude
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
tra hệ thống với kp=2
Step Response
Time (sec)
Amplitude
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.2

0.4
0.6
0.8
1
1.2
1.4
System: sys
Time (sec): 0.0075
Amplitude: 0.102
System: sys
Time (sec): 0.0313
Amplitude: 0.9
System: sys
Time (sec): 0.0809
Amplitude: 1.05
System: sys
Time (sec): 0.0536
Amplitude: 1.2
Từ 3
trường hợp trên ta thấy lấy kp=1.7 là hợp lý nhất do tính tuyến tính của hệ thống.
Ta có : T
r
=1 s
T
s
=2.2 s
Độ quá điều chỉnh bằng 19%
Bây giờ ta khảo sát phản ứng của hệ thống với nhiễu nhờ đoạn lệnh sau:
>> numdcl=conv(numc,1);
>> dendcl=conv(denc,kp);

>> step(numdcl,dendcl,t);
Với kp=1.7
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Step Response
Time (sec)
Amplitude
Tuy
nhiên ta thấy thời gian quá độ độ qua điều chỉnh cũng như sai số ở trạng thái xác lập khi bị nhiễu
tác động là tương đối lớn. ta cải thiện vấn đề này bằng cách đưa thêm khâu tích phân vào bộ điều
khiển.
3 Sử dụng bộ điều khiển PI:
Khảo sát hệ bằng đoạn lệnh sau:
>> j=3.2284e-6;
>> b=3.5077e-6;
>> k=0.0274;
>> r=4;
>> l=2.75e-6;
>> num=k;
>> den=[(j*l) ((j*r)+(l*b)) ((b*r)+(k*k)) 0];
>> kp=1.7;
>> ki=20;

>> numcf=[kp ki];
>> dencf=[1 0];
>> numf=conv(numcf,num);
>> denf=conv(dencf,den);
>> [numc,denc]=cloop(numf,denf,-1);
>> t=0:0.001:0.4;
>> step(numc,denc,t);
Ta thu được:
Response to Step Input kp=1.7 ki=20
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.5
1
1.5
Step Response
Time (sec)
Amplitude
Phản ứng của hệ thống với nhiễu:
>> numdcl=conv(numc,dencf);
>> dendcl=conv(denc,numcf);
>> step(numdcl,dendcl,t);
>> grid on
Ta thu được:
Response to Step Disturbance kp=1.7 ki=20
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.1
0.2
0.3
0.4

0.5
0.6
0.7
Step Response
Time (sec)
Amplitude
Ta kiểm tra với ki=21
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Step Response
Time (sec)
Amplitude
Ta thử với ki=19
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Step Response

Time (sec)
Amplitude
Từ 3 trường hợp trên ta thấy phản ứng của hệ thống đối với nhiễu khi ki=20 là nhanh nhất. do
tính tuyến tính của hệ thống nên ta chọn ki=20.Tuy vậy ta thấy khi đưa khâu tích phân vào đã cải
thiện được sai số ở trạng thái xác lập khi hệ thống bị nhiễu nhưng chưa cải thiện được độ quá
điều chỉnh và thời gian quá độ.
4 Sử dụng bộ điều khiển PID và chỉnh định thông số của nó:
Để giảm thời gian quá độ ta tăng hệ số khuyếch đại kp=17 và chọn ki=200, khảo sát lại ta thấy:
Hàm quá độ của hệ thống:
>> kp=17;
>> ki=200;
>> numcf=[kp ki];
>> dencf=[1 0];
>> numf=conv(numcf,num);
>> denf=conv(dencf,den);
>> [numc,denc]=cloop(numf,denf,-1);
>> t=0:0.001:0.4;
>> step(numc,denc,t);
>> grid on
Ta thu được:
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6

1.8
Step Response
Time (sec)
Amplitude
Phản ứng của hệ thống với nhiễu khi kp=17 và ki=200:
>> numdcl=conv(numc,dencf);
>> dendcl=conv(denc,numcf);
>> step(numdcl,dendcl,t);
>> grid on
Ta thu được:
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
Step Response
Time (sec)
Amplitude
Ta thấy đáp ứng của hệ thống nhanh hơn nhưng hệ thống dao động mạnh hơn do Ki lớn. ta sử
dụng bộ PID với các tham số sau:
>> kp=17;
>> ki=200;
>> kd=0.15;

>> numcf=[kd kp ki];
>> dencf=[1 0];
>> numf=conv(numcf,num);
>> denf=conv(dencf,den);
>> [numc,denc]=cloop(numf,denf,-1);
>> t=0:0.001:0.1;
>> step(numc,denc,t)
Kết quả khảo sát ta được:
Step Response
Time (sec)
Amplitude
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: sys
Time (sec): 0.000388
Amplitude: 0.1
System: sys
Time (sec): 0.0129
Amplitude: 1.09
System: sys
Time (sec): 0.00577
Amplitude: 0.9
>> numdcl=conv(numc,dencf);

>> dendcl=conv(denc,numcf);
>> step(numdcl,dendcl,t)
Ta được phản ứng của hệ thống với nhiễu:
Response to Step Disturbance kp=17 ki=200 kd=0.15
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0
0.01
0.02
0.03
0.04
0.05
0.06
Step Response
Time (sec)
Amplitude
Kết quả đáp ứng của hệ thống đã tôt hơn rất nhiều nhưng phản ứng của hệ thống đối với nhiễu
còn chậm, do đó ta tăng ki=600 và khảo sát lại.
>> ki=600;
>> numcf=[kd kp ki];
>> dencf=[1 0];
>> numf=conv(numcf,num);
>> denf=conv(dencf,den);
>> [numc,denc]=cloop(numf,denf,-1);
>> t=0:0.001:0.1;
>> step(numc,denc,t)
Step Response
Time (sec)
Amplitude
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
0

0.2
0.4
0.6
0.8
1
1.2
1.4
System: sys
Time (sec): 0.000387
Amplitude: 0.1
System: sys
Time (sec): 0.00564
Amplitude: 0.9
System: sys
Time (sec): 0.0155
Amplitude: 1.13
System: sys
Time (sec): 0.0306
Amplitude: 1.05
Ta kiểm tra phản ứng của hệ thống với nhiễu:
>> numdcl=conv(numc,dencf);
>> dendcl=conv(denc,numcf);
>> step(numdcl,dendcl,t)
Ta thu được phản ứng của hệ thống với nhiễu:
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
-0.01
0
0.01
0.02
0.03

0.04
0.05
Step Response
Time (sec)
Amplitude
Ta kiểm tra với ki=700
Phản ứng của hệ thống với nhiễu:
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
-0.005
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
Step Response
Time (sec)
Amplitude
Do tính tuyến tính của hệ thống ta chọn ki=600
Từ các đường đặc tính trên ta thấy:
Sai số tại trạng thái xác lập: Es=0
Thời gian tăng T
r
=0.005253s < 1s
Thời gian quá độ T
s

=0.0306s < 2.2s
Độ quá điều chỉnh δ=13% <16%
Vậy hệt thống đạt yêu cầu
Vậy bộ điều khiển PID thu được là
Kp=17
Ki=600
Kd=0.15

×