一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于STM32平臺實現(xiàn)SVPWM調(diào)制

GReq_mcu168 ? 來源:小麥大叔 ? 作者:小麥大叔 ? 2022-05-16 17:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SVPWM

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

c3131f78-d34d-11ec-bce3-dac502259ad0.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軟件:標(biāo)準(zhǔn)外設(shè)庫3.5IDE:MDK-ARM

IQmathLib

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

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


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

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


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

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


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

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

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

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

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

c4dfa8da-d34d-11ec-bce3-dac502259ad0.gif開關(guān)狀態(tài) ?

原文標(biāo)題:通俗易懂!這篇SVPWM來晚了!

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

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

    關(guān)注

    113

    文章

    8030

    瀏覽量

    214991
  • 調(diào)制
    +關(guān)注

    關(guān)注

    0

    文章

    165

    瀏覽量

    30152
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    365178
  • SVPWM
    +關(guān)注

    關(guān)注

    15

    文章

    615

    瀏覽量

    91620

原文標(biāo)題:通俗易懂!這篇SVPWM來晚了!

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    基于載波SVPWM與空間矢量SVPWM實現(xiàn)策略的等效推導(dǎo)

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

    基于DSP ACE-RCP的SVPWM調(diào)制技術(shù)實現(xiàn)

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

    SVPWM調(diào)制方式是如何去實現(xiàn)

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

    SVPWM的基本實現(xiàn)方法

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

    SVPWM該如何去實現(xiàn)

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

    采用FPGA來實現(xiàn)SVPWM調(diào)制算法

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

    如何實現(xiàn)SVPWM調(diào)制?

    如何實現(xiàn)SVPWM調(diào)制
    發(fā)表于 02-17 07:44

    基于STM32F103的SVPWM算法實現(xiàn)

    基于STM32F103的SVPWM算法實現(xiàn)
    發(fā)表于 03-22 12:12 ?90次下載

    基于DSP的空間矢量脈寬調(diào)制(SVPWM)的實現(xiàn)

    基于DSP的空間矢量脈寬調(diào)制(SVPWM)的實現(xiàn)。
    發(fā)表于 03-18 16:56 ?3次下載

    磁場定向控制中SVPWM調(diào)制策略的改進與實現(xiàn)

    磁場定向控制中SVPWM調(diào)制策略的改進與實現(xiàn)
    發(fā)表于 04-13 15:42 ?20次下載

    基于調(diào)制函數(shù)的SVPWM算法

    基于調(diào)制函數(shù)的SVPWM算法,有需要得下來看看
    發(fā)表于 04-13 15:42 ?32次下載

    基于FPGA的三相SVPWM調(diào)制算法的實現(xiàn)

    基于FPGA的三相SVPWM調(diào)制算法的實現(xiàn)。
    發(fā)表于 04-18 09:47 ?23次下載

    空間電壓脈寬調(diào)制SVPWM的原理及DSP的實現(xiàn)

    空間電壓脈寬調(diào)制SVPWM的原理及DSP的實現(xiàn)
    發(fā)表于 03-30 18:24 ?8次下載

    一種新型SVPWM調(diào)制方法的研究與實現(xiàn)

    一種新型SVPWM調(diào)制方法的研究與實現(xiàn)。
    發(fā)表于 03-30 14:40 ?7次下載

    空間矢量調(diào)制技術(shù)(SVPWM

    空間矢量脈寬調(diào)制 (Space Vector Pulse Width Modulation, SVPWM )是用在三相電路中的調(diào)制方法。 SVPWM
    的頭像 發(fā)表于 05-29 17:22 ?5868次閱讀
    空間矢量<b class='flag-5'>調(diào)制</b>技術(shù)(<b class='flag-5'>SVPWM</b>)