Matlab kullanarak devre analizi nasıl yapılır?


14

Devre analizi için Matlab'ı kullanan insanları sık sık duyuyorum, ama aslında nasıl yapıldığını asla anlayamadım. Diyelim ki, sadece denklemleri elle kurmak ve Matlab'da çözmekten başka bir şey daha var.

İyi bir başlangıç ​​noktası arıyorum.


Matlab'ı ayrı RLC bileşenlerini veya daha fazlasını sistem simülasyonu çizgileri boyunca simüle etmek için bir "SPICE değiştirme" olarak kullanmayı mı soruyorsunuz?
W5VO

@ W5VO Her ikisi de, ancak SPICE'a daha fazla odaklanıyor. Sistem simülasyonunun Simulink ile yapılabileceğini ve çok zor olmadığını biliyorum.
AndrejaKo

5
Devreleri çözmek sadece doğrusal olmayan diferansiyel denklemleri çözmektir, bu nedenle Matlab'da mümkündür. OTOH I SPICE gerçekten doğrusal olmayan bir diferansiyel denklem çözücüden başka bir şey olmadığı için Matlab'ı sadece gerçekten garip veya özel bir sorunum olsaydı kullanırım.
jpc

Yanıtlar:


6

Devre analizi yapmak için Matlab Simulink Simpowersystem araç kutusunu kullanabilirsiniz. RLC bileşenleri, anahtarlar, elektrikli makineler vb. İçerir. Kendi bileşeninizi oluşturabilir ve kütüphane bileşenlerinin herhangi bir parametresini değiştirebilirsiniz. Devrelerinizi herhangi bir Simulink bloğu, herhangi bir Simulink çözücü veya herhangi bir Matlab fonksiyonu ile birleştirebileceğiniz için, bu araç çok güçlüdür. Simulink ortamında çalıştığınız için öncelikle devre denklemlerini çözmenize gerek yoktur. Başlangıçta güç sistemleri için tasarlanmıştır, ancak herhangi bir elektronik devre için kullanabileceğinizi düşünüyorum.


3
Cevaplarımız belki biraz geç geliyor, ancak Simpowersystem'den daha spesifik olan SimElectronics de var (ancak pahalı bir araç kutusu lisansı sorunuyla paylaşın)
Clement J.

Mesele şu ki, Simulink tüm araç kutuları oldukça hantal eklenmiş olsa bile bulundu. Sadece bir RLC devresi simüle etmek için ne gerekiyor bak . SPICE ile olduğundan çok daha karmaşık. Sadece SPICE'de makul bir şekilde yapılamayan denetleyici ile ilgili davranışsal kod bloklarına sahip olduğunuz çok özel durumlarda IMO'ya değer.
Fizz

Ayrıca, sadece sembolik bir transfer fonksiyonu almak için qsapecng ücretsizdir ve sadece devreyi çizip bir düğmeyi tıklarsınız ve bitti.
Fizz

14

Devre analizi için MATLAB'ı biraz kullanıyorum. Bazen baharat yapmayı tercih ederim, diğer zamanlarda baharat tercih ederim, ruh halime ve gereksinimlerime bağlı.

Bunlar aşağıdaki adımlardır:

  • 1: Devrenin Laplace dönüşümünü alın
  • 2: transfer fonksiyonunu elde edin
  • 3: MATLAB fonksiyonlarını kullanarak çizim / analiz. Bode, dürtü, freqresp vb.

Bulduğum en zor kısım Laplace dönüşümünü almak ve transfer fonksiyonu denklemini elde etmektir.

İnternette Laplace almak için birçok örnek ve ders kitabı var. Kısaca buradaki amaç denklemi

'H(s)=birs2+bs+cds2+es+f

bircdf

Bunu yapmak için tüm pasif unsurlarınızı karmaşık empedanslara dönüştürün. Bu

  • C = 1 / sC
  • R = R
  • L = sL

Daha sonra devreniz için Vout / Vin şeklinde bir denklem elde edin.

Şu şekilde basit bir düşük geçiş filtresi için:

Vin -------R-------------- Vout
               |
               C
               |
------------------------------

bu şöyle olur:

VÖutVbenn=sCR,+sC

Yukarıdaki denklemi MATLAB için num ve den şeklinde yazın:

num = [C 0];
den = [C R];

Daha sonra transfer fonksiyonunu (bode), kutup sıfır diyagramını vb. Analiz etmek istediğiniz matlab fonksiyonunu kullanarak devam edin.

Aşağıda son zamanlarda oynadığım ve değerleri ayarlamaya çalıştığım bir filtre örneği:

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

Her adımın güzel bir açıklaması olan bir örnek alma şansınız var mı?
AndrejaKo

Tabii ki - haftasonu boyunca sizin için bir örnek sunmaya çalışacağım!
smashtastic

Bu kesinlikle doğru, ama tamamen anlamsız. Beni yargılamayın, Laplace ve Z dönüşümlerini seviyorum ... :) Sadece bir transistör ve op-amp amplifikatörü simüle etmek için bu yaklaşımı kullanmaya çalışın ... :)
Brethlosze

Düşük geçiş filtresi için transfer fonksiyonunu yazarken hata yaptığınızı düşünüyorum. Sanırım Vout / Vin = (1 / sC) / (R + (1 / sC))
Scott Lawson

6

Bir süre devre analizi yapmak için scipy (python için sayısal bir araç seti) kullanıyorum. Ve evet, bu genellikle devre denklemlerini önce elle çözmeyi içerir. Devre üzerinde tolerans analizi ve duyarlılık analizi yaparken bu genellikle yararlıdır.

"MATLAB Kullanan Elektronik Devrelerin Tolerans Analizi" konulu bazı ortak devreler üzerinde tipik analizin nasıl yapılacağına dair bazı örnekler veren bir kitap vardır . SPICE gibi bir şeyin yerine geçmez, ancak tüm bileşen toleransları üzerinde iyi üretim verimi için tasarım yapmaya veya zaman ve sıcaklıkta bileşen kaymasını hesaba katmaya çalışırken yararlıdır.


3
SciPy, Matlab'ın aksine ücretsizdir ve aynı şeyleri yapar. scipy.org/NumPy_for_Matlab_Users Bence çok güzel, kendim.
endolith

Bazı SPICE'lara Monte Carlo simülasyonu ve hassasiyet analizi de eklendi. Özellikle SIMetrix, süresi dolmayan demo / intro sürümünde bile ücretsizdir, ancak ikinci işlev ücretsiz değildir. Hem Intersil (iSim: PE) hem de Analog Cihazlar (ADIsimPE) artık SIMetrix'i şirket SPICE olarak gönderiyor, ancak temel olarak ekstra çip kütüphaneleriyle giriş versiyonudur.
Fizz

Ayrıca bu ders kitabı MATLAB'ı MAT H LAB olarak yanlış yazılmış ... oldukça eğlenceli ve çok güven vermiyor.
Fizz

1

herhangi bir topolojiye sahip basit RLC devresi için (seri ve paralel) "rlcdemo" kullanabiliriz. Analiz filtreleri için iyi bir 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.



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.