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-F28379D: Using LAUNCHXL-F28379D with 2 DRV8305 to test FCL not getting past step 1

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: 2MTR-DYNO, , BOOSTXL-DRV8305EVM, DRV8305, SFRA, CONTROLSUITE

I'm working through this app note to try and test the motor control features.  I have a LAUNCHXL-F28379D, two BOOSTXL-DRV8305EVM's, and a 2MTR-DYNO set.

  • I've removed JP1-JP5 as each 8305 gets its own power and should not link that power to usb
  • I've connected 40V to each DRV8305EVM on PVDD
  • I've set MOTOR1_DRV and MOTOR2_DRV to DRV8305
  • Rebuild
  • Debug
  • Enable Real Time Mode
  • Resume
  • Set EnableFlag to 1

Nothing happens.  The IsrTicker does not "Tick".  It seems to be stuck at 

while (motor1.drv8305.DRV_fault) ;      // hang on if drv init is faulty

I then tried a lower voltage (long story on why).  Anything below 35V worked (ISR stated to tick).  I set it to 24V and also updated INVERTER1_BASE_VOLTAGE and INVERTER2_BASE_VOLTAGE to match. Now I can see the graphs as per paragraph 7.2.1, but none of the PWM's (pins P35-P40 on J4 or P74-P80 on J8 on the LAUNCHXL) did anything.  I observed that TripFlagDMC was set for both motors.  Why would this trip if not motors have been connected?

I really can't think of anything I did wrong and the steps are fairly straightforward.  Any advice would be great!

Kind regards

Christo

  • HI Christo,

    Apologies for the delay, it slipped through, noticing just now.

    The DRV kit designed for 24V. Let me know if your issue is all resolved.

  • https://www.ti.com/tool/BOOSTXL-DRV8305EVM

    Good day

    According to link above it has this feature:

    • 4.4V to 45V voltage supply input

    That being said, I run it at 24 V, set it in FCL_SFRA_XL_DualServo-Setting.h to 24 V (default is 40 V) with no luck.  The PWM Trip still triggers, even though I can see that the nFault pin (GPIO 19) never goes low.  

    While type this response I tested something and figured out that

    OCP_curLo = OCP_INA240_LO(curLimit);

    resulted in a < 0 number.  I changed DRV1_GAIN to 20 and now I see a PWM running on the pins.  So now my only question is why 40V does not work.

  • We need to dig in to find out the answer. Can you review the feedback sensing circuit? 

  • Hi Ramesh

    I'll be glad to review the feedback sensing circuit.  Is there anything specific you want me to look at? I swopped my two driver boards around and the problem would then be on both because in both cases it gets stuck at motor 1.

    In the end, it's not a major issue.  I just dial the voltage down from 40 V to something less.  Should #define INVERTER1_BASE_VOLTAGE then be set to the value of the power supply (Like 28 V or something) and #define MOTOR1_BASE_VOLTAGE stay at 24 V?  Is the first one the value I feed into the driver board and the second the max voltage the motors can be driven at?

    Maybe my biggest issue is that, not knowing a lot about motor control, I was hoping that this project would help me get a practical experience on how they work.  Following the guide provided, nothing would work.  First it says, set the voltage to 40 V, that does not work.  Next, build and run and play around with VdTesting and SpeedRef, but that does not work as it keeps tripping.  Fix tripping by changing some weird, unexplained gain value.  Go to the next step.  Build and have the QEP find the index.  Does not work as it trips again...  

    Finding a pinout for the motor (to know which is the QEP cables) took me more than an hour because it is not a document that is linked to the TI website (it's here btw if someone ever wants it).

    Should I start a new thread to try and figure out why build level 3 is not running as technically I've passed steps 1 and 2 by now with fixes above?

  • Did you make sure the QEP feedback is not given to the opposite motor?

    In LEVEL2, did you see the position feedback ramping up as the motor rotates? It should show a positive rising from 0 deg toward 359.99 and drop to zero.

    No need to open another thread, we can continue here only.

  • Hi Ramesh

    I was sure I did do all the steps, but alas, no, I did not do the step where you measure the DAC.  At first I got nothing on either pin (J4 pin 32 (DAC1) and 31 (DAC2)).  I then noticed that the diagram ref CLA.  In my case the CLA never ran.  I added the project to CLA_1 for the launch.  After that I saw the saw tooth on DAC1, but nothing on DAC2.  Any tips on this?

    I do get this error when running the project:

    CPU1_CLA1: Trouble Setting Breakpoint with the Action "Finish Auto Run" at 0x8776: (Error -1209 @ 0x8776) Device does not support software breakpoints. If available, use a hardware breakpoint. (Emulation package 9.2.0.00002) 

    But I suspect that this is just not breaking the code, otherwise it looks fine.

    I'm only running motor2 for now, as this is the motor linked to the DAC correct?

    If both motors are controlled at the same time, then motor2 variables will only be displayed by the PWMDACs as it is the last called module. 

    Thank you for the feedback

    PS. CPU2 and CLA2 have no code running correct?

  • Hmm, let me see if someone can help on this

  • If it is a controlsuite project, CLA is not used. Secondly, CPU2 and CLA2 are also not used. Your project is from control suite or from SDK?

  • Hi Ramesh

    Sorry, was away for a few days.  Seems like my jumping between a lot of projects at work as caused me to make a rushed measurement and conclusion.  You are correct, the CLA does not make a difference.  I went down this path because of this part of the document:

    Running the test on build level 2 again I only get a reading on DAC1, which looking at the code, should be the value of motor->rg.Out.  The ramp is different when running motor 1 and motor 2, FYI.  motor->speed.ElecTheta never changed and that is the value of DAC2.

    It is at this point during my testing and writing up that I found the problem.  The fact that ElectTheta never updated made me prod the setup again with the multimeter.  The problem was the fact that the QEP requires 5V but because the instructions in the document in 6.1.6 states that jumpers JP1-JP5 should be removed, there is no 5V rail on the board.  I then just powered the 5V rail from an external power supply and Bob's your uncle.  I was able to work through to build level 6.

    Sorry for messing you around with the CLA detour!

    Christo