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.

tmdsrslvr ccs project speed error

Other Parts Discussed in Thread: CONTROLSUITE, TMS320F28335

Hi eveyone,

I have custom design f28335 mcu circuit and resolver circuit(according to http://www.ti.com/lit/wp/spry212a/spry212a.pdf page 5). I have pmsm motor with resolver. I can calculate speed with TMDSRSLVR V-1 project, but i have speed error. According to tmdsrslvr documents, i tried to tuning the projects variables. The result became better but not enough for motor control. 

In tmdsrslvr documents it says that the TUNING_SEL should be 1 after that the program should run. i did that but, during the program runing, what I suppose to do? should i change motor speed or keep stable or how long the tunig program should run or how can i be sure the tuning is done? Could you please explain the tuning operation in detail? 

Also there are some variables in project like piconFz and Kp. During the project runing, when change the these variables the result changing. I have REMY HVH 250 psms motor. According the my motor what the control variables should be? Could you help me about these issues?

Thank you in advance.

Ceren ACAR (Mrs.)

  • TUNING_SEL is intended for tuning the loop parameters such as PI gains and filter corner frequencies. When it is set to 1, it will generate test vectors for the loop and bypass the sine/ cos feedbacks from resolver. Once the parameters are identified, set TUNING_SEL to zero and you can test your resolver. You can still fine tune these parameters. If you review the code, you can figure out the logics.

    There is no fixed value for any of these parameters. The control suite code comes with some default values. If you are not happy with the performance, then you may consider tuning them. The significance of the parameters are given in the code/ literature.

    Since you have custom designed, I recommend reviewing
    C:\TI\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00\~Docs\Sensored FOC of PMSM_IDDK_v2.pdf, page 23. This will give an outline of tuning, you may use it as applicable.

    rgds,
    ramesh
  • Hi,

    Thank you for your response. It helps a lot. I have one more questions about these subject. I could measure the motor angle and speed via original tmdsrslvr code. I want to driving motor with same code too. I partially succeed it. In code the MATH_TYPE is chosen as IQ_MATH. I want to change it. But when I change it to FLOAT_MATH, the angle measurement became weird.

    In the code where C:\TI\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00\~Docs\Sensored FOC of PMSM_IDDK_v2.pdf,  MATH_TYPE is chosen as FLOAT_MATH. But the resolver.lib file is different than my library file( I tried to use it to but angle measurement got weird again, it looked like sinus signal. it should look like triangle, my motor turning with constant speed without load.). I am using TMS320F28335, is there any way or solutions can I use float math type with my DSP.

    Thank you in advance.

    Mrs. Ceren ACAR

    R&D Software Engineer

     

    Note: If I have to rewrite the .lib code, could give more documents about resolver. I already read SPRA605 and http://www.ti.com/lit/wp/spry212a/spry212a.pdf documents. 

  • There is a demo code for 335 and a float lib as well for the resolver project. Pls check the folder again

    C:\ti\controlSUITE\development_kits\TMDSRSLVR_v1.0\Resolver_f28335

  • Hi Ramesh ,
    thank you for your answer. But i guess, you mistunderstand me.

    I checked out the code you mentioned. In that code I want to change MATH TYPE. When I changed the line 65-67 like in the below,

    #ifndef MATH_TYPE
    #define MATH_TYPE FLOAT_MATH
    #endif

    the angle out in the kit (TMDSRSLVR KIT out --> T1(test point 1). ) changed too. How can I use these "float math type" in my project?


    And I working on the SPRA605, is there any code sample of that application note.

    Thank you very much.


    Mrs. Ceren ACAR

    R&D Software Engineer
  • Hmm... didn't realize that 335 project has MATH_TYPE defined as IQ_MATH. Anyway, refer to this project below where resolver is integrated with motor control code as well.
    C:\ti\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00

    There is a resolver.c file containing resolver interface code. There is a IDDK_PM_Servo_F2837x.c file containing the main code. Here, the MATH_TYPE is defined as 1, which is FLOAT. You can review these. Hopefully you find your answers here.

    rgds,
    ramesh