国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

m基于FPGA的FOC控制器verilog實(shí)現(xiàn),包括CLARK,PARK,PID及SVPWM,含testbench

這篇具有很好參考價(jià)值的文章主要介紹了m基于FPGA的FOC控制器verilog實(shí)現(xiàn),包括CLARK,PARK,PID及SVPWM,含testbench。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1.算法仿真效果

2.算法涉及理論知識(shí)概要

3.MATLAB核心程序

4.完整算法代碼文件


1.算法仿真效果

Quartus II 12.1(64-Bit)

ModelSim-Altera 6.6d?Starter Edition

仿真結(jié)果如下:

fpga實(shí)現(xiàn)svpwm,Simulink控制器,FPGA通信和信號(hào)處理,FPGA,FOC控制器,CLARK變換,PARK變換,SVPWM

fpga實(shí)現(xiàn)svpwm,Simulink控制器,FPGA通信和信號(hào)處理,FPGA,FOC控制器,CLARK變換,PARK變換,SVPWM

2.算法涉及理論知識(shí)概要

整個(gè)系統(tǒng)的結(jié)構(gòu)如下所示:

fpga實(shí)現(xiàn)svpwm,Simulink控制器,FPGA通信和信號(hào)處理,FPGA,FOC控制器,CLARK變換,PARK變換,SVPWM

1、采集到兩相電流

2、經(jīng)過(guò)clarke變換后得到兩軸正交電流量,

3、經(jīng)過(guò)旋轉(zhuǎn)變換后得到正交的電流量 Id、Iq,其中Iq與轉(zhuǎn)矩有關(guān),Id與磁通有關(guān)。在實(shí)際控制中,常將Id置為0。得到的這兩個(gè)量不是時(shí)變的,因此可以單獨(dú)的對(duì)這兩個(gè)量進(jìn)行控制,類似直流量控制一樣。而不需要知道具體要給電機(jī)三相具體的電壓為多少。

4、將第3步中得到的Iq與Id量分別送進(jìn)PI調(diào)節(jié)器,得到對(duì)應(yīng)的輸出Vq和Vd;

5、通過(guò)傳感器得到電機(jī)轉(zhuǎn)過(guò)的角度。

6、進(jìn)行逆park變換,得到二軸電流量。

7、對(duì)第6步中的Va,Vb進(jìn)行逆clarke變換,得到實(shí)際需要的三相電壓輸入給逆變電橋,驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。

? ? ? ?FOC控制的其實(shí)是電機(jī)的電磁場(chǎng)方向。轉(zhuǎn)子的轉(zhuǎn)子力矩正比于定子的磁場(chǎng)向量與轉(zhuǎn)子磁場(chǎng)矢量的矢量積。由矢量的關(guān)系可知,若使電機(jī)的轉(zhuǎn)矩時(shí)刻保持最大,則定子磁場(chǎng)向量應(yīng)與轉(zhuǎn)子磁場(chǎng)向量相互垂直。又因?yàn)榇艌?chǎng)的大小與方向與電流的大小與方向有著直接的關(guān)系,所以在用FOC控制算法控制BLDC時(shí)的關(guān)鍵就是控制三相輸入的電流大小與方向。而控制電流產(chǎn)生定子磁場(chǎng)與轉(zhuǎn)子磁場(chǎng)垂直的關(guān)鍵在:控制穩(wěn)定的三相輸入電壓及其電流向量,并且我們得知道轉(zhuǎn)子的實(shí)時(shí)位置。

? ? ? ?輸入電流的方向控制,F(xiàn)OC給出了空間電流矢量的概念。其實(shí)質(zhì)是將三相的電流矢量結(jié)合,再分解為垂直和平行于轉(zhuǎn)子磁體軸方向的兩個(gè)分量即d-q結(jié)構(gòu)。垂直方向的電流分量所產(chǎn)生磁場(chǎng)正交于轉(zhuǎn)子的磁場(chǎng),這就產(chǎn)生了旋轉(zhuǎn)力矩。而平行于轉(zhuǎn)子磁軸方向的電流分量,所產(chǎn)生的磁場(chǎng)與轉(zhuǎn)子磁場(chǎng)一致,就不會(huì)產(chǎn)生任何的力矩。另外,一個(gè)好的控制算法就需要使這個(gè)平行于轉(zhuǎn)子磁軸方向的電流分量盡量最小化,因?yàn)?,這個(gè)電流分量只會(huì)使電機(jī)產(chǎn)生多余的熱量,并加劇軸承的磨損。我們需要控制線圈的電流,以使垂直于轉(zhuǎn)子磁軸方向的電流分量達(dá)到最大。由此而得到的電機(jī)力矩和這個(gè)電流分量的大小成比例。

3.Verilog核心程序

...................................................................
PID_tops PID_tops_u(
                .i_clk   (i_clk),
					 .i_rst   (i_rst),
					 .i_kp    (16'b0001_1111_1111_1111),
					 .i_ki    (16'b0000_0000_0010_0011),
					 .i_kd    (16'b0000_0000_0000_0001),
					 .i_din   (err1),
					 .o_dout  (o_pid_dout),
					 //test port
					 .o_doutp (),
					 .o_douti (),
					 .o_doutd ()
               );
	
wire signed[15:0]o_Id;
wire signed[15:0]o_Iq;
wire signed[15:0]err11;	
wire signed[15:0]err12;	

assign err11 = o_pid_dout-o_Id;
assign err12 = 0-o_Iq;


wire signed[15:0]o_pid_dout1;
wire signed[15:0]o_pid_dout2;							

PID_tops PID_tops_u1(
                .i_clk   (i_clk),
					 .i_rst   (i_rst),
					 .i_kp    (16'b0001_1111_1111_1111),
					 .i_ki    (16'b0000_0000_0010_0011),
					 .i_kd    (16'b0000_0000_0000_0001),
					 .i_din   (err11),
					 .o_dout  (o_pid_dout1),
					 //test port
					 .o_doutp (),
					 .o_douti (),
					 .o_doutd ()
               );	
	
	
PID_tops PID_tops_u2(
                .i_clk   (i_clk),
					 .i_rst   (i_rst),
					 .i_kp    (16'b0001_1111_1111_1111),
					 .i_ki    (16'b0000_0000_0010_0011),
					 .i_kd    (16'b0000_0000_0000_0001),
					 .i_din   (err12),
					 .o_dout  (o_pid_dout2),
					 //test port
					 .o_doutp (),
					 .o_douti (),
					 .o_doutd ()
               );

//
//INV PARK					
wire signed[15:0]o_Uaref;				
wire signed[15:0]o_Ubref;
INVPARK INVPARK_u(
               .i_clk   (i_clk),
					.i_rst   (i_rst),
					.i_D     (o_pid_dout1),
					.i_Q     (o_pid_dout2),
					.i_theta (o_theta),
					.o_alpha (o_Uaref),
					.o_beta  (o_Ubref)
              );					
					
//
//SVPWM
wire w_PWM1;
wire w_PWM2;
wire w_PWM3;
wire w_PWM4;
wire w_PWM5;
wire w_PWM6;

SVPWM SVPWM_u(
            .i_clk  (i_clk),
				.i_rst  (i_rst),
				.i_Uaref(o_Uaref),
				.i_Ubref(o_Ubref),
				.o_PWM1 (w_PWM1),
				.o_PWM2 (w_PWM2),
				.o_PWM3 (w_PWM3),
				.o_PWM4 (w_PWM4),
				.o_PWM5 (w_PWM5),
				.o_PWM6 (w_PWM6)
            );

//
//IGBT+PMSM
IGBT_PMSM_simple IGBT_PMSM_simple_u(
                       .i_clk  (i_clk),
							  .i_rst  (i_rst),
							  .i_PWM1 (w_PWM1),
							  .i_PWM2 (w_PWM2),
							  .i_PWM3 (w_PWM3),
							  .i_PWM4 (w_PWM4),
							  .i_PWM5 (w_PWM5),
							  .i_PWM6 (w_PWM6),
							  .i_pid  (o_pid_dout),
							  .i_Te   (16'd100),
							  .o_Ia   (o_Ia),
							  .o_Ib   (o_Ib),
							  .o_Ic   (o_Ic),
							  .o_Te   (o_Te),
							  .o_Wm   (o_Wm),
							  .o_theta(o_theta)
                       );

//
//CLARK
CLARK CLARK_u(
             .i_clk (i_clk),
				 .i_rst (i_rst),
				 .i_Ia  (o_Ia),
				 .i_Ib  (o_Ib),
				 .o_Id  (o_Ialpha),
				 .o_Iq  (o_Ibeta)
            );

//
//PARK	
PARK PARK_u(
               .i_clk   (i_clk),
					.i_rst   (i_rst),
					.i_d     (o_Ialpha),
					.i_q     (o_Ibeta),
					.i_theta (o_theta),
					.o_ID    (o_Id),
					.o_IQ    (o_Iq)
              );
 
endmodule 
08_060_m		  

4.完整算法代碼文件

V文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-612268.html

到了這里,關(guān)于m基于FPGA的FOC控制器verilog實(shí)現(xiàn),包括CLARK,PARK,PID及SVPWM,含testbench的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【DDR】基于Verilog的DDR控制器的簡(jiǎn)單實(shí)現(xiàn)(一)——初始化

    【DDR】基于Verilog的DDR控制器的簡(jiǎn)單實(shí)現(xiàn)(一)——初始化

    在FPGA中,大規(guī)模數(shù)據(jù)的存儲(chǔ)常常會(huì)用到DDR。為了方便用戶使用,Xilinx提供了DDR MIG IP核,用戶能夠通過(guò)AXI接口進(jìn)行DDR的讀寫訪問(wèn),然而MIG內(nèi)部自動(dòng)實(shí)現(xiàn)了許多環(huán)節(jié),不利于用戶深入理解DDR的底層邏輯。 本文以美光(Micron)公司生產(chǎn)的DDR3芯片MT41J512M8RH-093為例,說(shuō)明DDR芯片的操作

    2024年02月02日
    瀏覽(42)
  • FPGA實(shí)現(xiàn)PID控制器——基于Quartus prime 18.0

    FPGA實(shí)現(xiàn)PID控制器——基于Quartus prime 18.0

    目錄 ?1. PID控制器和離散化PID控制器 1.1 PID控制器 1.1.1 P控制器 1.1.2 穩(wěn)態(tài)誤差和I控制器 1.1.3 超調(diào)和D控制器 1.2 離散式PID控制器——位置式PID控制器 2.PID控制系統(tǒng)Simulink仿真 3.Verilog代碼編寫和Modelsim仿真 3.1 誤差計(jì)算模塊和PID算法模塊編寫 3.1.1 誤差計(jì)算模塊 3.1.2 PID算法模塊 3

    2024年02月03日
    瀏覽(35)
  • 基于AHB協(xié)議的SRAM控制器的Verilog實(shí)現(xiàn)(詳解代碼)(一)——sram_core的實(shí)現(xiàn)

    基于AHB協(xié)議的SRAM控制器的Verilog實(shí)現(xiàn)(詳解代碼)(一)——sram_core的實(shí)現(xiàn)

    目錄 ?一、sramc(sram_controller)的總框架和模塊劃分 Features of sramc 結(jié)構(gòu)框圖和信號(hào)描述 二、sram_core的Verilog實(shí)現(xiàn) 動(dòng)手開敲前的構(gòu)思 Verilog代碼和代碼分析 三、sram_core的仿真驗(yàn)證 下載鏈接 sram因?yàn)槠涓咦x寫速度常常作為CPU和嵌入式IC的緩存,是一個(gè)數(shù)字系統(tǒng)中必不可少的存在,因此

    2024年01月16日
    瀏覽(29)
  • 基于FPGA的16QAM調(diào)制器verilog實(shí)現(xiàn),包括testbench,并通過(guò)MATLAB顯示FPGA輸出信號(hào)的星座圖

    基于FPGA的16QAM調(diào)制器verilog實(shí)現(xiàn),包括testbench,并通過(guò)MATLAB顯示FPGA輸出信號(hào)的星座圖

    目錄 1.算法仿真效果 2.verilog核心程序 3.算法涉及理論知識(shí)概要 4.完整verilog matlab2022a/vivado2019.2仿真結(jié)果如下: ?將FPGA仿真的數(shù)據(jù)導(dǎo)出,然后在matlab中將數(shù)據(jù)通過(guò)噪聲之后,可以得到如下的星座圖效果。 fpga工程版本信息: ? ? ? 16QAM全稱正交幅度調(diào)制是英文Quadrature Amplitude

    2024年02月07日
    瀏覽(25)
  • 【畢業(yè)設(shè)計(jì)】42基于FPGA的LCD1602控制器設(shè)計(jì)仿真與實(shí)現(xiàn)(原理圖+仿真+源代碼+論文)

    【畢業(yè)設(shè)計(jì)】42基于FPGA的LCD1602控制器設(shè)計(jì)仿真與實(shí)現(xiàn)(原理圖+仿真+源代碼+論文)

    包含此題目畢業(yè)設(shè)計(jì)全套資料: 原理圖工程文件 仿真工程文件 源代碼 仿真截圖 低重復(fù)率論文,字?jǐn)?shù):19964 基于altera 公司cyclone4代芯片的fpga以及quartusII軟件設(shè)計(jì)一款屏幕顯示系統(tǒng),顯示裝置可以選擇點(diǎn)陣或字符型液晶,最終實(shí)現(xiàn)滾動(dòng)顯示、可控制滾動(dòng)方向、暫停、清屏等功能

    2024年02月04日
    瀏覽(44)
  • 基于FPGA 的SDRAM控制器

    基于FPGA 的SDRAM控制器

    4X16X4=256(Mbit),注意不是MByte sdram包含兩個(gè)部分:sdram_ctrl、fifo_ctrl。 sdram_ctrl:其頂層為SDRAM的控制模塊內(nèi)部實(shí)例化了5個(gè)模塊,有初始化、自刷新、寫和讀模塊,還有一個(gè)仲裁模塊對(duì)這四個(gè)不同操作進(jìn)行分配; fifo_ctrl:其頂層為SDRAM的數(shù)據(jù)輸入輸出,內(nèi)部實(shí)例化了兩個(gè)用于連

    2024年02月08日
    瀏覽(29)
  • 【進(jìn)口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    【進(jìn)口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    667 MHz雙核CPU,512 MB DRAM,1 GB存儲(chǔ)容量,Zynq-7020 FPGA,更寬工作溫度范圍,8槽CompactRIO控制器 cRIO-9068是一款堅(jiān)固耐用的無(wú)風(fēng)扇嵌入式控制器,可用于高級(jí)控制和監(jiān)測(cè)應(yīng)用。這款軟件設(shè)計(jì)控制器搭載FPGA、運(yùn)行NI Linux Real-Time操作系統(tǒng)的實(shí)時(shí)處理器以及嵌入式用戶界面功能。cRIO-906

    2024年01月25日
    瀏覽(39)
  • 基于FPGA的PID控制器設(shè)計(jì)

    基于FPGA的PID控制器設(shè)計(jì)

    PID控制應(yīng)該算是應(yīng)用非常廣泛的控制算法了。常見的比如控制環(huán)境溫度,控制無(wú)人機(jī)飛行高度速度等。PID我們將其分成三個(gè)參數(shù),如下: P-比例控制,基本作用就是控制對(duì)象以線性的方式增加,在一個(gè)常量比例下,動(dòng)態(tài)輸出,缺點(diǎn)是會(huì)產(chǎn)生一個(gè)穩(wěn)態(tài)誤差。 I-積分控制,基本作

    2024年02月03日
    瀏覽(22)
  • TMC4671-LA完全集成伺服控制器電機(jī)驅(qū)動(dòng)芯片帶FOC控制

    TMC4671-LA完全集成伺服控制器電機(jī)驅(qū)動(dòng)芯片帶FOC控制

    TMC4671是一個(gè)完全集成的伺服控制器,為BLDC/PMSM和2相步進(jìn)電機(jī)以及直流電機(jī)和語(yǔ)音線圈提供現(xiàn)場(chǎng)定向控制。 ? 應(yīng)用 ?機(jī)器人 ? 拾取和放置機(jī)器 ? 工廠自動(dòng)化 ? 電動(dòng)汽車 ? 實(shí)驗(yàn)室自動(dòng)化 ?鼓風(fēng)機(jī) ?泵 ? 帶磁場(chǎng)定向控制(FOC)的伺服控制器 – 扭矩(和磁通)控制模式

    2024年02月12日
    瀏覽(21)
  • 基于 STM32+FPGA 的多軸運(yùn)動(dòng)控制器的設(shè)計(jì)

    基于 STM32+FPGA 的多軸運(yùn)動(dòng)控制器的設(shè)計(jì)

    運(yùn)動(dòng)控制器是數(shù)控機(jī)床 、 高端機(jī)器人等自動(dòng)化設(shè)備控制系統(tǒng)的核心 。 為保證控制器的實(shí)用性 、 實(shí)時(shí)性和穩(wěn)定 性, 提出一種以 STM32 為主控制器 、 FPGA 為輔助控制器的多軸運(yùn)動(dòng)控制器設(shè)計(jì)方案 。 給出了運(yùn)動(dòng)控制器的硬件電路設(shè)計(jì) , 將 S 形加減速算法融入運(yùn)動(dòng)控制器 ,

    2024年01月17日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包