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-69M-KIT: Problems with a custom hardware (basing on DRV8301-69M-KIT)

Part Number: DRV8301-69M-KIT
Other Parts Discussed in Thread: DRV8301

Hi,

We have designed a custom PCB with F28069M to control a BLDC motor (about 7kW, Rs identified to be 0.01 Ohm, Ls about 2e-5). Apart from additional modules, the schematics of the controller part is basically the same as DRV8301-69M-KIT with only a few changes:

- Shunt resistors reduced by a factor of 10 (to 200 uOhm)

- More 1000uF capacitors included for the main power supply. See the schematics (J4A and J4D are just additional connectors):

adf

- Used 2 MOSFETs instead of 1 per each phase of the motor output (FDBL86561-F085 instead of original SUM110N06-05L)

- Control Card elements integrated in PCB layout

We have also changed ADC parameters from user.h accordingly with our change in shunt resistance:

#define USER_IQ_FULL_SCALE_CURRENT_A          (412.5)

#define USER_ADC_FULL_SCALE_CURRENT_A        (825)

Now, there are two problems that we observe with our kit.

1) We have tried to run instaSPIN labs on our custom PCB first. Lab1 makes the motor run well - just as expected. However the problems occur during identification phase of instaSPIN controller at lab2a, see the video: https://drive.google.com/file/d/1tv2-B-v83gWK9T9bWXbWvt4YAMOCrEnn/view?usp=sharing . Are there any other parameters that need to be changed? There were no problems with this lab on evaluation kit! Trying to omit the identification process with supplying previously measured parameters results in similar issues. Do you have any ideas on what's going on there?

2) The 3.3V/5V in-system voltage is unstable when powering the PCB from 4V and 5V power supply. Of course we are not going to use such low voltage on the final system, but we can see those oscillations in transient response when switching from a higher voltage - see oscilloscope screenshots below (connected between GND and 3.3V output). Would you have any idea on what can be the reason for such behavior? Everything looks well on evaluation kit (it's either powered = stable 3v3 or not = 0v). We are happy to supply a trusted TI employee with full schematics in a private message, but wouldn't like to share it publicly.

A) 4V power supply:
 adf

B) 5V power supply:

C) 12V - 0V step response:
 d

  • 1. Please make sure that the USER_ADC_FULL_SCALE_VOLTAGE_V and USER_ADC_FULL_SCALE_CURRENT_A are calculated based on the h/w, and set also a correct gain of DRV8301 according to the scale value.
    2. Please check the sample current waveform if it's close to a pure sinusoidal shape when the motor is spun using lab01b.
    3. Please try to run lab01c first to look at if the motor can be controlled by current close loop control, and then go to lab02c to identify the motor.

    Btw, it's not a good idea to use such low resistance shunt for current sampling that requires very high qualification board.

  • Hi, thankyou for the feedback.

    could you please elaborate a bit on the impact of very low value shunt resistance? 

    WE need a very low shunt resistance to be able to run 200A . Or it will get too hot..

  • For very low shunt resistance, the problems are 1) the parasitic capacitance and resistance from the PCB trace has a more pronounced affect on the shunt reading 2) the gain of the op-amp must be increased, which increases the chances of noise being amplified. I believe Yanming meant that using such a shunt requires a very high quality board, to ensure the parasitic capacitance, trace resistance, and noise coupling are all very low to give reliable reading. Typically, such high amperage drive circuits use hall or LEM sensor to sense the current, because as you said it is possible to generate a lot of heat on the shunt, and using a small resistance leads to the problems I mentioned above

    Sean
  • , responding to your suggestions:

    1. Please make sure that the USER_ADC_FULL_SCALE_VOLTAGE_V and USER_ADC_FULL_SCALE_CURRENT_A are calculated based on the h/w, and > set also a correct gain of DRV8301 according to the scale value.

    Both parameters are calculated basing on the instruction from one of TI's PDFs, so this should be fine. But I thought that DRV8301 gain doesn't change anything, as an external op-amp is used (basing on this thread: https://e2e.ti.com/support/microcontrollers/c2000/f/902/t/432194?Understanding-the-define-USER-ADC-FULL-SCALE-CURRENT-A-value-used-in-the-DRV8301-69M-KIT-RevD-vs-the-LAUNCHXL-28069M-kit-with-a-BOOSTXL-DRV8301-board- )? Unless the op-amps need changing too...

    2. Please check the sample current waveform if it's close to a pure sinusoidal shape when the motor is spun using lab01b.

    We generally had a tough time with DAC module plots, but we will try to re-approach this lab later to confirm.

    3. Please try to run lab01c first to look at if the motor can be controlled by current close loop control, and then go to lab02c to identify the motor.

    Lab01c runs perfectly well, but lab02 creates problems...