ENE 206 MATLAB Laboratory

Download Report

Transcript ENE 206 MATLAB Laboratory

ENE 206 MATLAB Laboratory
ั และกราฟสาหรับ
Lab 1: การใชฟั้ งก์ชน
แก ้ปั ญหาทางวิศวกรรม
ั และกราฟสาหรับ
การใชฟั้ งก์ชน
แก ้ปั ญหาทางวิศวกรรม
ั ชว่ ยในการคานวณต่าง ๆ
MATLAB มีฟังก์ชน
ั ชว่ ยในการสร ้างกราฟเพือ
ตลอดจนฟั งก์ชน
่
ั คณิตศาสตร์ทงั ้ แบบ 2 มิตแ
แสดงฟั งก์ชน
ิ ละ 3
มิต ิ
้
 ตัวอย่างทีจ
่ ะกล่าวถึงต่อไปนี้ เป็ นการใชงาน
ั เกีย
ั ชว่ ยคานวณ
ฟั งก์ชน
่ วกับกราฟ และฟั งก์ชน
้ ้ปั ญหาทางวิศวกรรมไฟฟ้ า เชน
่
เพือ
่ ใชแก
วงจรไฟฟ้ าอย่างง่าย

การวิเคราะห์วงจรไฟฟ้ าด ้วย
MATLAB

การวิเคราะห์วงจรไฟฟ้ าทีม
่ อ
ี ป
ุ กรณ์ไฟฟ้ าแบบไม่
เชงิ เสน้ (Non-linear) นัน
้ โดยทัว่ ๆ ไปสามารถ
กระทาได ้ 2 วิธ ี

การวิเคราะห์แบบประมาณ (approximate analysis)


เป็ นการวิเคราะห์โดยประมาณอุปกรณ์ไฟฟ้ าแบบไม่เชงิ เสน้
ั พันธ์เชงิ เสนแบบง่
้
ั ซอนใน
้
ด ้วยความสม
าย ๆ เพือ
่ ลดความซบ
การคานวณและสามารถคานวณด ้วยมือได ้
การวิเคราะห์ด ้วยแบบจาลองทฤษฏี (theoretical
analysis)


ั พันธ์ของปริมาณทาง
เป็ นการวิเคราะห์ด ้วยการหาความสม
่ ความสม
ั พันธ์
ไฟฟ้ าทางทฤษฏีของอุปกรณ์ไฟฟ้ านัน
้ ๆ เชน
ระหว่างแรงดัน และกระแสไฟฟ้ า
ั พันธ์ดังกล่าวมักได ้จากการผลทดลองจริง โดยจะมี
ความสม
การวิเคราะห์วงจรไฟฟ้ าด ้วย
แบบจาลองทฤษฏี

้
การวิเคราะห์วงจรไฟฟ้ าด ้วยกราฟเสนโหลด
(Load line analysis)
เป็ นวิธท
ี น
ี่ ามาใชกั้ บวงจรไฟฟ้ าทีม
่ อ
ี ป
ุ กรณ์ไม่เชงิ
เสน้ เนือ
่ งจากสามารถอธิบายอย่างง่าย ๆ ด ้วยกราฟ
ได ้
้
 หลักการการวิเคราะห์วงจรไฟฟ้ าได ้วยกราฟเสน
โหลด มีดงั นี้

ั พันธ์ระหว่างกระแส และแรงดันไฟฟ้ าของ
หาความสม
้ น
อุปกรณ์ไม่เชงิ เสนนั
้
้
 ใชกฏของเคอร์
ชอฟ (Kerchhoff) สร ้างสมการ
ั พันธ์ของกระแส และแรงดันของวงจรทีก
ความสม
่ าลัง
วิเคราะห์

การวิเคราะห์วงจรไฟฟ้ าด ้วยกราฟ
้
เสนโหลด
้
้
ตัวอย่างทีน
่ าอุปกรณ์ไฟฟ้ าไม่เชงิ เสนมาใช
ใน
วงจรไฟฟ้ าเพือ
่ วิเคราะห์อย่างง่าย คือวงจร
ไดโอด
 จุดตัดของ characteristic
