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.

TMS320F28069: RsRecalc accuracy expected

Part Number: TMS320F28069
Other Parts Discussed in Thread: DRV8301,

Hi,

I started with the DRV8301-HC-EVM with TMS320F28069 control card for development and now I am testing my first revision of hardware.  I used most of the same circuits (µC, DRV8301, current measurement, BEMF measurement, 1.65V reference, etc..) as the EVM but obviously the layout is different.  Our application requires the motor to start and stop many times into a variety of hydraulic loads so I would like to to utilize the Rs Online algorithm but first I wanted to validate the RsRecalc measurement with my hardware to ensure repeatable results.

For all of the information below I used Lab4 with the Flag_enableRsRecalc = true in main.h.

MAIN QUESTIONS:

  1. What accuracy should I expect (measurement to measurement on one hardware and between different sets of same revision hardware) for the RsRecalc value?  I know there will be variability but what should be considered good enough for the FOC algorithm and for Rs Online going forward?
  2. How is Rs measured during RsRecalc?  I know there is a DC current and there must be a voltage measured somewhere.  I want to understand what hardware affects the measurement/calculation.

Below is data for reference, all from the same motor.  I also included the gMotorVars.I_bias.value[x] values

Rs = 13.3mΩ (measured on a milliohm meter with Rphase to Rphase Y = 26.6mΩ)

Values recorded using DRV8301-HC-EVM with different current measurement scaling configurations.

Rs gMotorVars.I_bias.value[0] gMotorVars.I_bias.value[1] gMotorVars.I_bias.value[2]
EVM #1 Lab 4 RsRecal=true 3 shunts
USER_ADC_FULL_SCALE_CURRENT_A (41.25)
USER_ADC_FULL_SCALE_CURRENT_A (272)
1k and 20k for Imeasure op amp circuits, 0.002Ω shunt
17.8k and 4.99k divider for all voltage measurements
0.016182 0.989415 0.981926 1.000942
0.015964 0.989573 0.981939 1.000902
0.016230 0.989554 0.981799 1.000827
0.016370 0.989623 0.981882 1.000935
0.016384 0.989376 0.981772 1.000750
0.016191 0.989540 0.981902 1.000829
AVERAGE 0.016220 0.989514 0.981870 1.000864
EVM #1 Lab 4 RsRecal=true 3 shunts
USER_ADC_FULL_SCALE_CURRENT_A (165)
USER_ADC_FULL_SCALE_CURRENT_A (330)
1k and 20k//6.64k for Imeasure op amp circuits, 0.002Ω shunt
17.8k and 4.99k divider for all voltage measurements
0.015795 0.995750 0.991929 1.002518
0.015848 0.995718 0.991698 1.002228
0.015545 0.995529 0.991541 1.002182
0.015995 0.995428 0.991787 1.002359
0.015873 0.995682 0.991952 1.002550
0.016205 0.995464 0.991529 1.002242
AVERAGE 0.015877 0.995595 0.991739 1.002347
EVM #1 Lab 4 RsRecal=true 3 shunts
USER_ADC_FULL_SCALE_CURRENT_A (136)
USER_ADC_FULL_SCALE_CURRENT_A (272)
1k and 12.1k for Imeasure op amp circuits, 0.001Ω shunt
17.8k and 4.99k divider for all voltage measurements
(SAME SCALING CIRCUITS AS MY HARDWARE)
0.014882 0.993159 0.990278 0.999778
0.016156 0.992771 0.990272 0.999641
0.015642 0.992970 0.990390 0.999736
0.015950 0.992773 0.990390 0.999635
0.015697 0.992756 0.990467 0.999681
0.015354 0.992895 0.990347 0.999714
AVERAGE 0.015613 0.992887 0.990357 0.999697

Values recorded using my hardware (using 2 shunts):

  • USER_IQ_FULL_SCALE_CURRENT_A          (136)
  • USER_ADC_FULL_SCALE_CURRENT_A        (272)
  • 1k and 12.1k for Imeasure op amp circuits, 0.001Ω shunt
  • 17.8k and 4.99k  divider for all voltage measurements
  • user.h is attached
Rs gMotorVars.I_bias.value[0] gMotorVars.I_bias.value[1]
MC9 0.017040 0.996757 0.999924
0.017002 0.996795 0.999876
MC8 0.013684 1.004826 1.004693
0.013659 1.004655 1.004578
MC12 0.012777 1.005780 0.995970
0.012679 1.005858 0.996072
MC13 0.013903 1.000876 0.996826
0.014261 1.001014 0.996924

8787.user.h

  • The RsRecalc process is the same as motor parameters identification, the accuracy expected depends on current, voltage sampling deal circuit and the ADC of controller. If the hardware scale current and voltage is near motor maximum current and voltage, and inject a larger current (USER_MOTOR_RES_EST_CURRENT) will improve the accuracy also.
  • Thanks for the response.

    What do you mean by "voltage sampling deal circuit"?  Is this measurement from the BEMF measurement (ADC-Vnbx)?  When during the switching cycle is the voltage measured?  There is literature about the current measurement but does something exist for the voltage measurement?

    I will do a study with a higher USER_MOTOR_RES_EST_CURRENT and compare results.  What would you expect for Rs variability among a set of DRV8301-HC-EVM boards?

  • 1. Right, it's the measurement of motor phase voltage which include BEMF. InstaSPIN need both motor phase current and voltage for angle estimator.
    2. The value of injecting current depends on motor, not only hardware board. 25%~50% of motor rated phase is better to implement.