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

Đồ Án Môn Cơ Sở Hệ Thống Tự Động

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 (396.72 KB, 31 trang )

Ví dụ: DC Motor Speed Modeling
Vật lý thiết lập và hệ thống phương trình
Yêu cầu thiết kế
M ATLAB đại diện và phản ứng mở vòng lặp
Vật lý thiết lập và hệ thống phương trình
Một thiết bị truyền động phổ biến trong các hệ thống điều khiển động cơ DC. Nó
trực tiếp cung cấp chuyển động quay, và cùng với các bánh xe hoặc trống và cáp,
có thể cung cấp chuyển động chuyển tiếp. Các mạch điện phần ứng và sơ đồ cơ thể
miễn phí của rotor được thể hiện trong hình sau đây:
Đối với ví dụ này, chúng tôi sẽ giả định các giá trị sau cho các tham số vật lý.
* Thời điểm quán tính của rotor (J) = 0,01 kg.m ^ 2 / s ^ 2
* tỷ lệ giảm xóc của hệ thống cơ khí (b) = 0,1 NMS
* điện động lực không đổi (K = Ke = Kt) = 0,01 Nm / Amp
* điện kháng (R) = 1 ohm
* điện cảm (L) = 0,5 H
* (V) đầu vào: nguồn điện áp
đầu ra (theta): vị trí của trục
* rotor và trục được cho là cứng nhắc
Mô-men xoắn động cơ, T , liên quan đến dòng điện phần ứng, i , một yếu tố không
đổi Kt . Emf trở lại, e , có liên quan đến vận tốc quay bởi các phương trình sau
đây:
Trong các đơn vị SI (mà chúng ta sẽ sử dụng), Kt (phần ứng không đổi) bằng
đến Ke (động cơ không đổi).
Từ hình trên, chúng ta có thể viết các phương trình sau đây dựa trên định luật
Newton kết hợp với pháp luật Kirchhoff:
1. Chuyển giao chức năng
Sử dụng Transforms Laplace, các phương trình mô hình trên có thể được thể hiện
trong điều khoản của s.
Bằng cách loại trừ (s), chúng ta có thể có được chức năng chuyển giao vòng hở
sau, tốc độ quay và điện áp đầu ra là đầu vào.
2. -Space nhà nước


Trong các hình thức không gian trạng thái, các phương trình trên có thể được thể
hiện bằng cách chọn tốc độ quay và dòng điện như variab nhà nước và điện áp như
một đầu vào. Đầu ra được chọn là tốc độ quay.
Thiết kế yêu cầu
Đầu tiên, động cơ của chúng tôi không được bù chỉ có thể xoay ở mức 0,1 rad /
giây với một điện áp đầu vào của 1 Volt (điều này sẽ được chứng minh sau khi các
phản ứng vòng lặp mở là mô phỏng). Kể từ khi yêu cầu cơ bản nhất của một động
cơ là nó phải quay với tốc độ mong muốn, các lỗi trạng thái ổn định của tốc độ
động cơ nên được ít hơn 1%. Yêu cầu hiệu suất khác là động cơ phải đẩy nhanh tốc
độ trạng thái ổn định của nó ngay khi nó quay về. Trong trường hợp này, chúng tôi
muốn nó phải có một thời gian giải quyết của 2 giây. Kể từ khi một tốc độ nhanh
hơn so với các tài liệu tham khảo có thể làm hỏng các thiết bị, chúng tôi muốn có
một vượt qua ít hơn 5%.
Nếu chúng ta mô phỏng các đầu vào tham chiếu (r) bởi một đơn vị bước đầu vào,
sau đó tốc độ động cơ đầu ra cần có:
• Thời gian giải quyết ít hơn 2 giây
• Vượt qua ít hơn 5%
• Trạng thái ổn định lỗi ít hơn 1%
M ATLAB đại diện và phản ứng mở vòng lặp
1. Chuyển giao chức năng
Chúng tôi có thể đại diện cho chức năng chuyển giao trên vào M ATLAB bằng cách
xác định các ma trận tử số và mẫu số như sau:
Tạo một m-file và nhập vào lệnh sau:
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];

