Posted: Sun May 07, 2006 3:27 pm
I have received some emails regarding the stepper circuit, particularly the overcurrent protection and jumpering the 1 ohm resistors. Here is a quickee on the 2916 circuit.
First, the DC coil resistance of the GM stepper motor (either coil) is roughly 50 ohms. Applying 12 volts to a winding and waiting for a while for the winding to current saturate will yield: 12volts/50 ohms = 0.24 amps. Scales with voltage, but even 20 volts gives approx 0.4 amps saturation current.
Next, the 2916 current limit circuit:

The lower part of the circuit is the overcurrent protection. Io and I1 are both active (low in this case) when the stepper is enabled by MS2. This gives a current trip threshold point equal to: Vref/(10*Rs). For the MS2 circuit, Vref =5 volts and Rs = 1 ohm. So with our values we get 5/10 = 0.5 amps.
What this means is that the stepper motor current must be greater than 0.5 amps before the PWM current circuit kicks in. So it appears that with a GM stepper the most current draw is under 0.4 amps at 20 volts, this is lower than the 0.5 trip threshold point. So the PWM circuit should never activate...
But, in reality, there are things that can cause the PWM circuit to kick in. Long wires, winding flyback pulses, noise during the off time, etc. can cause a instantaneous voltage spike whih can trip off the PWM circuit.
In the circuit there is a Rc and Cc components. In MS2 they are not there (i.e. Cc is 0 and Rc = 0 ohms). These components can be introduced in the circuit to help filter out short spikes. MS2 did not use these values because they need to be tuned to a specific situation, depending on wire lengths, routing, etc. Wrong values can cause instabilities and even oscillation (trust me on this). The PWM is called a modified hysteretic oscillator, what it does is when the coil current exceeds the trip point it turns off current for a period of time governed by the product of Rt and Ct, then the current is reapplied. During the off time the current decays below the trip point.
If the situation comes up where the PWM circuit gets triggered, what we have been advising is to jumper out the 1 ohm Rs resistor. What this does is disable the PWM overcurrent detection. What occurs with the jumper Rs the resistance goes to zero, so there is no voltage generated across it and the sense terminal stays at 0 volts. So the current trip point cannot be reached. Now - with Rs jumpered there is no current limiting for short circuit situations - be aware about loose wires shorting to ground, this can take out the chip. If I was to design the stepper circuit again, I would remove Rs and short this out, and use polyfuse protection on the stepper leads. Hysteretic current limit is nice when there is a nice controlled environment with the same stepper motor/wire lengths/routing/etc.
A little on the values of Rt and Ct. I have had some correspondence with Allegro on this, and what I am waiting for is the current sourcing capability at the RC point. The datasheet alludes to a Rt min range of 20K, even though this is not a hard definition in the electrical specification (only a test condition). Early datasheets did not define this Rt range. Note that the time that the current is disabled is governed by the RC product. In our case, Rt is 1K and Ct is 0.056uf, this gives a RC time constant of 56 usec. The test specification values were 820pf and 56K, which gives 45 usec, very close to the MS2 RC time constant. The only issue that I would potentially see is if the RC current source point is loaded down with the 1K resistor. In this case the charge time of Ct would be extended, meaning that the stepper current is turned off longer than 56usec. I put in an known inductive load that would trip the overcurrent and scoped the Toff time and it is very close to 60 usec.
The thing to note is if the Rs resistor is jumpered then the Rt and Ct do not come into play because the current trip point is never reached.
- Bruce
First, the DC coil resistance of the GM stepper motor (either coil) is roughly 50 ohms. Applying 12 volts to a winding and waiting for a while for the winding to current saturate will yield: 12volts/50 ohms = 0.24 amps. Scales with voltage, but even 20 volts gives approx 0.4 amps saturation current.
Next, the 2916 current limit circuit:

The lower part of the circuit is the overcurrent protection. Io and I1 are both active (low in this case) when the stepper is enabled by MS2. This gives a current trip threshold point equal to: Vref/(10*Rs). For the MS2 circuit, Vref =5 volts and Rs = 1 ohm. So with our values we get 5/10 = 0.5 amps.
What this means is that the stepper motor current must be greater than 0.5 amps before the PWM current circuit kicks in. So it appears that with a GM stepper the most current draw is under 0.4 amps at 20 volts, this is lower than the 0.5 trip threshold point. So the PWM circuit should never activate...
But, in reality, there are things that can cause the PWM circuit to kick in. Long wires, winding flyback pulses, noise during the off time, etc. can cause a instantaneous voltage spike whih can trip off the PWM circuit.
In the circuit there is a Rc and Cc components. In MS2 they are not there (i.e. Cc is 0 and Rc = 0 ohms). These components can be introduced in the circuit to help filter out short spikes. MS2 did not use these values because they need to be tuned to a specific situation, depending on wire lengths, routing, etc. Wrong values can cause instabilities and even oscillation (trust me on this). The PWM is called a modified hysteretic oscillator, what it does is when the coil current exceeds the trip point it turns off current for a period of time governed by the product of Rt and Ct, then the current is reapplied. During the off time the current decays below the trip point.
If the situation comes up where the PWM circuit gets triggered, what we have been advising is to jumper out the 1 ohm Rs resistor. What this does is disable the PWM overcurrent detection. What occurs with the jumper Rs the resistance goes to zero, so there is no voltage generated across it and the sense terminal stays at 0 volts. So the current trip point cannot be reached. Now - with Rs jumpered there is no current limiting for short circuit situations - be aware about loose wires shorting to ground, this can take out the chip. If I was to design the stepper circuit again, I would remove Rs and short this out, and use polyfuse protection on the stepper leads. Hysteretic current limit is nice when there is a nice controlled environment with the same stepper motor/wire lengths/routing/etc.
A little on the values of Rt and Ct. I have had some correspondence with Allegro on this, and what I am waiting for is the current sourcing capability at the RC point. The datasheet alludes to a Rt min range of 20K, even though this is not a hard definition in the electrical specification (only a test condition). Early datasheets did not define this Rt range. Note that the time that the current is disabled is governed by the RC product. In our case, Rt is 1K and Ct is 0.056uf, this gives a RC time constant of 56 usec. The test specification values were 820pf and 56K, which gives 45 usec, very close to the MS2 RC time constant. The only issue that I would potentially see is if the RC current source point is loaded down with the 1K resistor. In this case the charge time of Ct would be extended, meaning that the stepper current is turned off longer than 56usec. I put in an known inductive load that would trip the overcurrent and scoped the Toff time and it is very close to 60 usec.
The thing to note is if the Rs resistor is jumpered then the Rt and Ct do not come into play because the current trip point is never reached.
- Bruce