ฉันมักจะได้ยินคนที่ใช้ Matlab สำหรับการวิเคราะห์วงจร แต่ฉันไม่เคยคิดจริง ๆ ว่ามันจะทำอย่างไร ฉันคิดว่ามันมีอะไรมากกว่านั้นแค่ตั้งค่าสมการด้วยมือแล้วแก้มันใน Matlab
ฉันกำลังมองหาจุดเริ่มต้นที่ดี
ฉันมักจะได้ยินคนที่ใช้ Matlab สำหรับการวิเคราะห์วงจร แต่ฉันไม่เคยคิดจริง ๆ ว่ามันจะทำอย่างไร ฉันคิดว่ามันมีอะไรมากกว่านั้นแค่ตั้งค่าสมการด้วยมือแล้วแก้มันใน Matlab
ฉันกำลังมองหาจุดเริ่มต้นที่ดี
คำตอบ:
คุณสามารถใช้กล่องเครื่องมือMatlab Simulink Simpowersystemเพื่อทำการวิเคราะห์วงจร มันมีส่วนประกอบ RLC, สวิทช์, เครื่องใช้ไฟฟ้า ฯลฯ คุณสามารถสร้างส่วนประกอบของคุณเองและแก้ไขพารามิเตอร์ใด ๆ ของส่วนประกอบห้องสมุด ในขณะที่คุณสามารถรวมวงจรของคุณเข้ากับ Simulink blocs ใด ๆ Simulink solver หรือฟังก์ชัน Matlab ใด ๆ เครื่องมือนี้มีประสิทธิภาพมาก ไม่จำเป็นต้องแก้สมการวงจรก่อนเพราะคุณทำงานในสภาพแวดล้อม Simulink เดิมทีมันใช้สำหรับระบบไฟฟ้า แต่ฉันคิดว่าคุณสามารถใช้กับวงจรอิเล็กทรอนิกส์ใด ๆ
ฉันใช้ MATLAB ในการวิเคราะห์วงจรค่อนข้างน้อย บางครั้งฉันชอบที่จะใช้เครื่องเทศบางครั้งฉันชอบเครื่องเทศขึ้นอยู่กับอารมณ์และความต้องการของฉัน
เหล่านี้เป็นขั้นตอนต่อไปนี้:
ส่วนที่ยากที่สุดที่ฉันพบคือการแปลง Laplace และหาสมการฟังก์ชันการถ่ายโอนของคุณ
มีตัวอย่างมากมายและหนังสือเกี่ยวกับการใช้ Laplace บนอินเทอร์เน็ต สั้น ๆ จุดมุ่งหมายที่นี่คือการได้รับสมการในรูปแบบของ
ในการทำเช่นนี้จะแปลงองค์ประกอบทั้งหมดที่คุณแฝงเป็นอิมพีแดนซ์ที่ซับซ้อน นั่นคือ
จากนั้นหาสมการสำหรับวงจรของคุณในรูปแบบของ Vout / Vin
สำหรับตัวกรองความถี่ต่ำอย่างง่ายในรูปแบบของ:
Vin -------R-------------- Vout
|
C
|
------------------------------
สิ่งนี้จะทำให้:
เขียนสมการข้างต้นในรูปของ num และ den สำหรับ MATLAB:
num = [C 0];
den = [C R];
จากนั้นติดตามการใช้งานฟังก์ชั่น matlab ที่คุณต้องการวิเคราะห์ฟังก์ชั่นการถ่ายโอน (ลาง), แผนภาพศูนย์ขั้วและอื่น ๆ
ด้านล่างนี้เป็นตัวอย่างของตัวกรองที่ฉันเพิ่งเล่นด้วยและพยายามปรับค่า:
R1 = 20e3;
C1 = 235e-9;
R2 = 2e3;
C2 = 22e-9;
num = [2*R2*C1 0];
den = [C1*R1*C2*R2*2 (2*C1*R1 + C2*2*R2) 2];
g = tf(num,den);
P = bodeoptions; % Set phase visiblity to off and frequency units to Hz in options
P.FreqUnits = 'Hz'; % Create plot with the options specified by P
bode(g,P);
%[num,den] = eqtflength(num,den); % Make lengths equal
%[z,p,k] = tf2zp(num,den) % Obtain zero-pole-gain form
ฉันใช้scipy (ชุดเครื่องมือตัวเลขสำหรับหลาม) เพื่อทำการวิเคราะห์วงจร และใช่ว่าโดยทั่วไปเกี่ยวข้องกับการแก้สมการวงจรด้วยมือก่อน สิ่งนี้มีประโยชน์ส่วนใหญ่เมื่อทำการวิเคราะห์การยอมรับและการวิเคราะห์ความไวในวงจร
มีหนังสือเกี่ยวกับหัวข้อ"การวิเคราะห์ความคลาดเคลื่อนของวงจรอิเล็กทรอนิกส์ที่ใช้ MATLAB"ซึ่งให้ตัวอย่างบางส่วนของวิธีการดำเนินการวิเคราะห์ทั่วไปในวงจรทั่วไปบางอย่าง มันไม่ใช่สิ่งทดแทนสำหรับ SPICE จริง ๆ แต่มีประโยชน์เมื่อพยายามออกแบบเพื่อให้ได้ผลผลิตที่ดีในทุกองค์ประกอบที่รับความคลาดเคลื่อนหรือเพื่อพิจารณาองค์ประกอบขององค์ประกอบในช่วงเวลาและอุณหภูมิ
สำหรับวงจร RLC อย่างง่ายพร้อมโทโพโลยีใด ๆ (อนุกรมและขนาน) เราสามารถใช้ "rlcdemo" เป็น gui ที่ดีสำหรับตัวกรองการวิเคราะห์ (LPF-HPF-BPF-BSF)
rlcdemo
Analyzing the Response of an RLC Circuit
This demo shows how to use the Control System Toolbox(TM) functions
to analyze the time and frequency responses of common RLC circuits
as a function of their physical parameters.
คุณสามารถใช้โปรแกรมที่สร้างขึ้นใน Matlab ที่เรียกว่า SCAM (การวิเคราะห์วงจรสัญลักษณ์ใน Matlab) และอยู่ที่นี่: https://www.swarthmore.edu/NatSci/echeeve1/Ref/mna/MNA6.html
นอกจาก SCAM ใน Matlab แล้วยังมีเครื่องมือวิเคราะห์วงจรสัญลักษณ์แบบออนไลน์ที่CircuitNAVซึ่งใช้ไฟล์ netlist (จาก LTspice, Micro-Cap, TINA-TI, PSpice และอื่น ๆ ) เป็นอินพุตและสร้างโซลูชันพีชคณิตสำหรับพารามิเตอร์แต่ละวงจร .
CircuitNAV นอกจากนี้ยังมีการสาธิตและการกวดวิชา
หนังสือ pdf ของตัวอย่าง Spice และ Matlab, http://www.elsevierdirect.com/companions/9780750659321/exercises/SpiceAndMatlab.pdfหนังสือคู่มือแนะนำการวิเคราะห์เชิงเส้นและการสร้างแบบจำลองโดย Moura & Darwazeh ดูดีมากสำหรับฉัน วัตถุประสงค์