女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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
    +關注

    關注

    113

    文章

    8027

    瀏覽量

    214804
  • 調制
    +關注

    關注

    0

    文章

    165

    瀏覽量

    30112
  • STM32
    +關注

    關注

    2293

    文章

    11031

    瀏覽量

    364264
  • SVPWM
    +關注

    關注

    15

    文章

    615

    瀏覽量

    91555

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    前面推導出了SVPWM調制波,調制波與載波比較就是基于載波的SVPWM實現方式。
    的頭像 發表于 07-10 16:32 ?2716次閱讀
    基于載波<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次下載

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

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

    基于疊加原理的SVPWM調制算法

    基于疊加原理的SVPWM調制算法,下來看看
    發表于 04-19 13:57 ?12次下載

    空間電壓脈寬調制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 ?5826次閱讀
    空間矢量<b class='flag-5'>調制</b>技術(<b class='flag-5'>SVPWM</b>)
    主站蜘蛛池模板: 迁西县| 鱼台县| 丰镇市| 南澳县| 海原县| 且末县| 灵武市| 新田县| 怀柔区| 东莞市| 金塔县| 平阳县| 饶平县| 东兴市| 钟祥市| 江油市| 静海县| 井冈山市| 林周县| 鄂尔多斯市| 茶陵县| 府谷县| 城步| 东光县| 固镇县| 莱阳市| 三门峡市| 布拖县| 当雄县| 乡城县| 洛阳市| 古田县| 进贤县| 张家川| 白沙| 神农架林区| 云霄县| 南京市| 浦东新区| 宕昌县| 巴南区|