DRV8343S-Q1EVM: F280025 WITH DRV8343S SAMPLE PROJECT FOR SENSORLESS BLDC MOTOR CONTROL (MOST SUITABLE FOC OR TRAPEZODAL) ALGRATHRM

Part Number: DRV8343S-Q1EVM
Other Parts Discussed in Thread: TMS320F280025C, TMS320F280025, C2000WARE-MOTORCONTROL-SDK, DRV8323, LAUNCHXL-F280025C, INSTASPIN-BLDC, BOOSTXL-DRV8323RS, DAC128S085EVM

Dear Aaron,

                   we are  interfaced drv8343 with msp430f5529c(non automotive) mcu with Trapezoidal-sensorless BLDC motors control algorithm , successfully tested on rig upto 9000 rpm  .

now we are trying to replace the c2000 family of TMS320280023 (automotive qualified) MCU with drv8343 driver ic ,

initially trying to interface tms320f280025c launch pad kit with DRV8343S evb board in going to use power module. 

i have taken as a reference universal_motorcontrol_lab_f28002x sample project trying to replace DRV8343S instead of DRV8323S, here both driver IC hardware abstraction layer is completely different . 

please let me know , which is the most suitable for tms320f280025 WITH DRV8343S Driver IC sample project for (demo source code for software) and hardware for the new development.

Please send supporting document and give your feed back ... 

Thanks .

