Re: [EE]: PWM stepper driver with external bridge
Posted by
Lawrence Glaister
on 2001-01-07 16:08:41 UTC
Hi Roman, Oliver and the group(s)
Yes, this is kind of reinventing the wheel, but is kind of like an open
hardware project. Both the commercial designs I know about from the group do
not seem to have schematics published or are not suitable for the home
builder to construct. I like building from my junk box with a little help
from the latest technology. I am quite willing to publish the results on a
web page for all the group to benefit from. Is there any interest in my
getting the page started now so that the design evolution can get input from
the group? Pictures are much better than text for explaining some aspects of
the project.
- one of the reasons for this design is that I have more time than money.
answers to questions posed:
I am using size 34 surplus steppers.
-amps/phase for my motors = 4.7 in unipolar, 2.3 or 3.3 in bipolar... not
sure whether full coil bipolar drive should be 1/2 the unipolar current
(same ampere-turns ratio) or .707 times the unipolar current as I have seen
mentioned on the list (for better torque, but with some risk of
demagnitizing the rotor? or overheating?). I would like to be able to try
both values and see how the motors perform with respect to heating and
torque. My motors are very low inductance units so that using full coil
bipolar drive shouldn't be a problem at the hi speed end. (motor rated at
4.7a 1.7v unipolar). The ability to microstep depends on the drive axis. I
have a mix of rack and pinion drive and lead screw drives planned. The
coarse "electronic gearing" made available through 1/2, 1/4 or 1/8
microstepping will need to be determined on an axis by axis basis. Absolute
accuracy is not really a concern as this is a wood processing table, but
smooth moves from the motor are a great help in preventing jumped steps.
Roman, I like your idea of pwm for each phase current using the pic and my
hardware design would not be able to do this. I want to be able to allow
reduced current operation when the table is inactive and was planning on
feeding the vref input to the 3955 with a pwm scheme for setting the max
motor winding current within a 3-1 range (like 1.5 - 4.5 amps/phase)
- the national lmd18245 might work, but I could end up running them at max
current which always makes me a little nervous when starting a design... I
like the brick sxxxhouse approach.
Using the gecko drive or Bobs drive, the cost for 4 axis of control quick
escalates beyond the hobby price range (sorry, I'm of Scottish descent).
- the 3955 chip looked good for several reasons:
0) its cheap!
1) it has internal d/a for microstepping (although not perfect, its close)
and using the internal d/a ccts makes the pic software much simpler.
2) it can be run from up to 50v supply range which makes my buffered bridge
circuit happy. The bridge likes to see pwm drive to within 3.5 volts of the
power and ground rail. (no charge pumps needed for high side drive).
see attached preliminary schematic.
3) it has bridge drive options with respect to recirculating current that
can be handled in 3 different ways. Since this is an r&d project and my
first high current fet design, any options can be useful in helping get the
best performance. I believe the sequenced switching of the A and B outputs
of the 3955 will translate to the attached bridge cct which has gate drive
impedances selected to encourage fast turn off and slow turn on to minimize
cross conduction shoot-through currents.
4) it has all the circuitry for current feedback and pulse width modulation
generation internally. This saves a lot of opamp, oscillator and high
voltage driver design.
5) it is not a full bridge driver (4 outputs) but its 2 outputs to +-rail
should drive the attached bridge cct quite well without exposing the 3955 to
capacitive loads.
The 3955 does represent the biggest unknown in the project and the lack of
support from Allegro was not very encouraging. Their application notes are
quite good for using the chip to directly drive small steppers, and unless I
missed some critical point, the chip should drive an external bridge just
fine.
It seems only a prototype will answer the questions.
The current design looks like I will try and fit 2 axis of drive on a 5x5
cct board with the fets hanging off 2 of the edges. The idea is to make a
5x5 cube with two of the side walls being heat sink and a 5" muffin fan
bolted to the end of the cube if forced air cooling becomes necessary. The
top and bottom of the cube would be cct boards. This seems like the cheapest
way to get a 4 axis drive system that can be configured for different motors
as they come available.
One other aspect of the drive that I have not seen anyone mention is the use
of quadrature phase drive rather than step and direction. The thing I like
about phase drive is its better immunity to noise spikes. A 1us noise pulse
on a step and direction drive (on the step pulse especially) is instant
death and an out of position motor as the drive is clocked to a new
position. The same pulse on a phase drive will be basically ignored as it
will not be long enough to cause a mechanical motion. A longer duration
noise pulse may start the motor moving in a certain direction, but when the
pulse decays, the motor will head back to its previous position. I plan to
use emc as the compute side g code interpreter and it has the option of
outputting step/dir or phase drive. Step and direction input is possible
with the design with only a small code change in the pic ( one of the things
I really like about computers is that if you change your mind on how to do
things, a few lines of code fixes the project right up ).
Power supply is to be a 24 volt high current transformer feeding a bridge
rectifier and filter cap. The output should be in the 30-35 volt range.
My next step is to get some parts ordered and hand wire a single axis
controller to check the component interactions.
Thanks for all the help and advice.
=======================================================
Lawrence Glaister VE7IT email: lg@...
1462 Madrona Drive http://jfm.bc.ca
Nanoose Bay BC Canada
V9P 9C9
=======================================================
[Non-text portions of this message have been removed]
Yes, this is kind of reinventing the wheel, but is kind of like an open
hardware project. Both the commercial designs I know about from the group do
not seem to have schematics published or are not suitable for the home
builder to construct. I like building from my junk box with a little help
from the latest technology. I am quite willing to publish the results on a
web page for all the group to benefit from. Is there any interest in my
getting the page started now so that the design evolution can get input from
the group? Pictures are much better than text for explaining some aspects of
the project.
- one of the reasons for this design is that I have more time than money.
answers to questions posed:
I am using size 34 surplus steppers.
-amps/phase for my motors = 4.7 in unipolar, 2.3 or 3.3 in bipolar... not
sure whether full coil bipolar drive should be 1/2 the unipolar current
(same ampere-turns ratio) or .707 times the unipolar current as I have seen
mentioned on the list (for better torque, but with some risk of
demagnitizing the rotor? or overheating?). I would like to be able to try
both values and see how the motors perform with respect to heating and
torque. My motors are very low inductance units so that using full coil
bipolar drive shouldn't be a problem at the hi speed end. (motor rated at
4.7a 1.7v unipolar). The ability to microstep depends on the drive axis. I
have a mix of rack and pinion drive and lead screw drives planned. The
coarse "electronic gearing" made available through 1/2, 1/4 or 1/8
microstepping will need to be determined on an axis by axis basis. Absolute
accuracy is not really a concern as this is a wood processing table, but
smooth moves from the motor are a great help in preventing jumped steps.
Roman, I like your idea of pwm for each phase current using the pic and my
hardware design would not be able to do this. I want to be able to allow
reduced current operation when the table is inactive and was planning on
feeding the vref input to the 3955 with a pwm scheme for setting the max
motor winding current within a 3-1 range (like 1.5 - 4.5 amps/phase)
- the national lmd18245 might work, but I could end up running them at max
current which always makes me a little nervous when starting a design... I
like the brick sxxxhouse approach.
Using the gecko drive or Bobs drive, the cost for 4 axis of control quick
escalates beyond the hobby price range (sorry, I'm of Scottish descent).
- the 3955 chip looked good for several reasons:
0) its cheap!
1) it has internal d/a for microstepping (although not perfect, its close)
and using the internal d/a ccts makes the pic software much simpler.
2) it can be run from up to 50v supply range which makes my buffered bridge
circuit happy. The bridge likes to see pwm drive to within 3.5 volts of the
power and ground rail. (no charge pumps needed for high side drive).
see attached preliminary schematic.
3) it has bridge drive options with respect to recirculating current that
can be handled in 3 different ways. Since this is an r&d project and my
first high current fet design, any options can be useful in helping get the
best performance. I believe the sequenced switching of the A and B outputs
of the 3955 will translate to the attached bridge cct which has gate drive
impedances selected to encourage fast turn off and slow turn on to minimize
cross conduction shoot-through currents.
4) it has all the circuitry for current feedback and pulse width modulation
generation internally. This saves a lot of opamp, oscillator and high
voltage driver design.
5) it is not a full bridge driver (4 outputs) but its 2 outputs to +-rail
should drive the attached bridge cct quite well without exposing the 3955 to
capacitive loads.
The 3955 does represent the biggest unknown in the project and the lack of
support from Allegro was not very encouraging. Their application notes are
quite good for using the chip to directly drive small steppers, and unless I
missed some critical point, the chip should drive an external bridge just
fine.
It seems only a prototype will answer the questions.
The current design looks like I will try and fit 2 axis of drive on a 5x5
cct board with the fets hanging off 2 of the edges. The idea is to make a
5x5 cube with two of the side walls being heat sink and a 5" muffin fan
bolted to the end of the cube if forced air cooling becomes necessary. The
top and bottom of the cube would be cct boards. This seems like the cheapest
way to get a 4 axis drive system that can be configured for different motors
as they come available.
One other aspect of the drive that I have not seen anyone mention is the use
of quadrature phase drive rather than step and direction. The thing I like
about phase drive is its better immunity to noise spikes. A 1us noise pulse
on a step and direction drive (on the step pulse especially) is instant
death and an out of position motor as the drive is clocked to a new
position. The same pulse on a phase drive will be basically ignored as it
will not be long enough to cause a mechanical motion. A longer duration
noise pulse may start the motor moving in a certain direction, but when the
pulse decays, the motor will head back to its previous position. I plan to
use emc as the compute side g code interpreter and it has the option of
outputting step/dir or phase drive. Step and direction input is possible
with the design with only a small code change in the pic ( one of the things
I really like about computers is that if you change your mind on how to do
things, a few lines of code fixes the project right up ).
Power supply is to be a 24 volt high current transformer feeding a bridge
rectifier and filter cap. The output should be in the 30-35 volt range.
My next step is to get some parts ordered and hand wire a single axis
controller to check the component interactions.
Thanks for all the help and advice.
=======================================================
Lawrence Glaister VE7IT email: lg@...
1462 Madrona Drive http://jfm.bc.ca
Nanoose Bay BC Canada
V9P 9C9
=======================================================
[Non-text portions of this message have been removed]
Discussion Thread
Lawrence Glaister
2001-01-07 16:08:41 UTC
Re: [EE]: PWM stepper driver with external bridge
beer@s...
2001-01-08 11:09:12 UTC
Re: [EE]: PWM stepper driver with external bridge