Finding optimum performance : Part 2

Following on from my last post i have continued to investigate techniques
for ‘End stop referencing’ which is my way of saying, return the motor to
a know zero position.


Finding an end stop using the in built current limit cut-out & speed
monitoring method advised by Trinamic is sufficient, so long as you can
guarantee our motor will be able to reach its target speed before hitting
the end stop.
If your motor is already at an end stop, target speed will never be
reached and stall detection does not work. (the motor continuously tries
to drive into the end stop).

my first thought was to increase the current used in order to improve the
‘spike’ created by a stall. some experiments with a stepper motor on my
desk and a bech PSU showed no help.


It apears that current draw is not the trigger for stall detection but
instead back EMF is being used. This has complicated things somewhat. Back
EMF is something i have had little to no experience with so measuring,
controlling, adjusting etc will be difficult. From Trinimic support forums
and documentation the most useful response i could get was “use the stall
guard set-up tool”. This indeed did help be refine my values of
acceleration, velocity and stall guard level to a point where the motor
could reliably find an end stop 90% of the time, 90% however will not be
very useful in test equipment that could be run 100 times a week and would
require some admin override/nasty work around/restart of ATE for every
‘lost’ stepper motor.

Instead ive decided to turn to more traditional methods, bite the bullet
and install a mechanically linked rotary encoder to my stepper motor which
will be able to give me a much more reliable indication of the motors
current velocity.