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: Motor drivers forum

Part Number: DRV8301
Other Parts Discussed in Thread: TMS320F28026

Our design combination is TMS320F28026 + DRV8301 to control a brushless motor

DRV8301 provide over current protection, it indicated in datasheet about OCP behavior and OCP limit calculation. I use our design parameter to calculate the result as below

OCP = 0.73/14(mOhm) = 52.14A.

that's mean the maximum current flow through each phase will be limited if current over 52.14A right? When DRV8301 detect current higher than 52.14A will send a pull low signal to nOCTW right?

I measure motor current as below picture around 6A OCP is triggered. Then I provide larger resistance to force motor drive more current, maximum current around 18A and it seems like this current limit touch a ceiling. thus there are some questions I would like to know

   1. Why OCP is triggered at 6A, but the maximum current limit can reach 18A? OCP more like a "warning" and don't do anything to limit the current.

   2. 18A still much smaller than the design value (52.14A), is there any limitation for DRV8301 to prevent large current flow?

   3. Do TMS320F28026 have maximum output PWM duty cycle? I notice when current reach 18A, the PWM duty cycle from TMS320F28026 will reach 90%, is that reasonable? 

  • Hello!

    Thanks for posting on the MD forum!

    The OCP behavior depends on the setting of OCP_MODE and OC_ADJ_SET in the SPI table, could you tell me the values you have set here?

    Regards,

    -Adam

  • Hi Adam,

    Thanks for your reply.

    Please refer  below for my setting. I use Current limit mode and set OC_ADJ 0.73V

  • Hi Adam,

    After measurement, we found more questions about DRV8301 behavior. We can measure a VDS drop (Voltage A) when maximum phase current show up. and I measure different board for its VDS drop value, all of them will measure around 1.5V drop. I am wondering is DRV8301 provide a limit for IC if itself sense VDS higher than specific value? Or the limitation is come from MCU because it provide too large PWM duty cycle? 

    I check data sheet, it only said OC_ADJ will be a threshold to detect OCP behavior, and I think there are other limit to make DRV8301 stop providing current to motor (like below measurement mark in red)

  • Hi,

    My thought here is that one of two things is happening:

    The back EMF of the motor is large enough that your VBUS is not able to drive additional current into the motor (for current to be driven into the motor, the V_applied must be higher than the V_BEMF)

    The other thing could be that your VDS limit is not actually set as you expect. Can you try reading back the VDS register and show me the contents?

    Regards,

    -Adam

  • HI 

    Thanks for your reply.

    I write all the gate driver setting inside drv8301.c, Can you tell me where can I find the VDS register?

    I also notice the EVB that TI provide only apply maximum 14A phase current, Do you know the reason for this limitation?

    https://www.ti.com/lit/sg/sldc006/sldc006.pdf

    BTW, I can observe two relationship when phase current reach maximum

       1. PWM signal from MCU will higher than 90%, this PWM duty cycle is much higher than normal operation. Do datasheet or design manual define maximum MCU PWM duty cycle?

       2. MOSFET VDS drop around 1.5V even I use different MOSFET for testing, Will this 1.5V VDS sensing a limitation build inside DRV8301?

    Thanks,

  • Hello,

    Yes, the VDS register is documented in the datasheet as shown below:

    Likely the 14A limitation is due to the PCB/connectors/components.

    Regards,

    -Adam

  • Hi Adam,

    Thanks for your reply.

    Here is the SW information about DRV8301 setting. Is this the right information you want to see?

  • Hello,

    Yes these are the registers in question but I do not know the actual data that is being written. Could you please send a scope image of the data being written to register 0x2? Often the code makes sense but the data being sent out to the chip may be formatted wrong or have some issue which prevents the register from being written correctly.

    Also we would like to see what the MCU receives back when register 0x2 is read.

    Regards,

    -Adam

  • Hello,

    I have seen no update on this thread, did your issue get resolved?

    I will mark this thread as closed for now but please post again if you need further assistance. 

    Regards,

    -Adam

  • Hi Adam,

    Thanks for your help. I have two more questions would like to know

       - What is the motor maximum current set in user.h? Is that mean maximum phase current?

       - Is there any limitation for this value?

    Thanks,

    Brian

  • Brian,

    Yes, this is per phase, for more information, please post on the C2000 forum or check their User's Guide here: http://www.ti.com/lit/ug/spruhj1h/spruhj1h.pdf

    Regards,

    -Adam