• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

我现在就差DSP定标和PI算法哪个部分??哪个帮忙下

我现在就差DSP定标和PI算法哪个部分??哪个帮忙下

1帖  zhuzhouren排长 1512010-10-27 15:50
用DSP做数字电源的,,我现在想先做单环..我浮点的,,不知道如何转化为Q格式,,,
2帖  zhuzhouren排长 1512010-10-27 15:51

void PI()                /* PI调节算法 */
{
  float V_REF=3.3;          
        Kp=100;          /* PI调节的比例常数 */
        Ti=0.005;        /* PI调节的积分常数 */
        T=0.001;         /* 周期,Ki=KpT/Ti=40*0.001/0.005=8 */                    
        Ki=8;
        ek=0;            /* 偏差e[k] */
        ek1=0;           /* 偏差e[k-1] */
        uk=0;            /* u[k] */
        uk1=0;           /* 对u[k]四舍五入取整 */
        adjust=0;        /* 调节器输出调整量 */
        XPWM=0;          /* 占空比调节 */

 { 
  ek=V_REF-AD_SIG0;
  if(ek<0.1)             /* 偏差小于0.1则调整值为0 */
  {
    adjust=0;
  }
  else 
  {   
    uk=Kp*(ek-ek1)+Ki*ek;/* 否则计算控制增量 */
    ek1=ek;
    uk1=(signed int)uk;
    if(uk>0)
    {
      if(uk-uk1>=0.5)
      {
        uk1=uk1+1;
      }
    }
    if(uk<0)
    {
      if(uk1-uk>=0.5)
      {
        uk1=uk1-1;
      }
    }
    adjust=uk1;
    XPWM=XPWM+adjust;
  } 
  return;
 }
 asm(" NOP ");           /* 请将光标移到此处设置断点,并用debug->Animate监测数据 */
}

 

 

算法如上,,这个是浮点格式的,,做如何转化为定点??还有就是这个算法有什么缺点

全部回复(6)
正序查看
倒序查看
sgd0316
LV.1
2
2010-10-27 15:59

兄弟,我用的是最不划算的做法

直接采样FFT,然后构成环调节。

呵呵,参考我的意见吧

0
回复
sgd0316
LV.1
3
2010-10-27 15:59

兄弟,我用的是最不划算的做法

直接采样FFT,然后构成环调节。

呵呵,参考我的意见吧

0
回复
2010-10-28 10:56
@sgd0316
兄弟,我用的是最不划算的做法直接采样FFT,然后构成环调节。呵呵,参考我的意见吧
我现在就把电压反馈回来形成单环PWM波....可以不..哪个做过
0
回复
2010-10-28 15:58
@zhuzhouren
我现在就把电压反馈回来形成单环PWM波....可以不..哪个做过
我现在就把电压反馈回来形成单环PWM波....可以不..哪个做过
0
回复
2010-11-01 09:22
@zhuzhouren
我现在就把电压反馈回来形成单环PWM波....可以不..哪个做过
zuo 做个单环的PI调节可以不
0
回复
2010-11-03 08:34
@zhuzhouren
zuo做个单环的PI调节可以不
做个单环的可以不
0
回复