Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smooth transition between movements in LINEAR_SPEED Profile #112

Open
vovagorodok opened this issue Jun 19, 2022 · 2 comments
Open

Smooth transition between movements in LINEAR_SPEED Profile #112

vovagorodok opened this issue Jun 19, 2022 · 2 comments

Comments

@vovagorodok
Copy link
Contributor

vovagorodok commented Jun 19, 2022

There no posibility to make movemebts where starting/ending RPM is not zero.
For example moves like:
image
Proposed in BasicStepperDriver to have method like:

void move(long steps, float startRPM, float endRPM);
or
void move(long steps, float endRPM); // end remember last/startRPM = endRPM

For more motors:

void move(long steps1, long steps2, float endRPM1, float endRPM2);

It will open possibility to make constructions/chains like:

void move(steps_to_x1, steps_to_y1, -1, 4);
void move(steps_to_x2, steps_to_y2, 4, 1);
void move(steps_to_x3, steps_to_y3, 0, 0);

Or there is another idea how to make that moves?

@laurb9
Copy link
Owner

laurb9 commented Jun 21, 2022

This is a limitation of this simple library. This library precalculates the expensive acceleration parameters before the move. To change speed on-the-fly it would have to do so between steps, it might take too long for slower chips.

You could try the AccelStepper library

@laurb9
Copy link
Owner

laurb9 commented Jun 21, 2022

If the movement is complex and the project can afford an additional 328, you could load GRBL (the CNC control language that 3D printers also use) and send G-code commands to it over serial from your main processor. It's designed for multi-axis control so you can easily drive even 3 or 4 motors with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants