3、狀態(tài)機(jī)建模工具使用示例
3.1. 使用狀態(tài)機(jī)建立電阻模型
第一步****添加電阻端口
假設(shè)電阻阻值為r_normal,首先打開狀態(tài)機(jī)建模工具,添加電阻端口,電阻端口包含貫通變量電流和跨接變量電壓,使用分支型端口。
第二步****添加變量
添加電阻阻值r_normal為外部靜態(tài)變量
添加電流變量ipn
添加電壓變量vpn
第三步****添加狀態(tài)圖
電阻在整過過程中沒有狀態(tài)變化,雙擊變量vpn,設(shè)置如下
設(shè)置完成后,保存模型,搭建一個(gè)簡(jiǎn)單的電路測(cè)試電阻模型是否正確。
3.2. 使用狀態(tài)機(jī)創(chuàng)建可變電阻
可變電阻的電阻值由外部管腳r_var控制。
首先建立symbol端子如下,設(shè)置p和n為electrical量
其中r_var是可變電阻的控制端。變量類型為
添加電阻的電壓變量vpn(依次點(diǎn)擊左側(cè)across圖標(biāo)、p端口、n端口)和電流變量ipn(依次點(diǎn)擊左側(cè)through圖標(biāo)、p端口、n端口)
保存模型,搭建簡(jiǎn)單電路進(jìn)行驗(yàn)證。
3.3. 創(chuàng)建基于公式的模型
如下公式是壓控電機(jī)中的一部分算法,三相正弦交流電壓幅值由控制電壓U_control,增益gain。偏置U_offset控制。頻率由f控制。
U_amp=U_control*gain+U_offset
U_a=U_ampsin(2pift)
U_b=U_ampsin(2pift+ 2*pi/3)
U_c=U_ampsin(2pift -2*pi/3)
建模時(shí)分兩個(gè)狀態(tài)機(jī)進(jìn)行創(chuàng)建,vfconst和uf2abc。vfconst實(shí)現(xiàn)第一個(gè)公式,uf2abc實(shí)現(xiàn)后三個(gè)公式。
3.3.1. vfconst
建立symbol端子如下圖,u_offset和f是輸入,uout和fout是輸出,單位都是 nunit。
創(chuàng)建模型靜態(tài)變量gain
建立兩個(gè)狀態(tài)圖S1和S2,狀態(tài)關(guān)系為如果頻率小于等于0時(shí),進(jìn)入state2,如果頻率大于0時(shí)進(jìn)入state1。、
鼠標(biāo)雙擊state1和state2設(shè)置兩個(gè)輸出變量的公式,保存模型。
3.3.2. uf2abc建模
建立輸入輸出管腳,輸入管腳u,f,輸出管腳 ua,ub,uc。單位都是no unit。
創(chuàng)建兩個(gè)ststic 變量,pi和samolerate,pi即3.141593,samplerate用來(lái)控制模型的最大采樣間隔時(shí)間。創(chuàng)建一個(gè)state變量,配合下文的clk模塊正常運(yùn)行。
建立兩個(gè)狀態(tài)圖S1和S2,狀態(tài)關(guān)系為如果頻率小于等于0時(shí),進(jìn)入state2,如果頻率大于0時(shí)進(jìn)入state1。
鼠標(biāo)雙擊state1和state2設(shè)置兩個(gè)輸出變量的公式
添加一個(gè)時(shí)鐘源clk1,時(shí)鐘源的周期為samplerate,每個(gè)周期內(nèi)做的事為給intst變量賦值為1,這樣處理的意義是:保證saber仿真器在計(jì)算ua,ub,uc的值在一個(gè)1/f周期內(nèi)有足夠的采樣點(diǎn)。因?yàn)?a target="_blank">仿真器的步長(zhǎng)會(huì)變,如果f變大的話,可能導(dǎo)致一個(gè)1/f周期內(nèi)采樣點(diǎn)不夠,導(dǎo)致波形失真。samplerate可以依據(jù)1/20*fmax來(lái)考慮。
模型創(chuàng)建好后可以搭建一個(gè)簡(jiǎn)單電路進(jìn)行驗(yàn)證。
3.4. 創(chuàng)建IGBT信號(hào)驅(qū)動(dòng)模型
IGBT驅(qū)動(dòng)器模型可將邏輯數(shù)字信號(hào)轉(zhuǎn)換為電壓信號(hào)輸出以驅(qū)動(dòng)IGBT模型工作。
輸入為數(shù)字邏輯信號(hào)digital_in,輸出是模型信號(hào)analog_out,參考ref,高電平輸出電壓為vgon,低電平輸出電壓為vgoff,電平切換時(shí)間transition_time。
創(chuàng)建模型端口,digital_in輸入,邏輯信號(hào)。analog_out和ref輸出,電信號(hào)。
創(chuàng)建全局變量vgon,vgoff和transition_time
設(shè)置analog_out的電壓輸出變量vg。
創(chuàng)建兩個(gè)state,分別命名為up和down。up狀態(tài)下設(shè)置vg=vgon,down狀態(tài)下設(shè)置vg=vgoff。digital_in=0時(shí)切換到down模式,等于1時(shí),切換到up。
使用event_on函數(shù)判斷digital_in的狀態(tài)變化,使用digital_in == '0'或digital_in == '1‘判斷邏輯電平是高還是低。
mast語(yǔ)言中,高電平使用’1’表示,低電平使用’0’表示。
狀態(tài)切換時(shí)間設(shè)置為transition_time
設(shè)置完成后保存模型,建立驗(yàn)證電路測(cè)試模型。
-
可變電阻
+關(guān)注
關(guān)注
0文章
47瀏覽量
15956 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
493瀏覽量
28094 -
交流電壓
+關(guān)注
關(guān)注
2文章
189瀏覽量
17290 -
控制電壓
+關(guān)注
關(guān)注
0文章
36瀏覽量
16291 -
CLK
+關(guān)注
關(guān)注
0文章
127瀏覽量
17545
發(fā)布評(píng)論請(qǐng)先 登錄
SaberRD狀態(tài)機(jī)建模工具介紹(一)什么是狀態(tài)機(jī)建模

狀態(tài)機(jī)舉例
狀態(tài)機(jī)代碼生成工具
有限狀態(tài)機(jī)的建模與優(yōu)化設(shè)計(jì)
用狀態(tài)機(jī)原理進(jìn)行軟件設(shè)計(jì)
FPGA:狀態(tài)機(jī)簡(jiǎn)述

如何構(gòu)建基于狀態(tài)機(jī)的軟件系統(tǒng)
狀態(tài)機(jī)自動(dòng)生成工具FSME

自動(dòng)生成程序狀態(tài)機(jī)代碼狀態(tài)機(jī)建模方法

如何生成狀態(tài)機(jī)框架

什么是狀態(tài)機(jī)?狀態(tài)機(jī)的種類與實(shí)現(xiàn)
什么是有限狀態(tài)機(jī)?如何解決傳統(tǒng)有限狀態(tài)機(jī)「狀態(tài)爆炸」問題?

評(píng)論