Calculating Steps Per CM
How do you calculate the number of steps per CM?Pretty Simple! Use the Calculators, or do some math.
Geared Stepper + Belt Drive
Lead-screw drive (Standard)
Lead-screw drive (Metric)
First you need to know how many steps the stepper needs to take to make one full rotation. on 1.8 degree step motors it will take 200 steps to make one rotation. on .9 degree step motors it will take 400 steps to move one full rotation
Most motors you run into will be 200 steps per rotation, this also includes the motors we use on Chronos HD, Chronos Lite, and the Lens Apparatus.
Three other pupular motors include the geared stepper motors from phidgets.com
These include a 1.8 degree stepper motor and a gear box.
5.18:1 geared stepper, 5.18 x 200 = 1036 steps per rotation
26.85:1 geared stepper, 26.85 x 200 = 5370 steps per rotation
99.51:1 geared stepper, 99.51 x 200 = 19,902 steps per rotation
Once you have figured out how many steps per rotation, you need to consider the drivetrain
Determine the number of rotations per CM.
Our lead-screws are 1/4-20 meaning they are 1/4 inch thick and have 20 threads per inch and are single start lead screws.
20 threads per inch = 20 rotations per inch of movement. (if the screw has 2 leads, it would be 10 threads per inch, 4 leads would be 5 threads per inch)
20 rotations x 200 (non geared 1.8 stepper) = 4000
20 rotations x 400 (non geared 0.9 stepper) = 8000
20 rotations x 1036 (5.18:1 geared stepper) = 20,720
20 rotations x 5370 (26.85:1 geared stepper) = 107,400
20 rotations x 19,902 (99.51:1 geared stepper) = 398,040
So with this design, using a geared stepper is pretty pointless, a non geared stepper is more than enough. The lower power and torque are amplified by the efficiency of the drivetrain, and a low powered stepper can lift quite a bit of weight.
In order to get the Steps per CM, divide the Steps per Inch by 2.54
4000 / 2.54 = 1574.8 steps per CM
8000 / 2.54 = 3149.6 steps per CM
The calibration tool accepts steps in multiples of 5. For our rails we use 1575 steps per cm, and get a very high level of accuracy, enough that you would find it difficult to measure the innacuracy with a set of digital calipers. if using a metric lead-screw such as a T8 they should mark the number or rotations per CM Easy enough, multiple the Steps per rotation x number of threads per cm.
Using the belt, the big factor is the Pulley.
Take the Diameter of the pulley in CM, multiply it by 3.14, this will give you the number of CM traveled per rotation. Divide that number by the number of steps per rotation and you get the number of steps per CM. Whereas non-geared steppers are excellent with lead-screws, they are near worthless with belt drive systems as they will not have the torque to do any lifting, and very low resolution.
With a small pulley with a diameter of 1.5cm, multiple that by 3.14 and the circumference is 4.71 cm per rotation.
200 steps / 4.71 cm = 42 steps per cm.
This is very very low, and you will not likely have much in the way of resolution, odds are movement ramping will be offer poor quality. This setup is pretty much useless for anything other than very basic moves, the lack of torque
Using a geared stepper motor on the other hand,
5.18:1 stepper, 5.18 x 200 = 1036 steps per rotation / 4.71 = 219.9 steps per CM
26.85:1 stepper, 26.85 x 200 = 5370 steps per rotation / 4.71 = 1140 steps per cm
99.51:1 stepper, 99.51 x 200 = 19,902 steps per rotation / 4.71 = 4225.47 steps per cm
Not only do the geared stepper motors provide MUCH higher step resolution, but they also have a lot more torque and can lift quite a bit. On one of our earlier prototypes of Chronos E we used a rather small pulley on a 5.18:1 stepper motor and managed to achieve 2 meters of travel in about 28 seconds, and it was still able to lift 10lbs vertically. However for larger payloads the 26.85:1 stepper will yield much better results.
So to sum up
—lead-screw Steps per rotation = SPR Rotations per cm = RPC SPR * RPC = Steps per CM
–Belt Drive Steps per rotation = SPR Circumference in CM = CC Diameter in CM * 3.14 = CC SPR / CC = Steps Per CM
Accuracy when rounding to the nearest 5???????????
So your result comes back at 1,333 steps per cm, and you are forced to put that at 1,335. How is that accurate?
1335/1332 = 1.002.
This means it is 2/1000th of a CM off. But if you want to have it dialed in for that ULTIMATE level of perfection and do not want to round, you can make a change in the code.
Load up the lastest version of ChronoTimer in the Arduino IDE, and find the following segment of code.
WriteEEPROM_Byte(2, 1575/256); //STEP per cm 1575
WriteEEPROM_Byte(3, 1575%256); //STEP per cm 1575
This is the portion of code that sets the factory default. Simply change 1575 to the result you came up with,
WriteEEPROM_Byte(2, 1333/256); //STEP per cm 1575
WriteEEPROM_Byte(3, 1333%256); //STEP per cm 1575
Then save the code and upload to your controller, (remember to set the RUN/PROG switch to PROG, if you do not have this switch remove the arduino before uploading) then run a Factory Reset in the Calibration mode
Mode dial to POS
Press < and SET
press > untill you see DLFT
wait for it to run its routine, when the countdown is finished press RES.