教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

单相正弦波逆变电源的设计-精品 - 图文(7)

来源:网络收集 时间:2026-03-06
导读: 邵阳学院毕业设计(论文) 主电路 加了滤波电路的逆变电源的整体电路。 整体电路 2 STM32发SPWM波的源代码 27 邵阳学院毕业设计(论文) #include \ #include \ static uint16_t CCR3_Val = 1800; static uint16_t

邵阳学院毕业设计(论文)

主电路

加了滤波电路的逆变电源的整体电路。

整体电路

2 STM32发SPWM波的源代码

27

邵阳学院毕业设计(论文)

#include \ #include \

static uint16_t CCR3_Val = 1800; static uint16_t PrescalerValue = 0; void PWM_Init(void)

{TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //定时器基础数据 TIM_OCInitTypeDef TIM_OCInitStructure; //定义定时器比较输出 GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO

TIM_BDTRInitTypeDef TIM_BDTRInitStructure; //定时器BDTR数据结构体 NVIC_InitTypeDef NVIC_InitStructure; //定义中断优先级 /* TIM3 clock enable */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); /* GPIOA and GPIOB clock enable */

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOBRCC_APB2Periph_AFIO, ENABLE);

/* GPIOA Configuration:TIM3 Channel1, 2, 3 and 4 as alternate function push-pull */

//这里是一路互补的TIM1PA.08 PA.09 PA.10 PA.11 通道123分别对应 PB.13 PB.14 PB.15 而PB.12是中止输出

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);

//PA9,有可能会被下载口占用,所以有时候就会出现,没有波的出现

GPIO_InitStructure.GPIO_Pin= GPIO_Pin_13|GPIO_Pin_14; //TIM1_CH1N GPIO_Init(GPIOB, &GPIO_InitStructure); //这里是设置GPIO端口的 /* Compute the prescaler value */

PrescalerValue = (uint16_t) (SystemCoreClock / 36000000) - 1; //TIMER2 - 36MHZ

/* Time base configuration */

28

邵阳学院毕业设计(论文)

TIM_TimeBaseStructure.TIM_Period=3600;/*TIM3_ARR = 2879,12.5Khz*/ TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; TIM_TimeBaseStructure.TIM_ClockDivision = 0;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); /* Channel 1, 2,3 and 4 Configuration in PWM mode */ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;//打

开互补输出

TIM_OCInitStructure.TIM_Pulse = CCR3_Val; //高级定时器需要设置的

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//设置OCX

输出极性

TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;//设置OCNX输出极性

TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;//设置OCX

输出空闲状态

TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Set;//设置OCNX输出空闲状态 //选择要开启的PWM1通道

TIM_OC1Init(TIM1, &TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); TIM_ITConfig(TIM1, TIM_IT_CC1, ENABLE); //选择要开启的PWM2通道

TIM_OC2Init(TIM1, &TIM_OCInitStructure);//设置输出通道配置

TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable);//使能预装载功能 TIM_ITConfig(TIM1, TIM_IT_CC2, ENABLE); //设置刹车特性,死区时间,锁电平

TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;

29

邵阳学院毕业设计(论文)

TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_3; TIM_BDTRInitStructure.TIM_DeadTime= 0x55;

TIM_BDTRInitStructure.TIM_Break= TIM_Break_Enable;

TIM_BDTRInitStructure.TIM_BreakPolarity= TIM_BreakPolarity_Low; TIM_BDTRInitStructure.TIM_AutomaticOutput=TIM_AutomaticOutput_Disable;//TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure); /*TIM_BDTRInitTypeDef TIM_BDTRStruct;

TIM_BDTRStruct.TIM_OSSRState = TIM_OSSRState_Enable; TIM_BDTRStruct.TIM_OSSIState = TIM_OSSIState_Enable; TIM_BDTRStruct.TIM_LOCKLevel = TIM_LOCKLevel_3; TIM_BDTRStruct.TIM_DeadTime = 0x55;

TIM_BDTRStruct.TIM_Break = TIM_Break_Enable;

TIM_BDTRStruct.TIM_BreakPolarity = TIM_BreakPolarity_Low; TIM_BDTRStruct.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable; TIM_BDTRConfig(TIM1,&TIM_BDTRStruct);//(BDTR)*/ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStructure.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 6; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); TIM_Cmd(TIM1, ENABLE); /* TIM1 Main Output Enable */

TIM_CtrlPWMOutputs(TIM1, ENABLE); }

uint16_t Duty[] = {

1800,1856,1912,1968,2023,2078,2131,2183,2233,2282,2329,2373,2416,2456,2493,2528,2559,2588,2614,2636,2655,2671,2684,2692,2698,2699,2698,2692,2684,2671,2655,2636,2614,2588,2559,2528,2493,2456,2416,2373,2329,2282,2233,2183,2131,2078,2023,1968,1912,1856,1800,1743,1687,1631,1576,1

30

邵阳学院毕业设计(论文)

521,1468,1416,1366,1317,1270,1226,1183,1143,1106,1071,1040,1011,985,963,

944,928,915,907,901,900,901,907,915,928,944,963,985,1011,1040,1071,1106,1143,1183,1226,1270,1317,1366,1416,1468,1521,1576,1631,1687,1743,1799,1799}; uint16_t count = 0;

uint16_t num = sizeof(Duty)/(sizeof(Duty[0])); void TIM1_CC_IRQHandler(void)

{ if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) {TIM1->SR = (uint16_t)~TIM_IT_CC1; TIM1->CCR1 = Duty[count]; count++; if(count==num) { count=0; } } }

31

邵阳学院毕业设计(论文)

致谢

完成对单相正弦波逆变电源的设计作品,感谢唐杰老师的点拨和指导,感谢周攀明同学的耐心的帮助,感谢该组同学的分析和开导,感谢班上所有同学的关心和照顾。从看到任务书的那一刻,我就知道必须要把单相逆变电源的基本功能实现,才能说是成功的。上唐杰老师的《电力电子技术》的课程时知道了逆变的基本原理,但只知道原理是远远不够的,因为一个作品不光是对原理的应用,更是对电路各个部分的应用。元器件的选择,器件参数的选择,算法 …… 此处隐藏:3244字,全部文档内容请下载后查看。喜欢就下载吧 ……

单相正弦波逆变电源的设计-精品 - 图文(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/442415.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)