Trong lòng MATLAB đã tích hợp sẵn rấtnhiều công cụ chuyên dùng để giải các bài toán khác nhau như: nhận dạng các đốitượng động học, điều khiển tối ưu, điều khiển bền vững, điều khiển mờ,
Trang 1Chương I: Giới thiệu
Giới thiệu chung:
Thời đại của công nghệ thông tin phát triển mạnh mẽ, cùng với nó là hàng loạt cácphần mềm hỗ trợ kèm theo, thì MATLAB & SIMULINK là một phần mềm mà ứngdụng của nó trong điều khiển tự động quả là không nhỏ MATLAB & SIMULINK
là một ngôn ngữ mô phỏng đa năng Nó tạo môi trường để SIMULINK thực hiện
và để liên kết SIMULINK với bên ngoài Trong lòng MATLAB đã tích hợp sẵn rấtnhiều công cụ chuyên dùng để giải các bài toán khác nhau như: nhận dạng các đốitượng động học, điều khiển tối ưu, điều khiển bền vững, điều khiển mờ, xử lý sốtín hiệu, .Mô phỏng các hệ thống điều khiển tự động trong MATLAB cho phép ta
sử dụng các mô hình toán học khác nhau của hệ thống hoặc đối tượng cần khảo sátnhư: dùng hàm truyền đạt, dùng hàm trạng thái, dùng mô hình sơ đồ cấu trúc nhưtrong SIMULINK MATLAB cho phép ta khảo sát các hệ thống điều khiển tự độngtrong miền tần số và miền thời gian Việc thiết kế các bộ điều khiển cũng được tiếnhành trong miền thời gian và bằng cả các phương pháp tần số MATLAB còn chophép liên kết tối đa môi trường để có thể tổ chức mô phỏng với mô hình bán tựnhiên, mô phỏng trong thời gian thực, và mô phỏng các hệ thống lớn Một kỹ thuậtviên tự động hoá cần phải có khả năng phân tích và thiết kế hệ thống Do đó, việctìm hiểu vầ nắm vững kiến thức về cơ sở lý thuyết điều khiển tự động và công cụphần mềm mô phỏng MATLAB & SIMULINK là hết sức cần thiết.
I Matlab
Trang 2hình 1.1: hình ảnh phần mềm matlab MATLAB phần mềm nổi tiếng của công ty MathWorks, là một ngôn ngữ hiệu năng cao cho tính toán kỹ thuật như được viết trong logo của phần mềmnày Nó tích hợp tính toán, hiện thị và lập trình trong một môi trường dễ
sử dụng
Các ứng dụng tiêu biểu của MATLAB bao gồm:
− Khả năng tính toán mạnh
− Phát triển thuật toán
− Chứa Simulink là môi trường mạnh để mô phỏng các hệ thống động học tuyếntính và phi tuyến
− Đồ họa khoa học và kỹ thuật
− Phát triển ứng dụng với các giao diện đồ họa
− Có kiến trúc mở, ủng hộ việc xây dựng thêm các module tính toán kỹ thuật theo chẩn công nghiệp
Tên của phần mềm MATLAB bắt nguồn từ thuật ngữ “Matrix Laboratory”
Trang 3Đầu tiên nó được viết bằng FORTRAN để cung cấp truy nhập dễ dàng tới phầnmềm ma trận được phát triển bởi các dự án LINPACK và EISPACK Sau đó
nó được viết bằng ngôn ngữ C trên cơ sở các thư viện nêu trên và phát triển thêm nhiều lĩnh vực của tính toán khoa học và các ứng dụng kỹ thuật
Phiên bản đang dùng là R2013a ra ngày 15 tháng 2 năm 2014
Ứng dụng
Matlab được dùng rộng rãi trong giáo dục, phổ biến nhất là giải các bài toán số trị(cả đại số tuyến tính lẫn giải tích) trong nhiều lĩnh vực kĩ thuật
Matlab được ứng dụng để mô phỏng và tính toán trong các môn học của bộ môn
Vô tuyến Lý thuyết trường, bộ môn Lý thuyết mạch (Lý thuyết mạch, lý thuyếtthông tin, Xử lý tín hiệu số); Xử lý âm thanh, hình ảnh Đặc biệt nó còn là công cụ
hỗ trợ tốt trông các mô phỏng hệ thống tự động, là công cụ hỗ trợ đắc lực chochuyên ngành kỹ thuật điều khiển và tự động hóa Việc nắm vững cách sử dụngchương trình và ngôn ngữ lập trình Matlab sẽ là một lợi thế không nhỏ của các bạnsinh viên, nhất là với các bạn tham gia vào công việc Nghiên cứu khoa học
Bên cạnh đó, công cụ simulink có trong matlab là công cụ được nhiều ngành sử dụng với nhiều ứng dụng, giao diện làm việc của matlab
Hình 1.2: Giao diện làm việc của Matlab
II SIMULINK
Simulink là một phần mềm mở rộng của matlab ( 1 toolbox của matlab) dùng để
mô hình hóa, mô phỏng hóa và phân tíc một hệ thóng động Thông thường dùng để
Trang 4thiết kế hệ thống điều khiển, thiết kế DSP, hệ thống thông tin và các ứng dụng mô phỏng khác.
simulink là thuật ngữ mô phỏng dễ nhớ được ghép bởi hai từ simulation và link Simulink cho phép mô tả hệ thống tuyến tính, hệ phi tuyến, các mô hình trong miền thời gian liên tục, hay gián đoạn hoặc một hệ bao gồm cả liên tục và gián đoạn
Để mô hình hóa, Simulink cung cấp cho ta một giao diện đồ họa để sử dụng và xâydựng mô hình sử dụng thao tác " nhấn và kéo" chuột để lấy các khối có sẵn, với giao diện đồ họa này ta có thể xây dựng mô hình và khảo sát mô hình một cách trực quan hơn
Điểm nhấn mạnh quan trọng của công việc mô phỏng một quá trình là thành lập được mô hình, để xây dựng và sử dụng tốt, ta cần phải có kiến thức cơ bản về điều khiển và từ đó thành lập lên mô hình của bài toán
Để vào làm việc với Simulink, từ giao diện của matlab gõ lệnh simulink ta sẽ làm việc với tool simulink, của sổ này hoạt động liên kết với của sổ lệnh Matlab
giao diện của simulink
hình 2.1: Giao diện làm việc của Simulink
Ta thấy cửa sổ của Simulink có nhiều khối chứ năng (blocks library), trong đó có nhiều khối chức năng cụ thể
Trang 5Từ cửa sổ lệnh ta thấy được nhiều khối thư viện như: Sources (khối nguồn) , Skins (khối đầu đo), nonlinear (khối phi tuyến), linear (khối tuyến tính), connections (khối đầu nối), v v
hình 2.2:Khối nguồn trong thư viện của SimulinkThư viện chủa Simulink bao gồm các khối chuẩn trên, bên cạnh đó người sử dụng cũng có thể thay đổi hay tạo ra các khối cho riêng mình Simulink cũng giống như các phần mềm mô phỏng thiết kế mạch điện khác như: microsim eval, EWB,
Để tạo một khối mới, ta chọn file và chon new, sau đó chọn model, hoặc ở màn làm vịệc ta ấn tổ hợp phím ctrl + N
hình 2.3 Tạo khối mới trong Simulink
III Để tìm hiểu sau hơn về nó, ta tìm hiểu một số tool có sẵn trong thư viện
của Matlab 3.1: Rlocus
Trang 6sử dụng để nghiên cứu ảnh hưởng của việc thay đổi vị trí cực vòng kín Đổi lại, các
vị trí này cung cấp thông tin gián tiếp về đáp ứng thời gian và tần số
rlocus (sys) tính toán và vẽ đồ thị quỹ đạo nghiệm của vòng lặp mở mô hình SISO sys Hàm này có thể được áp dụng cho bất kỳ của các vòng phản hồi âm sau đây bằng cách thiết lập sys thích hợp
Nếu sys có hàm chuyển:
các cực vòng kín là nghiệm của
d(s) + kn(s) = 0
rlocus chọn một tập hợp các k dương để tạo ra một đồ thị phẳng Ngoài ra,
rlocus (sys, k)
sử dụng vector k để vẽ quỹ đạo nghiệm
rlocus (sys1, sys2, ) vẽ quỹ đạo nghiệm của nhiều mô hình LTI sys1, sys2, trênmột đồ thị Bạn có thể chọn một màu sắc, kiểu dòng, và đánh dấu cho mỗi mô hình, như trong
rlocus (sys1, 'r', sys2, 'y:', sys3, 'gx')
Trang 7Khi tìm đối số đầu ra,
[r, k] = rlocus (sys)
r = rlocus (sys, k)
trả lại vector k tăng được lựa chọn và các địa điểm gốc phức tạp r cho những lợi ích Ma trận r có chiều dài (k) cột và cột thứ j của nó liệt kê các nghiệm cho k đạt được (j)
Bạn có thể thay đổi các thuộc tính của đồ thị, như các đơn vị Đối với thông tin về cách để thay đổi thuộc tính của đồ thị của bạn, hãy xem cách để tùy chỉnh
Trang 8rlocusplot (AX, )
rlocusplot ( , plotoptions)
Mô tả
h = rlocusplot (sys) tính toán và vẽ đồ thị quỹ đạo nghiệm của đơn đầu vào, đầu ra
mô hình hệ thống LTI Nó cũng trả về xử lý h Bạn có thể sử dụng tay cầm này để tùy chỉnh đồ thị với các lệnh getoptions và setoptions Gõ
help pzoptions
cho một danh sách các tùy chọn có sẵn đồ thị
Xem rlocus để biết cấu trúc thông tin phản hồi và các thuật toán được sử dụng để tính toán quỹ đạo nghiệm
rlocusplot (sys, k) sử dụng một người dùng chỉ định vector k của các giá trị đạt được
rlocusplot (sys1, sys2, ) vẽ đồ thị nghiệm của nhiều mô hình LTI sys1, sys2, trên một đồ thị duy nhất Bạn có thể chỉnh màu sắc, kiểu dòng, và đánh dấu cho mỗi mô hình, như trong
rlocusplot (sys1, 'r', sys2, 'y:', sys3, 'gx')
rlocusplot (AX, ) vẽ các trục với xử lý AX
rlocusplot ( , plotoptions) vẽ đồ thị quỹ đạo nghiệm với các tùy chọn quy định tại plotoptions Gõ
p = getoptions (h); % Tùy chọn cho đồ thị
p.Title.String = 'My title’; % Thay đổi tiêu đề trong các tùy chọn
setoptions (h, p); % Áp dụng tùy chọn với đồ thị
3.3: Sisotool
Trang 9SISO Công cụ thiết kế giao diện
Theo mặc định, thiết kế SISO Công cụ:
• Mở các công cụ quản lý kiểm soát và dự toán với một nút thiết kế SISO Task mặcđịnh
• Mở trình biên tập đồ họa chỉnh với locus và biểu đồ Bode vòng hở
• Địa danh các bù, C, trong con đường phía trước trong series với các nhà máy, G
• Giả định các bộ lọc trước, F, và cảm biến, H, thu được lợi ích thống nhất Một khibạn xác định G và H, chúng được cố định trong cơ cấu thông tin phản hồi
Cấu trúc điều khiển mặc định được hiển thị trong hình này
Có sáu kiến trúc điều khiển có sẵn Xem sisoinit để biết thêm thông tin
Bức ảnh này cho thấy trình biên soạn SISO Thiết kế đồ họa
Trang 10sisotool (plant) mở SISO Công cụ thiết kế, nhập thiết bị, và khởi tạo các mô hình thiết bị G thiết bị có thể được bất kỳ mô hình SISO LTI tạo ra với ss, tf, zpk hoặc frd, hoặc một hàng hoặc cột mảng của các mô hình LTI
sisotool (plant, comp) khởi tạo các mô hình thiết bịG, các bù C để comp comp là một đối tượng LTI
sisotool(plant, comp, sensor, prefilt) khởi tạo các thiết bị G, bù C đến comp, cảm biến H đến cảm biến, và các bộ lọc trước F đến prefilt Cảm biến là một đối tượng LTI hoặc một hàng hoặc cột mảng các đối tượng LTI Nếu thiết bị cũng là một mảng của các đối tượng LTI, độ dài của cảm biến và thiết bị phải phù hợp prefilt
là một đối tượng LTI
sisotool (views) hoặc sisotool (views, plant, comp) xác định hình dạng ban đầu của
cụ thiết kế SISO Views có thể là bất kỳ một chuỗi kí tự sau (hoặc sự kết hợp):
• 'rlocus' đồ thị quỹ đạo nghiệm
• 'bode' - sơ đồ Bode của các phản ứng mở vòng
• 'Nichols' - sơ đồ Nichols
• 'filter' - sơ đồ Bode của bộ lọc trước F và phản ứng khép kín từ lệnh vào F tới đầu
Trang 11Ví dụ 3.3: Khởi động công cụ thiết kế SISO giao diện trong cấu hình mặc định sử
Trang 12cấu hình tương ứng với cấu hình hệ thống điều khiển Cấu hình có sẵn bao gồm:
• config = 1 (mặc định) - C trong con đường phía trước, F trong chuỗi
• config = 2 - C trong đường dẫn thông tin phản hồi, F trong chuỗi
• config = 3 - C trong con đường phía trước, feedforward F
• config = 4 - cấu hình vòng lặp lồng nhau
• cấu hình = 5 - kiểm soát mô hình nội bộ (IMC) cấu trúc
• config = 6 - cấu hình Cascade vòng lặp
Đối với mỗi cấu hình, bạn có thể chỉ định các mô hình nhà máy G và H, khởi tạo
bù C và bộ lọc trước F, và cấu hình các quan điểm open- và vòng kín bằng cách xác định các lĩnh vực tương ứng của init_config cấu trúc Sau đó sử dụng sisotool (init_config) để bắt đầu thiết kế SISO cụ trong cấu hình cụ thể
Đối số đầu ra init_config là một đối tượng với các thuộc tính Bảng dưới đây liệt
Giá trị * Đối tượng LTI
*Hàng hoặc cột mảng các đối tượng LTI
Trang 13Nếu cảm biến H cũng là một mảng của các đối tượng LTI, độ dài của G và H phải phù hợp.
Giá trị * Đối tượng LTI
*Hàng hoặc cột mảng các đối tượng LTI
Nếu cảm biến H cũng là một mảng của các đối tượng LTI, độ dài của G và H phải phù hợp
Mô tả
ChuỗiGiá trị Đối tượng LTI
Vòng lặp
Mô tảHình
Chuỗi Chuỗi 'rlocus' 'bode'
Mô tảHình
Chuỗi Chuỗi 'bode'
Ví dụ 3.4: Khởi tạo thiết kế SISO với C trong đường dẫn thông tin phản hồi bằng
Trang 14% Launch SISO Design Tool using configuration T
Trang 151.1 Tìm hàm truyền của hệ thống:
Vì đây là hệ thống kín hồi tiếp âm nên ta có:
2.2 Phân tích hệ thống theo tiêu chẩn Routh:
Phương trình đặc trưng của hệ kín là:
Lập bảng Routh:
Trang 16Để hệ thống ổn định thì đều phải 0
Chọn k = 40 => a < 0,639Khiểm tra trên matlab:
Trang 171.3 vẽ đáp ứng xung, bước nhảy của hệ thống :
Viết chương trình trên Matlap:
Trang 18title('dap ung buoc nhay')
Trang 20Hệ kín ổn định thì đường đồ thị Nyquist không bao lấy điểm cực và theo chiều ngược kim đồng hồ.
Trang 211.5 Khảo sát tính ổn định của hệ thống trong miền tần số
Trang 22Viết chương trình trên Matlab:
Nhìn trên hình thì ta thấy đường Nyquist đi qua điểm (-1,0j) nên hệ kín ổn định
b) Kiểm tra tính ổn định nhờ biểu đồ Bode
Trang 23Biểu đồ Bode biểu diễn đặc tính tần số của hàm truyền thành 2 đồ thị riêng rẽ biên
và pha với trục tần số được chia theo thang lôgarit
Đồ thị thứ nhất có đặc tính biên tần Logarit được chia theo thứ nguyên dB
Đồ thị thứ hai có đặc tính pha tần Logarit chia theo độ
Viết trên Matlab
>>num=[40 40*0.639];
>>den=[1 6 11 6 0];
>>w=tf(num,den);
>>bode(w)
Dùng lệnh margin để tìm các thông số : dự trữ biên Gm với tần số dao đông pha ,
dự trữ pha Pm với tần số cắt biên
Trang 24Dùng lệnh allmargin để tính nhiều tham số :
DelayMargin: dự trữ thời gian trễ
DMFrequency: giá trị tần số ứng với DelayMargin
Stable: =1 ổn định =0 các trường hợp còn lại
Viết trên matlab: