天天看點

電子電路仿真(Matlab代碼實作)

💥💥💥💞💞💞歡迎來到本部落格❤️❤️❤️💥💥💥

🏆部落客優勢:🌞🌞🌞部落格内容盡量做到思維缜密,邏輯清晰,為了友善讀者。

⛳️座右銘:行百裡者,半于九十。

目錄

​​💥1 概述​​

​​📚2 運作結果​​

​​🎉3 參考文獻​​

​​🌈4 Matlab代碼實作​​

💥1 概述

【電路仿真工具】 此工具模拟模拟電子電路。原理圖編輯器是互動式的。元件庫仍然很小,但包含基本元件。包括無源元件和一些半導體的元件模型。模型大多是代數模型。半導體模型經過參數化,是以如果知道适當的參數,例如Eber/Moll半導體方程,它們可以拟合到任何“真實世界”的元件。

該工具使用隐式微分方程來模拟電子電路。它可能不是最有效和最強大的方法,但它非常優雅。方程使用 ode15i 求解。是以,所有電子元件都使用隐式方程進行模組化。

   是以,以各種方式對任何類型的元件進行模組化都非常簡單。電容器、電感器、電阻器都可以用相同的方法f(U,dU/dt,I,dI/dt)=0進行模組化。此外,我們可以使用查找表對真實世界的元件進行模組化,然後我們将得到例如 f=I-g(U),其中 g 是元件的測量特征。制作自己的元件模型很容易。隻需檢視預定義的并建立一個具有相同結構的 mat-file。該工具隻是根據電路将所有元件方程與守恒方程一起設定,并使用ode15i求解它們。

📚2 運作結果

導入不同的電路圖,這裡僅以下面這個為例:

電子電路仿真(Matlab代碼實作)
電子電路仿真(Matlab代碼實作)
電子電路仿真(Matlab代碼實作)
電子電路仿真(Matlab代碼實作)
電子電路仿真(Matlab代碼實作)

實際用途

1.以互動方式放置元件、節點和電線。您可以通過上下文菜單編輯所有内容(右鍵單擊原理圖的任何部分)。

2. 計算一緻的初始條件。對于振蕩器,初始條件不完全對稱通常很重要。如果你從一個平衡開始,即使它是不穩定的,你也不會看到振蕩。如果求解器在開始時崩潰,則很可能是初始條件不一緻。

3. 模拟完成後,您可以繪制結果。您将獲得所有節點電壓和所有電流的圖,除了流入元件第一個端子的電流。通常你不需要看到它們,因為它們是多餘的(可以表示為流入元件的其他電流的負和)。此外,您可以通過右鍵單擊某個特定元件并選擇“繪制結果”來繪制該元件的電壓和電流。

請考慮以下約定

1.必須連接配接所有元件端子。

2. 電線連接配接元件端子和節點。

3.電線不能直接将元件端子互相連接配接。

4.電線不能将節點互相連接配接。

5. 節點 #1 始終用作接地參考。

6.不要建構具有電氣隔離部件的電路。

局限

這是一個用于模拟仿真的工具。它不太适合顯示瞬态行為的電路。它可能會起作用(如多諧振蕩器示例所示)。但瞬态行為并不是這種仿真方法的特别優勢。所有活動元件都必須受到帶寬限制,以避免求解器崩潰。是以,半導體需要一些阻尼。它可以低至 1e-6,但如果它是零,您将看到很多求解器警告。

function [hcomp,hnode,hwire]=plotschematic(a,x)
 % plots a schematicif nargin<2
     x=a;
     a=gca;
 enda.DataAspectRatio=[1 1 1];
 a.XAxis.Visible='off';
 a.YAxis.Visible='off';hcomp=gobjects(0);
 hnode=gobjects(0);
 hwire=gobjects(0);for i=1:numel(x.components)
     s=load(fullfile('lib',x.components(i).component));
     m=bsxfun(@plus,(x.components(i).transform*(s.geometry'))',x.components(i).position);
     hcomp(end+1)=line('XData',m(:,1),'YData',m(:,2),'Color','k','LineWidth',1,'UserData',i,'Parent',a);
     m(any(~isfinite(m),2),:)=[];
     k=convhull(m(:,1),m(:,2));
     hcomp(end+1)=patch('XData',m(k,1),'YData',m(k,2),'EdgeColor','none','FaceColor','none','Parent',a,'UserData',i,'PickableParts','all');      

🎉3 參考文獻

4 Matlab代碼實作

繼續閱讀