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.

USER_ErrorCode_IqFullScaleVoltage_V_Low

Other Parts Discussed in Thread: DRV8301, BOOSTXL-DRV8301

Hi,

I use C2000 Piccolo Launchap (f28027f+ DRV8301 BOOSTXL).

The motor IDs runs in lab2a or lab2c, but I didn’t obtain results like my datasheet.

In my datasheet, the parameters of my PM motor are 32 V supply, Ls=0.0055 H and R=7.5 Ohm and npp=3.

I try to put the parameters of my datasheet into the user.h, I get a couple issues.

When, I want use Lab5b/Lab5c to find correct PI regulator, It is happened that:

USER_ErrorCode_IqFullScaleVoltage_V_Low appears and I can’t select Enable System .

In my user.h,

USER_IQ_FULL_SCALE_VOLTAGE_V = 24

  • 0.5*MAX_CURRENT*USER_MOTOR_LS_D*USER_VOLTAGE_FILTER_POLE_RPS
  • 0.5*8*0.0055*364.682 = 8

The condition is satisfied.

I don’t understand, why these problems are occurred… Someone can help me?

4101.user.h

  • USER_VOLTAGE_FILTER_POLE_RPS is defined as
    (2.0 * MATH_PI * USER_VOLTAGE_FILTER_POLE_Hz)

    so you need to multiply in another ~6.28 factor which give you a value of ~50

    if((USER_IQ_FULL_SCALE_VOLTAGE_V <= 0.0) ||
    (USER_IQ_FULL_SCALE_VOLTAGE_V <= (0.5 * USER_MOTOR_MAX_CURRENT * USER_MOTOR_Ls_d * USER_VOLTAGE_FILTER_POLE_rps)) ||
    (USER_IQ_FULL_SCALE_VOLTAGE_V <= (0.5 * USER_MOTOR_MAX_CURRENT * USER_MOTOR_Ls_q * USER_VOLTAGE_FILTER_POLE_rps)))
    {
    USER_setErrorCode(pUserParams, USER_ErrorCode_iqFullScaleVoltage_V_Low);
    }

    which means your IQ_FULL_SCALE_VOLTAGE_V > 50

    However, I'd first go back to your datasheet. Your values from the datasheet are likely line-line and InstaSPIN requires line-neutral values. But I'm more interested in understanding why your motor won't ID.

    The values in your user.h point to more of a higher voltage motor also. Are you sure this is rated for <24V? Can you post the datasheet?

    During ID does the ID fail?
    Does the motor start spinning during RampUp and continue spinning for the rest of the ID process?

    What values are returned?
  • I modify Rs, Ls value and IQ_FULL_SCALE_VOLTAGE_V in the user.h

    With your advices, I use correctly Lab5b now, it is ok I can change my speed setpoint.

    Thank you

     

    During the ID motor, It is happened that:

    ES_State_RampUp : the motor spins

    After, the motor stops

    ES_State_Ls : the motor start spinning with ripple . (when I show the signal of Hall sensor on the scope it isn’t periodic signal)

    I test several times and the parameters change all the time.

    I enclose different pictures, with Lab2b or Lab2c, Ls didn’t find correctly.

    All the time, I put 32V in the supply (PVDD-GND of my board), but all the time in the HMI you see only 26V.

    The input voltage delivered to the motor must be lower than 34V.

    The R line-line is 13.5 ohm and L line-line is 5.5 mH. The max permanent power is 15W.

  • the 2nd graphic looks like it ID'd correctly with Line-Neutral values.

    The BOOSTXL-DRV8301 only support 24V. It actually measures 26.314V maximum, so putting in more voltage is not advised and why it clips to the 26V it can measure.
  • If the MOSFETS supports Vds=60 V and Id=17A. What are the components who limits the voltage at 26 V ?

    It is the hardware or the software who limits the voltage at 26V ?

    If I apply overvoltage ( 26V for exemple). It is not adviced but there isn’t protection in the circuit to protect the driver. Just nFAULT led would be turn on to prevent the user ?

  • hardware limited. look at the voltage and current measurement circuits. they are designed for
    #define USER_ADC_FULL_SCALE_VOLTAGE_V (26.314) // 26.314 Vdc
    #define USER_ADC_FULL_SCALE_CURRENT_A (33.0) // +/- 16.5A peak-peak

    if you change the component values to increase the voltage range you will need to change the component values to lower the current range to keep the same power as the board is designed for. you would make these changes in the user.h as well

    the driver won't over-voltage, it's good for 60V, but the measurements are not correct as the circuit is going to clip everything to the ADC pin at 3.3V which the SW then translates to 26.313V