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.

DRV8301 development kit - Changing the current sense layout

Other Parts Discussed in Thread: DRV8301, MOTORWARE, BOOSTXL-DRV8301

Hello!

I have a DRV8301-HC-C2 kit with a F28069 Picoolo controlling a low-inductance motor. 

I have had problems with this kit as the motor have very low inductance. This causes the current-measurement to break down when I load the motor. To fix this problem, I have replaced the MOSFET's with some new ones with lower gate charge (run higher pwm-frequency). I have also lowered the gate-strength to 0,25 and changed the gate resistors to 15ohm.

To get more current draw from the motor, I have also changed the current-sense gain so that the full scale ADC current is now 160A. Before the change, I measured 30A from my batteries. Now after the change, it is almoust the same (I have increased the user_iq_full_scale_current to 82,5A and the max_motor_current to 70A. 

Is there anything else I can do with my current-sense layout? I have checked the current-signal, and it reaches 3,3V at about 30A (very noicy). Is it possible to insert a capacitor to make a low-pass-filter? Maybe change the estimator-poles? Something else?

When raising the current sense gain, I replaced the resistor R107, R95, R108, R105, R113 and R103 from 20k to 10k. 

Fridell

  • I have now checked my current-sense signals with an o-scope. I see that there is a lot of noice. I also checked the two internal op-amps on the DRV8301. If I set the gain to 80 (max), the current signals from the two internal op-amps is a lot better than the external op-amp circuit. 

    Is it possible to run FOC with the two internal signals from the DRV8301?

    Channel 1 measured at TP21 (internal op amp in the DRV8301).
    Channel 2 measured at TP25 (external op amp).

  • The MotorWare projects don't use the internal PGAs of the DRV8301.
    Did you actually change the scaling on the external current sense circuits / OPA that are used by the software?

    Also, increasing the range and lowering the resolution probably won't help much. The DRV8301 EVM doesn't have the best current sense layout. The traces from the OPA to the conrolCARD/ADC pin are much too long. A better design is to run the traces before the OPA, having the OPA as close to the ADC pin as possible. We tried to do this with the BOOSTXL-DRV8301 as best we could.

    Current sense of very low inductance / high short circuit current motors is very challenging as the current does not switch in a nice linear fashion, so taking a single sample at the center of the switching event doesn't give you a true average. Anything you can do to make this better will help. In phase current sensors (expensive) or adding inductance (I posted how to do this on a thread last year) can make a big difference.
  • Yes, the scaling is changed, doubling the ADC-range from 82,5A to 160A.

    You are right, increasing the range didn't help much.

    Isn't it possible to use the internal PGA's at all for the motorware projects? Because they do look a lot better!

    I am considering adding an inductance, I will check out your thread.
  • you can change to use the DRV8301 PGAs by changing which ADC pins are being captured in the HAL file. And changing any user.h current scalings as needed. I'm not sure those signals are that much better though.
  • ChrisClearman said:
    you can change to use the DRV8301PGAs by changing which ADC pins are being captured in the HAL file. And changing any user.h current scalings as needed. I'm not sure those signals are that much better though.

    Hello Chris.

    I changed the current reading in the hal.c file to ADC-A1 on IA-FB and to ADC-B1 on IB-FB. In the user.h file, I put the number of current sensors to (2), and I adjusted the full scale ADC current back to 82,5A. In the drv8301.c file, I changed the shuntampgain to 10, which is the smallest possible gain.

    Once again, you are totally correct. The new adc-signals doesn't give me any more power to my motor...

    But, I am considering adding a extra capacitor on the outputs of the external current sense op-amps. I see on my board that there are a couple of spare soldering pads made for this (C95, C96 and C97). I believe that these caps will produce a low pass filter for my op-amps. 

  • Fridell,

    One note to keep in mind is that op amps can drive a limited capacitive load. Adding a series resistance can help to improve how much capacitance the op amp can drive.