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.

BP-AM2BLDCSERVO: Motor Axis 2 not working

Part Number: BP-AM2BLDCSERVO
Other Parts Discussed in Thread: LP-AM243

Tool/software:

Dear TI Experts,

I have the LP-243x hooked up with BP-AM2BLDCSERVO, and connected two BLY342D-48V-3200  motors plus two EnDAT2.2 Encoders as described in TIDUF42, chapter 4.1.

As is, the SW projects don't spin the motors. As I understand the description in chapter 4.3, it should?

After trying several things, we found out that the R5FSS0-0 project "single_chip_servo_am243x-lp_r5fss0-0_nortos_ti-arm-clang" spins motor 1 when I #define BUILDLEVEL   OPEN_LOOP_IQ_ID and #define USE_OPEN_LOOP_WITH_SDDF in settings.h

However I could not find any settings that would spin my motor 2 with the R5FSS0-1 core and the corresponding project for that core, not even in open loop mode.

Is the description inaccurate here or is this an issue with my setup? Are there some steps I can follow to narrow this down?

My SDK version: motor_control_sdk_am243x_09_02_00_09.

(side note: As encoders I use ROC-425 instead of ROQ-437, which is not capable of counting multi-turn but also implements EnDAT2.2.)

Thank you and regards,

Claus

  • Hi Claus, I will contact one of our experts for further assistance. But, in the meantime few things to try/check:

    • If you change motors, motor drive with project running in R5FSS0-0 still runs? (Pretty much check both motors are OK)
    • "endat_diagnostics" works ok for both encoders + motors? AM243x Motor Control SDK: EnDAT Diagnostic
    • In single chip dual motor drive, you can try to run the demo for a single motor by doing the following: In settings.h file of <motor_control_sdk_am243x_09_xx>\examples\tidep_01032_dual_motor_drive\single_chip_servo\am243x-lp\r5fss0-0_nortos project
      • Comment out the following line: #define DUAL_AXIS_USE_M1_M2

    thank you,

    Paula

  • Claus

    Please check the things suggested by Paula.

    "motor_control_sdk\examples\tidep_01032_dual_motor_drive\single_chip_servo\am243x-lp\r5fss0-1_nortos" contains the project for Axis 2. Did you rebuild and run it ?

    Regards

    Dhaval

  • Hi Paula, 

    I had already done that... both motors are ok, it is always the one attached to axis 1 that will be spinning.

    One thing that confuses me: When M1 spins, the red LED DS2 (DRV_FAULT_2) turns off, while LED DS1 (DRV_FAULT_1) remains on...

    The 2x3 green LEDs are all on, btw.

    When I try to run the EnDAT Diagnostic example (single channel), I get an error: "ERROR: EnDat initialization failed."

    I tried to debug that. It originated at endat_diagnostic.c, line 2214 and I had the impression that the error message came right after attempting to load the firmware for the PRU-ICSS…

    The encoders I use do not support multi-turn. Could that cause the issue?

    I'd expect I'd still be able to run the motors in open-loop, though?

  • Yes, I did. I ran it on R5FSS0-1, and tried two alternates: R5FSS-0-0 loaded (with single_chip_servo_am243x-lp_r5fss0-0_nortos_ti-arm-clang.outand running, and R5FSS-0-0 doing nothing. M2 doesn't move, also the current consumption doesn't change.

  • Claus

    One thing that confuses me: When M1 spins, the red LED DS2 (DRV_FAULT_2) turns off, while LED DS1 (DRV_FAULT_1) remains on...

    I hope you have given power supply for both axes as mentioned in user guide.

    When I try to run the EnDAT Diagnostic example (single channel), I get an error: "ERROR: EnDat initialization failed."

    Is it possible for you to share the logic analyzer/scope snapshot for ENDAT Data+/Data- or TX/TX_EN/RX signals?

    Yes, I did. I ran it on R5FSS0-1, and tried two alternates: R5FSS-0-0 loaded (with single_chip_servo_am243x-lp_r5fss0-0_nortos_ti-arm-clang.outand running, and R5FSS-0-0 doing nothing. M2 doesn't move, also the current consumption doesn't change

    Did you change anything in any file? Or did you run SDK example as it is ?

    Regards

    Dhaval

  • 1) Yes, I have both channels supplied with individual 24V, both are enabled. The channel with the motor running draws ~700mA, the inactive channels draws ~ 36mA once the encoder power is enabled.

    2) I don't have access to a scope today, but I could do that next week. 

    3) Both. I tried:

    a) the files unmodified (-> axis 1 will draw current and hold the motor in position, no spinning, though. Axis 2 remains passive),

    Sabari from the TI team in Freising asked me to do a few changes in settings.h for both projects. 

    These included changing BUILDLEVEL to OPEN_LOOP_IQ_ID, (line 52) and enable USE_PURE_OPEN_LOOP (line 104).

    This made M1 spin, but not M2. I also tried USE_OPEN_LOOP_WITH_SDDF, which works for M1 but not for M2. 

    I also experimented with various combinations of SINGLE_AXLE_USE_M1, DUAL_AXIS_USE_M1_M2 and SINGLE_AXLE_USE_M2, but none made axis 2 work.

  • I have re-run the EnDAT diagnostics (single channel) a few times and finally it came up. I played around, but couldn't get meaningful readings. Then I set a propagation delay (tD) of 100ns and got reliable values back. Unfortunately, on the next startup that didn't work again. Can I configure the default tD?

  • I have re-run the EnDAT diagnostics (single channel) a few times and finally it came up. I played around, but couldn't get meaningful readings. Then I set a propagation delay (tD) of 100ns and got reliable values back. Unfortunately, on the next startup that didn't work again. Can I configure the default tD?

    What is the propagation delay value on the sample output once the encoder initializes successfully?

    There will be kind of similar out put on terminal once the encoder initialization done. 

    BR,

    Achala Ram

  • That was a one-off success. I tried to recreate it, but didn't manage. So I can't tell.

  • I resolved the issues. 

    1) The encoder demos need POR applied before running them.

    2) SW6 on the LP-AM243x needs to be turned OFF to enable axis 2. Though this is is mentioned in the LP-AM243 User Guide, I think that this not obvious and it may be beneficial to add that information in the Booster Pack EVM User Guide (spruj87)  or the Reference Design Description (tiduf42) as well. Tiduf42  Figure 4-3 is a bit misleading because it shows the switch in the wrong state...

  • Claus, thanks for the note. We will file a JIRA to documentation

    Paula