Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - cristian

Pages: [1]
General Discussion / Travel time
« on: August 11, 2019, 18:02:46 »
I have a motor connected to a silent stepper set to a generic basic configuration, step resolution, speed ramping (acceleration and deceleration) and velocity.

The stepper is being told to travel x steps (using SetTargetPosition in C#).How do you calculate travel time T? (How do you know how long it will take for the motor to reach the target?)  ???

Note: travel time T needs to account for acceleration, deceleration and when the motor travels with full velocity.

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.

Pages: [1]