资源简介
该资源是基于STM32做的移相PWM控制,适用于半桥电路和全桥电路,在STM32中使用高级定时器1和8,采用一个定时器对另一个定时器使能的方式,产生移相角,在此电路中设置移相角为180度,其他场合,移相角可调,并采用PI闭环控制,有电流和电压环可供选择。
代码片段和文件信息
#include “adc.h“
#include “delay.h“
void Adc_Init(void)
{
//先初始化IO口
RCC->APB2ENR|=1<<4; //使能PORTC口时钟
GPIOC->CRL&=0XFFFF0FFF;//PC3 anolog输入
GPIOC->CRL&=0XFFF0FFFF;//PC4 anolog输入
//通道13/14设置
RCC->APB2ENR|=1<<9; //ADC1时钟使能
RCC->APB2RSTR|=1<<9; //ADC1复位
RCC->APB2RSTR&=~(1<<9);//复位结束
RCC->CFGR&=~(3<<14); //分频因子清零
//SYSCLK/DIV2=12M ADC时钟设置为12MADC最大时钟不能超过14M!
//否则将导致ADC准确度下降!
RCC->CFGR|=2<<14; //APB2 6分频后作为ADC时钟 72M/6 = 12M
ADC1->CR1&=0XF0FFFF; //工作模式清零
ADC1->CR1|=0<<16; //独立工作模式
ADC1->CR1&=~(1<<8); //非扫描模式
ADC1->CR2&=~(1<<1); //单次转换模式
ADC1->CR2&=~(7<<17); //软件控制转换清零
ADC1->CR2|=7<<17; //软件控制转换
ADC1->CR2|=1<<20; //使用用外部触发(SWSTART)!!! 必须使用一个事件来触发
ADC1->CR2&=~(1<<11); //右对齐
ADC1->SQR1&=~(0XF<<20);//规则通道序列长度清零
ADC1->SQR1|=0<<20; //1个转换在规则序列中 也就是转换规则序列1
//设置通道1314的采样时间
ADC1->SMPR1&=~(7<<9); //通道13采样时间清空
ADC1->SMPR1|=7<<9; //通道13 239.5周期提高采样时间可以提高精确度
ADC1->SMPR1&=~(7<<12); //通道14采样时间清空
ADC1->SMPR1|=7<<12; //通道14 239.5周期提高采样时间可以提高精确度
ADC1->CR2|=1<<0; //开启AD转换器
ADC1->CR2|=1<<3; //使能复位校准
while(ADC1->CR2&1<<3); //等待校准结束
//该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。
ADC1->CR2|=1<<2; //开启AD校准
while(ADC1->CR2&1<<2); //等待校准结束
//该位由软件设置以开始校准,并在校准结束时由硬件清除
}
//获得ADC值
//ch:通道值 0~16
//返回值:转换结果
u16 Get_Adc(u8 ch)
{
//设置转换序列
ADC1->SQR3&=0XFFFFFFE0;//规则序列1中的通道清零
ADC1->SQR3|=ch; //规则序列1 通道ch
ADC1->CR2|=1<<22; //启动规则转换通道
while(!(ADC1->SR&1<<1));//等待转换结束
return ADC1->DR; //返回adc值
}
//获取通道ch的转换值,取times次然后平均
//ch:通道编号
//times:获取次数
//返回值:通道ch的times次转换结果平均值
u16 Get_Adc_Average(u8 chu8 times)
{
u32 temp_val=0;
u8 t;
for(t=0;t {
temp_val+=Get_Adc(ch);
// delay_us(1);
}
return temp_val/times;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
I.A.... 2307 2017-11-05 22:00 HALF_bridge\Control_Demo\HARDWARE\ADC\adc.c
I.A.... 814 2017-11-07 19:57 HALF_bridge\Control_Demo\HARDWARE\ADC\adc.h
I.A.... 1015 2017-11-06 22:14 HALF_bridge\Control_Demo\HARDWARE\CONTROL\control.c
I.A.... 690 2017-11-06 16:52 HALF_bridge\Control_Demo\HARDWARE\CONTROL\control.h
I.A.... 1180 2017-11-18 19:40 HALF_bridge\Control_Demo\HARDWARE\DAC\dac.c
I.A.... 647 2017-11-18 19:39 HALF_bridge\Control_Demo\HARDWARE\DAC\dac.h
I.A.... 1308 2017-11-06 22:14 HALF_bridge\Control_Demo\HARDWARE\EXTI\exti.c
I.A.... 628 2011-01-12 20:51 HALF_bridge\Control_Demo\HARDWARE\EXTI\exti.h
I.A.... 1974 2018-12-03 16:24 HALF_bridge\Control_Demo\HARDWARE\KEY\key.c
I.A.... 836 2018-12-03 15:47 HALF_bridge\Control_Demo\HARDWARE\KEY\key.h
I.A.... 910 2018-12-03 15:30 HALF_bridge\Control_Demo\HARDWARE\LED\led.c
I.A.... 288 2018-12-03 15:31 HALF_bridge\Control_Demo\HARDWARE\LED\led.h
I.A.... 7888 2018-12-04 16:42 HALF_bridge\Control_Demo\HARDWARE\TIMER\timer.c
I.A.... 941 2018-12-04 08:45 HALF_bridge\Control_Demo\HARDWARE\TIMER\timer.h
I.A.... 1637 2017-11-06 22:14 HALF_bridge\Control_Demo\HARDWARE\WDG\wdg.c
I.A.... 756 2011-01-12 20:56 HALF_bridge\Control_Demo\HARDWARE\WDG\wdg.h
I.A.... 399 2011-04-23 10:24 HALF_bridge\Control_Demo\keilkilll.bat
I.A.... 500 2012-07-19 22:10 HALF_bridge\Control_Demo\README.TXT
I.A.... 2067 2013-04-03 12:14 HALF_bridge\Control_Demo\SYSTEM\delay\delay.c
I.A.... 905 2013-04-03 12:14 HALF_bridge\Control_Demo\SYSTEM\delay\delay.h
I.A.... 2225 2009-05-07 14:42 HALF_bridge\Control_Demo\SYSTEM\sys\cortexm3_macro.h
I.A.... 6194 2009-05-07 14:42 HALF_bridge\Control_Demo\SYSTEM\sys\stm32f10x_conf.h
I.A.... 4529 2012-12-18 12:35 HALF_bridge\Control_Demo\SYSTEM\sys\stm32f10x_it.h
I.A.... 28290 2009-05-07 14:42 HALF_bridge\Control_Demo\SYSTEM\sys\stm32f10x_map.h
I.A.... 19198 2009-05-07 14:42 HALF_bridge\Control_Demo\SYSTEM\sys\stm32f10x_nvic.h
I.A.... 3388 2009-05-07 14:42 HALF_bridge\Control_Demo\SYSTEM\sys\stm32f10x_type.h
I.A.... 6954 2017-11-01 15:46 HALF_bridge\Control_Demo\SYSTEM\sys\sys.c
I.A.... 3868 2013-04-03 12:13 HALF_bridge\Control_Demo\SYSTEM\sys\sys.h
I.A.... 3342 2011-04-17 15:42 HALF_bridge\Control_Demo\SYSTEM\usart\usart.c
I.A.... 1083 2013-04-03 12:13 HALF_bridge\Control_Demo\SYSTEM\usart\usart.h
............此处省略190个文件信息
相关资源
- 基于saber软件对半桥变换器偏磁现象的
- 全桥DC-DC变换器的工作原理与控制方式
- 半桥逆变电路的工原理
- 无刷直流电机全桥驱动电路原理图+
- 基于STM32VET6的身高体重肺活量测量系
- 全桥双极性带死区互补SPWM基于STM32F
- 全桥单极性带死区互补SPWM基于STM32F
- 无刷直流电机全桥驱动电路原理图+
- 电源类的经典书籍\\脉宽调制DC_DC全桥
- 全桥LLC设计
- 双向全桥DCDC变换器研究
- 移相全桥软开关直流DCDC
- 50V_50A移相全桥ZVSDC_DC变换器的设计
- 脉宽调制DC/DC全桥变换器的软开关技
- 全桥MOS驱动,双电机驱动
- 双主动全桥DC-DC变换器的理论和应用技
- 基于移相全桥软开关技术的应用
- 单相全桥逆变电路原理分析电路图.
- 单相全桥逆变电路仿真
- 单相H桥逆变器移相PWM控制的单片机实
- 基于全桥LLC谐振的双向直流变压器
- PSFB_simscape.zip
- IR2104_+_IRF540_MOS电机驱动全桥
- 移相全桥dcdc变换器
- 全桥mos管电机驱动仿真电路
- STM32任意角度移相全桥PWM
- IR2110中文资料,介绍了IR2110的半桥驱
- DAB SPS CLOSE COPY From Mr.GUO.psimsch
- 半桥式开关稳压电源及电路图
- 双向全桥DC-DC双重移相控制 28335程序
评论
共有 条评论