日韩在线不卡免费视频一区,日韩欧美精品一区二区三区经典,日产精品码2码三码四码区,人妻无码一区二区三区免费,日本feerbbwdh少妇丰满

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

基于FPGA正弦逆變器,可調(diào)頻、移相。

小弟今年大二結(jié)束,之前一直在學習單片機與FPGA,暑假無聊剛接觸逆變,有愚拙之處敬請指出。(之所以用FPGA而不用專業(yè)的SPWM驅(qū)動芯片是因為最終的項目要實現(xiàn)0.1°移相、0.01HZ調(diào)頻功能及其他擴展功能。(比如可能要用FPGA做光伏并網(wǎng)的相位、頻率跟蹤)這些是其它芯片所做不到的。)

這個基于FPGA的逆變器最終是要做成三相、六路的"三相工頻測試源",三路恒流、三路恒壓,(直接市電整流濾波供電)。且電壓、電流幅值、相位、頻率均可調(diào)。 目前先把單相的給大家展示一下、原理都一樣。(三相的也還沒完成呢,主要是H橋的驅(qū)動還是有點問題,想請大家?guī)拖孪旅Γ瑔栴}解決完畢后我將像老壽一樣公布   所有技術(shù)資料)

 

     上圖為FPGA輸出SPWM波形圖,為單極性調(diào)制。邏輯控制與延時是在FPGA內(nèi)部做的。輸出四路SPWM直接接上IR2110或TLP250,即可驅(qū)動后級H橋。

下圖為FPGA生成SPWM的結(jié)構(gòu)圖(單相的,是用那種四個管子都一半高頻、一半低頻的方式調(diào)制)。

原理跟純硬件的差不多,就是將正弦波、三角波的數(shù)據(jù)先生成好放到ROM中,用兩路驅(qū)動信號分別驅(qū)動兩個模塊,再把輸出數(shù)據(jù)進行比較就生成的SPWM了。三角波和正弦波的頻率、幅值都可以很好的控制。

   上圖只是說明一下FPGA產(chǎn)生SPWM的原理,調(diào)頻模塊直接用鎖相環(huán)替代。邏輯控制調(diào)用非門與或門,死區(qū)用程序?qū)懙模胍嗌僭O置多少。

空載波形:

 

帶載300W波形:(波形還不錯,就是散熱片有點小,發(fā)熱有點大,不敢再加了,且發(fā)熱不均。左上管發(fā)熱最嚴重,80度左右,右下管幾乎溫的。目前此問題還沒有解決。)輸出250V,由于示波器探頭只有10倍衰減檔位所以只能看一半了。

 

 


 接大電用的TLP250。FPGA一百多一塊兒,怕燒。

全部回復(20)
正序查看
倒序查看
2013-08-24 16:57

 

TLP250驅(qū)動板圖;

后級H橋電路比較簡單應該是沒有問題的,用的是老壽的圖。

  

現(xiàn)在的問題是用TLP250驅(qū)動上管的波形輸出多了一塊兒,而這一塊兒正好是死區(qū)。

第一張圖上管G極的驅(qū)動波形和S輸出波形,G極波形應該是正確的,高電平等于電源電壓加上驅(qū)動電壓,截止時當下管未導通,保持電源電壓,導通時等于地電壓。 

第二張是上管S極波形與下管G極波形,多了那一塊,導致沒有死區(qū)。

