1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tai lieu huong dan thi nghiem matlab

74 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hướng dẫn thí nghiệm điều khiển tự động bằng phần mềm MATLAB
Tác giả Tác Giả
Trường học Trường Sĩ quan Kỹ thuật Quân sự
Chuyên ngành Điều khiển tự động
Thể loại Tài liệu hướng dẫn
Năm xuất bản 2019
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 74
Dung lượng 1,37 MB

Nội dung

Giao diện phần mềm có thể thay đổi tùy thuộc vào các phiên bản MATLAB hoặc ý định của người dùng. Với giao diện như hình trên, MATLAB có 4 phân vùng làm việc cơ bản sau: - Vùng thứ nhất là ô cửa sổ Current Folder (bên trái cùng) đây là vùng làm việc hiện tại của phần mềm trên ổ đĩa. Thông thường sau khi khởi động phần mềm xong đây là vùng cài đặt của MATLAB trên ổ C, tuy nhiên sau khi chạy một chương trình MATLAB được lưu ở folder khác trong ổ đĩa thì vùng làm việc đó sẽ thay đổi theo. - Vùng thứ hai là ô cửa sổ Command Window (chính giữa) đây là vùng làm việc chính của MATLAB, ở ô cửa sổ này sẽ tiến hành nhập các câu lệnh cho MATLAB thực hiện đồng thời xuất kết quả sau khi thực hiện câu lệnh đó. Dấu nháy kép “>>” báo rằng MATLAB đã sẵn sàng làm việc. Sau khi thực hiện tính toán các dữ liệu nhập hoặc xuất còn được lưu lại trên ô cửa sổ này, nếu muốn tiến hành xóa toàn bộ các hiển thị hiện tại đây, thực hiện thao tác với lệnh clc. - Vùng thứ ba là ô cửa sổ Workspace (phía trên bên phải), đây là vùng lưu trữ các dữ liệu mà phần mềm MATLAB đang thực hiện tính toán, các dữ liệu đang lưu trữ tại đây có thể gọi trở lại. Muốn xóa những dữ liệu lưu trữ trong vùng này, thực hiện thao tác với lệnh clear all. - Vùng thứ tư là ô cửa sổ Command history (phía dưới bên phải), đây là ô cửa sổ lưu giữ lại lịch sử làm việc của MATLAB, có thể gọi lại những câu lệnh cũ trong lịch sử làm việc bằng phím mũi tên lên trên bàn phím máy tính hoặc nháy kép chuột vào câu lệnh đó. Dữ liệu lịch sử các câu lệnh này chỉ mất đi khi tiến hành cài đặt lại MATLAB trên máy tính. 1.2.2. Cách khởi tạo m-file lập trình trên MATLAB Các câu lệnh đơn giản có thể được thao tác trực tiếp trên cửa sổ Command Window. Các câu lệnh thao tác trong ô cửa sổ này sẽ mất đi khi thao tác các câu lệnh tiếp theo, mặt khác trên đây chỉ thực hiện được ít câu lệnh (ít phép tính toán cùng lúc), quan trọng hơn không thể lưu trữ để sử dụng sau này. Do vậy, để tiến hành lập trình trên MATLAB phải thực hiện viết chương trình tính toán mô phỏng dưới dạng M-file. Khởi tạo m-file lập trình: Từ giao diện làm việc chính của phần mềm, vào trình đơn File > New > Blank M-File (hình 1.2). Lúc này ô cửa sổ mới của M- File sẽ mở ra và sẽ thực hiện thao tác các câu lệnh trên đó.

Trang 2

1.2 Hướng dẫn sử dụng một số công cụ cơ bản phầnmềmMatlab 6

TRONG ĐIỀU KHIỂN TỰ ĐỘNG

2.1 Mô phỏng và chuyển đổi các dạngmôtả toán học hệthốngđiều 12khiển tự động

2.2 Môphỏngđánhgiátínhổnđịnhvàvẽquỹđạonghiệmsốcho 29

hệ thống điều khiển tự động

2.3 Đánh giá chất lượng cho hệ thống điều khiểntựđộng 392.4 Hiệu chỉnh hệ thống điều khiểntựđộng 482.5 Môtả,phântíchvàthiếtkếchohệthốngđiềukhiểnxungsố 57tuyến tính

2.6 Mô hình hóa, phân tích và hiệu chỉnh chất lượng hệthống thực 63

Trang 4

LỜI NÓI ĐẦU

TrongcuộcCáchmạngCôngnghiệp4.0mônhọcĐiềukhiểntựđộngngày càngkhẳng định vị thế và vai trò nền tảng kiến thức vô cùng quan trọng cho kỹ sư khối ngành

kỹ thuật Đây là môn học cơ sở quan trọng trong chương trình đào tạo ở trình độ caođẳng và đại học của nhiều ngành thuộc khối khoa học kỹ thuật và công nghệ Nội dungchương trình và phương pháp giảng dạy môn điều khiển tự động đang từng bước đượcđổi mới theo hướng ứng dụng các phần mềm mô phỏng tăng tính trực quan, nâng caokhả năng tiếp thu của người học nhằm đáp ứng yêu cầu trong xu thế phát triển nền khoahọc kỹthuật

