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.

Maximizing current output

Other Parts Discussed in Thread: BOOSTXL-DRV8305EVM, LAUNCHXL-F28069M, MOTORWARE, DRV8305

I have been using the BOOSTXL-DRV8305EVM board with the LAUNCHXL-F28069M board for a while now and I am still confused about the current values. In the http://www.ti.com/tool/BOOSTXL-DRV8305EVM website it is written that the booster can supply a constant of 15A with a peak value of 20A. It is not specified in any of the user guides etc what value are those. Is it per phase, is it average current or something else? In the instaspin labs prepared exactly for my combination of hardware, the default maximum USER_IQ_FULL_SCALE_CURRENT_A is set to 24.0:

#define USER_IQ_FULL_SCALE_CURRENT_A         (24.0) // BOOSTXL-DRV8305EVM = 24.0 A

The code clearly shows this is a value specific to the booster I'm using. So how does that relate to the 15/20A values mentioned above? On the other hand, the value for adc full scale current is set as follows:

#define USER_ADC_FULL_SCALE_CURRENT_A        (47.14)  // BOOSTXL-DRV8305EVM = 47.14 A

could I increase (and what would happen if I did) the value of USER_IQ_FULL_SCALE_CURRENT_A to push more current through the motor under full load?

  • 15A peak continuous
    20A peak maximum

    SPRUHJ1 explains the USER values

    ADC_FULL_SCALE is the hardware scaling of the current sense circuit. 3.3V at the ADC corresponds to 47.14 / 2 A, 1.65V at the ADC corresponds to 0A, and 0V at the ADC corresponds to -47.12/2 A

    IQ_FULL_SCALE needs to be >= 47.12 / 2

    do not change these values unless you change your HW.

    if you want to increase possible current make sure USER_MOTOR_MAX_CURRENT is increase up to 47.12 / 2

    remember that FOC will control minimum current for the load, so to actually pull that much current the motor will need to be loaded enough to require the torque.
  • For my reponse I will number the points, to make it easier to respond to.

    ChrisClearman said:
    15A peak continuous
    20A peak maximum

    1. Per phase, or average?

    ChrisClearman said:
    SPRUHJ1 explains the USER values

    2. It does explain what these are (their names are very descriptive themselves), but not how they relate to the values (15A continuous/20A peak) I have mentioned...

    ChrisClearman said:
    ADC_FULL_SCALE is the hardware scaling of the current sense circuit. 3.3V at the ADC corresponds to 47.14 / 2 A, 1.65V at the ADC corresponds to 0A, and 0V at the ADC corresponds to -47.12/2 A

    3. Yes, that is clear, it's how the voltage dividers scale stuff to the ADC input, that's why I didn't ask about this.

    ChrisClearman said:
    IQ_FULL_SCALE needs to be >= 47.12 / 2

    4. Yes, and this here is my first problem. If this is supposed to be always < ADC_FULL_SCALE / 2 then why by default in motorware is this set to 24.0? That is higher than ADC_FULL_SCALE / 2.

    ChrisClearman said:
    if you want to increase possible current make sure USER_MOTOR_MAX_CURRENT is increase up to 47.12 / 2

    remember that FOC will control minimum current for the load, so to actually pull that much current the motor will need to be loaded enough to require the torque.

    5. Yes, I am already operating with a user max current set to 23.0 and am applying full load that the motor cannot overcome, as mentioned in the last sentence of my previous post

    6. Let me rephrase my original question. How does the 24A of Iq current and the board spec of 15A continuous/20A peak current relate to each other.

  • 1. per phase
    2. the maximum peak HW measurement is 47.12 / 2 = 23.56 A
    3. --
    4. You are misreading. IQ >= ADC / 2; USER_IQ >= 23.56A. Typically you set = or round up to the next integer
    5. ok
    6. This is all just fixed point scaling factors to convert between the analog and digital domains. USER_IQ is the base unit in the digital domain. When set to 24A and your speed controller saturates the USER_MOTOR_MAX_CURRENT of 23A, then what is actually being requested is 23/24 per unit Amps = 0.9583 pu

    see this description
    processors.wiki.ti.com/.../TMS320C2000_Motor_Control_Primer
  • In the mean time I did manage to figure out that the current is denoted per phase, and the values are lower than the hardware actually allows. The hardware is capable of doing up to +/- 47.14A/2  which is around 23,57A per phase. It tops out on that value because of the current measurement gain. Now my question is if just changing the current shunt to a smaller value (0,002 or 0,005) would increase my current output, because my measurement range would also be increased. I have checked and the mosfets allow easily for 29A continuous current (at 40'C) and would also allow 100A, but not on this PCB. As I can't decrease the current amplifier gain in the drv8305 from 10V/V (as it's already the minimum) it looks like my only choice is decreasing the value of R_sense. I would of course sacrifice accuracy, but increase the maximum current possible. Is my reasoning correct?

  • yes you can change the current sense network to adjust the range per SPRUHJ1 up to the limits of the mosfets and PCB design