Jak przeprowadzić analizę obwodu za pomocą Matlaba?

14

Często słyszę o ludziach korzystających z Matlaba do analizy obwodów, ale tak naprawdę nigdy nie odkryłem, jak to się robi. Zakładam, że jest w tym coś więcej niż ręczne tworzenie równań i rozwiązywanie ich w Matlabie.

Szukam dobrego punktu wyjścia.

AndrejaKo
źródło
Czy pytasz o użycie Matlaba jako „zamiennika SPICE” w celu symulacji dyskretnych komponentów RLC lub więcej w oparciu o symulację systemu?
W5VO,
@ W5VO Oba, ale bardziej skupione na SPICE. Wiem, że symulacji systemu można dokonać za pomocą Simulink i że nie jest to zbyt trudne.
AndrejaKo
5
Rozwiązywanie obwodów polega tylko na rozwiązywaniu nieliniowych równań różniczkowych, więc jest to możliwe w Matlabie. OTOH, ponieważ SPICE jest tak naprawdę niczym więcej niż nieliniowym rozwiązaniem równań różniczkowych, wtedy użyłbym Matlaba tylko, gdybym miał naprawdę dziwny lub specjalny problem.
JPC

Odpowiedzi:

6

Do analizy obwodów można użyć zestawu narzędzi Matlab Simulink Simpowersystem . Obejmuje komponenty RLC, przełączniki, maszyny elektryczne itp. Możesz utworzyć własny komponent i zmodyfikować dowolne parametry komponentów biblioteki. Ponieważ możesz łączyć swoje obwody z dowolnymi blokami Simulink, dowolnym solwerem Simulink lub dowolną funkcją Matlab, to narzędzie jest bardzo potężne. Najpierw nie musisz rozwiązywać równań obwodów, ponieważ pracujesz w środowisku Simulink. Pierwotnie jest zorientowany na systemy zasilania, ale myślę, że można go użyć do dowolnego obwodu elektronicznego.

ths1104
źródło
3
Nasze odpowiedzi mogą być nieco spóźnione, ale jest też SimElectronics, która jest bardziej szczegółowa niż Simpowersystem (ale ma problem z kosztowną licencją na zestaw narzędzi)
Clement J.,
Chodzi o to, że znalazłem Simulink, nawet z dodanymi wszystkimi zestawami narzędzi, raczej niewygodnymi. Wystarczy spojrzeć na to, czego potrzeba, aby uzyskać symulację obwodu RLC . O wiele bardziej skomplikowane niż w SPICE. Warto tylko IMO w bardzo szczególnych przypadkach, gdy masz bloki kodu behawioralnego związane z kontrolerem, których nie można wykonać w SPICE w żaden rozsądny sposób.
Fizz,
Ponadto, aby uzyskać tylko symboliczną funkcję transferu, qsapecng jest bezpłatny, wystarczy narysować obwód i kliknąć jeden przycisk i gotowe.
Fizz,
14

Często używam MATLABA do analizy obwodów. Czasami wolę przyprawy, innym razem przyprawy zależą od mojego nastroju i wymagań.

Oto następujące kroki:

  • 1: weź transformatę Laplace'a w obwodzie
  • 2: uzyskaj funkcję przesyłania
  • 3: wykreśl / analizuj za pomocą funkcji MATLAB. wróży, impuls, częstotliwość i tak dalej.

Najtrudniejsze, co znalazłem, to wziąć transformatę Laplace'a i wyprowadzić równanie funkcji przenoszenia.

Istnieje wiele przykładów i podręczników dotyczących korzystania z Laplace'a w Internecie. Krótko mówiąc, celem jest uzyskanie równania w postaci

H(s)=as2+bs+cds2+es+f

gdzie do c jest licznikiem id od f do mianownika w przykładzie przedstawionym poniżej.acdf

Aby to zrobić, zamień wszystkie elementy pasywne na złożone impedancje. To jest

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

Następnie wyprowadź równanie dla swojego obwodu w postaci Vout / Vin.

Dla prostego filtra dolnoprzepustowego w postaci:

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

