亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文詳解如何實現(xiàn)SVPWM進行

FPGA之家 ? 來源: 小麥大叔 ? 作者:菜刀和小麥 ? 2021-04-30 11:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SVPWM

SVPWM是空間矢量脈寬調(diào)制(Space Vector Pulse Width Modulation)的簡稱,通常由三相逆變器的六個功率開關(guān)管組成,經(jīng)過特定的時序和換相所所產(chǎn)生的脈沖寬度調(diào)制波,最終輸出的波形可能會十分接近理想的正弦波形。具體如下圖所示;左側(cè)為復(fù)平面,即空間矢量,右側(cè)為時域的正弦波形;

2c9b466e-a960-11eb-9728-12bb97331649.gif

關(guān)于SVPWM原理的文章非常多,這里可以推薦一下網(wǎng)上一個非常不錯的教程《SVPWM的原理及法則推導(dǎo)和控制算法詳解第五修改版》,本文將如何實現(xiàn)SVPWM進行簡單的介紹。

IQMATH

TI的片子很香,控制方面,TI無疑是做的最好的方案之一,相對來說資料也非常齊全;另外TI針對沒有浮點運算器的定點DSP推出了IQMATH庫,在使用Q格式對數(shù)據(jù)進行分析和處理的過程中,十分方便,代碼也變得更加簡潔,本文將使用TI的提供的SVPWM算法基于STM32平臺實現(xiàn)SVPWM調(diào)制。

測試平臺參數(shù):硬件:stm32f103軟件:標準外設(shè)庫3.5IDE:MDK-ARM

IQmathLib

本文使用了IQMathLib的Cortex-M3版本,這樣一來,對于沒有浮點處理器的定點MCU來說,對數(shù)據(jù)統(tǒng)一進行Q格式的處理會變得更加便捷,并且高效;

首先將IQmathlib解壓可以得到如下文件,其中包含各個平臺下的靜態(tài)庫,本文使用STM32F1在keil環(huán)境下進行開發(fā),需要使用的是rvmdk-cm3。

2f05fe76-a960-11eb-9728-12bb97331649.png

打開一個keil工程,在菜單界面點擊如下圖所示的圖標進入project items;

2f21b814-a960-11eb-9728-12bb97331649.png

添加IQmath組,并添加rvmdk-cm3路徑下的靜態(tài)庫,和頭文件;

2f3a41fe-a960-11eb-9728-12bb97331649.png

點擊下圖所示的圖標進入工程熟悉的設(shè)置;

2f718114-a960-11eb-9728-12bb97331649.png

添加rvmdk-cm3靜態(tài)庫的路徑,和頭文件的包含路徑,如下圖所示;

2f8a3254-a960-11eb-9728-12bb97331649.png

2fb99a6c-a960-11eb-9728-12bb97331649.png

最終,build整個工程即可。

測試部分程序

/** #include"stm32f10x.h" #include #include #include"serial_scope.h" #include"common.h" #include"IQmathLib.h" #include"usart_driver.h" #include"clarke.h" #include"park.h" #include"svpwm.h" /** *@briefMainprogram. *@paramNone *@retvalNone */ sv_mod_tsvpwm=SVGEN_DEFAULTS; #defineCLARK0 #definePARK1 #defineSVPWM2 #defineSVPWM_REG3 intmain(void) { intuser_data[4]={0}; staticint16_ttime_cnt=0; Trig_Componentsa; Trig_Componentsb; _iqfinal_angle; usart_init(); while(1) { time_cnt-=32;

clarke_parameter.As=_IQsinPU(time_cnt); clarke_parameter.Bs=_IQsinPU(time_cnt-0x5555); if(clarke_parameter.As>32767){ clarke_parameter.As=32767; } if(clarke_parameter.As32767){ clarke_parameter.Bs=32767; } if(clarke_parameter.Bs

clarke_calc(&clarke_parameter); park_parameter.Alpha=clarke_parameter.Alpha; park_parameter.Beta=clarke_parameter.Beta; park_parameter.Sin=trig_functions(time_cnt).hsin; park_parameter.Cos=trig_functions(time_cnt).hcos; park_parameter.Angle=-time_cnt; park_calc(&park_parameter); svpwm.Ualpha=clarke_parameter.Alpha; svpwm.Ubeta=clarke_parameter.Beta; svpwm_calc(&svpwm); #defineFOC_DEBUGSVPWM_REG #if(FOC_DEBUG==CLEAK) user_data[0]=clarke_parameter.As; user_data[1]=clarke_parameter.Bs;

user_data[2]=clarke_parameter.Alpha; user_data[3]=clarke_parameter.Beta; #elif(FOC_DEBUG==PARK) user_data[0]=clarke_parameter.As; user_data[1]=clarke_parameter.Bs; user_data[2]=park_parameter.Ds; user_data[3]=park_parameter.Qs; #elif(FOC_DEBUG==SVPWM) user_data[0]=(uint16_t)svpwm.Ta; user_data[1]=(uint16_t)svpwm.Tb; user_data[2]=(uint16_t)svpwm.Tc; user_data[3]=svpwm.VecSector*5000; #elif(FOC_DEBUG==SVPWM_REG) //換算的CCRx寄存器的值 sv_regs_mod_tsv_regs=svpwm_get_regs_mod(7200,&svpwm); user_data[0]=sv_regs.ccr1; user_data[1]=sv_regs.ccr2; user_data[2]=sv_regs.ccr3; user_data[3]=svpwm.VecSector*1000; #endif SDS_OutPut_Data_INT(user_data); } return0; }

最終通過串口輸出串口圖形化軟件的Ta,Tb,Tc 如下圖所示;

2fe6bca4-a960-11eb-9728-12bb97331649.png

關(guān)于STM32的配置,需要配置三路互補PWM波形輸出;例如配置了TIM1的CH1,CH2,CH3這三路PWM輸出,然后可以把Ta,Tb,Tc的值分別賦值給CCR1,CCR2,CCR3即可;

具體如下圖所示;左側(cè)是復(fù)平面的矢量合成動態(tài)圖;右側(cè)是三路PWM輸出通道的比較狀態(tài);

3007fbb2-a960-11eb-9728-12bb97331649.gif

開關(guān)狀態(tài)

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SVPWM
    +關(guān)注

    關(guān)注

    15

    文章

    615

    瀏覽量

    92163
  • IQmath
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    7847

原文標題:對不起!這篇SVPWM來晚了!

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    緩存之美:萬詳解 Caffeine 實現(xiàn)原理(上)

    文章將采用“總-分-總”的結(jié)構(gòu)對配置固定大小元素驅(qū)逐策略的 Caffeine 緩存進行介紹,首先會講解它的實現(xiàn)原理,在大家對它有個概念之后再深入具體源碼的細節(jié)之中,理解它的設(shè)計理念,從中能學(xué)習(xí)到
    的頭像 發(fā)表于 08-05 14:49 ?438次閱讀
    緩存之美:萬<b class='flag-5'>文</b><b class='flag-5'>詳解</b> Caffeine <b class='flag-5'>實現(xiàn)</b>原理(上)

    雙三相感應(yīng)電機SVPWM的新型過調(diào)制策略

    摘要:過調(diào)制策略能夠提高逆變器輸出電壓范圍和品質(zhì),從而提高電機輸出轉(zhuǎn)速范圍和轉(zhuǎn)矩特性。針對雙三相感應(yīng)電機空間矢量脈寬調(diào)制(SVPWM)算法過調(diào)制區(qū)域有限,分區(qū)實現(xiàn)復(fù)雜,內(nèi)存占用率大等問題,提出
    發(fā)表于 06-19 11:10

    SVPWM的原理及法則推導(dǎo)和控制算法詳解

    小,使得電機轉(zhuǎn)矩脈動降低,旋轉(zhuǎn)磁場更逼近圓形,而且使直流母線電壓的利用率有了很大提高,且更易于實現(xiàn)數(shù)字化。下面將對該算法進行詳細分析闡述。 1.1 SVPWM 基本原理 SVPWM
    發(fā)表于 06-16 17:11

    詳解激光劃片機

    激光劃片機是利用高能激光束對晶圓等材料進行切割或開槽的精密加工設(shè)備,廣泛應(yīng)用于半導(dǎo)體、微電子、光學(xué)器件等領(lǐng)域。其核心原理是通過激光與材料的相互作用,實現(xiàn)材料的固態(tài)升華、蒸發(fā)或原子鍵破壞,從而完成高精度加工。
    的頭像 發(fā)表于 06-13 11:41 ?1556次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>激光劃片機

    六相異步電機的分組式SVPWM控制的研究

    摘要:提出了基于電力電子系統(tǒng)集成概念的六相異步電機分組式變頻調(diào)速系統(tǒng)。以SVPWM調(diào)制方法為例,討論了六相異步電機分組式控制的實現(xiàn)。理論研究和仿真表明,為使電源的利用效率最高和產(chǎn)生的電盛轉(zhuǎn)矩最大,應(yīng)
    發(fā)表于 06-10 13:08

    【必看】開關(guān)電源中每個元器件的計算+51頁圖文詳解

    開關(guān)電源的各個元器件怎么計算?損耗怎么估算?散熱器的大小怎么計算? 51頁圖文詳解,帶你弄懂! 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持
    發(fā)表于 05-12 16:20

    有霍爾傳感器SVPWM學(xué)習(xí)總結(jié)

    SVPWM:空間矢量脈沖寬度調(diào)制 為什么要使用 SVPWM 來控制電機呢?傳統(tǒng)的六拍換相控制方式使逆變器的輸出呈方波變化,該種控制方式在電機空間形成的旋轉(zhuǎn)磁場為個正六邊形,與我們期望的理想
    發(fā)表于 05-09 13:54

    SMA接頭制造工藝詳解:精密加工技術(shù)與實現(xiàn)策略

    SMA接頭制造工藝詳解:精密加工技術(shù)與實現(xiàn)策略
    的頭像 發(fā)表于 04-26 09:22 ?466次閱讀
    SMA接頭制造工藝<b class='flag-5'>詳解</b>:精密加工技術(shù)與<b class='flag-5'>實現(xiàn)</b>策略

    詳解Vivado時序約束

    Vivado的時序約束是保存在xdc文件中,添加或創(chuàng)建設(shè)計的工程源文件后,需要創(chuàng)建xdc文件設(shè)置時序約束。時序約束文件可以直接創(chuàng)建或添加已存在的約束文件,創(chuàng)建約束文件有兩種方式:Constraints Wizard和Edit Timing Constraints,在綜合后或實現(xiàn)后都可以
    的頭像 發(fā)表于 03-24 09:44 ?4245次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>Vivado時序約束

    詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是種硬件描述語言,用于從算法級、門級到開關(guān)級的多種抽象設(shè)計層次的數(shù)字系統(tǒng)建模?,F(xiàn)實生活中多用于專用集成電路
    的頭像 發(fā)表于 03-17 15:17 ?3512次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>Verilog HDL

    SVPWM的原理及法則推導(dǎo)和控制算法詳解

    ,而且使直流母線電壓的利用率有了很大提高,且更易于實現(xiàn)數(shù)字化。下面將對該算法進行詳細分析闡述。 文章過長,請點擊下方可查閱*附件:SVPWM的原理及法則推導(dǎo)和控制算法詳解.pdf
    發(fā)表于 03-14 14:51

    有霍爾傳感器SVPWM學(xué)習(xí)總結(jié)(可下載)

    SVPWM:空間矢量脈沖寬度調(diào)制為什么要使用 SVPWM 來控制電機呢?傳統(tǒng)的六拍換相控制方式使逆變器的輸出呈方波變化該種控 制方式在電機空間形成的旋轉(zhuǎn)磁場為個正六邊形,與我們期望的理想的圓形
    發(fā)表于 03-13 15:23 ?1次下載

    圖解空間電壓矢量控制(SVPWM)模式下怎么提高電機扭矩

    ? ? ? 在空間電壓矢量控制(SVPWM)模式下,提高電機的扭矩輸出可以通過以下幾種方法實現(xiàn): ? ? ? ? 、精確控制電壓和頻率 ? ? ? SVPWM技術(shù)通過精確控制電機的電
    的頭像 發(fā)表于 02-13 15:01 ?1289次閱讀
    圖解空間電壓矢量控制(<b class='flag-5'>SVPWM</b>)模式下怎么提高電機扭矩

    其利天下技術(shù)·電機控制SVPWM七段式算法·無刷電機驅(qū)動方案

    兩種。今天我們先介紹下七段式算法如何應(yīng)用到電驅(qū)系統(tǒng)進行電磁兼容性仿真。七段式是種更復(fù)雜的SVPWM控制技術(shù),可以將三相電機的輸出電壓分解為七個矢量,分別為正向最
    的頭像 發(fā)表于 12-11 10:28 ?3262次閱讀
    其利天下技術(shù)·電機控制<b class='flag-5'>SVPWM</b>七段式算法·無刷電機驅(qū)動方案

    智慧公交是什么?帶你詳解智慧公交的解決方案!

    智慧公交是什么?帶你詳解智慧公交的解決方案!
    的頭像 發(fā)表于 11-05 12:26 ?1351次閱讀
    智慧公交是什么?<b class='flag-5'>一</b><b class='flag-5'>文</b>帶你<b class='flag-5'>詳解</b>智慧公交的解決方案!