资源简介
三相PWM整流,程序包含矢量控制、前馈解耦、PI处理
代码片段和文件信息
//======================================================
// 需要更改:UAB、U0的放大倍数“Uo_suobi“\“UAB_suobi“
// GpioDataRegs.GPADAT.bit.GPIO1 :三相控制子程序运行时间测试
// GpioDataRegs.GPADAT.bit.GPIO0 :ACD中断函数运行时间测试
// GpioDataRegs.GPADAT.bit.GPIO2 :adc_lvbo时间://PI函数运行时间测试
// GpioDataRegs.GPADAT.bit.GPIO3 : 进入中断time0的时间
//======================================================
#include “DSP28x_Project.h“ // Device Headerfile and Examples Include File
#include “math.h“
#include “IQmathLib.h“
#include “string.h“
//定义变量(装载或运行的起始地址)
// These are defined by the linker (see F2808.cmd)
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;
extern Uint16 RamfuncsLoadSize;
//把要拷贝到RAM里的函数(...)定义到段ramfuncs
#pragma CODE_SECTION(ISRTimer0 “ramfuncs“);
#pragma CODE_SECTION(adc_isr “ramfuncs“);
#pragma CODE_SECTION(ISRePWM1 “ramfuncs“);
#pragma CODE_SECTION(PI_ctr “ramfuncs“);
#pragma CODE_SECTION(ISRCap2 “ramfuncs“);
#pragma CODE_SECTION(threephase_ctr “ramfuncs“);
#pragma CODE_SECTION(Temp_protect “ramfuncs“);
#pragma CODE_SECTION(sequence “ramfuncs“);
void InitFlash(void);
//---------------------------------------------
// 全局变量
//---------------------------------------------
int control_chose = 1 ;//1:滞环控制 0:前馈解耦
int CAP2_n;//记录第几次进入cap,当为2时表示可以进行PWM输出
int Temp_g;
int Time_period;
int Time0_period;
//------800V时的电压采样倍数
#define Uo_suobi 0.2014652015 //Uo_suobi 为U0_input 的通过运放的缩小比例 Ruor=64.3k 2.5V/0V---2.5V0V
#define UAB_suobi_ka 0.1506959707 //UAB实际 = U0_input*UAB_suobi_ka+UAB_suobi_kb Rabr =83.9k
#define UAB_suobi_kb -261.8 //2.4-99V/0V---2.464V/1.241V
#define Ia_suobi_ka 0.060591 // 类上
#define Ia_suobi_kb -99.24807
#define Ib_suobi_ka 0.0607738 // 类上
#define Ib_suobi_kb -99.84911
#define Ic_suobi_ka 0.0620848 // 类上
#define Ic_suobi_kb -101.8489933
//--------电流电压采样保存
Uint16 IA_nbuf[24];
Uint16 IB_nbuf[24];
Uint16 IC_nbuf[24];
Uint16 UAB_nbuf[24];
Uint16 Uo_nbuf[24];
Uint16 AD_n = 1; //第一次进AD中断为1; AD采样几次 5次结束则TD = 1;
Uint16 IA_buf;
Uint16 IB_buf;
Uint16 IC_buf;
Uint16 UAB_buf;
Uint16 Uo_buf;
float Ia_input;
float Ib_input;
float Ic_input;
float UAB_input;
float Uo_input;
float IA[210];
float IB[210];
float IC[210];
float Uo[210];
float UAB[210];
//----------------PI调节
float ekek1ek2duk;
float pi_out_reg pi_i_reg e_regup_reg;
#define ki 5 //积分参数
#define kp 0.5 // 比例参数
#define kd 0 // 微风参数
//----------------threephase
float32 SinA; //交流侧三相电压相位正弦值
float32 SinB;
float32 SinC;
float32 Sin[210];
int du_nbuf;//012...209
//-----------PWM定义
Uint32 EPwm1_TBPRD_Value;
Uint32 EPwm1_CMPA_Value;
Uint32 EPwm1_CMPB_Value;
Uint32 EPwm2_TBPRD_Value;
Uint32 EPwm2_CMPA_Value;
Uint32 EPwm2_CMPB_Value;
Uint32 EPwm3_TBPRD_Value;
Uint32 EPwm3_CMPA_Value
- 上一篇:汇编语言排序序程序并显示
- 下一篇:JDSU_mts4000-OTDR中文说明文件
评论
共有 条评论