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.

LAUNCHXL-F280049C: with DRV8353

Part Number: LAUNCHXL-F280049C
Other Parts Discussed in Thread: DRV8353RS-EVM, BOOSTXL-DRV8320RS, DRV8353

Hello,

We are trying to develop a solution using the TMSF280049C and the DRV8353. We have successfully spun/identified our motor using the DRV8353RS-EVM + ISO-F28027F dev kits and the LaunchXL-F280049C + BoostXL-DRV8320RS dev kits, using instaspin lab 5 for both generations of firmware. Once these combinations worked, we tried to combine the DRV8353RS-EVM with the LaunchXL-F280049C dev kit. 

We have jumpered the appropriate connections between the two dev kits (SPI pins, nFault, Enable, power, ISENx, VSENx, Gate drives) to site 2 on the LaunchXL. I've successfully adjusted the firmware to allow the F280049C to communicate with the DRV8353 chip. 

When running is05_motor_id, set flagEnableSys to 1, then flagRunIdentAndOnline, the micro attempts to identify the motor for 1-2 seconds before the DRV chip throws a fault. The faults are always related to undervoltage. I am using a benchtop power supply, the motor begins drawing high current until the voltage dips too low.

We have made two significant changes in the firmware. First, we have removed the fault monitoring from the micro and enabled them on the DRV chip. To accomplish this, I commented out Hal_setupFaults.

Also, the current sense amplification is handled by the DRV chip instead of using internal PGAs. I started by connecting ISENA to pin 30 on LaunchXL and setting up the ADCs with the followiing: ISENA -> A0, ISENB -> C5, ISENC -> C3. I then attempted to disable the PGA by commenting out HAL_setupPGAs, HAL_setupDACs, and HAL_setupCMPSSs. 

We are concerned this is not fully disabling the PGAs and now the current is being amplified by both the DRV chip and the internal amplifiers causing errors on the FOC algorithm. 

Any advice on how to overcome this would be greatly appreciated!

Thanks

  • Did you try to run lab01~lab04 to verify the hardware configuration first? Make sure lab03 and lab04 can work well before you run lab05 for motor identification.

    And please check if the sign of the current coefficient is right as below in hal.h

    static inline void
    HAL_readADCDataWithOffsets(HAL_Handle handle, HAL_ADCData_t *pADCData)
    {
    HAL_Obj *obj = (HAL_Obj *)handle;

    float32_t value;

    float32_t current_sf = HAL_getCurrentScaleFactor(handle);
    float32_t voltage_sf = HAL_getVoltageScaleFactor(handle);


    return;
    } // end of HAL_readADCDataWithOffsets() function