động cơ = tf (num, den);
Bây giờ chúng ta hãy xem làm thế nào hệ thống vòng hở ban đầu thực hiện. Thêm
các lệnh sau đây vào cuối của file-m và chạy nó trong cửa sổ lệnh M ATLAB :
bước (động cơ, 0:0.1:3);
Tiêu đề ('Bước đáp ứng cho hệ thống mở Vòng');
Bạn sẽ nhận được cốt truyện sau đây:
Từ cốt truyện, chúng ta thấy rằng khi volt 1 được áp dụng vào hệ thống, động cơ
chỉ có thể đạt được tốc độ tối đa là 0,1 rad / sec, mười lần nhỏ hơn so với tốc độ
mong muốn của chúng tôi. Ngoài ra, phải mất 3 giây động cơ để đạt được tốc độ
của nó ở trạng thái ổn định, điều này không đáp ứng 2 của chúng tôi giây giải
quyết tiêu chí thời gian.
2. -Space nhà nước
Chúng tôi cũng có thể đại diện cho hệ thống bằng cách sử dụng các phương trình
không gian trạng thái. Hãy thử các lệnh sau đây trong một m-file.
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
A = [-b/JK/J
-K / L-R / L];
B = [0
1 / L];
C = [1 0];
D = 0;
motor_ss = ss (A, B, C, D);
bước (motor_ss)
Chạy m-file trong cửa sổ lệnh M ATLAB , và bạn sẽ nhận được kết quả giống như
một hiển thị ở trên.
2,Ví dụ: Thiết kế Phương pháp PID cho DC

điều khiển tốc độ động cơ
Tỷ lệ kiểm soát
điều khiển PID
Điều chỉnh lợi ích
Từ vấn đề chính, các phương trình năng động và chức năng chuyển nhượng mở
vòng lặp của Motor DC là:
và sơ đồ hệ thống hình như:
Đối với các thiết lập vấn đề ban đầu và nguồn gốc của các phương trình trên, xin
vui lòng tham khảo các mô hình hóa một trang Động cơ DC .
Với một đầu vào 1 bước rad / giây, tiêu chuẩn thiết kế là:
• Thời gian giải quyết ít hơn 2 giây
• Vượt qua ít hơn 5%
• Giai đoạn ổn định lỗi ít hơn 1%
Bây giờ chúng ta hãy thiết kế một bộ điều khiển PID và thêm nó vào hệ thống. Đầu
tiên tạo ra mới m-file và gõ vào các lệnh sau đây (đề cập đến mô hình hóa trang
cho các chi tiết nhận được các lệnh này).
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];
động cơ = tf (num, den);
Nhớ lại rằng các chức năng chuyển giao cho một bộ điều khiển PID:
Tỷ lệ kiểm soát
Trước tiên chúng ta hãy thử sử dụng một bộ điều khiển tỷ lệ thuận với mức tăng
100. Để xác định hàm truyền vòng kín, chúng tôi sử dụng thông tin phản
hồi lệnh. Thêm đoạn code sau vào cuối của tập tin m của bạn:
Kp = 100;

contr = Kp;
sys_cl = phản hồi (contr * động cơ, 1);
Bây giờ chúng ta hãy xem bước đáp ứng trông như thế nào. Thêm dòng sau vào
cuối của tập tin m của bạn, và chạy nó trong cửa sổ lệnh:
t = 0:0.01:5;
bước (sys_cl, t)
title ('Bước phản ứng với tỷ lệ kiểm soát)
Bạn sẽ nhận được cốt truyện sau đây:
Điều khiển PID
Từ các lô ở trên, chúng ta thấy rằng cả hai lỗi trạng thái ổn định và vượt qua là quá
lớn. Nhớ lại từ trang hướng dẫn PID rằng việc thêm một thuật ngữ tích hợp sẽ loại
bỏ các lỗi trạng thái ổn định và một thuật ngữ phái sinh sẽ làm giảm vượt qua. Hãy
thử một bộ điều khiển PID với nhỏ Ki và Kd. Thay đổi file m-của bạn để nó trông
giống như sau. Chạy m-file mới này cung cấp cho bạn các lô sau.
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];
động cơ = tf (num, den);
Kp = 100;
Ki = 1;
Kd = 1;
contr = tf ([Kd Kp Ki], [1 0]);
sys_cl = phản hồi (contr * động cơ, 1);
bước (sys_cl)
Tiêu đề ('điều khiển PID với nhỏ Ki và Kd')
Điều chỉnh tăng