Tài liệu được biên soạn nhằm đáp ứng yêu cầu thực tế của các đối tượngđàotạotạiNhàtrường.Tạođiềukiệnthuậnlợichoviệcgiảngdạycủagiảngviên;

tăngtínhtrựcquansinhđộngchongườihọctrongquátrìnhtiếpthukiếnthức.Cơ sở của việcbiên soạn tài liệu dựa trên chương trình khung của Bộ Giáo dục và Đào tạo, những địnhhướng về đổi mới nâng cao chất lượng dạy và học, chương trình chi tiết môn học Điềukhiển tự động đang giảng dạy cho các đối tượng tại Nhàtrường

Nội dung của tài liệu gồm hai chương:

Chương 1 giới thiệu tổng quan và những thao tác cơ bản để sử dụngphầnmềm Matlab, làm cơ sở cho việc ứng dụng vào các bài thí nghiệm ở chương

sau.Chương2lànhữngbàithínghiệmđượcxâydựngsátvớichươngtrìnhmôn học Điềukhiển tự động và những bài tập giúp học viên, sinh viên nâng cao kiến thức Các bàithí nghiệm được xây dựng trên nền tảng ứng dụng phần mềm MATLAB cho môn họcĐiều khiển tựđộng

Tác giả biên soạn tài liệu trên cơ sở tham khảo ý kiến của các đồngnghiệpđãvàđangthamgiagiảngdạymônhọcĐiềukhiểntựđộngtạicáccơsởđàotạo

Hiệnnay,trongtổngthểcácbiệnphápđểnângcaohơnnữachấtlượngquá trình dạy vàhọc thì việc ứng dụng các phần mềm đểmôphỏng là rất thiết thực đối với học viên,sinh viên Tài liệu này nhằm đáp ứng yêu cầu là tài liệu tham khảo chính cho cácđối tượng đào tạo đại học tại Nhà trường, đồng thời cũng là tài liệu tham khảophục vụ cho cán bộ kỹ thuật, giảng viên khi nghiên cứu giải quyết các bài toánliên quan đến các vấn đề vềmôhình hóa hệ thống tựđộng

Mặcdùtácgiảđãrấtcốgắngnhưngdokinhnghiệm,khảnăngvàthờigian có hạn nêntải liệu không thể tránh khỏi những thiếu sót, kính mong nhận đượcnhữngýkiếnđónggópcủacácnhànghiêncứu,cácđồngnghiệpvàđộcgiảđểtài liệu có chấtlượng tốt hơnnữa

Tác giả chân thành cảm ơn sự động viên và đóng góp nhiệt tình của cácđồng nghiệp trong bộ môn Nhiệt – điện; sự hợp tác, giúp đỡ của Ban Khoa họcquân sự; sự quan tâm tạo mọi điều kiện của đơn vị chủ quản Khoa Kỹ thuật Cơ

sở - Trường Sĩ quan Kỹ thuật Quân sự để tài liệu này được sớm ra mắt bạn đọc

Xin chân thành cảm ơn

TÁC GIẢ

Trang 5

Chương 1 TỔNG QUAN VÀ HƯỚNG DẪN SỬ DỤNG PHẦN MỀM MATLAB

1.1 TỔNG QUAN VỀ PHẦN MỀMMATLAB

1.1.1 Sơ lược vềMATLAB

MATLAB (thuật ngữ viết tắt của từ MATrix LABoratory) là phần mềmđược Cleve Moler – Chủ nhiệm khoa Máy tính thuộc Đại học New Mexico phátminh ra vào cuối thập niên 70 thế kỷ XX Sau này, phần mềm được thiết kế vàphát triển bởi công ty MathWorks, chuyên về cung cấp môi trường tính toán số

và lập trình

MATLAB cho phép tính toán số vớimatrận, vẽ đồ thị hàm số hay biểu đồthôngtin,thựchiệnthuậttoán,tạocácgiaodiệnngườidùngvàliênkếtvớinhững chương trìnhmáy tính viết trên nhiều ngôn ngữ lập trìnhkhác

Sử dụng thư viện Toolbox, MATLAB cho phépmôphỏng tính toán, thựcnghiệmnhiềumôhìnhtrongthựctếvàkỹthuật.ĐặcbiệtvớiKỹthuậtđiệnvàKỹ

1.1.2 Tổng quan về ứng dụng phần mềm MATLAB trong lĩnh vực Kỹ thuật điềukhiển

MATLAB được ứng dụng nhiều để mô phỏng tính toán trong các bài toán

kỹ thuật điều khiển Sử dụng phần mềm MATLAB để mô phỏng sẽ giúp ngườidùng đánh giá hệ thống thông qua một số bài toán như:

- Khảnănglàmviệccủahệthốngthôngquabàitoánphântíchtínhổnđịnh;

- Khảnăngđápứngcácyêucầuđặtravớihệthốngthôngquabàitoánphân tích chấtlượng hệthống;

- Khả năng “thiết kế mềm” hệ thống thông qua bài toán thiết kế hệthống.Trong đó quan trọng nhất là bài toán thiết kế mềm, MATLAB đóng vai tròlàcôngcụvôcùnghữuíchtrongtiếtkiệmthờigianvàkinhtếtrướckhivàothiết kế hệthốngthực

Trang 6

