View
4
Download
0
Category
Preview:
Citation preview
1
LÝ THUYẾT MÔ HÌNH VÀ TỐI ƯU
Th.S Nguyễn Tấn Phúc.Email:phucnt@hcmuaf.edu.vnTel: 0126.7102772.
MÔ HÌNH HÓA
13
Giải pt bậc thấp
Giải pt bậc cao
Mô phỏng Hệ thống liên tục ñơn giản
Mô phỏng hệ ptrình vi phân bậc cao
16
Mô hình hệ thống ñiều khiển vị trí motor DC
J = 0.01 Kgm2/s2 là moment quán tín của rotorb = 0.1 Mms là hệ số ma sát của các bộ phận cơ khíK = Ke = Kt = 0.01 Nm/A là hằng số sức ñiện ñộngR = 10 ohm là ñiện trở dây quấnL = 0.5 H là hệ số tự cảmV là ñiện áp ñặt lên cuộn dây của motorθ là vị trí trục quay (ngõ ra của mô hình)i là dòng ñiện chạy trong cuộn dây của motor.
idi /dt
sum
d2theta /dt2 dtheta /dt
inertia
1/J
inductance
1/L
dtro
R
damping
b
V
ScopeKt
K
Ke
K
Integrator 2
1
s
Integrator 1
1
s
Integrator
1
s
Mô phỏng mạch ñiện R,L,C mắc nối tiếp
17
� Mạch R,L,C mắt song song
V(t) tichphanV
Sine Wave
Scope
Integrator
1
s
Gain 2
C
Gain 1
1/L
Gain
R
Derivative
du /dt
Add
Mạch R nối tiếp L,C mắt song song
i(t)
dVc /dtic(t)
V
ic (t)
tfvc (t)
Transfer Fcn
1
s 2
Sine WaveScope 1
Integrator
1
s
Gain 5
1/C
Gain 4
C
Gain 3
1/C
Gain 2
1/L
Gain 1
1/R
18
Mô phỏng hệ thống lò xo
u = F
ux'' x' x
StepScopeIntegrator 1
1
s
Integrator
1
s
Gain 2
kGain 1
c
Gain
1/m
Phương trình trạng thái: Dạng tổng quát:X’ = AX + BUY = CX + DU
�
−−=
23
10A
=
tB
sin20
0
=
0
1C 0=D
19
MÔ HÌNH HỆ THỐNG ðIỀU KHIỂN TỰ ðỘNG ỨNG DỤNG MATLAB
HÀM TRUYỀN VÀ PHƯƠNG TRÌNH TRẠNG THÁI CỦA HỆ THỐNG
Hệ thống ñiều khiển tốc ñộ motor DC
Hàm truyền:Biến ñổi Laplace 2 vế ta ñược:
Hay:
ñặt x1 = dθ/dt và x 2 = i , ta có:
Phương trình trạng thái: Dạng tổng quát:X’ = AX + BUY = CX + DU
State -Space
x' = Ax+Bu
y = Cx+Du
Sine Wave Scope
20
BỘ ðIỀU KHIỂN PID
Trong ñó hàm truyền của khâu PID là:
KP là ñộ lợi của khâu tỉ lệ (Proportional gain)KI là ñộ lợi của khâu tích phân (Integral gain)KD là ñộ lợi khâu vi phân (Derivative gain)
Bộ ñiều khiển tỉ lệ P
Step State -Space
x' = Ax+Bu
y = Cx+Du
ScopeGain
kp
Bộ ñiều khiển PID
Transfer Fcn
s
kd.s +kp.s+ki2
Step State -Space
x' = Ax+Bu
y = Cx+Du
Scope
LẬP TRÌNH GUI TRONG MATLAB
1. MỞ PHẦN MỀM.
2. CÁC CÔNG CỤ TRONG CỬA SỔ GUI .
3. KÉO THẢ CÁC ðIỀU KIỆN.
4. THAY ðỔI CÁC THUỘC TÍNH CỦA CÁC ðIỀU KIỆN.
5. VIẾT LỆNH CHO CHƯƠNG TRÌNH.
21
1.MỞ PHẦN MỀM
Mở phần mềm, gõ lệnh sau vào command>>guide
� Blank GUI (Default): Hộp thoại GUI trống không có ñiều khiển
unicontrol nào cả.
* GUI With Unicontol: Hộp thoại GUI với vài unicontrol như button,…,
chương trình có thể chạy ngay.
* GUI With Axes Menu: Hộp thoại với một unicontrol axse và button, các
menu ñể hiển thị ñồ thị.
* Modal Question Dialog: Hộp thoại ñặt câu hỏi Yes, No.
Create New GUI: Tạo một hộp thoại GUI mới:
�Open Existing GUI: mở hộp thoại project có sẵn
22
2.CÁC CÔNG CỤ TRONG CỬA SỔ GUI.
� Các nút ñiều khiển khác:
Check Box, Edit Text, Static Text, Pop-up Menu, List Box, Axes, Panel,
Button Group, AtiveX Control, Toggle Button.
• Giao diện rất giống với các chương trình lập trình giao diện như Visual
Basic, Visual C++,…
Di chuột qua các biểu tượng ở bên trái sẽ thấy tên của các ñiều khiển.
Push Button: giống như nút command button trong VB. Là các nút bấm
như nút OK,Cancel,..
Slider: Thanh trược có một con trược chạy trên ñó.
Radio Button: Nút nhỏ hình tròn ñể lựa chọn (Options)
23
� Menu Tool có:
* Run(Ctr+T): chạy chương trình mà ñã viết.
* Align Object: sắp xếp các ñiều khiển
* Grid and Rulers: lưới trong giao diện (như một ma trận các ô vuông
nhỏ), và sắp xếp vị trí.
� Menu Editor: tạo menu cho ñiều khiển.
* Tab Order Editor: sắp xếp Tab order là thứ tự khi ta nhấn phím
Tab
* Gui Options: lựa chọn cho giao diện GUI
Khi lưu dưới tên: TUT01, ñồng thời xuất hiện cửa sổ Editor và
ñang mở file TUT01.m và Trong thư mục ñang lưu sẽ có 2 file là:
- TUT01.fig: file này chứa giao diện của chương trình
- TUT01.m: file chứa các mã thực thi chương trình như các hàm
khởi tạo, các hàm callback,…
� Ví dụ thực hành:
kéo vào trong giao diện 2 edit box, 1 static box và 1 push
botton
24
� Chương trình có chức năng khi nhấn vào nút bấm
thì kết quả của phép cộng giữa 2 số ñược gõ vào
2 ô sẽ hiện lên trong Static Text
� Thay ñổi các thuộc tính:
Click ñúp vào Edit Text bên trái ñể xuất hiện cửa sổ
các thuộc tính của ñiều khiển. Có thể sắp xếp theo
chức năng hoặc theo thứ tự A-Z của tên thuộc tính
bằng nút hiện ở gõ bên trái.
25
Thuộc tính quan trọng của Edit Box bao gồm:
� Tag: là thuộc tính giống như Caption trong Visual Basic ñể ñặt
tên ñiều khiển. Dùng tên này có thể thao tác ñến cá thuộc tính
của ñối tượng. (vd editstr1).
� String: là chuổi kí tự hiện lên Edit Box.
� Tương tự, thay ñổi thuộc tính tag của Edit Box thứ 2 thành
editstrl2. Static Box cũng tương tự thành staticstr3.
� Push Botton: thuộc tính tag = buttonCalculate,
String =calculate.
VIẾT LỆNH CHO CHƯƠNG TRÌNH:
� Chương trình có tác dụng khi nhấn vào nút Push Button sẽ
hiện lên kết quả ở Static Box � viết vào hàm này mà khi nhấn
vào nút Push Box sẽ gọi.
� Hàm Callback, ñiều khiển nào cũng có hàm Callback, như
hàm ngắt trong vi ñiều khiển.
26
� Hàm có một tham số:
* hObject: handle của ñiều khiển bottoncalculate
* handles:là một cấu trúc chứa tất cả các ñiều khiển và dữ liệu
người dùng � dùng ñể truy xuất các ñiều khiển khác.
� Qua thuộc tính tag của các ñiều khiển � truy xuất ñến thuộc
tính string của các ñiều khiển editstr1, editstr2, editstr3 bằng
các lệnh get, set.
* Get(handles.tag_dieu_khien,’ten thuoc tinh’): lấy giá trị
* set(handles.tag_dieu_khien,’ten_thuoc_tinh’,’gia_tri’): ñặt
giá trị
* str2num: biến từ string sang số
* num2str ñể biến trở lại.
���� Viết hàm như sau:
27
Nhấn nút Run ñể kiểm tra kết quả:
TỐI ƯU HÓA
Bài toán quy hoạch tuyến tính tối ưu hóa dùng excel.
Bài toán quy hoạch tuyến tính dùng mathlab.
Recommended