Bây giờ thời gian giải quyết quá dài. Hãy tăng K
i
để giảm thời gian giải
quyết. Quay trở lại file m-của bạn và thay đổi K
i
đến 200. Chạy lại tập tin và bạn
sẽ nhận được một âm mưu như thế này:
Bây giờ chúng ta thấy rằng phản ứng nhanh hơn nhiều so với trước đây, nhưng Ki
lớn đã trở nên tồi tệ hơn phản ứng thoáng qua (lớn vượt qua). Hãy tăng Kd để giảm
vượt qua. Quay trở lại m-file và thay đổi Kd đến 10.Chạy lại nó và bạn sẽ nhận
được âm mưu này:
Vì vậy, bây giờ chúng ta biết rằng nếu chúng tôi sử dụng một bộ điều khiển PID
với
Kp = 100,
Ki = 200,
Kd = 10,
tất cả các yêu cầu thiết kế của chúng tôi sẽ hài lòng.

 !!
Vẽ các locus gốc mở vòng lặp
Tìm kiếm được bằng cách sử dụng các lệnh rlocfind
Thêm một bộ điều khiển lag
Vẽ các phản ứng vòng kín
Từ vấn đề chính, các phương trình năng động và chức năng chuyển nhượng mở
vòng lặp của DC Motor Speed là:
và sơ đồ hệ thống hình như:
Đối với các thiết lập vấn đề ban đầu và nguồn gốc của các phương trình trên, xin
vui lòng tham khảo các mô hình hóa một trang Động cơ DC .
Với một tài liệu tham khảo 1 bước rad / giây, tiêu chuẩn thiết kế là:
• "#$%&'()'

