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.

BOOSTXL-DRV8305EVM: What is the recommended way to turn "OFF" and turn "ON" BoostXL-DRV8305 for PMSM Control

Part Number: BOOSTXL-DRV8305EVM
Other Parts Discussed in Thread: LAUNCHXL-F28379D, , DRV8305, BOOSTXL-3PHGANINV, DRV8312, BOOSTXL-DRV8301

Hi,

I'm working with LaunchXL-F28379D + BoostXL-DRV8305EVM to implement PMSM-FOC.

I wish to stop and start the motor from software, with PVDD "ON" (24V) at all times. The expected behavior is as follows:

STOP: Put all MOSFETs in high impedance state. 

START: Start switching MOSFETs as per PWM duty cycles generated from the LaunchXL-f28379D.

So far, I've used "EN_GATE" pin of DRV8305 by toggling GPIO124 of LaunchXL-f28379D to stop and start the motor as required.

However, recently I noticed that the EN_GATE is probably not the best way to implement this functionality.

This is because DRV8305 has its own internal start-up sequence for charge-pump for upper MOSFETs. 

So, it'd be incorrect to "START" the switching via EN_GATE as

  1. The MOSFETs might not switch properly for first few cycles (upto 1 ms as per section 7.3.3 of DRV8305 datasheet)
  2. The Current Sense amplifiers outputs (and in turn ADC inputs) will be affected for first few cycles, until DRV8305 is ready.

This leaves me with the question: What is the recommended way to implement this functionality?

Notes:

1) The DRV8305 is in 6 PWM mode for now.

2) I am also using 3 PWM mode for a separate project. I need solution for both 6 PWM mode & 3 PWM modes.

3) A generic solution will be much appreciated, as I'm also working with BOOSTXL-DRV8301, BOOSTXL-3PHGANINV and DRV8312 C2 KIT (Will post separate question, if needed for these boards).

4) I thought of applying 0% PWM duty, but that'll turn "ON" bottom MOSFETs as I'm generating PWM in complimentary switching mode. This is not recommended as it'll appear as a "Short-circuit" to motor's back-emf if it spins via external torque. High impedance states of the MOSFETs ensures that motor sees "Open circuit" in case of external motion.

  • Darshan,

    Thanks for posting on the MD forum!

    If you are intending to use the EVMs only then this may be more difficult as the correct way to do this would be to sequence the power supplies, PWM, and enable pin all together which may not be able to happen on the EVM without a lot of modification.

    If you do intend to use the EVMs for now then I think the Enable method which you are using now should be okay.

    For the DRV8305, when EN_GATE is low, the driver will hold the gates in High-Z, the charge pump is shut down, the low side gate is shut down, and the regulator (if included) is shut down. I see this as the quickest way to startup the driver and the best way to ensure that it is shut down.

    Regards,

    -Adam

  • Thanks for the quick response Adam.

    I do intend to use EVMs. A little background: I'm from MathWorks, and am working on some examples with these EVMs, where I need to START & STOP the motor.

    I guess we'll continue using the present approach.

    Alternatively, I was thinking of the following:

    1. STOP: Use the current approach of pulling EN_GATE to LOW and ensure MOSFETs are in High-Z state.
    2. START: Pull EN_GATE to HIGH, wait for 1 mSec for device to get ready, and then start the algorithm. Keep lower MOSFETs ON for this 1 mSec duration (bootstrapping / charge pump not reqd).

    Let me know if you think this as a better solution compared to the existing approach.