Command issue when using CAN runtime commands and RPDO

1 month 2 weeks ago #29535384 by Misha
Good day

I am running into some issues with commanding the Robotq motor controller. Below I have described my setup, what I have done so far and then the issues I am having

2xRoboteq SBL2306T brushless motor controller
2x brushless motors by Nanotec

What have I done:
1. I have configured the motor controller to run perfectly in closed loop velocity mode using Roborun+. To clarify, using Roborun+ I can control the motor in forward/reverse to 3000RPM which I specified. I have also preliminarily configured PID values
2. I am using both Hall sensors and Encoders for feedback data
3. CAN: 
    i) I need the system to run on CANopen
    ii) I have managed to set up two TPDO's. The first for encoder feedback and the second for fault and status feedback. These work great
    iii) I have limited control, but I am able to control the motor using either:
        a) RPDO1: is configured with Target Velocity CH1 (0x6042) and Target Velocity CH2 (0x6842)
        b) Or using direct runtime commands like:
                   2B 02 20 01 XX XX 00 00               - channel 1
                   2B 02 20 02 XX XX 00 00               - channel 2

Questions and problems:
1. When using Runtime Command: "Set Motor Command" (0x2000) I run into a strange thing. 
    a) When I use the following command 23 00 20 01 XX XX XX XX I can succesfully control the motor. 
    b) As soon as I try and control motor two using 23 00 20 02 YY YY YY YY the motor mixes signals and now starts moving both motors at strange command values
    c) if I try reverting to using motor one only, as in step 1.a. I have the same problem where now both motors are commanded with strange command values. 
    d) I can get the motor to work in reverse if I only do step one and I invert the bit mapping as one does. To clarify if I do 23 00 20 01 FF FF FF FF I get a -1 command as expected. 
2. Since "Set Motor Command" does not work, I tried the runtime command "Set Velocity" (0x2002). 
    a) forward works great
    b) How do I get the motor to work in reverse?
3. I then tried setting up the RPDO using (0x6042) and (0x6842). 
    a) again forward works great
    b) how do I get reverse to work?

I know these are a lot of questions, but the documenation on this is very weak and there is little help online. 

Any help would be greatly appreciated. 
Thank you

Please Log in or Create an account to join the conversation.

Moderators: tonysantoni
Time to create page: 0.066 seconds