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.

Question to proj_lab02a: motor identification wrong and how to copy file .out into \appProgram.out

Other Parts Discussed in Thread: DRV8301, MOTORWARE, DRV8312, INSTASPINUNIVERSALGUI

Hi all,

i'm struggling with the proj_lab02a using DRV8301 KIT REVD with some problem:

1. following the instruction C:\ti\motorware\motorware_1_01_00_16\docs\labs\instaspin_labs

i can identify my motor (built by myself) somehow by set the variable “gMotorVars.Flag_enableSys” and the variable “gMotorVars.Flag_Run_Identify” equal to 1. BUT motor didn't rotate during the identification ? and the estimated valuea : Rs and Ld, Lq are strongly different to my measurement .

2. Using the GUI by running the .exe in C:\ti\guicomposer\webapps\InstaSPIN_MOTION_F2806xM: motor can be identified but the estimated value : Rs and Ld, Lq are still different to measurement. And why motor didn't rotate during identification in 1?

--> Therefore i want to user my own motor parameter using "user.h"


3. Doing like 1, i don't know how to copy the proj_lab02a.out to the \appProgram.out. I tested with the provided data from proj_lab02a:

+ copy "proj_lab02a.out" into the same folder as "appProgram.out" in C:\ti\guicomposer\webapps\InstaSPIN_MOTION_F2806xM
+ run   InstaSPIN_MOTION_F2806xM.exe

+ chose: identification method "user.h" setting

--> only "standard" data are displayed and not the estimated data provided in 1. What am i doing wrong here?

I would appreciate any advice for any step described above.


Best

Giang To

  • Giang,
    I suggest trying to get proj_lab02a (or 02c is actually preferred as it will work with more motors including high speed, high inductance motors) working.

    Please reply, Use rich formatting, and drag/drop your user.h file in.

    What is the max frequency of your motor? Set this to ~10% USER_MOTOR_FLUX_EST_FREQ_Hz
    What is the max current? Set this to 20% USER_MOTOR_RES_EST_CURRENT


    Your Rs value should ID correctly. Note it is line-neutral and not the line-line you can hand measure.

    The motor needs to start and keep spinning from RampUp state. Increase USER_MOTOR_RES_EST_CURRENT until it starts up and reaches target frequency USER_MOTOR_FLUX_EST_FREQ_Hz
  • Hi Chris,

    thank you for your response. I tried also the setting described in lab02c but without success.
     max Frequency is 500 Hz , max Phase current ist 20Arms.

    If i could identify with proj_lab02a , i still don't know how to apply the motor parameter in the GUI in C:\ti\guicomposer\webapps\InstaSPIN_MOTION_F2806xM

    Best

    4861.user.h

  • the user.h file you loaded is based on DRV8312.
    You need to be using the one at
    C:\ti\motorware\motorware_1_01_00_16\sw\solutions\instaspin_foc\boards\drv8301kit_revD\f28x\f2806xF\src

    try again.


    Regarding the GUI, the GUI you are using you can NOT change the project. It is fixed to the appProgram.out

    If you want to use a GUI with MotorWare projects install INSTASPINUNIVERSALGUI

    Note that once you install this one the other GUI won't work correctly.
  • Hi Chris,

    the motor can be identified using the projectsFur in C:\ti\motorware\motorware_1_01_00_16\sw\solutions\instaspin_foc\boards\drv8301kit_revD\f28x\f2806xF\
    , the resistance of phase Rs ist around 20% higher than the measurement but i think it's ok for the first step. Attached is the current user.h i'm using.4314.user.h

    After build the project

    + the proj_labxx.out was copied into the folder C:\ti_2\guicomposer\webapps\InstaSPIN_F2806xM_UNIVERSAL

    + proj_labxx.out renamed in appProgram.out

    + run InstaSPIN_UNIVERSAL.exe, the fields for Rs, Ld, Lq are empy. The identified motor parameters should be imported in the GUI_UNIVERSAL, shouldn't it?. Or what am i doing wrong here?.

    If i want to run my motor with own motor parameter using torque or speed control, the only way is using CCS and load on MCU in Realtime mode right? and it is not possible using the GUI.

    Further question: what setting would you suggest for a motor with high load torque at start up?


    Best

    Giang

  • "+ run InstaSPIN_UNIVERSAL.exe, the fields for Rs, Ld, Lq are empy. The identified motor parameters should be imported in the GUI_UNIVERSAL, shouldn't it?. Or what am i doing wrong here?."

    only if before running you selected the Flag for UserParams. Also, did you use proj_lab02x?

    I recommend working through labs 3 to understand some of the other user.h settings and then load a lab like 5b or 10a in the GUI.

    Alternatively you can actually import the GUI into the CCS GUi Composer tool and run it with any project instead of using the Expressions View. This is what I do so I can see all variables easier.


    "Further question: what setting would you suggest for a motor with high load torque at start up?"

    If running in speed control mode you need to insure that
    USER_MOTOR_MAX_CURRENT (5.0)
    is a large enough peak current to move your load

    and you should do an RsRecal before start-up and insure that
    USER_MOTOR_RES_EST_CURRENT (1.0)

    is large enough to align (move) the rotor under the load.

    When using ForceAngle enabled flag you will need to play with this value
    USER_ZEROSPEEDLIMIT (0.5 / USER_IQ_FULL_SCALE_FREQ_Hz)

    your motor is low flux and the voltage scaling of the board is rather high so you probably need to change the 0.5 to somewhere in the 3.0 to 6.0 range.