在電子模擬中,組件值始終被認為是固定的。有時設計人員希望更改這些值以嘗試和測試不同的電路行為。其他時候,有必要考慮相同的值可能會發生變化的事實,因為并非每個電子元件都是理想的。市場提供了許多相同電子元件的示例,但在給定公差內具有不同的值。讓我們看看如何使用蒙特卡羅分析來模擬這些值的變化。
蒙特卡羅分析
此過程執行大量模擬,其中每個組件的值連續隨機變化。
讓我們從一個非常簡單的例子開始
圖 1中的圖表顯示了一個典型的 RC 電路,其中電容器充電的時間取決于時間常數。準確地說,RC秒后電壓達到電源電壓的63%左右。在這種情況下,電容器兩端的電壓恰好在 1000 * 100E-6 秒后為 6.32 V。
在這個示例方案中我們假設所有組件的值都是理想的,即:
電源電壓V1為10V;電阻R1為1000歐姆;電容器 C1 的容量為 100 微法拉。
由于所有組件都有理想值,因此即使生成的圖形也是理想的,并且沒有考慮可能的異?;蜃兓?。市場提供公差為 1%、5%、10% 等的電阻器。甚至電容器也可能具有偏離極板數據的特性,容差約為 20% 或更多。由于各種原因,電池可能會經歷電壓降低或升高。由于所有這些原因,設計人員需要獲得一個“更真實”的圖表,該圖表考慮到所用組件價值的實際變化,使仿真行為更接近真實系統的行為。這就是為什么我們真的希望組件的價值不是理想的而是真實的,具有以下公差:
電池 V1:10 V,容差為 2%;電阻器 R1:1000 歐姆,容差為 10%;電容器 C1:100 微法,容差為 25%。
這意味著,實際上,所使用的電子元件可以采用以下值范圍:
電池 V1:電壓在 9.8 V 和 10.2 之間;電阻R1:阻值在900 Ohm和1100 Ohm之間;電容器 C1:容量在 75 微法和 125 微法之間。
這些變化顯然是同時發生的。組合的可能值在理論上是無限的,但設計人員需要在公差提供的自然范圍內觀察具有盡可能多變化的電容器電荷圖。功能:
mc(值,公差)
隨機生成 x * (1 + y) 和 x * (1-y) 之間的隨機值,在公差范圍內指定,分布均勻。LTspice 接線圖中包含的指南如下:
.param 電壓 = mc (10.2 / 100)
.param 阻力 = mc (1000,10 / 100)
.param 電容 = mc (100u, 25/100)
.step 參數 模擬 1 100 1
.meas TRAN V_Batt PARAM 電壓
.meas TRAN R_Res PARAM 電阻
.meas TRAN C_Cap PARAM 電容
.meas TRAN RC PARAM 電阻 * 電容
方案仿真(如圖2所示) 執行一百次。它為每個組件生成一百個不同的值。建議仔細觀??察圖表,組件的值和指令,以深入了解程序并能夠繼續閱讀文章。正如您這次看到的那樣,該圖包括幾條曲線,對應于電容器上不斷增加的電壓,具有一百個不同的元件值。執行的模擬越多,最終曲線就越真實,請記住,模擬時間與執行的步驟數成正比。有時,如果電路極其復雜且由許多組件組成,則模擬器需要很長時間來執行數學計算。
在下表中,您將找到程序生成的百電壓、電阻和容量的一些值。顯然,這些是軟件生成的隨機值,因此,對于進一步的模擬,它們總是不同的。
以下結果顯示了隨機生成量的最小值和最大值,參考了一百次模擬:
電池V1產生的最小蒙特卡羅電壓:9.80065 V產生的最大蒙特卡羅電壓:10.1999 V電阻R1最小蒙特卡洛歐姆值:901.75 Ohm最大蒙特卡洛歐姆值:1099.36 Ohm電容器C1最小蒙特卡洛容量:75.0626 uF最大蒙特卡洛容量:124,759 uF時間常數 RC最小“t”:0.069559 秒最大“t”:0.13325 秒
在圖 3中,我們可以看到電容器電壓圖中發生的情況,恰好在 0.069559 秒和 0.13325 秒之間的時間間隔內,執行了 100 次蒙特卡羅模擬。組件在不同環境中的變化使我們了解它們如何影響和修改電子電路的行為及其時序。
使用 SiC 進行蒙特卡羅模擬
在 DC/DC 轉換器中,最重要的功率損耗是由 ON 和 OFF 開關轉換引起的。損耗與開關頻率和寄生電容值成正比。用于開關的SiC MOSFET至關重要,尤其是 Rds (ON) 參數和開關速度。圖 4所示的升壓轉換器由以下組件組成:
一個 13 V 發電機 V1,可以是電池或光伏板;一個 2 mH 電感器;UF3C065080T3S 碳化硅 MOSFET;功率肖特基二極管;50 歐姆負載。
該升壓轉換器以 f = 10 kHz 的開關頻率工作。
這些組件不是真實的,因此我們可以很容易地承認以下公差:
V1:+/- 20%C1:+/- 25%L1:+/- 15%C2:+/- 25%R1:+/- 5%溫度:+/- 30%
圖中要包含的 SPICE 指令和命令如下:
.param 電壓 = mc (13.20 / 100)
.param Cap1 = mc (10u, 25/100)
.param 電感 = mc (2m, 15/100)
.param Cap2 = mc (100u, 25/100)
.param 負載 = mc (50.5 / 100)
.param T = mc (27.30 / 100)
.temp {T}
.step 參數 模擬 1 10 1
.meas TRAN V_Batt PARAM 電壓
.meas TRAN Capacitor1 PARAM Cap1
.meas TRAN 電感 PARAM Induct
.meas TRAN Capacitor2 PARAM Cap2
.meas TRAN 電阻 PARAM 負載
.meas TRAN 溫度參數 T
對于一個簡短但全面的模擬,我們僅提供了十個在各自容差范圍內的隨機值。請記住,模擬次數越多,最終結果就越好。在圖 5中我們可以看到十種不同運行條件的模擬,持續了大約 15 分鐘,并在 1.3 Gb 的硬盤上生成了一個臨時文件。下表顯示了蒙特卡洛方法生成的組件的值,在任何情況下都在聲明的公差范圍內。
圖 5:升壓轉換器行為的蒙特卡羅模擬,顯示負載上的電壓取決于電子元件的不同值
結論
通過適當的操作,還可以隨機改變其他參數,例如 Sic MOSFET 的 Rds (ON)、工作頻率等。計算機電子模擬通常是完美且無錯誤的,尤其是在指定唯一且準確的值時。使用蒙特卡羅方法,測試的真實因素增加了,因此電路的行為更接近真實的行為。使用這種方法,當電子元件的值處于允許的最小和最大極值時,可以觀察系統的行為。