Hi,
There is excerpt from TrinamicTMC223 datasheet:
Sensorless Stall Detection
The sensorless stall detection of the TMC223 bases on the measurement of the Back EMF (electro magnetic force) voltage (UBEMF) induced by the motion of the rotor. The amplitude of the Back EMF voltage is proportional to the speed of the rotor. The Back EMF constant of a stepper motor can determined by turning the axis of a non-connected motor measuring the amplitude and frequency of generated voltage at one phase of the motor.
If a motor stalls, the velocity of its rotor varies and the amplitude of the BEMF varies. The TMC223 detects a stall or disturbances of the motion measuring the variations of the Back EMF.
From physical point of view, a stepper motor is an anharmonic oscillator causing disturbances of the rotors motion. Although micro stepping cause low resonances - the measurement of the BEMF has to be masked to separate signals caused by resonance effects from those caused by stall.
Juozas Kimtys
Juozas,
That is fantastic. Could the system work at speeds of as low as 1 rmp or less?
Cabe
Hi Prof Cabe,
Regarding of back EMF using at whole - I did not have any practical experience - I only show source of materials for further ideas.
There are my theoretical ideas:
Two phase (my usual) stepper motor, driven by usual driver, cannot make smooth movement between steps or between microsteps.
This mean, that independently of steps frequency, for example, 0,01Hz or 500Hz, each step or microstep will have near equal time of comming from one state to next state. This fact can be heard by stepper motor user - at low speed motor sound become similar as infrequent hammer blows.
My conclusion - at low frequencies (0,00001 .... 1000 steps/sec) system must work good, at higher frequencies (1000...5000 steps/sec) system will have dificulties to detect due pulses parasitic ringing period similarity with steps period, additional difficulties will arise if to use higher resolution microstepping (1/16, 1/32, 1/64) because difference between states will be very small.
Juozas Kimtys
Juozas,
I suppose if you compare BEMF results to the commutation chart, you could find position. Luckily, stepper motors loose a significant portion of it torque at higher RPMs and most people do not run as such, so the system wouldn't have to take readings too often.
However, in microstepping one pole or more has to receive a PWM signal to achieve the fine movement. How would the system interpret such a reading? And let's say that a microstep was missed, how would the error be seen?
I am thinking that if steps are missed, that reading the BEMF in the poles will not necessarily represent an actual physical movement of the rotor.
I suppose some tests are needed. Anyone try this before?
Cabe
Juozas,
I suppose if you compare BEMF results to the commutation chart, you could find position. Luckily, stepper motors loose a significant portion of it torque at higher RPMs and most people do not run as such, so the system wouldn't have to take readings too often.
However, in microstepping one pole or more has to receive a PWM signal to achieve the fine movement. How would the system interpret such a reading? And let's say that a microstep was missed, how would the error be seen?
I am thinking that if steps are missed, that reading the BEMF in the poles will not necessarily represent an actual physical movement of the rotor.
I suppose some tests are needed. Anyone try this before?
Cabe
The position is determined by currents and load.
BEMF does not indicate either of these. It indicates a disturbance.
Even so, you can't use BEMF in most cases. This is because a driver has to smoothen stepping. Otherwise motion is too rough. Smoothening invalidates the reading of BEMF.
Hence, the StallGuard by Trinamic is a bluff.
If stepping is very slow, and smoothness is not an issue, you can indeed read BEMF through StallGuard.
But even then it is not a guarantee of a disturbance. It is only an indicator. In other words: neither a disturbance nor a step loss may have occured.
Long ago I wrote such notes on their Support Forum.
But even their Support Forum turned out to be a bluff. They "thanked" me by deleting me. I thanked them by continuing to sell their items. Then they "thanked" me by breaking even more obligations, and promises. I still thank them by continuing to sell their stuff.
To guarantee a position you need to use at least rough encoders, or other means of reference. Or operate at velocities, and other conditions, which you have tested to be safe.