1.2. HƯỚNG DẪN SỬ DỤNG MỘT SỐ CÔNG CỤ CƠ BẢN PHẦN MỀMMATLAB

1.2.1 Khởi tạo phần mềmMATLAB

Sau khi căi đặt xong MATLAB có biểu tượng (icon) trín măn hình(desktop), để tiến hănh khởi động phần mềm tiến hănh kích đúp chuột trâi văobiểutượngvăphầnmềmsẽmởravớigiaodiệnchínhnhưhình1.1(Matlab2010)

Hình 1.1 Giao diện của phần mềm MATLAB

GiaodiệnphầnmềmcóthểthayđổitùythuộcvăocâcphiínbảnMATLAB hoặc ý địnhcủa người dùng Với giao diện như hình trín, MATLAB có 4 phđn vùng lăm việc cơbảnsau:

- VùngthứnhấtlẵcửasổCurrentFolder(bíntrâicùng)đđylăvùnglăm

việchiệntạicủaphầnmềmtrínổđĩa.Thôngthườngsaukhikhởiđộngphầnmềm xong đđy lăvùng căi đặt của MATLAB trín ổ C, tuy nhiín sau khi chạy một chương trình MATLAB

được lưu ởfolderkhâc trong ổ đĩa thì vùng lăm việc đó sẽ thay đổitheo.

- Vùng thứ hai lă ô cửa sổCommand Window(chính giữa) đđy lă vùng

lăm việc chính của MATLAB, ở ô cửa sổ năy sẽ tiến hănh nhập câc cđu lệnh choMATLAB thực hiện đồng thời xuất kết quả sau khi thực hiện cđu lệnh đó Dấunhây kĩp “>>” bâo rằng MATLAB đê sẵn săng lăm việc Sau khi thực hiện tínhtoâncâcdữliệunhậphoặcxuấtcònđượclưulạitrínôcửasổnăy,nếumuốntiến hănh xóa

toăn bộ câc hiển thị hiện tại đđy, thực hiện thao tâc với lệnhclc.

Trang 7

- Vùng thứ ba lă ô cửa sổWorkspace(phía trín bín phải), đđy lă vùnglưu trữ

câc dữ liệumăphần mềm MATLAB đang thực hiện tính toân, câc dữ liệuđanglưutrữtạiđđycóthểgọitrởlại.Muốnxóanhữngdữliệulưutrữtrongvùng năy, thực

hiện thao tâc với lệnhclearall.

- VùngthứtưlẵcửasổCommandhistory(phíadướibínphải),đđylẵ cửa sổ

lưu giữ lại lịch sử lăm việc của MATLAB, có thể gọi lại những cđu lệnhcũtronglịchsửlămviệcbằngphímmũitínlíntrínbănphímmâytínhhoặcnhây kĩp chuột văocđu lệnh đó Dữ liệu lịch sử câc cđu lệnh năy chỉ mất đi khi tiến hănh căi đặt lạiMATLAB trín mâytính

1.2.2 Câch khởi tạo m-file lập trình trínMATLAB

CâccđulệnhđơngiảncóthểđượcthaotâctrựctiếptríncửasổCommand

Window.Câc cđu lệnh thao tâc trong ô cửa sổ năy sẽ mất đi khi thao tâc câc cđu

lệnh tiếp theo, mặt khâc trín đđy chỉ thực hiện được ít cđu lệnh (ít phĩp tính toâncùng lúc), quan trọng hơn không thể lưu trữ để sử dụng sau năy Do vậy, để tiến

hănhlậptrìnhtrínMATLABphảithựchiệnviếtchươngtrìnhtínhtoânmôphỏng dưới file.

dạngM-Khởi tạo m-file lập trình: Từ giao diện lăm việc chính của phần mềm, văo

trình đơnFile>New>Blank M-File(hình 1.2) Lúc năy ô cửa sổ mới Filesẽ mở ra vă sẽ thực hiện thao tâc câc cđu lệnh trín đó.

củaM-Hình 1.2 Ô cửa sổ tạo giao diện lập trình M-File CũngcóthểdùngphímtắtCtrl+NđểkhởitạomộtM-Filemới.Lưuý,sau khi tạo đượcM-Filemới nín tiến hănh lưu ở vùng lăm việc tiện sử dụng trín ổ đĩavăđổitínM-Filemặcđịnhmớitạo.TíncủaM-Fileđượcviếtliềnbằngtiếng Anh hoặc

tiếng Việt khôngdấu

1.2.3 Câch khởi tạo một file mô phỏngSimulink

PhầnmềmMATLABcóhaithếmạnhđólătínhtoântrínmatrậnsốvămôphỏng hệthống bằng công cụ Simulink Trong kỹ thuật điều khiển thì Simulinklăcôngcụrấthữủchchomôphỏng,đânhgiâchấtlượng,thiếtkế,hiệuchỉnh

Trang 8

chấtlượnglàmviệc ĐểkhởitạomộtfileSimulinktiếnhànhtheomộttrongcác cáchsau.

Cách 1:Từ thanh công cụHometrên giao diện chính của phần mềm kích

chuột trái vào biểu tượng của thư viện Simulink (hình 1.3), thư viện Simulink sẽ

mở ra

Hình 1.3 Nút mở thư viện Simulink