Bhuvanesh.

  • Hi Bhuvanesh,

    I am forwarding your post to the C2000 team for more information on Universal motor control lab support. 

    Thanks,
    Aaron

  • Yes, you may refer to the Universal motor control lab, and you may try to follow Chapter 3 Building a Custom Board of the universal lab guide to interface the LaunchXL-F280025 to the DRV board, and change the device configuration codes and hardware setting parameters in the related files.

    C2000WARE-MOTORCONTROL-SDK: https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    Universal Project and Lab User’s Guide: https://www.ti.com/lit/ug/spruj26/spruj26.pdf

  • Dear team,

                       i have interfaced (  developed source code , not connected driver ic with 280025c kit ) drv8343 driver ic with "universal_motorcontrol_lab_f28002x" project instead of drv8323 drv ic .

    as per the guide line "Motor Control SDK Universal Project and Lab document" trying to run the code Level 1 Incremental Build , without connecting drv8343 driver board (only 280025c launchpad kit ) for checking pwm ouput pulses and spi 

    i flashed the source code launchpad kit and observed flowing points 

    its not generate pwm pulse corresponding 6 pins !

    please let me know how can i check  pwm duty in debugging mode ?   

    if need to change any setting for "universal_motorcontrol_lab_f28002x" project ?  

    please refer same environment examples project for my reference   .


                 

  • Please follow the guide to check the value of "motorVars_M1.faultMtrUse.all" if there is any fault, and try to fix these faults.

    You should connect the drv8343 in any build levels, and make sure that you configure the GPIO and SPI to interface and control drv8343 correctly.

  • I can attached following error in my understand not connected drv 8343 driver  board so that why showing undervoltage , but my intention without drv8343 board  to check pwm output pulses from mcu , henceforth connected power supply 3.3v from usb with tms320f280025c launchpad kit 

    i hope without drv8343 driver can able to check pwm pulses (duty) only , is it correct ?

  • Please check the value of "motorVars_M1.faultMtrUse.all", not the value of "motorVars_M1.faultMtrNow.all".

    Yes, as described in lab guide, you should run the  project in build level 1, and check the PWM output on the related pins on launchxl-F280025c.

  • we are trying to replace the c2000 family of TMS320280025C (automotive qualified) MCU with drv8343 driver ic (WITH SENSORELSS BLDC MOTOR) ,

     interfaced tms320f280025c launch pad kit with DRV8343S evb board power module are utilized. 

    i have interfaced (  developed source code , not connected driver ic with 280025c kit ) drv8343 driver ic with "universal_motorcontrol_lab_f28002x" project instead of drv8323 drv ic .

    as per the guide line "Motor Control SDK Universal Project and Lab document" trying to run the code Level 1 Incremental Build , without connecting drv8343 driver board (only 280025c launchpad kit ) for checking pwm ouput pulses and spi 

    now working on  As per the tabulation in yellow color  , have question on ,  is it support "FAST based senseless Foc" algorithm in BLDC motor ?   

    used as pre-define symbols "MOTOR1_FAST",  please let me know your feedback .

    above condition pwm output pulses not generate from MCU , but i can see spi output pulses .

    and also ,

    As per tabulation have mention in red color "Trapezoidal InstaSPIN-BLDC"  and pre defined symbol  "MOTOR1_ISBLDC".

    is it support senseless BLDC motor control algorithm?

    please let me know  below tabulation which one support (enable) motor control "Algorithms or
    Functions" and "Pre-Define Symbols" to drive the senseless BLDC motor with f280025c +drv8343s driver IC 

  • now working on  As per the tabulation in yellow color  , have question on ,  is it support "FAST based senseless Foc" algorithm in BLDC motor ?   

    used as pre-define symbols "MOTOR1_FAST",  please let me know your feedback .

    Yes, you can use the FAST based sensorless-FOC on three-phase BLDC or PMSM.

    is it support senseless BLDC motor control algorithm?

    Yes, it's sensorless trapezoidal control.

    please let me know  below tabulation which one support (enable) motor control "Algorithms or
    Functions" and "Pre-Define Symbols" to drive the senseless BLDC motor with f280025c +drv8343s driver IC 

    All of the sensorless based algorithm can be used on f280025c +drv8343s driver IC that includes FAST, ISBLDC, and eSMO as mentioned above. You may try to use the FAST that could be easy to spin a motor and achieve better performance.

  • We haven’t heard from you for a week, so we are assuming you were able to resolve your issue. Please let me know if you have any questions. We would like to close this thread if no any further questions. Thanks!

  • now i have interfaced drv8323S ( BBOSTXL-DRV8323RX) with f280025c launchpad kit  (LAUNCHXL-F280025C ) 

    trying to check the current and voltage adc offset value as per the document  , to debug the build level1   #define DMC_BUILDLEVEL  DMC_LEVEL_1

    but i have facing fault on current and voltage offset error ,

    please let me know your feed back,

      

    Also i could not read the default offset value of voltage and current as mention below,  

    Please let know your feed back .

  • Please take a look at the lab guide and follow it to connect the kits. Make sure that the related switches are set correctly on LAUNCHXL-F280025C, and the connection is as below shown in the lan guide.

    • For more details about the BOOSTXL-DRV8323RS, see the User's Guide for the EVM.
    • Make sure that the following items are completed as described below, and then connect the BOOSTXLDRV8323RS
    to J1/J3 and J4/J2 of the LAUNCHXL-F280025C as shown in Figure 2-7.
    – Populate C9, C10, and C11 with a 47nF capacitor.
    – Bend J3-29 and J3-30 of the LAUNCHXL-F280025C90 degrees so that they are not connected to the
    BOOSTXL-DRV8323RS as shown in Figure 2-5.
    – If using the DAC128S085EVM board, bend J5-42 of the LAUNCHXL-F280025C 90 degrees to avoid
    connecting that pin to the DAC128S085EVM board. This EVM board is only used for debugging purposes
    to monitor various software variables.
    – Use a jumper wire to connect J3-29 of the LAUNCHXL-F280025C to J3-11 of the BOOSTXL-DRV8323RS
    if the potentiometer functionality is desired to be used on the BOOSTXL-DRV8323RS for setting the
    reference speed.

    Universal Project and Lab User’s Guide: https://www.ti.com/lit/spruj26

  • As per the guide line configured and tried to initial offset value from voltage and current  , but not able to read correct offset value as per the reference (spruj26_Motor Control SDK Universal Project and Lab) document in (#define DMC_LEVEL_1     1   // Y 50% duty, offset calibration and verify phase shift)

      

    PLEASE LET ME KNOW IF I NEED TO ANY CHANGE  HARDWARE BOARD ?

    HOW CAN I GET EXAXT OFFSET VALUE FROM BUILD LEVEL1 ? 

     PLEASE LET ME KNOW YOUR FEED BACK (IS IT POSSIBLE PINK ME THROUGH WHATSUP. MY CONDUCT NUMBER +91-9003224712)

  • Seems like BOOSTXL-DRV8323RS is not connected with LAUNCHXL-F280025C correctly, please follow the guide and the instruction as mentioned above to set up the kits, may try to check the PWM output and ADC input voltage on the related pins on BOOSTXL-DRV8323RS with an oscilloscope.

    BTW, you need to add the dc-bus voltage to the BOOSTXL-DRV8323RS in build level 1 for offset calibration.

  • I have trying to interface f280025c launch pad kit with Boostxl drv8323rs also to monitor signal to interfaced DAC128S085EVM,

    connected dc bus voltage 12v to drv8323 evm and  also can red successfully 12v dc bus voltage as i mention below image   

    connected following connectors as below mention ,

    Populated a 47nF capacitor to C9, C10, and C11 for supporting InstaSPIN-FOC.

    Connected J4-4 to J4-18 using a jumper wire for connecting DRV_SCS to SPI_STE,

    Connected JA-2 to JB-2 using a jumper wire , 

    Disconnected J3-29, J3-30 to BOOSTXDRV8323RS, 

    Disconnected J5-42 to DAC128S085EVM

    i hope hardware connection  done as per the above guide .

    i was selected  MOTOR1_FAST algorithms under pre defined signal on BSXL8323RS_REVA 

    added the dc-bus voltage to the BOOSTXL-DRV8323RS in build level 1 for offset calibration, and without motor connection.

    if enabled pre defined signal CMD_POT_EN , can able to read the pot value from 0 to1025   

    but still i could not able to read the ADC voltage and current offset value , checked related pins on BOOSTXL-DRV8323RS with an oscilloscope not get any output.

  • Please follow the lab guide to run the project in build level 1, and don't change the default configuration to enable much more functions like CMD_POT_EN..., and don't need to connect the DAC128S085EVM for build level 1.

    Please make sure that the switches are set correctly as shown in lab guide as below also, especially the S2.

    • Install jumpers on JP1, JP2, JP3 and J101 for the power supply and debug JTAG. And jumpers on JP8 for the power supply of DAC128S board if used.

    • For S2, position the SEL1 (LEFT) switch UP (1) to route GPIO28 and GPIO29 to the BoosterPack connector, and position the SEL2 (RIGHT) switch UP (1) to rout GPIO16 and GPIO17 to the virtual COM port of the XDS110 debugger.
    • For S3, position the SEL1(LEFT) switch DOWN to pull GPIO24 low to logic 0, and position the SEL2(RIGHT) switch UP to pull GPIO32 high to logic 1 to put the F280025C into wait boot mode for reducing the risk of connectivity issues or a previous loaded code execution.
    • For S4, set S4 to DOWN (on), GPIO32 and GPIO33 are routed to the CAN transceiver to J14 CAN interface if the pre-define symbols "CMD_CAN_EN" is set in project properties.
    • For S5, position the SEL1(LEFT) switch DOWN to route GPIO44/37/43 to eQEP1 for the encoder interface on J12, and position the SEL2 (RIGHT) switch DOWN to route GPIO14/25/26 to eQEP2 for the Hall sensor interface on J13.
  • Thank you for your valuable feed back !!!!

    As per your feedback In build level 1 without motor condition now i can read successfully offset value of voltage and current , got pwm output in register value 50% also , i am wounding this flag  always showing  flagEnableRunAndIdentify = 0, but as per guide this flag should be change to high (1) 

    The systemVars.flagEnableSystem should be set to 1 after a fixed time, that means the offsets calibration has
    been done. The fault flags, motorVars_M1.faultMtrUse.all should be equal to 0.

     motorVars_M1.flagEnableRunAndIdentify to 1 SHOULD NOT HAPPEND in the Expressions window 

    when started build level 2 with motor connection also we can got same value , 

    please i need your feed back on this ? 

  •  i am wounding this flag  always showing  flagEnableRunAndIdentify = 0, but as per guide this flag should be change to high (1) 

    You need to set the lagEnableRunAndIdentify = 1 in the CCS debug window to start the motor in all  build levels.

  • Thank you for support Luo!!!!

    Now i stated to interface drv8343 driver ic with c2000(f280025c) mcu , i have updated corresponding register in function which is having drv8323 deiver ic .

    now can able build with out error . below mention as modified function 

    void DRV8343_readData(DRV8343_Handle handle, DRV8343_VARS_t *drv8343Vars) 

    void DRV8343_writeData(DRV8343_Handle handle, DRV8343_VARS_t *drv8343Vars)

    void drv8343_SPI_Write(DRV8343_Handle handle, const uint16_t regAddr, const uint16_t data)

    uint16_t drv8343_SPI_Read(DRV8343_Handle handle,const uint16_t regAddr)

    void DRV8343_setupSPI(DRV8343_Handle handle,DRV8343_VARS_t *drv8343Vars)

    I will try to read adc offset value and Vadc bus voltage in level1 build  but caould not able to read 12 DC bus voltage and offset value also ,

    attached image for your reference Please let me know your feed back on this  

  • Please follow the lab guide to change the configuration parameters and codes in hal.h and hal.c, to ensure the ADC and PWM are configured according to the board and the connection you did.

    And also, you need to change the hardware parameters for current and voltage sensing in user_mtr1.h according to the board.

  •  successfully interfaced drv8343 with c2000(f280025c MCU)

    now i will trying to run the motor control SDK IN BUILD LEVEL 1 , I can read the default offset current value ,but i could not able to read offset voltage value.

    please let me know your feed back ,  what can i do? ..which parameter need to modification ? or else 

    is it  need to change vdc level ? 

  • Please make sure that ADC is configured correctly for voltage sensing, and the drv8343 is enabled by SPI and GPIO settings.

    To check the offset voltage, you need to add a right power supply for drv8343 evm board.

  • After populated 47nf capacitor i can successfully read the offset current voltage value in interfaced (f280025c with  RV8343) EVM board on BUILD LEVEL1.

    now i can run the BLDC motor on open loop in BUILD LEVEL2 capture Motor Phase Current and voltage Waveforms attached here ,

    here i can not able to capture exact the as mention "Motor Control SDK Universal Project" and Lab document output  

    I have attached phase voltage  and current output waveform for your reference, this following output wave form is it correct ?

    in my understand i can capture phase current output waveform is correct but   ,

    phase voltage and  angle (teta) output is not exact output so please let me know your feed back ?

    I want to tune the software on this required angle and phase voltage output , so please let me know on this your feed back ?

    how can i get exact angel output and phase voltage . 

    as i taking reference below  "Motor Control SDK Universal Project" document output .

  • I have attached phase voltage  and current output waveform for your reference, this following output wave form is it correct ?

    Not good. You may try to tune the Vd and Vq for running the motor with open-loop, and make the motor to run smoothly.

    I want to tune the software on this required angle and phase voltage output , so please let me know on this your feed back ?

    how can i get exact angel output and phase voltage . 

    You need to set the right motor parameters (Rs, Ls and Flux) to get the correct estimated angle. You can try to find the motor parameters in its datasheet or get the parameters from the motor's manufacturer