to dałoby:

V.outV.jan=sdoR+sdo

Napisz powyższe równanie w postaci num i den dla MATLAB:

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

Następnie skorzystaj z dowolnej funkcji matlab, którą chcesz przeanalizować funkcję przenoszenia (bode), schemat bieguna zerowego itd.

Poniżej znajduje się przykład filtra, z którym ostatnio bawiłem się i próbowałem dostroić wartości:

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
smashtastic
źródło
Czy jest jakaś szansa na przykład z dobrym wyjaśnieniem każdego kroku?
AndrejaKo,
oczywiście - postaram się przedstawić wam przykład w weekend!
smashtastic
Jest to całkowicie poprawne, ale całkowicie bezcelowe. Nie oceniaj mnie, uwielbiam transformaty Laplace'a i Z ...:) .... Po prostu spróbuj zastosować to podejście do symulacji tranzystora i wzmacniaczy
operacyjnych
Myślę, że popełniłeś błąd podczas pisania funkcji przesyłania dla filtra dolnoprzepustowego. Myślę, że miałeś na myśli Vout / Vin = (1 / sC) / (R + (1 / sC))
Scott Lawson
6

Jakiś czas używam Scipy (numeryczny zestaw narzędzi dla Pythona) do analizy obwodu. I tak, zwykle wiąże się to z ręcznym rozwiązywaniem równań obwodów. Jest to szczególnie pomocne podczas przeprowadzania analizy tolerancji i analizy czułości w obwodzie.

Istnieje książka na temat „Analiza tolerancji obwodów elektronicznych za pomocą MATLAB”, która zawiera kilka przykładów przeprowadzania typowej analizy w niektórych popularnych obwodach. Nie jest tak naprawdę zamiennikiem czegoś takiego jak SPICE, ale jest przydatny, gdy próbuje się uzyskać dobrą wydajność produkcyjną we wszystkich tolerancjach składników lub uwzględnić przesunięcie składników w czasie i temperaturze.

Clint Lawrence
źródło
3
SciPy jest darmowy, w przeciwieństwie do Matlaba, i robi wiele takich samych rzeczy. scipy.org/NumPy_for_Matlab_Users Sam uważam, że jest całkiem fajny .
endolith
Niektóre SPICE mają także symulację Monte Carlo i analizę wrażliwości. W szczególności SIMetrix ma tę pierwszą za darmo, nawet w nie wygasającej wersji demo / intro, ale ta druga funkcja nie jest darmowa. Zarówno Intersil (iSim: PE), jak i urządzenia analogowe (ADIsimPE) są teraz dostarczane jako SIMETrix jako firma SPICE, ale jest to w zasadzie wersja wstępna z dodatkowymi bibliotekami układów.
Fizz
Również ten podręcznik zawiera błędnie napisane MATLAB jako MAT H LAB ... całkiem zabawne i nie budzi zaufania.
Fizz,
1

dla prostego obwodu RLC o dowolnej topologii (szeregowej i równoległej) możemy użyć „rlcdemo”. To dobre GUI dla filtrów analizy (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.
Amir Alizadeh
źródło
0

Możesz użyć programu utworzonego w Matlabie o nazwie SCAM (analiza obwodu symbolicznego w Matlabie) i znajduje się tutaj: https://www.swarthmore.edu/NatSci/echeeve1/Ref/mna/MNA6.html

ARTURO CORONA NIEVA
źródło
Dlaczego? wystarczy użyć SimScape + SimElectronics, ponieważ może on używać modeli SPICE ...
JonRB
SimElectronics nie daje równań analitycznych, które są czasami bardzo przydatne
JLo
0

Oprócz SCAM w Matlab, istnieje również przydatne narzędzie do analizy obwodów symbolicznych online w CircuitNAV , które wykorzystuje pliki listy sieci (z LTspice, Micro-Cap, TINA-TI, PSpice itp.) Jako dane wejściowe i generuje rozwiązanie algebraiczne dla każdego parametru obwodu .

CircuitNAV zapewnia również wersję demonstracyjną i samouczek .

XJ
źródło