Từ cửa sổ thư viện, vàoFile>New>Model(hình 1.4) Lúc này ô cửa sổ mới

Simulink để mô phỏng sẽ mở ra và tiến hành xây dựng hệ thống trên ô cửa sổmới đó

Hình 1.4 Giao diện tạo file mô phỏng Simulink

Trang 9

Cách 2:Từ ô cửa sổCommand windowtrên giao diện chính phần mềm

gõtrựctiếpcâulệnhSimulinkvàấnnútEnter,saukhithưviệnmởra,tiếnhành khởi tạo ô

cửa sổ làm việc mới như phần trên Cũng như M-file lập trình, thì file Simulink cũng

có thể lưu trữ để sử dụng về sau và tên file cũng được viết liền bằng tiếng Anh hoặctiếng Việt khôngdấu

Một số thư viện con quan trọng cho công cụ mô phỏng:

- Thư viện con Sources gồm các khốinguồn;

- Thư viện con Sinks gồm các khối xuất tínhiệu;

- Thư viện con Math gồm các khối ghép nối toánhọc;

- Thư viện con Signal và Subsystem gồm các khối tín hiệu và hệcon;

- Thư viện con Continuous gồm các khối liêntục;

- Thư viện con Nonlinear gồm các khối phituyến;

- Thư viện con Discrete gồm các khối giánđoạn

Trongcácthưviệnnày,cácthưviệnmàthườngđượcsửdụngđểxâydựng sơ đồSimulinkmôtả hệ thống đó là: Continuous; Signal & Subsystem; Math; Sources

và Sinks

1.2.4 Một số công cụ cơ bản trong phần mềmMATLAB

a Công cụ tínhtoán

Cũngnhưmộtsốphầnmềmtínhtoánkhác,phầnmềmMATLABcũngtiếnhànhtínhtoáncácphéptoánthôngthườngvàmộtsốhàmtínhtoánphứctạpkhác (xem bảng1.1 và1.2)

Trang 10

atan(x) % hàm arctag ±90 0

Bảng 1.2 Một số công cụ khai báo và tính toán với ma trận và vec tơ

Kí hiệu khai báo hoặc hàm tính toán Ý nghĩa phép tính

[x1 x2 ; x3 x4 ] % nhập véc tơ hoặc ma trận

.*; /; ^ % các phép tính nhân, chia, lũy thừa

với từng phần tử của ma trận transpose(A) hoặc A’ % chuyển vị ma trận A

Trong đó, row là số hàng, column là số cột và counter là vị trí thể hiện đồ thị

Một số câu lệnh đồ họa 2D thường dùng khác được liệt kê trên bảng 1.3

Bảng 1.3 Một số câu lệnh dành cho đồ họa 2D

axis(x_min,x_max,y_min,y_max) % chia trục từ vùng min tới max

legend(string_1,string_2, ) % điền lời ghi chú

plot(x_value,y_value

[plotstyle])

% lệnh vẽ đồ thị

Trang 11

Saochépđồthị:đểsaochépđồthịvàobộnhớclipboardtạmthời,tiếnhành vào cửa sổ

chính của figure nhấp chuột vàoEdit>Copy Figurevà sau đó dán vào nơi cần (như

Trang 12

Chương 2 CÁC BÀI THÍ NGHIỆM ỨNG DỤNG PHẦN MỀM MATLAB TRONG

trong đó: R(s) và C(s) là tín hiệu vào và ra hệ thống dưới dạng toán tử Laplace

Hình 2.1 Mô tả khối hàm truyền chức năng

- Dạng khác của hàm truyền đạt, hàm truyền đạt dạng hữu tỉ có thể phântích về dạng tổng các phân thức bậc nhất (hình 2.2) như sau:

Trang 13

- Mô hình mô tả hệ thống dưới dạng PTTT thể hiện bằng hệ phương trình

vi phân cấp 1 tổng quát như sau:

Trang 14

giáchấtlượnghoạtđộngcủahệthốngcũngnhưbiểuthịcáckếtquảđầuvào,đầu ra của hệthống trong thời gianthực.

Hình 2.5 Mô tả hệ thống bằng sơ đồ khối

Trang 15

num = [1 2 5];

den = [1 3 4 1 1];

G1= tf(num, den)

2.1.2 Nội dung các bài thí nghiệm

a Mô tả hệ thống bằng phương trình viphân

Đâylàtrườnghợpcơbảnđầutiênkhixâydựngmôhìnhhệthốngxuấtphát

từnguyênlýlàmviệcvàcácmốiquanhệtácđộngqualạigiữacácphầntửtrong hệ thống.Nhưng trong bài toán điều khiển tự động thực tế, do sự phức tạp của việc giảiphương trình vi phân nên dạng mô tả toán học này không được sử dụng để tiến hànhphân tích, thiết kế hệ thống Chính vì vậy dạng mô tả này ít đượcdùngđểmôtảhệthốngdướidạngphầnmềm,

ởtàiliệunàycũngsẽtiếnhànhmôtảhệthốngdướicácdạngthườngsửdụnghơnnhư:hàmtruyềnđạt,phươngtrình trạngthái

b Mô tả hệ thống bằng hàm truyềnđạt

- Cấu trúc lệnh khai báo HTĐ cho MATLAB:

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

G = tf(num,den) % khai báo HTĐ

Ví dụ 1:Thực hành viết chương trình mô tả hệ thống có HTĐ

s2 2s5

G1ss4

3s 3 4s 2 s1

Cấu trúc lệnh thực hành trên Malab:

Kết quả hiển thị trên MATLAB

G1 =

s^2 + 2 s + 5

s^4 + 3 s^3 + 4 s^2 + s + 1 Continuous-time transfer function

Đơn giản hóa cấu trúc lệnh

G = tf([b0 b1 bm], [a0 a1 an]) % khai báo một lần

Ví dụ 2: Thực hành viết chương trình mô tả hệ thống có HTĐ

G2s s22s5

s43s34s2

s1

Trang 16

G2= tf([1 2 5], [1 3 4 1 1])

G2 =

s^2 + 2 s + 5

s^4 + 3 s^3 + 4 s^2 + s + 1 Continuous-time transfer function.

G =

4 (s+1) (s+3)

s (s+2) (s+4) (s+6) Continuous-time zero/pole/gain model.

Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB

- Mộtsốmôhìnhvớihàmtruyềndạngđặcbiệt:Môhìnhđiểmkhông,điểm cực và hệ

số khuếch đại(z/p/k)

- Cấu trúc lệnh hàm truyền dạng đặcbiệt:

z = [z1; z2; zm] % khai báo điểm không HTĐ

p = [p1; p2; pn] % khai báo điểm cực HTĐ

k = [k1] % khai báo hệ số khuếch đại HTĐ

G=zpk(z,p,k) % khai báo HTĐ dạng zero/pole/gain

Ví dụ 3: Thực hành viết chương trình mô tả hệ thống có HTĐ có 2 điểm

zero là: -1 và -3; 4 điểm pole là: 0, -2, -4 và -6; hệ số khuếch đại là: 4

Cấu trúc lệnh thực hành trên MATLAB

z=[-1; -3];

p=[0; -2; -4; -6];

k=4;

G=zpk(z,p,k)Kết quả hiển thị trên MATLAB

Trang 17

num=[2 5 3 6];

den=[1 6 11 6];

[r,p,k]=residue(num,den)

c Mô tả hệ thống bằng phương trình trạngthái

- Cấu trúc lệnh khai báo cácmatrận:

A= [a11a12 a1n;

a21a22 a2n; an1

an2 ann]

% khai báo ma trận chuyển trạng thái

B = [b11; b12; b1n] % khai báo ma trận vào hệ thống

C = [c11c12 c1n] % khai báo ma trận đầu ra

D = [d11] % khai báo ma trận đo (nếu có)

X =ss(A, B, C, D) % khai báo mô hình không gian trạng thái

- CấutrúclệnhchuyểnđổitừHTĐdạnghữutỉvềdạngtổngcácthànhphần bậc nhất và

đa thức tựdo:

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

[r, p, k] =

residue(num, den)

% lệnh chuyển đổi tìm các giá trị r, p, k

- Cấu trúc lệnh tìm lạiHTĐ:

[num, den] = residue(r,

p, k);

% khai báo r, p, kprintsys(num, den, ‘s’) % tìm lại HTĐ

Ví dụ 4:Thực hành viết chương trình phân tích HTĐ sau thành tổng các

thành phần bậc nhất và chuyển đổi ngược lại về HTĐ

Trang 18

p = -3.0000 -2.0000 -1.0000

- Cấu trúc lệnh tìm điểm không (z), điểm cực (p) và hệ số khuếch đại(K):

num = [b0b1 bm] % khai báo các hệ số của tử số HTĐden = [a0a1 an] % khai báo các hệ số của mẫu số HTĐ

[z, p, K] = tf2zp(num,

den);

% lệnh tìm điểm không, điểm cực và

hệ số khuếch đại của HTĐ có tử số lànum, mẫu số là den

Ví dụ 5:Thực hành viết chương trình biến đổi tìm hàm truyền sau về dạng

tích các hàm truyền bậc nhất và biến đổi ngược lại

4s2 16s12

Gs

12s44s48sCấu trúc lệnh thực hành

Trang 19

z=[-1; -3];

p=[0; -2; -4; -6];

K=4;

[num,den]=zp2tf(z,p,K);G=tf (num,den)

z=[-1; -3];

p=[0; -2; -4; -6];

K=4;

[num,den]=zp2tf(z,p,K);p rintsys(num,den,'s')

Kết quả hiển thị trên MATLAB

z = -3 -1

p =

0 -6.0000 -4.0000 -2.0000

K =

4Vậy HTĐ trên viết lại như sau:

function.

Hoặc sử dụng cấu trúc lệnhsau:

Kết quả hiển thị trênMATLAB

Trang 20

num/den =

4 s^2 + 16 s + 12 s^4 + 12 s^3 + 44 s^2 + 48 s

d Cấu trúc lệnh chuyển đổi qua lại giữa các dạng mô tả toánhọc

- Cấu trúc lệnh chuyển HTĐ sangPTTT:

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ G

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ G

[A, B, C,

D]=tf2ss(num,den)

% chuyển đồi từ HTĐ sang PTTT

- Cấu trúc lệnh chuyển PTTT sangHTĐ:

A =[a11a12 a1n;

an1an2 ann];

% khai báo ma trận chuyển trạng thái

B =[b11;b12; b1n]; % khai báo ma trận vào

C =[c11c12 c1n]; % khai báo ma trận ra

[num,den]=ss2tf(A,B,C,D) % chuyển đồi từ PTTT sang HTĐ

- Cấu trúc câu lệnh tìm lại HTĐ từ PTTT (công thức toán

% khai báo ma trận chuyển trạng thái

B =[b11; b12; b1n]; % khai báo ma trận vào

C =[c11c12 c1n]; % khai báo ma trận ra

Trang 21

num1=[1 1];

den1=[1 2 4 1];

G1=tf(num1,den1);n um2=[2];

den2=[1 2];G2=tf(num2,den2 );G=series(G1,G2)

I = eye(n) % khai báo ma trận đơn vị cấp n

e Một số cấu trúc lệnh đơn giản sơ đồ cấu trúc hệthống

- Hệ mắc nối tiếp (ví dụ 2 khâu mắc nốitiếp):

num1 = [b0b1 bm] % khai báo hệ số của tử số HTĐ G1den1 = [a0a1 an] % khai báo hệ số của mẫu số HTĐ G1G1 = tf(num,den) % khai báo HTĐ G1

num2 = [c0c1 cm] % khai báo hệ số của tử số HTĐ G2den2 = [d0d1 dn] % khai báo hệ số của mẫu số HTĐ G2G2 = tf(num,den) % khai báo HTĐ G2

G=series(G1,G2) % tính HTĐ hệ mắc nối tiếp

Ví dụ 6:Thực hành viết chương trình tính HTĐ hai khâu sau mắc nối tiếp

Hình 2.6 Mô tả hệ thống nối tiếp bằng sơ đồ khối

Cấu trúc lệnh thực hành trên MATLAB

Trang 22

G =

2 s + 2

s^4 + 4 s^3 + 8 s^2 + 9 s + 2 Continuous-time transfer

function.

num1=[1 1];

den1=[1 2 4 1];

Kết quả hiển thị trên MATLAB

- Hệ mắc song song (ví dụ 2 khâu mắc songsong):

num1 = [b0b1 bm] % khai báo hệ số của tử số HTĐ G1den1 = [a0a1 an] % khai báo hệ số của mẫu số HTĐ G1G1 = tf(num,den) % khai báo HTĐ G1

num2 = [c0c1 cm] % khai báo hệ số của tử số HTĐ G2den2 = [d0d1 dn] % khai báo hệ số của mẫu số HTĐ G2G2 = tf(num,den) % khai báo HTĐ G2

Gss =parallel(G1,G2) % tìm HTĐ hệ mắc song song

Ví dụ 7:Thực hành viết chương trình tính HTĐ hai khâu sau mắc song

song:Gs s 1

;G

s2

1 s32s24s1 2 s2

Hình 2.7 Cấu trúc hai khối chức năng mắc song song

Cấu trúc lệnh thực hành trên MATLAB

Trang 23

Gss =

2 s^3 + 5 s^2 + 11 s + 4

s^4 + 4 s^3 + 8 s^2 + 9 s + 2 Continuous-time transfer

function.

Ght(s)

G1=tf(num1,den1);num 2=[2];

den2=[1 2];

G2=tf(num2,den2);Gs s=parallel(G1,G2)Kết quả hiển thị trên MATLAB

- Hệ mắc hồitiếp:

num1 = [b0b1 bm] % khai báo hệ số của tử số HTĐ G

den1 = [a0a1 an] % khai báo hệ số của mẫu số HTĐ G

G = tf(num1,den1) % khai báo HTĐ G1

num2 = [c0c1 cm] % khai báo hệ số của tử số HTĐ H

den2 = [d0d1 dn] % khai báo hệ số của mẫu số HTĐ H

H = tf(num2,den2) % khai báo HTĐ H

Ght=feedback(G, H) % tìm HTĐ hệ mắc hồi tiếp âm

Ví dụ 8:Thực hành viết chương trình tính HTĐ hai khâu có HTĐ như sau

Trang 24

num1=[1 1];

den1=[1 2 41];

G=tf(num1,den1)n um2=[2];

den2=[1 2];H=tf(num2,den 2)

num=[2];

den=[1 2];G=tf(num,den );step(G)

Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB

Ght =

s^2 + 3 s + 2

s^4 + 4 s^3 + 8 s^2 + 11 s + 4 Continuous-time transfer

function.

f Cấu trúc lệnh vẽ các đặc tính động học của hệthống

- Đặc tính thời gian: hàm quá độ và quá độxung

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

G = tf(num,den) % khai báo HTĐ

step(G) % vẽ đặc tính quá độ của hệ có HTĐ Gimpulse(G) % vẽ đặc tính quá độ xung của hệ HTĐ G

Ví dụ 9:Thực hành viết chương trình vẽ đặc tính quá độ (h(t)) và quá độ

xungg((t))củahệthốngcóHTĐsau:Gs 2

s2

Cấu trúc lệnh thực hành trên MATLAB

Trang 25

den=[1 2];G=tf(num,den );impulse(G)

Kết quả hiển thị trên MATLAB cho hàm quá độ h(t)

Step Response 1

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

Time (seconds)

Hình 2.9 Đồ thị hàm quá độ h(t)

Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB cho hàm quá độ xung g(t)

2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

Impulse Response

Time (seconds)

Hình 2.10 Đồ thị hàm quá độ xung g(t)

- Đặc tính tần số: đặc tính Nyquist, Bode và Nichols

num = [b0b1 bm] % khai báo hệ số của tử số HTĐden = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

Trang 26

num=[2];

den=[2 4 34];

nyquist(num,den)gri d

num=[2];

den=[2 4 34];

margin(num,den)grid

G = tf(num,den) % khai báo HTĐ

nyquist(G) % vẽ đặc tính Nyquist của hệ có HTĐ Gbode(G) % vẽ đặc tính tần số bode của hệ có HTĐ Gmargin(G) % vẽ đặc tính tần số bode và tính độ dữ trữ

biên, độ dữ trữ phanichols(G) % vẽ đặc tính Nichols của hệ có HTĐ G

Ví dụ 10:Thực hành viết chương trình vẽ đặc tính Nyquist G(jω), Bode vàω), Bode và), Bode và

