You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm pretty new to stepper motors in general so I probably just don't know the basic principles behind this yet. So currently I just know about the way of controlling the motor via the basic commands to set the STEP_PIN HIGH or LOW with some amount of delay between them. It's not a very easy way to precisely set the speed of the motor. How can I translate those commands into something easier to use like simply inputting an RPM?
I think it would be similar to the step() function in the Arduino Stepper.h library, but that library writes commands to the individual stepper coils. Ideas?
The text was updated successfully, but these errors were encountered:
If your stepper motor has 200 steps per revolution and you're using 16 microstep setting, you therefore need to send 200 * 16 = 3200 step pulses to make a full rotation.
1rpm = 3200 pulses per minute = 53 pulses per second.
Time between pulses = 1s / 53 = 0.019s.
Note that a step is only executed on the rising edge of the pulse.
For more precise timing of the pulses look into Arduino timers and interrupts.
I'm pretty new to stepper motors in general so I probably just don't know the basic principles behind this yet. So currently I just know about the way of controlling the motor via the basic commands to set the STEP_PIN HIGH or LOW with some amount of delay between them. It's not a very easy way to precisely set the speed of the motor. How can I translate those commands into something easier to use like simply inputting an RPM?
I think it would be similar to the step() function in the Arduino Stepper.h library, but that library writes commands to the individual stepper coils. Ideas?
The text was updated successfully, but these errors were encountered: