RM新时代网站-首页

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

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

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

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

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)和控制算法詳解第五修改版》,本文將如何實(shí)現(xiàn)SVPWM進(jìn)行簡單的介紹。

IQMATH

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

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

IQmathLib

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

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

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

打開一個keil工程,在菜單界面點(diǎn)擊如下圖所示的圖標(biāo)進(jìn)入project items;

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

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

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

點(diǎn)擊下圖所示的圖標(biāo)進(jìn)入工程熟悉的設(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的配置,需要配置三路互補(bǔ)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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SVPWM
    +關(guān)注

    關(guān)注

    14

    文章

    614

    瀏覽量

    90600
  • IQmath
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    7529

原文標(biāo)題:對不起!這篇SVPWM來晚了!

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    CPK為什么要大于1.33?詳解CPK計(jì)算

    原文標(biāo)題:CPK為什么要大于1.33?詳解CPK計(jì)算
    的頭像 發(fā)表于 11-01 11:08 ?305次閱讀

    三相三電平逆變器的中心對齊SVPWM實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《三相三電平逆變器的中心對齊SVPWM實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-12 11:25 ?0次下載
    三相三電平逆變器的中心對齊<b class='flag-5'>SVPWM</b><b class='flag-5'>實(shí)現(xiàn)</b>

    PWM控制原理及電路應(yīng)用詳解

    原理基于面積等效原理,PWM通過對系列脈沖寬度進(jìn)行調(diào)制,產(chǎn)生與目標(biāo)波形脈沖沖量相等的窄脈沖波形,從而實(shí)現(xiàn)目標(biāo)波形(含形狀和幅值)的等效。這里以常用的正弦半波等效為例進(jìn)行調(diào)制過程介紹:
    發(fā)表于 10-10 18:31

    SVPWM控制技術(shù)實(shí)現(xiàn)的原則

    SVPWM(空間矢量脈沖寬度調(diào)制)控制技術(shù)是種先進(jìn)的電機(jī)控制方法,廣泛應(yīng)用于三相交流電機(jī)的調(diào)速控制中。該技術(shù)通過精確控制逆變器的開關(guān)狀態(tài),以產(chǎn)生接近理想正弦波形的輸出電壓,從而實(shí)現(xiàn)對電機(jī)的高效、精確控制。
    的頭像 發(fā)表于 08-26 11:36 ?634次閱讀

    SVPWM控制技術(shù)有哪些應(yīng)用場景

    SVPWM(Space Vector Pulse Width Modulation,空間矢量脈寬調(diào)制)控制技術(shù)是種先進(jìn)的電機(jī)控制方法,廣泛應(yīng)用于多個領(lǐng)域,以其高效、精確、低噪音等特點(diǎn)受到業(yè)界的青睞。
    的頭像 發(fā)表于 08-26 11:35 ?766次閱讀

    LwIP協(xié)議棧源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《LwIP協(xié)議棧源碼詳解—TCP/IP協(xié)議的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 07-03 11:22 ?3次下載

    SVPWM控制中Udc值該怎么確定?

    求教各位大神SVPWM控制中Udc值該怎么確定?
    發(fā)表于 04-26 08:31

    詳解MPU機(jī)制與實(shí)現(xiàn)方法

    此概念來自ISO26262-1:absence of cascading failures (1.13) between two or more elements (1.32) that could lead to the violation of a safety requirement多個元素之間沒有可能導(dǎo)致違反安全目標(biāo)的級聯(lián)故障,稱之為免于干涉。
    的頭像 發(fā)表于 01-11 09:39 ?1524次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>MPU機(jī)制與<b class='flag-5'>實(shí)現(xiàn)</b>方法

    詳解硅通孔技術(shù)(TSV)

    硅通孔技術(shù)(TSV,Through Silicon Via)是通過在芯片和芯片之間、晶圓和晶圓之間制作垂直導(dǎo)通,實(shí)現(xiàn)芯片之間互連的技術(shù),是2.5D/3D 封裝的關(guān)鍵工藝之。通過垂直互連減小互連長度、信號延遲,降低電容、電感,實(shí)現(xiàn)
    的頭像 發(fā)表于 01-09 09:44 ?1.7w次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>硅通孔技術(shù)(TSV)

    詳解電機(jī)工作的物理原理

    對磁阻的計(jì)算分析可以用來實(shí)現(xiàn)對整個電機(jī)繞組極,鐵芯部分和中間氣隙部分的磁通的微元分析,可以實(shí)現(xiàn)對整個磁路進(jìn)行離散的有限元分析FEM(Finite-Elemente-Methode)。在磁路里也完全可以應(yīng)用電路的基爾霍夫定理
    發(fā)表于 01-02 11:30 ?2347次閱讀

    詳解pcb回流焊溫度選擇與調(diào)整

    詳解pcb回流焊溫度選擇與調(diào)整
    的頭像 發(fā)表于 12-29 10:20 ?1638次閱讀

    詳解MOSFET

    晶體管是電子學(xué)和邏輯電路中的基本構(gòu)件,用于開關(guān)和放大。MOSFET是場效應(yīng)晶體管(FET)的種,其柵極通過使用絕緣層進(jìn)行電隔離。因此,它也被稱為IGFET(絕緣柵場效應(yīng)晶體管)。
    的頭像 發(fā)表于 12-29 09:58 ?2323次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳解</b>MOSFET

    詳解AD8475

    1.信號采集的過程。 自然界的各種信號都是模擬的,例如:溫度,濕度等等。在物聯(lián)網(wǎng)流行的今天,如何把各種模擬的信號轉(zhuǎn)換為計(jì)算機(jī)所能識別的數(shù)字信號這確實(shí)是個問題。般來說,從模擬到數(shù)字的轉(zhuǎn)換無非就是
    發(fā)表于 12-22 08:12
    RM新时代网站-首页