五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

結(jié)合python與LTspice,讓電路模擬起飛

2023-03-31 11:59 作者:怯默吾聲  | 我要投稿

LTspice是一個(gè)由ADI開(kāi)發(fā)的電路模擬軟件,精致小巧,免費(fèi)使用,模擬方便,簡(jiǎn)直是我最?lèi)?ài)的軟件之一。但是做批量,計(jì)算等一些操作時(shí),就會(huì)顯得有點(diǎn)力不從心,畢竟他只是一款電路模擬軟件啊。

如果LTspice可以和編程語(yǔ)言結(jié)合,可以批量測(cè)試不同原件參數(shù)下,電路的表現(xiàn),或者方便的提取模擬結(jié)果,進(jìn)行進(jìn)一步處理,那簡(jiǎn)直是如虎添翼,直接起飛啦。

PyLTSpice就是這樣一款幫助我們?cè)趐ython中操作LTspice的python庫(kù)!

用一個(gè)小實(shí)驗(yàn)來(lái)試試吧,咱們用它來(lái)測(cè)量一下二極管的伏安特性曲線(xiàn)。

下載安裝LTspice就不在這里說(shuō)啦,首先打開(kāi)LTspice繪制一個(gè)測(cè)量二極管伏安特性曲線(xiàn)的電路:

測(cè)量伏安特性曲線(xiàn)的電路

這里,我暫時(shí)沒(méi)有設(shè)置任何參數(shù),當(dāng)然,如果在你自己的電路中,確定某些參數(shù)是固定的,直接在電路圖中設(shè)定也是可以的。

為了測(cè)量二極管在不同電壓下的表現(xiàn),這里的電源V1的電壓,我希望可以從0V掃描到3.7V.

LTspice直接就可以完成這樣的電壓掃描

選擇Edit Simulation Cmd
在DC sweep中直接完成設(shè)置

文件中出現(xiàn).dc V1 0 3.7 0.01 表示設(shè)置完成

以上都是可以直接在LTspice中實(shí)現(xiàn)的功能。

而電路中的電阻R1我希望可以在程序中再設(shè)置具體值,那也沒(méi)關(guān)系我直接把電阻值設(shè)置為一個(gè)變量就可以了。方法就是給阻值起個(gè)名字,然后放在{ }中。

在LTspice中設(shè)置變量

保存后,給文件起個(gè)名字test.asc,LTspice部分打完收工。

接下來(lái)編寫(xiě)一個(gè)程序來(lái)操作電路和讀取運(yùn)行結(jié)果。

為了使用python實(shí)現(xiàn)這一點(diǎn),首先需要安裝PyLTSpice,

pip install pyltspice

直接安裝完成,開(kāi)始寫(xiě)程序

from matplotlib import pyplot as plt
from PyLTSpice import SimCommander
from PyLTSpice import RawRead ? #導(dǎo)入需要的庫(kù)

Rsh=10

#設(shè)置需要模擬的文件,和ltspice模擬器的路徑
LTC = SimCommander(".\\test.asc",simulator="D:\LTspice\LTspice.exe")

#設(shè)置文件中確定的參數(shù)
LTC.set_parameters(Rsh_value = Rsh)

LTC.run() ?#運(yùn)行
LTC.wait_completion() #等待模擬結(jié)束
LTC.reset_netlist() ?#重置電路。尤其是需要多次模擬運(yùn)行時(shí),必須有這句來(lái)方便后續(xù)模擬

######################電路模擬運(yùn)行后結(jié)果都保存在raw文件中,下面來(lái)讀取運(yùn)行結(jié)果
# 讀取raw文件
raw_file = ".\\test_1.raw"
LTR = RawRead(raw_file)
#讀取raw文件中的數(shù)據(jù)
Vin = LTR.get_trace('V(n001)')
IR1 = LTR.get_trace("I(R1)")
voltage = Vin.get_wave(0)
current=IR1.get_wave(0) ?#獲得運(yùn)行軌跡,如電源的電壓變化,R1的電流變化
#可以讀取的項(xiàng)目在軟件的pick visible Traces中可以看到

#######################使用簡(jiǎn)單歐姆定律計(jì)算二極管上的分壓
Vr = current*Rsh
Vd = voltage-Vr

################使用matplotlib打印二極管伏安特性
plt.plot(Vd,current)
plt.ylabel('Currrent (A)')
plt.xlabel('Voltage (V)')
#plt.yscale('log')
plt.grid() #顯示坐標(biāo)網(wǎng)格
plt.show()

語(yǔ)句的含義都在注釋中,整體來(lái)說(shuō),就是調(diào)用函數(shù)把電路運(yùn)行一遍,運(yùn)行之前也可以調(diào)用函數(shù)給電路中的變量賦值。運(yùn)行的結(jié)果會(huì)被自動(dòng)保存在raw文件中。然后讀取raw獲得自己需要的數(shù)據(jù),最后處理數(shù)據(jù)并繪圖。

這里是運(yùn)行結(jié)果。

二極管伏安特性曲線(xiàn)

怎么樣,是不是很nice。不妨也試試?yán)L制三極管的伏安特性曲線(xiàn)?

現(xiàn)在你甚至可以利用程序自動(dòng)進(jìn)行電路參數(shù)調(diào)優(yōu)。發(fā)揮你的想象力,現(xiàn)在又多出了無(wú)限可能。

結(jié)合python與LTspice,讓電路模擬起飛的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
砀山县| 达日县| 伊川县| 高密市| 揭东县| 宁乡县| 阿尔山市| 从化市| 玛曲县| 连城县| 安丘市| 鄄城县| 分宜县| 合肥市| 建始县| 延长县| 台北市| 余庆县| 遂昌县| 平顶山市| 临夏县| 常山县| 遂川县| 富平县| 涿鹿县| 望江县| 纳雍县| 太湖县| 蓬莱市| 柳州市| 莱阳市| 贡嘎县| 德格县| 蓬溪县| 重庆市| 常熟市| 南靖县| 丰原市| 上思县| 治县。| 无锡市|