Hi,

Trying motorcortex with synapticon. We have a dual encoder system with 19 bit encoders at each side and gear ratio of 100:1. I think motorcortex is taking input from encoder on load side. because motor was able to complete 360 degree rotation only on setting gear ratio as 1:1 in motorcortex.

However, now the velocity is still very slow due to setting gear ratio 1:1. What is the actual way to configure motorcortex to work dual encoders ?

The best way to configure this is like this:

On the drive, you do not specify the gear ratio. You link the motor encoder in the ECAT tool to root/Control/actuatorControlLoops/actuatorControlLoop01/actualMotorPositionIn. Then set the gear ratio in the Motorcortex App.

The Gearbox parmeters are used both ways, to get from joint position to drive targetPosition in ticks, as well as the opposite: to get from actualDrivePosition in ticks to joint position.

So if the targetPosition of the drive is set in units of motor tickjs, then also teh actual value that you link to actualMotorPositionIn should be in the same unit. If there you would use output shaft ticks, there would be a mismatch and the drive would not behave as expected.

testing this out today. I set the gear ratio 1:1 on the drive and actual in motorcortex its 1:100. Now the degrees don't seem to match. One thing I get for sure is that the encoder readings that we get in the pdo are from load side (outer). Does it need to be set to motor side encoder (input) ?

If you specify the gearbox on tge app side, the input to the app has to be motor position. This is then also consistent with the app commanding motor position.

So here are the things I tried:

1) Gear ratio is set 100:1 on drive side and 1:1 on motorcortex side: The motor follows positions correctly but dosent seem to follow velocity settings. 20 deg/s of elmo drive using motorcortex is way faster than what the synapticon drive is able to achieve.

2) Setting gear ratio 1:1 on drive and 100:1 on motorcortex: for 360 degree, the drive moves 3+ roatations with very high speed.

I am really confused regarding this.

The default PDO mapping "Position actual value" at address 6064 of the circulo 7 drive contains the output (load) side encoder readings.
Also tried setting the inner encoder to give position using OBLAC box, but now the tuning phase of the drive is failing.

Does point 1 look ok approach to you ? what might be causing the speed to be low ?

Are you sure your ticks/rev/ setting is correct?

So the best way to use this is to set gear on drive to 1:1. Then all position values to and from the drive are in motor ticks or ticks/sec.

Also verify the encoder ticks when you turn the motor one revolution. Some single turn magnetic encoders have multiple poles and therefore go through multiple cycles withing a single revolution. So also check that. If the ticks/sec are correct in Generic App, then the gear ratio shoud be set to 1:100 and everything should work as expected.

For Velocity it can be confusing, for instance Synapticon's TargetVelocity and ActualVelocity are in milli-RPM. Our Generic App does not use velocity at the moment (only position mode is supported). The Velocity in the App is derived from the position signal.

Hope this clears the confusion.

Write a Reply...