• *&$+,
• " /0123,
Bây giờ chúng ta hãy thiết kế một bộ điều khiển bằng cách sử dụng phương
pháp Root locus .
Tạo một m-file đi và trong các lệnh sau đây (đề cập đến vấn đề chính cho các chi
tiết của việc các lệnh).
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];
động cơ = tf (num, den);
Vẽ các locus gốc mở vòng lặp
Ý tưởng chính của thiết kế Root locus là tìm đáp ứng vòng kín từ các lô vòng lặp
mở Root locus. Sau đó, bằng cách thêm số không và / hoặc cột nhà máy ban đầu,
phản ứng vòng kín có thể được sửa đổi. Trước tiên chúng ta hãy xem các locus gốc
cho nhà máy. Thêm các lệnh sau đây vào cuối của tập tin m của bạn.
rlocus (động cơ)
sgrid (.8,0)
Sigrid (2,3)
tiêu đề ('gốc Locus mà không có một bộ điều khiển)
4-15167!89#:0;$<=.>%$?
@A-<7B67C$D.-EFG<HDI7J
AB1676F89$7%BE89-$<
Hai đối số trong các sgrid lệnh là tỷ lệ giảm xóc (zeta) hạn (0,8 tương ứng với một
vượt qua 5%), và tần số tự nhiên (Wn) hạn (= 0 tương ứng với không có thời gian
tăng tiêu chuẩn). Đối số duy nhất trong các Sigrid lệnh là thuật ngữ sigma (4,6 / 2
giây = 2,3). Sau khi bạn đã lưu sigrid.m tập tin vào thư mục của bạn, chạy trên m-

file trong cửa sổ lệnh. Bạn sẽ nhận được âm mưu locus gốc hiển thị dưới đây:
Tìm kiếm được bằng cách sử dụng rlocfind lệnh
Nếu bạn nhớ lại, chúng ta cần thời gian giải quyết và vượt qua càng nhỏ càng
tốt. Lớn giảm xóc tương ứng với các điểm trên các locus gốc gần trục thực. Một
phản ứng nhanh tương ứng với các điểm trên các locus gốc xa bên trái của trục
ảo. Để tìm được tương ứng với một điểm trên các locus gốc, chúng ta có thể sử
dụng lệnh rlocfind . Chúng tôi có thể tìm thấy được và âm mưu phản ứng bước sử
dụng được tất cả cùng một lúc. Để làm điều này, nhập lệnh sau vào cuối của tập tin
m của bạn và chạy lại nó.
[K, cột] = rlocfind (động cơ)
sys_cl = phản hồi (k * động cơ, 1);
t = 0:0.01:3;
bước (sys_cl, t)
title ('Bước phản ứng với tăng')
"E -'5B6K7!7-I1 7!F$L$-M
B6'I>%7NGGOP(+<QR"R=I-%1.>-$M$<
selected_point =
-5,9596 + 2.0513i
k =
10,0934
cực =
-6,0000 + 2.0511i
-6,0000 - 2.0511i
S-T-0-%B-QR"R=F$/15GJN
$IUG:D@!1E<=.VIG* -'5$
)'
Như bạn có thể thấy, không có vượt qua và thời gian giải quyết là khoảng một
giây, để vượt qua và giải quyết các yêu cầu thời gian hài lòng. Vấn đề duy nhất
chúng ta có thể nhìn thấy từ âm mưu này là lỗi trạng thái ổn địnhkhoảng 50%. Nếu
chúng ta tăng được giảm sai số trạng thái ổn định, vượt qua trở nên quá lớn (Hãy

thử điều này bản thân). Chúng ta cần thêm một bộ điều khiển độ trễ để giảm sai số
trạng thái ổn định.
Thêm một bộ điều khiển lag
Từ cốt truyện, chúng tôi thấy rằng đây là một locus gốc rất đơn giản. Làm ẩm và
giải quyết tiêu chí thời gian đã được đáp ứng với bộ điều khiển tỉ lệ. Các lỗi trạng
thái ổn định là tiêu chí duy nhất không được đáp ứng với bộ điều khiển tỉ lệ. Bù tụt
hậu có thể làm giảm lỗi trạng thái ổn định. Bằng cách này, chúng ta tuy nhiên có
thể tăng thời gian giải quyết của chúng tôi. Hãy thử các bộ điều khiển lag đầu tiên
sau đây:
Điều này có thể được thực hiện bằng cách thay đổi file m-của bạn như sau:
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];
Zo = 1;
Po = 0,01;
động cơ = tf (num, den);
contr = tf ([1 Zo], [1 Po]);
rlocus (contr * động cơ)
sgrid (.8,0)
Sigrid (2,3)
tiêu đề ('gốc Locus với một bộ điều khiển lag')
=.W@*1 $)'76-J-U BED% 
Vẽ các phản ứng vòng kín
Bây giờ chúng ta hãy đóng vòng lặp và xem phản ứng bước vòng kín. Nhập đoạn
mã sau vào cuối của tập tin m của bạn:
[K, cột] = rlocfind (contr * động cơ)

