色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

一文詳解如何實現SVPWM進行

FPGA之家 ? 來源: 小麥大叔 ? 作者:菜刀和小麥 ? 2021-04-30 11:07 ? 次閱讀

SVPWM

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

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

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

IQMATH

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

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

IQmathLib

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

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

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

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

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

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

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

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

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

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

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

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

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

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

開關狀態

編輯:jq

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

    關注

    14

    文章

    615

    瀏覽量

    91234
  • IQmath
    +關注

    關注

    0

    文章

    8

    瀏覽量

    7648

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

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

收藏 1人收藏

    評論

    相關推薦

    詳解Vivado時序約束

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

    詳解Verilog HDL

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

    SVPWM的原理及法則推導和控制算法詳解

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

    有霍爾傳感器SVPWM學習總結(可下載)

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

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

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

    其利天下技術·電機控制SVPWM七段式算法·無刷電機驅動方案

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

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

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

    CPK為什么要大于1.33?詳解CPK計算

    原文標題:CPK為什么要大于1.33?詳解CPK計算
    的頭像 發表于 11-01 11:08 ?935次閱讀

    三相三電平逆變器的中心對齊SVPWM實現

    電子發燒友網站提供《三相三電平逆變器的中心對齊SVPWM實現.pdf》資料免費下載
    發表于 10-12 11:25 ?0次下載
    三相三電平逆變器的中心對齊<b class='flag-5'>SVPWM</b><b class='flag-5'>實現</b>

    PWM控制原理及電路應用詳解

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

    SVPWM控制技術實現的原則

    SVPWM(空間矢量脈沖寬度調制)控制技術是種先進的電機控制方法,廣泛應用于三相交流電機的調速控制中。該技術通過精確控制逆變器的開關狀態,以產生接近理想正弦波形的輸出電壓,從而實現對電機的高效、精確控制。
    的頭像 發表于 08-26 11:36 ?1092次閱讀

    SVPWM控制技術有哪些應用場景

    SVPWM(Space Vector Pulse Width Modulation,空間矢量脈寬調制)控制技術是種先進的電機控制方法,廣泛應用于多個領域,以其高效、精確、低噪音等特點受到業界的青睞。
    的頭像 發表于 08-26 11:35 ?1359次閱讀

    LwIP協議棧源碼詳解—TCP/IP協議的實現

    電子發燒友網站提供《LwIP協議棧源碼詳解—TCP/IP協議的實現.pdf》資料免費下載
    發表于 07-03 11:22 ?3次下載

    詳解運放七大應用電路設計

    電壓進行跟隨,提高其輸出能力。 7、單電源的應用 在運放的實際使用,我們般為了保持運放的頻率特性,般都采用雙電源供電,但有的時候在實際使用,我們只有單電源的情況,也能實現運放的正常
    發表于 06-13 10:06

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

    求教各位大神SVPWM控制中Udc值該怎么確定?
    發表于 04-26 08:31
    主站蜘蛛池模板: 日本无吗高清 | 日韩精品熟女一区二区三区中文 | 国产精品国产三级国产AV麻豆 | 国产日韩欧美三级 | 果冻传媒MV免费播放在线观看 | AV天堂午夜精品一区 | 在线免费福利 | 忘忧草在线社区WWW日本直播 | 无码免费视频AAAAAA片草莓 | 国产精品无码无卡毛片不卡视 | aaa级黄影片 | 国产婷婷色一区二区三区在线 | 日本zljzljzlj精品 | 日韩经典欧美一区二区三区 | 亚洲国产成人精品无码区99 | 99视频精品在线 | 国产AV精品国语对白国产 | 看美女大腿中间的部分 | 打开双腿狠狠蹂躏蜜桃臀 | 麻婆豆腐传媒视频免费 | 日韩国产精品欧美一区二区 | 一本久道久久综合婷婷五月 | 国产剧果冻传媒星空在线观看 | 久久国产香蕉视频 | 扒开美女的内衣亲吻漫画 | 学生小泬无遮挡女HD | 国语自产二区高清国语自产拍 | 国产在线播放91 | 97成人精品视频在线播放 | 韩国污动漫无遮掩无删减电脑版 | 青青久在线视频免费观看 | 国产亚洲精品黑人粗大精选 | 伊人久久电影网 | 快播黄色电影 | 久久久伊人影院 | 中文在线日韩亚洲制服 | 亚洲永久精品ww47 | 亚洲 日韩 欧美 另类 蜜桃 | 国产 日韩 欧美 高清 亚洲 | 成人小视频在线免费观看 | 在线播放午夜理论片 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品