Nichols cho hàm truyền sau:G hs

2

2s3 4s 2 3s4Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB cho hàm Nyquist

Nyquist Diagram 2.5

2 1.5

1 0.5

0 -0.5

-1 -1.5

-2 -2.5

Trang 27

num=[2];

den=[2 4 34];

nichols(num,den)grid

1 dB

3 dB

6 dB

-1 dB -3 dB -6 dB -12 dB -20 dB

Cấu trúc lệnh thực hành trên MATLAB cho hàm Nichols

Kết quả hiển thị trên MATLAB cho hàm Nichols

Nichols Chart 20

Hãy tiến hành thực hành trên MATLAB và viết báo cáo các mục sau đây:

1 Khai báo HTĐ trên MATLAB với các hệ thốngsau:

Trang 28

Viết chương trình biến đổi hệ thống dạng PTTT trên về dạng HTĐ.

3 Thực hành biến đổi Lapplace ngược các HTĐsau

Câu 2.Cho hệ thống có HTĐ dưới đây Hãy tiến hành vẽ các đặc tính thời

gian và đặc tính tần số khi hệ số ζ thay đổi trong khoảng từ 0 đến 1 (độ phân giải0,1):

2

Gs 0 , với5rad/s

s2 2 s2 0

Trang 29

Re

