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
{{ message }}
This repository was archived by the owner on Nov 3, 2024. It is now read-only.
Maximum speed: 1000RPM (revolutions per minute)
Subdivision: 2 4 8 16 32
Stepper motor specifications is:
200 full steps per revolution (1.8° per step)
1000RPM is 1000/60 = 16.6666666667RPS (revolutions per second)
When 32 Subdivision is used than MAX frequency of input STEP pulses must be:
16.7 * 200 * 32 = 106880 Hz
I has tested frequency of input STEP pulses with original BIGTREETECH firmware.
It is near 50kHz.
I try to check MAX frequency of input STEP pulses in dev branch.
I use red LED to see duty cycle of motor step
Intellistep\src\hardware\timers.cpp:
// Just a simple stepping function. Interrupt functions can't be instance methods
void stepMotor() {
digitalWriteFast(LED_PIN, HIGH);
motor.step();
digitalWriteFast(LED_PIN, LOW);
}
4kHz input STEP pulses:
red LED
5kHz input STEP pulses:
red LED
There is no more time to process input STEP pulses.
We need faster algorithms.
BIGTREETECH declared the Product Parameters as:
Stepper motor specifications is:
1000RPM is 1000/60 = 16.6666666667RPS (revolutions per second)
When 32 Subdivision is used than MAX frequency of input STEP pulses must be:
16.7 * 200 * 32 = 106880 Hz
I has tested frequency of input STEP pulses with original BIGTREETECH firmware.
It is near 50kHz.
I try to check MAX frequency of input STEP pulses in dev branch.
I use red LED to see duty cycle of motor step
Intellistep\src\hardware\timers.cpp:
4kHz input STEP pulses:

red LED

5kHz input STEP pulses:

red LED

There is no more time to process input STEP pulses.
We need faster algorithms.