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.

DRV8323: Current sense output on SOB, % error decreases with load

Part Number: DRV8323

I am using the current sense of the DRV8323S Three Phase Gate Driver (8.3.4 Low-Side Current Sense Amplifiers (DRV8323 and DRV8323R Only).

The problem I am having is getting a “correct” current sense output from the DRV8323S driver. The % error ranges from about 14% at 0.5A to about 2% at 4 amps. As the current increases the  % error decreases.   I am looking for 5%  error or better, throughout the range of motor current (0A-10A).

 

Questions:

  • Why is the error range so wide? 
  • Is the circuit layout correct?

 

Here are the following details of the test bed:

Schematic: See below

Motor load of 0A - 10A

Current Sense Amplifier Control Register configuration:

         Calibration: 0x21C

    Normal mode: 0x200

Configured in Bi-directional mode

Gain of 10-V/V

RSENSE = O.025 +- 1%

R182, R183 and R193 are not populated.

Measuring output at TP13

DC motor current is measured using a 3-1/2 digit Fluke

AC motor current is calculated by capturing SOB, using a 6-1/2 digit Fluke, and then calculating the current using the bi-directional equation for current

Looking at the spreadsheet (see below), although the Calculated values are not accurate, there is a considerable difference in % error from 0.5A load to 3.7A load

 

Any insights would be greatly appreciated.

  • Richard,

    It's common to have more error near the lower values of the current sense because there is more noise to deal with and less voltage to sense. This being said we can probably optimize this to reduce your error.

    Have you tried any other current sense resistor values?

    Did you calculate the current sense resistor value such that 10A will use near the full range of the CSA output?

    Regards.

    -Adam

  • Hi Adam,

    The current sense resistor (std 1% 0.025 ohm) was chosen for the range of current: 0A-10A (actual range is 0A-10.8A in the linear region).

    Is the board layout optimized;  is there anything that I could change?

    I understand that I can narrow the range of the current sense to improve error in the output, but that would compromise the range that I want to monitor.

  •      I set up another test bed where I removed the current sense resistor and used a KEITHLEY SourceMeter to output a constant voltage into the DRV8323S current sense amplifier, across terminals SPB and SNB .  I then measured VREF and the output to the op-amp (DRV8323S SOB).  The DRV8323S current sense amplifier is not outputting the expected signal.  I also changed the CSA configurations, with little effect on the output.

    TEST BED RESULTS:

    Explanation of Charts:

    1. EXPECTED MTR LOAD (below):
    1. BLDC MTR CURRENT RANGE is the motor current range of the motor I am measuring (highlighted in green), with the 0.025 ohm current sense resistor with a gain of 5
    2. CURRENT SENSE INPUT (SPB -SNB) is the voltage drop across the current sense resistor (E =I X R) at a given MTR current.  This is the value inputted into the DRV8323S current sense amplifier by a KEITHLEY SourceMeter.

    1. TEST BED 1:
    1. MTR LOAD @ SOURCE METER OUTPUT is the simulated motor current when the source meter inputs a given voltage
    2. CSA CONFIG is the configuration setup of the Current Sense Register of the DRV8323S
    3. CURRENT SENSE GAIN is the configured gain of the current sense amplifier of the DRV8323S
    4. SYSTEM VOLTAGE is the battery voltage applied to the DRV83223S and the switching FETS
    5. SOURCE METER OUTPUT SETTING is the output setting of the KEITHLEY SourceMeter
    6. SOURCE METER OUTPUT is the measured output of the KEITHLEY SourceMeter, into the DRV8323S current sense amplifier section at SPB (pin 12) and SNB (pin 11)
    7. 3.3V VREF is the measured reference voltage of the current sense amplifier section, measured at VREF (pin 24) and ground
    8. DRV8323 SOB OUTPUT is the measured output of the DRV8323S current sense amplifier section at SOB (pin 22)
    9. EXPECTED SOB OUTPUT is the expected voltage output of the DRV8323S current sense amplifier at SOB (pin 22), at the given motor load (highlighted in green)

       

       

                   Notice that:

    • The measured SOB output and the expected SOB are significantly different
    • The measured SOB does change with a change in SourceMeter output, just not the expected value
    • Some SouceMeter input values were omitted, once it was apparent that the current sense amplifier was not working correctly

     

    I have the following questions:

    1. Should the current sense layout,  shown in the schematic in a previous post with the external current sense op-amp circuit isolated from the DRV8323S current sense amplifier, work?

     

    1. Should I be able to input a constant voltage into the DRV8323S current sense amplifier section, across SPB and SNB, to test the current sense amplifier output at SOB?

     

    1. What kind of accuracy should I expect from the DRV8323S current sense amplifier when working correctly?

     

    1. Is there anything I could change or try to make the DRV8323S current sense amplifier work?  The intent of buying the TI driver was that the added feature of the current sense would be of value.

    I anticipated it to work, within the design parameters set forth in the DRV8323 data sheet.  

  • Hi Richard,

    The CSA error is so large at relatively low current is because of errors introduced by input offsets and ADC error and voltage reference error there will add or subtract a constant error such as +/-100 mV onto the output of the CSA. Now for smaller currents the CSA will only read 100mv on the output of the CSA + the error voltage which is +/- 100mV. this means that the error of the read current could +/-100% off. If a larger current is going through the CSA and the CSA is outputting +2V then the +/-100mV will be only 5% error at most. This is why the error is larger at smaller currents. 

    There are many things that you can do to increase the accuracy of the CSA, you can calibrate for the input offset voltage with 0 current flowing through the sense resistor. you can also calibrate for your ADC's error in the factory. Here are more resources about CSA's http://www.ti.com/amplifier-circuit/current-sense/support-training.html

    1. you can have 2 CSA circuits like you post above that should not cause an issue.

    2. you can do that as a sort of calibration.

    3. The accuracy really depends on how you design your system and calculating the error from the system parameters. 

    4.What current levels are you targeting and what accuracy are you targeting?

    Regards,

    Michael W.

  • Hi Micheal,

    Thanks for your feedback.  I understand now the problems associated with current sense at low currents (input voltages).

    The range of current is from -10A to 10A.  The target accuracy was 5% or less.

    The challenge moving forward is to determine which method of current sense will be acceptable, without laying out a new board.  The goal was always to use the DRV8323S current sense feature.

    Can you speak to using a SourceMeter, with a known input voltage, to test the DRV8323S current sense amplifier output?  Can this be done, after removing the current sense resistor, without driving a motor? 

  • Hi Richard,

    Yes you can attach a source meter to the CSA and then test the CSA without the CSA.

    Also keep in mind that the CSA differential input range is only +.3V to -.3V any voltage outside that range is not going to work properly. 

    Another thing you can do is if your motor has a smaller current flowing through it you can increase the gain of the CSA when the current is small and decrease the gain when the current is large. 

    If you use a 30 mOhm sense resistor then your voltage across the sense resistor will be +.3V and -.3V max.

    Regards,

    Michael