Data Sheet

is moving at speed 10 and you want it to go 1% faster, you cannot simply change your speed to
10.1; your options would be 10 or 11. For speeds higher than 50 (1 pulse every 200 seconds), the
inaccuracy caused by this is less than 1%.
High speed considerations
If you are trying to use high speeds, it is important to consider how fast your stepper motor is capable
of moving. See Section 4.3 for tips about finding your stepper motor’s maximum speed.
The Tic’s step planning algorithm uses a 3 MHz timer to schedule when to take steps. When the Tic
is moving the motor at a certain speed, it first converts the speed into units of timer ticks by dividing
30,000,000,000 (3×10
10
) by the speed, rounding down. For example, a speed of 10,000 corresponds
to 3×10
10
/1×10
4
= 3×10
6
timer ticks, which corresponds to 1 second. The rounding from this division
can cause the Tic to move slightly faster than commanded. The biggest effect is at speed 491,803,279,
where steps are 60 timer ticks apart, resulting in a speed that is 1.66% faster than desired. The effect
is less than 1% for any speed less than 300,000,000 (30 kHz), and less than 0.1% for any speed less
than 30,000,000 (3 kHz).
Current position and current velocity
The Tic keeps track of “Current position” and “Current velocity” variables at all times. Both of these are
32-bit signed integers and they default to zero when the Tic is turned on.
The Tic uses velocity variables like “Current velocity” to hold both a speed and a direction. The
absolute value of a velocity is a speed, and positive velocities correspond to increasing positions while
negative velocities correspond to decreasing positions.
“Current position” can be set with a “Halt and set position” command, which has a side effect of setting
the “Current velocity” to zero. The “Current velocity” can also be forced to zero by the “Halt and hold”
command and by certain error conditions.
The Tic also keeps track of a flag called “Position uncertain”, which indicates whether the Tic has
received external confirmation that the value of its “Current position” variable is correct (see Section
5.4).
Target position and target velocity
Whenever the Tic is moving the stepper motor, it is either in “Target position mode” or “Target velocity
mode”.
In “Target position mode”, the Tic has a variable called “Target position” that specifies what position
the Tic is moving to. In this mode, the Tic will plan steps for the stepper motor with the goal of making
its current position equal to the target position and its current velocity equal to zero, while maintaining
Tic Stepper Motor Controller User’s Guide © 2001–2018 Pololu Corporation
5. Details Page 57 of 150