RE: New project...PCI based servo control board



How about having the FPGA on board #1 do the servo velocity calcs?  I think
this could be a future "enhancement" if ever needed to improve update rate,
this was really where I was trying to get to with my "bottleneck" question.


Honestly, I don't understand the details associated with the servo loop(s)
as implemented in EMC yet, but it seems to me that as long as EMC is
calculating the desired velocity with REAL positional info, it would not
matter where the inner loop calc occurred? 

I really like your second idea Jon, could the FPGA again be used to do the
loop calcs, if update rate were an issue?  

Really need a whiteboard for this discussion... Hope you can make it to
NAMES...:)

-Craig Edwards





jmkasunich-at-ra.rockwell.com wrote:

>>Seems most of the higher end motion control boards claim
>>at least a 20K update rate. Now providing that across 6
>>or 8 axis might be a stretch...:)
>>    
>>
>I think Jon Elson has reported that he gets good results at 1KHz servo 
>updates.  Maybe 2KHz or 4KHz is better, but is 20KHz really good for 
>anything except specsmanship?  I'm talking about machine tool control 
>here, not pick-n-place machines or other high end motion control.
>  
>
Exactly right!  Think of a machine tool - can you really get Nyquist limited
performance, even at a 1 KHz sampling rate, on a machine with a 300+ Lb
table?  You're lucky to be able to get 10 - 20 Hz response without multi-Hp
drives.  For optical insruments (which Delta-Tau and others DO run with
their interfaces) it may require higher bandwidth, but it is just like 
putting
neon lights on your car - you can't make it go any faster with a faster
interface.

>What I actually had in mind is PFM (Pulse Freqency Modulation). I can't 
>explain well in words, perhaps a comparison would be more clear.  For 
>simplicity, I'll limit it to 3 bits resolution.
>  
>
>  
>
>>My preference is to allow EMC to close the servo loops internally, I 
>>think it's really one of it's strong points.
>>    
>>
>
>I agree 100%  There are three ways to run the system, and
>all three look the same to EMC.
>
>1)  Analog output to servo amps, feedback from real encoders
>    through encoder counters.
>  
>
Well, I've been thinking about some other options, related to my 
all-analog servo amp,
PWM, etc.

1.  How about doing all the velocity servo stuff either in an FPGA ON the
servo amp (or use a DSP, but the calculation is SO simple, an FPGA could
probably handle it) with downloadable tuning parameters, and have the 
interface
send a digital velocity command, or :

2.  Put a cheap serial ADC, 8-12 bits on the servo amp, which otherwise 
is pretty
much a simple full-bridge driver.  The ADC measures motor current only, or
optionally motor current and tach velocity.  The serial data stream is 
opto-isolated,
and passed to the next amp.  the serial data stream could also contain 
fault signals
and amp enable signals.  The PC's CPU handles the full velocity servo 
calculation,
with all parameters available for tuning from the PC, and the ability to 
monitor
motor current and PWM headroom as EMC does now with the logging function.
The interface sends the PWM signal to the amps.

This would make the amps VERY simple, somewhere around 25-30 components! It
would also cut the cost of the PPMC board set quite a bit, as the 
expensive
ADC and all the stuff to convert the DAC's output to +/- 10 V would go away.
The PPMC would run off +5 V only, and could be made with one big FPGA.

Jon







Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact