NT-Linux Comments
Posted by
Bertho Boman
on 2000-02-01 04:49:14 UTC
Let me add a comment or two to Matt's & Hans and others' discussion:
Real Time NT:
In the June 1998 issue of "Embedded Systems Programming" magazine there was a detailed explanation of NT performance in RT
applications, including an explanation of different RT software to buy and how to do it yourself. Also discussed was how to
separate time critical task so screen redraws, mouse movements and other tasks would be done on a low priority basis.
EMC features & function:
Since you are talking about hardware improvements and accessories to EMC let me bring back one of my previous suggestions. I
think Matt said the goal with EMC is to provide a low-cost, high performance CNC system. Part of that is defeated by the high
cost of the Servo-to-Go interface board.
As it is now, the digital output command is converted to an analog signal inside the PC and then the signal is feed to an
external servo amp which also typically is expensive. If the output signal was left as digital and feed to an external micro-P
that would be part of the Servo amp the internal A/D would not be needed. The shaft encoder for each channel would also be
connected to the same board and signals cleaned up and then communicated back to the PC. I think a bi-directional printer port
or a high speed serial port easily could handle the updates. The changes to EMC would be minimal, it would write the digital
commands to the printer port instead of the I-O card and it would read the printer port for position data. A standard PC would
be fine without modifications.
Note, I am not proposing to use external motion calculations, EMC would operate as normal. Basically, what I suggest is to get
an interface with a servo amp on one board for each channel.
The board (one per axis) that I envision is actually a DSP programmed to do several things:
1. Interface with the PC for communication of data and status (a simple protocol is needed for the boards not to fight or they
could be daisy chained)
2. Interface with the encoder, limit switches and home switch.
3. PWM generation. Since a DSP typically has a built in A/D it can sense the motor current and generate the PWM internally. A
medium power output stage could be included on board with an option to feed the PWM control signal to an external high power
stage.
4. A software tachometer calculated from the encoder signals. This is not new and works well. That will remove the need to add
a mechanical tachometer to each servo channel with its cost and mechanical mounting problems.
5. The DSP software would replace the analog filter and gain pots and make a much more reliable system with the gain and filter
constants accurately set in software.
6. We could even add one more PWM channel and the DSP could be programmed to run steppers, with or without encoder feedback.
Summary: Basically one DSP chip with all its I-O pins can do all the interfacing to the PC, the encoders and via a FET driver
chip the power output FETs. That would make a really high performance and low cost servo or stepper system.
What do you guys think? My DSP programming experience is zero but I am not really suggesting something new or drastic. It
really makes sense to combine the I-O functions with the PWM generation on one board and then just duplicate it for each
channel as needed.
Bertho Boman
Vinland Corporation
Real Time NT:
In the June 1998 issue of "Embedded Systems Programming" magazine there was a detailed explanation of NT performance in RT
applications, including an explanation of different RT software to buy and how to do it yourself. Also discussed was how to
separate time critical task so screen redraws, mouse movements and other tasks would be done on a low priority basis.
EMC features & function:
Since you are talking about hardware improvements and accessories to EMC let me bring back one of my previous suggestions. I
think Matt said the goal with EMC is to provide a low-cost, high performance CNC system. Part of that is defeated by the high
cost of the Servo-to-Go interface board.
As it is now, the digital output command is converted to an analog signal inside the PC and then the signal is feed to an
external servo amp which also typically is expensive. If the output signal was left as digital and feed to an external micro-P
that would be part of the Servo amp the internal A/D would not be needed. The shaft encoder for each channel would also be
connected to the same board and signals cleaned up and then communicated back to the PC. I think a bi-directional printer port
or a high speed serial port easily could handle the updates. The changes to EMC would be minimal, it would write the digital
commands to the printer port instead of the I-O card and it would read the printer port for position data. A standard PC would
be fine without modifications.
Note, I am not proposing to use external motion calculations, EMC would operate as normal. Basically, what I suggest is to get
an interface with a servo amp on one board for each channel.
The board (one per axis) that I envision is actually a DSP programmed to do several things:
1. Interface with the PC for communication of data and status (a simple protocol is needed for the boards not to fight or they
could be daisy chained)
2. Interface with the encoder, limit switches and home switch.
3. PWM generation. Since a DSP typically has a built in A/D it can sense the motor current and generate the PWM internally. A
medium power output stage could be included on board with an option to feed the PWM control signal to an external high power
stage.
4. A software tachometer calculated from the encoder signals. This is not new and works well. That will remove the need to add
a mechanical tachometer to each servo channel with its cost and mechanical mounting problems.
5. The DSP software would replace the analog filter and gain pots and make a much more reliable system with the gain and filter
constants accurately set in software.
6. We could even add one more PWM channel and the DSP could be programmed to run steppers, with or without encoder feedback.
Summary: Basically one DSP chip with all its I-O pins can do all the interfacing to the PC, the encoders and via a FET driver
chip the power output FETs. That would make a really high performance and low cost servo or stepper system.
What do you guys think? My DSP programming experience is zero but I am not really suggesting something new or drastic. It
really makes sense to combine the I-O functions with the PWM generation on one board and then just duplicate it for each
channel as needed.
Bertho Boman
Vinland Corporation
Discussion Thread
Bertho Boman
2000-02-01 04:49:14 UTC
NT-Linux Comments
Carlos Guillermo
2000-02-01 08:35:39 UTC
RE: NT-Linux Comments