在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

基于STM32平臺實現SVPWM調制

GReq_mcu168 ? 來源:小麥大叔 ? 作者:小麥大叔 ? 2022-05-16 17:42 ? 次閱讀

SVPWM

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

c3131f78-d34d-11ec-bce3-dac502259ad0.gif關于SVPWM原理的文章非常多,這里可以推薦一下網上一個非常不錯的教程《SVPWM的原理及法則推導和控制算法詳解第五修改版》,本文將如何實現SVPWM進行簡單的介紹。

IQMATH

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

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

IQmathLib

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

首先將IQmathlib解壓可以得到如下文件,其中包含各個平臺下的靜態庫,本文使用STM32F1keil環境下進行開發,需要使用的是rvmdk-cm3c35e53c6-d34d-11ec-bce3-dac502259ad0.png打開一個keil工程,在菜單界面點擊如下圖所示的圖標進入project items


c3735c76-d34d-11ec-bce3-dac502259ad0.png

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


c391c094-d34d-11ec-bce3-dac502259ad0.png

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


c3d561d2-d34d-11ec-bce3-dac502259ad0.png

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

c41993ca-d34d-11ec-bce3-dac502259ad0.pngc45661f6-d34d-11ec-bce3-dac502259ad0.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.As-32768){
clarke_parameter.As=-32768;
}

if(clarke_parameter.Bs>32767){
clarke_parameter.Bs=32767;
}
if(clarke_parameter.Bs-32768){
clarke_parameter.Bs=-32768;
}

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 如下圖所示;c4c393f2-d34d-11ec-bce3-dac502259ad0.png

關于STM32的配置,需要配置三路互補PWM波形輸出;例如配置了TIM1CH1CH2,CH3這三路PWM輸出,然后可以把TaTbTc的值分別賦值給CCR1CCR2CCR3即可;

具體如下圖所示;左側是復平面的矢量合成動態圖;右側是三路PWM輸出通道的比較狀態;

c4dfa8da-d34d-11ec-bce3-dac502259ad0.gif開關狀態 ?

原文標題:通俗易懂!這篇SVPWM來晚了!

文章出處:【微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ti
    ti
    +關注

    關注

    112

    文章

    7987

    瀏覽量

    212945
  • 調制
    +關注

    關注

    0

    文章

    164

    瀏覽量

    29738
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357576
  • SVPWM
    +關注

    關注

    14

    文章

    614

    瀏覽量

    90730

原文標題:通俗易懂!這篇SVPWM來晚了!

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于載波SVPWM與空間矢量SVPWM實現策略的等效推導

    前面推導出了SVPWM調制波,調制波與載波比較就是基于載波的SVPWM實現方式。
    的頭像 發表于 07-10 16:32 ?2017次閱讀
    基于載波<b class='flag-5'>SVPWM</b>與空間矢量<b class='flag-5'>SVPWM</b><b class='flag-5'>實現</b>策略的等效推導

    基于DSP ACE-RCP的SVPWM調制技術實現

    為驗證基于dSPACE的SVPWM調制方式的可行性與實用性,搭建了以dSPACE和IPM為核心的異步電機變頻調速系統實時仿真實驗平臺。利用simulink的RTW功能可將Matlab
    發表于 11-17 16:10

    SVPWM調制方式是如何去實現

    SVPWM的原理是什么?SVPWM調制方式是如何去實現的?PWM逆變器基本輸出電壓矢量有哪些?
    發表于 08-03 06:39

    SVPWM的基本實現方法

    回顧一下上篇《SVPWM基礎篇》里我們講到的SVPWM的基本實現方法,有以下基本結論:(1) SVPWM方式下的電機線-線電壓的正弦波峰值可以等于母線電壓,母線電壓利用率為1(2)
    發表于 08-27 06:53

    SVPWM該如何去實現

    回顧一下上篇《SVPWM基礎篇》里我們講到的SVPWM的基本實現方法,有以下基本結論: (1) SVPWM方式下的電機線-線電壓的正弦波峰值可以等于母線電壓,母線電壓利用率為1 (2)
    發表于 08-27 06:04

    采用FPGA來實現SVPWM調制算法

    的技術性能,當今國內外生成的變壓變頻器幾乎都已采用這項技術。目前在逆變器控制領域廣泛使用DSP來實現SVPWM調制算法,具有硬件簡單、靈活性好等特點。但是PWM波的產生需要定時的采樣與計算,從而
    發表于 01-20 09:34

    如何實現SVPWM調制

    如何實現SVPWM調制
    發表于 02-17 07:44

    基于STM32F103的SVPWM算法實現

    基于STM32F103的SVPWM算法實現
    發表于 03-22 12:12 ?90次下載

    基于DSP的空間矢量脈寬調制(SVPWM)的實現

    基于DSP的空間矢量脈寬調制(SVPWM)的實現
    發表于 03-18 16:56 ?3次下載

    磁場定向控制中SVPWM調制策略的改進與實現

    磁場定向控制中SVPWM調制策略的改進與實現
    發表于 04-13 15:42 ?20次下載

    基于調制函數的SVPWM算法

    基于調制函數的SVPWM算法,有需要得下來看看
    發表于 04-13 15:42 ?32次下載

    基于FPGA的三相SVPWM調制算法的實現

    基于FPGA的三相SVPWM調制算法的實現
    發表于 04-18 09:47 ?23次下載

    空間電壓脈寬調制SVPWM的原理及DSP的實現

    空間電壓脈寬調制SVPWM的原理及DSP的實現
    發表于 03-30 18:24 ?8次下載

    一種新型SVPWM調制方法的研究與實現

    一種新型SVPWM調制方法的研究與實現
    發表于 03-30 14:40 ?7次下載

    空間矢量調制技術(SVPWM

    空間矢量脈寬調制 (Space Vector Pulse Width Modulation, SVPWM )是用在三相電路中的調制方法。 SVPWM
    的頭像 發表于 05-29 17:22 ?5110次閱讀
    空間矢量<b class='flag-5'>調制</b>技術(<b class='flag-5'>SVPWM</b>)
    主站蜘蛛池模板: 婷婷99精品国产97久久综合 | 狠狠色狠狠色狠狠五月ady | aa三级动态图无遮无挡 | 91在线播放免费不卡无毒 | 爽好舒服老师快点 | 狠狠色噜噜狠狠狠狠奇米777 | 午夜理伦片免费 | 热久久这里只有精品 | 禁网站在线观看免费视频 | 手机在线黄色 | 免费看黄视频 | 色极影院 | 一级特黄国产高清毛片97看片 | 在线观看886影院成人影院 | 黄黄网址 | 色多多www视频在线观看免费 | 亚洲深爱 | 四虎影院国产精品 | 色倩网站| 天堂网www天堂在线资源链接 | 亚洲一区二区三区电影 | 五月天婷婷电影 | 午夜.dj高清在线观看免费8 | 国产农村乱色xxxx | 免费精品一区二区三区在线观看 | 国产福利资源在线 | 国产精品美女久久久久网 | 天天怕夜夜怕狠狠怕 | 我要看18毛片 | 亚洲成a人片在线观看www | 免费国产一区二区三区 | 成人精品第一区二区三区 | 国内精品久久久久影院免费 | 亚洲免费视频网址 | 天堂网www中文在线资源 | 国产成人精品曰本亚洲 | 亚洲操 | 天天射天天干天天操 | 国产精品青草久久久久福利99 | 天堂网www中文在线资源 | 国产清纯白嫩大学生正在播放 |