Luận văn Sử dụng MATLAB tạo ra hộp công cụ dùng để giải các bài toán trong tự động điều khiển
Chương I : Giới thiệu những ưu điểm hiện có của MATLAB khi ứng dụng trong tự động điều khiển.
Chương II :
Tìm hiểu cách nhập xuất và tính toán các biến trong MATLAB.
Tạo một hàm trong tự động điều khiển.
Vẽ đồ thị.
Chương III :
Miêu tả các biến trạng thái, ma trận chuyển đổi,cực,zero trong hệ thống LTI (Linear Time Invariant).
Xây dựng những câu lệnh trong tự động điều khiển ở cửa sổ soạn thảo.
Xét tính ổn định của hệ thống .
Chương IV : Dùng MATLAB viết chương trình tạo ra hộp
công cụ.
Chương V : Kết quả chạy chương trình.
äu ngõ vào của hệ thống LTI là một sóng sin có biên độ đơn vị và tần số là W0, thì ở trạng thái ổn định ngõ ra của hệ thống sẽ có một sóng sin với tần số là W0, biên độ cho bởi modul của giá trị đáp ứng tần số ở W0 và pha thu được là tổng pha của tín hiệu ngõ vào và pha của giá trị đáp ứng tần số ở W0. Những lệnh được dùng để tính đáp ứng tần số của hệ thống LTI: bode : vẽ giản đồ bode margin : tính độ lơi và pha dự trữ nichols : vẽ giản đồ nichols ngrid : tạo lưới chi đồ thị nichols nyquist : vẽ đồ thị nyquist III.4.1/ Giản đồ bode Giản đồ bode (modul và pha của đáp ứng tần số như một hàm của tần số với trục chia độ là logarit) được dùng để phân tích một vài thuộc tính hệ thống như pha và độ lợi dự trữ,dc gain, băng thông, vấn đề nhiễu, và sự ổn định hệ thống vòng kín. Xét một hệ thống bậc ba với hàm truyền sau: Ta dùng cấu trúc sau để vẽ giản đồ bode » num=4;den=poly([-1 -1 -1]); » bode(num,den) Ta được giản đồ bode như hình (3.10) Những cấu trúc tổng quát để vẽ giản đồ bode [mod,phase,puls]=bode(A,B,C,D); [mod,phase,puls]=bode(A,B,C,D,ui); [mod,phase,puls]=bode(A,B,C,D,ui,w); [mod,phase,puls]=bode(num,den); [mod,phase,puls]=bode(num,den,w); Cho modul(mod) là giá trị tự nhiên (để chuyển đổi sang dB ta dùng công thức moddB=20*log10(mod)), pha có đơn vị là độ và vectơ của giá trị tần số (đơn vị là rad/s) với đáp ứng tần số có thể tính được. Từ cú pháp chỉ dẫn ta có thể chọn ngõ vào đặc biệt ui, khi làm việc với hệ thống nhiều ngõ vào và luôn luôn điểm tần số (vectơ w) đơn vị là rad/s của đáp ứng tần số phải được tính. Vectơ w tốt nhất là dùng trong trục chia logarit, khi đó lệnh logspace được sử dụng. Một điều cần được nhấn mạnh là khi dc gain của hàm truyền là âm thì lệnh Bode cho đồ thị pha bắt đầu từ +1800 như thường lệ là -1800 Hình 3.10 : Giản đồ Bode III.4.2/ Giản đồ nyquist Giản đồ nyquist là một cách khác để diển tả đáp ứng tần số của hệ thống LTI. Xét một hàm truyền hệ thống sau: Đây là hàm truyền của một hệ thống vòng hở; Độ ổn định của hệ thống vòng kín với phản hồi đơn vị âm phụ thuộc vào độ lợi của hệ thống vòng hở. Tuy nhiên,theo định lý về sự ổn định của nyquist chúng ta có thể làm cho hệ thống vòng kín trở nên không ổn định nếu hệ số k quá lớn. Bây giờ ta phân tích đặc điểm này bằng cách sử dụng giản đồ nyquist và diễn tả bằng những câu lệnh trong tự động điều khiển. Ta có thể viết trong matlab là: nyquist([4;10],poly([-1 –1 –1])) Khi thực hiện lệnh trên trong cửa sổ lệnh của matlab ta được hai biểu đồ như hình (3.11a) sau tương ứng với k=4 và k=10. Hình 3.11a Theo định lý nyquist cách đơn giản để xác định hệ thống vòng kín ổn định với phản hồi đơn vị âm là đáp ứng tần số vòng hở G(jw) bao điểm –1+j0 ngược chiều kim đồng hồ ở mọi lúc hay cực của G(s) có phần thực dương. Khi dùng lệnh nyquist([4;10],[1 3 3 1],1.5:0.1:2) Với biến cuối cùng là môt dãy tần số được chọn để vẽ biểu đồ, chúng ta thu được như hình (3.11b). Đây là đồ thị phóng to của biểu đồ hình (3.11a)trên trong những vùng lân cận của điểm “critical point” –1+j0. Rõ ràng các biến của độ lợi vòng hở k bằng 4 đến 10 thì hệ thống vòng kín trên không ổn định. Hình 3.11b Tổng quát những cấu trúc khi sử dụng lệnh nyquist [re,im,puls]= nyquist(A,B,C,D); [re,im,puls]= nyquist(A,B,C,D,ui); [re,im]= nyquist(A,B,C,D,ui,w); [re,im,puls]= nyquist(num,den); [re,im]= nyquist(num,den,w); Cấu trúc trên cho phần thực và phần ảo của đáp ứng tần số. Như lệnh bode nếu lệnh nyquist không sử dụng biến ngõ ra thì sẽ vẽ biểu đồ nyquist lập tức. Chú ý trong trường hợp này sử dụng đường liên tục để biểu diễn đồ thị trong vùng tần số dương (từ 0 đến ¥). Tuy nhiên phần thực của biểu đồ được diễn tả là những đường gạch ngang để chỉ vùng tần số âm (từ -¥ đến 0); Mũi tên chỉ vùng tần số tăng. Một điều quan trọng cần chú ý là nếu hệ thống có một hay nhiều cực ở gốc tọa độ thì biểu đồ nyquist thu được từ lệnh nyquist là không chính xác, vì trong trường hợp này không thuộc vùng biên giới của trục đứng. Để thu được một biểu đồ nyquist hoàn toàn chính xác thì vectơ tần số w được dùng như một biến ngõ vào hoặc sau lệnh nyquist thì phải dùng lệnh axis như một yêu cầu cần có để thuộc biên giới trục đứng. Chú ý : tùy theo chúng ta sử dụng version của matlab mà lệnh nyquist cho hoặc không cho những thông tin sai trong việc chia mỗi zero khi dùng với hàm truyền mà có cực ở gốc tọa độ. III.4.3/ Biểu đồ nichols Biểu đồ nichols là một phương pháp rất hữu dụng để xác định độ ổn định và đáp ứng tần số vòng kín của hệ thống hồi tiếp. Sự ổn định được đánh giá từ đường cong vẽ mối quan hệ của độ lợi theo đặc tính pha của hàm truyền vòng hở. Đồng thời đáp ứng tần số vòng kín của hệ thống cũng được xác định bằng cách sử dụng đường cong biên độ và độ di pha vòng kín không đổi phủ lên đường cong biên độ – pha vòng hở. Ví dụ xét hệ thống có hàm truyền sau: Tương ứng với việc thực hiện trong matlab cấu trúc: » num=30*[1 7 1]; » den=[poly([-1 -1 -1]) 0]; » hold on, plot(-180,0,'*r'), hold on; » nichols(num,den) Trả về biểu đồ nichols với điểm tới hạn “critical point” (-1800 ,0)được biểu diễn như hình sau: Hình 3.12:Biểu đồ Nichols Những cấu trúc tổng quát: [mod,phase,puls]= nichols(A,B,C,D); [mod,phase,puls]= nichols(A,B,C,D,ui); [mod,phase]= nichols(A,B,C,D,ui,w); [mod,phase,puls]= nichols(num,den); [mod,phase]= nichols(num,den,w); Những cấu trúc trên cho độ lớn là những giá trị tự nhiên, pha là độ và vectơ của diểm tần số là rad/s. Từ nhũng cấu trúc chỉ dẫn trên đã chỉ ra sự tồn tại của điểm tần số mà đáp ứng tần số được định giá bằng vectơ w, và ui là biến khai báo với hệ thống nhiều ngõ vào. khi sử dụng lệnh nichols với cấu trúc không có biến ngỏ ra thì ta được biểu đồ nichols. Một điểm cần nhấn mạnh là lệnh nichols luôn luôn cho pha trong khoảng [-3600,00] III.4.4/ Độ dự trữ pha và độ lợi. Như ta biết, độ dự trữ pha và độ lợi cho phép chúng phân tích những thuộc tính cơ bản về sự ổn định của hệ thống vòng kín LTI. Ta có thể gọi độ lợi dự trữ là nghịch đảo của đại lượng đáp ứng tần số ở tần số mà pha bằng -p. Nói cách khác với tần số wp và pha của đáp ứng tần số G(jw) là -p, độ lợi dự trữ là: Tương ứng với giá trị tự nhiên và decibel.Trong hệ thống ổn định thì độ lợi dự trữ được hiểu là một số mà tỉ lệ với dc gain. Vì vậy hệ thống vòng kín với phản hồi đơn vị âm từ trạng thái ổn định trở nên không ổn định khi nó có cực trên trục ảo của mặt phẳng phức. Độ dự trữ pha được tính theo công thức: Với wt là tần số tương ứng với giao điểm của dặc tính biên-pha với trục hoành ở 0dB. Ví dụ cho hàm truyền : cấu trúc : » num=4; » den=poly([-1 -1 -1]); » margin(num,den); ta được hình (3.13) sau: Hình 3.13: Biểu đồ diễn tả độ lợi và độ dự trữ Cấu trúc tổng quát của lệnh margin: [gm,pm,wgm,wpm]= margin(A,B,C,D); [gm,pm,wgm,wpm]= margin(mod, phase,w); [gm,pm,wgm,wpm]= margin(num,den); III.5. Quỹ đạo nghiệm Phương pháp quỹ đạo nghiệm số là phương pháp dùng để xác định nghiệm của phương trình đặc tính vòng kín của hệ thống như là một hàm của hệ số khuếch đại tĩnh. Phương pháp này dựa trên mối quan hệ giữa nghiệm của hàm truyền vòng kín với cực và zero của hàm truyền vòng hở. Việc xây dựng quỹ đạo nghiệm số đối với một hệ thống cụ thể có thể bắt đầu bằng việc xác định vị trí của cực và zero vòng hở trong mặt phẳng phức. Việc ứng dụng matlab trong tự động để vẽ quỹ đạo nghiệm số gồm những lệnh sau: pzmap* tìm vị trí của zero và cực. rlocfind* chọn độ lợi rlocus* vẽ quỹ đạo nghiệm sgrid tạo lưới cho z và wn Chú ý : dấu * để chỉ những lệnh có thể dùng trong hệ thống rời rạc Ví dụ Cho hàm truyền sau: Giả sử ta muốn biểu diển cực và zero trên mặt phẳng phức dùng cấu trúc sau: » pzmap([1 1],[1 5 6]); và thu được đồ thị trên mặt phẳng phức với zero=-1(biểu thị bằng vòng tròn ) và cực là (-3,-2) ( biểu thị bằng dấu sao). Tổng quát lệnh pzmap có thể dùng với hình thức sau: [pol,zer]= pzmap(A,B,C,D); [pol,zer]= pzmap(num,den); Khi ta không đặc biến ngõ vào thì cực và zero của hệ thống sẽ được hiển thị trên mặt phẳng phức với vòng tròn và hình sao, ngược lại cực vả zero của hệ thống sẽ được đặt trong vectơ pol và zer. Muốn biết sự di chuyển của cực trong hệ thống vòng kín tùy thuộc vào độ lợi vòng hở,ta có thể dùng quỹ đạo nghiệm. Ví dụ cho hàm truyền như sau: Viết theo cấu trúc sau ta có được đồ thị biểu diễn quỹ đạo nghiệm: » num=[1 4]; » den=conv([1 1],[1 2]) » rlocus(num,den) Kết quả như hình sau: Hình 3.14: Quỹ đạo nghiệm số Lệnh tổng quát khi sử dụng lệnh rlocus [rt,k]= rlocus(A,B,C,D); rt= rlocus(A,B,C,D,k); [rt,k]= rlocus(num,den); rt= rlocus(num,den,k); Với sự mô tả hàm truyền G(s) hoặc biến trạng thái sẽ cung cấp cho zero của da thức 1+kG(s) ứng với từng giá trị của k mà được định rõ là biến ngõ vào.
File đính kèm:
- luan_van_su_dung_matlab_tao_ra_hop_cong_cu_dung_de_giai_cac.doc