equation และ load line
จะเป็ นจุดสงบ (Q-point)
ของวงจร ซงึ่ เป็ นจุดกาหนดค่า
E V  I R
กระแสและแรงดันของวงจร

D
ID 
D
E
R VD  0 V
VD  E I
D 0 A
การใช ้ MATLAB สาหรับการวิเคราะห์
้
วงจรไฟฟ้ าด ้วยกราฟเสนโหลด
การใช ้ MATLAB สร ้างกราฟทีไ่ ด ้จากการ
วิเคราะห์วงจรไฟฟ้ า
้ งก์ชน
ั ชว่ ยคานวณของ MATLAB หา
 การใชฟั
จุดตัดกราฟ

1
0.9
0.8
i1 (amperes)
0.7
0.6
0.5
Load Line
Device Curve
0.4
0.3
0.2
0.1
0
0
2
4
6
8
10
12
v (volts)
2
14
16
18
20
ตัวอย่างการวิเคราะห์วงจรไฟฟ้ า
V2
จากรูปข ้างบนแสดงระบบวงจรไฟฟ้ าทีป
่ ระกอบไปด ้วย
แหล่งจ่ายไฟฟ้ าคงที่ 15 Volts ทีม
่ ค
ี วามต ้านทานภายใน R1
เท่ากับ 30 Ω เข ้ากับโหลด แหล่งจ่ายให ้กระแสกับโหลด
ั พันธ์ระหว่างกระแสและแรงดั
โดยมีความสม
นของโหลดดังนี้
0.12v2
i1  0.16e
 1
จงหาค่ากระแสทีแ
่ หล่งจ่ายจะต ้องจ่ายให ้กับโหลด
ตลอดจนแรงดันทีต
่ กคร่อมโหลดในวงจร
การแก ้ปั ญหาวงจรไฟฟ้ าด ้วยวิธ ี
้
กราฟเสนโหลด
ั พันธ์ของกระแสและแรงดันของโหลด
ความสม
จากทีโ่ จทย์กาหนดให ้ ทาให ้เราจาเป็ นต ้องทราบ
ค่าของกระแส หรือแรงดันค่าใดค่าหนึง่ ในการที่
จะคานวณหาค่าทางไฟฟ้ าทีเ่ หลือตามทีโ่ จทย์
ต ้องการ
แนวทางการแก ้ปั ญหาข ้อนีแ
้ บ่งออกเป็ น
ั พันธ์ของกระแส และแรงดันจาก
การสร ้างความสม
้
วงจรไฟฟ้ าทีก
่ าหนดเป็ นกราฟเสนโหลด
(load line)
 การหาคาตอบของค่ากระแส และแรงดันจาก
ั พันธ์ทไี่ ด ้จากโจทย์ และกราฟเสนโหลด
้
ความสม
ด ้วย MATLAB

้
สมการเสนโหลด
้
ด ้วยการใชกฏของเคอร์
ชอฟกับรูปวงจรทีโ่ จทย์
กาหนด จะได
v1  i1R้ 1  v2  0
จัดรูปสมการใหม่ได ้
i1
1
v1
1
15
i1   v2    v2 
R1
R1
30
30
้
เป็ นสมการเสนตรงที
ไ่ ด ้จากวงจร หรือทีเ่ รียกว่า
้
กราฟเสนโหลด
(load line) ซงึ่ เป็ นกราฟแสดง
ั พันธ์ของกระแส และแรงดันของโหลดใน
ความสม
่ เดียวกัน
วงจรเชน
การใช ้ MATLAB วิเคราะห์ด ้วยกราฟ
ดังนัน
้ เราจะได ้ว่าค่าของกระแส และแรงดันที่
ั พันธ์
ของวงจรต ้องสอดคล ้องกับความสม
ระหว่างกระแส และแรงดันทีไ่ ด ้ทัง้ สองสมการ
ั พันธ์ระหว่างกระแส
 เนือ
