Matlab 1 Complete
-
Upload
chutipa-a-reungjit -
Category
Documents
-
view
890 -
download
5
description
Transcript of Matlab 1 Complete
การทดลองท 1 การว คราะห�ระบบควบค�มย�อนกล�บด�วย MATLAB/SIMULINK
นายก ต ศ�กด � พ�ชนะก�ล รห�สประจำ"าต�ว 53109010250
บทค�ดย#อ
จำากเน%&อหาการทดลองซ(งเป)นเน%&อหาพ%&นฐานของว ชา Control System โดยเป)นเน%&อหาทมการจำ�ดการสมการทางพชคณ ต โดยสมการใช�หล�กการในการว เคราะห�และออกแบบระบบควบค�ม ซ(งโดยในการทดลองจำะกล#าวในเน%&อหาบางส#วนของว ชา Control System ซ(งประกอบไปด�วย MATLAB,SIMULINK, การว เคาระห�ระบบอ�นด�บหน(งและอ�นด�บสองด�วย MATLAB/SIMULINK ซ(งเน%&อหาว ชาเหล#าน&เป)นแค#เน%&อหาเบ%&องต�นในบางส#วนแต#สามารถประย�กต� ค ด ว เคราะห� และออกแบบระบบควบค�มได�ต#อไป
Of a trial, the basic content of the course by a control system that is managed by the Algebra. The equation used in the analysis and design of control systems. In the experiment, which will be discussed in some of the contents of the control system. These include the. MATLAB, SIMULINK, Analysis First’s order and Second’s order with MATLAB/SIMULINK This course these are some introductory material, but can be applied in the analysis and design of control systems in the future.
บทน"า
เพ%อเข�าใจำ MATLAB/SIMULINK
เบ%&องต�น และสามารถประย�กต�ใช�เพ%อว เคราะห�ระบบควบค�มป2อนกล�บได�และเพ%อเป)นพ%&นฐานในการออกแบบระบบควบค�มต#อไป
ทฤษฎทเกยวข�อง
MATLAB ค%อโปรแกรมการค"านวณทช#วยว ศวกรระบบควบค�มในการว เคาระห�และออกแบบควบค�มรวมถ(งการพ�ฒนาในงานด�านว ศวกรรมแขนงอ%นๆ MATLAB/SIMULINK ย�งสามารถประย�กต�ใช�แก�ป8ญหาในการว เคราะห�และออกแบบส"าหร�บทฤษฎการควบค�มอกหลายๆด�านเช#น Linear control theory Robust
Model control synthesis ด�งน�&นในการทดลองน&จำะประย�กต� MATLAB/SIMULINK
ส"าหร�บว ศวกรควบค�ม
การทดลอง
1.MATLAB
1.1 พชคณ ตเช งเส�น การค"านวณ–
เมตทร กซ�และเวคเตอร�
ร�ป 1 แสดงผลการพ มพ�ค"าส�งลงใน script file
ร�ป 2 แสดงผลการทดลองเม%อใช�ค"าส�ง plot
1.2 ฟ8งก�ช�นถ#ายโอน (Transfer
Function)
การทดลองน&เป)นการสร�างฟ8งก�ช�นถ#ายโอนค%ออ�ตราส#วนของการแปลงลาปลาซของฟ8งก�ช�นเวลาเอาท�พ�ตต#ออ นพ�ต หร%อเป)นการแทนพฤต กรรมพลศาสตร�ของระบบจำากสมการอน�พ�นธ�
d2 yd t2
+1.5dydt
+5y = 2dudt
+4u
ร�ป 3 แสดงผลการพ มพ�ค"าส�งลงใน script file
ร�ป 4 แสดงผลล�พธ�เม%อใช�ค"าส�ง lsim
ร�ป 5 แสดงผลการพ มพ�ค"าส�งลงใน script file
ร�ป 6 แสดงผลล�พธ�เม%อใช�ค"าส�ง step
1.3 ฟ8งก�ช�น “conv”,”series” และ “feedback”
ร�ปท 7 แสดงถ(งการใช�ค"าส�ง conv
การใช�ฟ8งก�ช�น “series”
ร�ปท 8 แสดงถ(งการใช�ค"าส�ง series
การใช�ฟ8งก�ช�น “feedback”
ร�ปท 9 แสดงถ(งการใช�ค"าส�ง feedback
SIMULINK
ร�ป 10 แสดงถ(งการ simulink ของ dxdt
= 3sin(2t)
โดยการก"าหนด sinwave ด�งน&
Amplitude = 3
Frequency = 2
และก"าหนดค#าพาราม เตอร� ท Integretor
X(0) = -1
ร�ป 11 แสดงถ(งผลล�พธ�ของระบบ dxdt
=
3sin(2t)
การสร�างแบบจำ"าลองอ�นด�บสองจำากระบบ mass,spring,damper
การทดลองข�&นตอนน&เป)นการทดลองโดยสร�างแบบจำ"าลองของระบบ mass – spring – damper
ด�วย SIMULINK ซ(งเป)นแบบจำ"าลองของสมการอนพ�นธ�อ�นด�บสองซ(งมพาราม เตอร�ต#างๆด�งน&
--Initial condition: x(0) = 0
and dxdt
(0) = 0 dx/dt(0) = 0
--the input f(t) is a step function with magnitude 3 at t=0
--mass, m = 0.25
--damping coefficient, c = 0.5
--spring constant, k=1
md2 xd t2
+cdxdt
+ kx = f(t)
ร�ปท 12 แสดงถ(งการ simulink ระบบ
เพ ม step block และก"าหนดค#าพาราม เตอร�
-Steptime =0
-Initial value = 0
-Final value = 3
เม%อก"าหนดค#าพาราม เตอร�ต#างๆเราสามารถด�เอาท�พ�ตของการท"า simulation ได�จำาก Scope
ร�ปท 13 กราฟผลล�พธ�ของระบบ m d2 xd t2
+c
dxdt
+ kx = f(t)
จำากกราฟ
ค#าส�งส�ดของ X(t) = 3.5
ค#าส�ดท�ายของ X(t) = 3
การสร�างแบบจำ"าลองด�วยตนเอง
1) การพ จำารณาพฤต กรรมของระบบ mass
– spring –damper
1.1 ) การเปลยนแปลงของมวลมผลอย#างไรต#อผลตอบสนองของระบบ?
จำงหาค#า setting time และ overshoot ของระบบเม%อเปลยนแปลงพาราม เตอร�ตามตาราง
Mass Overshoot
5% setting Time
0.2*m 3 1.260.5*m 3.13 1.05061.0*m 3.5 1.312.0*m 3.9 5.555.9*m 4.5 9.65
ตารางท 1 แสดงค#าเม%อท"าการเปลยน mass
Damping Coefficie
nt
Overshoot
5% Setting Time
0.2*m 5.15 13.0780.5*m 4.32 5.371.0*m 3.45 2.652.0*m 3 2.40255.0*m 3 7.288
ตารางท 2 แสดงค#าเม%อท"าการเปลยน Damping
Spring constant
Overshoot
5% Setting Time
0.2*m 15 6.4560.5*m 6.25 2.121.0*m 3.45 2.52.0*m 1.95 2.7885.0*m 0.89 2.945
ตารางท 3 แสดงค#าเม%อท"าการเปลยน Spring constant
- แบบจำ"าลองของวงจำรไฟฟ2าพ%&นฐาน - จำงใช� simulation diagram ด�ง
กล#าวสร�าง SIMULINK model โดยก"าหนดR = 3 ohm ,L = 1 H, C = 0.5 F
และ E(t) เป)นส�ญญาณพ�ลส�จำากน�&นเพ ม Scope blocks เพ%อแสดงส�ญญาณ i(t) และ e(t) พร�อม label ช%อของบล=อกส�ญญาณจำนครบ
ร�ป 14 แสดงการ SIMULINK ของวงจำร RLC
ร�ป 15 กราฟ i(t) ของวงจำร RLC
ร�ป 16 กราฟ e(t) ของวงจำร RLC
0 1 2 3 4 5 6 7 8 9 10-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
Time (seconds)
data
Time Series Plot:
ร�ป 17 กราฟ I เพ ม R = 20
0 1 2 3 4 5 6 7 8 9 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Time (seconds)
data
Time Series Plot:
ร�ป 18 กราฟ v เพ ม R = 20
0 1 2 3 4 5 6 7 8 9 10-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Time (seconds)
data
Time Series Plot:
ร�ป 19 กราฟ I เพ ม L=30
0 1 2 3 4 5 6 7 8 9 100
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Time (seconds)
data
Time Series Plot:
ร�ป 20 กราฟ v เพ ม L=30
0 1 2 3 4 5 6 7 8 9 10-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Time (seconds)
data
Time Series Plot:
ร�ป 21 กราฟ I เพ ม C=50
0 1 2 3 4 5 6 7 8 9 100
0.01
0.02
0.03
0.04
0.05
0.06
Time (seconds)
data
Time Series Plot:
ร�ป 22 กราฟ v เพ ม C=50
การว เคราะห�ระบบอ�นด�บหน(งและอ�นด�บสองด�วย MATLAB/SIMULINK
พ จำารณาสมการอน�พ�นธ�ต#อไปน&
1.5 y + y = 3u
เม%อ y(0) = -2 และ u(t) = unit
step input จำงสร�าง Simulink model
ร�ป 23 แสดงการ simulink ของ 1.5 y + y = 3u
0 10 20 30 40 50 60-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
3
ร�ป 24 กราฟแสดงผลล�พธ�ของ 1.5 y + y = 3u
จำาก Simulink model ท"าการเปลยนพาราม เตอร�ของบล=อกต#างๆด�งน& แทน gain ด�วย 1/tan เปลยน IC ของ Integrater ด�วยต�วแปร y0 และเปลยนขนาดของ step input เป)น A
ร�ป 25 แสดงการเปลยนค#าต�วแปรของ 1.5
y + y = 3u
ร�ป 26 แสดงผลล�พธ�ใน Scope เม%อท"าการเปลยนค#าต�วแปรของระบบ 1.5 y + y =
3u
ท"าการเพ ม argument ใหม#ทค"าส�ง sim
โดยในการทดลองน&จำะท"าการ simulation
ในช#วงเวลา 0≤ t ≤ 20
จำากน�&นเพ%อความสะดวกในการพล>อตกราฟทดกว#า ท"าการลบ scope แล�วใส# workspace แทน แล�วต�&งช%อด�งร�ป
ร�ป 27 แสดงเม%อต�องการพล=อตกราฟใน MATLAB
ร�ป 28 กราฟแสดงผลล�พธ�เม%อใช�ค"าส�ง plot ใน m-file
จำากน�&นเพ มค"าส�งในการก"าหนด title และ label ของแกนด�งน&
ร�ป 29 แสดงการใช�ค"าส�ง title และ label
ใน m-file
ร�ป 30 กราฟแสดงผลล�พธ�เม%อใช�ค"าส�ง title และ label
การพล=อตกราฟหลายๆกราฟฝนร�ปเดยวและหลายๆกราฟในหน�าเดยว
ร�ป 31 ค"าส�งการพล=อตกราฟหลายๆกราฟฝนร�ปเดยวและหลายๆกราฟในหน�าเดยว
ร�ป 32 การพล=อตกราฟหลายๆกราฟฝนร�ปเดยวและหลายๆกราฟในหน�าเดยว
เราจำะใช�ฟ8งก�ช�น subplot ในการพล=อตหลายๆกราฟในหน�าเดยวก�นโดยการเพ มค"าส�งใน m-file ด�งน&
% M-file to run Simulink fileclear;y0 = -3;tau = 2;A = 4;sim('first_order',[0 20]);t1=time;y1=yout;y0 = 6;sim('first_order',[0 20]);t2=time;y2=yout;subplot(221)plot(t1,y1,'r')title('Step response of first-order system with IC = -3')xlabel('Time (s)')ylabel('Output variable y(t) (no units)')axis([0 20 -3 6])subplot(223)plot(t2,y2,'b')title('Step response of first-order system with IC = 6')xlabel('Time (s)')ylabel('Output variable y(t) (no units)')
axis([0 20 -3 6])
ร�ป 33 กราฟแสดงผลล�พธ�ของค"าส�งเม%อต�องการพล=อตกราฟหลายๆกราฟในหน�าเดยว
สร�ปผลการทดลอง ::
MATLAB เป)นโปรแกรมคอมพ วเตอร�สมรรถนะส�งทให�ความสะดวกในการเรยนการสอนสายว ศวกรรมศาสตร�และว ทยาศาสตร� รวมท�&งการท"าว จำ�ยในป8จำจำ�บ�น ท�&งน& MATLAB เป)นโปรแกรมทใช�งานง#าย ต�&งแต#การค"านวณด�วยระเบยบว ธเช งต�วเลข การจำ�ดการสมการทางพชคณ ตด�วยการใช�ส�ญล�กษณ� และการพล=อตผลล�พธ�ทช#วยให�เข�าใจำปรากฎการณ�ทางคณ ตศาสตร�
การท"างานของ MATLAB จำะสามารถท"างานได�ท�&งในล�กษณะของการต ดต#อโดยตรง (Interactive) ค%อการเขยนค"าส�งเข�าไปทละค"าส�ง เพ%อให� MATLAB ประมวลผลไปเร%อยๆ หร%อสามารถทจำะรวบรวมช�ดค"าส�งเราน�&นเป)นโปรแกรมก=ได� ข�อส"าค�ญอย#างหน(งของ MATLAB ก=ค%อข�อม�ลท�กต�วจำะถ�กเก=บในล�กษณะของ array ค%อในแต#ละต�วแปรจำะได�ร�บการแบ#งเป)นส#วนย#อยเล=กๆข(&น (หร%อจำะได�ร�บการแบ#งเป)น element น�นเอง)
ซ(งการใช�ต�วแปรเป)น array ใน MATLAB น&เราไม#จำ"าเป)นทจำะต�องจำอง dimension
เหม%อนก�บการเขยนโปรแกรมในภาษาข�&นต"าต�วไป ซ(งท"าให�เราสามารถทจำะแก�ป8ญหาของต�วแปรทอย�#ในล�กษณะของ matrix และ vector ได�โดยง#าย MATLAB/SIMULINK
ย�งสามารถประย�กต�ใช�แก�ป8ญหาในการว เคราะห�และออกแบบส"าหร�บทฤษฏการควบค�มอกหลายๆด�าน โดยการทดลองคร�&งน&จำะประกอบไปด�วย 3 ส#วนโดยส#วนแรกจำะเป)นการทดลองเกยวก�บ
1). MATLAB
1.1) การใช�ค"าส�งพชคณ ตเช งเส�นในการค"านวณเมตร กซ�และเวกเตอร� โดยใช�ค"าส�ง a=[1 2 3] ถ�าต�องการสร�าง row vector
และค"าส�ง b=[4;5;6] ถ�าต�องการสร�าง colume vector
1.2) การพล=อต เป)นค"าส�งในการพล=อตกราฟโดยใช�ร�ปแบบค"าส�ง plot(a,b,’-
g’) ซ(งจำะเป)นการพล=อตเวคเตอร� b (แกน y) เทยบก�บ a (แกน x) ด�วยเส�นท(บสเขยว แต#ถ�าต�องการ เปลยชน ดของเส�นในการพล=อตให�เป)นชน ดอ%นเช#นเส�นประ สามารถใช�ค"าส�ง plot(a,b,’--‘) นอกจำากน&ย�งสามารถ
เปลยนเส�นกราฟเป)นสอ%นๆ ได�โดยส�งใช�ค"าส�ง plot(a,b,’r’) ซ(งจำะได�กราฟเป)นสแดง
ส ต�วอ�กษรก"าหนดสแดง (red) r
เขยว (green) g
น"&าเง น (blue) b
เขยวน"&าเง น (cyan)
c
ม#วงแดงเข�ม (magenta)
m
เหล%อง (yellow) y
ด"า (black) k
ขาว (white) w
ตารางแสดงต�วอ�กษรก"าหนดส
ชน ดของเส�น ส�ญล�กษณ�แทนเส�นเส�นต#อเน%อง -
เส�นประ --
เส�นจำ�ดไข#ปลา :
เส�นประสล�บจำ�ด -.
ตารางแสดงส�ญล�กษณ�แทนเส�น
1.3) สคร ปส� (Scrips) การท"าสคร ปส�คล�ายๆก�บว#าเราได�สร�างโปรแกรมย#อยแล�วต�&งช%อให�ก�บช�ดค"าส�งน�&น จำากน�&นถ�าเราต�องการทจำะเรยกใช�ช�ดค"าส�งน�&น เราก=ไม#ต�องเสยเวลาในการพ มพ�ช�ดค"าส�งใหม# แค#พ มพ�ช%อช�ดค"าส�งน�&นลงใน command window ของ MATLAB ก=จำะสามารถร� �ผลล�พธ�ทเราต�องการทราบได�เลย ท�&งน&เป)นการช#วยลดการส�บสนในการใช�ช�ดค"าส�งอกด�วย
1.4) ฟ8งก�ถ#ายโอน (Transfer
Function) ฟ8งก�ช�นถ#ายโอนค%ออ�ตราส#วน
ของการแปลงลาปลาสของฟ8งก�ช�นเวลาของเอาท�พ�ตต#ออ นพ�ต หร%อเป)นการแทนพฤต กรรมพลศาสตร�ของระบบจำากสมการอน�พ�นธ� พ จำารณาสมการอน�พ�นธ�ต#อไปน&
1.5) ฟ8งก�ช�น “lsim”
1.6) ฟ8งก�ช�น “step”
1.7) ฟ8งก�ช�น “conv”,”series”
และ“feedback”
2). SIMULINK
SIMULINK ค%อซอฟแวร�เพ%อใช�ในการจำ"าลอง การท"า simulation และการว เคราะห�ระบบพลศาสตร�ซ(งรองร�บแบบจำ"าลองท�&งแบบเช งเส�นและไม#เช งเส�นในกรณเวลาต#อเน%องและเวลาไม#ต#อเน%อง หร%อรวมท�&งสองกรณ โดยเช%อมต#อแบบจำ"าลองในร�ปของ Block diagram ด�วยการใช�เมาส� (click,drag และ drop operations)
นอกจำากน&ย�งมเคร%องม%อเพ%อใช�ในการแสดงผลเอาท�พ�ต และต�วแปรสถานะของระบบจำากการท"า simulation
3). การว เคราะห�ระบบอ�นด�บหน(งและอ�นด�บ
สองด�วย MATLAB/SIMULINK
การทดลองข�&นตอนเป)นการพ จำารณาสมการอน�พ�นธ�
จำากการทดลองท�&งหมดย�งเป)นแค#ส#วนหน(งของว ชา ระบบควมค�ม ซ(งย�งสามารถน"าไปใช�ประย�กต�ในการว เคราะห�หร%อ ออกแบบระบบควบค�มต#อไปได�อก
เอกสารอ�างอง ::
- หน�งส%อการใช�งาน MATLAB ส"าหร�บงานทางว ศวกรรม
- หน�งส%อ MATLAB BOOK
- ปราโมทย� เดชะอ"าไพ,น พนธ� วรรณโสภาคย� MATLAB FUDAMENTALS
ส"าน�กพ มพ�แห#งจำ�ฬาลงกรณ�มหาว ทยาล�ย, 2554
- www.google.co.th