EHP
Posted by
daveland@n...
on 2000-02-02 12:45:31 UTC
I've been lurking so I'll give my 2Cents worth on the external
hardware interface. I see two camps and I think both have different requirements.
I also believe that the interface (parallel, serial, usb...etc) is less important
than what you want to offload from the PC's CPU. Define that first and then
pick an interface!!
Servo interface
----------------
1) THE STG board is too expensive. We need a 4 axis $100-$200 alternative.
2) The existing EMC servo routines are plenty fast enough in a pentium class
computer to get very good feed rates. I fact motor size and amplifier design
is more important that update rate. Update rate just tries to minimize following
errors.
3) I think most people underestimate the number of parameters that must be "tweaked"
in the servo system. These must be downloaded from some GUI or file into the
hardware prior to running. this may seem trivial, but it is tough work to make
sure 20-30 parameters are all properly downloaded into hardware. EMC DOes this
already. THIS is PER AXIS as well!!!
4) ISA slots are disapearing, but they haven't gone away yet. I belive that
2 slots would be needed for a 4 axis machine. one for a 4 D/A card and one for
4 axis encoders. We should be able to find these for several years to come.
Stepper hardware
------------------
1) serial and other interfaces can work but the interpoaltion math MUST be done
in the PC. Microcontrollers take 100us to 1mS to perform the math calculations
needed for rudamentary interpolation. I did some math benchmarking and found
that a PC does arctans in 4-5 us and multiplies 1-2us. This contrasts with
the same calculations taking 100's of usec in a 24Mhz 8051 controller. Note
that this is floating point NOT integer math. There are ways to "integerize"
the problem but these will constrain the distances and feed rates so that the
solution is not as general. I believe that lots of the dedicated controls do
this, but then it only has to work with their software.
2) DSP's are based upon integer math (at least the cheap $10 to $20 ones). They
also are not geared to perform transcidental functions. So circular interpolation
might be difficult. The current ones are optimized for signal processing and
not bit twiddleing. Steppers seem to need fine resoltion PWM and bit twiddling.
The TI parts sound interesting if they solve the bit twiddle problems and trancedental
math. I imagine though that they are optimized for the PID algorithms and NOT
for the implimentation of the linear and circular interpolation stuff. They
were designed to replace the analog parts of the servo speed control loop. They
are still integer DSP's and as such they will have a finite resolution. this
requires programming finesse to handle 3.3333333333"
4) External pulse generation is the best bet. A good fine reslution PWM generator
is needed. In fact one for each axis would be ideal. Then the PID loop could
adjust the stepper rate just like a servo system. I'll look around for one.
dave
hardware interface. I see two camps and I think both have different requirements.
I also believe that the interface (parallel, serial, usb...etc) is less important
than what you want to offload from the PC's CPU. Define that first and then
pick an interface!!
Servo interface
----------------
1) THE STG board is too expensive. We need a 4 axis $100-$200 alternative.
2) The existing EMC servo routines are plenty fast enough in a pentium class
computer to get very good feed rates. I fact motor size and amplifier design
is more important that update rate. Update rate just tries to minimize following
errors.
3) I think most people underestimate the number of parameters that must be "tweaked"
in the servo system. These must be downloaded from some GUI or file into the
hardware prior to running. this may seem trivial, but it is tough work to make
sure 20-30 parameters are all properly downloaded into hardware. EMC DOes this
already. THIS is PER AXIS as well!!!
4) ISA slots are disapearing, but they haven't gone away yet. I belive that
2 slots would be needed for a 4 axis machine. one for a 4 D/A card and one for
4 axis encoders. We should be able to find these for several years to come.
Stepper hardware
------------------
1) serial and other interfaces can work but the interpoaltion math MUST be done
in the PC. Microcontrollers take 100us to 1mS to perform the math calculations
needed for rudamentary interpolation. I did some math benchmarking and found
that a PC does arctans in 4-5 us and multiplies 1-2us. This contrasts with
the same calculations taking 100's of usec in a 24Mhz 8051 controller. Note
that this is floating point NOT integer math. There are ways to "integerize"
the problem but these will constrain the distances and feed rates so that the
solution is not as general. I believe that lots of the dedicated controls do
this, but then it only has to work with their software.
2) DSP's are based upon integer math (at least the cheap $10 to $20 ones). They
also are not geared to perform transcidental functions. So circular interpolation
might be difficult. The current ones are optimized for signal processing and
not bit twiddleing. Steppers seem to need fine resoltion PWM and bit twiddling.
The TI parts sound interesting if they solve the bit twiddle problems and trancedental
math. I imagine though that they are optimized for the PID algorithms and NOT
for the implimentation of the linear and circular interpolation stuff. They
were designed to replace the analog parts of the servo speed control loop. They
are still integer DSP's and as such they will have a finite resolution. this
requires programming finesse to handle 3.3333333333"
4) External pulse generation is the best bet. A good fine reslution PWM generator
is needed. In fact one for each axis would be ideal. Then the PID loop could
adjust the stepper rate just like a servo system. I'll look around for one.
dave