This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

基于DSP28335的永磁同步电机闭环矢量控制测试问题



自己根据TI的例程写了个永磁同步电机的矢量控制程序。先用了个小的伺服电机测试,直流母线电压给100V左右。在测试过程发现几个问题:

第一次测试时,电机无反应,在进入PWM中断后,电机会抖动一下,并没有转动。在交换了电机的其中两相后,电机能够转动。

但是交换相序前后,转子定位都没有实现。调过转子定位,电机转起来的时候卡顿感也很强烈,而且转速也对应不上。请问有可能是什么原因造成的?下面贴上转子定位的程序。转子定位没有在PWM中断中做,而是单独做了个子程序进行。

 void LockRotor()
 {
   Udq_to_Ualphabeta.Ds = 200;      //转子定位给定初始d轴电压为60V
   Udq_to_Ualphabeta.Qs = 0;       //q轴电压给定为0
   Udq_to_Ualphabeta.theta = 0;       //转角给定为0   三个参数给定可以得到一个确定的磁链
   Udq_to_Ualphabeta.calc(&Udq_to_Ualphabeta);

  Svpwm.Ualpha = Udq_to_Ualphabeta.Alpha;
  Svpwm.Ubeta  = Udq_to_Ualphabeta.Beta;
  Svpwm.Vdc = 540;              //直流母线电压
  Svpwm.T = Ts;
  Svpwm.calc(&Svpwm);
  
  epwm_init.Duty1A = Svpwm.Tcmpa;
  epwm_init.Duty2A = Svpwm.Tcmpb;
  epwm_init.Duty3A = Svpwm.Tcmpc;
  epwm_init.update(&epwm_init);

  LockRotor_OK_flag = 1;
 }