sys_cl = phản hồi (k * contr * động cơ, 1);
t = 0:0.01:3;
bước (sys_cl, t)
title ('Bước phản ứng với một bộ điều khiển lag)
.'7OX1Y6'-F$/15QR"R=<Z*[K7K7!
-G16>'I>%7U\#?U71Y]<=.W@*
7!)77M$
Lợi nhuận của bạn nên được khoảng 20. Như bạn có thể thấy phản ứng không phải
là khá thỏa đáng. Bạn cũng có thể lưu ý rằng mặc dù đạt được đã được lựa chọn để
tương quan với một vị trí gần các tiêu chí giảm xóc, vượt qua không phải là ngay
cả gần năm phần trăm. Điều này là do hiệu ứng của bộ điều khiển lag cực của nó là
chậm hơn nhiều). Điều này có nghĩa là chúng ta có thể đi xa hơn đường chấm đại
diện cho giới hạn, và có được những lợi ích cao hơn mà không cần lo lắng về vượt
qua. Chạy lại file m-của bạn, đặt được trên các dòng trắng rải rác,. Tiếp tục cố
gắng cho đến khi bạn nhận được một câu trả lời thỏa đáng. Nó sẽ trông tương tự
như sau (chúng tôi sử dụng tăng khoảng 50):
Các lỗi trạng thái ổn định là nhỏ hơn 1%, và thời gian giải quyết và yêu cầu vượt
qua đã được đáp ứng. Như bạn có thể thấy, quá trình thiết kế cho các locus gốc là
rất nhiều một quá trình thử và sai. Đó là lý do tại sao nó là tốt đẹp để âm mưu các
locus gốc, chọn tăng, và âm mưu phản ứng tất cả trong một bước. Nếu chúng ta
không thể nhận được một câu trả lời thỏa đáng bằng cách chọn các lợi ích, chúng
ta có thể đã cố gắng một bộ điều khiển độ trễ khác nhau, hoặc thậm chí thêm một
bộ điều khiển chính.
^Vẽ âm mưu Bode gốc
Thêm tăng tỷ lệ
Vẽ các phản ứng đóng vòng lặp
Thêm một bộ điều khiển lag
Từ vấn đề chính, các phương trình năng động và chức năng chuyển nhượng mở
vòng lặp của ví dụ điều khiển tốc độ Motor DC là:
và sơ đồ hệ thống hình như:

Đối với các thiết lập vấn đề ban đầu và nguồn gốc của các phương trình trên, xin
vui lòng tham khảo các mô hình hóa một trang Động cơ DC .
Với đầu vào 1 bước rad / giây, tiêu chuẩn thiết kế là:
• Thời gian giải quyết ít hơn 2 giây
• Vượt qua ít hơn 5%
• Trạng thái ổn định lỗi ít hơn 1%
Tạo một m-file đi và trong các lệnh sau đây (đề cập đến vấn đề chính cho các chi
tiết của việc các lệnh).
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];
động cơ = tf (num, den);
Vẽ âm mưu Bode gốc
Ý tưởng chính của thiết kế dựa trên tần số là sử dụng các lô Bode của hàm truyền
vòng hở để ước tính đáp ứng vòng kín. Thêm một bộ điều khiển cho hệ thống thay
đổi vòng lặp mở Bode âm mưu, do đó thay đổi các phản ứng vòng kín. Hãy đầu
tiên rút ra những âm mưu Bode cho các chức năng chuyển giao ban đầu vòng lặp
mở. Thêm mã sau đây để kết thúc của tập tin m của bạn, và sau đó chạy nó
trong cửa sổ lệnh M ATLAB .

điềm (động cơ)
Bạn sẽ nhận được âm mưu Bode sau đây:
Thêm tăng tỷ lệ
Từ các lô điềm ở trên, chúng ta thấy rằng lợi nhuận giai đoạn có thể lớn hơn
khoảng 60 độ nếu w là ít hơn 10 rad / giây. Hãy thêm được vào hệ thống vì vậy tần
số băng thông là 10 rad / giây, mà sẽ cung cấp cho chúng tôi một lợi nhuận giai

đoạn khoảng 60 độ. Để tìm được ở 10 rad / giây, bạn có thể cố gắng đọc nó Bode
lô (có vẻ là hơi nhiều hơn -40 dB, hoặc 0,01 độ lớn) Các điềm lệnh, gọi với đối số
bên trái, cũng có thể được sử dụng để cung cấp cho bạn mức độ chính xác:
[Mag, phase, w] = điềm (động cơ, 10)
mag =
0,0139
Để có được mở vòng lặp của 1 at 10 rad / sec, chúng ta cần thêm một kiểm soát
của 1/0.0139 hoặc gần 72.
contr = 72;
điềm (contr * động cơ);
và chạy lại file m-của bạn. Bạn cần phải có âm mưu Bode sau đây:
Vẽ các phản ứng vòng kín
Từ các lô ở trên, chúng ta thấy rằng lợi nhuận giai đoạn hiện nay là khá lớn. Hãy
xem phản ứng vòng kín như thế nào. Thêm một % ở phía trước của điềm lệnh để
bình luận chúng ra và thêm đoạn mã sau vào cuối của tập tin m của bạn:
sys_cl = phản hồi (contr * động cơ, 1);
t = 0:0.01:10;
bước (sys_cl, t)
Bạn sẽ thấy cốt truyện sau đây:
Thời gian giải quyết là đủ nhanh, nhưng vượt qua và lỗi trạng thái ổn định là quá
cao. Vượt qua có thể được giảm bằng cách giảm đạt được một chút để có được một
lợi nhuận giai đoạn cao hơn, nhưng điều này sẽ gây ra lỗi trạng thái ổn định tăng
lên. Một bộ điều khiển độ trễ có thể là cần thiết.
Thêm một bộ điều khiển lag
Chúng ta có thể thêm một bộ điều khiển độ trễ giảm lỗi trạng thái ổn định. Đồng
thời, chúng ta nên cố gắng giảm bớt vượt qua bằng cách giảm độ lợi. Hãy giảm
được đến 50, và cố gắng một bộ điều khiển độ trễ
nên giảm lỗi trạng thái ổn định bởi một yếu tố của 1/0.01 = 100 (nhưng có thể làm
tăng thời gian giải quyết). Quay trở lại và thay đổi tập tin m-do đó, nó trông giống
như sau:

num = K;
den = [(J * L) ((J * R) + (L * b)) ((b * R) + K ^ 2)];
động cơ = tf (num, den);
Zo = 1;
Po = 0,1;
contr = 50 * tf ([1 Zo], [1 Po]);
điềm (contr * động cơ)
Chạy lại tập tin và bạn sẽ nhận được âm mưu này:
Lợi nhuận giai đoạn có vẻ tốt. Các lỗi trạng thái ổn định được dự đoán là về
1/40dB hoặc 1%, như mong muốn. Đóng các vòng lặp và nhìn vào bước đáp
ứng. Thêm dòng mã sau đây vào cuối m-file và chạy lại.
sys_cl = phản hồi (contr * động cơ, 1);
t = 0:0.01:10;
bước (sys_cl, t)
Bây giờ bạn có một phản ứng bước đáp ứng các yêu cầu thiết kế. Các lỗi trạng thái
ổn định là ít hơn 1%, vượt qua là khoảng 5%, và thời gian giải quyết là khoảng 2
giây.
Đáp ứng tần số Ví dụ
Cruise Control | tốc độ động cơ | Chức vụ ô tô | Xe Bus | Inverted
Pendulum | Pitch điều khiển | bóng và Beam
Tốc độ động cơ Ví dụ
Mô hình hóa | PID | Locus gốc | Đáp ứng tần số | Không gian Nhà
nước | Digital Control | Simulink
Hướng dẫn
M ATLAB Khái niệm cơ bản | M ATLAB Mô hình hóa | điều khiển PID | Gốc
Locus | Tần số đáp ứng | Nhà nước Space | Digital Control | Simulink Khái
niệm cơ bản | Simulink Modeling | Ví dụ
5,Ví dụ: Một nhà nước Controller Không gian
cho DC Motor Speed
Thiết kế bộ điều khiển phản hồi trạng thái đầy đủ

Thêm một đầu vào tham chiếu
Từ vấn đề chính, các phương trình năng động trong hình thức không gian trạng thái
như sau:
Đối với các thiết lập vấn đề ban đầu và nguồn gốc của các phương trình trên, xin
vui lòng tham khảo các mô hình hóa một trang Động cơ DC .
Với 1 rad / sec tham khảo thêm vào hệ thống, tiêu chuẩn thiết kế là:
• Thời gian giải quyết ít hơn 2 giây
• Vượt qua ít hơn 5%
• Trạng thái ổn định lỗi ít hơn 1%
Tạo một m-file đi và trong các lệnh sau đây (đề cập đến vấn đề chính cho các chi
tiết nhận được các lệnh này).
J = 0,01;
b = 0,1;
K = 0,01;
R = 1;
L = 0,5;
A = [-b/JK/J
-K / L-R / L];
B = [0
1 / L];
C = [1 0];
D = 0;
sys = ss (A, B, C, D);
Thiết kế bộ điều khiển phản hồi trạng thái đầy đủ
Kể từ khi cả hai của variab nhà nước trong vấn đề của chúng tôi là rất dễ dàng để
đo (chỉ cần thêm một ampe kế cho hiện tại và máy đo tốc độ gốc cho tốc độ),
chúng ta có thể thiết kế một bộ điều khiển phản hồi trạng thái toàn cho hệ thống mà
không cần lo lắng về việc có thêm một người quan sát. Các sơ đồ mạch cho một hệ
thống thông tin phản hồi trạng thái đầy đủ là:
Nhớ lại rằng các đa thức đặc trưng cho hệ thống khép kín này là yếu tố quyết

định (Si-(A-BK)) s là biến Laplace. Kể từ khi các ma trận A và B * K là cả hai ma
trận 2x2, có phải là 2 cực cho hệ thống. Bằng cách thiết kế một bộ điều khiển phản
hồi trạng thái đầy đủ, chúng ta có thể di chuyển hai cực này bất cứ nơi nào chúng
tôi muốn họ. Đầu tiên chúng ta sẽ cố gắng đặt chúng ở -5 + i và-5-i (lưu ý rằng
điều này tương ứng với một zeta = 0,98 cho vượt qua 0,1% và sigma = 5 dẫn đến 1
giây thời gian giải quyết). Một khi chúng tôi đến với các cực mà chúng ta muốn,
M ATLAB sẽ tìm thấy ma trận điều khiển, K cho chúng tôi. Đơn giản chỉ cần thêm
đoạn mã sau vào cuối của tập tin m của bạn:
p1 = -5 + i;
p2 = -5 - i;
K = nơi (A, B, [p1 p2]);
Bây giờ nhìn vào sơ đồ mạch trên một lần nữa. Chúng ta thấy rằng sau khi thêm
ma trận K vào hệ thống, các phương trình không gian trạng thái trở thành:
Chúng ta có thể thấy phản ứng vòng kín bằng cách thêm dòng sau vào cuối của tập
tin m của bạn:
t = 0:0.01:3;
sys_cl = ss (AB * K, B, C, D);
bước (sys_cl, t)
Chạy file m-trong cửa sổ lệnh, Bạn sẽ thấy cốt truyện sau đây:
Thêm một đầu vào tham chiếu
Từ âm mưu này, chúng tôi thấy rằng các lỗi trạng thái ổn định là quá lớn. Ngược
lại với các phương pháp thiết kế khác, nơi mà chúng tôi thức ăn trở lại đầu ra và so
sánh nó với các tài liệu tham khảo để tính toán một lỗi, ở đây chúng tôi được cho
ăn trở lại cả hai nước. Chúng ta cần để tính toán giá trị trạng thái ổn định của các
tiểu bang nên, nhân rằng bằng K được lựa chọn và sử dụng giá trị mới này như là
tài liệu tham khảo của chúng tôi để tính toán đầu vào. Điều này có thể được thực
hiện trong một bước bằng cách thêm một NBAR tăng liên tục sau khi các tài liệu
tham khảo:
Chúng tôi có thể tìm thấy yếu tố này NBAR bằng cách sử dụng
M ATLAB lệnh rscale :

