Quantcast
Channel: Motor drivers forum - Recent Threads
Viewing all articles
Browse latest Browse all 14309

BOOSTXL-DRV8323RS: MOSFET switching speeds and deadtime.

$
0
0
Part Number: BOOSTXL-DRV8323RS
Other Parts Discussed in Thread: DRV8323

Tool/software:

Hi, I recently used the BOOSTXL-DRV8323RS to prototype some BLDC motor controller. Then I basically copied the BOOSTXL Board but changed the MOSFETs to higher power MOSFETs. This is the part number: NTMFSC0D9N04CL. I am trying to run Lab02b just to test my custom PCB but the motor draws a lot of current during calibration and calculated the Rs value as basically infinity. I added 4.7 ohm gate resistors but nothing changed. I also tried to change these values: 

//! \brief Defines the PWM deadband falling edge delay count (system clocks)
//!
#define HAL_PWM_DBFED_CNT 54


//! \brief Defines the PWM deadband rising edge delay count (system clocks)
//!
#define HAL_PWM_DBRED_CNT 54.

It seemed like changing these did not do anything. I tried setting them to 9999 and it still exhibited the same behavior and nothing changed. Is there somewhere else I am supposed to change the deadtime? I also tried adding this to main:

#ifdef DRV8323_SPI
// Watch window interface to the 8323 SPI
DRV_SPI_8323_Vars_t gDrvSpi8323Vars;
#endif

#ifdef DRV8323_SPI
// turn on the DRV8323 if present
HAL_enableDrv(halHandle);

// initialize the DRV8323 interface
HAL_setupDrvSpi(halHandle,&gDrvSpi8323Vars);

// Set current sense amplifier gain and VREF_DIV, as in original code
gDrvSpi8323Vars.Ctrl_Reg_06.CSA_GAIN = Gain_20VpV;
gDrvSpi8323Vars.Ctrl_Reg_06.VREF_DIV = 1;


// Set the dead time to 400 ns
gDrvSpi8323Vars.Ctrl_Reg_05.DEAD_TIME = DeadTime_400_ns;

// Set the high-side gate drive peak source current
gDrvSpi8323Vars.Ctrl_Reg_03.IDRIVEP_HS = ISour_HS_1p000_A;

// Set the high-side gate drive peak sink current
gDrvSpi8323Vars.Ctrl_Reg_03.IDRIVEN_HS = ISink_HS_1p250_A;

// Set the low-side gate drive peak source current
gDrvSpi8323Vars.Ctrl_Reg_04.IDRIVEP_LS = ISour_LS_1p000_A;

// Set the low-side gate drive peak sink current
gDrvSpi8323Vars.Ctrl_Reg_04.IDRIVEN_LS = ISink_LS_1p250_A;

// Write the new values to the DRV8323
gDrvSpi8323Vars.WriteCmd = true;
HAL_writeDrvData(halHandle,&gDrvSpi8323Vars);

// Read the values back for verification
gDrvSpi8323Vars.ReadCmd = true;
HAL_readDrvData(halHandle,&gDrvSpi8323Vars);
#endif

I tried setting the currents to lower values than what is shown and still no luck, nothing has changed. Any suggestions would be greatly appreciated. Thanks!


Viewing all articles
Browse latest Browse all 14309

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>