3. Calibrate¶
The driver learns your motor: you give it three values from the datasheet, and calibration measures the rest.
1. Restore the defaults¶
First the factory defaults, so that calibration does not start from another motor's values or from junk in the EEPROM.
What else #Default resets
It also resets the serial number, hardware version and batch date stored in the EEPROM; from firmware 109 it keeps the CAN node ID.
2. Enter the motor parameters¶
From the motor's datasheet, for one coil:
- the pole pairs: 50 for a 1.8° motor, 100 for 0.9°;
- the phase resistance, in ohms;
- the phase inductance, in henries (2.6 mH = 0.0026).
STEPFOC does not measure these; calibration fails on a value left at 0.
We recommend a Motor GUI preset
In Motor GUI's Presets tab, a preset enters these values for you, with safe limits and gains. For a Source Robotics product, pick its preset. For any other stepper, pick Generic motor and type the pole pairs, the resistance and the inductance from the datasheet: the preset writes them with a low current limit and soft loops, so the motor calibrates safely. More: Motor GUI.
Check
#Info prints the values you entered as Number of pole pairs, Single phase resistance and Single
phase Inductance (Motor GUI shows them in the motor settings). None of them may be 0.
More: Motor parameters and calibration.
3. Calibrate¶
- Fix the motor to the bench, with nothing on the shaft.
- Set the supply to 24 V.
-
Start the calibration:
-
Keep the shaft free until the end, about a minute more after the log below.
The LED flashes, the motor turns in both directions, and the driver reports each step: the pole pairs, the magnet, the supply, the parameters you entered, the open-loop spin, the angle offset, the motor constants, and finally
Calibration success!
Next, by itself: the encoder table, then anti-cogging (about a minute; keep the shaft free). Everything is saved when they finish (#Encal state, #Cogcal state)
Going to idle!
The driver then goes on to measure the encoder table and the anti-cogging, and saves everything when they succeed.
A failed step names itself, and the log ends with Calibration failed!. Magnet test: Failed is the magnet;
Phase order is wrong! means the motor did not turn or did not respond: check the four wires, the supply, and
that the magnet does not slip.
Check
The calibration log ends with Calibration success!. If it does not, use the failed step in
Calibration troubleshooting; do not treat a stopped motor as
success.
More: Motor parameters and calibration, with the whole log and every message.
4. Set the current limit and save¶
The current limit is the motor's rated phase current in mA. It is 1700 mA after #Default, more than a small
motor's rating.
Calibration uses its own 1600 mA for its steps and puts the limit back when it ends, and the encoder table after it runs at 80 % of the limit, so on a small motor set it before you calibrate (step 3); set it now in any case.
Without saving, the calibration is gone at the next power cycle. The LED now shows three short flashes and a pause: normal operation.
Check
After Save, Motor GUI no longer marks unsaved changes, and after a power cycle #Info prints
Calibrated. Saving explains which settings are kept.
More: Current limit and loop tuning · Saving the configuration.
Comments
Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF