- Tạo hàm truyền đạt từ các điểm cực – không từ hàm truyền đạt - Tính và vẽ đáp ứng thời gian từ các điểm cực – không - Vẽ đáp ứng thời gian của hệ phi tuyến trên Simulink... Matlab với
Trang 1BÀI THÍ NGHIỆM
Môn: Lý thuyết điều khiển tự động
Mục đích:
Matlab là chữ viết tắt của Matrix Laboratory Đây là một thư viện các công
cụ làm toán trên ma trận Matlab được tích hợp sẵn một họ các lời giải cho các ứng dụng chuyên dụng và được gọi là các Toolbox, đó chính là thư viện cho các hàm để hỗ trợ Matlab giải quyết các cụm công việc trong các lĩnh vực chuyên môn khác nhau Các bài thí nghiệm này sẽ đề cập chủ yếu đến các vấn đề trong “Control System Toolbox” Qua các buổi thí nghiệm, sinh viên có thể sử dụng thành thạo phần mềm Matlab về các vấn đề thuộc môn học “Lý thuyết điều khiển tự động” và qua đó, củng cố các kiến thức liên quan đến môn học đã được giáo viên truyền đạt trên lớp Cuối mỗi bài sẽ có bài tập giúp cho sinh viên nắm được bài đã học
Yêu cầu:
- Sinh viên nắm vững các kiến thức đã được học trên lớp
- Đã học qua môn học "Lý thuyết mạch"
Trang 2- Tạo hàm truyền đạt từ các điểm cực – không từ hàm truyền đạt
- Tính và vẽ đáp ứng thời gian từ các điểm cực – không
- Vẽ đáp ứng thời gian của hệ phi tuyến trên Simulink
Trang 3BÀI 1 Matlab với môn học Lý thuyết điều khiển tự động
Mục đích:
Giúp cho sinh viên làm quen với phần mềm Matlab – một công cụ tính toán mạch được sử dụng rộng rãi trong nhiều ngành kỹ thuật, trong đó có lĩnh vực điều khiển hệ thống Nội dung trình bày bao gồm các tập lệnh cơ bản, cách tạo hàm và bộ công cụ Control System
Khi dùng Matlab trên cửa sổ lệnh thì trang màn hình sẽ giống như tờ giấy nháp
để người sử dụng có thể giải toán và thử các vấn đề liên quan đến hệ thống được khảo sát Có thể thực hiện các phép toán thông thường, vào các đa thức, các hàm truyền đạt… Trong cửa sổ lệnh đã được mặc định biến ans để trả về giá trị:
0 0 3
>> A=[1 3 4; 5 7 2;-1 3 5; 0 0 3]
* Có thể tạo ma trận với các biến phức:
Trang 4>>B=[2+6i 1-3i;3+8i 2-2i]
Chú ý: không có dấu cách khi viết số phức Matlab có thể chấp nhận biến i hoặc
j khi viết số phức và để tránh nhầm lẫn, có thể định nghĩa ii=sqrt(-1)
* Tạo ma trận có kích thước n*n gồm các số 0 và 1 ngẫu nhiên:
>>rand(n)
* Tạo ma trận có kích thước n*m gồm các số 0 và 1 ngẫu nhiên:
>>rand(n,m)
* Tìm hiểu các câu lệnh:
magic, hilb, ones, zeros, eye, diag, triu, tril, sqrtm, det, rank
*Có thể tạo ma trận 5*5 theo cách sau:
>>[A, zeros(3,2);zeros(2,3) eye(2)]
Chia trái >>A\B
Chia phải >>A/B
Câu hỏi: Tìm sự khác nhau giữa phép chia trái và phép chia phải?
Các phép toán về vector cũng tương tự như các phép toán về ma trận
* Các tạo các vector khi biết điểm đầu, điểm cuối và số phần tử
>> v=1:1:10;
A, B cùng kích thước
Số cột ma trận A bằng số hàng ma trận B
A là ma trận vuông
Trang 5* Tìm hiểu các lệnh:
max, min, sort, sum, prod, mean, any, all
4 Đa thức
Trong Matlab, đa thức được biểu diễn dưới dạng vector có các phần tử bằng các
hệ số của đa thức theo thứ tự số mũ giảm dần
* Lập trình trên Matlab thực chất là tạo ra các hàm mới của riêng người sử dụng
và đưa vào thư viện chung của Matlab Thủ tục để tạo ra một hàm mới để Matlab hiểu và đưa vào thư viện của nó như sau:
Dùng từ khóa function
Khai báo biến đầu ra, tên hàm và các biến đầu vào của hàm đó
Chú ý: Đặt dấu ";" ở cuối mỗi câu lệnh
Tên hàm phải trùng với tên file
* Mở script file bằng cách vào “File”, chọn “New”, chọn “M file”
Trang 6* Lệnh for: So sánh hai đoạn lệnh sau với n cho trước:
Trang 86 Công cụ Control System Toolbox
size Biểu diễn kích thước của đầu vào/đầu ra/ma trận
Chuyển đổi mô hình
c2d Chuyển từ mô hình liên tục sang dạng rời rạc theo thời gian
d2c Chuyển từ mô hình rời rạc theo thời gian sang dạng liên tục
d2d Tạo mô hình rời rạc theo thời gian với thời gian lấy mẫu mới
Các phép toán trong không gian trạng thái
ctrb Tạo ma trận điều khiển được
obsv Tạo ma trận quan sát được
Các chức năng của mô hình
pzmap Vẽ toạ độ điểm cực - không của mô hình LTI
Kết nối mô hình
feedback Nối phản hồi hai mô hình
parallel Mắc song song các mô hình
series Mắc nối tiếp các mô hình
Đáp ứng thời gian
impulse Tính và vẽ đáp ứng xung
Lsim Mô phỏng đáp ứng của mô hình LTI với các đầu vào bất kỳ
Step Tính đáp ứng xung đơn vị
Trang 109 Chuyển từ hàm truyền đạt về không gian trạng thái
11 Chuyển từ hàm liên tục sang hàm rời rạc theo thời gian và ngược lại
sysd = c2d(sysc,Ts) % Chuyển từ hàm liên tục sang dạng rời rạc với thời gian lấy mẫu Ts
sysc = d2c(sysd) % Chuyển từ hàm rời rạc sang dạng liên tục
sysd1= d2d(sysd,Ts) % Thay đổi thời gian lấy mẫu của hàm rời rạc
>> sysc=tf(num,den)
>> Ts=0.05;
>> sysd=c2d(sysc,0.05)
12 Xây dựng mô hình điểm cực - không
Ví dụ: Xây dựng mô hình điểm cực - không sau:
This is the resulting zero/pole/gain representation
13 Mắc song song hai khâu
sys1 + sys2 hoÆc parallel(sys1,sys2)
Trang 1114 Mắc nối tiếp hai khâu
sys1 * sys2 hoÆc series(sys2,sys1)
+ sys5
Trang 12trong đó:
p 1p
3p1
u2
1x41
3223
11
x
2
p 1 sys3
p p 2 sys4
p 1
p
1p5
y
u1
1x41
32x
Trang 13BÀI 2 Vẽ hàm truyền đạt, xây dựng đáp ứng thời gian của các khâu cơ bản
trên Simulink Khảo sát tính ổn định của hệ thống
Mục đích:
- Giúp cho sinh viên cách tính các điểm cực - không
- Vẽ đáp ứng thời gian của hệ thống trên Simulink
6p2pp
W
2 3 4
2 3
Trang 142 1
1 2
3
2 3
ap
Ca
p
Ca
p
C5p4pp
1p9pppW
Trong đó: k là phần thương chia hết của phân thức
p là nghiệm của phân thức
Trang 15* Vẽ trong không gian hai chiều
* Vẽ nhiều đồ thị khác nhau trên một hình:
Trang 16b Vẽ trong không gian ba chiều
Matlab có thể biểu diễn trong không gian 3 chiều theo 3 cách: vẽ đường viền, vẽ lưới và vẽ các đường trong không gian 3 chiều
Ví dụ: Vẽ đường viền của một hàm bậc bốn đơn giản ở bên trái màn hình và vẽ lưới 3D của hàm đó ở bên phải màn hình
Trang 175 10 15 20 5
20 40 60 0 0.5 1 1.5 2
5 Vẽ đáp ứng trên Simulink
Vẽ đáp ứng thời gian của các khâu cơ bản đã học trong Simulink bằng cách:
- Cho đầu vào là hàm 1 t và t
- Xây dựng hàm truyền đạt của khâu
- Quan sát đầu ra trên scope
- So sánh với các kết quả lý thuyết
10(s+10)(s+10) (s+1)(s+0.3-i)(s+0.3+i) Zero-Pole
Trang 18BÀI TẬP Bài 1
Lập trình trong M-file để vẽ đồ thị của các hàm sau trên một hình:
1 2 2 3
4
y sin(2pi * t) 2y
1ap3pp
3 4
Trang 19BÀI 3 Xét tính điều khiển được, quan sát được Xây dựng hệ thống trên
Simulink
Mục đích:
- Giúp cho sinh viên biểu diễn được các loại đáp ứng tần số của hệ thống
- Cách xét tính điều khiển được, quan sát được của hệ thống
- Cách xây dựng hệ thống trên Simulink
Yêu cầu:
Sinh viên nắm vững các kiến thức liên quan đến đáp ứng của hệ thống, tính điều khiển được và quan sát được của nó
Nội dung:
1 Biểu diễn các dạng đáp ứng của hệ thống
Step, xung, Bode (biên độ và pha), Nichols, Nyquist, điểm cực-không
2 Lập ma trận điều khiển được
>>ctrb(A,B)
Hệ thống điều khiển được nếu hạng của ctrb(A,B) bằng n
3 Lập ma trận quan sát được
>>obsv(A,C)
Hệ thống quan sát được nếu hạng của obsv(A,C)) bằng n
4 X ây dựng hệ thống trên Simulink
10(s+10)(s+10) (s+1)(s+0.3-i)(s+0.3+i) Zero-Pole
Trang 20Câu hỏi: P ở đây được tính theo công thức nào?
6 Khảo sát đặc tính thời gian:
Khi đã biết ma trận A, B, C, D của hệ thống, ta có thể khảo sát đặc tính quá độ h(t) của hệ thống bằng hàm step và khảo sát hàm trọng lượng của hệ thống bằng hàm impulse Nếu tín hiệu vào u(t) có dạng bất kỳ thì ta dùng hàm lsim
để khảo sát đầu ra của hệ thống
Ví dụ 1: Khảo sát đặc tính quá độ và hàm trọng lượng của hệ thống có mô tả toán học trong không gian trạng thái như sau:
Trang 21>> xlabel('Time[sec]'), ylabel ('Ham trong luong')
Ví dụ 2: Khảo sát đáp ứng đầu ra của hệ thống có mô tả toán học như sau:
+ sys5
Trang 22trong đó:
p 1 sys1
p p 1
2
sys được biểu diễn dưới dạng không gian trạng thái:
u2
1x41
3223
11
x
2
p 2 sys3
p
1p5
y
u1
1x41
32x
a Hệ thống có điều khiển được, quan sát được không?
b Vẽ đáp ứng Step, Bode, Nyquist, điểm cực - không của hệ thống
Bài 2
Xây dựng hệ thống như phần 4 với hàm truyền đạt được thay bằng
2
G s s 1 / s 5s 6 , khâu phi tuyến bão hòa được thay bằng khâu tích phân
và chèn thêm một khâu khuếch đại cho hệ số khuếch đại bằng 10 vào sau khâu tích phân
Trang 23Xác định giá trị của a để hệ thống không điều khiển được và không quan sát được?
a Xác định phương trình đặc trưng của hệ thống?
b Tìm miền giá trị của K để hệ thống ổn định?
c Với một giá trị K cụ thể trong miền tìm được của phần b, hãy xác định các nghiệm của phương trình đặc trưng?