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.

Adapting motor parameters in the DMC library

Hello ,

I have a question about setting the motor parameters in the DMC library examples. I am using the FOC example for the PMSM. In the parameter.h header file, the motor parameters can be adapted. My first question is how to calculate the base values. In SPRA494, I found out that the calculation should be done as follows. E.g. Ibase = Irated* 2^(1/2). Is that the right way for calculating the values?

The second problem I am facing is that I can`t see where the defined motor parameter values are used in the program. If I use the search function in Code Composer Studio, I see that the base frequency is used for some calculations. However, important values like the base current and base voltage are not used. Now I would like to know if it is Ok to adjust the motor parameters in the parameter.h file and that these values are considered during the control process.

The hardware site of the application is working. The current sensor delivers a signal from 0 to 15V for Imin to Imax. This signal is scaled with OP circuits to 0-3 V  to feed the ADC of the F2833 controller.

Thank you very much for the help!

  • Hi,

    Have you been able to solve this problem yourself?

    I am also wondering why motor parameters are created in parameters.h but never used in the application.

     

  • Hello,

    The base quantities in the parameter.h or in ...-settings.h (in control suite) are determined based on maximum measurable quantities.The ones used in the code are given below:

    #define BASE_VOLTAGE    184.752            // Base peak phase voltage (volt), maximum measurable peak phase voltage, typically it is Vdcbus/sqrt(3)
    #define BASE_CURRENT    20                    // Base peak phase current (amp), maximum measurable peak current 0-3V->0-20A here
    #define BASE_TORQUE     7.35105194     // Base torque (N.m) this is not used you can delete it
    #define BASE_FLUX       0.79616                 // Base flux linkage (volt.sec/rad) this is not used you can delete it
    #define BASE_FREQ          60                       // Base electrical frequency (Hz), this refers to maximum(rated) speed of the motor. The formula is w(rpm)=120 * freq / number of poles 

     

    The motor parameters (Rs.Rr,Lm ..) are needed for sensorless PMSM,ACI and sensored ACI. if you are running the sensored PMSM prj, yes you do not need them.

    If you search the terms above "in all files" and you cannot find them, then it is not used in that project. The parameter.h is a default format and employed for all projects, thats why some of the unused terms are included as well.

    Thanks

     

  •  

    Dear,

     

    I calculated the exact values of the PMSM used in High Voltage Motor Control and PFC Developer's Kit.

    I used the Anaheim Automation Specifications.

    5483.L010532 - Estun EMJ 60mm(Parametreler).pdf

    According to this sheet, The parameters can be calculated as:

     

    Rated torq:1.27Nm

    P=400W

    Inominal=2.7A

    Imax=8.1A(hep 3 katı)

    J=3.11347518e-5

    R=4.7ohm

    L=14.0013mH

     

    There is something interesting. The parameters used in Control Suite are equal to half of their true values, and they are as the following:

     

     

    #define RS 2.35        // Stator resistance (ohm) 

    #define RR                 // Rotor resistance (ohm) 

    #define LS   0.0065 // Stator inductance (H) 

    #define LR     // Rotor inductance (H)

    #define LM     // Magnatizing inductance (H)

    #define POLES   8 // Number of poles

     

    In this case, i dont know which is true. Why TI use half of true values? or did Anaheim present fault values?

    I am designing a new controller for PMSMs, and i need for the exact values of the parameters. But, this situation confuses me.

     

    I am looking forward to your reply, thanks in advance.

  • Hi, Did you find out why the values are halved and whether they are correct?

    Thanks!

  • Hi,

    I am using a custom board for implementing this project. My voltage sensors are scaled to measure 0-66.32V and the current sensors are scaled to measure -200 to +200A. My motor is 22 pole 50V, 200A 5KRPM PMSM.

    Does it mean that I should have 

    BASE_VOLTAGE    as 66.32,

    BASE_CURRENT    as 200 and

    BASE_FREQ          as 1100?

    Thanks,
    Tamil 

  • for the very old questions, the values are half because they are a line to neutral value instead of the line to line you are measureing or are using from a datasheet.

    Tamil,

    Yes, voltage and current are ok for these projects I believe.

    5K RPM with a 22 poles motor (11 pairs) is 917 Hz. Having a larger value is better, so 1100 would be fine.

     

    BTW, seeing these questions makes me want to promote InstaSPIN-FOC solution.  All of these types of challenges are solved with all the work we did for InstaSPIN. Highly recommend taking this approach...