Biên giới ổn định

Miền ổn định

Miền không

ổn định

2.2 MÔPHỎNGĐÁNHGIÁTÍNHỔNĐỊNHVÀVẼQUỸĐẠONGHIỆM SỐ CHO HỆ THỐNG ĐIỀU KHIỂN TỰĐỘNG

2.2.1 Tóm tắt cơ sở lýthuyết

Miền phân bố nghiệm của phương trình đặc trưng quyết định đến tính ổn định của hệ thống:

Hình 2.14 Miền phân bố nghiệm của PTĐT

Tiêu chuẩn ổn định đại số:

- Tiêu chuẩn Routh: cho hệ thống có phương trình đặc trưng là:

Asasnasn1 a sa0

HệthốngsẽổnđịnhnếutấtcảcáchệsốtrongcộtthứnhấtcủabảngRouthdương Số lần đổi dấutrong cột thứ nhất của bảng Routh bằng số nghiệm của phương trình đặc trưng có phầnthựcdương

Trang 30

- Tiêu chuẩn Hurwitz: Cho hệ thống có phương trình đặc trưngdạng:

Ass na1s n1 an1 sa n0Điều kiện cần và đủ để hệ thống ổn định là tất cả các định thức con của ma trận Hurwitz phải dương

- TiêuchuẩnBode:Điềukiệncầnvàđủđểhệthốngđiềukhiểntựđộngkín (với hồitiếp âm đơn vị) ổn định là hệ thống hở độ dữ trữ biên và độ dữ trữ pha dương

3.2.1 Nội dung các bài thínghiệm

a Các cấu trúc lệnh dùng để đánh giá tính ổn định của hệthống:

- Cấu trúc câu lệnh tìm giá trị điểm cực(pole):

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

G = tf(num,den) % khai báo HTĐ

[vec_pol]=pole(G) % tìm điểm cực của HTĐ G

a1 a3 a5 a7 0

a0 a2 a4 a6 0

0 a1 a3 a5 0

0 a a a 0

a n

Trang 31

- Cấu trúc câu lệnh tìm giá trị điểm cực (roots) từ phương trình đặctính:

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

- Cấu trúc lệnh tìm điểm không(zero):

num = [b0b1 bm]; % khai báo hệ số của tử số HTĐ

den = [a0a1 an]; % khai báo hệ số của mẫu số HTĐ

[vec_zero]=zero(G) % tìm điểm zero của HTĐ G

Ví dụ 1:Thực hành viết chương trình tìm điểm cực, điểm không để đánh

giá sự ổn định cho hệ thống có HTĐ sau:

Gs  s32ss 2 4s11 Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB

vec_pole = -0.8576 +1.6661i -0.8576 -1.6661i -0.2848 +0.0000i vec_tzero =

-1.0000Sau khi MATLAB cho kết quả hệ bậc ba có ba điểm cực và một điểm không