Nbar = rscale (sys, K)
Lưu ý rằng các chức năng rscale không phải là một chức năng tiêu chuẩn trong
M ATLAB . Bạn sẽ phải sao chép nó trước khi bạn sử dụng nó. Bấm vào đây để biết
thêm thông tin. Bây giờ chúng ta có thể âm mưu bước đáp ứng bằng cách thêm các
dòng mã sau đây vào tập tin m-:
t = 0:0.01:10
bước (sys * NBAR, t)
tiêu đề ('Bước đáp ứng với K điều khiển và NBAR')
Thời gian này, các lỗi trạng thái ổn định là ít hơn nhiều hơn 1%, và tất cả các tiêu
chuẩn thiết kế khác đã được đáp ứng là tốt.
6,Digital Control Ví dụ: Thiết kế Cruise
Control bằng cách sử dụng phương pháp Root-
Locus
Rời rạc chuyển giao chức năng
Root-Locus trong mặt phẳng z
bồi thường bằng cách sử dụng một bộ điều khiển kỹ thuật số
Trong phiên bản này điều khiển kỹ thuật số của vấn đề kiểm soát hành trình, chúng
tôi sẽ sử dụng phương pháp thiết kế gốc-locus để thiết kế bộ điều khiển kỹ thuật
số. Nếu bạn tham khảo Cruise Control: Mô hình hóatrang, chức năng mở vòng lặp
chuyển giao bắt nguồn như
đâu
• m = 1000
• b = 50
• U (s) = 10
• Y (s) = vận tốc đầu ra
Các yêu cầu thiết kế
• Tăng thời gian: Nhỏ hơn 5 giây
• Vượt qua: Ít hơn 10%
• Trạng thái ổn định lỗi: Ít hơn 2%
Rời rạc chuyển giao chức năng

Bước đầu tiên trong việc thực hiện một phân tích rời rạc của một hệ thống là để tìm
chức năng chuyển rời rạc tương đương của phần liên tục. Chúng tôi sẽ chuyển đổi
chức năng chuyển giao trên (Y (s) / U (s)) để chuyển giao chức năng rời rạc bằng
cách sử dụng M ATLAB chức năng gọi là C2D . Để sử dụng C2D này , bạn cần phải
xác định ba đối số: hệ thống, thời gian lấy mẫu (Ts), và 'phương pháp'. Bạn phải
quen thuộc với cách nhập ma trận num và den. Thời gian lấy mẫu (Ts), trong các
đơn vị giây / mẫu, cần được nhỏ hơn 1 / (30 * BW), BW là băng tần số vòng
kín. Đối với phương pháp, chúng tôi sẽ sử dụng giữ zero-trật tự ('zoh').
Hãy để thời gian lấy mẫu bằng 1/50 giây, điều này là đủ nhanh giả định rằng tần số
băng thông là 1 rad / giây. Bây giờ nhập các lệnh sau vào m-file và chạy nó trong
cửa sổ lệnh.
num = [1];
den = [1000 50];
hành trình = tf (num, den);
Ts = 1/50;
cruise_d = C2D (tàu, Ts, 'zoh')
Các ma trận sau đây sẽ được trả lại cho cửa sổ lệnh.
Chuyển chức năng:
1.999e-05

z - 0,999
Thời gian lấy mẫu: 0,02
Root-Locus trong z-plane
Nhớ lại từ Tutorial điều khiển kỹ thuật số , chức năng gọi là M ATLAB zgrid có thể
được sử dụng để tìm một khu vực chấp nhận được của các locus gốc rời rạc cho đạt
được mong muốn (K). The zgrid lệnh yêu cầu hai đối số: tần số tự nhiên (Wn) và
tỷ lệ giảm xóc (zeta). Hai đối số này có thể được tìm thấy từ thời gian tăng và yêu
cầu vượt qua và hai phương trình sau đây.
đâu
• Wn = tần số tự nhiên (rad / sec)

• zeta = Damping tỷ lệ
• Tr = Rise thời gian
• Mp = tối đa vượt qua

×