่ งจากสมการความสม
ั พันธ์
และแรงดันของโหลดจากโจทย์มค
ี วามสม
ี ล) จึงไม่เป็ นการ
แบบไม่เชงิ เสน้ (เอ็กโพเนนเชย
ง่ายทีจ
่ ะแก ้สมการทัง้ สองด ้วยการคานวณมือ
 อย่างไรก็ด ี เราสามารถหาคาตอบของสมการทัง
้
สอง จากการวาดกราฟ และหาจุดตัดระหว่าง
กราฟทัง้ สอง

การใช ้ MATLAB วิเคราะห์ด ้วยกราฟ
MATLAB สามารถแสดงกราฟทัง้ สองสมการลง
ั คาสงั่ plot
บนแกนร่วมกันโดยอาศย
ึ่
 โดยค่าของแกนนอนจะเป็ นค่าแรงดัน ซง
กาหนดเป็ นเวคเตอร์ทม
ี่ ค
ี า่ จาก 0 ถึง 15 V
 ค่าของแกนตัง
้ จะเป็ นค่ากระแส ซงึ่ กาหนดเป็ น
เวคเตอร์ทม
ี่ ข
ี นาดตามเวคเตอร์แรงดัน และมี
จานวนเวคเตอร์ 2 ชุด เนือ
่ งจากเป็ นค่ากระแส
้
ของสมการกราฟเสนโหลด
และค่ากระแสของ
โหลดจากโจทย์

การใช ้ MATLAB วิเคราะห์ด ้วยกราฟ
จากรูปแสดงกราฟทัง้ สองสมการทีแ
่ สดงบนแกน
ร่วมกัน จะได ้ว่าจุดตัดแกนมีคา่ กระแสอ่านได ้
เท่ากับ 0.25 A และแรงดัน V2 เท่ากับ 7.5 V
โดยประมาณ
 ในการหาค่าทีแ
่ ม่นยามากขึน
้
สามารถกระทาได ้โดย
Load Line
Device Curve
การใช ้ MATLAB
เพือ
่ หาจุดตัดจากการแก ้
สมการทัง้ สองด ้วยการคานวณ

1
0.9
0.8
i1 (amperes)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
2
4
6
8
10
12
v (volts)
2
14
16
18
20
ั ชว่ ยคานวณของ
การใชฟั้ งก์ชน
MATLAB หาจุดตัดกราฟ

ั ชว่ ยคานวณ เพือ
MATLAB มีฟังก์ชน
่ หาจุดตัด
ั มีคา่ เท่ากับศูนย์) ซงึ่
แกนนอน (จุดทีฟ
่ ั งก์ชน
้
สามารถนามาประยุกต์ใชในการหาจุ
ดตัดกราฟ
กับการวิเคราะห์วงจรไฟฟ้ าอย่างง่ายนีไ
้ ด้
ั roots คานวณจุดตัดแกนนอนของฟั งก์ชน
ั
ฟั งก์ชน
โพลิโนเมียลเท่านัน
้
ั fzero สามารถคานวณจุดตัดแกนนอนของ
 ฟั งก์ชน
ั ตัวแปรเดียวใด ๆ
ฟั งก์ชน


้
รูปแบบการใชงานของ
fzero
fzero(‘function’, x0)

ื่ ฟั งก์ชน
ั ทีต
function เป็ น string ของชอ
่ ้องการหาจุดตัด
แกนนอน
้
ั fzero
ตัวอย่างการใชงานฟั
งก์ชน
ั
สมมติให ้เราต ้องการหาค่า x ทีท
่ าให ้ฟั งก์ชน
y  x  2e  x  3
ั fzero
มีคา่ เป็ นศูนย์ โดยใชฟั้ งก์ชน
ั fzero หาจุดทีท
ั
ดังนัน
้ เราอาจให ้ฟั งก์ชน
่ าให ้ฟั งก์ชน
ดังกล่าวเป็ นศูนย์ โดยให ้ค่าเริม
่ ต ้นของการค ้นหา x0
เป็ น -0.5 ได ้ดังนี้
x = fzero(‘x + 2*exp(-x) – 3’, -0.5)
ซงึ่ จะได ้คาตอบเป็ น x = -0.5831
้
ั fzero
ตัวอย่างการใชงานฟั
งก์ชน
ั ทีเ่ ราต ้องการหาค่าศูนย์มค
ในกรณีทฟ
ี่ ั งก์ชน
ี วาม
ั ซอนมากขึ
้
ั เป็ นอินพุต ของ
ซบ
น
้ การพิมพ์ฟังก์ชน
ั fzero อาจไม่เหมาะสม เรามักใชการ
้
ฟั งก์ชน
ั เป็ นไฟล์แยกต่างแทน ดังนี้
กาหนดฟั งก์ชน
function y = f1(x)
y = x + 2*exp(-x) – 3;
ื่ ฟั งก์ชน
ั ทีส
แล ้วใชช้ อ
่ ร ้างขึน
้ เป็ นอินพุตของ
ั fzero
ฟั งก์ชน
x = fzero(‘f1’, -0.5)
่ เดียวกันกับตัวอย่างในหน ้าที่
ซงึ่ จะได ้คาตอบเชน
ั fzero
ข ้อพึงระวังของการใชฟั้ งก์ชน
ั fzero ทีพ
ปั ญหาหนึง่ ในการใชฟั้ งก์ชน
่ บบ่อย ๆ คือ
การกาหนดจุดเริม
่ ต ้น x0 ของการหาค่าศูนย์ของ
ั ดังนัน
้
ฟั งก์ชน
้ เราจึงควรจะใชการวาดกราฟเข
้า
ชว่ ยในการกาหนดจุดเริม
่ ต ้น โดยพิจารณาจาก
ั จะเห็นได ้ว่ามีจด
กราฟของฟั งก์ชน
ุ ตัดศูนย์อยู่ 2
จุด ดังนัน
้ หากต ้องการหาจุดตัดศูนย์
ณ บริเวณ x = 3 ให ้ใช ้
2.5
2
1.5
1
0.5
x = fzero(‘f1’, 3)
0
-0.5
-1
ซงึ่ จะได ้คาตอบเป็ น x = 2.8887
-1.5
-1
0
1
2
3
4
5
ั ชว่ ยคานวณของ
การใชฟั้ งก์ชน
MATLAB หาจุดตัดกราฟ

ั fzero ชว่ ยในการวิเคราะห์หา
ในการทีจ
่ ะใชฟั้ งก์ชน
คาตอบของวงจรไฟฟ้ าทีก
่ าหนดให ้มา เรา
จาเป็ นต ้องจัดการรวมสมการทัง้ สองให ้เป็ นสมการ
ตัวแปรเดี
ย
ว
ดั
ง
นี
้
0.12v


i1  0.16 e 2  1
1
v1
1
15
i1   v2    v2 
R1
R1
30
30

0  0.16e
0.12v2
1
 v2  0.66
30
ั ตัวแปรเดียวทางด ้าน
ดังนัน
้ เราจึงสร ้างฟั งก์ชน
ั ทีใ่ ชใน
้ fzero โดยอาจ
ขวามือ สาหรับเป็ นฟั งก์ชน
ให ้จุดเริม
่ ต ้น x0 เท่ากับศูนย์ เพือ
่ หาคาตอบค่า
แรงดัน v2 และคานวณค่ากระแส i1 ของโหลดต่อไป
ได ้
แบบฝึ กหัด
จากคาอธิบายดังกล่าว จงสร ้าง MATLAB script
เพือ
่ หาคาตอบของค่ากระแส และแรงดันทีโ่ หลด
ต ้องใชด้ ้วย
 การวิเคราะห์ด ้วยกราฟ โดยให ้แสดงคาตอบ
โดยประมาณจากการอ่านค่าจุดตัดของกราฟทัง้
สอง
ั ชว่ ยคานวณ โดยให ้
 การวิเคราะห์ด ้วยฟั งก์ชน
ั ชว่ ย
แสดงคาตอบจากการคานวณดัวยฟั งก์ชน
คานวณ เปรียบเทียบกับการวิเคราะห์ด ้วยกราฟ
ENE 206 MATLAB Laboratory
Lab 2: การใช ้ MATLAB สาหรับการสร ้าง
แบบจาลองเพือ
่ วิเคราะห์
การใช ้ MATLAB สาหรับการสร ้าง
แบบจาลองเพือ
่ วิเคราะห์