New continuous stepper rotation thoughts

howdy folks

all the stepper control libraries I have found thus far handle only a fixed amount of steps.
been looking at this for a while and keep finding the same solution.
just step(1) in a loop.
fair enough.

question I have is this:
does that not set your step rate to how quickly you poll that loop?

just curious.
i am not a pro programmist by any standard.

What libraries are you talking about? There are very different libraries according their behaviour. So I don't really understand your question. What do you mean by 'only a fixed amount of steps' ? Can you give an example?

Yes.

1 Like

seems some clarity is required here.

as the title says i would like continuous rotation of a stepper motor.
not talking about driver boards.
basic level, included in the current ide, stuff here.
stepper0.step(100); type of thing.
so far no stepper motor control library that I have found supports continuous rotation.
the suggestions I have seen, and mentioned above, seem to not take the desired rate of rotation into account.

as has been confirmed, also above, this seems to be the case.

the quest continues

Why does it need to be a library function when your own function is so easy so implement either as a normal function or in a library of your own ?

But also from your side. step(1) doesn't tell anything, if you don't know which library you use for this call.

Who talked about driver boards?

You didn' tell about the libraries you found. And what is 'continuous' for you - in practice? With nearly all libraries you can set the step number as high, that it needs several days to to reach that number of steps ( Edit: depending on the step rate of course, but on an AVR this is always the case ). And there may be other possibilites to overcome even this limit.
This is an example of turning a stepper (for a long time - see above :wink: ) while you can add other tasks in loop.

No. Blocking libraries - as the builtin stepper.h - will wait until the step time expires. So your loop will be delayed. With other libraries things may be different, but I don't know any librariy where the loop time defines the step rate. At least if you poll them fast enough. Only talking about step(1) without seeing the programatic environment is meaningless.

You should have a closer look at the libraries you found. And maybe you found a library I don't know - but you didn't tell what you found.

:+1:

If you want a motor to rotate continuously, why use a stepper at all?

A very legitimate question

you folks love to quibble.
wish you loved to assist.

instead of nitpickery chime in if you have some info.

what a sewing circle. lol

what the sheet could you have possibly meant by this response?

your lack of imagination is sad.

least one of you came close referencing the fact the library is blocking.
as that was the request I thank you.

What is?

i recommend posting your own topic if you have stupid questions bill.

I meant that you could write your own function to move a stepper continuously and even put it in a library if you wanted to

Well, this might be a reasonable answer: it is the easiest way to spin a motor at a predefined constant speed.

We love to assist. Otherwise we wouldn't be here. But no one can help if they don't have enough information about what they can help. Unfortunately, our crystal balls don't work properly.

Hi,
What is your application for the stepper?

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

If you have a step / direction driver and only want to run the stepper like a DC motor (don't need to count steps) you could use a multivibrator (like 555 timer) to generate step pulses, no MCU needed.

AccelStepper has runSpeed() - although its not done with ramping.

Also you can use relative move()s and tracking distanceToGo() to keep a motor going (which does use ramping).