新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一款基于DSP的三相SPWM变频电源电路的设计

一款基于DSP的三相SPWM变频电源电路的设计

作者:时间:2014-10-21来源:网络收藏

  A/D采样子程序

本文引用地址:http://www.eepw.com.cn/article/264227.htm

  主要完成线电流采样和线电压采样。为确保电压与电流信号间没有相对相移,本部分利用TMS320F28335片上ADC的同步采样方式。为提高采样精度,在A/D中断子程序中采用均值滤波的方法。

  对A相电压和电流A/D的同步采样部分代码如下:

  interrupt void adc_isr(void)

  {

  if(counter==0)

  {

  receive_a0_data[i++] = AdcRegs.ADCRESULT0>>4;//右移四位

  receive_b0_data[j++] = AdcRegs.ADCRESULT1>>4;//右移四位

  }

  if(counter>=1)

  { //对结果取平均,平滑滤波

  receive_a0_data[i++] = (receive_a0_data[i0++]+(AdcRegs.ADCRESULT0>>4))/2;

  receive_b0_data[j++] = (receive_b0_data[j0++]+(AdcRegs.ADCRESULT1>>4))/2;

  }

  if(i==512) {i=0;i0=0;}

  if(j==512) {j=0;j0=0;counter++;}

  AdcRegs.ADCTRL2.bit.RST_SEQ1 =1;//复位排序器

  AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;//清中断标志位

  PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;//开中断应答

  }

  数据处理算法

  本系统主要用到以下算法:(1)SVPWM算法(2)调节算法(3)频率检测算法

  SVPWM算法

  变频电源的核心就是SVPWM波的产生,波是以正弦波作为基准波(调制波),用一列等幅的三角波(载波)与基准正弦波相比较产生PWM波的控制方式。当基准正弦波高于三角波时,使相应的开关器件导通;当基准正弦波低于三角波时,使相应的开关器件截止。由此,逆变器的输出电压波形为脉冲列,其特点是:半个周期中各脉冲等距等幅不等宽,总是中间宽,两边窄,各脉冲面积与该区间正弦波下的面积成比例。这种脉冲波经过低通滤波后可得到与调制波同频率的正弦波,正弦波幅值和频率由调制波的幅值和频率决定。

  

 

  图7不规则采样法生成波原理图

  本文采用不对称规则采样法,即在三角波的顶点位置与低点位置对正弦波进行采样,它形成的阶梯波更接近正弦波。不规则采样法生成波原理如图7所示。图中,Tc是载波周期,M是调制度,N为载波比,Ton为导通时间。

  由图7得:

  

 

  当k为偶数时代表顶点采样,k为奇数时代表底点采样。

  SVPWM算法实现过程:

  利用F28335内部的事件管理器模块的3个全比较单元、通用定时器1、死区发生单元及输出逻辑可以很方便地生成三相六路SPWM波形。实际应用时在程序的初始化部分建立一个正弦表,设置通用定时器的计数方式为连续增计数方式,在中断程序中调用表中的值即可产生相应的按正弦规律变化的SPWM波。SPWM波的频率由定时时间与正弦表的点数决定。

  SVPWM算法的部分代码如下:

  void InitEv(void)

  {

  EALLOW;

  GpioMuxRegs.GPAMUX.all=0x00FF;

  EDIS;

  EvaRegs.EVAIFRA.all = 0xFFFF;//清除中断标志

  EvaRegs.T1PR= 2500;//定时器1周期值;定时0.4us*2500=1ms

  EvaRegs.T1CMPR = XPWM;//比较值初始化

  EvaRegs.T1CNT = 0;EvaRegs.T1CON.all = 0xF54E;//增模式;TPS系数80M/32=2.5M;T1使能;

  EvaRegs.ACTR.all = 0x0006; //PWM1,2低有效

  EvaRegs.DBTCONA.all = 0x0534; //使能死区定时器1,分频80M/32=2.5M,死区时

  //间5*0.4us=2us

  EvaRegs.COMCONA.all = 0xA600; //比较控制寄存器

  EvaRegs.EVAIMRA.all = 0x0080;

  }

  调节算法

  在实际控制中很多不稳定因素易造成增量较大,进而造成输出波形的不稳定性,因此必须采用增量式算法对系统进行优化。PID算法数学表达式为

  Upresat(t)= Up(t)+ Ui(t)+ Ud(t)

  其中,Up(t)是比例调节部分,Ui(t)是积分调节部分,Ud(t)是微分调节部分。

  本文通过对A/D转换采集来的电压或电流信号进行处理,并对输出的SPWM波进行脉冲宽度的调整,使系统输出的电压保持稳定。

  PID调节算法的部分代码如下:

  float PIDCalc( PID *pp, int NextPoint )

  {

  int dError,Error;

  Error=pp->SetPoint*10-NextPoint; //偏差

  pp->SumError+= Error; //积分

  dError=pp->LastError-pp->PrevError; //当前微分

  pp->PrevError = pp->LastError;

  pp->LastError = Error;

  return

  ((pp->Proportion) * Error //比例项

  + (pp->Integral) * (pp->SumError) //积分项

  + (pp->Derivative) * dError); //微分项

  }

  频率检测算法

  频率检测算法用来检测系统输出电压的频率。用TMS320F28335片上事件管理器模块的捕获单元捕捉被测信号的有效电平跳变沿,并通过内部的计数器记录一个周波内标频脉冲个数,最终进行相应的运算后得到被测信号频率。

  实验结果

  测量波形

  在完成上述硬件设计的基础上,本文采用特定的PWM控制策略,使逆变器拖动感应电机运行,并进行了短路、电机堵转等实验,证明采用逆变器性能稳定,能可靠地实现过流和短路保护。图8是电机在空载条件下,用数字示波器记录的稳态电压波形。幅度为35V,频率为60Hz.

  

 

  图8输出线电压波形

  测试数据

  在不同频率及不同线电压情况下的测试数据如表1所示。

  

 

  表1不同输出频率及不同线电压情况下实验结果

  结果分析

  由示波器观察到的线电压波形可以看出,波形接近正弦波,基本无失真;由表中数据可以看出,不同频率下,输出线电压最大的绝对误差只有0.6V,相对误差为1.7%.

  结束语

  本文设计的三相正弦波变频电源,由于采用了不对称规则采样算法和PID算法使输出的线电压波形基本为正弦波,其绝对误差小于1.7%;同时具有故障保护功能,可以自动切断输入交流电源。因此本系统具有电路简单、抗干扰性能好、控制效果佳等优点,便于工程应用,具有较大的实际应用价值。

pid控制相关文章:pid控制原理


dc相关文章:dc是什么


手机电池相关文章:手机电池修复


pid控制器相关文章:pid控制器原理


电源滤波器相关文章:电源滤波器原理


衰减器相关文章:衰减器原理

上一页 1 2 下一页

关键词: DSP SPWM PID

评论


相关推荐

技术专区

关闭