99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 4
    回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

【 DigiKey DIY原創(chuàng)大賽】震驚---本站首個(gè)2KW雙向逆變器(二)

什么是SPWM?

在進(jìn)行脈寬調(diào)制時(shí),使脈沖系列的占空比按正弦規(guī)律來(lái)安排。當(dāng)正弦值為最大值時(shí),脈沖的寬度也最大,而脈沖間的間隔則最小,反之,當(dāng)正弦值較小時(shí),脈沖的寬度也小,而脈沖間的間隔則較大,這樣的電壓脈沖系列可以使負(fù)載電流中的高次諧波成分大為減小,稱(chēng)為正弦波脈寬調(diào)制,即SPWM

==========================================

SPWM代碼參考

下面是用STM32F103C8T6產(chǎn)生兩路互補(bǔ)的SPWM部分代碼,有興趣的網(wǎng)友可以看看。

#include "stm32f10x.h"

#include "timer.h"

 

double K_Voltage = 1.0;

const u32 spwm[600]={

0x4000,0x40AC,0x4157,0x4203,0x42AE,0x4359,0x4405,0x44B0,0x455B,0x4606,

0x46B0,0x475B,0x4805,0x48AF,0x4959,0x4A03,0x4AAC,0x4B55,0x4BFE,0x4CA6,

0x4D4E,0x4DF6,0x4E9D,0x4F44,0x4FEA,0x5090,0x5136,0x51DB,0x527F,0x5323,

0x53C7,0x546A,0x550C,0x55AE,0x564F,0x56EF,0x578F,0x582E,0x58CD,0x596A,

0x5A08,0x5AA4,0x5B40,0x5BDA,0x5C74,0x5D0E,0x5DA6,0x5E3E,0x5ED5,0x5F6A,

0x6000,0x6094,0x6127,0x61B9,0x624A,0x62DB,0x636A,0x63F9,0x6486,0x6512,

0x659E,0x6628,0x66B1,0x6739,0x67C0,0x6846,0x68CB,0x694F,0x69D1,0x6A52,

0x6AD2,0x6B51,0x6BCF,0x6C4B,0x6CC7,0x6D41,0x6DB9,0x6E31,0x6EA7,0x6F1B,

0x6F8F,0x7001,0x7072,0x70E1,0x714F,0x71BC,0x7227,0x7291,0x72FA,0x7361,

0x73C6,0x742A,0x748D,0x74EE,0x754E,0x75AC,0x7609,0x7664,0x76BD,0x7716,

0x776C,0x77C1,0x7815,0x7866,0x78B7,0x7905,0x7952,0x799E,0x79E8,0x7A30,

0x7A77,0x7ABC,0x7AFF,0x7B41,0x7B81,0x7BBF,0x7BFB,0x7C36,0x7C70,0x7CA7,

0x7CDD,0x7D11,0x7D44,0x7D74,0x7DA3,0x7DD1,0x7DFC,0x7E26,0x7E4E,0x7E74,

0x7E99,0x7EBC,0x7EDD,0x7EFC,0x7F1A,0x7F35,0x7F4F,0x7F67,0x7F7E,0x7F92,

0x7FA5,0x7FB6,0x7FC6,0x7FD3,0x7FDF,0x7FE9,0x7FF1,0x7FF7,0x7FFB,0x7FFE,

0x7FFF,0x7FFE,0x7FFB,0x7FF7,0x7FF1,0x7FE9,0x7FDF,0x7FD3,0x7FC6,0x7FB6,

0x7FA5,0x7F92,0x7F7E,0x7F67,0x7F4F,0x7F35,0x7F1A,0x7EFC,0x7EDD,0x7EBC,

0x7E99,0x7E74,0x7E4E,0x7E26,0x7DFC,0x7DD1,0x7DA3,0x7D74,0x7D44,0x7D11,

0x7CDD,0x7CA7,0x7C70,0x7C36,0x7BFB,0x7BBF,0x7B81,0x7B41,0x7AFF,0x7ABC,

0x7A77,0x7A30,0x79E8,0x799E,0x7952,0x7905,0x78B7,0x7866,0x7815,0x77C1,

0x776C,0x7716,0x76BD,0x7664,0x7609,0x75AC,0x754E,0x74EE,0x748D,0x742A,

0x73C6,0x7361,0x72FA,0x7291,0x7227,0x71BC,0x714F,0x70E1,0x7072,0x7001,

0x6F8F,0x6F1B,0x6EA7,0x6E31,0x6DB9,0x6D41,0x6CC7,0x6C4B,0x6BCF,0x6B51,

0x6AD2,0x6A52,0x69D1,0x694F,0x68CB,0x6846,0x67C0,0x6739,0x66B1,0x6628,

0x659E,0x6512,0x6486,0x63F9,0x636A,0x62DB,0x624A,0x61B9,0x6127,0x6094,

0x6000,0x5F6A,0x5ED5,0x5E3E,0x5DA6,0x5D0E,0x5C74,0x5BDA,0x5B40,0x5AA4,

0x5A08,0x596A,0x58CD,0x582E,0x578F,0x56EF,0x564F,0x55AE,0x550C,0x546A,

0x53C7,0x5323,0x527F,0x51DB,0x5136,0x5090,0x4FEA,0x4F44,0x4E9D,0x4DF6,

0x4D4E,0x4CA6,0x4BFE,0x4B55,0x4AAC,0x4A03,0x4959,0x48AF,0x4805,0x475B,

0x46B0,0x4606,0x455B,0x44B0,0x4405,0x4359,0x42AE,0x4203,0x4157,0x40AC,

0x4000,0x3F54,0x3EA9,0x3DFD,0x3D52,0x3CA7,0x3BFB,0x3B50,0x3AA5,0x39FA,

0x3950,0x38A5,0x37FB,0x3751,0x36A7,0x35FD,0x3554,0x34AB,0x3402,0x335A,

0x32B2,0x320A,0x3163,0x30BC,0x3016,0x2F70,0x2ECA,0x2E25,0x2D81,0x2CDD,

0x2C39,0x2B96,0x2AF4,0x2A52,0x29B1,0x2911,0x2871,0x27D2,0x2733,0x2696,

0x25F8,0x255C,0x24C0,0x2426,0x238C,0x22F2,0x225A,0x21C2,0x212B,0x2096,

0x2001,0x1F6C,0x1ED9,0x1E47,0x1DB6,0x1D25,0x1C96,0x1C07,0x1B7A,0x1AEE,

0x1A62,0x19D8,0x194F,0x18C7,0x1840,0x17BA,0x1735,0x16B1,0x162F,0x15AE,

0x152E,0x14AF,0x1431,0x13B5,0x1339,0x12BF,0x1247,0x11CF,0x1159,0x10E5,

0x1071,0x0FFF,0x0F8E,0x0F1F,0x0EB1,0x0E44,0x0DD9,0x0D6F,0x0D06,0x0C9F,

0x0C3A,0x0BD6,0x0B73,0x0B12,0x0AB2,0x0A54,0x09F7,0x099C,0x0943,0x08EA,

0x0894,0x083F,0x07EB,0x079A,0x0749,0x06FB,0x06AE,0x0662,0x0618,0x05D0,

0x0589,0x0544,0x0501,0x04BF,0x047F,0x0441,0x0405,0x03CA,0x0390,0x0359,

0x0323,0x02EF,0x02BC,0x028C,0x025D,0x022F,0x0204,0x01DA,0x01B2,0x018C,

0x0167,0x0144,0x0123,0x0104,0x00E6,0x00CB,0x00B1,0x0099,0x0082,0x006E,

0x005B,0x004A,0x003A,0x002D,0x0021,0x0017,0x000F,0x0009,0x0005,0x0002,

0x0001,0x0002,0x0005,0x0009,0x000F,0x0017,0x0021,0x002D,0x003A,0x004A,

0x005B,0x006E,0x0082,0x0099,0x00B1,0x00CB,0x00E6,0x0104,0x0123,0x0144,

0x0167,0x018C,0x01B2,0x01DA,0x0204,0x022F,0x025D,0x028C,0x02BC,0x02EF,

0x0323,0x0359,0x0390,0x03CA,0x0405,0x0441,0x047F,0x04BF,0x0501,0x0544,

0x0589,0x05D0,0x0618,0x0662,0x06AE,0x06FB,0x0749,0x079A,0x07EB,0x083F,

0x0894,0x08EA,0x0943,0x099C,0x09F7,0x0A54,0x0AB2,0x0B12,0x0B73,0x0BD6,

0x0C3A,0x0C9F,0x0D06,0x0D6F,0x0DD9,0x0E44,0x0EB1,0x0F1F,0x0F8E,0x0FFF,

0x1071,0x10E5,0x1159,0x11CF,0x1247,0x12BF,0x1339,0x13B5,0x1431,0x14AF,

0x152E,0x15AE,0x162F,0x16B1,0x1735,0x17BA,0x1840,0x18C7,0x194F,0x19D8,

0x1A62,0x1AEE,0x1B7A,0x1C07,0x1C96,0x1D25,0x1DB6,0x1E47,0x1ED9,0x1F6C,

0x2001,0x2096,0x212B,0x21C2,0x225A,0x22F2,0x238C,0x2426,0x24C0,0x255C,

0x25F8,0x2696,0x2733,0x27D2,0x2871,0x2911,0x29B1,0x2A52,0x2AF4,0x2B96,

0x2C39,0x2CDD,0x2D81,0x2E25,0x2ECA,0x2F70,0x3016,0x30BC,0x3163,0x320A,

0x32B2,0x335A,0x3402,0x34AB,0x3554,0x35FD,0x36A7,0x3751,0x37FB,0x38A5,

0x3950,0x39FA,0x3AA5,0x3B50,0x3BFB,0x3CA7,0x3D52,0x3DFD,0x3EA9,0x3F54,

};                                                                                                   //占空比為:(32767-spwm[i])/32767 = 1-period*spwm[i])/period

u32 sinpwm;

static u16 i = 0;                                    

u16 TimerPeriod   = 0;

 u16 Channel1Pulse = 0;

extern float Period_percent;

全部回復(fù)(4)
正序查看
倒序查看
2024-11-10 23:38

 文字超出限額,接上 接上

/*******************************************************

 *       定時(shí)器1產(chǎn)生4路互補(bǔ)的PWM波(頻率=pfreq / (psc+1))

 *       channel1 ,channel2 -->A.8  A.9

                            channel1N,channel2N-->B.13  B.14(互補(bǔ))

 *              TimerPeriod       --> 自動(dòng)重裝載周期值

 *              ChannelxPulse --> 占空周期值

 ******************************************************/

void TIM1_PWM_Init(u16 pfreq ,u16 psc)       { 

         GPIO_InitTypeDef                              GPIO_InitStructure;

         TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;        

    NVIC_InitTypeDef NVIC_InitStructure;  

         TIM_OCInitTypeDef                         TIM_OCInitStructure;                     

 

         TimerPeriod = (SystemCoreClock / pfreq) - 1;

 

         /* ChannelxPulse = DutyCycle * (TIM1_Period - 1) / 100 */

         Channel1Pulse = (u16)((u32)(50  * (TimerPeriod - 1)) / 100 );        //占空比50%

 

         /* 使能TIM1,GPIOA,GPIOB,GPIOE */

         RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);   

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);

         /*channel1 ,channel2 -->A.8,A.9*/

         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;    

         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

         GPIO_Init(GPIOA, &GPIO_InitStructure);

         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;

         GPIO_Init(GPIOB, &GPIO_InitStructure);

    /*  初始化TIM1  */

         TIM_TimeBaseStructure.TIM_Period            = TimerPeriod; 

         TIM_TimeBaseStructure.TIM_Prescaler         = psc;

         TIM_TimeBaseStructure.TIM_ClockDivision     = 0;           

         TIM_TimeBaseStructure.TIM_CounterMode       = TIM_CounterMode_Up;//TIM向上計(jì)數(shù)模式

    TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;                              //重復(fù)溢出中斷

         TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);                  //初始化定時(shí)器基本配置