Ba điểm cực trên đều có phần thực âm nên có thể kết luận hệ thống ổn định

Ví dụ 2:Thực hành viết chương tìm điểm cực, điểm không để đánh giá sự

ổn định cho hệ thống có HTĐ sau:

Gs s  3

Trang 32

roots(A) tzero(G)Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB

ans = 0.0000 +0.0000i -2.0000 +3.4641i -2.0000 -3.4641i -1.0000 +0.0000i ans =

-3Sau khi MATLAB cho kết quả hệ bậc bốn có bốn điểm cực và một điểmkhông.Bacựcđềucóphầnthựcâmvàđiểmcựccònlạicóphầnthựcbằngkhông nên kết luận

hệ ở biên giới ổnđịnh

b Các cấu trúc lệnh dùng để vẽ quỹ đạo nghiệm số của hệthống:

- Cấutrúccâulệnhbiểudiễnđiểmcựcvàđiểmkhônglênmặtphẳngphức:

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

G = tf(num,den) % khai báo HTĐ

pzmap(G) % biểu thị điểm cực và điểm không của HTĐ

G trên mặt phẳng phức

- Cấu trúc câu lệnh vẽ QĐNS của hệ thống khi có tham số thayđổi:

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

Trang 33

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

G = tf(num,den) % khai báo HTĐ

% khai báo ma trận chuyển trạng thái

B = [b1; bn] % khai báo ma trận vào

C = [c1 cn] % khai báo ma trận ra

D = [d1 dn] % khai báo ma trận đo

rlocus(A,B,C,D) % vẽ QĐNS của hệ thống có PTTT trên

- CấutrúccâulệnhvẽQĐNScủahệthốngvàchọnđiểmtrênQĐNSđểtính toán giá trị

K và các nghiệm của phương trình đặc tính tươngứng:

num = [b0b1 bm] % khai báo hệ số của tử số HTĐ

den = [a0a1 an] % khai báo hệ số của mẫu số HTĐ

rlocus(num, den) % vẽ QĐNS của hệ thống

rlocfind(num,den) % tìm điểm cực và giá trị K tương ứng với

Kết quả hiển thị trên MATLAB

Trang 34

1 )

-1

s d



num=[1 0 1];

den=[1 2 0];G=tf(num,den );rlocus(G)

Hình 2.15 Đồ thị biểu diễn điểm cực và điểm zero

Ví dụ 4:Thực hành viết chương trình vẽ QĐNS cho hệ thống có HTĐ hệ

hở như sau, khi K thay đổi từ 0÷∞

s2 1

G sK.

s2 2s

Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB

Hình 2.16 Biểu diễn quỹ đạo nghiệm số VD4

QĐNS gồm 2 nhánh xuất phát từ 2 điểm cực (0+jω), Bode và và 0-jω), Bode và) và kết thúc tại hai điểm không (0+jω), Bode và0 và -2+jω), Bode và0)

Trang 35

axis(v) grid

Ví dụ 5:Thực hành viết chương trình vẽ QĐNS cho hệ thống có PTTT hệ

hở như sau, khi K thay đổi từ 0÷400

Cấu trúc lệnh viết trên MATLAB

Kết quả hiển thị trên MATLAB

Real Axis (seconds-1)

Hình 2.17 Biểu diễn quỹ đạo nghiệm số VD5

Ví dụ 6:Thực hành viết chương trình vẽ QĐNS cho hệ thống có HTĐ sau,

và hãy lựa chọn 1 điểm trên QĐNS để tính giá trị K và các cực tương ứng

Gs K

s3 4s 2 5sCấu trúc lệnh viết trên MATLAB

Trang 36

num=[2];

den=[2 4 34];

nyquist(num,den)g rid

Select a point in the graphics window selected_point

-4.4639 + 0.0000i 0.2319 + 2.6489i 0.2319 - 2.6489i

Hình 2.18 Biểu diễn quỹ đạo nghiệm số VD6

Ví dụ 7:Dùng phần mềm MATLAB để tìm sự ổn định của hệ thống kín

(với hồi tiếp âm đơn vị) theo tiêu chuẩn Nyquist nếu HTĐ hệ thống hở là

Ghs 2

2s3 4s 2 3s4Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB

Trang 37

num=[1 1];

den=[1 3 1 0];

margin(num,den)gri d

0

2.5 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -2.5

Real Axis

Hình 2.19 Đồ thị tiêu chuẩn Nyquist cho VD7

Kết luận: Hệ thống kín ở biên giới ổn định vì đặc tính Nyquist hệ thống hở

đi qua điểm M có tọa độ là (-1;jω), Bode và0)

Ví dụ 8:Dùng phần mềm MATLAB để tìm sự ổn định của hệ kín (với hồi

tiếp âm đơn vị) theo tiêu chuẩn Bode nếu HTĐ hệ hở là

Ghs s1

s3 3s 2 s

Cấu trúc lệnh thực hành trên MATLAB

Kết quả hiển thị trên MATLAB như hình dưới đây Tay thấy độ dữ trữ pha

= 50,4 >0, tuy nhiên độ dữ trữ pha không xác định nên hệ thống kín không ổn định

Ngày đăng: 17/10/2024, 20:53

w