Introduction: Minimum Speed of NEMA 17 Step Motor With Various Resolution of TB-6600 Step Motor Driver.
In this project I tested minimim speed of NEMA 17 Step Motor with various resolution of TB-6600 Step Motor Driver.
Supplies
Main Components
1) NEMA 17-HS4401 Step Motor
2) TB-6600 Step Motor Driver
3) Arduino UNO
4) 24 V 3A Power Supply
Other Components
5) Nema 17 Stepper Motor Holder
6) 350mm Lead Screw Nut - Trapezoidal T8 8mm
7) T8 Trapezoidal Nut Mounting Bracket
8) 3D Printer Flexible Coupling 5x8mm Coupler
9) KP 08 Pillow Block Bearing (Bore Diameter: 8mm)
10) 8mm Chrome-Plated Induction Hardened Shaft - 350mm
11) SK8 Aluminum Shaft Holder 8mm
12) 40x40x11mm Heatsink Block - Adhesive
13) Limit Switch
14) SCE8UU Linear Bearing
Step 1: Fundamental Terms I
Each single step consist of one high and one low duration. Sum of this duration is called Step Duration.
Step Duration (s) = 2 x Step Delay
Step Frequency (Hz) = 1/Step Duration
e.g.
Step Delay= 500 micro seconds (500 micro seconds for LOW and 500 microseconds for HIGH)
Step Duration= 2 x 500 micro seconds = 1000 micro seconds = 0.001 seconds
Step Frequency (Hz) = 1/Step Duration = 1/ 0.001 =1000 Hz
Step 2: Fundamental Terms II
Motor Speed (RPM) = (Step Frequency (Hz) x 60 ) / Driver Resolution
e.g. If driver resolution is 800 steps per revolution
Motor Speed = (1000 Hz x 60) / 800 =75 RPM
Step 3: How Tables Are Calculated
According to formulas above I have calculated possible values for each driver resolution.
When I tested the calculated values for each resolution, I removed the values for which I could not get movement from the step motor.
Step 4: Micro Step Settings of TB-6600
NEVER CHANGE RESOLUTION SETTINGS WHEN THE DRIVER IS POWERED
Step 5: ARDUINO C++ Code
e.g.
const int delayTime=500; // 500 micro seconds
....
....
digitalWrite(stepPin, HIGH);
delayMicroseconds(delayTime);
digitalWrite(stepPin, LOW);
delayMicroseconds(delayTime);
Step 6: Full Step 200 Pulse Per Revolution
200 microsecond is the minimum stepDelay at 200 pulse/rev resolution. Noise level is high.
Step 7: 1/2 Step (400 Pulse/rev)
100 microsecond is the minimum stepDelay at 400 pulse/rev resolution.
Step 8: 1/4 Step (800 Pulse/rev)
60 microsecond is the minimum stepDelay at 800 pulse/rev resolution.
Step 9: 1/8 Step (1600 Pulse/rev)
30 microsecond is the minimum stepDelay at 1600 pulse/rev resolution.
Step 10: 1/16 Step (3200 Pulse/rev)
10 microsecond is the minimum stepDelay at 800 pulse/rev resolution.
Step 11: 1/32 Step (6400 Pulse/Rev)
1 microsecond is the minimum stepDelay at 800 pulse/rev resolution.
Step 12: Summary
1/8 Step (1600 Pulse/rev) and higher resolutions may be suitable for stabil appications.
If I have time I will put youtube videos about these tests.
Maximum speed that I have tested are last row of tables.