0
回復(fù)
2024-11-10 23:38

        字?jǐn)?shù)超出限制了,繼續(xù)接上,繼續(xù)接上

         /* TIM_OCMode_PWM1模式 */ 

         TIM_OCInitStructure.TIM_OCMode       = TIM_OCMode_PWM1;         TIM_OCInitStructure.TIM_OutputState  = TIM_OutputState_Enable;      //比較輸出使能

         TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;      //PWM互補(bǔ)輸出使能

         TIM_OCInitStructure.TIM_Pulse        = Channel1Pulse;             //占空比 = TIM_Pulse/TIM_Period;

         TIM_OCInitStructure.TIM_OCPolarity   = TIM_OCPolarity_High;      //有效電平為高電平

         TIM_OCInitStructure.TIM_OCNPolarity  = TIM_OCNPolarity_High;           //互補(bǔ)PWM極性

         TIM_OCInitStructure.TIM_OCIdleState  = TIM_OCIdleState_Reset;          //原 TIM_OCIdleState_Reset輸出空閑狀態(tài)

         TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;         //PWM互補(bǔ)輸出空閑狀態(tài)

         TIM_OC1Init(TIM1, &TIM_OCInitStructure);                           //根據(jù)指定的參數(shù)初始化外設(shè)TIM1 OC

         TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);    //使能TIM3在CCR1上的預(yù)裝載寄存器

    TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);    //使能TIM3在CCR2上的預(yù)裝載寄存器

    TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE );                //使能指定的TIM2中斷,允許更新中斷(計(jì)數(shù)器溢出或軟件初始化時(shí))

         NVIC_InitStructure.NVIC_IRQChannel                   = TIM1_UP_IRQn;  //TIM1中斷

         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;          //主優(yōu)先級(jí)0級(jí)

         NVIC_InitStructure.NVIC_IRQChannelSubPriority        = 0;          //從優(yōu)先級(jí)0級(jí)

         NVIC_InitStructure.NVIC_IRQChannelCmd                = ENABLE;     //IRQ通道被使能

         NVIC_Init(&NVIC_InitStructure);                                    //根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器

         TIM_Cmd(TIM1, ENABLE);                                                   //使能TIM1

         TIM_CtrlPWMOutputs(TIM1,ENABLE);  //PWM輸出使能

}

