你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

FOC2.0 编码器 永磁同步电动机在对准阶段的转矩和磁通调节

[复制链接]
k64 提问时间:2020-7-9 14:54 /
FOC2.0的库里面 关于电机启动时候需要知道转子位置,是不是通过void ENC_Start_Up(void)这个函数实现的,这个函数为什么又是变压器,又是磁通。直接给一个D {
  静态u32 wTimebase = 0;

  if((wGlobal_Flags&FIRST_START)== FIRST_START)
    {
      //首次启动电动机,必须使用
      wTimebase ++ 进行对齐;
      if(wTimebase <= T_ALIGNMENT_PWM_STEPS)
      {                  
        hFlux_Reference = I_ALIGNMENT * wTimebase / T_ALIGNMENT_PWM_STEPS;               
        hTorque_Reference = 0;

        Stat_Curr_a_b = GET_PHASE_CURRENTS(); //在这里增大启动血压电流。
        Stat_Curr_alfa_beta = Clarke(Stat_Curr_a_b);
        Stat_Curr_q_d = Park(Stat_Curr_alfa_beta,ALIGNMENT_ANGLE_S16);  
        / *加载扭矩调节器输出参考电压Vqs * /   
        Stat_Volt_q_d.qV_Component1 = PID_Regulator(hTorque_Reference,
                        Stat_Curr_q_d.qI_Component1,&PID_Torque_InitStructure);   

        / *加载磁通调节器输出参考电压Vds * /
        Stat_Volt_q_d.qV_Component2 = PID_Regulator(hFlux_Reference,
                          Stat_Curr_q_d.qI_Component2,&PID_Flux_InitStructure);

        RevPark_Circle_Limitation();

        / *执行反向Park转换,
        即在
        固定参考系上将定子电压Vqs和Vds转换为Valpha和Vbeta * /

        Stat_Volt_alfa_beta = Rev_Park(Stat_Volt_q_d);

        / * Valpha和Vbeta最终驱动了功率级* /
        CALC_SVPWM(Stat_Volt_alfa_beta); //和PARK()函数总是成对使用,所以thea角度不变。
      }
      else
      {
        wTimebase = 0;              
        ENC_ResetEncoder();         
        Stat_Volt_q_d.qV_Component1 = Stat_Volt_q_d.qV_Component2 = 0;
        hTorque_Reference = PID_TORQUE_REFERENCE;
        hFlux_Reference = PID_FLUX_REFERENCE;
        wGlobal_Flags&=〜FIRST_START; //仅进行一次对齐
        // //清除对齐阶段的速度获取
        ENC_Clear_Speed_Buffer();
#ifdef ENCODER
        State = RUN;
#endif
      }
    }
  else
  {
#ifdef ENCODER
    State = RUN;
#endif
  }
}


收藏 评论0 发布时间:2020-7-9 14:54

举报

0个回答

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版