0
回復
2013-08-24 18:36
@朱振豪1992
[圖片] TLP250驅(qū)動板圖;后級H橋電路比較簡單應該是沒有問題的,用的是老壽的圖。[圖片] [圖片] 現(xiàn)在的問題是用TLP250驅(qū)動上管的波形輸出多了一塊兒,而這一塊兒正好是死區(qū)。第一張圖上管G極的驅(qū)動波形和S輸出波形,G極波形應該是正確的,高電平等于電源電壓加上驅(qū)動電壓,截止時當下管未導通,保持電源電壓,導通時等于地電壓。 第二張是上管S極波形與下管G極波形,多了那一塊,導致沒有死區(qū)。
樓主研究精神可嘉啊,本人也是大二,以后大家一起討論啊。。
0
回復
IGBT2010
LV.8
4
2013-08-24 23:17
@朱振豪1992
[圖片] TLP250驅(qū)動板圖;后級H橋電路比較簡單應該是沒有問題的,用的是老壽的圖。[圖片] [圖片] 現(xiàn)在的問題是用TLP250驅(qū)動上管的波形輸出多了一塊兒,而這一塊兒正好是死區(qū)。第一張圖上管G極的驅(qū)動波形和S輸出波形,G極波形應該是正確的,高電平等于電源電壓加上驅(qū)動電壓,截止時當下管未導通,保持電源電壓,導通時等于地電壓。 第二張是上管S極波形與下管G極波形,多了那一塊,導致沒有死區(qū)。
波形很不錯,樓主繼續(xù)努力!?。?/div>
0
回復
2013-08-24 23:33
@朱振豪1992
[圖片] TLP250驅(qū)動板圖;后級H橋電路比較簡單應該是沒有問題的,用的是老壽的圖。[圖片] [圖片] 現(xiàn)在的問題是用TLP250驅(qū)動上管的波形輸出多了一塊兒,而這一塊兒正好是死區(qū)。第一張圖上管G極的驅(qū)動波形和S輸出波形,G極波形應該是正確的,高電平等于電源電壓加上驅(qū)動電壓,截止時當下管未導通,保持電源電壓,導通時等于地電壓。 第二張是上管S極波形與下管G極波形,多了那一塊,導致沒有死區(qū)。
用的泰克的儀器啊,感覺怎么樣?
0
回復
2013-08-24 23:38
@電源網(wǎng)-娜娜姐
用的泰克的儀器啊,感覺怎么樣?
感覺還行吧吧,比模擬的強,因為也沒用過別的數(shù)字示波器。學校提供的,呵呵....
0
回復
2013-08-24 23:39
@朱振豪1992
[圖片] TLP250驅(qū)動板圖;后級H橋電路比較簡單應該是沒有問題的,用的是老壽的圖。[圖片] [圖片] 現(xiàn)在的問題是用TLP250驅(qū)動上管的波形輸出多了一塊兒,而這一塊兒正好是死區(qū)。第一張圖上管G極的驅(qū)動波形和S輸出波形,G極波形應該是正確的,高電平等于電源電壓加上驅(qū)動電壓,截止時當下管未導通,保持電源電壓,導通時等于地電壓。 第二張是上管S極波形與下管G極波形,多了那一塊,導致沒有死區(qū)。
牛逼,老弟
0
回復
2013-08-24 23:40
@已是懸崖百丈冰
牛逼,老弟
沒你牛啊    你的恒流源才牛啊
0
回復
2013-08-24 23:58
@wwpwwp20088
樓主研究精神可嘉啊,本人也是大二,以后大家一起討論啊。。
好的 謝謝關(guān)注啊
0
回復
2013-08-25 09:06
@朱振豪1992
感覺還行吧吧,比模擬的強,因為也沒用過別的數(shù)字示波器。學校提供的,呵呵....
沒事多來論壇學習,很多牛人能幫助到你,不過你的宿舍有點……哈哈
0
回復
2013-08-25 09:49
@電源網(wǎng)-娜娜姐
沒事多來論壇學習,很多牛人能幫助到你,不過你的宿舍有點……哈哈
嘿嘿,這是我們卡文迪許實驗室!
0
回復
2013-08-26 11:22
能否將您的FPGA程序發(fā)一份給我,謝謝longzhizi_cz@qq.com
0
回復
07611128
LV.2
13
2013-08-26 20:08
@電源一刀
能否將您的FPGA程序發(fā)一份給我,謝謝longzhizi_cz@qq.com
我現(xiàn)在卡到死區(qū)設置這里了,額,感覺好不爽,我用的64的dds,外接鍵盤基本可以控制到頻率0.0001的精度了
0
回復
2013-08-26 23:31
@07611128
我現(xiàn)在卡到死區(qū)設置這里了,額,感覺好不爽,我用的64的dds,外接鍵盤基本可以控制到頻率0.0001的精度了

···dds理論精度是可以達到0.0001HZ的,甚至更高。但是僅限方波,正弦波我用8位DA最高只能做到0.01,這個我做過,因為測頻本身就先要把正弦變成方波,自身就存在誤差。(三相工頻信號源如下圖)

 

 

 

 

 

·····至于你說的64DDS 我還真不知道啥意思。死區(qū)設置其實很簡單,就是把信號上升沿延時一下就好了。建議你先看看純硬件的死區(qū)設置是怎么搞得?不過FPGA設置死區(qū)網(wǎng)上還真找不到。我給你發(fā)一個,你參考一下兄弟...

module siqu(clk,out,in);//clk驅(qū)動信號,in輸入信號,out輸出信號,count死區(qū)時間設定變量
input   clk,in;
output  out;  
reg     out;
reg[7:0] count;

always @ (posedge clk) 
begin
 if(in==0)
 out=in;
 else
 begin
  count=count+1;
  if(count==10)
  begin
  out=1;
  count=0;
  end
 end
end     
endmodule

0
回復
2013-08-27 00:17
@朱振豪1992
···dds理論精度是可以達到0.0001HZ的,甚至更高。但是僅限方波,正弦波我用8位DA最高只能做到0.01,這個我做過,因為測頻本身就先要把正弦變成方波,自身就存在誤差。(三相工頻信號源如下圖)[圖片]  [圖片]  [圖片] ·····至于你說的64DDS我還真不知道啥意思。死區(qū)設置其實很簡單,就是把信號上升沿延時一下就好了。建議你先看看純硬件的死區(qū)設置是怎么搞得?不過FPGA設置死區(qū)網(wǎng)上還真找不到。我給你發(fā)一個,你參考一下兄弟...modulesiqu(clk,out,in);//clk驅(qū)動信號,in輸入信號,out輸出信號,count死區(qū)時間設定變量input  clk,in;output out;  reg    out;reg[7:0]count;always@(posedgeclk) begin if(in==0) out=in; else begin  count=count+1;  if(count==10)  begin  out=1;  count=0;  end endend   endmodule
這才是好東西,另外想問下,你的FPGA功耗如何。
0
回復
07611128
LV.2
16
2013-08-27 01:09
@朱振豪1992
···dds理論精度是可以達到0.0001HZ的,甚至更高。但是僅限方波,正弦波我用8位DA最高只能做到0.01,這個我做過,因為測頻本身就先要把正弦變成方波,自身就存在誤差。(三相工頻信號源如下圖)[圖片]  [圖片]  [圖片] ·····至于你說的64DDS我還真不知道啥意思。死區(qū)設置其實很簡單,就是把信號上升沿延時一下就好了。建議你先看看純硬件的死區(qū)設置是怎么搞得?不過FPGA設置死區(qū)網(wǎng)上還真找不到。我給你發(fā)一個,你參考一下兄弟...modulesiqu(clk,out,in);//clk驅(qū)動信號,in輸入信號,out輸出信號,count死區(qū)時間設定變量input  clk,in;output out;  reg    out;reg[7:0]count;always@(posedgeclk) begin if(in==0) out=in; else begin  count=count+1;  if(count==10)  begin  out=1;  count=0;  end endend   endmodule
reg[63:0] freq_count,tri_freq_count;
就是他的計數(shù)啊,fpga理論上可以搞到128位的,謝謝啦,我試一下這個死區(qū)的~~
0
回復
2013-08-27 09:32
@lizlk
這才是好東西,另外想問下,你的FPGA功耗如何。
FPGA用的是ALTERA公司的EP4CE622C8N,功耗不太清楚,也不太關(guān)心。反正長時間工作也不發(fā)熱,驅(qū)動能力挺強的,可以直接驅(qū)動TLP250。
0
回復
Graysky
LV.3
18
2013-08-28 10:43

厲害!

0
回復
ma19926123
LV.1
19
2013-08-31 13:10
@朱振豪1992
好的謝謝關(guān)注啊

樓主您好,我也用fpga這樣做過,沒有用fpga處理過死區(qū)時間,用的是2110驅(qū)動全橋的,最后出來的波形確實丑的不行,當時濾波處理的不好

0
回復
ma19926123
LV.1
20
2013-08-31 13:36
@電源一刀
能否將您的FPGA程序發(fā)一份給我,謝謝longzhizi_cz@qq.com
同求,謝謝樓主379463010@qq.com
0
回復
IGBT2010
LV.8
21
2015-06-27 11:19
@朱振豪1992
···dds理論精度是可以達到0.0001HZ的,甚至更高。但是僅限方波,正弦波我用8位DA最高只能做到0.01,這個我做過,因為測頻本身就先要把正弦變成方波,自身就存在誤差。(三相工頻信號源如下圖)[圖片]  [圖片]  [圖片] ·····至于你說的64DDS我還真不知道啥意思。死區(qū)設置其實很簡單,就是把信號上升沿延時一下就好了。建議你先看看純硬件的死區(qū)設置是怎么搞得?不過FPGA設置死區(qū)網(wǎng)上還真找不到。我給你發(fā)一個,你參考一下兄弟...modulesiqu(clk,out,in);//clk驅(qū)動信號,in輸入信號,out輸出信號,count死區(qū)時間設定變量input  clk,in;output out;  reg    out;reg[7:0]count;always@(posedgeclk) begin if(in==0) out=in; else begin  count=count+1;  if(count==10)  begin  out=1;  count=0;  end endend   endmodule
最好用狀態(tài)機實現(xiàn),思路清晰明了。
0
回復
發(fā)