Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
leader/follower with comp/cam tables
Trying to implement master/follower with follower position compensation for a dual motor control driven gear (two worm gears driving main slew ring). Presently, the setup has the two motors driving in opposite directions with motor 2 following motor 1 trajectory. This works fine, however we want to offset the position of the follower (motor 2) relative to the master (motor 1) trajectory based on a cam/comp table.

// present relevant configuration
Motor[1].ServoCtrl = 1
Motor[2].ServoCtrl = 8
CompTable[0].Target[0] = Motor[2].CompDesPos.a

The correct value based on the table and position of the master is written to the "Motor[2].CompDesPos" register as expected, however "Motor[2].DesPos" does not reflect this offset.

It appears that for master/follower (ServoCtrl=8) mode, the master trajectory is applied directly at "Motor[2].DesPos" (or some point further) in the attached diagram and ignores offsets applied by comp tables.

Is it possible to apply a comp table while having a master/follower configuration or is it necessary to apply servo loop cascading settings (Motor[x].MasterCtrl) to achieve this?


Attached Files Image(s)
Because Motor 2 is in follower mode, it does not compute its own desired position, which means it ignores its own CompDesPos register.

If you want the equivalent* effect, use a comp table whose target is Motor[2].CompPos, not CompDesPos. In this case, the offsets should be of the opposite sign (you can set the table scale factor to a negative number).

*When the offset is to the actual position, changes in the offset do not affect feedforward calculations into the servo loop. With a worm gear mechanism, I don't think this will make any difference to you.

Forum Jump:

Users browsing this thread: 1 Guest(s)