//定時(shí)器1中斷服務(wù)程序

void TIM1_UP_IRQHandler(void) 

{

         if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET)  //檢查T(mén)IM1更新中斷發(fā)生與否

         {   if(spwm[i]>16384)

        {

            sinpwm = K_Voltage * (spwm[i]-16384);

            TIM_SetCompare1(TIM1,(u16)(Period_percent * (sinpwm + 16384) )) ;

            TIM_SetCompare2(TIM1,(u16)(Period_percent * (sinpwm + 16384) )) ;

        }

        else if(spwm[i]<=16384)

        {

            sinpwm = K_Voltage * (16384 - spwm[i]);

            TIM_SetCompare1(TIM1,(u16)(Period_percent * (16384 - sinpwm) )) ;         //修改TIM1通道1的PWM占空比,后者為捕獲/比較寄存器1的值

            TIM_SetCompare2(TIM1,(u16)(Period_percent * (16384 - sinpwm) )) ;         //修改TIM1通道1的PWM占空比,后者為捕獲/比較寄存器1的值

        }

            i++;

                   if(i == 600)

        {

            i = 0;

        }

                   TIM_ClearITPendingBit(TIM1, TIM_IT_Update);

         }

}

0
回復(fù)
2024-12-11 20:28

雖然啥也看不懂??

0
回復(fù)
2024-12-11 20:28

雖然啥也看不懂??

1
回復(fù)
發(fā)
主站蜘蛛池模板: 国产精品亚洲综合色区韩国 | 日本成人在线免费视频 | 99久久影视 | 天堂久久天堂AV色综合 | 九一视频国产 | 国产成人啪精品午夜网站a片免费 | 亚洲第一综合 | 91欧美亚洲| 91中文字幕在线视频 | giga特摄剧在线官网 | 亚洲影院丰满少妇中文字幕无码 | 国产免费网站在线观看 | 亚洲国产AV天码精品果冻传媒 | 好紧好湿好爽免费视频在线观看 | 久久艹视频 | 欧美xxxx色视频在线观看 | 8x成人网| 波多野结衣中文字幕免费观看 | 性欧美视频一区二区三区 | 国产又爽又猛又粗的视频A片 | 亚洲乱码一二三四区 | 波多野结衣在线播放 | 国产成年无码久久久免费 | 成网在线看 | 国产精品国产三级国产午 | 性色AV一区二区三区无码 | 夜夜草专业av导航 | 欧美美女久久 | 欧美一区=区三区 | 日本拍拍免费观看片成人 | 中文字幕第15页 | 操草视频 | av观看免费 | 绿巨人在线观看免费观看在线nba动漫 | 嘿咻嘿咻免费区在线观看 | 91综合网人人 | 亚洲国产精品成人精品无码区在线 | 亚洲中文无码成人手机版 | 性视频一区二区三区 | 小荡货奶真大水真多紧视频 | 亚洲精品无码久久久久SM |