Jump to content

Moving 5 steppers to different targets at the same time


Recommended Posts

Geschrieben

I'm trying to make 5 steppers travel through n sets of targets. The steppers need to reach their target at the same time.

 

I'm running a loop in a thread (C#) to calculate velocity and speed ramping for each stepper, to set the target of each stepper (to move the steppers) and to monitor when the steppers reach their target; a new set of targets is assigned when the steppers reach their target (roughly after more than 3 seconds).

 

This means that I do in the same iteration 3 requests per stepper (SetMaxVelocity, SetSpeedRamping, SetSteps/SetTargetPosition) and in total 15 requests per set of targets.

 

It works but after a few sets of targets one of the steppers does not execute the 'move'(SetTargetPosition) command (usually, the same stepper which is also last to be moved by the code).

 

What's going on? How many commands can I send to the steppers during the same iteration?

 

I tried calling the Tinkerforge API methods asynchronously and sleeping the thread for a brief time after every stepper command but there was no difference.

Geschrieben

What's going on? How many commands can I send to the steppers during the same iteration?

 

I am not sure if i understand the question correctly. But, if you call SetTargetPosition while the Motor is currently running, it will immediately try to go to the new target and discard the previous one. There is no queue of targets or similar.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...